.profile-container{max-width:1200px;margin:0 auto;padding:2rem;background:var(--background-color);min-height:100vh}.profile-header{display:flex;align-items:center;gap:2rem;background:linear-gradient(135deg,var(--primary-color-light) 0%,rgba(255,255,255,.95) 100%);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:2rem;position:relative}.profile-avatar{position:relative;flex-shrink:0}.avatar-image{width:120px;height:120px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:4px solid var(--primary-color);box-shadow:0 4px 20px #0000001a}.edit-avatar-btn{position:absolute;bottom:0;right:0;width:36px;height:36px;border-radius:50%;background:var(--primary-color);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 10px #0003;transition:all .3s ease}.edit-avatar-btn:hover{transform:scale(1.1);background:var(--primary-color-dark)}.profile-info{flex:1}.profile-name{font-size:2rem;font-weight:700;color:var(--text-color);margin:0 0 .5rem}.profile-location{color:var(--text-color-secondary);font-size:1rem;margin:0 0 1rem}.profile-description{color:var(--text-color);line-height:1.6;margin:0;max-width:500px}.edit-profile-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.edit-profile-btn:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.profile-tabs{display:flex;gap:.5rem;margin-bottom:2rem;background:#fff;padding:.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}.tab-btn{background:transparent;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;color:var(--text-color-secondary);transition:all .3s ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{background:var(--primary-color-light);color:var(--primary-color)}.tab-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 10px #4f46e54d}.tab-content{display:none;animation:fadeIn .3s ease}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.info-card{background:#fff;padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .3s ease}.info-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.info-card h3{margin:0 0 1rem;color:var(--text-color);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.contact-info p{margin:.5rem 0;color:var(--text-color)}.learning-cards-preview{display:flex;flex-direction:column;gap:.75rem}.mini-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--background-color);border-radius:var(--radius-md);border:1px solid var(--border-color)}.card-icon{font-size:1.5rem}.card-title{font-weight:500;color:var(--text-color);flex:1}.card-level{font-size:.875rem;color:var(--text-color-secondary);background:var(--primary-color-light);padding:.25rem .5rem;border-radius:var(--radius-sm)}.next-lesson p{margin:.5rem 0;color:var(--text-color)}.lesson-location{color:var(--text-color-secondary)!important;font-size:.875rem}.stats{display:flex;justify-content:space-between;gap:1rem}.stat-item{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;color:var(--primary-color);line-height:1}.stat-label{font-size:.875rem;color:var(--text-color-secondary);margin-top:.25rem}.edit-btn,.view-all-btn,.lesson-btn{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;margin-top:1rem}.edit-btn:hover,.view-all-btn:hover,.lesson-btn:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.learning-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{margin:0;color:var(--text-color);font-size:1.5rem;flex:1}.add-card-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-card-btn:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.learning-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.learning-card{background:linear-gradient(135deg,white 0%,var(--background-color) 100%);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s ease;position:relative}.learning-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000026;border-color:var(--primary-color)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-category{font-size:.875rem;color:var(--primary-color);font-weight:600;background:var(--primary-color-light);padding:.25rem .75rem;border-radius:var(--radius-sm)}.card-menu{background:none;border:none;font-size:1.2rem;color:var(--text-color-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .3s ease}.card-menu:hover{background:var(--background-color);color:var(--text-color)}.learning-card h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-color)}.card-genre{color:var(--text-color-secondary);margin:0 0 1rem;font-size:.95rem}.card-level{margin-bottom:1.5rem}.level-badge{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.level-badge.nybegynner{background:#dcfce7;color:#166534}.level-badge.litt-ovd{background:#fef3c7;color:#92400e}.level-badge.viderekommen{background:#dbeafe;color:#1e40af}.level-badge.avansert{background:#f3e8ff;color:#7c3aed}.level-badge.godt-erfart{background:#ecfdf5;color:#059669}.level-badge.ekspert{background:#fef2f2;color:#dc2626}.level-badge.profesjonell{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff}.level-badge.flytende{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.card-actions{display:flex;gap:.75rem}.find-teacher-btn{flex:1;background:var(--primary-color);color:#fff;border:none;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.find-teacher-btn:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.edit-card-btn{background:transparent;color:var(--text-color-secondary);border:1px solid var(--border-color);padding:.75rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.edit-card-btn:hover{background:var(--background-color);color:var(--text-color);border-color:var(--primary-color)}.add-new-card{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:var(--background-color)}.add-new-card:hover{border-color:var(--primary-color);background:var(--primary-color-light);transform:translateY(-2px)}.add-card-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.add-icon{font-size:3rem;color:var(--primary-color)}.add-new-card h3{margin:0;color:var(--text-color);font-size:1.2rem}.add-new-card p{margin:0;color:var(--text-color-secondary);font-size:.95rem}.availability-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.availability-section h2{margin:0 0 .5rem;color:var(--text-color);font-size:1.5rem}.section-description{color:var(--text-color-secondary);margin:0 0 2rem;line-height:1.6}.availability-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-bottom:2rem;overflow-x:auto}@media(max-width:768px){.availability-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}}.day-column{background:linear-gradient(135deg,var(--background-color),#fafafa);border-radius:12px;padding:.75rem;border:1px solid var(--border-color);min-height:80px;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.day-column:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.day-column h3{margin:0;color:var(--text-color);font-size:.875rem;font-weight:600;flex:1;text-transform:uppercase;letter-spacing:.5px}.add-time-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;width:20px;height:20px;border-radius:5px;cursor:pointer;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;box-shadow:0 1px 3px #10b9814d}.add-time-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px) scale(1.05);box-shadow:0 3px 6px #10b98166}.time-slots{display:flex;flex-direction:column;gap:.375rem;min-height:30px}.time-slot{position:relative;padding:.5rem 2rem .5rem 1.25rem;border-radius:6px;font-size:.75rem;transition:all .3s ease;border:1px solid #bbf7d0;background:linear-gradient(135deg,#dcfce7,#f0fdf4);color:#166534;margin-bottom:.25rem;box-shadow:0 1px 2px #00000014}.time-slot:hover{background:linear-gradient(135deg,#bbf7d0,#dcfce7);transform:translateY(-1px);box-shadow:0 2px 4px #0000001f}.time-text{font-weight:500;text-align:center;line-height:1.2}.remove-time-btn{position:absolute;top:3px;left:3px;background:#ef4444;color:#fff;border:none;width:11px;height:11px;border-radius:3px;cursor:pointer;font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;opacity:.8}.copy-time-btn{position:absolute;top:3px;right:3px;background:#fcfdff;color:#fff;border:none;width:14px;height:14px;border-radius:3px;cursor:pointer;font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;opacity:.8}.copy-time-btn:hover{background:#2563eb;opacity:1;transform:scale(1.1)}.remove-time-btn:hover{background:#dc2626;opacity:1;transform:scale(1.1)}.no-availability{color:var(--text-color-secondary);font-style:italic;text-align:center;padding:1rem .5rem;font-size:.75rem;background:#9ca3af1a;border-radius:6px;border:1px dashed #d1d5db;line-height:1.3;margin-top:-1.4rem}.day-column.paste-mode{position:relative;border:2px dashed #3b82f6;background:linear-gradient(135deg,#3b82f60d,#2563eb1a);transform:scale(1.02);transition:all .3s ease;cursor:pointer}.day-column.paste-mode:hover{border-color:#2563eb;background:linear-gradient(135deg,#3b82f61a,#2563eb26);transform:scale(1.03);box-shadow:0 4px 12px #3b82f633}.paste-overlay{position:absolute;inset:0;background:#3b82f61a;border-radius:8px;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .3s ease}.paste-overlay:hover{background:#3b82f626}.paste-text{background:#3b82f6;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;box-shadow:0 2px 4px #0000001a;pointer-events:none}.day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.day-actions{display:flex;gap:.2rem;align-items:center}.copy-day-btn{width:15px;height:15px;border:none;border-radius:6px;background:linear-gradient(135deg,#fff,#f2f1f5);color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #8b5cf64d}.copy-day-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf666}.day-column.paste-mode .add-time-btn{opacity:.5;pointer-events:none}.day-column.paste-mode .time-slot{opacity:.7;pointer-events:none}.availability-period-selector{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.period-toggle-group{display:flex;background:var(--background-color);border-radius:10px;padding:4px;border:1px solid var(--border-color);box-shadow:0 2px 4px #0000000d}.period-toggle-btn{background:transparent;border:none;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-color-secondary);transition:all .3s ease;white-space:nowrap}.period-toggle-btn:hover{color:var(--text-color);background:#0000000d}.period-toggle-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 6px #6366f14d}.period-navigation{display:flex;align-items:center;gap:.75rem}.period-nav-btn{background:#fff;border:1px solid var(--border-color);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.25rem;color:var(--text-color);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.period-nav-btn:hover{background:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.period-display{font-weight:600;color:var(--text-color);min-width:160px;text-align:center;font-size:.9375rem}.template-buttons{display:flex;gap:.5rem}.template-btn{background:#fff;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-color);transition:all .3s ease}.template-btn:hover{background:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.template-btn.clear-btn{background:#fef2f2;border-color:#fecaca;color:#dc2626}.template-btn.clear-btn:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}.templates-modal-content{max-width:580px;width:95%;background:#fff;border-radius:16px;box-shadow:0 25px 80px #00000040;overflow:hidden}.templates-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem 1.25rem}.templates-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.templates-header-top h3{margin:0;color:#fff;font-size:1.125rem;font-weight:600}.templates-header-top .modal-close{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;transition:background .2s}.templates-header-top .modal-close:hover{background:#ffffff4d}.templates-search-wrapper{position:relative}.templates-search-wrapper input{width:100%;padding:.625rem 1rem .625rem 2.25rem;border:none;border-radius:8px;font-size:.875rem;background:#fffffff2;box-shadow:0 2px 8px #0000001a}.templates-search-wrapper input:focus{outline:none;box-shadow:0 2px 12px #00000026}.templates-search-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.875rem;opacity:.5}.templates-modal-body{padding:1rem 1.25rem 1.25rem;max-height:60vh;overflow-y:auto}.templates-main{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.templates-column{min-width:0}.templates-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.375rem;border-bottom:2px solid #e5e7eb}.templates-section-header span{font-weight:600;font-size:.8125rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.add-template-mini-btn{width:22px;height:22px;border-radius:50%;border:1.5px dashed #9ca3af;background:transparent;color:#9ca3af;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s}.add-template-mini-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#6366f10d}.templates-list.compact{display:flex;flex-direction:column;gap:.375rem}.templates-list.compact .no-templates{font-size:.75rem;padding:.625rem;background:#f9fafb;border-radius:6px;color:#9ca3af;font-style:normal}.templates-list.compact .template-item{padding:.5rem .625rem;border-radius:8px;background:#f9fafb;border:1px solid transparent;gap:.5rem}.templates-list.compact .template-item:hover{background:#f3f4f6;border-color:#e5e7eb}.templates-list.compact .template-info{flex:1;min-width:0;gap:.125rem}.templates-list.compact .template-name{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.templates-list.compact .template-desc{font-size:.6875rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.templates-list.compact .template-apply-btn{padding:.3rem .6rem;font-size:.6875rem;border-radius:4px;flex-shrink:0}.templates-list.compact .template-edit-btn,.templates-list.compact .template-delete-btn,.templates-list.compact .template-reset-btn{padding:.2rem;font-size:.75rem}.template-item.hidden{display:none!important}.templates-footer{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.skipped-dates-compact{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.skipped-label{font-size:.6875rem;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.3px;padding-top:.25rem;flex-shrink:0}.skipped-tags{display:flex;flex-wrap:wrap;gap:.375rem;flex:1}.skipped-tags li,.skipped-dates-list li{list-style:none;font-size:.6875rem;color:#78350f;background:#fef3c7;padding:.25rem .5rem;border-radius:12px;display:inline-flex;align-items:center;gap:.375rem}.skipped-tags li .remove-skipped-date,.skipped-dates-list li .remove-skipped-date{background:transparent;border:none;color:#b45309;cursor:pointer;font-size:.875rem;padding:0;line-height:1;opacity:.6;transition:opacity .2s}.skipped-tags li .remove-skipped-date:hover,.skipped-dates-list li .remove-skipped-date:hover{opacity:1}.add-skipped-date-btn{font-size:.6875rem;background:transparent;border:1px dashed #d97706;color:#b45309;padding:.25rem .5rem;border-radius:12px;cursor:pointer;font-weight:500;transition:all .2s}.add-skipped-date-btn:hover{background:#fef3c7}.date-picker-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .2s ease}.date-picker-modal.active{opacity:1;visibility:visible}.date-picker-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;width:90%;max-width:320px;overflow:hidden;transform:scale(.9);transition:transform .2s ease}.date-picker-modal.active .date-picker-content{transform:scale(1)}.date-picker-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.date-picker-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#1f2937}.date-picker-close{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .2s}.date-picker-close:hover{color:#ef4444}.date-picker-body{padding:1.5rem 1.25rem}.date-picker-selects{display:flex;align-items:center;justify-content:center;gap:.5rem}.date-select{padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#1f2937;cursor:pointer;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236b7280' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.date-select:focus{outline:none;border-color:#f59e0b}.date-separator{font-size:1.25rem;font-weight:600;color:#6b7280}.date-picker-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background:#f9fafb}.date-picker-footer .btn-secondary{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;background:#fff;color:#6b7280;font-size:.9rem;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s}.date-picker-footer .btn-secondary:hover{background:#f3f4f6;border-color:#d1d5db}.date-picker-footer .btn-primary{flex:1;padding:.75rem 1rem;border:none;background:#f59e0b;color:#fff;font-size:.9rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.date-picker-footer .btn-primary:hover{background:#d97706}.template-edit-btn{background:transparent;border:none;color:#6b7280;padding:.375rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.template-edit-btn:hover{background:#6b72801a;color:#374151}.template-delete-btn{background:transparent;border:none;color:#ef4444;padding:.375rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s ease}.template-delete-btn:hover{background:#ef44441a}.template-reset-btn{background:transparent;border:none;color:#3b82f6;padding:.375rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.template-reset-btn:hover{background:#3b82f61a}.template-item.customized{border-color:#8b5cf6;background:linear-gradient(135deg,#faf5ff,#f3e8ff)}.template-item.customized .template-name:after{content:" (tilpasset)";font-size:.6875rem;color:#8b5cf6;font-weight:400}.save-template-modal-content{max-width:420px;width:90%;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d}.template-editor-modal-content{max-width:500px;width:95%;background:#fff;border-radius:16px;box-shadow:0 25px 80px #00000040;overflow:hidden}.template-editor-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2)}.template-editor-header input{flex:1;padding:.625rem 1rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;background:#fffffff2}.template-editor-header input:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.template-editor-header .modal-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.125rem;transition:background .2s;flex-shrink:0}.template-editor-header .modal-close:hover{background:#ffffff4d}.template-editor-body{padding:1rem 1.25rem;max-height:55vh;overflow-y:auto}.template-editor-days{display:flex;flex-direction:column;gap:.5rem}.editor-day-row{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem;background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;transition:all .2s}.editor-day-row:hover{border-color:#d1d5db}.editor-day-row.inactive{opacity:.5;background:#f3f4f6}.editor-day-toggle{display:flex;align-items:center;gap:.5rem;min-width:100px;padding-top:.25rem}.editor-day-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer}.editor-day-toggle label{font-weight:600;font-size:.8125rem;color:var(--text-color);cursor:pointer}.editor-day-slots{flex:1;display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.editor-time-slot{display:inline-flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.35rem .5rem;font-size:.8rem;color:var(--text-color);box-shadow:0 1px 2px #0000000d}.editor-time-slot input[type=time]{width:90px;border:none;background:#f8fafc;font-size:.8rem;text-align:center;padding:.35rem .25rem;border-radius:4px;cursor:pointer;font-family:inherit;color:var(--text-color)}.editor-time-slot input[type=time]:focus{outline:none;background:#e0e7ff;box-shadow:0 0 0 2px #6366f133}.editor-time-slot input[type=time]::-webkit-calendar-picker-indicator{opacity:.7;cursor:pointer;padding:2px;margin-left:2px}.editor-time-slot input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.editor-time-slot input[type=time]::-webkit-datetime-edit{padding:0 2px}.editor-time-slot input[type=time]::-webkit-datetime-edit-hour-field,.editor-time-slot input[type=time]::-webkit-datetime-edit-minute-field{padding:1px 3px;border-radius:2px}.editor-time-slot input[type=time]::-webkit-datetime-edit-hour-field:focus,.editor-time-slot input[type=time]::-webkit-datetime-edit-minute-field:focus{background:#c7d2fe}.editor-time-slot input[type=time]::-webkit-datetime-edit-text{padding:0 1px}.editor-time-slot .slot-separator{color:#9ca3af;font-weight:500}.editor-time-slot .remove-slot-btn{display:flex;align-items:center;justify-content:center;background:#fee2e2;border:none;color:#dc2626;cursor:pointer;font-size:.9rem;font-weight:600;width:22px;height:22px;border-radius:50%;line-height:1;transition:all .2s;margin-left:4px}.editor-time-slot .remove-slot-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.add-slot-btn{background:transparent;border:1px dashed #9ca3af;color:#6b7280;padding:.25rem .5rem;border-radius:6px;cursor:pointer;font-size:.6875rem;font-weight:500;transition:all .2s}.add-slot-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:#6366f10d}.template-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#f9fafb;border-top:1px solid #e5e7eb;gap:1rem}.editor-footer-info{font-size:.75rem;color:#6b7280;flex:1}.editor-footer-info .info-badge{display:inline-flex;align-items:center;gap:.25rem;background:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:12px;font-size:.6875rem;font-weight:500}.editor-footer-actions{display:flex;gap:.5rem}.editor-footer-actions .btn-cancel{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .2s}.editor-footer-actions .btn-cancel:hover{background:#f3f4f6}.editor-footer-actions .btn-save{padding:.5rem 1.25rem;border:none;background:linear-gradient(135deg,var(--primary-color),#7c3aed);color:#fff;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;transition:all .2s}.editor-footer-actions .btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}@media(max-width:500px){.template-editor-modal-content{margin:.5rem}.editor-day-row{flex-direction:column;gap:.5rem}.editor-day-toggle{min-width:auto}.template-editor-footer{flex-direction:column;align-items:stretch}.editor-footer-actions{justify-content:flex-end}}@media(max-width:600px){.templates-main{grid-template-columns:1fr;gap:1.25rem}.templates-modal-content{max-width:95%;margin:1rem}.templates-modal-body{max-height:65vh}}.template-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--background-color);border-radius:10px;border:1px solid var(--border-color);transition:all .2s ease}.template-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #6366f11a}.template-info{display:flex;flex-direction:column;gap:.25rem}.template-name{font-weight:600;color:var(--text-color);font-size:.9375rem}.template-desc{font-size:.75rem;color:var(--text-color-secondary)}.template-apply-btn{background:linear-gradient(135deg,var(--primary-color),#7c3aed);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .3s ease}.template-apply-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #6366f14d}.no-templates{color:var(--text-color-secondary);font-size:.8125rem;font-style:italic;padding:.75rem;text-align:center;background:var(--background-color);border-radius:8px}.template-name-input-container{margin-bottom:1rem}.template-name-input-container label{display:block;font-weight:600;color:var(--text-color);margin-bottom:.5rem;font-size:.875rem}.template-name-input-container input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .3s ease}.template-name-input-container input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.template-period-info{background:var(--background-color);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;color:var(--text-color-secondary)}.template-period-info strong{color:var(--primary-color)}.availability-grid[data-view=month],.availability-grid[data-view="3months"],.availability-grid[data-view="6months"]{grid-template-columns:repeat(7,1fr)}.day-column[data-date] .day-header h3{font-size:.75rem}.day-column[data-date] .date-number{font-size:1.125rem;font-weight:700;color:var(--primary-color);display:block;margin-bottom:.25rem}.day-column.today{border-color:var(--primary-color);background:linear-gradient(135deg,#6366f10d,#8b5cf61a)}.day-column.today .date-number{background:var(--primary-color);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .25rem}.day-column.other-month{opacity:.5;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.weekdays-header{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-bottom:.5rem}.weekday-label{text-align:center;font-weight:600;font-size:.75rem;color:var(--text-color-secondary);text-transform:uppercase;letter-spacing:.5px}.day-column.compact{min-height:60px;padding:.5rem}.day-column.compact .day-header{margin-bottom:.375rem}.day-column.compact .day-header h3{font-size:.625rem}.day-column.compact .date-number{font-size:.875rem;margin-bottom:.125rem}.day-column.compact .day-actions{gap:.125rem}.day-column.compact .add-time-btn{width:16px;height:16px;font-size:.75rem}.day-column.compact .copy-day-btn{width:12px;height:12px}.day-column.compact .time-slot{padding:.25rem 1.5rem .25rem .75rem;font-size:.625rem;margin-bottom:.125rem}.day-column.compact .remove-time-btn{width:9px;height:9px;font-size:.4rem}.day-column.compact .copy-time-btn{width:11px;height:11px}.week-row-header{grid-column:1 / -1;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:.625rem 1rem;border-radius:8px;font-weight:600;font-size:.8125rem;color:var(--text-color);margin:.75rem 0 .5rem;display:flex;justify-content:space-between;align-items:center;border-left:3px solid var(--primary-color)}.week-row-header:first-of-type{margin-top:0}.week-row-header span{display:flex;align-items:center;gap:.5rem}.week-row-header .copy-week-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:.375rem .875rem;border-radius:6px;cursor:pointer;font-size:.6875rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.week-row-header .copy-week-btn:hover{transform:translateY(-1px);box-shadow:0 3px 8px #8b5cf666;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.availability-grid[data-view="3months"],.availability-grid[data-view="6months"]{max-height:70vh;overflow-y:auto;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--primary-color) #f1f5f9}.availability-grid[data-view="3months"]::-webkit-scrollbar,.availability-grid[data-view="6months"]::-webkit-scrollbar{width:8px}.availability-grid[data-view="3months"]::-webkit-scrollbar-track,.availability-grid[data-view="6months"]::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.availability-grid[data-view="3months"]::-webkit-scrollbar-thumb,.availability-grid[data-view="6months"]::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.availability-grid[data-view="3months"]::-webkit-scrollbar-thumb:hover,.availability-grid[data-view="6months"]::-webkit-scrollbar-thumb:hover{background:#5b21b6}.month-header{grid-column:1 / -1;background:linear-gradient(135deg,#f0f4ff,#e8eeff);padding:.75rem 1rem;border-radius:10px;font-weight:600;font-size:.9375rem;color:var(--text-color);margin:1.25rem 0 .625rem;display:flex;justify-content:space-between;align-items:center;border-left:4px solid var(--primary-color);position:sticky;top:0;z-index:5;box-shadow:0 2px 6px #6366f11f}.month-header:first-child{margin-top:0}.month-header span{display:flex;align-items:center;gap:.5rem}.month-header .copy-month-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .3s ease;white-space:nowrap}.month-header .copy-month-btn:hover{transform:translateY(-1px);box-shadow:0 3px 10px #8b5cf666;background:linear-gradient(135deg,#7c3aed,#6d28d9)}.day-column.past.disabled{opacity:.5;pointer-events:none;background:#f5f5f5}.day-column.past.disabled .day-date{color:#9ca3af}.day-column.past.disabled .no-availability,.day-column.past.disabled .add-time-btn{display:none!important}.day-column.skipped-date{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px dashed #f59e0b;pointer-events:none;opacity:.9}.day-column.skipped-date .day-header h3{color:#92400e}.day-column.skipped-date .date-number{background:#f59e0b;color:#fff}.skipped-date-info{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;text-align:center;gap:.25rem}.skipped-icon{font-size:1.5rem;line-height:1}.skipped-text{font-size:.65rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.5px}.day-column.compact.skipped-date .skipped-date-info{padding:.25rem}.day-column.compact.skipped-date .skipped-icon{font-size:1rem}.day-column.compact.skipped-date .skipped-text{font-size:.5rem}@media(max-width:768px){.availability-period-selector{flex-direction:column;align-items:stretch}.period-toggle-group{justify-content:center}.period-toggle-btn{padding:.5rem .75rem;font-size:.8125rem}.period-navigation{justify-content:center}}@media(max-width:480px){.period-toggle-btn{padding:.5rem .625rem;font-size:.75rem}}.update-availability-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 2rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;display:block;margin:0 auto}.update-availability-btn:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.history-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.history-section h2{margin:0 0 2rem;color:var(--text-color);font-size:1.5rem}.history-filters{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;color:var(--text-color-secondary);transition:all .3s ease}.filter-btn:hover{background:var(--primary-color-light);border-color:var(--primary-color);color:var(--primary-color)}.filter-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.lessons-list{display:flex;flex-direction:column;gap:1rem}.lesson-item{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--background-color);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all .3s ease}.lesson-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--primary-color)}.lesson-date{display:flex;flex-direction:column;align-items:center;background:var(--primary-color);color:#fff;padding:.75rem;border-radius:var(--radius-md);min-width:60px}.lesson-date .day{font-size:1.5rem;font-weight:700;line-height:1}.lesson-date .month{font-size:.75rem;font-weight:500;margin-top:.25rem}.lesson-details{flex:1}.lesson-details h4{margin:0 0 .5rem;color:var(--text-color);font-size:1.1rem}.lesson-details p{margin:0 0 .5rem;color:var(--text-color-secondary);font-size:.9rem}.lesson-status{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.lesson-status.upcoming{background:#dbeafe;color:#1e40af}.lesson-status.completed{background:#dcfce7;color:#166534}.lesson-status.cancelled{background:#fee2e2;color:#991b1b}.lesson-actions{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease}.action-btn:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.action-btn.cancel{background:#ef4444}.action-btn.cancel:hover{background:#dc2626}.payment-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.payment-section h2,.payment-section h3{margin:0 0 1.5rem;color:var(--text-color)}.payment-section h2{font-size:1.5rem}.payment-section h3{font-size:1.2rem;margin-top:2rem}.payment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.payment-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-dark) 100%);color:#fff;padding:1.5rem;border-radius:var(--radius-lg);position:relative;box-shadow:0 4px 20px #4f46e54d}.payment-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.card-type{font-size:.875rem;opacity:.9}.card-brand{font-weight:700;font-size:1.1rem}.card-number{font-size:1.2rem;font-weight:600;letter-spacing:2px;margin-bottom:1rem}.card-details{display:flex;justify-content:space-between;font-size:.9rem;opacity:.9}.payment-card .card-menu{position:absolute;top:1rem;right:1rem;background:#fff3;color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.add-payment-card{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .3s ease;background:var(--background-color)}.add-payment-card:hover{border-color:var(--primary-color);background:var(--primary-color-light)}.add-payment-card .add-icon{font-size:2rem;color:var(--primary-color)}.payment-history{margin-bottom:2rem}.payment-list{display:flex;flex-direction:column;gap:1rem}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--background-color);border-radius:var(--radius-md);border:1px solid var(--border-color)}.payment-info{display:flex;flex-direction:column;gap:.25rem}.payment-description{font-weight:500;color:var(--text-color)}.payment-date{font-size:.875rem;color:var(--text-color-secondary)}.payment-amount{font-weight:600;color:var(--primary-color);font-size:1.1rem}.payment-settings{border-top:1px solid var(--border-color);padding-top:2rem}.setting-item{margin-bottom:1rem}.setting-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--text-color);font-size:.95rem}.setting-label input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);position:relative;transition:all .3s ease}.setting-label input[type=checkbox]:checked+.checkmark{background:var(--primary-color);border-color:var(--primary-color)}.setting-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.university-input-container{position:relative}.university-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);z-index:1001;max-height:200px;overflow-y:auto}.university-dropdown.hidden{display:none}.dropdown-content{padding:0}.dropdown-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background-color .2s ease}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover,.dropdown-item.active{background-color:var(--primary-color-light)}.dropdown-item.no-results{color:var(--text-muted);font-style:italic;cursor:default}.dropdown-item.no-results:hover{background-color:transparent}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity .3s ease}.modal-overlay.show{opacity:1}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:500px;width:95%;max-height:80vh;overflow-y:auto;transform:scale(.9);transition:transform .3s ease}.modal-overlay.show .modal{transform:scale(1)}.modal-content{padding:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-color);font-size:1.3rem}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-color-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .3s ease}.modal-close:hover{background:var(--background-color);color:var(--text-color)}.modal-body{padding:2rem;max-width:500px;margin:0 auto}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-color);background:var(--background-color)}.btn-secondary{background:transparent;color:var(--text-color-secondary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.btn-secondary:hover{background:var(--background-color);color:var(--text-color)}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.search-group{margin-bottom:1rem}.search-container{position:relative}.search-container input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:border-color .3s ease}.search-container input:focus{outline:none;border-color:var(--primary-color)}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:100;display:none;margin-top:4px}.search-result-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;gap:.75rem;border-bottom:1px solid var(--border-color);transition:background .2s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.selected{background:var(--background-color)}.search-result-icon{font-size:1.25rem;flex-shrink:0}.search-result-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.search-result-name{font-weight:500;color:var(--text-color)}.search-result-path{font-size:.75rem;color:var(--text-color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-no-results{padding:1rem;text-align:center;color:var(--text-color-secondary)}.divider-text{text-align:center;color:var(--text-color-secondary);font-size:.85rem;margin:1rem 0;position:relative}.divider-text:before,.divider-text:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:var(--border-color)}.divider-text:before{left:0}.divider-text:after{right:0}.form-group{margin-bottom:1.5rem;margin-left:1rem;margin-right:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin:2rem 1rem 1rem}.cancel-btn{background:transparent;color:var(--text-color-secondary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.cancel-btn:hover{background:var(--background-color);color:var(--text-color)}.save-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease}.save-btn:hover{background:var(--primary-color-dark)}.notification{position:fixed;top:2rem;right:2rem;background:#fff;padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 10px 30px #0003;z-index:1001;transform:translate(100%);transition:transform .3s ease;border-left:4px solid var(--primary-color)}.notification.show{transform:translate(0)}.notification.success{border-left-color:#10b981}.notification.error{border-left-color:#ef4444}.notification.info{border-left-color:var(--primary-color)}.education-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.education-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.education-section h2{margin:0;color:var(--text-color);font-size:1.5rem}.add-education-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-education-btn:hover{background:var(--primary-color-dark);transform:translateY(-2px)}.education-cards-container{margin-bottom:2rem}.education-cards-container h3{margin:0 0 1rem;color:var(--text-color);font-size:1.2rem}.education-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.education-degree-card{background:#f8fafc;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 2px 10px #0000001a;transition:all .3s ease;position:relative;border-left:4px solid #e2e8f0}.education-degree-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.education-degree-card.bachelor{border-left-color:#3b82f6}.education-degree-card.bachelor .degree-title{color:#3b82f6}.education-degree-card.master{border-left-color:#6d28d9}.education-degree-card.master .degree-title{color:#6d28d9}.education-degree-card.doctorate{border-left-color:#f59e0b}.education-degree-card.doctorate .degree-title{color:#f59e0b}.degree-title{font-size:1.1rem;font-weight:700;margin:0 0 .5rem;line-height:1.3}.degree-year{font-size:.9rem;color:var(--text-color-secondary);font-weight:500;margin-bottom:.5rem}.degree-institution{font-size:1rem;color:var(--text-color);font-weight:500;margin-bottom:.5rem}.degree-specialization{font-size:.9rem;color:var(--text-color-secondary);margin-bottom:1rem;font-style:italic}.degree-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-degree-btn,.delete-degree-btn{background:none;border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .3s ease}.edit-degree-btn{color:var(--primary-color);border-color:var(--primary-color)}.edit-degree-btn:hover{background:var(--primary-color);color:#fff}.delete-degree-btn{color:#ef4444;border-color:#ef4444}.delete-degree-btn:hover{background:#ef4444;color:#fff}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.education-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s ease}.education-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--primary-color)}.education-card h3{margin:0 0 1.5rem;color:var(--text-color);font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.education-item{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.education-item:last-of-type{margin-bottom:1rem;padding-bottom:0;border-bottom:none}.education-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.education-header h4{margin:0;color:var(--text-color);font-size:1.1rem;font-weight:600}.education-year{color:var(--text-color-secondary);font-size:.9rem;font-weight:500;background:var(--background-color);padding:.25rem .75rem;border-radius:var(--radius-sm)}.education-institution{color:var(--primary-color);font-weight:500;margin:.5rem 0}.education-description{color:var(--text-color-secondary);font-size:.9rem;line-height:1.5;margin:0}.certification-item{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md);transition:all .3s ease}.certification-item:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.cert-header{display:flex;align-items:center;gap:1rem;flex:1}.cert-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--primary-color-light);border-radius:var(--radius-md)}.cert-info h4{margin:0 0 .25rem;color:var(--text-color);font-size:1rem}.cert-issuer{color:var(--text-color-secondary);font-size:.875rem;margin:0}.cert-year{color:var(--primary-color);font-weight:600;font-size:.875rem}.settings-section{background:#fff;padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.settings-section h2{margin:0 0 2rem;color:var(--text-color);font-size:1.5rem;display:flex;align-items:center;gap:.5rem}.settings-section .settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.settings-section .settings-card{background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:all .3s ease}.settings-section .settings-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014;border-color:var(--primary-color)}.settings-section .settings-card h3{margin:0 0 1.5rem;color:var(--text-color);font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.settings-section .setting-item{margin-bottom:1rem}.settings-section .setting-item:last-child{margin-bottom:0}.settings-section .setting-item label:not(.setting-label){display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500;font-size:.9rem}.settings-section .setting-item input[type=text],.settings-section .setting-item textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;transition:all .3s ease;background:#fff;box-sizing:border-box}.settings-section .setting-item input[type=text]:focus,.settings-section .setting-item textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e51a}.settings-section .setting-item textarea{resize:vertical;min-height:80px}.settings-section .setting-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--text-color);font-size:.95rem;padding:.75rem;border-radius:var(--radius-md);transition:all .2s ease;margin:0}.settings-section .setting-label:hover{background:var(--background-color)}.settings-section .save-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:1rem;width:100%}.settings-section .save-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e54d}.verification-status{display:flex;flex-direction:column;gap:.75rem}.verification-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:var(--radius-md);transition:all .3s ease}.verification-item.completed{background:linear-gradient(135deg,#dcfce7,#f0fdf4);border:1px solid #bbf7d0}.verification-item.pending{background:linear-gradient(135deg,#fef3c7,#fffbeb);border:1px solid #fde68a}.verification-item.not-started{background:linear-gradient(135deg,#f1f5f9,#f8fafc);border:1px solid #e2e8f0}.verification-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.verification-item.completed .verification-icon{background:#22c55e;color:#fff;font-size:1rem}.verification-item.pending .verification-icon{background:#f59e0b;color:#fff;font-size:1rem}.verification-info h4{margin:0 0 .25rem;color:var(--text-color);font-size:.95rem;font-weight:600}.verification-info p{margin:0;color:var(--text-color-secondary);font-size:.85rem}.verification-btn{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .3s ease;margin-top:1rem;width:100%}.verification-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #4f46e54d}.settings-section .settings-card.danger-zone{background:linear-gradient(135deg,#fef2f2,#fff5f5);border:1px solid #fecaca}.settings-section .settings-card.danger-zone:hover{border-color:#ef4444;box-shadow:0 8px 25px #ef44441a}.settings-section .settings-card.danger-zone h3{color:#dc2626;border-bottom-color:#fecaca}.danger-actions{display:flex;flex-direction:column;gap:.75rem}.danger-btn{background:#fff;color:#dc2626;border:1px solid #fecaca;padding:.75rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .3s ease;text-align:center}.danger-btn:hover{background:#fef2f2;border-color:#ef4444}.danger-btn.delete{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none}.danger-btn.delete:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ef44444d}.teacher-badges{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.verification-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500}.verification-badge.verified{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.rating-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.teaching-card{border-left:4px solid #22c55e}.teaching-card:hover{border-left-color:#16a34a;box-shadow:0 8px 25px #22c55e26}.teaching-category,.teaching-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.teaching-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px)}.add-card-btn.teaching-theme{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.add-card-btn.teaching-theme:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px)}.teaching-add-card{border:2px dashed #22c55e;background:#22c55e0d}.teaching-add-card:hover{border-color:#16a34a;background:#22c55e1a;transform:translateY(-2px)}.teaching-add-card .add-icon{color:#22c55e}.teaching-add-card h3{color:#16a34a}.teaching-save-btn{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.teaching-save-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px)}@media(max-width:768px){.profile-container{padding:1rem}.profile-header{flex-direction:column;text-align:center;gap:1.5rem}.profile-name{margin:0 0 2px}.profile-location{margin:0}.teacher-badges{margin-top:2px}.profile-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:120px}.overview-grid,.learning-cards-grid{grid-template-columns:1fr}.availability-grid{grid-template-columns:repeat(2,1fr)}.lesson-item{flex-direction:column;align-items:flex-start;gap:1rem}.lesson-actions{width:100%;justify-content:space-between}.payment-cards{grid-template-columns:1fr}.modal{width:95%;margin:1rem}.notification{right:1rem;left:1rem;transform:translateY(-100%)}.notification.show{transform:translateY(0)}.settings-section .settings-grid{grid-template-columns:1fr}.verification-item{padding:.875rem}.verification-icon{width:36px;height:36px;font-size:1.25rem}}@media(max-width:480px){.availability-grid{grid-template-columns:1fr}.stats{flex-direction:column;gap:1.5rem}.card-actions,.lesson-actions{flex-direction:column}.action-btn{width:100%}.settings-section{padding:1.5rem}.settings-section .settings-card{padding:1.25rem}.danger-actions{gap:.5rem}.danger-btn{padding:.625rem 1rem;font-size:.9rem}}.phone-verification-modal-content{background:#fff;border-radius:20px;box-shadow:0 25px 80px #00000040,0 10px 30px #00000026;max-width:420px;width:95%;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.phone-verification-modal-content .modal-header{background:linear-gradient(135deg,var(--primary-color) 0%,#1e40af 100%);color:#fff;padding:1.5rem 2rem;border-bottom:none}.phone-verification-modal-content .modal-header h3{color:#fff;font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.phone-verification-modal-content .modal-close{color:#fffc;background:#ffffff1a;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.phone-verification-modal-content .modal-close:hover{background:#fff3;color:#fff}.phone-verification-modal-content .modal-body{padding:2rem;background:#fff}.phone-verification-modal-content .modal-description{color:#64748b;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.phone-verification-modal-content .modal-footer{padding:1.5rem 2rem;background:#f8fafc;border-top:1px solid #e2e8f0}.phone-input-container{margin-bottom:1.5rem}.phone-input-container label{display:block;font-weight:600;margin-bottom:.5rem;color:#334155;font-size:.9rem}.phone-input-wrapper{display:flex;align-items:center;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;transition:all .2s ease;background:#fff}.phone-input-wrapper:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.country-code{background:#f1f5f9;padding:.875rem 1rem;font-weight:700;color:#475569;border-right:2px solid #e2e8f0;font-size:1rem}.phone-input{flex:1;padding:.875rem 1rem;border:none;font-size:1.1rem;letter-spacing:1px;outline:none;font-weight:500;color:#1e293b}.phone-input::-moz-placeholder{color:#94a3b8;font-weight:400}.phone-input::placeholder{color:#94a3b8;font-weight:400}.phone-info{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:12px;font-size:.875rem;color:#475569;border:1px solid #bfdbfe}.phone-info svg{flex-shrink:0;color:var(--primary-color)}.code-input-container{margin-bottom:1rem}.code-input-container label{display:block;font-weight:600;margin-bottom:.5rem;color:#334155;font-size:.9rem}.verification-code .code-input.large{width:100%;font-size:2rem;letter-spacing:.75rem;text-align:center;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-weight:700;color:#1e293b;transition:all .2s ease}.verification-code .code-input.large:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.verification-code .code-input.large::-moz-placeholder{color:#cbd5e1;letter-spacing:.5rem}.verification-code .code-input.large::placeholder{color:#cbd5e1;letter-spacing:.5rem}.code-timer{text-align:center;margin:1.25rem 0;padding:.75rem;background:#f8fafc;border-radius:8px;color:#64748b;font-size:.9rem}.code-timer strong{color:var(--primary-color);font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:1.1rem;font-weight:700}.resend-code{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem 0;font-size:.875rem;color:#64748b}.btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-weight:600;padding:0;text-decoration:none;transition:all .2s ease}.btn-link:hover{text-decoration:underline}.btn-link:disabled{color:#94a3b8;cursor:not-allowed;text-decoration:none}#resend-timer{font-size:.8rem;color:#94a3b8}.verification-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:12px;color:#dc2626;margin:1rem 0;font-size:.9rem;font-weight:500}.verification-error svg{flex-shrink:0}.verification-success{text-align:center;padding:2.5rem 1.5rem}.verification-success .success-icon{font-size:4rem;margin-bottom:1rem;animation:successBounce .5s ease-out}@keyframes successBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.verification-success h4{font-size:1.35rem;margin:0 0 .75rem;color:#1e293b;font-weight:700}.verification-success p{color:#64748b;font-size:.95rem;line-height:1.6;margin:0}.phone-verification-modal-content .btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,#1e40af 100%);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #2563eb4d}.phone-verification-modal-content .btn-primary:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.phone-verification-modal-content .btn-primary:disabled{background:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.phone-verification-modal-content .btn-cancel{background:#fff;color:#64748b;border:2px solid #e2e8f0;padding:.875rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.phone-verification-modal-content .btn-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.phone-verification-modal-content .modal-footer.centered{justify-content:center}.success-icon-animated{width:80px;height:80px;margin:0 auto 1.5rem}.checkmark-svg{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:#22c55e;stroke-miterlimit:10;box-shadow:inset 0 0 #22c55e;animation:fillGreen .4s ease-in-out .4s forwards,scaleCheck .3s ease-in-out .9s both}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#22c55e;fill:none;animation:strokeCircle .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes strokeCircle{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillGreen{to{box-shadow:inset 0 0 0 40px #22c55e1a}}@keyframes scaleCheck{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}.verification-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background-color);border-radius:var(--radius-md);margin-bottom:.75rem}.btn-verify-phone{margin-left:auto;background:var(--primary-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem}.btn-verify-phone:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.btn-verify-phone:disabled{background:var(--text-color-secondary);cursor:not-allowed;transform:none}.verification-info-box{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius-md);font-size:.9rem;color:#0369a1;margin-top:1rem}.verification-info-box svg{flex-shrink:0;color:#0ea5e9}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:var(--primary-color-dark)}.btn-primary:disabled{background:var(--text-color-secondary);cursor:not-allowed}@media(max-width:480px){.phone-verification-modal-content{margin:1rem}.verification-item{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-verify-phone{margin-left:0;width:100%}}.phone-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-verify-inline{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:.35rem .75rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #f59e0b4d}.btn-verify-inline:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b66}.btn-verify-inline:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.verified-check{color:#10b981;font-weight:600;font-size:.85rem;display:flex;align-items:center;gap:.25rem}#profile-phone-display{color:var(--text-color)}.template-editor-exceptions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.exceptions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.exceptions-label{font-weight:600;font-size:.9rem;color:#374151}.add-exceptions-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:.4rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-exceptions-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.exceptions-list{display:flex;flex-wrap:wrap;gap:.5rem}.no-exceptions{color:#9ca3af;font-size:.8rem;font-style:italic;margin:0}.exception-tag{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:20px;padding:.35rem .6rem .35rem .5rem;font-size:.8rem}.tag-emoji{font-size:.9rem}.tag-name{color:#0369a1;font-weight:500}.tag-remove{background:none;border:none;color:#dc2626;font-size:1rem;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .2s}.tag-remove:hover{opacity:1}.exceptions-modal-content{max-width:500px;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d}.exceptions-search{margin-bottom:1rem}.exceptions-search input{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.9rem;transition:border-color .2s}.exceptions-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.exceptions-categories{max-height:400px;overflow-y:auto;padding-right:.5rem}.exception-category{margin-bottom:.75rem;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.exception-category-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;cursor:pointer;transition:background .2s}.exception-category-header:hover{background:#f3f4f6}.category-icon{font-size:1.1rem}.category-label{flex:1;font-weight:600;color:#374151;font-size:.9rem}.category-count{background:#e5e7eb;color:#6b7280;padding:.15rem .5rem;border-radius:10px;font-size:.75rem;font-weight:500}.category-toggle{color:#9ca3af;font-size:.7rem;transition:transform .2s}.exception-category.collapsed .category-toggle{transform:rotate(-90deg)}.exception-category.collapsed .exception-category-items{display:none}.exception-category-items{border-top:1px solid #e5e7eb}.exception-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;cursor:pointer;transition:background .15s;border-bottom:1px solid #f3f4f6}.exception-item:last-child{border-bottom:none}.exception-item:hover{background:#f9fafb}.exception-item.selected{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.item-emoji{font-size:1rem}.item-name{flex:1;font-size:.85rem;color:#374151}.exception-item.selected .item-name{color:#0369a1;font-weight:500}.item-check{color:#10b981;font-weight:700;font-size:1rem}.no-results{text-align:center;color:#9ca3af;padding:2rem;font-style:italic}.exceptions-categories::-webkit-scrollbar{width:6px}.exceptions-categories::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.exceptions-categories::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.exceptions-categories::-webkit-scrollbar-thumb:hover{background:#9ca3af}.day-context-menu{position:absolute;z-index:1000;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:220px;padding:.5rem 0;transform:translate(-50%);animation:contextMenuFadeIn .15s ease}@keyframes contextMenuFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.context-menu-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s}.context-menu-item:hover{background:#f3f4f6}.context-menu-item:first-child{border-radius:8px 8px 0 0}.context-menu-item:last-child{border-radius:0 0 8px 8px}.menu-icon{font-size:1rem}.menu-text{font-size:.875rem;color:#374151}.context-menu-item:last-child .menu-text{color:#dc2626}.context-menu-item:last-child:hover{background:#fef2f2}.context-menu-divider{height:1px;background:#e5e7eb;margin:.5rem 0}.day-column .day-header h3{cursor:pointer;transition:color .2s}.day-column:not(.disabled) .day-header h3:hover{color:#3b82f6}.tools-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.tools-modal.active{opacity:1;visibility:visible}.tools-modal-content{background:#fff;border-radius:20px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;transform:scale(.9) translateY(20px);transition:transform .3s ease}.tools-modal.active .tools-modal-content{transform:scale(1) translateY(0)}.tools-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.tools-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.tools-modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(85vh - 70px)}.tools-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.tools-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.tools-section h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.tools-description{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.quick-templates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-template-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:#f8fafc;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.quick-template-btn:hover{background:#eff6ff;border-color:#3b82f6;transform:translateY(-2px)}.qt-icon{font-size:1.5rem}.qt-name{font-weight:600;color:#1f2937;font-size:.875rem}.qt-time{font-size:.75rem;color:#6b7280}.repeat-patterns-list{display:flex;flex-direction:column;gap:.5rem}.repeat-pattern-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f8fafc;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left}.repeat-pattern-btn:hover{background:#f0fdf4;border-color:#22c55e}.rp-icon{font-size:1.25rem}.rp-text{display:flex;flex-direction:column}.rp-name{font-weight:600;color:#1f2937;font-size:.875rem}.rp-desc{font-size:.75rem;color:#6b7280}.block-time-controls{display:flex;flex-direction:column;gap:1rem}.block-time-row{display:flex;gap:.75rem;align-items:center}.block-time-row label{font-size:.875rem;color:#374151;min-width:40px}.block-time-row input[type=date],.block-time-row input[type=text]{flex:1;padding:.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem}.block-time-btn{background:#ef4444;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.block-time-btn:hover{background:#dc2626}.blocked-periods-list{margin-top:1rem}.blocked-periods-list h5{margin:0 0 .75rem;font-size:.875rem;color:#374151}.blocked-period-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:.5rem}.blocked-period-info{display:flex;flex-direction:column;gap:.25rem}.blocked-period-dates{font-weight:600;color:#991b1b;font-size:.875rem}.blocked-period-reason{font-size:.75rem;color:#b91c1c}.remove-blocked-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;padding:.25rem}.remove-blocked-btn:hover{color:#991b1b}.no-blocked-periods{text-align:center;color:#9ca3af;font-size:.875rem;padding:1rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e5e7eb;border-radius:12px;padding:1rem;text-align:center}.stat-value{font-size:1.75rem;font-weight:700;color:#3b82f6;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.import-export-btns{display:flex;gap:.75rem}.ie-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:#f8fafc;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;font-weight:600;color:#374151}.ie-btn:hover{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.ie-btn.export:hover{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.google-calendar-status{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;border:1px solid #e5e7eb}.gcal-status-text{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.gcal-status-text.connected{color:#16a34a}.gcal-connect-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;font-weight:600;color:#374151;transition:all .2s ease}.gcal-connect-btn:hover{background:#f8fafc;border-color:#4285f4;color:#4285f4}.gcal-connect-btn img{width:20px;height:20px}.gcal-info{font-size:.75rem;color:#9ca3af;text-align:center}.tools-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.tools-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}@media(max-width:480px){.tools-modal-content{width:95%;max-height:90vh}.quick-templates-grid,.stats-grid{grid-template-columns:1fr}.import-export-btns{flex-direction:column}.block-time-row{flex-direction:column;align-items:stretch}.block-time-row label{min-width:auto}}.highlight-section{animation:highlightPulse 2s ease-in-out}@keyframes highlightPulse{0%{box-shadow:0 0 rgba(var(--primary-rgb),.4)}50%{box-shadow:0 0 0 10px rgba(var(--primary-rgb),.2)}to{box-shadow:0 0 rgba(var(--primary-rgb),0)}}.settings-section{padding:2rem}.settings-section h2{font-size:1.75rem;margin-bottom:2rem;color:var(--text-primary)}.settings-card{background:#fff;border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.settings-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-primary)}.settings-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.blocked-users-list{margin-top:1rem}.blocked-user-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-bottom:.75rem;transition:all .2s ease}.blocked-user-item:hover{background:var(--background-light)}.blocked-user-info{display:flex;align-items:center;gap:1rem}.blocked-user-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--border-color)}.blocked-user-details h4{font-size:1rem;margin:0;color:var(--text-primary)}.blocked-user-details p{font-size:.85rem;margin:.25rem 0 0;color:var(--text-secondary)}.unblock-btn{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:all .2s ease}.unblock-btn:hover{background:var(--primary-color-dark);transform:translateY(-1px)}.empty-state{text-align:center;padding:2rem;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:.5rem}.loading-state{text-align:center;padding:2rem;color:var(--text-secondary)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-info h4{font-size:1rem;margin:0 0 .25rem;color:var(--text-primary)}.setting-info p{font-size:.85rem;margin:0;color:var(--text-secondary)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px var(--primary-color)}.coming-soon-wrapper{position:relative;overflow:hidden}.coming-soon-wrapper .coming-soon-content{filter:blur(2px) grayscale(30%);opacity:.6;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.coming-soon-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.coming-soon-badge{background:linear-gradient(135deg,#f97316,#ea580c,#c2410c);color:#fff;padding:1rem 0;width:150%;text-align:center;font-size:1.5rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;box-shadow:0 4px 15px #f9731680;transform:rotate(-8deg)}.my-cards-section{padding:0}.my-cards-header{margin-bottom:1.5rem}.my-cards-header h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.section-subtitle{color:var(--text-muted);font-size:.9rem;margin:0}.cards-split-container{display:flex;gap:0;min-height:300px;background:var(--background-secondary, #f8f9fa);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.cards-column{flex:1;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.learning-column{background:linear-gradient(135deg,#3b82f608,#3b82f614)}.teaching-column{background:linear-gradient(135deg,#22c55e08,#22c55e14)}.column-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.column-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;color:var(--text-primary)}.column-icon{font-size:1.1rem}.add-card-btn-mini{width:28px;height:28px;border-radius:50%;border:2px dashed var(--primary-color);background:transparent;color:var(--primary-color);font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-card-btn-mini:hover{background:var(--primary-color);color:#fff;border-style:solid}.add-card-btn-mini.teaching-theme{border-color:#22c55e;color:#22c55e}.add-card-btn-mini.teaching-theme:hover{background:#22c55e;color:#fff}.cards-swap-divider{display:flex;align-items:center;justify-content:center;width:50px;background:linear-gradient(180deg,var(--border-color) 0%,var(--border-light) 50%,var(--border-color) 100%);position:relative}.swap-icon{background:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--text-muted);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.compact-cards-grid{display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto;max-height:400px}.compact-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid var(--border-light);cursor:pointer;transition:all .2s ease;position:relative}.compact-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.compact-card-icon{font-size:1.5rem;flex-shrink:0}.compact-card-info{flex:1;min-width:0}.compact-card-title{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 .15rem}.compact-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-muted)}.compact-card-genre{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-card-level{padding:.15rem .4rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.compact-card-level.nybegynner{background:#dbeafe;color:#1d4ed8}.compact-card-level.litt-ovd{background:#fef3c7;color:#b45309}.compact-card-level.viderekommen{background:#d1fae5;color:#047857}.compact-card-level.ekspert{background:#ede9fe;color:#6d28d9}.compact-card-menu{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.compact-card:hover .compact-card-menu{opacity:1}.compact-card-menu:hover{background:var(--background-secondary)}.compact-card.teaching-compact{border-left:3px solid #10b981}.compact-card.teaching-compact:hover{border-left-color:#059669}.add-card-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:all .2s ease;margin-top:auto}.add-card-inline:hover{border-color:var(--primary-color);color:var(--primary-color);background:#3b82f60d}.add-card-inline.teaching-add:hover{border-color:#22c55e;color:#22c55e;background:#22c55e0d}.add-icon-small{font-size:1rem;font-weight:600}.compact-cards-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;color:var(--text-muted);text-align:center}.compact-cards-empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.compact-cards-empty-text{font-size:.85rem}@media(max-width:768px){.cards-split-container{flex-direction:column}.cards-swap-divider{width:100%;height:40px;background:linear-gradient(90deg,var(--border-color) 0%,var(--border-light) 50%,var(--border-color) 100%)}.compact-cards-grid{max-height:250px}}.supporter-badges-container{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap;align-items:center}.supporter-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1;transition:transform .2s ease,box-shadow .2s ease}.supporter-badge:hover{transform:translateY(-1px)}.supporter-badge.early-supporter{background:linear-gradient(135deg,#ccfbf1,#99f6e4);color:#0f766e;border:1px solid #5eead4}.supporter-badge.early-supporter:hover{box-shadow:0 2px 8px #14b8a64d}.supporter-badge.implemented{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.supporter-badge.implemented:hover{box-shadow:0 2px 8px #f59e0b4d}.supporter-badge .badge-icon{width:16px;height:16px;flex-shrink:0}.supporter-badge .badge-text{white-space:nowrap}.supporter-badge .badge-number{font-weight:700;opacity:.85}.badge-toggle{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;padding:.2rem .5rem;font-size:.75rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .2s ease,background .2s ease}.badge-toggle:hover{color:var(--text-secondary);background:var(--surface-color)}@media(max-width:768px){.supporter-badges-container{flex-direction:column;align-items:flex-start}}
