*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2430;background-color:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:#f5f7fb}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}#root{min-height:100vh}.sidebar{width:250px;background:#fff;border-right:1px solid #eef1f6;display:flex;flex-direction:column;padding:24px 20px;gap:24px}.sidebar__logo{display:flex;align-items:center;justify-content:flex-start}.sidebar__logo-mark{width:42px;height:42px;border-radius:14px;background:#f0f3ff;color:#4c6fff;display:grid;place-items:center;font-weight:700;font-size:18px}.sidebar__nav{display:flex;flex-direction:column;gap:8px}.sidebar__item{border:none;background:transparent;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;color:#586175;font-size:14px;font-weight:500;transition:all .2s ease}.sidebar__item:hover{background:#f5f7ff;color:#2f3a55}.sidebar__item.is-active{background:#eef2ff;color:#2f3a55;box-shadow:inset 2px 0 #4c6fff}.sidebar__icon{width:20px;height:20px;display:grid;place-items:center;color:inherit}.sidebar__icon svg{width:18px;height:18px}.sidebar__label{flex:1;text-align:left}.sidebar__badge{padding:2px 8px;border-radius:999px;background:#e8f0ff;color:#4c6fff;font-size:11px}.sidebar__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid #eef1f6}.sidebar__profile{display:flex;align-items:center;gap:12px}.sidebar__avatar{width:36px;height:36px;border-radius:12px;background:#f4f6ff;color:#4c6fff;display:grid;place-items:center;font-weight:600;font-size:12px}.sidebar__name{margin:0;font-size:13px;font-weight:600;color:#2a3142}.sidebar__role{font-size:11px;color:#8a94a6}.sidebar__logout{width:34px;height:34px;border-radius:12px;border:1px solid #edf0f7;background:#fff;display:grid;place-items:center;cursor:pointer;color:#6b7280}.sidebar__logout svg{width:18px;height:18px}.app-shell{min-height:100vh;display:flex;background:#f5f7fb;color:#1f2430}.app-content{flex:1;display:flex;flex-direction:column;padding:28px 36px 40px;gap:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px}.topbar h1{margin:0;font-size:24px;font-weight:700;color:#1f2430}.topbar p{margin:4px 0 0;color:#7a849a;font-size:14px}.topbar__actions{display:flex;align-items:center;gap:12px}.icon-button{width:40px;height:40px;border-radius:12px;border:1px solid #e7eaf2;background:#fff;display:grid;place-items:center;color:#5c667a;position:relative;cursor:pointer}.icon-button svg{width:18px;height:18px}.icon-button .dot{position:absolute;top:10px;right:10px;width:8px;height:8px;background:#ff8f6b;border-radius:999px;border:2px solid #ffffff}.page-content,.dashboard{display:flex;flex-direction:column;gap:28px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:16px;display:flex;align-items:center;gap:12px;position:relative}.stat-card__icon{width:42px;height:42px;border-radius:14px;background:#f4f6ff;color:#4c6fff;display:grid;place-items:center}.stat-card__icon svg{width:20px;height:20px}.stat-card__text{display:flex;flex-direction:column;gap:4px}.stat-card__label{font-size:12px;color:#7e879b}.stat-card__text strong{font-size:20px;color:#1f2430}.stat-card__delta{margin-left:auto;font-size:12px;padding:4px 10px;border-radius:999px;background:#e9f6ef;color:#2c8f5c}.section-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title{display:flex;align-items:center;gap:10px}.section-title h2{margin:0;font-size:18px;color:#1f2430}.section-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#fff4df;color:#f6a94b;font-size:13px}.section-actions{display:flex;gap:8px}.circle-btn{width:28px;height:28px;border-radius:999px;border:1px solid #e8ebf3;background:#fff;color:#5c667a;cursor:pointer}.lessons-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lesson-card{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:12px}.lesson-card__image{height:110px;border-radius:14px;background:linear-gradient(135deg,#1f2937,#111827)}.lesson-card--chem .lesson-card__image{background:linear-gradient(135deg,#0f172a,#0b2a44)}.lesson-card--bio .lesson-card__image{background:linear-gradient(135deg,#0b2a44,#0f172a)}.lesson-card__tag{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#f4a340;font-weight:600}.lesson-card h3{margin:6px 0 4px;font-size:16px;color:#1f2430}.lesson-card p{margin:0;color:#7a849a;font-size:13px}.lesson-card__footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#9aa3b4}.link-btn{border:none;background:transparent;color:#4c6fff;font-size:12px;font-weight:600;cursor:pointer}.subjects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.subject-card{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px;position:relative}.subject-card__badge{position:absolute;top:14px;left:14px;padding:4px 10px;border-radius:999px;background:#e9f0ff;color:#4c6fff;font-size:10px;font-weight:600}.subject-card__icon{width:44px;height:44px;border-radius:14px;background:#eef2ff;display:grid;place-items:center;font-size:18px;color:#4c6fff}.subject-card--green .subject-card__icon{background:#e7f6ef;color:#2f9e6f}.subject-card--orange .subject-card__icon{background:#fff0e5;color:#f2894c}.subject-card__label{font-size:11px;color:#8b94a7;text-transform:uppercase;letter-spacing:.4px}.subject-card h3{margin:4px 0;font-size:16px}.subject-card p{margin:0;font-size:12px;color:#7a849a}.subject-card__progress{display:flex;flex-direction:column;gap:6px}.subject-card__progress-label{display:flex;justify-content:space-between;font-size:11px;color:#8a94a6}.subject-card__bar{height:6px;border-radius:999px;background:#edf0f7;overflow:hidden}.subject-card__bar div{height:100%;border-radius:inherit;background:#4c6fff}.subject-card--green .subject-card__bar div{background:#2f9e6f}.subject-card--orange .subject-card__bar div{background:#f2894c}.subject-card--create{display:grid;place-items:center;text-align:center;color:#7b8497;border-style:dashed}.subject-card__create-icon{width:54px;height:54px;border-radius:999px;border:1px dashed #cfd6e4;display:grid;place-items:center;font-size:24px;color:#9aa3b4}.quizzes .tabs{display:flex;gap:8px}.tab{border:1px solid #e7eaf2;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;color:#7a849a;cursor:pointer}.tab.is-active{background:#eef2ff;color:#4c6fff;border-color:transparent}.table-card{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:12px}.table-header,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr .5fr;gap:12px;align-items:center;font-size:12px;color:#8b94a7}.table-row{font-size:13px;color:#2a3142;padding:8px 0;border-top:1px solid #f0f3f8}.quiz-title{display:flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:999px;display:inline-block;background:#4c6fff}.dot--blue{background:#4c6fff}.dot--orange{background:#f2894c}.score{display:flex;align-items:center;gap:8px}.score-bar{flex:1;height:6px;border-radius:999px;background:#edf0f7;overflow:hidden}.score-bar div{height:100%;background:#4c6fff;border-radius:inherit}.score-bar--blue div{background:#4c6fff}.score-bar--orange div{background:#f2894c}.icon-dots{background:transparent;border:none;font-size:18px;color:#9aa3b4;cursor:pointer}.table-link{align-self:center;margin-top:4px;font-size:12px}@media(max-width:1200px){.stats-grid,.lessons-grid,.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-header,.table-row{grid-template-columns:1.6fr 1fr 1fr 1fr .4fr}}@media(max-width:900px){.app-shell{flex-direction:column}.stats-grid,.lessons-grid,.subjects-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1.6fr 1fr 1fr}.table-header span:nth-child(n+4),.table-row>:nth-child(n+4){display:none}}.my-subjects-page{display:flex;flex-direction:column;gap:24px}.page-header__top{display:flex;align-items:center;gap:16px;margin-bottom:24px}.search-bar{flex:1;position:relative;max-width:480px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#9aa3b4}.search-bar input{width:100%;padding:10px 14px 10px 42px;border:1px solid #e7eaf2;border-radius:12px;font-size:14px;color:#2a3142;background:#fff}.search-bar input::placeholder{color:#9aa3b4}.header-actions{display:flex;align-items:center;gap:10px}.nav-arrow{width:36px;height:36px;border-radius:10px;border:1px solid #e7eaf2;background:#fff;display:grid;place-items:center;cursor:pointer;color:#6b7280}.nav-arrow svg{width:16px;height:16px}.page-header__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.page-header__bottom h1{margin:0;font-size:26px;font-weight:700;color:#1f2430}.page-header__bottom p{margin:4px 0 0;color:#7a849a;font-size:14px}.filter-row{display:flex;align-items:center;gap:14px}.sort-dropdown{display:flex;align-items:center;gap:10px;font-size:14px}.sort-dropdown label{color:#5c667a;font-weight:500}.sort-dropdown select{padding:8px 32px 8px 12px;border:1px solid #e7eaf2;border-radius:10px;background:#fff;font-size:14px;color:#2a3142;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%235c667a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.create-subject-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:12px;background:#4c6fff;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.create-subject-btn:hover{background:#3d5cef}.create-subject-btn span{font-size:18px;line-height:1}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.subject-card-full{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;transition:box-shadow .2s}.subject-card-full:hover{box-shadow:0 4px 12px #0000000f}.subject-card-full__header{display:flex;align-items:center;justify-content:space-between}.subject-card-full__icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:20px}.status-badge{padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.3px}.status-badge--active{background:#e7f6ef;color:#2c8f5c}.status-badge--inactive{background:#f3f4f6;color:#9aa3b4}.subject-card-full h3{margin:0;font-size:18px;font-weight:700;color:#1f2430}.student-count{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;color:#7a849a}.student-count svg{width:16px;height:16px}.curriculum-progress{display:flex;flex-direction:column;gap:6px;margin-top:4px}.curriculum-progress__label{display:flex;justify-content:space-between;font-size:12px;color:#8a94a6}.curriculum-progress__label strong{color:#2a3142}.curriculum-progress__bar{height:8px;border-radius:999px;background:#edf0f7;overflow:hidden}.curriculum-progress__bar div{height:100%;border-radius:inherit;transition:width .3s}.open-btn{margin-top:4px;padding:10px;border:none;border-radius:10px;background:#1f2937;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.open-btn:hover{background:#111827}.subject-card-full--create{border-style:dashed;border-color:#d1d5db;justify-content:center;align-items:center;text-align:center;cursor:pointer;gap:10px}.subject-card-full--create:hover{border-color:#4c6fff;background:#f9fafb}.create-icon{width:64px;height:64px;display:grid;place-items:center;color:#9aa3b4}.create-icon svg{width:100%;height:100%}.subject-card-full--create h3{font-size:16px;color:#4b5563}.subject-card-full--create p{margin:0;font-size:13px;color:#9aa3b4}.subject-detail-page{display:flex;flex-direction:column;gap:20px}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:#7a849a}.breadcrumb a{color:#4c6fff;text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:#3d5cef}.breadcrumb .separator{color:#d1d5db}.breadcrumb span:last-child{color:#2a3142;font-weight:500}.subject-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.tabs{display:flex;gap:0;border-bottom:2px solid #edf0f7}.tab{border:none;background:transparent;padding:12px 20px;font-size:14px;font-weight:500;color:#7a849a;cursor:pointer;position:relative;transition:color .2s}.tab.is-active{color:#2a3142}.tab.is-active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#4c6fff}.changes-bar{display:flex;align-items:center;gap:12px}.draft-status{padding:8px 14px;border-radius:10px;background:#f3f4f6;color:#6b7280;font-size:13px;font-weight:500}.apply-btn{padding:8px 16px;border:none;border-radius:10px;background:#10b981;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:6px}.apply-btn:hover{background:#059669}.apply-btn:before{content:"✓";font-size:15px}.reset-btn{padding:8px 16px;border:none;border-radius:10px;background:#ef4444;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:6px}.reset-btn:hover{background:#dc2626}.reset-btn:before{content:"↺";font-size:15px}.subject-content{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:24px}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.content-header h2{margin:0;font-size:18px;font-weight:700;color:#1f2430}.collapse-link{border:none;background:transparent;color:#4c6fff;font-size:13px;font-weight:600;cursor:pointer}.topics-list{display:flex;flex-direction:column;gap:16px}.topic-item{border:1px solid #edf0f7;border-radius:14px;overflow:hidden}.topic-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fafbfc;cursor:pointer;position:relative}.topic-header:hover{background:#f5f7fb}.expand-btn{width:24px;height:24px;border:none;background:transparent;padding:0;display:grid;place-items:center;cursor:pointer;color:#9aa3b4}.expand-btn svg{width:16px;height:16px;transition:transform .2s}.expand-btn svg.is-expanded{transform:rotate(90deg)}.topic-header h3{margin:0;font-size:16px;font-weight:700;color:#1f2430;flex:1}.topic-content{padding:12px 20px 16px 56px;display:flex;flex-direction:column;gap:12px}.lesson-item{border-left:2px solid #e7eaf2;padding-left:16px}.lesson-header{display:flex;align-items:center;gap:8px;padding:8px 0;cursor:pointer;position:relative}.lesson-header h4{margin:0;font-size:14px;font-weight:600;color:#2a3142;flex:1}.lesson-content{padding-left:32px;margin-top:12px;display:flex;flex-direction:column;gap:10px}.material-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#fafbfc;position:relative}.material-item:hover{background:#f5f7fb}.material-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.material-icon--pdf{background:#fee2e2;color:#dc2626}.material-icon--video{background:#dbeafe;color:#2563eb}.material-icon svg{width:18px;height:18px}.material-info{flex:1;min-width:0}.material-name{margin:0;font-size:13px;font-weight:600;color:#2a3142;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-meta{font-size:11px;color:#9aa3b4}.done-badge{padding:4px 10px;border-radius:999px;background:#d1fae5;color:#065f46;font-size:10px;font-weight:700;letter-spacing:.3px}.edit-badge{padding:4px 12px;border:1px solid #e7eaf2;border-radius:8px;background:#fff;color:#4c6fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;position:absolute;right:12px}.edit-badge:hover{background:#4c6fff;color:#fff;border-color:#4c6fff}.add-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #e7eaf2;border-radius:10px;background:#fff;color:#6b7280;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.add-btn svg{width:16px;height:16px}.add-btn:hover{border-color:#4c6fff;color:#4c6fff}.add-btn--lesson{margin-top:4px}.add-btn--topic{border-style:dashed;border-color:#d1d5db;padding:14px 20px;width:100%;justify-content:center}.add-btn--topic svg{width:20px;height:20px}.admin-dashboard{display:flex;flex-direction:column;gap:28px}.admin-topbar{display:flex;justify-content:space-between;align-items:center}.admin-topbar__left{flex:1}.export-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:12px;background:#4c6fff;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.export-btn:hover{background:#3d5cef}.export-btn svg{width:16px;height:16px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.stat-card{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:12px;border-left:4px solid}.stat-card--gold{border-left-color:#f2894c}.stat-card--blue{border-left-color:#4c6fff}.stat-card--green{border-left-color:#10b981}.stat-card__header{display:flex;justify-content:space-between;align-items:center}.stat-card__label{font-size:10px;color:#8a94a6;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.stat-card__year{font-size:10px;color:#f2894c;font-weight:700;letter-spacing:.3px}.stat-card__value{font-size:32px;font-weight:700;color:#1f2430}.stat-card__detail{margin:0;font-size:12px;color:#7a849a;display:flex;align-items:center;gap:4px}.stat-card__detail:before{content:"✓";color:#10b981}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.activity-section,.admin-hub{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0;font-size:18px;font-weight:700;color:#1f2430}.view-logs-btn{border:none;background:transparent;color:#4c6fff;font-size:13px;font-weight:600;cursor:pointer}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;gap:12px;align-items:flex-start}.activity-item__avatar{width:40px;height:40px;border-radius:50%;background:#f0f3ff;color:#4c6fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.activity-item__content{font-size:13px;color:#2a3142;line-height:1.5}.activity-item__content strong{font-weight:600}.activity-time{margin:4px 0 0;color:#9aa3b4;font-size:12px}.admin-hub{background:#1f3a93;color:#fff;border:none}.admin-hub h2{margin:0 0 8px;font-size:18px;font-weight:700;color:#fff}.admin-hub__subtitle{margin:0 0 20px;font-size:13px;color:#fffc}.admin-hub__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-action-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;color:#fff}.admin-action-card:hover{background:#ffffff26;border-color:#ffffff4d}.admin-action-card__icon{font-size:24px}.admin-action-card__label{font-size:14px;font-weight:600;display:block}.admin-action-card__meta{font-size:11px;opacity:.8;display:block}.performance-section{background:#fff;border:1px solid #edf0f7;border-radius:18px;padding:24px}.performance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.performance-header h2{margin:0;font-size:18px;font-weight:700;color:#1f2430}.performance-tabs{display:flex;gap:8px}.tab{border:none;background:transparent;padding:8px 14px;border-bottom:2px solid transparent;color:#7a849a;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.tab:hover{color:#4c6fff}.tab.is-active{color:#4c6fff;border-bottom-color:#4c6fff}.performance-table{border:1px solid #edf0f7;border-radius:12px;overflow:hidden;margin-bottom:20px}.table-header,.table-row{display:grid;grid-template-columns:2fr 1.5fr .8fr 1.2fr .8fr;gap:16px;padding:16px 20px;align-items:center;font-size:13px}.table-header{background:#f9fafb;color:#8a94a6;font-weight:600;border-bottom:1px solid #edf0f7}.table-row{border-bottom:1px solid #f5f7fb;color:#2a3142}.table-row:last-child{border-bottom:none}.subject-cell{display:flex;align-items:center;gap:10px;font-weight:600}.subject-icon{width:20px;height:20px;color:#4c6fff}.completion-cell{display:flex;flex-direction:column;gap:6px}.completion-cell span{font-size:12px;font-weight:600}.progress-bar{height:6px;border-radius:999px;background:#edf0f7;overflow:hidden}.progress-bar div{height:100%;background:#4c6fff;border-radius:inherit}.status-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px}.status-badge--optimal{background:#d1fae5;color:#065f46}.status-badge--review_required{background:#fef3c7;color:#92400e}.view-all-link{display:block;width:100%;padding:12px;border:none;background:transparent;color:#4c6fff;font-size:12px;font-weight:700;letter-spacing:.5px;cursor:pointer;text-align:center;transition:color .2s}.view-all-link:hover{color:#3d5cef}@media(max-width:1200px){.stats-grid,.dashboard-grid{grid-template-columns:1fr}.performance-header{flex-direction:column;gap:16px;align-items:flex-start}}.teachers-page{display:flex;flex-direction:column;gap:24px;width:100%}.teachers-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.teachers-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0;padding:0}.teachers-header .subtitle{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:4px 0 0;font-weight:500}.btn-add-teacher{background:#003db3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-add-teacher:hover{background:#002a8f}.teachers-filters{display:flex;gap:16px;margin-bottom:24px}.search-box{flex:1;position:relative;max-width:300px}.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#999}.search-box input{width:100%;padding:10px 12px 10px 36px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.search-box input:focus{border-color:#003db3}.filter-select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;color:#666;background:#fff;cursor:pointer;outline:none;transition:border-color .2s}.filter-select:focus{border-color:#003db3}.teachers-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014;margin-bottom:24px}.teachers-table{width:100%;border-collapse:collapse}.teachers-table thead{background:#f8f9fa;border-bottom:1px solid #e9ecef}.teachers-table th{padding:16px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px}.teachers-table th:first-child{width:40px}.teachers-table td{padding:16px 12px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.teachers-table tbody tr:hover{background:#f9f9f9}.teacher-cell{display:flex;align-items:center;gap:12px}.teacher-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.teacher-name{font-weight:600;color:#1a1a1a;margin-bottom:2px}.teacher-email{font-size:12px;color:#999}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.on-leave{background:#fff3cd;color:#856404}.btn-action{padding:6px 12px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;font-size:12px;color:#333;cursor:pointer;transition:all .2s}.btn-action:hover{background:#e0e0e0;border-color:#999}.teachers-pagination{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#666}.pagination-controls{display:flex;gap:8px}.page-btn{width:32px;height:32px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;font-size:13px;transition:all .2s}.page-btn:hover{border-color:#999}.page-btn.active{background:#003db3;color:#fff;border-color:#003db3}.add-teacher-view{display:flex;flex-direction:column;gap:24px;width:100%}.breadcrumb{font-size:14px;color:#666;margin-bottom:24px}.breadcrumb a{color:#003db3;text-decoration:none;cursor:pointer}.breadcrumb a:hover{text-decoration:underline}.add-teacher-view h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 24px}.add-teacher-form-container{display:grid;grid-template-columns:1fr 300px;gap:32px}.form-section{background:#fff;padding:32px;border-radius:8px;box-shadow:0 1px 3px #00000014}.form-section h2{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.form-section>p{color:#666;font-size:14px;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.form-group input,.form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#003db3}.form-group input::placeholder{color:#bbb}.subject-input-group{display:flex;gap:8px;margin-bottom:12px}.subject-input-group input{flex:1}.btn-add-subject{padding:10px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-add-subject:hover{background:#e0e0e0}.selected-subjects{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.subject-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#e3f2fd;color:#1565c0;border-radius:16px;font-size:13px}.remove-subject{background:none;border:none;color:#1565c0;cursor:pointer;font-size:18px;padding:0;line-height:1}.form-group small{font-size:12px;color:#999;margin-top:4px}.form-actions{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #eee}.btn-cancel{padding:10px 24px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-cancel:hover{background:#f9f9f9;border-color:#999}.btn-confirm{padding:10px 24px;background:#003db3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s;margin-left:auto}.btn-confirm:hover{background:#002a8f}.form-info-section{display:flex;flex-direction:column;gap:16px}.info-card{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 3px #00000014;text-align:center}.info-icon{font-size:24px;margin-bottom:8px}.info-card h3{font-size:13px;font-weight:600;color:#333;margin:0 0 4px}.info-card p{font-size:12px;color:#666;margin:0}.teacher-detail-view{display:flex;flex-direction:column;gap:24px;width:100%}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #00000014;margin-bottom:24px}.teacher-profile{display:flex;gap:16px}.profile-avatar{width:80px;height:80px;border-radius:8px;background:linear-gradient(135deg,#d4af37,gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600}.teacher-profile h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.teacher-profile>div>p{margin:2px 0;font-size:14px;color:#666}.profile-dept{font-size:13px;color:#999}.btn-save-changes{padding:10px 20px;background:#003db3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-save-changes:hover{background:#002a8f}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;align-items:center}.stat-icon{font-size:32px}.stat-content h3{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-weight:600}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a;margin:0}.detail-content{display:flex;flex-direction:column;gap:24px}.detail-section{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #00000014}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.section-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.section-header p{font-size:14px;color:#666;margin:4px 0 0}.btn-add-subject-detail{padding:8px 16px;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s}.btn-add-subject-detail:hover{background:#e0e0e0}.subjects-table-container{overflow-x:auto}.subjects-table{width:100%;border-collapse:collapse}.subjects-table thead{background:#f8f9fa;border-bottom:1px solid #e9ecef}.subjects-table th{padding:16px 12px;text-align:left;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px}.subjects-table td{padding:16px 12px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.subjects-table tbody tr:hover{background:#f9f9f9}.subject-name-cell{display:flex;align-items:center;gap:8px;font-weight:600}.subject-icon{font-size:18px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle{background-color:#003db3}input:checked+.toggle:before{transform:translate(20px)}.btn-delete{width:32px;height:32px;border:none;background:#ffe0e0;color:#d32f2f;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s}.btn-delete:hover{background:#fcc}.status-section{max-width:300px}.status-section label{display:block;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.status-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-bottom:16px;outline:none}.status-select:focus{border-color:#003db3}.status-warning{display:flex;gap:12px;padding:12px;background:#fff9e6;border-left:3px solid #ffa500;border-radius:4px}.warning-icon{font-size:18px;flex-shrink:0}.status-warning p{font-size:13px;color:#666;margin:0}.status-warning strong{color:#333}.danger-zone{border:1px solid #ffcccc;background:#fff9f9}.danger-zone h2{color:#d32f2f}.danger-zone p{color:#666;font-size:14px;margin:0 0 16px}.btn-delete-account{padding:10px 20px;background:#d32f2f;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:background .2s}.btn-delete-account:hover{background:#b71c1c}@media(max-width:768px){.add-teacher-form-container,.form-grid,.detail-stats{grid-template-columns:1fr}.detail-header{flex-direction:column}.btn-save-changes{align-self:flex-start;margin-top:16px}.teachers-filters{flex-direction:column}.filter-select{width:100%}}.role-selector{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:24px}.role-selector__container{max-width:900px;width:100%;display:flex;flex-direction:column;gap:48px}.role-selector__header{text-align:center;color:#fff}.role-selector__logo{display:flex;justify-content:center;margin-bottom:24px}.role-selector__logo-mark{width:60px;height:60px;border-radius:16px;background:#fff3;color:#fff;display:grid;place-items:center;font-weight:700;font-size:28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.role-selector__header h1{margin:0 0 12px;font-size:36px;font-weight:700}.role-selector__header p{margin:0;font-size:16px;opacity:.9}.role-selector__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.role-card{border:none;border-radius:20px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff;color:inherit;font-family:inherit}.role-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0003}.role-card__icon{width:80px;height:80px;border-radius:16px;display:grid;place-items:center;font-size:36px;margin-bottom:20px}.role-card--teacher .role-card__icon{background:#f0f3ff;color:#4c6fff}.role-card--student .role-card__icon{background:#e7f6ef;color:#2f9e6f}.role-card--admin .role-card__icon{background:#fff0e5;color:#f2894c}.role-card__icon svg{width:40px;height:40px}.role-card h2{margin:0 0 8px;font-size:20px;font-weight:700;color:#1f2430}.role-card p{margin:0;font-size:13px;color:#7a849a}@media(max-width:768px){.role-selector__container{gap:32px}.role-selector__header h1{font-size:28px}.role-selector__grid{grid-template-columns:1fr}}.not-found-page{min-height:100vh;display:grid;place-items:center;background:#f5f7fb;padding:24px}.not-found-container{text-align:center;max-width:400px}.not-found-code{font-size:120px;font-weight:700;color:#4c6fff;line-height:1;margin-bottom:16px}.not-found-page h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1f2430}.not-found-page p{margin:0 0 28px;color:#7a849a;font-size:14px}.back-link{display:inline-block;padding:12px 28px;border-radius:12px;background:#4c6fff;color:#fff;text-decoration:none;font-weight:600;font-size:14px;transition:background .2s}.back-link:hover{background:#3d5cef}
