.dashboard-layout{display:flex;min-height:100vh;background:#f0f5ff}.dashboard-main{flex:1;padding:24px;overflow-y:auto}.sidebar{width:240px;background:linear-gradient(180deg,#1e3a5f,#152238);color:#fff;display:flex;flex-direction:column;padding:20px 0;position:sticky;top:0;height:100vh}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:0 20px 24px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}.logo-icon{font-size:32px}.logo-text{display:flex;flex-direction:column}.logo-title{font-weight:700;font-size:18px}.logo-subtitle{font-size:11px;opacity:.7}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:4px;padding:0 12px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;color:#ffffffb3;text-decoration:none;transition:all .2s ease;font-size:14px;cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.sidebar-item:hover{background:#ffffff1a;color:#fff}.sidebar-item.active{background:linear-gradient(90deg,#3b82f6,#60a5fa);color:#fff;font-weight:600}.sidebar-icon{font-size:18px}.sidebar-bottom{padding:16px 12px 0;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.logout-btn:hover{background:#ef444433!important;color:#fca5a5!important}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.greeting-section h1{font-size:28px;font-weight:700;color:#1e3a5f;margin-bottom:4px}.greeting-section p{color:#64748b;font-size:14px}.greeting-section .profile-link{color:#3b82f6;text-decoration:none;font-size:13px;display:inline-block;margin-top:8px}.greeting-section .profile-link:hover{text-decoration:underline}.search-bar{display:flex;align-items:center;background:#fff;border-radius:12px;padding:10px 16px;gap:8px;box-shadow:0 1px 3px #0000001a;min-width:280px}.search-bar input{border:none;outline:none;flex:1;font-size:14px;color:#374151}.search-bar input::placeholder{color:#9ca3af}.user-profile{display:flex;align-items:center;gap:12px;background:#fff;padding:8px 16px 8px 8px;border-radius:12px;box-shadow:0 1px 3px #0000001a}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;font-size:20px}.user-info{display:flex;flex-direction:column}.user-name{font-weight:600;font-size:14px;color:#1e3a5f}.user-role{font-size:11px;color:#64748b}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.stat-label{font-size:13px;color:#64748b;margin-bottom:8px}.stat-value-row{display:flex;align-items:baseline;gap:8px}.stat-value{font-size:32px;font-weight:700;color:#1e3a5f}.stat-change{font-size:13px;padding:2px 8px;border-radius:20px}.stat-change.positive{background:#dcfce7;color:#16a34a}.stat-change.negative{background:#fee2e2;color:#dc2626}.stat-unit{font-size:14px;color:#64748b}.kehadiran-progress{width:60px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-left:12px}.kehadiran-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px}.content-grid{display:grid;grid-template-columns:1fr 320px;gap:24px}.content-left,.content-right{display:flex;flex-direction:column;gap:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:600;color:#1e3a5f}.section-header a{color:#3b82f6;text-decoration:none;font-size:14px}.section-header a:hover{text-decoration:underline}.courses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.course-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.course-thumbnail{height:120px;position:relative;display:flex;align-items:center;justify-content:center}.course-code-badge{position:absolute;bottom:12px;left:12px;background:#0006;color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.course-content{padding:16px}.course-title{font-size:16px;font-weight:600;color:#1e3a5f;margin-bottom:4px}.course-description{font-size:13px;color:#64748b;margin-bottom:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-progress{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.progress-label{color:#64748b}.progress-value{color:#1e3a5f;font-weight:600}.progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:16px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;transition:width .3s ease}.course-action-btn{display:block;text-align:center;background:linear-gradient(90deg,#3b82f6,#60a5fa);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:500;transition:opacity .2s ease}.course-action-btn:hover{opacity:.9}.calendar-widget{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.calendar-header{margin-bottom:16px}.calendar-month{font-size:16px;font-weight:600;color:#1e3a5f}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-day-name{text-align:center;font-size:11px;color:#64748b;font-weight:500;padding:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:#374151;border-radius:8px;cursor:pointer;transition:background .2s ease}.calendar-day:hover:not(.empty){background:#f1f5f9}.calendar-day.empty{cursor:default}.calendar-day.today{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;font-weight:600}.task-list{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.task-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.task-list-header h3{font-size:16px;font-weight:600;color:#1e3a5f}.view-all-link{color:#3b82f6;text-decoration:none;font-size:13px}.task-items{display:flex;flex-direction:column;gap:12px}.task-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f8fafc;border-radius:12px;transition:background .2s ease}.task-item:hover{background:#f1f5f9}.task-indicator{font-size:10px;margin-top:4px}.task-info{flex:1;min-width:0}.task-title{font-size:14px;font-weight:500;color:#1e3a5f;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-course{font-size:12px;color:#64748b}.task-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.task-deadline{font-size:11px;color:#64748b}.task-badge{font-size:11px;padding:3px 8px;border-radius:6px;font-weight:500}.task-badge.pending{background:#fee2e2;color:#dc2626}.task-badge.submitted{background:#dcfce7;color:#16a34a}.task-badge.preview{background:#e0f2fe;color:#0284c7}@media(max-width:1280px){.content-grid{grid-template-columns:1fr}.content-right{flex-direction:row}.calendar-widget,.task-list{flex:1}}@media(max-width:768px){.sidebar{position:fixed;left:-240px;z-index:100;transition:left .3s ease}.sidebar.open{left:0}.stats-cards{grid-template-columns:1fr}.search-bar{display:none}.content-right{flex-direction:column}.dashboard-header{flex-direction:column;gap:16px}}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:16px}.quick-action-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:16px;text-align:left;cursor:pointer;transition:all .2s ease}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d;border-color:#cbd5e1}.action-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.action-icon.announcement{background:#e0f2fe;color:#0284c7}.action-icon.material{background:#dcfce7;color:#16a34a}.action-icon.schedule{background:#f3e8ff;color:#9333ea}.action-info h3{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px}.action-info p{font-size:13px;color:#64748b;line-height:1.4}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}.courses-column .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.active-courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.instructor-course-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:transform .2s}.instructor-course-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.course-header-color{height:80px;padding:16px;display:flex;align-items:flex-start;justify-content:flex-end}.course-header-color.bg-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.course-header-color.bg-green{background:linear-gradient(135deg,#10b981,#059669)}.course-code-badge{background:#fff3;color:#fff;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.course-body{padding:20px}.course-name{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:4px}.course-dept{font-size:12px;color:#64748b;margin-bottom:20px}.course-stats{display:flex;justify-content:space-between;align-items:center}.student-count{font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.btn-manage{color:#ea580c;font-size:13px;font-weight:600;background:#ffedd5;padding:6px 12px;border-radius:6px;text-decoration:none;transition:background .2s}.btn-manage:hover{background:#fed7aa}.create-course-card{border:2px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:#64748b;background:#f8fafc;cursor:pointer;transition:all .2s}.create-course-card:hover{border-color:#94a3b8;background:#f1f5f9}.plus-icon{font-size:32px;margin-bottom:8px}.widgets-column{display:flex;flex-direction:column;gap:24px}.dashboard-widget{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:20px}.badge-count{background:#fee2e2;color:#dc2626;font-size:12px;font-weight:600;padding:2px 8px;border-radius:12px}.grading-list{list-style:none;padding:0}.grading-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f1f5f9}.grading-item:last-child{border-bottom:none}.grading-info h4{font-size:14px;font-weight:600;color:#334155;margin-bottom:2px}.grading-info p{font-size:12px;color:#64748b}.grading-action{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.urgent-tag{font-size:10px;font-weight:700;color:#dc2626;background:#fee2e2;padding:2px 6px;border-radius:4px}.grade-link{font-size:12px;font-weight:600;color:#3b82f6;text-decoration:none}.view-all-link{display:block;text-align:center;font-size:13px;color:#64748b;margin-top:16px;text-decoration:none}.add-btn{background:none;border:none;font-size:20px;color:#3b82f6;cursor:pointer}.announcement-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.announcement-bullet{width:8px;height:8px;background:#3b82f6;border-radius:50%;margin-top:6px;flex-shrink:0}.announcement-details h4{font-size:13px;font-weight:500;color:#334155;margin-bottom:4px}.announcement-details p{font-size:11px;color:#94a3b8}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-layout-top{min-height:100vh;background:#f0f5ff;display:flex;flex-direction:column}.top-navbar{background:#1a2332!important;padding:0 24px;display:flex;align-items:center;height:60px;position:sticky;top:0;z-index:100;box-shadow:0 2px 10px #00000026}.navbar-brand{display:flex;align-items:center;gap:12px;color:#4a9eff!important;padding-right:24px;border-right:1px solid rgba(255,255,255,.15);margin-right:24px}.brand-name{font-size:15px;font-weight:700;white-space:nowrap;color:#fff!important}.brand-semester{font-size:10px;background:#ffffff26;padding:4px 10px;border-radius:12px;white-space:nowrap;color:#fff!important}.navbar-menu{display:flex;align-items:center;gap:8px;flex:1;justify-content:flex-start;padding-left:24px}.nav-item{display:flex;align-items:center;gap:6px;padding:8px 14px;color:#ffffffbf!important;text-decoration:none;border-radius:6px;font-size:13px;font-weight:400;transition:all .2s ease;white-space:nowrap}.nav-item span:first-child{font-size:14px}.nav-item:hover{background:#ffffff1a;color:#fff!important}.nav-item.active{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;font-weight:500}.navbar-right{display:flex;align-items:center;gap:16px;margin-left:auto}.navbar-right .search-bar{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:8px 14px;min-width:200px;display:flex;align-items:center;gap:8px}.navbar-right .search-bar span{color:#fff9;font-size:14px}.navbar-right .search-bar input{background:transparent;border:none;outline:none;color:#fff;font-size:13px;width:100%}.navbar-right .search-bar input::placeholder{color:#ffffff80}.nav-icon-btn{font-size:18px;text-decoration:none;padding:8px;border-radius:8px;transition:background .2s;display:flex;align-items:center;justify-content:center;color:#ffffffbf}.nav-icon-btn:hover{background:#ffffff1a;color:#fff}.navbar-right .user-profile{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:6px 8px;border-radius:8px;cursor:pointer;transition:all .2s}.navbar-right .user-profile:hover{background:#ffffff1a}.navbar-right .user-avatar{width:36px;height:36px;font-size:14px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.navbar-right .user-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.navbar-right .user-name{color:#fff;font-size:13px;font-weight:500}.navbar-right .user-role{color:#fff9!important;font-size:12px!important;font-weight:400!important;background:transparent!important;padding:0!important;border-radius:0!important}.dropdown-arrow{color:#fff9;stroke:#fff9;margin-left:4px}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:180px;padding:8px;z-index:200;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#374151;text-decoration:none;font-size:14px;width:100%;border:none;background:none;cursor:pointer;transition:background .2s}.dropdown-header{padding:12px 12px 8px;border-bottom:1px solid #e2e8f0;margin-bottom:8px}.dropdown-header .user-name{font-weight:600;color:#1e293b;font-size:14px;margin:0;display:block}.dropdown-header .user-role{color:#64748b!important;font-size:12px;margin:2px 0 0;display:block;text-transform:capitalize}.dropdown-item svg{color:#64748b;stroke:#64748b}.dropdown-item.logout{color:#dc2626}.dropdown-item.logout svg{color:#dc2626;stroke:#dc2626}.dashboard-main-top{flex:1;padding:24px;max-width:1400px;margin:0 auto;width:100%}.dashboard-header-top{margin-bottom:24px}.stats-cards{grid-template-columns:repeat(2,1fr)}.calendar-day.has-schedule{position:relative}.calendar-day.has-schedule:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#f59e0b;border-radius:50%}.calendar-day.today.has-schedule:after{background:#fff}.schedule-dot{display:none}.today-schedule{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.today-schedule h4{font-size:13px;font-weight:600;color:#1e3a5f;margin-bottom:10px}.schedule-item{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;background:#f0f9ff;border-radius:8px;margin-bottom:8px;font-size:12px}.schedule-time{font-weight:600;color:#3b82f6}.schedule-course{color:#1e3a5f;flex:1}.schedule-room{color:#64748b;font-size:11px}.task-badge.overdue{background:#fef3c7;color:#d97706}.stat-card.loading .stat-value{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{text-align:center;padding:24px;color:#64748b;font-size:14px}@media(max-width:1024px){.navbar-menu,.navbar-right .search-bar{display:none}}@media(max-width:768px){.top-navbar{flex-wrap:wrap;gap:12px;padding:12px 16px;height:auto}.navbar-brand{flex:1}.brand-semester,.navbar-right .user-info{display:none}.stats-cards,.content-grid{grid-template-columns:1fr}.content-right{order:-1}.dashboard-main-top{padding:16px}.greeting-section h1{font-size:22px}}.navbar-right svg,.nav-icon-btn svg,.logout-btn svg{color:#fffc;stroke:#fffc}.navbar-right svg:hover,.nav-icon-btn:hover svg,.logout-btn:hover svg{color:#fff;stroke:#fff}.logout-btn:hover svg{stroke:#fca5a5}.search-bar svg{flex-shrink:0}.navbar-right .user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.calendar-widget{min-width:0}.calendar-widget .calendar-grid{gap:2px!important;background:transparent!important;border:none!important}.calendar-widget .calendar-day{min-height:auto!important;height:auto!important;padding:0!important;background:transparent!important;aspect-ratio:1!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:13px!important;color:#374151!important;border-radius:8px!important;min-width:0}.calendar-widget .calendar-day:hover:not(.empty){background:#f1f5f9!important}.calendar-widget .calendar-day.empty{cursor:default}.calendar-widget .calendar-day.today{background:linear-gradient(135deg,#3b82f6,#60a5fa)!important;color:#fff!important;font-weight:600!important}.content-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;min-width:0}.content-left,.content-right{min-width:0;overflow:hidden}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#64748b}@media(max-width:480px){.top-navbar{padding:10px 12px}.brand-name{font-size:14px}.navbar-right{gap:8px}.navbar-right .user-profile{padding:4px;border-radius:50%}.navbar-right .user-avatar{width:28px;height:28px;font-size:12px}.nav-icon-btn,.logout-btn{padding:6px}.dashboard-main-top{padding:12px}.greeting-section h1{font-size:18px}.greeting-section p{font-size:12px}.stat-card{padding:14px}.stat-value{font-size:24px}.content-grid{gap:16px}.calendar-widget,.task-list{padding:14px}.calendar-month{font-size:14px}.course-card{border-radius:12px}.course-thumbnail{height:100px}}@media(min-width:769px)and (max-width:1024px){.content-grid{grid-template-columns:1fr 280px}.courses-grid{grid-template-columns:1fr}}@media(min-width:1400px){.dashboard-main-top{padding:32px 48px}.content-grid{grid-template-columns:1fr 360px;gap:32px}}@supports (padding: env(safe-area-inset-top)){.top-navbar{padding-top:calc(12px + env(safe-area-inset-top))}.dashboard-main-top{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}.welcome-section{display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:24px;background:#fff;border-radius:16px;margin-bottom:24px;box-shadow:0 1px 3px #00000014}.welcome-icon{font-size:48px}.welcome-text h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:4px}.welcome-text p{font-size:14px;color:#64748b}.section-block{margin-bottom:24px}.section-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:24px}.grid-left,.grid-right{display:flex;flex-direction:column;gap:24px}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header-row h2{font-size:18px;font-weight:600;color:#1e293b}.courses-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.course-card-item{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:transform .2s,box-shadow .2s}.course-card-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.course-card-header{height:100px;padding:16px;display:flex;align-items:flex-start;justify-content:flex-end;position:relative}.course-code-badge{background:#ffffff40;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600}.course-card-body{padding:20px}.course-card-body h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.course-dept{font-size:13px;color:#64748b;margin-bottom:16px}.course-card-footer{display:flex;justify-content:space-between;align-items:center}.student-count{font-size:13px;color:#64748b}.see-class-btn{background:none;border:1px solid #3b82f6;color:#3b82f6;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s}.see-class-btn:hover{background:#3b82f6;color:#fff}.add-course-card{border:2px dashed #cbd5e1;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;cursor:pointer;transition:all .2s;color:#64748b;gap:8px}.add-course-card:hover{border-color:#3b82f6;color:#3b82f6;background:#f8fafc}.plus-icon{font-size:32px;font-weight:300}.add-announcement-btn{width:32px;height:32px;border-radius:8px;background:#3b82f6;color:#fff;border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.announcements-list{display:flex;flex-direction:column;gap:12px}.announcement-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.announcement-row:last-child{border-bottom:none}.dot-indicator{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.dot-indicator.blue{background:#3b82f6}.dot-indicator.green{background:#10b981}.announcement-content{flex:1}.announcement-title{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:2px}.announcement-meta{font-size:12px;color:#94a3b8}.empty-message{color:#94a3b8;text-align:center;padding:20px;font-size:14px}.dashboard-widget{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.widget-header h3{font-size:16px;font-weight:600;color:#1e293b}.badge-count{background:#ef4444;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px}.widget-content{display:flex;flex-direction:column;gap:12px}.grading-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.grading-item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;background:#f8fafc;border-radius:10px}.grading-info h4{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:2px}.grading-info p{font-size:12px;color:#64748b;margin-bottom:4px}.submission-count{font-size:11px;color:#94a3b8}.grading-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.urgent-tag{background:#fef2f2;color:#ef4444;font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px}.grade-link{background:#3b82f6;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.grid-right{order:-1}}@media(max-width:768px){.welcome-section{flex-direction:column;text-align:center;padding:20px}.courses-grid-cards,.quick-actions-grid{grid-template-columns:1fr}}.empty-courses-message{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;padding:40px 24px;text-align:center;grid-column:1 / -1}.empty-courses-message p{color:#64748b;font-size:14px;margin-bottom:8px}.empty-courses-message .empty-hint{font-size:13px;color:#94a3b8}.nav-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;transition:background .2s ease}.nav-icon-btn:hover{background:#3b82f61a}.notification-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 2px 4px #0003;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.dashboard-main-top{padding:24px 32px;max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.dashboard-title{font-size:32px;font-weight:700;color:#1e293b;margin:0 0 8px}.dashboard-subtitle{font-size:16px;color:#64748b;margin:0}.section-container{margin-top:40px}.section-title{font-size:22px;font-weight:600;color:#1e293b;margin:0 0 24px}.quick-actions-grid-kaprodi{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.quick-action-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:32px 24px;text-align:center;text-decoration:none;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 1px 3px #0000000d}.quick-action-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #0000001f;border-color:#3b82f6}.action-icon-box{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;transition:transform .3s ease}.quick-action-card:hover .action-icon-box{transform:scale(1.1)}.action-icon-box.blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#3b82f6}.action-icon-box.green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.action-icon-box.purple{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#6366f1}.action-icon-box.orange{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#ea580c}.action-icon-box.yellow{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#ca8a04}.quick-action-card h3{font-size:16px;font-weight:600;color:#1e293b;margin:0}.quick-action-card p{font-size:14px;color:#64748b;margin:0;line-height:1.5}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}.stat-card-modern{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 24px;display:flex;align-items:center;gap:20px;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.stat-card-modern:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.stat-card-modern .stat-icon-box{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card-modern.blue .stat-icon-box{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#3b82f6}.stat-card-modern.green .stat-icon-box{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a}.stat-card-modern.yellow .stat-icon-box{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#ca8a04}.stat-details{flex:1}.stat-details .stat-value{font-size:36px;font-weight:700;color:#1e293b;margin:0 0 6px;line-height:1}.stat-details .stat-label{font-size:15px;color:#64748b;margin:0;font-weight:500}@media(max-width:1200px){.quick-actions-grid-kaprodi,.stats-row{grid-template-columns:repeat(2,1fr)}.dashboard-main-top{padding:20px 24px}}@media(max-width:768px){.quick-actions-grid-kaprodi,.stats-row{grid-template-columns:1fr}.dashboard-main-top{padding:16px 20px}.dashboard-title{font-size:24px}.section-title{font-size:18px}}.weekly-schedule-widget{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.schedule-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.schedule-date{font-size:13px;color:#64748b}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:24px}.week-day{display:flex;flex-direction:column;align-items:center;padding:12px 8px;border-radius:12px;background:#f8fafc;transition:all .2s ease;position:relative;cursor:pointer}.week-day:hover{background:#f1f5f9;transform:translateY(-2px)}.week-day.today{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;box-shadow:0 4px 12px #10b9814d}.week-day.has-schedule:not(.today){background:#e0f2fe;border:2px solid #3b82f6}.day-name{font-size:12px;font-weight:500;color:#64748b;margin-bottom:4px}.week-day.today .day-name{color:#ffffffe6}.day-number{font-size:18px;font-weight:700;color:#1e293b}.week-day.today .day-number{color:#fff}.schedule-indicator{position:absolute;bottom:6px;width:6px;height:6px;border-radius:50%;background:#3b82f6}.week-day.today .schedule-indicator{background:#fff}.today-schedule-list{margin-top:20px}.today-schedule-list h4{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 12px}.schedule-item-card{display:flex;gap:16px;padding:14px;background:#f8fafc;border-radius:12px;margin-bottom:10px;border-left:4px solid #3b82f6;transition:all .2s ease}.schedule-item-card:hover{background:#f1f5f9;transform:translate(4px);box-shadow:0 2px 8px #0000000d}.schedule-time{font-size:13px;font-weight:600;color:#3b82f6;white-space:nowrap;min-width:80px}.schedule-info{flex:1}.schedule-course{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:2px}.schedule-code{font-size:12px;color:#64748b;margin-bottom:4px}.schedule-room{font-size:12px;color:#64748b}.empty-schedule{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{margin-bottom:16px;opacity:.6}.empty-message{font-size:14px;color:#64748b;margin:0}@media(max-width:768px){.week-days{gap:4px}.week-day{padding:8px 4px}.day-name{font-size:10px}.day-number{font-size:16px}.schedule-item-card{flex-direction:column;gap:8px}.schedule-time{min-width:auto}}.welcome-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 1px 3px #0000000d}.welcome-icon{font-size:40px;width:64px;height:64px;background:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center}.welcome-text h1{font-size:24px;font-weight:700;color:#1e3a5f;margin-bottom:4px}.welcome-text p{color:#64748b;font-size:14px}.active-courses-section{margin-bottom:30px}.course-card-horizontal{display:flex;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000014;transition:transform .2s ease,box-shadow .2s ease;border:1px solid #e2e8f0}.course-card-horizontal:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.course-color-strip{width:80px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.course-info{padding:16px;flex:1}.course-info h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.announcements-box{background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #00000014}.admin-dashboard{display:flex;height:100vh;background:#f8fafc}.admin-sidebar{width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100}.sidebar-header{padding:24px 20px;border-bottom:1px solid #e2e8f0}.sidebar-header h2{font-size:20px;font-weight:700;color:#3b82f6;margin:0 0 4px}.sidebar-subtitle{font-size:12px;color:#64748b;margin:0}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:4px;border-radius:8px;text-decoration:none;color:#64748b;font-size:14px;font-weight:500;transition:all .2s}.nav-link:hover{background:#f1f5f9;color:#1e293b}.nav-link.active{background:#dbeafe;color:#3b82f6}.nav-icon{font-size:18px}.sidebar-footer{padding:16px;border-top:1px solid #e2e8f0}.user-profile-sidebar{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:12px;background:#f8fafc;border-radius:8px}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.user-info{flex:1}.user-name{font-size:14px;font-weight:600;color:#1e293b;margin:0 0 2px}.user-role{font-size:12px;color:#64748b;margin:0}.btn-logout{width:100%;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-logout:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.admin-main{margin-left:260px;flex:1;overflow-y:auto;padding:24px}.admin-header{margin-bottom:28px}.admin-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 4px}.header-subtitle{font-size:14px;color:#64748b;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid #e2e8f0;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-content h3{font-size:32px;font-weight:700;color:#1e293b;margin:0 0 4px}.stat-content p{font-size:14px;color:#64748b;margin:0}.quick-actions-section{margin-bottom:32px}.quick-actions-section h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 20px}.quick-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.action-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px 20px;text-align:center;text-decoration:none;transition:all .2s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;border-color:#3b82f6}.action-icon{font-size:32px;margin-bottom:12px;display:block}.action-card h3{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 6px}.action-card p{font-size:13px;color:#64748b;margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{margin-top:16px;color:#64748b;font-size:14px}@media(max-width:1200px){.quick-actions-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-sidebar{transform:translate(-100%)}.admin-main{margin-left:0}.stats-grid,.quick-actions-grid{grid-template-columns:1fr}}.admin-content-area{padding:24px;max-width:1400px;margin:0 auto}.admin-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.admin-welcome .welcome-text h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.admin-welcome .welcome-text p{font-size:14px;color:#64748b;margin:0}.btn-add-user{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;padding:12px 20px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}.btn-add-user:hover{opacity:.9;transform:translateY(-1px)}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.admin-stat-card{background:#fff;border-radius:14px;padding:20px 24px;display:flex;align-items:center;gap:16px;border:1px solid #e2e8f0;transition:all .2s}.admin-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stat-icon-box{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-icon-box.students{background:#dbeafe;color:#3b82f6}.stat-icon-box.instructors{background:#fef3c7;color:#f59e0b}.stat-icon-box.courses{background:#dcfce7;color:#16a34a}.stat-icon-box.users{background:#e0e7ff;color:#6366f1}.stat-content{flex:1;display:flex;flex-direction:column}.admin-stat-card .stat-number{font-size:28px;font-weight:700;color:#1e293b!important}.admin-stat-card .stat-label{font-size:13px;color:#64748b!important}.stat-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600}.stat-badge.green{background:#dcfce7;color:#16a34a}.stat-badge.blue{background:#dbeafe;color:#3b82f6}.stat-badge.red{background:#fee2e2;color:#dc2626}.admin-grid{display:grid;grid-template-columns:1fr 360px;gap:24px}.admin-grid-left,.admin-grid-right{display:flex;flex-direction:column;gap:24px}.admin-card{background:#fff;border-radius:14px;padding:24px;border:1px solid #e2e8f0}.admin-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-card .card-header h2{font-size:16px;font-weight:600;color:#1e293b;margin:0}.view-all-link{font-size:13px;color:#3b82f6;text-decoration:none}.view-all-link:hover{text-decoration:underline}.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;background:#f8fafc;border-radius:12px;text-decoration:none;color:#475569;font-size:13px;font-weight:500;transition:all .2s}.quick-action-btn svg{color:#3b82f6}.quick-action-btn:hover{background:#dbeafe;color:#1e40af}.quick-action-btn:hover svg{color:#1e40af}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 16px;text-align:left;font-size:13px}.admin-table th{color:#64748b;font-weight:500;border-bottom:1px solid #e2e8f0;background:#f8fafc}.admin-table tbody tr{border-bottom:1px solid #f1f5f9}.admin-table tbody tr:hover{background:#f8fafc}.admin-table td{color:#1e293b}.no-data{text-align:center;color:#94a3b8;padding:24px;font-size:13px}.activity-list{display:flex;flex-direction:column;gap:14px}.activity-item{display:flex;gap:14px;padding:14px;background:#f8fafc;border-radius:10px}.activity-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon.blue{background:#dbeafe;color:#3b82f6}.activity-icon.green{background:#dcfce7;color:#16a34a}.activity-icon.orange{background:#fef3c7;color:#f59e0b}.activity-content{flex:1}.activity-title{font-size:13px;font-weight:500;color:#1e293b;margin:0 0 4px}.activity-time{font-size:11px;color:#94a3b8;margin:0}.system-info{display:flex;flex-direction:column;gap:14px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.info-row:last-child{border-bottom:none}.info-label{font-size:13px;color:#64748b}.info-value{font-size:14px;font-weight:600;color:#1e293b}@media(max-width:1200px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:768px){.admin-stats{grid-template-columns:1fr}.admin-welcome{flex-direction:column;gap:16px;align-items:flex-start}.quick-action-grid{grid-template-columns:1fr}}.course-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e2e8f0;padding-bottom:0}.course-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;margin-bottom:-1px}.course-tab:hover{color:#3b82f6}.course-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.course-tab svg{color:inherit}.course-code{font-weight:600;color:#3b82f6;font-size:13px}.course-name-cell{display:flex;align-items:center;gap:12px}.course-icon-box{width:36px;height:36px;border-radius:8px;background:#dbeafe;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-icon-box svg{color:#3b82f6}.course-name-link{color:#1e293b;font-weight:500;text-decoration:none;transition:color .2s}.course-name-link:hover{color:#3b82f6}.sks-cell{text-align:center;font-weight:500}.instructor-cell{display:flex;align-items:center;gap:10px}.instructor-avatar{width:32px;height:32px;border-radius:50%;background:#f59e0b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.no-instructor{color:#94a3b8;font-size:13px;font-style:italic}.instructors-cell{display:flex;align-items:center;gap:10px}.instructor-avatars{display:flex;align-items:center}.instructor-avatar.stacked{border:2px solid white;box-shadow:0 1px 3px #0000001a}.more-count{font-size:11px;color:#64748b;font-weight:500;margin-left:4px}.instructor-names{font-size:13px;color:#475569}.action-btn.view{border-color:#e2e8f0}.action-btn.view:hover{background:#f0f9ff;border-color:#0ea5e9}.action-btn.view:hover svg{color:#0ea5e9}.loading-state,.error-state,.empty-state{text-align:center;padding:60px 20px;color:#64748b;font-size:14px}.error-state{color:#dc2626}@media(max-width:1024px){.course-tabs{overflow-x:auto;flex-wrap:nowrap}.course-tab{white-space:nowrap}}@media(max-width:768px){.course-name-cell{flex-direction:column;align-items:flex-start;gap:6px}.course-icon-box{display:none}}.course-content-layout{display:flex;min-height:100vh;background:#f8fafc}.course-sidebar{width:240px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sidebar-brand{padding:20px 16px;border-bottom:1px solid #f1f5f9}.brand-link{text-decoration:none}.course-sidebar .brand-name{font-size:20px;font-weight:700;color:#1e3a5f}.sidebar-nav{padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-nav .nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#64748b;text-decoration:none;font-size:14px;transition:all .2s}.sidebar-nav .nav-link:hover{background:#f1f5f9;color:#1e293b}.sidebar-nav .nav-link.active{background:#dbeafe;color:#3b82f6;font-weight:500}.sidebar-nav .nav-link svg{color:currentColor}.sidebar-divider{height:1px;background:#e2e8f0;margin:16px 0}.sidebar-section{padding:0 12px}.section-label{font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:.5px;padding:0 12px;margin-bottom:8px;display:block}.sidebar-footer{margin-top:auto;padding:16px;border-top:1px solid #e2e8f0}.user-profile-sidebar{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:background .2s}.user-profile-sidebar:hover{background:#f1f5f9}.user-avatar-sm{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-info-sm{display:flex;flex-direction:column;gap:2px}.user-name-sm{font-size:13px;font-weight:500;color:#1e293b}.user-email-sm{font-size:11px;color:#64748b;text-transform:capitalize}.course-main{flex:1;padding:24px 32px;max-width:1200px;margin:0 auto;width:100%}.course-content-layout .breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b;margin-bottom:20px}.course-content-layout .breadcrumb a{color:#3b82f6;text-decoration:none}.course-content-layout .breadcrumb a:hover{text-decoration:underline}.course-content-layout .breadcrumb .separator{color:#94a3b8;font-size:16px}.course-content-layout .breadcrumb .current{color:#1e293b}.course-banner-new{background:linear-gradient(135deg,#1e3a5f,#3b82f6);border-radius:20px;padding:28px 32px;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;color:#fff}.banner-content{flex:1}.course-code-chip{display:inline-block;background:#fff3;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;margin-bottom:12px}.course-title-large{font-size:28px;font-weight:700;margin-bottom:8px;line-height:1.3}.course-instructor{font-size:14px;opacity:.9;margin-bottom:16px}.course-progress-bar{display:flex;align-items:center;gap:12px;max-width:350px}.progress-label{font-size:12px;opacity:.8;white-space:nowrap}.progress-track{flex:1;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:#fff;border-radius:4px;transition:width .3s ease}.progress-value{font-size:14px;font-weight:600}.banner-stats{display:flex;flex-direction:row;gap:10px;align-items:center}.stat-box{display:flex;flex-direction:column;align-items:center;background:#ffffff26;padding:8px 16px;border-radius:8px;min-width:70px}.stat-number{font-size:16px;font-weight:600;color:#fff}.stat-label{font-size:10px;color:#ffffffb3}.btn-course-info{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.btn-course-info:hover{background:#ffffff4d}.materials-header-new{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.materials-header-new h2{font-size:20px;font-weight:600;color:#1e293b}.materials-actions{display:flex;align-items:center;gap:16px}.btn-add-pertemuan{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-pertemuan:hover{background:#2563eb}.filter-dropdown{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b}.filter-dropdown select{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;background:#fff;cursor:pointer}.pertemuan-container{display:flex;flex-direction:column;gap:16px}.pertemuan-section{background:#fff;border-radius:16px;border:1px solid #e2e8f0;overflow:hidden}.pertemuan-header{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;transition:background .2s}.pertemuan-header:hover{background:#fafafa}.pertemuan-header.expanded{border-bottom:1px solid #f1f5f9}.pertemuan-icon{width:44px;height:44px;border-radius:12px;background:#dbeafe;display:flex;align-items:center;justify-content:center;color:#3b82f6;flex-shrink:0}.pertemuan-info{flex:1}.pertemuan-title{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.pertemuan-subtitle{font-size:13px;color:#64748b}.pertemuan-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#64748b}.pertemuan-toggle svg{transition:transform .2s}.pertemuan-toggle svg.rotated{transform:rotate(180deg)}.pertemuan-materials{padding:20px 24px;background:#fafafa}.materials-grid-new{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px}.material-card-new{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0;display:flex;flex-direction:column;transition:all .2s}.material-card-new:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.material-type-badge-new{display:inline-block;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;width:fit-content}.type-video .material-type-badge-new{background:#fee2e2;color:#dc2626}.type-quiz .material-type-badge-new{background:#fef3c7;color:#d97706}.type-assignment .material-type-badge-new{background:#ffe4e6;color:#e11d48}.type-document .material-type-badge-new{background:#dbeafe;color:#2563eb}.type-presentation .material-type-badge-new{background:#e0e7ff;color:#4f46e5}.type-text .material-type-badge-new{background:#dcfce7;color:#16a34a}.type-default .material-type-badge-new{background:#f1f5f9;color:#64748b}.material-icon-new{width:48px;height:48px;margin-bottom:12px}.material-svg-icon{width:48px;height:48px;padding:10px;border-radius:10px}.material-svg-icon.video{background:#fee2e2;color:#dc2626}.material-svg-icon.quiz{background:#fef3c7;color:#d97706}.material-svg-icon.assignment{background:#ffe4e6;color:#e11d48}.material-svg-icon.document{background:#dbeafe;color:#2563eb}.material-svg-icon.presentation{background:#e0e7ff;color:#4f46e5}.material-svg-icon.text{background:#dcfce7;color:#16a34a}.material-svg-icon.default{background:#f1f5f9;color:#64748b}.material-title-new{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:6px}.material-description{font-size:12px;color:#64748b;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.material-meta-new{font-size:11px;color:#94a3b8;margin-bottom:16px}.material-actions-new{margin-top:auto}.btn-material-primary{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#3b82f6;color:#fff;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;transition:background .2s}.btn-material-primary:hover{background:#2563eb}.btn-material-secondary{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#f1f5f9;color:#475569;border-radius:8px;font-size:13px;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:background .2s}.btn-material-secondary:hover{background:#e2e8f0}.empty-materials{text-align:center;padding:32px;color:#94a3b8;font-size:14px}.btn-add-material-new{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;color:#3b82f6;border:2px dashed #3b82f6;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-material-new:hover{background:#eff6ff}.empty-state-new{text-align:center;padding:64px 32px;background:#fff;border-radius:16px;border:1px solid #e2e8f0}.empty-state-new .empty-icon{color:#94a3b8;margin-bottom:16px}.empty-state-new h3{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:8px}.empty-state-new p{font-size:14px;color:#64748b;margin-bottom:24px}.btn-add-first-new{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer}.btn-add-first-new:hover{background:#2563eb}.course-content-layout .loading-state,.course-content-layout .error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.course-content-layout .error-text{color:#dc2626;font-size:16px}.course-content-layout .back-link{color:#3b82f6;text-decoration:none;font-size:14px}@media(max-width:1024px){.course-sidebar{display:none}.course-main{padding:20px}.course-banner-new{flex-direction:column;gap:20px}.banner-actions{flex-direction:row}}@media(max-width:768px){.materials-header-new{flex-direction:column;align-items:flex-start;gap:16px}.materials-grid-new{grid-template-columns:1fr}.course-title-large{font-size:22px}}.course-content-main{padding:24px 32px;max-width:1200px;margin:0 auto}.breadcrumb-content{display:flex;align-items:center;gap:8px;font-size:14px;color:#64748b;margin-bottom:20px}.breadcrumb-content a{color:#3b82f6;text-decoration:none}.breadcrumb-content a:hover{text-decoration:underline}.breadcrumb-content .separator{color:#94a3b8;font-size:16px}.breadcrumb-content .current{color:#1e293b}.pertemuan-grid{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.profile-menu-container{position:relative}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:8px;min-width:200px;z-index:100;border:1px solid #e2e8f0}.dropdown-item{display:block;padding:10px 16px;color:#1e293b;text-decoration:none;border-radius:8px;font-size:14px;transition:background .2s;cursor:pointer;width:100%;text-align:left;border:none;background:transparent}.dropdown-item:hover{background:#f1f5f9}.session-card-link{display:block;width:100%;text-decoration:none}.quiz-editor-page{min-height:100vh;background:#f8fafc}.quiz-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.header-left .back-link{display:inline-flex;align-items:center;gap:8px;color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500}.header-left .back-link:hover{text-decoration:underline}.header-center{display:flex;align-items:center;gap:16px}.header-center h1{font-size:20px;font-weight:700;color:#1e293b;margin:0}.quiz-title-badge{background:#dbeafe;color:#1d4ed8;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:500}.header-right .question-count{background:#10b981;color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600}.editor-content{max-width:900px;margin:0 auto;padding:32px 24px}.section-header{margin-bottom:20px}.section-header h2{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 8px}.section-header p{font-size:14px;color:#64748b;margin:0}.questions-section{margin-bottom:40px}.empty-questions{display:flex;flex-direction:column;align-items:center;padding:48px 24px;background:#fff;border-radius:12px;border:2px dashed #e2e8f0;text-align:center}.empty-questions p{font-size:16px;color:#475569;font-weight:600;margin:0 0 8px}.empty-questions span{font-size:14px;color:#94a3b8}.questions-list{display:flex;flex-direction:column;gap:16px}.question-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0;transition:all .2s}.question-card:hover{box-shadow:0 4px 12px #0000000d}.question-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.question-number{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;flex-shrink:0}.question-text{flex:1;font-size:15px;font-weight:600;color:#1e293b;line-height:1.5}.question-actions{display:flex;gap:8px;flex-shrink:0}.btn-edit,.btn-delete{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#eff6ff;color:#2563eb}.btn-edit:hover{background:#dbeafe}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#fee2e2}.question-card .options-list{display:flex;flex-direction:column;gap:8px;padding-left:48px}.question-card .option-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:8px;font-size:14px;color:#475569}.question-card .option-item.correct{background:#dcfce7;border:1px solid #86efac}.correct-badge{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#16a34a;color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.add-question-section{background:#fff;border-radius:16px;padding:28px;border:1px solid #e2e8f0}.add-question-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#334155}.form-hint{font-size:13px;color:#64748b;margin:0 0 8px}.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:14px;resize:vertical;transition:border-color .2s;font-family:inherit}.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.options-form{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.option-input-row{display:flex;align-items:center;gap:12px}.option-input-row input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#16a34a}.option-input-row input[type=text]{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:border-color .2s}.option-input-row input[type=text]:focus{outline:none;border-color:#3b82f6}.btn-remove-option{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fef2f2;color:#dc2626;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.btn-remove-option:hover{background:#fee2e2}.btn-add-option{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#f1f5f9;color:#3b82f6;border:1px dashed #93c5fd;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-option:hover{background:#eff6ff;border-color:#3b82f6}.form-actions{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #e2e8f0}.btn-save-question{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save-question:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98159}.btn-save-question:disabled{background:#94a3b8;cursor:not-allowed}@media(max-width:768px){.editor-header{flex-direction:column;gap:16px;padding:16px}.header-center{flex-direction:column;gap:8px}.editor-content{padding:16px}.question-header{flex-direction:column;gap:12px}.question-actions{align-self:flex-end}.question-card .options-list{padding-left:0}.add-question-section{padding:20px}}.discussion-section{background:#fff;border-radius:12px;border:1px solid #e2e8f0;margin-top:24px;overflow:hidden}.discussion-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.discussion-header h3{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1e293b;margin:0}.discussion-header h3 svg{color:#3b82f6}.comment-count{font-weight:400;color:#64748b;font-size:14px}.new-comment-form{padding:16px 20px;border-bottom:1px solid #e2e8f0}.comment-input-wrapper{display:flex;gap:12px;align-items:flex-start}.comment-input-wrapper textarea{flex:1;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:none;transition:all .2s}.comment-input-wrapper textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.comment-input-wrapper button{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.comment-input-wrapper button:hover:not(:disabled){background:#2563eb}.comment-input-wrapper button:disabled{background:#94a3b8;cursor:not-allowed}.comments-list{padding:16px 20px}.loading-comments,.no-comments{text-align:center;padding:40px 20px;color:#64748b}.no-comments svg{color:#cbd5e1;margin-bottom:12px}.no-comments p{margin:0;font-size:14px}.comment-item{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #f1f5f9}.comment-item:last-child{border-bottom:none}.comment-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.comment-avatar.small{width:32px;height:32px;font-size:13px}.comment-content{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-weight:600;font-size:14px;color:#1e293b}.comment-time{font-size:12px;color:#94a3b8}.comment-text{font-size:14px;color:#475569;line-height:1.5;margin:0 0 8px;white-space:pre-wrap;word-break:break-word}.reply-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;border-radius:4px;transition:all .2s}.reply-btn:hover{background:#f1f5f9;color:#3b82f6}.reply-form{margin-top:12px;padding:12px;background:#f8fafc;border-radius:8px}.reply-form textarea{width:100%;padding:10px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;resize:none;margin-bottom:8px}.reply-form textarea:focus{outline:none;border-color:#3b82f6}.reply-actions{display:flex;justify-content:flex-end;gap:8px}.reply-actions .cancel-btn{padding:6px 14px;background:#f1f5f9;color:#64748b;border:none;border-radius:6px;font-size:13px;cursor:pointer}.reply-actions .cancel-btn:hover{background:#e2e8f0}.reply-actions .submit-btn{padding:6px 14px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.reply-actions .submit-btn:hover:not(:disabled){background:#2563eb}.reply-actions .submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.replies-list{margin-top:12px;padding-left:20px;border-left:2px solid #e2e8f0}.reply-item{display:flex;gap:10px;padding:10px 0}.reply-item:first-child{padding-top:0}.load-more-btn{width:100%;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#3b82f6;font-size:14px;cursor:pointer;transition:all .2s;margin-top:12px}.load-more-btn:hover{background:#f1f5f9}@media(max-width:640px){.comment-input-wrapper{flex-direction:column}.comment-input-wrapper button{width:100%}.comment-avatar{width:36px;height:36px;font-size:14px}.comment-avatar.small{width:28px;height:28px;font-size:12px}}.page-wrapper{min-height:100vh;background:#f5f7fa}.page-main{max-width:1300px;margin:0 auto;padding:24px 32px}.assignment-navbar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e3a5f,#2563eb);padding:0 24px;height:56px;color:#fff}.navbar-left-section{display:flex;align-items:center;gap:24px}.navbar-brand-box{display:flex;align-items:center;gap:8px;padding-right:24px;border-right:1px solid rgba(255,255,255,.2)}.brand-icon{font-size:20px}.brand-text{font-size:16px;font-weight:600}.page-title-box{display:flex;align-items:center;gap:8px}.page-title{font-size:14px;font-weight:500;opacity:.95}.navbar-center-menu{display:flex;align-items:center;gap:8px}.menu-item{color:#fffc;text-decoration:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;transition:all .2s}.menu-item.active{background:#fff3;color:#fff}.navbar-right-section{display:flex;align-items:center;gap:16px;position:relative}.icon-btn{width:36px;height:36px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:#fff3}.user-menu{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:6px}.user-menu:hover{background:#ffffff1a}.user-avatar-sm{width:32px;height:32px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-name-sm{font-size:13px;font-weight:500}.dropdown-caret{font-size:8px;opacity:.7}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:160px;z-index:100;overflow:hidden}.dropdown-link{display:block;padding:12px 16px;color:#475569;text-decoration:none;font-size:14px;border:none;background:none;width:100%;text-align:left;cursor:pointer}.dropdown-link:hover{background:#f1f5f9}.dropdown-link.logout{color:#dc2626;border-top:1px solid #e2e8f0}.breadcrumb-nav{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;margin-bottom:20px}.breadcrumb-nav a{color:#3b82f6;text-decoration:none}.breadcrumb-nav a:hover{text-decoration:underline}.breadcrumb-nav .sep{color:#94a3b8}.breadcrumb-nav .current{color:#1e293b;font-weight:500}.assignment-header-section{margin-bottom:28px;position:relative}.badge-assignment{display:inline-block;background:#dcfce7;color:#16a34a;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:12px}.grade-link{display:inline-block;background:#3b82f6;color:#fff;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;margin-left:12px}.grade-link:hover{background:#2563eb}.main-title{font-size:26px;font-weight:700;color:#1e293b;margin:8px 0 12px}.due-info{font-size:14px;color:#64748b}.share-btn{position:absolute;top:0;right:0;background:#fff;color:#475569;border:1px solid #e2e8f0;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer}.share-btn:hover{background:#f8fafc}.assignment-container{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}.assignment-main{display:flex;flex-direction:column;gap:20px}.content-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.section-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid #f1f5f9}.section-header h2{font-size:14px;font-weight:600;color:#1e293b;margin:0}.section-icon{font-size:16px}.section-body{padding:20px}.instructions-html{font-size:14px;color:#475569;line-height:1.7}.instructions-html p{margin-bottom:12px}.instructions-html ul,.instructions-html ol{margin-left:20px;margin-bottom:12px}.instructions-html li{margin-bottom:6px}.file-list{display:flex;flex-direction:column;gap:10px}.file-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.file-icon-box{font-size:24px}.file-details{flex:1;display:flex;flex-direction:column;gap:2px}.file-name{font-size:13px;font-weight:500;color:#1e293b}.file-meta{font-size:11px;color:#64748b}.download-btn{width:32px;height:32px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.download-btn:hover{background:#dbeafe;border-color:#3b82f6}.content-section.collapsible{padding:0}.section-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border:none;cursor:pointer;font-size:14px;color:#1e293b}.section-toggle:hover{background:#fafafa}.toggle-left{display:flex;align-items:center;gap:10px}.toggle-arrow{color:#64748b;font-size:10px}.rubric-table{width:100%;border-collapse:collapse}.rubric-table th,.rubric-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f1f5f9}.rubric-table th{background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.rubric-table td{font-size:13px;color:#1e293b}.assignment-sidebar{position:sticky;top:80px}.sidebar-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.sidebar-title{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:16px}.status-list{display:flex;flex-direction:column;gap:12px}.status-row{display:flex;justify-content:space-between;align-items:center}.status-value{font-size:13px;font-weight:500;color:#1e293b}.status-value.badge{padding:4px 10px;border-radius:4px;font-size:11px}.status-value.badge.pending{background:#fef3c7;color:#d97706}.status-value.badge.submitted{background:#dcfce7;color:#16a34a}.text-green{color:#16a34a}.text-red{color:#dc2626}.divider{border:none;border-top:1px solid #e2e8f0;margin:16px 0}.upload-area{border:2px dashed #d1d5db;border-radius:10px;padding:28px 20px;text-align:center;background:#f9fafb;transition:all .2s;margin-bottom:16px}.upload-area:hover,.upload-area.dragging{border-color:#3b82f6;background:#eff6ff}.upload-icon-lg{font-size:32px;display:block;margin-bottom:8px}.upload-main-text{font-size:13px;color:#64748b;margin-bottom:4px}.upload-sub-text{font-size:11px;color:#94a3b8}.file-input-hidden{display:none}.selected-files{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.selected-file-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px}.file-icon-sm{font-size:16px}.file-name-sm{flex:1;font-size:12px;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn{width:20px;height:20px;border-radius:50%;border:none;background:#fee2e2;color:#dc2626;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#fecaca}.text-input{width:100%;padding:14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;margin-bottom:16px}.text-input:focus{outline:none;border-color:#3b82f6}.comments-box{margin-bottom:16px}.comments-label{display:block;font-size:12px;font-weight:500;color:#475569;margin-bottom:6px}.comments-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;font-family:inherit;resize:vertical}.action-buttons{display:flex;gap:10px;margin-bottom:16px}.btn-primary-submit{flex:1;padding:12px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary-submit:hover{background:#2563eb}.btn-primary-submit:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary-draft{padding:12px 16px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-secondary-draft:hover{background:#f8fafc}.alert-box{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:16px}.alert-box.success{background:#dcfce7;color:#16a34a}.alert-box.error{background:#fee2e2;color:#dc2626}.history-box{margin-top:8px}.history-heading{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.no-data{font-size:12px;color:#94a3b8}.history-entries{display:flex;flex-direction:column;gap:6px}.history-entry{display:flex;justify-content:space-between;font-size:12px;color:#475569;padding:8px 0;border-bottom:1px solid #f1f5f9}.simple-header{margin-bottom:24px}.back-link{color:#3b82f6;background:none;border:none;font-size:13px;cursor:pointer;margin-bottom:12px;display:inline-block}.back-link:hover{text-decoration:underline}.page-heading{font-size:26px;font-weight:700;color:#1e293b}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;border-radius:10px;overflow:hidden;background:#000}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.text-content-box{background:#fff;padding:28px;border-radius:10px;border:1px solid #e2e8f0;line-height:1.7}.doc-view-box{text-align:center;padding:48px;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.open-doc-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:#3b82f6;color:#fff;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none}.open-doc-btn:hover{background:#2563eb}.loading-box,.error-box{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:16px}.back-btn{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.error-msg{color:#dc2626;font-size:14px}.page-footer{text-align:center;padding:24px;margin-top:48px;color:#94a3b8;font-size:12px;border-top:1px solid #e2e8f0}@media(max-width:1024px){.assignment-container{grid-template-columns:1fr}.assignment-sidebar{position:static}.navbar-center-menu{display:none}}@media(max-width:768px){.page-main{padding:16px}.assignment-navbar{padding:0 16px}.navbar-brand-box{padding-right:12px}.page-title{display:none}.main-title{font-size:20px}.share-btn{position:static;margin-top:12px}}.submissions-list{display:flex;flex-direction:column;gap:10px;max-height:350px;overflow-y:auto}.submission-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;cursor:pointer;transition:all .2s}.submission-item:hover{background:#eff6ff}.submission-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.submission-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.submission-name{font-size:13px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.submission-time{font-size:11px;color:#64748b}.submission-grade{font-size:12px;font-weight:500;padding:4px 10px;border-radius:6px;flex-shrink:0}.submission-grade.graded{background:#dcfce7;color:#16a34a}.submission-grade.pending{background:#fef3c7;color:#d97706}.grading-page-content{display:grid;grid-template-columns:260px 1fr 340px;gap:20px;padding:20px;min-height:calc(100vh - 64px);background:#f1f5f9}.grading-students-sidebar{background:#fff;border-radius:12px;border:1px solid #e2e8f0;display:flex;flex-direction:column;max-height:calc(100vh - 104px)}.students-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.students-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0}.students-count{background:#3b82f6;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.students-list{flex:1;overflow-y:auto;padding:12px}.student-card{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:all .2s;margin-bottom:6px}.student-card:hover{background:#f8fafc}.student-card.active{background:#dbeafe;border:1px solid #3b82f6}.student-card .student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.student-details{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.student-card .student-name{font-size:13px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card .submit-time{font-size:11px;color:#64748b}.graded-check{background:#dcfce7;color:#16a34a;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}.no-submissions-msg{text-align:center;color:#94a3b8;font-size:13px;padding:24px 12px}.submission-preview{display:flex;flex-direction:column}.preview-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;flex:1;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.preview-header h2{font-size:15px;font-weight:600;color:#1e293b;margin:0}.download-link{background:#3b82f6;color:#fff;padding:8px 16px;border-radius:6px;text-decoration:none;font-size:12px;font-weight:500}.download-link:hover{background:#2563eb}.preview-content{flex:1;padding:24px;overflow:auto}.file-preview,.text-preview{background:#f8fafc;border-radius:8px;padding:24px;min-height:200px}.text-preview p{font-size:14px;line-height:1.7;color:#475569;white-space:pre-wrap}.grading-form-panel{position:sticky;top:84px;align-self:start}.grade-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;padding:24px;display:flex;flex-direction:column;gap:20px}.score-display{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:12px 0;border-bottom:1px solid #e2e8f0}.score-circle-new{display:flex;align-items:center;justify-content:center}.score-number{font-size:42px;font-weight:700;color:#1e293b}.score-max-label{font-size:20px;font-weight:500;color:#94a3b8}.grade-input-box{display:flex;flex-direction:column;gap:6px}.grade-input-box label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.grade-number-input{width:100%;padding:10px 12px;font-size:16px;font-weight:600;text-align:center;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;transition:border-color .2s}.grade-number-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.grade-number-input::-webkit-outer-spin-button,.grade-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grade-number-input[type=number]{-moz-appearance:textfield}.rubric-box{border-top:1px solid #e2e8f0;padding-top:20px}.rubric-box h4,.feedback-box h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 14px}.rubric-rows{display:flex;flex-direction:column;gap:12px}.rubric-row{display:flex;justify-content:space-between;align-items:center}.rubric-row span:first-child{font-size:12px;color:#64748b}.dots{display:flex;gap:6px}.dots .dot{width:14px;height:14px;border-radius:50%;background:#e2e8f0}.dots .dot.active{background:#3b82f6}.feedback-box{border-top:1px solid #e2e8f0;padding-top:20px}.feedback-box textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:inherit;resize:vertical;min-height:80px}.feedback-box textarea:focus{outline:none;border-color:#3b82f6}.save-grade-btn{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.save-grade-btn:hover{opacity:.9;transform:translateY(-1px)}.save-grade-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-success-msg{background:#dcfce7;color:#16a34a;padding:12px;border-radius:8px;text-align:center;font-size:13px;font-weight:500}.no-selection-msg{grid-column:2 / 4;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.no-selection-msg p{color:#94a3b8;font-size:15px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 200px);gap:16px}.error-state .error{color:#dc2626}.error-state .back-link{color:#3b82f6;text-decoration:none}@media(max-width:1200px){.grading-page-content{grid-template-columns:240px 1fr 300px}}@media(max-width:992px){.grading-page-content{grid-template-columns:1fr}.grading-students-sidebar{display:none}.grading-form-panel{position:static}}.gradebook-page{display:flex;min-height:100vh;background:#f8fafc}.gradebook-sidebar{width:260px;background:#1e293b;color:#fff;display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0}.brand-name{font-size:18px;font-weight:700}.brand-sub{font-size:11px;color:#fff9}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#ffffffb3;text-decoration:none;font-size:14px;transition:all .2s}.menu-item.active{background:#3b82f6;color:#fff}.menu-icon{font-size:16px}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:12px;background:#ffffff0d;border-radius:10px}.profile-avatar{width:40px;height:40px;background:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.profile-info{display:flex;flex-direction:column}.profile-name{font-size:14px;font-weight:500}.profile-role{font-size:11px;color:#fff9}.logout-btn{width:100%;padding:10px;background:#ef444433;color:#fca5a5;border:none;border-radius:8px;font-size:13px;cursor:pointer}.gradebook-main{flex:1;display:flex;flex-direction:column;overflow:auto}.gradebook-banner{background:linear-gradient(90deg,#1e3a5f,#3b82f6);padding:32px;color:#fff;display:flex;justify-content:space-between;align-items:center}.banner-content p{font-size:14px;opacity:.9}.btn-export{background:#fff;color:#1e3a5f;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.gradebook-content{padding:24px 32px;flex:1}.filters-row{display:flex;gap:12px;margin-bottom:24px}.filter-select{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#fff;min-width:180px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.summary-card{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;border:1px solid #e2e8f0}.summary-card .card-label{font-size:13px;color:#64748b;margin-top:12px}.score-circle{position:relative;width:100px;height:100px}.score-circle svg{transform:rotate(-90deg);width:100%;height:100%}.score-circle circle{fill:none;stroke-width:8;stroke-linecap:round}.score-circle .bg{stroke:#e2e8f0}.score-circle .progress{stroke:#3b82f6;transition:stroke-dasharray .5s}.score-circle .score-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:700;color:#1e293b}.count-box{width:80px;height:80px;background:#dcfce7;border-radius:16px;display:flex;align-items:center;justify-content:center}.count-value{font-size:32px;font-weight:700;color:#16a34a}.grade-box{width:80px;height:80px;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:16px;display:flex;align-items:center;justify-content:center}.grade-letter{font-size:40px;font-weight:700;color:#fff}.grades-section{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0}.grades-section h2{font-size:18px;font-weight:600;color:#1e293b;margin-bottom:20px}.grades-table-card{overflow:hidden}.grades-table{width:100%;border-collapse:collapse}.grades-table th,.grades-table td{padding:14px 16px;text-align:left;font-size:14px}.grades-table th{background:#f8fafc;color:#64748b;font-weight:500;border-bottom:1px solid #e2e8f0}.grades-table td{border-bottom:1px solid #f1f5f9}.grades-table tr:hover td{background:#fafbfc}.grade-title{display:flex;align-items:center;gap:10px}.grade-icon{font-size:18px}.course-cell{color:#64748b;font-size:13px}.date-cell{color:#94a3b8;font-size:13px}.type-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize}.type-badge.tugas{background:#dbeafe;color:#3b82f6}.type-badge.kuis{background:#fef3c7;color:#d97706}.type-badge.ujian{background:#e0e7ff;color:#6366f1}.score-cell{font-weight:600}.score-cell .score{color:#1e293b;font-size:16px}.score-cell .max-score{color:#94a3b8;font-size:13px}.status-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-badge.excellent{background:#dcfce7;color:#16a34a}.status-badge.good{background:#dbeafe;color:#3b82f6}.status-badge.average{background:#fef3c7;color:#d97706}.status-badge.needs_improvement{background:#fee2e2;color:#dc2626}.table-footer{text-align:center;padding:16px;border-top:1px solid #f1f5f9}.load-more-btn{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer}.load-more-btn:hover{text-decoration:underline}@media(max-width:1024px){.summary-cards{grid-template-columns:1fr}}@media(max-width:768px){.gradebook-sidebar{display:none}.gradebook-banner{flex-direction:column;gap:16px;text-align:center}.filters-row{flex-direction:column}}.calendar-page{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column;overflow-x:hidden}*{box-sizing:border-box}html{scroll-behavior:smooth}img,video{max-width:100%;height:auto}button,a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.nav-btn{min-height:32px;min-width:32px}button,.calendar-day,.filter-item{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.calendar-header{background:#fff;padding:12px 32px;display:flex;align-items:center;border-bottom:1px solid #e2e8f0;gap:40px}.header-nav .active{color:#3b82f6;font-weight:500;border-bottom-color:#3b82f6}.calendar-main{flex:1;padding:24px 32px;max-width:1400px;margin:0 auto;width:100%}.title-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.title-section h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.title-section p{font-size:14px;color:#64748b;max-width:600px}.btn-export{background:#fff;border:1px solid #e2e8f0;padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer}.btn-add-event{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.calendar-content-grid{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1025px){.calendar-content-grid{grid-template-columns:1fr 300px}.calendar-sidebar{order:0}}.calendar-section{background:#fff;border-radius:16px;padding:24px;border:1px solid #e2e8f0}.calendar-controls{display:flex;align-items:center;gap:16px;margin-bottom:20px}.month-nav{display:flex;align-items:center;gap:12px}.month-label{font-size:18px;font-weight:600;color:#1e293b;min-width:160px}.nav-btn{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:12px}.today-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.view-switcher{display:flex;margin-left:auto;background:#f1f5f9;border-radius:8px;padding:4px;flex-shrink:0}.view-btn{background:transparent;border:none;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;color:#64748b;transition:all .2s;white-space:nowrap}.view-btn.active{background:#fff;color:#1e293b;font-weight:500;box-shadow:0 1px 3px #0000001a}.calendar-grid-scroll-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e2e8f0;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;min-width:800px}.day-header{background:#f8fafc;padding:12px;text-align:center;font-size:13px;font-weight:500;color:#64748b}.calendar-day{background:#fff;min-height:100px;padding:8px;display:flex;flex-direction:column;cursor:pointer;transition:background-color .2s;position:relative}.calendar-day:hover{background:#f8fafc}.calendar-day.other-month{background:#fafafa}.calendar-day.other-month .day-number{color:#cbd5e1}.calendar-day.today{background:#eff6ff;border:2px solid #3b82f6}.calendar-day.today .day-number{background:#3b82f6;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.day-number{font-size:14px;font-weight:500;color:#1e293b;margin-bottom:6px}.day-events{display:flex!important;flex-direction:column!important;gap:4px!important;flex:1!important;overflow:hidden!important;visibility:visible!important}.event-badge{padding:3px 6px;border-radius:4px;font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block!important;visibility:visible!important}.event-badge.event-lecture{background:#dbeafe;color:#1d4ed8}.event-badge.event-assignment{background:#fef3c7;color:#b45309}.event-badge.event-quiz{background:#e0e7ff;color:#4338ca}.event-badge.event-exam{background:#fee2e2;color:#dc2626}.event-badge.event-holiday{background:#dcfce7;color:#16a34a}.more-events{font-size:10px;color:#64748b}.calendar-sidebar{display:flex;flex-direction:column;gap:20px;order:-1}@media(min-width:1025px){.calendar-sidebar{order:0}}.filter-card,.upcoming-card{background:#fff;border-radius:16px;padding:20px;border:1px solid #e2e8f0}.filter-card h3,.upcoming-card h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.filter-list{display:flex;flex-direction:column;gap:12px}.filter-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#374151;cursor:pointer}.filter-item input{width:16px;height:16px;accent-color:#3b82f6}.filter-dot{width:10px;height:10px;border-radius:50%}.filter-dot.lecture{background:#3b82f6}.filter-dot.assignment{background:#f59e0b}.filter-dot.quiz{background:#6366f1}.filter-dot.exam{background:#ef4444}.filter-dot.holiday{background:#22c55e}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:10px}.event-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px}.event-icon.lecture{background:#dbeafe}.event-icon.assignment{background:#fef3c7}.event-icon.quiz{background:#e0e7ff}.event-icon.exam{background:#fee2e2}.event-icon.holiday{background:#dcfce7}.event-info{display:flex;flex-direction:column;gap:2px}.event-title{font-size:14px;font-weight:500;color:#1e293b}.event-datetime{font-size:12px;color:#64748b}.see-calendar-btn{width:100%;margin-top:16px;padding:10px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#3b82f6;cursor:pointer}@media(max-width:1200px){.calendar-main{padding:20px 24px}.calendar-content-grid{grid-template-columns:1fr 280px;gap:20px}}@media(max-width:1024px){.calendar-header{padding:12px 20px;gap:24px}.header-nav{gap:24px}.calendar-main{padding:16px 20px}.calendar-content-grid{grid-template-columns:1fr!important;gap:20px!important}.calendar-sidebar{order:-1!important;max-width:100%!important}.title-section{flex-direction:column;gap:16px;align-items:flex-start}.title-actions{width:100%;justify-content:flex-start}.calendar-day{min-height:90px;font-size:13px}.event-badge{font-size:11px!important;padding:3px 6px!important;display:block!important;visibility:visible!important}}@media(max-width:768px){.calendar-header{flex-wrap:wrap;padding:12px 16px;gap:16px}.header-nav{order:3;width:100%;justify-content:center;gap:16px;overflow-x:auto;padding-bottom:8px}.header-nav::-webkit-scrollbar{height:2px}.calendar-main{padding:16px}.title-section h1{font-size:20px}.title-section p{font-size:13px}.calendar-section{padding:16px;border-radius:12px}.calendar-controls{flex-wrap:wrap;gap:12px}.month-label{font-size:16px;min-width:auto}.view-toggle{width:100%;order:3}.calendar-grid{gap:2px}.calendar-day{min-height:70px;padding:6px;font-size:12px}.day-number{font-size:13px}.event-badge{font-size:10px!important;padding:2px 5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;display:block!important;visibility:visible!important}.btn-export,.btn-add-event{padding:8px 16px;font-size:13px}}@media(max-width:640px){.calendar-header{padding:10px 12px}.brand-name{font-size:14px}.header-nav a,.header-nav span{font-size:13px}.calendar-main{padding:12px}.title-section h1{font-size:18px}.title-actions{flex-direction:column;width:100%}.btn-export,.btn-add-event{width:100%}.calendar-section{padding:12px}.calendar-controls{flex-direction:column;align-items:stretch}.month-nav{justify-content:space-between;width:100%}.month-label{font-size:15px;flex:1;text-align:center}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:12px}.event-badge{font-size:9px!important;padding:2px 4px!important;display:block!important;visibility:visible!important}.calendar-day-header{font-size:11px;padding:8px 4px}.sidebar-section{padding:12px}.sidebar-section h3{font-size:14px}.upcoming-item{padding:10px}.event-icon{width:36px;height:36px;font-size:16px}.event-title{font-size:13px}.event-datetime{font-size:11px}}@media(max-width:480px){.calendar-header{padding:8px 10px}.header-brand{gap:6px}.brand-icon{font-size:20px}.brand-name{font-size:13px}.header-nav{gap:12px;font-size:12px}.user-avatar{width:32px;height:32px;font-size:13px}.calendar-main{padding:10px}.title-section{margin-bottom:16px}.title-section h1{font-size:16px;margin-bottom:6px}.title-section p{font-size:12px}.calendar-section{padding:10px;border-radius:10px}.month-label{font-size:14px}.nav-btn{width:28px;height:28px;font-size:11px}.view-toggle button{padding:6px 10px;font-size:11px}.calendar-day{min-height:50px;padding:3px}.day-number{font-size:11px;margin-bottom:2px}.event-badge{font-size:8px!important;padding:1px 3px!important;margin-bottom:1px!important;display:block!important;visibility:visible!important}.calendar-day-header{font-size:10px;padding:6px 2px}.breadcrumb,.title-section p{display:none}.btn-export span:not(.icon){display:none}}@media(max-width:768px)and (orientation:landscape){.calendar-header{padding:8px 16px}.header-nav{gap:16px}.calendar-main{padding:12px 16px}.calendar-day{min-height:65px}.title-section{margin-bottom:12px}}@media(min-width:1400px){.calendar-main{max-width:1600px}.calendar-content-grid{grid-template-columns:1fr 320px}}.calendar-content-wrapper{padding:24px;max-width:100%}.calendar-title-section{margin-bottom:24px}.calendar-main-title{font-size:28px;font-weight:600;color:#0f172a;margin-bottom:8px}.calendar-subtitle{color:#64748b;font-size:14px}@media(max-width:1200px){.calendar-content-wrapper{padding:20px!important}.calendar-content-grid{grid-template-columns:1fr 280px!important;gap:20px!important}}@media(max-width:1024px){.calendar-content-wrapper{padding:16px!important}.calendar-content-grid{grid-template-columns:1fr!important;gap:20px!important;display:grid!important}.calendar-sidebar{order:-1!important;display:block!important}.navbar-menu{overflow-x:auto!important;white-space:nowrap!important}}@media(max-width:768px){.calendar-content-wrapper{padding:12px!important}.calendar-title-section{margin-bottom:16px!important}.calendar-main-title{font-size:22px!important}.calendar-subtitle{font-size:13px!important}.calendar-controls{flex-direction:column!important;gap:12px!important}.month-nav{width:100%!important;justify-content:space-between!important}.view-switcher{width:100%!important;margin-left:0!important}.calendar-grid{gap:1px!important}.calendar-day{min-height:70px!important;padding:4px!important}.day-number{font-size:12px!important}.event-badge{font-size:9px!important;padding:2px 4px!important;display:block!important;visibility:visible!important}.top-navbar{background:#1a2332!important;flex-wrap:wrap!important;padding:12px 16px!important}.navbar-menu{order:3!important;width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;padding:8px 0!important}.navbar-menu::-webkit-scrollbar{height:2px!important}}@media(max-width:640px){.calendar-content-wrapper{padding:10px!important}.calendar-title-section{margin-bottom:12px!important}.calendar-main-title{font-size:20px!important}.calendar-subtitle{font-size:12px!important}.calendar-section{padding:12px!important}.calendar-controls{align-items:stretch!important}.month-nav{flex-direction:row!important}.month-label{font-size:15px!important;flex:1!important;text-align:center!important}.today-btn,.view-switcher{width:100%!important}.view-btn{flex:1!important;padding:8px 12px!important;font-size:12px!important}.calendar-day{min-height:60px!important;padding:3px!important}.day-number{font-size:11px!important}.event-badge{font-size:8px!important;padding:2px 3px!important;display:block!important;visibility:visible!important}.navbar-brand{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}.brand-name{font-size:16px!important}.brand-semester{font-size:11px!important}.nav-item{font-size:13px!important;padding:8px 12px!important}.user-info{display:none!important}.user-avatar{width:36px!important;height:36px!important}}@media(max-width:480px){.calendar-content-wrapper{padding:8px!important}.calendar-title-section{margin-bottom:10px!important}.calendar-main-title{font-size:18px!important}.calendar-subtitle{display:none!important}.calendar-content-wrapper>div:first-child h1{font-size:20px!important}.calendar-content-wrapper>div:first-child p{font-size:13px!important}.calendar-section{padding:10px!important}.month-label{font-size:14px!important}.nav-btn{width:28px!important;height:28px!important;font-size:11px!important}.today-btn{padding:6px 12px!important;font-size:12px!important}.view-btn{padding:6px 8px!important;font-size:11px!important}.calendar-day{min-height:50px!important;padding:2px!important}.day-number{font-size:10px!important}.event-badge{font-size:7px!important;padding:1px 2px!important;display:block!important;visibility:visible!important}.day-header{font-size:10px!important;padding:8px 4px!important}.top-navbar{background:#1a2332!important;padding:10px 12px!important}.brand-name{font-size:14px!important}.nav-item{font-size:12px!important;padding:6px 10px!important}.nav-icon-btn{width:36px!important;height:36px!important}.nav-icon-btn svg{width:16px!important;height:16px!important}}.forum-layout{display:flex;min-height:100vh;background:#f1f5f9}.forum-sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:20px 16px;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:0 8px}.brand-icon-svg{color:#3b82f6}.brand-name{font-size:16px;font-weight:700;color:#1e293b}.sidebar-search{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px}.sidebar-search svg{color:#94a3b8;flex-shrink:0}.sidebar-search input{border:none;background:none;font-size:14px;color:#1e293b;width:100%;outline:none}.sidebar-search input::placeholder{color:#94a3b8}.btn-new-thread{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;margin-bottom:20px;transition:all .2s}.btn-new-thread:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.sidebar-menu{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#64748b;text-decoration:none;font-size:14px;transition:all .2s}.menu-item:hover{background:#f8fafc;color:#1e293b}.menu-item.active{background:#dbeafe;color:#1e40af;font-weight:500}.menu-item svg{flex-shrink:0}.sidebar-courses{flex:1;border-top:1px solid #e2e8f0;padding-top:20px}.sidebar-courses h3{font-size:12px;text-transform:uppercase;color:#94a3b8;font-weight:600;padding:0 12px;margin-bottom:12px}.course-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:#475569;transition:all .2s}.course-item:hover{background:#f8fafc}.course-item.active{background:#dbeafe;color:#1e40af}.course-count{background:#f1f5f9;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.no-courses{font-size:13px;color:#94a3b8;padding:12px;text-align:center}.empty-state,.error-message{text-align:center;padding:60px 20px;color:#64748b;font-size:14px;background:#fff;border-radius:12px;border:1px dashed #e2e8f0}.error-message{color:#dc2626;border-color:#fecaca;background:#fef2f2}.tag-orange{background:#ffedd5;color:#c2410c}.forum-main{flex:1;display:flex;flex-direction:column;overflow:auto}.forum-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px 32px;border-bottom:1px solid #e2e8f0}.breadcrumb{display:flex;gap:8px;font-size:14px;color:#64748b}.header-right{display:flex;align-items:center;gap:16px}.nav-link{font-size:14px;color:#64748b;text-decoration:none;padding:8px 12px;border-radius:6px;transition:all .2s}.nav-link:hover{color:#1e293b;background:#f1f5f9}.nav-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#64748b;transition:all .2s}.nav-icon-btn:hover{background:#f1f5f9;color:#1e293b}.user-profile-wrapper{position:relative}.user-profile{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:50px;cursor:pointer;transition:all .2s}.user-profile:hover{background:#f1f5f9}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.user-name{font-size:14px;color:#1e293b;font-weight:500}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001f;min-width:180px;padding:8px;z-index:100}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:14px;color:#475569;text-decoration:none;background:none;border:none;width:100%;cursor:pointer;transition:all .2s}.dropdown-item:hover{background:#f1f5f9;color:#1e293b}.dropdown-item.logout:hover{background:#fef2f2;color:#dc2626}.forum-banner{background:linear-gradient(135deg,#1e40af,#3b82f6);padding:32px;color:#fff}.banner-content h1{font-size:28px;font-weight:700;margin-bottom:8px}.banner-content p{font-size:14px;opacity:.9;margin-bottom:20px}.banner-search{display:flex;align-items:center;gap:12px;background:#fff;padding:8px 8px 8px 16px;border-radius:12px;max-width:600px}.banner-search svg{color:#94a3b8;flex-shrink:0}.banner-search input{flex:1;border:none;font-size:14px;color:#1e293b;outline:none}.banner-search input::placeholder{color:#94a3b8}.search-btn{padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.search-btn:hover{background:#2563eb}.forum-content{padding:24px 32px;flex:1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2{font-size:18px;font-weight:600;color:#1e293b}.filters{display:flex;gap:12px;flex-wrap:wrap}.filters select{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;background:#fff;color:#475569;cursor:pointer}.btn-create-thread{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create-thread:hover{background:#2563eb}.thread-list{display:flex;flex-direction:column;gap:16px}.thread-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0;transition:all .2s}.thread-card:hover{box-shadow:0 4px 12px #00000014;border-color:#3b82f6}.thread-card.pinned{border-left:4px solid #f59e0b;background:linear-gradient(to right,#fffbeb,#fff)}.thread-header{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.badge.pinned{background:#fef3c7;color:#d97706}.badge.tag-red{background:#fee2e2;color:#dc2626}.badge.tag-blue{background:#dbeafe;color:#3b82f6}.badge.tag-green{background:#dcfce7;color:#16a34a}.badge.tag-gray{background:#f1f5f9;color:#64748b}.course-badge{background:#f1f5f9;padding:4px 10px;border-radius:12px;font-size:11px;color:#475569}.context-badge{background:#fef3c7;padding:4px 10px;border-radius:12px;font-size:11px;color:#92400e}.thread-title{font-size:16px;font-weight:600;margin-bottom:8px}.thread-title a{color:#1e293b;text-decoration:none}.thread-title a:hover{color:#3b82f6}.thread-description{font-size:14px;color:#64748b;line-height:1.5;margin-bottom:16px}.thread-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.author-info{display:flex;align-items:center;gap:10px}.author-avatar{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.author-details{display:flex;flex-direction:column}.author-name{font-size:14px;font-weight:500;color:#1e293b}.post-time{font-size:12px;color:#94a3b8}.thread-stats{display:flex;align-items:center;gap:16px}.participants{display:flex;align-items:center}.participant-avatar{width:28px;height:28px;background:#e2e8f0;color:#475569;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;border:2px solid white;position:relative}.more-participants{font-size:11px;color:#64748b;margin-left:4px}.stat{display:flex;align-items:center;gap:4px;font-size:13px;color:#64748b}.stat svg{color:#94a3b8}.load-more{text-align:center;margin-top:24px}.btn-load-more{padding:12px 32px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#3b82f6;font-size:14px;cursor:pointer;transition:all .2s}.btn-load-more:hover{background:#f8fafc;border-color:#3b82f6}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:560px;padding:24px;max-height:90vh;overflow-y:auto}.modal-header h2{font-size:18px;font-weight:600;color:#1e293b}.close-btn{width:36px;height:36px;border-radius:50%;background:#f1f5f9;border:none;display:flex;align-items:center;justify-content:center;color:#64748b;cursor:pointer;transition:all .2s}.close-btn:hover{background:#e2e8f0;color:#1e293b}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:120px}.btn-cancel{padding:12px 24px;background:#f1f5f9;border:none;border-radius:8px;font-size:14px;color:#475569;cursor:pointer;transition:all .2s}.btn-submit{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}@media(max-width:1024px){.section-header{flex-direction:column;align-items:flex-start}.filters{width:100%}.forum-header{padding:12px 20px}.forum-banner,.forum-content{padding:20px}}@media(max-width:768px){.forum-sidebar{display:none}.thread-footer{flex-direction:column;align-items:flex-start}.header-right{gap:8px}.nav-link{display:none}}.assignment-page{max-width:100%}.assignment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.header-left{flex:1}.assignment-badge{display:inline-block;background:#dbeafe;color:#1d4ed8;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:12px}.assignment-title{font-size:28px;font-weight:700;color:#1e3a5f;margin-bottom:8px}.assignment-due{font-size:14px;color:#64748b}.btn-share{background:#fff;border:1px solid #e2e8f0;padding:10px 20px;border-radius:8px;font-size:14px;color:#374151;cursor:pointer;transition:all .2s}.btn-share:hover{background:#f8fafc;border-color:#cbd5e1}.assignment-content{display:grid;grid-template-columns:1fr 400px;gap:24px}.section-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014;margin-bottom:16px}.section-title{font-size:14px;font-weight:600;color:#1e3a5f;margin-bottom:16px;display:flex;align-items:center;gap:8px}.instructions-section{display:flex;flex-direction:column}.instructions-text{font-size:14px;line-height:1.7;color:#475569}.instructions-text ul,.instructions-text ol{margin-left:20px;margin-top:12px}.instructions-text li{margin-bottom:8px}.material-files{display:flex;flex-direction:column;gap:12px}.material-file{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:8px;transition:background .2s}.material-file:hover{background:#f1f5f9}.material-file .file-icon{font-size:24px}.material-file .file-info{flex:1;display:flex;flex-direction:column}.material-file .file-name{font-size:14px;font-weight:500;color:#1e3a5f}.material-file .file-size{font-size:12px;color:#94a3b8}.btn-download-file{background:#fff;border:1px solid #e2e8f0;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-download-file:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.rubric-section{padding:0;overflow:hidden}.rubric-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#fff;border:none;font-size:14px;font-weight:600;color:#1e3a5f;cursor:pointer;transition:background .2s}.rubric-toggle:hover{background:#f8fafc}.toggle-icon{color:#64748b}.rubric-content{padding:0 24px 24px;border-top:1px solid #f1f5f9}.rubric-table{width:100%;border-collapse:collapse;margin-top:16px}.rubric-table th,.rubric-table td{padding:12px;text-align:left;border-bottom:1px solid #f1f5f9}.rubric-table th{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase}.rubric-table td{font-size:14px;color:#374151}.submission-section{position:sticky;top:24px}.submission-card{background:#fff}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #f1f5f9}.status-item{display:flex;flex-direction:column;gap:4px}.status-label{font-size:12px;color:#64748b}.status-value{font-size:14px;font-weight:600;color:#1e3a5f}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.submitted{background:#dcfce7;color:#16a34a}.time-left{color:#3b82f6!important}.time-left.overdue{color:#dc2626!important}.upload-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:32px 24px;text-align:center;margin-bottom:20px;transition:all .2s;cursor:pointer}.upload-zone:hover,.upload-zone.drag-over{border-color:#3b82f6;background:#3b82f60d}.upload-content{display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{font-size:40px;margin-bottom:8px}.upload-text{font-size:14px;color:#64748b}.upload-link{color:#3b82f6;font-weight:500;cursor:pointer}.upload-link:hover{text-decoration:underline}.hidden-input{display:none}.selected-file{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f0fdf4;border-radius:8px;margin-top:16px}.selected-file .file-icon{font-size:20px}.selected-file .file-name{flex:1;font-size:14px;color:#16a34a;font-weight:500}.remove-file{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;padding:4px}.text-submission{width:100%;padding:16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical;min-height:150px;margin-bottom:20px}.text-submission:focus{outline:none;border-color:#3b82f6}.comments-section{margin-bottom:20px}.comments-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.comments-input{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;resize:vertical}.comments-input:focus{outline:none;border-color:#3b82f6}.submit-buttons{display:flex;gap:12px}.btn-submit{flex:1;background:linear-gradient(90deg,#3b82f6,#60a5fa);color:#fff;border:none;padding:14px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-submit:hover{opacity:.9}.btn-draft{background:#fff;color:#374151;border:1px solid #e2e8f0;padding:14px 24px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-draft:hover{background:#f8fafc}.feedback-message{margin-top:16px;padding:12px 16px;border-radius:8px;font-size:14px}.feedback-message.success{background:#dcfce7;color:#16a34a}.feedback-message.error{background:#fee2e2;color:#dc2626}.history-section{margin-top:24px;padding-top:20px;border-top:1px solid #f1f5f9}.history-title{font-size:12px;font-weight:600;color:#64748b;letter-spacing:.5px;margin-bottom:12px}.no-history{font-size:14px;color:#94a3b8;font-style:italic}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;padding:12px;background:#f8fafc;border-radius:8px;font-size:13px;color:#64748b}.assignment-footer{text-align:center;padding:24px;margin-top:40px;font-size:13px;color:#94a3b8;border-top:1px solid #e2e8f0}@media(max-width:1024px){.assignment-content{grid-template-columns:1fr}.submission-section{position:static}}@media(max-width:768px){.assignment-header{flex-direction:column;gap:16px}.assignment-title{font-size:22px}.status-grid{grid-template-columns:1fr}.submit-buttons{flex-direction:column}}.instructor-course-page{display:flex;min-height:100vh;background:#f8fafc}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100vh;gap:16px}.back-link{color:#3b82f6;text-decoration:none}.course-sidebar{width:240px;background:linear-gradient(180deg,#1e3a5f,#0f172a);color:#fff;display:flex;flex-direction:column;padding:24px 16px;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;padding:0 8px}.brand-icon{font-size:28px}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:16px;font-weight:700}.brand-sub{font-size:11px;color:#94a3b8}.sidebar-menu{display:flex;flex-direction:column;gap:4px;flex:1}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#94a3b8;text-decoration:none;font-size:14px;transition:all .2s}.menu-item:hover{background:#ffffff1a;color:#fff}.menu-item.active{background:#3b82f64d;color:#fff}.menu-icon{font-size:18px}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;margin-top:16px}.logout-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:8px;color:#f87171;background:none;border:none;font-size:14px;cursor:pointer;width:100%}.course-main{flex:1;display:flex;flex-direction:column;overflow:auto}.course-header{background:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.header-left{display:flex;align-items:center;gap:12px}.header-user{font-weight:600;color:#1e293b}.header-role{background:#dbeafe;color:#3b82f6;padding:4px 12px;border-radius:16px;font-size:12px}.header-search input{width:400px;padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.header-actions{display:flex;gap:8px}.icon-btn{background:none;border:none;font-size:20px;padding:8px;cursor:pointer;border-radius:8px}.icon-btn:hover{background:#f1f5f9}.breadcrumb{padding:16px 32px;display:flex;gap:8px;font-size:14px;color:#64748b}.breadcrumb .current{color:#1e293b;font-weight:500}.course-title-section{padding:24px 32px;display:flex;justify-content:space-between;align-items:flex-start;background:#fff;border-bottom:1px solid #e2e8f0}.title-left h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.course-code{color:#3b82f6;margin-right:8px}.course-subtitle{font-size:14px;color:#64748b;margin-bottom:12px}.course-badges{display:flex;gap:8px}.badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.badge.blue{background:#dbeafe;color:#3b82f6}.badge.green{background:#dcfce7;color:#16a34a}.title-actions{display:flex;gap:12px}.btn-primary{background:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-secondary{background:#fff;color:#374151;border:1px solid #e2e8f0;padding:12px 20px;border-radius:8px;font-size:14px;cursor:pointer}.btn-primary:hover{background:#2563eb}.btn-secondary:hover{background:#f8fafc}.course-tabs{display:flex;gap:4px;padding:0 32px;background:#fff;border-bottom:1px solid #e2e8f0}.tab{padding:16px 24px;background:none;border:none;font-size:14px;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab:hover{color:#1e293b}.tab.active{color:#3b82f6;background:#eff6ff;border-bottom:3px solid #3b82f6;font-weight:600;border-radius:8px 8px 0 0}.course-content-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px 32px}.content-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0;margin-bottom:24px}.content-card h2{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:20px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn-primary-sm{background:#3b82f6;color:#fff;padding:8px 16px;border-radius:6px;font-size:13px;text-decoration:none}.btn-secondary-sm{background:#fff;border:1px solid #e2e8f0;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer}.info-text{color:#64748b;font-size:14px}.info-table{width:100%;border-collapse:collapse}.info-table tr{border-bottom:1px solid #f1f5f9}.info-table td{padding:12px 0;font-size:14px}.info-table .label{color:#64748b;width:180px}.description-text{font-size:14px;line-height:1.7;color:#475569;margin-bottom:20px}.learning-outcomes h3{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:12px}.learning-outcomes ul{padding-left:20px;color:#475569}.learning-outcomes li{margin-bottom:8px;font-size:14px}.student-list-preview{display:flex;flex-direction:column;gap:12px;margin-top:16px}.student-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.student-item .avatar{width:40px;height:40px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.student-item .info{flex:1;display:flex;flex-direction:column}.student-item .name{font-weight:500;color:#1e293b}.student-item .nim{font-size:12px;color:#64748b}.student-item .progress{font-size:13px;color:#16a34a}.settings-group{margin-bottom:20px}.settings-group label{display:block;font-weight:500;margin-bottom:8px;color:#374151}.settings-group select{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.checkbox-group{display:flex;flex-direction:column;gap:8px}.checkbox-group label{font-weight:400;display:flex;align-items:center;gap:8px}.content-right{display:flex;flex-direction:column;gap:20px}.sidebar-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e2e8f0}.sidebar-card h3{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:16px}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-item{text-align:center;padding:12px;background:#f8fafc;border-radius:8px}.stat-value{display:block;font-size:24px;font-weight:700;color:#3b82f6}.stat-label{font-size:11px;color:#64748b}.document-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px}.doc-icon{font-size:24px}.doc-info{flex:1;display:flex;flex-direction:column}.doc-name{font-size:13px;font-weight:500;color:#1e293b}.doc-size{font-size:11px;color:#94a3b8}.doc-action{background:none;border:none;font-size:16px;cursor:pointer}.document-preview{margin-bottom:12px;border-radius:8px;overflow:hidden}.document-preview img{width:100%;height:120px;object-fit:cover}.btn-outline{width:100%;background:#fff;border:1px solid #3b82f6;color:#3b82f6;padding:10px;border-radius:8px;font-size:13px;cursor:pointer}.team-list{display:flex;flex-direction:column;gap:12px}.team-member{display:flex;align-items:center;gap:12px}.member-avatar{width:40px;height:40px;background:#e0f2fe;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.member-info{display:flex;flex-direction:column}.member-name{font-size:14px;font-weight:500;color:#1e293b}.member-role{font-size:12px;color:#64748b}@media(max-width:1200px){.course-content-grid{grid-template-columns:1fr}.content-right{order:-1}}@media(max-width:768px){.course-sidebar{display:none}.header-search input{width:200px}.course-title-section{flex-direction:column;gap:16px}}.sidebar-user{display:flex;align-items:center;gap:12px;padding:16px 12px;margin-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-user .user-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden}.sidebar-user .user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user .user-info{display:flex;flex-direction:column}.sidebar-user .user-name{font-size:14px;font-weight:600;color:#fff}.sidebar-user .user-role{font-size:12px;color:#94a3b8}.draft-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;margin-left:12px;vertical-align:middle}.breadcrumb .separator{color:#cbd5e1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-group .required{color:#ef4444}.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-hint{font-size:13px;color:#64748b;margin-top:12px;line-height:1.6}.text-toolbar{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#f1f5f9;border:1px solid #e2e8f0;border-bottom:none;border-radius:8px 8px 0 0}.toolbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;color:#475569}.toolbar-btn:hover{background:#e2e8f0}.toolbar-divider{width:1px;height:20px;background:#cbd5e1;margin:0 8px}.description-textarea{border-radius:0 0 8px 8px!important;resize:vertical;min-height:160px}.upload-area{border:2px dashed #cbd5e1;border-radius:12px;padding:40px 24px;text-align:center;background:#f8fafc;cursor:pointer;transition:all .2s}.upload-area:hover{border-color:#3b82f6;background:#eff6ff}.upload-icon{font-size:48px;display:block;margin-bottom:12px}.upload-area p{color:#64748b;font-size:14px;margin-bottom:4px}.upload-hint{font-size:12px;color:#94a3b8}.cover-upload{text-align:center}.cover-preview{width:100%;height:120px;background:#f1f5f9;border-radius:8px;overflow:hidden;margin-bottom:12px}.cover-preview img{width:100%;height:100%;object-fit:cover}.btn-outline-sm{background:#fff;border:1px solid #e2e8f0;color:#475569;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;margin-bottom:8px}.btn-outline-sm:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.document-upload{border:2px dashed #cbd5e1;border-radius:8px;padding:20px;text-align:center;margin-bottom:16px;cursor:pointer}.document-upload:hover{border-color:#3b82f6;background:#eff6ff}.upload-instruction{font-size:13px;color:#64748b;margin-bottom:4px}.member-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-add-member{width:100%;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;padding:10px;border-radius:8px;font-size:13px;cursor:pointer;margin-top:12px;transition:all .2s}.btn-add-member:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.admin-only{font-size:11px;color:#94a3b8;font-weight:400;margin-left:4px}.field-value{padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:14px;min-height:22px}.field-value.description-text{white-space:pre-wrap;line-height:1.6;min-height:100px}.form-group select:disabled,.form-group input:disabled,.form-group textarea:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.page-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.page-title-row h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.page-title-row p{font-size:14px;color:#64748b;margin:0}.table-controls{display:flex;gap:16px;margin-bottom:20px}.search-box{flex:1;max-width:400px;position:relative}.search-box svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#94a3b8}.search-box input{width:100%;padding:12px 16px 12px 44px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff}.search-box input:focus{outline:none;border-color:#3b82f6}.role-filter{padding:12px 20px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;min-width:160px;cursor:pointer}.role-filter:focus{outline:none;border-color:#3b82f6}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:16px 20px;text-align:left;font-size:14px}.users-table th{background:#f8fafc;color:#64748b;font-weight:500;border-bottom:1px solid #e2e8f0}.users-table td{border-bottom:1px solid #f1f5f9}.users-table tr:hover td{background:#fafbfc}.loading-cell,.empty-cell{text-align:center;color:#94a3b8;padding:40px!important}.user-cell{display:flex;align-items:center;gap:12px}.table-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;flex-shrink:0}.user-name-text{font-weight:500;color:#1e293b}.email-cell{color:#64748b}.role-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.badge-admin{background:#fee2e2;color:#dc2626}.badge-dosen{background:#dbeafe;color:#3b82f6}.badge-mahasiswa{background:#dcfce7;color:#16a34a}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.active{background:#dcfce7;color:#16a34a}.status-badge.pending{background:#fef3c7;color:#f59e0b}.status-badge.inactive{background:#fee2e2;color:#dc2626}.action-btns{display:flex;gap:8px}.action-btn{background:none;border:1px solid #e2e8f0;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn svg{color:#64748b}.action-btn.edit:hover{background:#dbeafe;border-color:#3b82f6}.action-btn.edit:hover svg{color:#3b82f6}.action-btn.delete:hover{background:#fee2e2;border-color:#dc2626}.action-btn.delete:hover svg{color:#dc2626}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8fafc;border-top:1px solid #e2e8f0}.showing-text{font-size:13px;color:#64748b}.modal-overlay{position:fixed;inset:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;padding:24px;box-shadow:0 20px 40px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:18px;font-weight:600;color:#1e293b;margin:0}.close-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:4px}.close-btn:hover{background:#f1f5f9}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.btn-cancel{background:#f1f5f9;border:none;padding:12px 24px;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.btn-submit{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-submit:hover{background:#2563eb}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.admin-stats{grid-template-columns:1fr 1fr}}@media(max-width:768px){.page-title-row{flex-direction:column;gap:16px;align-items:flex-start}.admin-stats{grid-template-columns:1fr}.table-controls{flex-direction:column}.search-box{max-width:100%}}.quiz-exam-page{min-height:100vh;background:#f0f7ff;display:flex;flex-direction:column}.quiz-header{background:#fff;padding:12px 32px;display:flex;align-items:center;border-bottom:1px solid #e2e8f0;gap:40px}.header-brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:24px}.brand-name{font-size:16px;font-weight:700;color:#1e40af}.header-nav{display:flex;gap:32px;flex:1}.header-nav a,.header-nav span{color:#64748b;text-decoration:none;font-size:14px;padding:8px 0;border-bottom:2px solid transparent}.header-nav .active{color:#1e40af;font-weight:500;border-bottom-color:#1e40af}.header-actions{display:flex;align-items:center;gap:16px}.icon-btn{background:none;border:none;font-size:18px;cursor:pointer}.user-info{display:flex;align-items:center;gap:10px;font-size:14px;color:#1e293b}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.quiz-main{flex:1;padding:24px 32px;max-width:1200px;margin:0 auto;width:100%}.breadcrumb{display:flex;gap:8px;font-size:13px;color:#64748b;margin-bottom:16px}.breadcrumb a{color:#3b82f6;text-decoration:none}.breadcrumb .current{color:#1e293b}.title-section{margin-bottom:24px}.title-section h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:4px}.title-section p{font-size:14px;color:#64748b}.section{margin-bottom:32px}.section h2{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.active-quiz-card{background:#1e3a5f;border-radius:16px;padding:24px;color:#fff}.active-quiz{display:flex;align-items:center;gap:24px}.quiz-logo{flex-shrink:0}.logo-box{width:80px;height:80px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.quiz-info{flex:1}.quiz-info h3{font-size:18px;font-weight:600;margin-bottom:8px}.quiz-info p{font-size:13px;opacity:.8;margin-bottom:16px}.btn-resume{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.quiz-timer{text-align:center}.timer-label{font-size:12px;opacity:.7;display:block;margin-bottom:8px}.timer-display{display:flex;gap:4px;align-items:center}.time-unit{background:#fff3;padding:8px 12px;border-radius:8px;font-size:24px;font-weight:700;font-family:monospace}.time-sep{font-size:24px;font-weight:700}.quiz-list{display:flex;flex-direction:column;gap:12px}.quiz-card{background:#fff;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;border:1px solid #e2e8f0}.quiz-icon{font-size:32px}.quiz-details{flex:1}.quiz-details h3{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.quiz-details p{font-size:13px;color:#64748b;margin-bottom:8px}.quiz-meta{display:flex;gap:16px;font-size:12px;color:#94a3b8}.btn-start{background:#3b82f6;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.quiz-taking{display:flex;flex-direction:column;gap:20px}.timer-bar{background:#fff;border-radius:12px;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border:1px solid #e2e8f0}.timer-info{display:flex;flex-direction:column;gap:4px}.quiz-title{font-size:16px;font-weight:600;color:#1e293b}.question-progress{font-size:13px;color:#64748b}.timer-countdown{display:flex;align-items:center;gap:8px}.timer-icon{font-size:20px}.timer-value{font-size:24px;font-weight:700;font-family:monospace;color:#1e293b}.timer-value.warning{color:#dc2626}.btn-submit-quiz{background:#16a34a;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.question-card{background:#fff;border-radius:16px;padding:32px;border:1px solid #e2e8f0}.question-header{display:flex;justify-content:space-between;margin-bottom:16px}.question-number{font-size:14px;font-weight:600;color:#3b82f6}.question-points{font-size:13px;color:#64748b}.question-text{font-size:16px;line-height:1.6;color:#1e293b;margin-bottom:24px}.option-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.option-item:hover{border-color:#3b82f6;background:#f8fafc}.option-item.selected{border-color:#3b82f6;background:#dbeafe}.option-item input{display:none}.option-letter{width:32px;height:32px;background:#f1f5f9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;color:#64748b}.option-item.selected .option-letter{background:#3b82f6;color:#fff}.option-text{font-size:14px;color:#1e293b}.question-nav{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:16px 24px;border:1px solid #e2e8f0}.btn-prev,.btn-next,.btn-finish{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.btn-prev{background:#f1f5f9;color:#64748b;border:none}.btn-prev:disabled{opacity:.5;cursor:not-allowed}.btn-next{background:#3b82f6;color:#fff;border:none}.btn-finish{background:#16a34a;color:#fff;border:none}.question-dots{display:flex;gap:8px}.dot{width:36px;height:36px;border:2px solid #e2e8f0;background:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;color:#64748b}.dot.active{border-color:#3b82f6;background:#3b82f6;color:#fff}.dot.answered{background:#dcfce7;border-color:#16a34a;color:#16a34a}.quiz-footer{background:#1e293b;color:#94a3b8;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.footer-actions{display:flex;gap:16px}.footer-btn{background:#ffffff1a;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer}@media(max-width:768px){.quiz-header{flex-wrap:wrap;padding:16px}.header-nav{order:3;width:100%;justify-content:center;gap:16px}.active-quiz{flex-direction:column;text-align:center}.timer-bar,.question-nav{flex-direction:column;gap:16px}.question-dots{flex-wrap:wrap;justify-content:center}}.notifications-page-content{display:grid;grid-template-columns:1fr 320px;gap:24px;max-width:1400px;margin:0 auto;padding:24px}.notifications-main{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000014}.notifications-header-section{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.notifications-header-section h1{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 4px}.notifications-header-section p{font-size:14px;color:#64748b;margin:0}.btn-mark-all{padding:10px 16px;background:#eff6ff;color:#3b82f6;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-mark-all:hover{background:#dbeafe}.filter-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.filter-tab{padding:8px 16px;background:#f1f5f9;border:none;border-radius:20px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s;font-weight:500}.filter-tab:hover{background:#e2e8f0}.filter-tab.active{background:#3b82f6;color:#fff}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.empty-icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#334155;margin:0 0 8px}.empty-state p{color:#64748b;font-size:14px;margin:0}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-card{display:flex;gap:16px;padding:16px;border-radius:12px;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s;position:relative;background:#fff}.notification-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.notification-card.unread{background:#eff6ff;border-color:#bfdbfe}.notification-card.unread .notif-title-text{font-weight:700;color:#0f172a}.notification-card.unread .notif-message-text{color:#475569}.notification-card:not(.unread){background:#fafafa;border-color:#f1f5f9}.notification-card:not(.unread) .notif-title-text{font-weight:500;color:#64748b}.notification-card:not(.unread) .notif-message-text{color:#94a3b8}.notification-card:not(.unread) .notif-icon-circle{background:#f8fafc;opacity:.7}.notif-icon-circle{width:48px;height:48px;border-radius:50%;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.notif-body{flex:1;min-width:0}.notif-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.notif-type-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.notif-course-badge{font-size:11px;padding:2px 8px;background:#f1f5f9;color:#64748b;border-radius:4px;font-weight:500}.notif-time-text{font-size:12px;color:#94a3b8;margin-left:auto}.notif-title-text{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px;line-height:1.4}.notif-message-text{font-size:14px;color:#64748b;line-height:1.5;margin:0}.unread-indicator{position:absolute;top:16px;right:16px;width:8px;height:8px;background:#3b82f6;border-radius:50%}.notifications-sidebar{display:flex;flex-direction:column;gap:16px}.sidebar-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.sidebar-card h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.settings-list{display:flex;flex-direction:column;gap:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.setting-row span{font-size:14px;color:#334155}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#3b82f6}input:checked+.toggle-slider:before{transform:translate(20px)}.sidebar-link{display:block;padding:10px 12px;color:#64748b;text-decoration:none;font-size:14px;border-radius:6px;transition:all .2s;margin-bottom:4px}.sidebar-link:hover{background:#f8fafc;color:#3b82f6}.profile-card-sidebar{text-align:center}.profile-avatar-circle{width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;margin:0 auto 12px}.profile-card-sidebar h4{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 2px}.profile-card-sidebar p{font-size:13px;color:#64748b;margin:0 0 12px}.profile-link-btn{display:inline-block;color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500}.profile-link-btn:hover{text-decoration:underline}@media(max-width:1024px){.notifications-page-content{grid-template-columns:1fr}.notifications-sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-card{flex:1;min-width:280px}}@media(max-width:768px){.notifications-page-content{padding:16px}.notifications-header-section{flex-direction:column;gap:12px}.filter-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.notifications-sidebar{flex-direction:column}}.quiz-detail-page-new{min-height:100vh;background:#f5f7fa}.top-navbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.5rem}.brand-name{font-size:1.5rem;font-weight:700;color:#2563eb}.navbar-menu{display:flex;gap:2rem;flex:1;justify-content:center}.nav-item{color:#6b7280;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .2s}.nav-item:hover,.nav-item.active{color:#2563eb;background:#eff6ff}.navbar-right{display:flex;align-items:center;gap:1rem}.nav-icon-btn{padding:.5rem;border-radius:6px;color:#6b7280;transition:all .2s;display:flex;align-items:center}.nav-icon-btn:hover{background:#f3f4f6;color:#2563eb}.user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-radius:8px;background:#f9fafb}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-name{font-weight:500;color:#1f2937}.breadcrumb-container{padding:1rem 2rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;background:#fff;border-bottom:1px solid #e5e7eb}.breadcrumb-container a{color:#2563eb;text-decoration:none}.breadcrumb-container a:hover{text-decoration:underline}.breadcrumb-container .active{color:#1f2937;font-weight:500}.quiz-detail-main{max-width:1200px;margin:0 auto;padding:2rem}.page-title-section{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem}.page-title-section>div{flex:1}.page-title-section h1{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.page-title-section p{color:#6b7280;margin:0;font-size:.938rem}.btn-feedback{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:1px solid #e5e7eb;background:#fff;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.btn-feedback:hover{background:#f9fafb;border-color:#d1d5db}.section-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#dbeafe;border-radius:8px;margin-bottom:1rem;font-weight:600;color:#1e40af}.section-header.upcoming{background:#fef3c7;color:#92400e}.section-header.completed{background:#d1fae5;color:#065f46}.section-icon{font-size:1.25rem}.quiz-card-large{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;overflow:hidden}.quiz-card-content{display:grid;grid-template-columns:200px 1fr;gap:2rem;padding:2rem}.quiz-avatar{display:flex;align-items:center;justify-content:center}.avatar-circle{width:160px;height:160px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;box-shadow:0 10px 25px #3b82f64d}.quiz-info-section{display:flex;flex-direction:column;gap:1rem}.quiz-badge-status{display:inline-flex;align-items:center;padding:.375rem .875rem;background:#fef3c7;color:#92400e;border-radius:6px;font-size:.875rem;font-weight:600;width:fit-content}.quiz-main-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0;line-height:1.3}.quiz-description-text{color:#6b7280;line-height:1.6;margin:0}.quiz-meta-info{display:flex;gap:1.5rem;margin-top:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.meta-item svg{color:#9ca3af}.btn-start-large{padding:.875rem 2rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s;width:fit-content;margin-top:.5rem}.btn-start-large:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-start-large:disabled{background:#d1d5db;cursor:not-allowed}.quiz-deadline-info{padding:.875rem 1.5rem;background:#fff;border-radius:8px;color:#6b7280;font-size:.875rem;margin-top:.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #0000001a}.empty-section{background:#fff;border-radius:12px;padding:2rem 3rem;text-align:center;color:#9ca3af;margin-bottom:1.5rem;border:2px dashed #e5e7eb;font-size:.875rem}.stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 1px 3px #0000001a}.stat-number{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.5rem}.stat-label{color:#6b7280;font-size:.875rem}.bottom-action{display:flex;justify-content:flex-end;margin-top:1.5rem}.btn-submit-quiz{padding:.75rem 2rem;background:#10b981;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit-quiz:hover:not(:disabled){background:#059669}.btn-submit-quiz:disabled{background:#d1d5db;cursor:not-allowed}.completed-quiz-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;margin-bottom:2rem}.completed-content{display:flex;align-items:center;justify-content:space-between}.completed-content h3{margin:0;font-size:1.125rem;color:#1f2937}.score-display{display:flex;align-items:center;gap:1rem}.score-display .score{font-size:1.5rem;font-weight:700;color:#059669}.btn-view-result-small{padding:.625rem 1.5rem;background:#f3f4f6;color:#374151;border-radius:8px;text-decoration:none;font-weight:500;transition:all .2s}.btn-view-result-small:hover{background:#e5e7eb}.quiz-detail-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#6b7280}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.quiz-detail-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.quiz-detail-error h2{color:#1f2937}.quiz-detail-error a{padding:.75rem 1.5rem;background:#2563eb;color:#fff;text-decoration:none;border-radius:8px;font-weight:500}@media(max-width:768px){.quiz-card-content{grid-template-columns:1fr;gap:1.5rem}.avatar-circle{width:120px;height:120px;font-size:2rem}.navbar-menu{display:none}.completed-content{flex-direction:column;align-items:flex-start;gap:1rem}}.quiz-take-page{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.quiz-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.quiz-header{background:linear-gradient(135deg,#1e3a5f,#2563eb);color:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.quiz-info h1{font-size:18px;font-weight:600;margin:0 0 4px}.quiz-info p{font-size:13px;opacity:.8;margin:0}.quiz-timer{display:flex;align-items:center;gap:16px}.timer{display:flex;align-items:center;gap:8px;background:#ffffff26;padding:10px 20px;border-radius:8px;font-size:20px;font-weight:700;font-family:Courier New,monospace}.timer.warning{background:#f59e0b;animation:pulse 1s ease-in-out infinite}.timer.danger{background:#dc2626;animation:pulse .5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-submit-header{background:#fff;color:#2563eb;border:none;padding:10px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit-header:hover{background:#f8fafc;transform:translateY(-1px)}.quiz-content{display:flex;flex:1;gap:24px;padding:24px;max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}.question-area{flex:1;background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.question-number{font-size:14px;color:#64748b;font-weight:500}.btn-mark-review{background:#f8fafc;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.btn-mark-review:hover{background:#f1f5f9}.btn-mark-review.marked{background:#fef3c7;border-color:#fcd34d;color:#92400e}.question-content{flex:1}.question-text{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 24px;line-height:1.6}.options-list{display:flex;flex-direction:column;gap:12px}.option-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.option-item:hover{border-color:#93c5fd;background:#eff6ff}.option-item.selected{border-color:#3b82f6;background:#eff6ff}.option-item input[type=radio]{display:none}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:2px solid #e2e8f0;border-radius:50%;font-size:14px;font-weight:600;color:#64748b;flex-shrink:0}.option-item.selected .option-letter{background:#3b82f6;border-color:#3b82f6;color:#fff}.option-text{font-size:15px;color:#334155;line-height:1.5}.question-navigation{display:flex;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}.btn-nav{padding:12px 24px;background:#f1f5f9;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#475569;cursor:pointer;transition:all .2s}.btn-nav:hover:not(:disabled){background:#e2e8f0}.btn-nav:disabled{opacity:.5;cursor:not-allowed}.btn-nav.next{background:#3b82f6;color:#fff}.btn-nav.next:hover:not(:disabled){background:#2563eb}.question-navigator{width:280px;background:#fff;border-radius:16px;padding:20px;box-shadow:0 1px 3px #0000001a;align-self:flex-start;position:sticky;top:24px}.question-navigator h3{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 16px}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px}.question-num{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.question-num:hover{border-color:#93c5fd}.question-num.current{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.question-num.answered{background:#dcfce7;border-color:#86efac;color:#16a34a}.question-num.review{background:#fef3c7;border-color:#fcd34d;color:#92400e}.navigator-legend{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-top:16px;border-top:1px solid #e2e8f0}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.legend-box{width:16px;height:16px;border-radius:4px;border:2px solid #e2e8f0}.legend-box.answered{background:#dcfce7;border-color:#86efac}.legend-box.review{background:#fef3c7;border-color:#fcd34d}.legend-box.unanswered{background:#f1f5f9;border-color:#e2e8f0}.progress-summary{background:#f8fafc;padding:12px;border-radius:8px;text-align:center}.progress-summary p{margin:0;font-size:13px;color:#475569}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%}.modal-content h2{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 8px}.modal-content>p{color:#64748b;margin:0 0 24px}.submit-summary{background:#f8fafc;border-radius:12px;padding:16px;margin-bottom:24px}.summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0}.summary-item:last-child{border-bottom:none}.summary-item span{color:#64748b;font-size:14px}.summary-item strong{color:#1e293b;font-size:14px}.modal-actions{display:flex;gap:12px}.btn-cancel,.btn-confirm{flex:1;padding:12px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel{background:#f1f5f9;color:#475569}.btn-cancel:hover{background:#e2e8f0}.btn-confirm{background:#3b82f6;color:#fff}.btn-confirm:hover:not(:disabled){background:#2563eb}.btn-confirm:disabled{background:#94a3b8;cursor:not-allowed}@media(max-width:900px){.quiz-content{flex-direction:column-reverse}.question-navigator{width:100%;position:static}.question-grid{grid-template-columns:repeat(10,1fr)}}@media(max-width:600px){.quiz-header{flex-direction:column;gap:16px;text-align:center}.quiz-content,.question-area{padding:16px}.question-grid{grid-template-columns:repeat(6,1fr)}.navigator-legend{flex-direction:row;flex-wrap:wrap;gap:12px}}.quiz-result-content{max-width:900px;margin:0 auto;padding:24px}.result-header{margin-bottom:32px}.back-link{display:inline-flex;align-items:center;gap:8px;color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:16px;transition:all .2s}.back-link:hover{color:#2563eb}.result-header h1{font-size:28px;font-weight:700;color:#1e293b;margin:0 0 8px}.result-header p{font-size:14px;color:#64748b;margin:0}.score-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000d;margin-bottom:32px}.score-display{display:flex;align-items:center;justify-content:center;gap:32px;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e2e8f0}.score-circle{width:160px;height:160px;border-radius:50%;border:8px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc}.score-number{font-size:36px;font-weight:700;line-height:1;margin-bottom:4px}.score-percentage{font-size:18px;font-weight:600;color:#64748b}.score-grade{width:80px;height:80px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;box-shadow:0 4px 12px #00000026}.score-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-item{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px}.stat-item.correct{background:#f0fdf4;border:1px solid #bbf7d0}.stat-item.incorrect{background:#fef2f2;border:1px solid #fecaca}.stat-item.unanswered{background:#f8fafc;border:1px solid #e2e8f0}.stat-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.stat-item.correct .stat-icon{background:#dcfce7;color:#16a34a}.stat-item.incorrect .stat-icon{background:#fee2e2;color:#dc2626}.stat-item.unanswered .stat-icon{background:#e2e8f0;color:#64748b}.stat-info{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:12px;color:#64748b}.stat-value{font-size:24px;font-weight:700;color:#1e293b}.submission-info{display:flex;justify-content:space-around;padding:16px;background:#f8fafc;border-radius:12px}.info-item{display:flex;flex-direction:column;gap:4px;text-align:center}.info-item span{font-size:12px;color:#64748b}.info-item strong{font-size:14px;color:#1e293b}.answer-review{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000d}.answer-review h2{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 24px}.answers-list{display:flex;flex-direction:column;gap:16px}.answer-item{padding:20px;border-radius:12px;border:2px solid}.answer-item.correct{background:#f0fdf4;border-color:#86efac}.answer-item.incorrect{background:#fef2f2;border-color:#fca5a5}.answer-item.unanswered{background:#f8fafc;border-color:#e2e8f0}.answer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-number{font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.answer-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.answer-badge.correct{background:#dcfce7;color:#16a34a}.answer-badge.incorrect{background:#fee2e2;color:#dc2626}.answer-badge.unanswered{background:#e2e8f0;color:#64748b}.question-text{font-size:16px;font-weight:600;color:#1e293b;line-height:1.6;margin:0 0 16px}.answer-info{margin-bottom:12px}.your-answer,.correct-answer-info{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px}.your-answer{background:#ffffff80}.correct-answer-info{background:#dcfce7;border:1px solid #86efac}.your-answer .label,.correct-answer-info .label{font-size:13px;font-weight:500;color:#64748b;min-width:120px}.your-answer .value{font-size:14px;font-weight:600}.your-answer .value.correct{color:#16a34a}.your-answer .value.incorrect{color:#dc2626}.correct-answer-info .value{font-size:14px;font-weight:600;color:#16a34a}@media(max-width:768px){.quiz-result-content{padding:16px}.score-card{padding:24px}.score-display{flex-direction:column;gap:24px}.score-stats{grid-template-columns:1fr}.submission-info{flex-direction:column;gap:12px}.answer-review{padding:20px}}.sp-page{display:flex;min-height:100vh;background:#f5f7fa}.sp-sidebar{width:220px;background:#1e293b;color:#fff;display:flex;flex-direction:column;padding:20px 12px;flex-shrink:0}.sp-brand{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:24px}.sp-brand-icon{font-size:22px}.sp-brand-name{font-size:15px;font-weight:700}.sp-menu{display:flex;flex-direction:column;gap:4px;flex:1}.sp-menu-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;color:#ffffffb3;text-decoration:none;font-size:13px;background:none;border:none;cursor:pointer;width:100%;text-align:left}.sp-menu-item:hover{background:#ffffff1a;color:#fff}.sp-menu-item.active{background:#3b82f6;color:#fff}.sp-menu-item.logout{color:#fca5a5}.sp-menu-icon{font-size:16px}.sp-menu-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:12px;display:flex;flex-direction:column;gap:4px}.sp-main{flex:1;display:flex;flex-direction:column;overflow:auto}.sp-header{background:#fff;padding:12px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.sp-header-nav{display:flex;gap:28px}.sp-header-nav a,.sp-header-nav span{color:#64748b;text-decoration:none;font-size:13px;padding:8px 0}.sp-header-nav .active{color:#3b82f6;font-weight:600;border-bottom:2px solid #3b82f6}.sp-header-user{display:flex;align-items:center;gap:10px;font-size:13px;color:#1e293b}.sp-avatar{width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.sp-content{padding:24px 28px}.sp-title{margin-bottom:20px}.sp-title h1{font-size:20px;font-weight:700;color:#1e293b;margin-bottom:4px}.sp-title p{font-size:13px;color:#64748b}.sp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.sp-stat-card{background:#fff;border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;border:1px solid #e2e8f0}.sp-stat-card.warning{background:#fef3c7;border-color:#fcd34d}.sp-stat-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.sp-stat-icon.blue{background:#dbeafe}.sp-stat-icon.green{background:#dcfce7}.sp-stat-icon.purple{background:#e0e7ff}.sp-stat-icon.orange{background:#fed7aa}.sp-stat-info{display:flex;flex-direction:column}.sp-stat-value{font-size:24px;font-weight:700;color:#1e293b;line-height:1.1}.sp-stat-label{font-size:12px;color:#64748b;line-height:1.3}.sp-charts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.sp-chart-card{background:#fff;border-radius:14px;padding:18px;border:1px solid #e2e8f0}.sp-chart-card h3{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:14px}.sp-chart-note{font-size:11px;color:#94a3b8;text-align:center;margin-top:10px}.sp-bar-chart{display:flex;justify-content:space-around;align-items:flex-end;height:90px}.sp-bar-item{display:flex;flex-direction:column;align-items:center;gap:6px}.sp-bar{width:28px;background:linear-gradient(180deg,#f59e0b,#fbbf24);border-radius:4px 4px 0 0;min-height:8px}.sp-bar-label{font-size:11px;color:#64748b;font-weight:500}.sp-donut-container{display:flex;flex-direction:column;align-items:center}.sp-donut{position:relative;width:90px;height:90px;margin-bottom:10px}.sp-donut svg{width:100%;height:100%}.sp-donut-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;font-weight:700;color:#1e293b}.sp-donut-legend{display:flex;gap:14px;font-size:11px;color:#64748b}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dot.blue{background:#3b82f6}.dot.gray{background:#e2e8f0}.sp-avatars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sp-class-avatar{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:600}.sp-table-card{background:#fff;border-radius:14px;padding:18px;border:1px solid #e2e8f0}.sp-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sp-table-tabs{display:flex;gap:8px}.sp-tab{padding:6px 14px;border:1px solid #e2e8f0;background:#fff;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer}.sp-tab.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.sp-search{padding:8px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;width:180px}.sp-table{width:100%;border-collapse:collapse}.sp-table th,.sp-table td{padding:12px;text-align:left;font-size:13px}.sp-table th{background:#f8fafc;color:#64748b;font-weight:500}.sp-table td{border-bottom:1px solid #f1f5f9}.sp-name-cell{display:flex;align-items:center;gap:10px}.sp-student-avatar{width:30px;height:30px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.sp-progress-cell{display:flex;align-items:center;gap:10px}.sp-progress-bar{width:80px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.sp-progress-fill{height:100%;border-radius:3px}.sp-status{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.sp-status.excellent{background:#dcfce7;color:#16a34a}.sp-status.good{background:#dbeafe;color:#3b82f6}.sp-status.average{background:#fef3c7;color:#d97706}.sp-status.at_risk{background:#fee2e2;color:#dc2626}.sp-action-btn{background:#f1f5f9;border:none;padding:6px 12px;border-radius:6px;font-size:11px;cursor:pointer}@media(max-width:1100px){.sp-stats{grid-template-columns:repeat(2,1fr)}.sp-charts{grid-template-columns:1fr}}@media(max-width:768px){.sp-sidebar{display:none}}.pm-page{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.pm-header{background:#fff;padding:12px 24px;display:flex;align-items:center;border-bottom:1px solid #e2e8f0;gap:20px}.pm-header-left{display:flex;align-items:center;gap:12px}.pm-logo{font-size:22px}.pm-brand{font-size:15px;font-weight:700;color:#1e293b}.pm-search input{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;width:180px}.pm-header-nav{display:flex;gap:24px;flex:1;justify-content:center}.pm-header-nav a,.pm-header-nav span{color:#64748b;text-decoration:none;font-size:13px;padding:8px 0}.pm-header-nav .active{color:#3b82f6;font-weight:600;border-bottom:2px solid #3b82f6}.pm-header-right{display:flex;align-items:center}.pm-avatar{width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.pm-main{flex:1;padding:24px 32px;max-width:1200px;margin:0 auto;width:100%}.pm-breadcrumb{display:flex;gap:8px;font-size:13px;color:#64748b;margin-bottom:16px}.pm-breadcrumb a{color:#3b82f6;text-decoration:none}.pm-breadcrumb .current{color:#1e293b}.pm-title-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.pm-title-left h1{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:4px}.pm-title-left p{font-size:13px;color:#64748b}.pm-title-right{display:flex;gap:10px}.pm-btn-outline{background:#fff;border:1px solid #e2e8f0;padding:10px 18px;border-radius:8px;font-size:13px;cursor:pointer}.pm-btn-primary{background:#3b82f6;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.pm-tabs{display:flex;gap:4px;margin-bottom:20px}.pm-tab{padding:10px 20px;background:#f1f5f9;border:none;border-radius:8px;font-size:13px;color:#64748b;cursor:pointer}.pm-tab.active{background:#3b82f6;color:#fff}.pm-filters-section{display:flex;gap:16px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.pm-search-box input{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;width:320px}.pm-sort{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;cursor:pointer}.pm-filter-badges{display:flex;gap:8px}.pm-badge{padding:6px 14px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;font-size:12px;color:#64748b;cursor:pointer}.pm-badge.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.pm-featured-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;gap:20px;margin-bottom:24px}.pm-featured-icon{width:56px;height:56px;background:#dbeafe;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px}.pm-featured-content{flex:1}.pm-featured-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.pm-featured-header h3{font-size:16px;font-weight:600;color:#1e293b}.pm-overview-badge{background:#dcfce7;color:#16a34a;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500}.pm-featured-content p{font-size:13px;color:#64748b;margin-bottom:6px}.pm-version{font-size:11px;color:#94a3b8}.pm-featured-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.pm-auto-sync{display:flex;align-items:center;gap:10px}.pm-sync-label{font-size:10px;color:#64748b;text-transform:uppercase}.pm-toggle{position:relative;width:44px;height:24px}.pm-toggle input{opacity:0;width:0;height:0}.pm-slider{position:absolute;cursor:pointer;inset:0;background:#e2e8f0;border-radius:24px;transition:.3s}.pm-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.pm-toggle input:checked+.pm-slider{background:#22c55e}.pm-toggle input:checked+.pm-slider:before{transform:translate(20px)}.pm-configure-btn{background:#f1f5f9;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;font-size:12px;cursor:pointer}.pm-services-section{margin-bottom:32px}.pm-services-section h2{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:16px}.pm-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pm-service-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.pm-service-card.action_required{border-color:#fcd34d;background:#fffbeb}.pm-service-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.pm-service-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.pm-action-badge{background:#fef3c7;color:#d97706;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:500}.pm-service-card h4{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:6px}.pm-service-card p{font-size:12px;color:#64748b;margin-bottom:14px;line-height:1.5}.pm-service-footer{display:flex;justify-content:space-between;align-items:center}.pm-status{font-size:12px;font-weight:500}.pm-status.enabled{color:#22c55e}.pm-status.disabled{color:#94a3b8}.pm-settings-link{color:#3b82f6;font-size:12px;text-decoration:none}.pm-api-info{font-size:11px;color:#94a3b8}.pm-renew-btn{background:none;border:none;color:#3b82f6;font-size:12px;font-weight:500;cursor:pointer}.pm-service-card.marketplace-card{border:2px dashed #e2e8f0;text-align:center;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.pm-plus-icon{font-size:32px;color:#3b82f6;margin-bottom:10px}.pm-service-card.marketplace-card h4{color:#3b82f6}.pm-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid #e2e8f0;font-size:12px;color:#94a3b8}.pm-footer-links{display:flex;gap:20px}.pm-footer-links a{color:#3b82f6;text-decoration:none}@media(max-width:1024px){.pm-services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.pm-services-grid{grid-template-columns:1fr}.pm-title-section{flex-direction:column;gap:16px}.pm-header-nav{display:none}}.ss-page{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.ss-header{background:#fff;padding:12px 24px;display:flex;align-items:center;border-bottom:1px solid #e2e8f0;gap:20px}.ss-header-left{display:flex;align-items:center;gap:12px}.ss-logo{font-size:22px}.ss-brand{font-size:15px;font-weight:700;color:#1e293b}.ss-search input{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;width:200px}.ss-header-nav{display:flex;gap:24px;flex:1;justify-content:center}.ss-header-nav a,.ss-header-nav span{color:#64748b;text-decoration:none;font-size:13px;padding:8px 0}.ss-header-nav .active{color:#3b82f6;font-weight:600;border-bottom:2px solid #3b82f6}.ss-header-right{display:flex;align-items:center;gap:12px}.ss-audit-btn{background:#f1f5f9;border:1px solid #e2e8f0;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer}.ss-avatar{width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.ss-layout{display:flex;flex:1}.ss-sidebar{width:220px;background:#fff;border-right:1px solid #e2e8f0;padding:20px 12px;flex-shrink:0}.ss-menu{display:flex;flex-direction:column;gap:4px}.ss-menu-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;color:#64748b;font-size:13px;background:none;border:none;cursor:pointer;width:100%;text-align:left}.ss-menu-item:hover{background:#f1f5f9}.ss-menu-item.active{background:#dbeafe;color:#3b82f6;font-weight:500}.ss-menu-icon{font-size:16px}.ss-menu-divider{padding:16px 14px 8px;font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.ss-main{flex:1;padding:24px 32px;overflow-y:auto}.ss-breadcrumb{display:flex;gap:8px;font-size:13px;color:#64748b;margin-bottom:16px}.ss-breadcrumb a{color:#3b82f6;text-decoration:none}.ss-breadcrumb .current{color:#1e293b}.ss-title-section{margin-bottom:24px}.ss-title-section h1{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:4px}.ss-title-section p{font-size:13px;color:#64748b}.ss-section{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:20px}.ss-section-header{display:flex;gap:14px;margin-bottom:20px}.ss-section-icon{font-size:24px}.ss-section-header h2{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:2px}.ss-section-header p{font-size:12px;color:#64748b}.ss-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ss-form-group{display:flex;flex-direction:column;gap:6px}.ss-form-group.wide{grid-column:span 3}.ss-form-group label{font-size:12px;color:#64748b;font-weight:500}.ss-form-group input,.ss-form-group select{padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.ss-toggle-group{display:flex;flex-direction:column;gap:16px}.ss-toggle-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9}.ss-toggle-label{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.ss-toggle{position:relative;width:44px;height:24px}.ss-toggle input{opacity:0;width:0;height:0}.ss-slider{position:absolute;cursor:pointer;inset:0;background:#e2e8f0;border-radius:24px;transition:.3s}.ss-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.ss-toggle input:checked+.ss-slider{background:#3b82f6}.ss-toggle input:checked+.ss-slider:before{transform:translate(20px)}.ss-sub-options{padding-left:20px;border-left:2px solid #e2e8f0;margin-left:10px}.ss-sub-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px}.ss-checkbox-group{display:flex;gap:20px;flex-wrap:wrap}.ss-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b;cursor:pointer}.ss-checkbox input{width:16px;height:16px;accent-color:#3b82f6}.ss-method-badges{display:flex;gap:10px}.ss-method-badge{background:#f1f5f9;padding:6px 12px;border-radius:6px;font-size:12px;color:#64748b}.ss-ip-section{margin-top:10px}.ss-ip-input-row{display:flex;gap:10px}.ss-ip-input-row input{flex:1;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.ss-ip-hint{font-size:11px;color:#94a3b8;margin-top:6px;display:block}.ss-update-card{background:#dbeafe;border:1px solid #93c5fd;border-radius:14px;padding:20px;display:flex;gap:16px;align-items:flex-start}.ss-update-icon{font-size:28px}.ss-update-content{flex:1}.ss-update-content h3{font-size:15px;font-weight:600;color:#1e40af;margin-bottom:8px}.ss-update-list{list-style:none;font-size:13px;color:#3b82f6;margin-bottom:8px}.ss-update-list li{margin-bottom:4px}.ss-update-note{font-size:11px;color:#64748b}.ss-update-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.ss-version{font-size:12px;color:#3b82f6;font-weight:500}.ss-update-btn{background:#3b82f6;color:#fff;border:none;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}@media(max-width:1024px){.ss-form-grid{grid-template-columns:repeat(2,1fr)}.ss-form-group.wide{grid-column:span 2}}@media(max-width:768px){.ss-sidebar{display:none}.ss-form-grid{grid-template-columns:1fr}.ss-form-group.wide{grid-column:span 1}.ss-update-card{flex-direction:column}}.br-page{display:flex;min-height:100vh}.br-left-panel{width:380px;background:linear-gradient(180deg,#1e3a5f,#2563eb);color:#fff;padding:24px;flex-shrink:0;overflow-y:auto}.br-breadcrumb{display:flex;gap:8px;font-size:12px;margin-bottom:20px}.br-breadcrumb a{color:#ffffffb3;text-decoration:none}.br-breadcrumb a:hover,.br-breadcrumb .current{color:#fff}.br-breadcrumb span:not(.current){color:#ffffff80}.br-title{margin-bottom:28px}.br-title h1{font-size:22px;font-weight:700;margin-bottom:6px}.br-title p{font-size:13px;color:#fffc}.br-section{margin-bottom:24px}.br-section h2{font-size:14px;font-weight:600;margin-bottom:12px}.br-upload-group{display:flex;flex-direction:column;gap:10px}.br-upload-group label{font-size:12px;color:#fffc}.br-upload-area{border:2px dashed rgba(255,255,255,.3);border-radius:12px;padding:24px;text-align:center;cursor:pointer;position:relative;transition:all .2s}.br-upload-area:hover{border-color:#fff9;background:#ffffff0d}.br-upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer}.br-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px}.br-upload-icon{font-size:28px}.br-upload-placeholder span{font-size:12px;color:#ffffffb3}.br-upload-hint{font-size:10px;color:#ffffff80}.br-file-name{font-size:11px;color:#fffc}.br-upload-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.br-upload-btn:hover{background:#ffffff40}.br-favicon-row{display:flex;align-items:center;gap:14px}.br-favicon-preview{width:48px;height:48px;background:#ffffff1a;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px}.br-favicon-upload{position:relative;flex:1}.br-favicon-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.br-favicon-upload span{display:block;padding:10px;border:1px dashed rgba(255,255,255,.3);border-radius:8px;text-align:center;font-size:12px;color:#ffffffb3}.br-color-note{font-size:11px;color:#fff9;margin-bottom:14px}.br-color-row{display:flex;gap:16px}.br-color-group{flex:1}.br-color-group label{display:block;font-size:11px;color:#ffffffb3;margin-bottom:6px}.br-color-input{display:flex;gap:8px}.br-color-input input[type=color]{width:40px;height:36px;border:none;border-radius:6px;cursor:pointer}.br-color-input input[type=text]{flex:1;padding:8px 10px;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:#ffffff1a;color:#fff;font-size:12px;font-family:monospace}.br-defaults-row{display:flex;gap:8px}.br-default-btn{flex:1;padding:10px;border:1px solid rgba(255,255,255,.3);background:#ffffff1a;color:#fff;border-radius:8px;font-size:12px;cursor:pointer}.br-default-btn.active{background:#fff;color:#1e3a5f;border-color:#fff}.br-save-btn{width:100%;padding:14px;background:#fff;color:#1e3a5f;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;margin-top:16px}.br-right-panel{flex:1;background:#f8fafc;padding:24px;display:flex;flex-direction:column}.br-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.br-preview-header h3{font-size:16px;font-weight:600;color:#1e293b}.br-preview-controls{display:flex;gap:14px;align-items:center}.br-preview-tabs{display:flex;gap:4px;background:#e2e8f0;padding:4px;border-radius:8px}.br-preview-tabs button{padding:6px 14px;border:none;background:transparent;border-radius:6px;font-size:12px;color:#64748b;cursor:pointer}.br-preview-tabs button.active{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.br-screen-select{padding:8px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:12px}.br-preview-window{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;box-shadow:0 4px 20px #0000000d}.br-preview-container{display:flex;height:100%;border-radius:10px;overflow:hidden;border:1px solid #e2e8f0}.br-preview-sidebar{width:160px;padding:14px;color:#fff}.br-preview-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;margin-bottom:20px}.br-preview-menu{display:flex;flex-direction:column;gap:4px}.br-preview-menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:11px;color:#fffc}.br-preview-menu-item.active{background:#fff3;color:#fff}.br-preview-main{flex:1;background:#f8fafc}.br-preview-topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0;font-size:13px;font-weight:600;color:#1e293b}.br-preview-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}.br-preview-content{padding:14px}.br-preview-stats{display:flex;gap:12px;margin-bottom:14px}.br-preview-stat-card{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px}.br-stat-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.br-stat-value{display:block;font-size:16px;font-weight:700;color:#1e293b}.br-stat-label{font-size:10px;color:#64748b}.br-preview-chart-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.br-preview-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.br-preview-chart-header span{font-size:12px;font-weight:600;color:#1e293b}.br-preview-chart-header button{border:none;color:#fff;padding:6px 12px;border-radius:6px;font-size:10px;cursor:pointer}.br-preview-chart{display:flex;align-items:flex-end;gap:12px;height:100px}.br-bar{flex:1;border-radius:4px 4px 0 0;min-height:20px}@media(max-width:1024px){.br-page{flex-direction:column}.br-left-panel{width:100%}}.bk-page{display:flex;min-height:100vh;background:#f5f7fa}.bk-sidebar{width:240px;background:#1e293b;color:#fff;padding:20px 14px;display:flex;flex-direction:column;flex-shrink:0}.bk-brand{display:flex;align-items:center;gap:10px;padding:8px 12px;margin-bottom:24px}.bk-brand-icon{font-size:22px}.bk-brand-name{font-size:15px;font-weight:700}.bk-menu{display:flex;flex-direction:column;gap:4px;flex:1}.bk-menu-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:8px;color:#ffffffb3;text-decoration:none;font-size:13px;background:none;border:none;cursor:pointer;width:100%;text-align:left}.bk-menu-item:hover{background:#ffffff1a;color:#fff}.bk-menu-item.active{background:#3b82f6;color:#fff}.bk-menu-item.logout{color:#fca5a5}.bk-menu-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:12px;display:flex;flex-direction:column;gap:4px}.bk-main{flex:1;display:flex;flex-direction:column;overflow:auto}.bk-header{background:#fff;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0}.bk-breadcrumb{display:flex;gap:8px;font-size:13px;color:#64748b}.bk-breadcrumb a{color:#3b82f6;text-decoration:none}.bk-breadcrumb .current{color:#1e293b}.bk-header-right{display:flex;align-items:center;gap:12px}.bk-header-btn{background:none;border:none;font-size:18px;cursor:pointer}.bk-avatar{width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.bk-content{padding:24px 28px}.bk-title{margin-bottom:24px}.bk-title h1{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:4px}.bk-title p{font-size:13px;color:#64748b}.bk-status-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.bk-status-card{background:#fff;border-radius:14px;padding:18px;display:flex;gap:14px;border:1px solid #e2e8f0}.bk-status-card.warning{border-left:4px solid #f59e0b}.bk-status-card.success{border-left:4px solid #22c55e}.bk-status-card.info{border-left:4px solid #3b82f6}.bk-status-icon{font-size:28px}.bk-status-info{display:flex;flex-direction:column}.bk-status-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.bk-status-value{font-size:16px;font-weight:600;color:#1e293b}.bk-status-hint{font-size:11px;color:#64748b}.bk-actions-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.bk-card{background:#fff;border-radius:14px;padding:20px;border:1px solid #e2e8f0}.bk-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.bk-card-icon{font-size:22px}.bk-card h3{font-size:15px;font-weight:600;color:#1e293b}.bk-card p{font-size:13px;color:#64748b;margin-bottom:14px}.bk-backup-options{display:flex;gap:16px;margin-bottom:16px}.bk-radio{display:flex;align-items:center;gap:6px;font-size:13px;color:#64748b;cursor:pointer}.bk-radio input{accent-color:#3b82f6}.bk-primary-btn{background:#3b82f6;color:#fff;border:none;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;width:100%}.bk-toggle-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;color:#1e293b}.bk-toggle{position:relative;width:44px;height:24px}.bk-toggle input{opacity:0;width:0;height:0}.bk-slider{position:absolute;cursor:pointer;inset:0;background:#e2e8f0;border-radius:24px;transition:.3s}.bk-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.bk-toggle input:checked+.bk-slider{background:#22c55e}.bk-toggle input:checked+.bk-slider:before{transform:translate(20px)}.bk-form-group{margin-bottom:14px}.bk-form-group label{display:block;font-size:12px;color:#64748b;margin-bottom:6px}.bk-form-group select{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.bk-log-section{background:#fff;border-radius:14px;padding:20px;border:1px solid #e2e8f0}.bk-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.bk-log-header h3{font-size:15px;font-weight:600;color:#1e293b}.bk-text-btn{background:none;border:none;color:#3b82f6;font-size:12px;cursor:pointer}.bk-table{width:100%;border-collapse:collapse}.bk-table th,.bk-table td{padding:12px;text-align:left;font-size:13px}.bk-table th{background:#f8fafc;color:#64748b;font-weight:500}.bk-table td{border-bottom:1px solid #f1f5f9}.bk-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.bk-badge.success{background:#dcfce7;color:#16a34a}.bk-badge.failed{background:#fee2e2;color:#dc2626}.bk-badge.in_progress{background:#fef3c7;color:#d97706}.bk-action-btn{background:#f1f5f9;border:none;padding:6px 10px;border-radius:6px;font-size:11px;margin-right:6px;cursor:pointer}.bk-action-btn:hover{background:#e2e8f0}@media(max-width:1024px){.bk-status-cards,.bk-actions-row{grid-template-columns:1fr}}@media(max-width:768px){.bk-sidebar{display:none}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-indigo-900:oklch(35.9% .144 278.697);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-lg:0 4px 4px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing)*8)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.h-full{height:100%}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[550px\]{min-height:550px}.min-h-screen{min-height:100vh}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-300{border-color:var(--color-green-300)}.border-green-500{border-color:var(--color-green-500)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-orange-100{border-color:var(--color-orange-100)}.border-orange-200{border-color:var(--color-orange-200)}.border-red-200{border-color:var(--color-red-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-transparent{border-top-color:#0000}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/60{background-color:color-mix(in oklab,var(--color-slate-900)60%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-600{--tw-gradient-from:var(--color-green-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-600{--tw-gradient-from:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-purple-600{--tw-gradient-via:var(--color-purple-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-700{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-indigo-100{color:var(--color-indigo-100)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-900{color:var(--color-indigo-900)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-red-200{color:var(--color-red-200)}.text-red-300{color:var(--color-red-300)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/30{--tw-shadow-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-green-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-indigo-500\/30{--tw-shadow-color:#625fff4d}@supports (color:color-mix(in lab,red,red)){.shadow-indigo-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-indigo-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-indigo-200{--tw-ring-color:var(--color-indigo-200)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-blue-900:is(:where(.group):hover *){color:var(--color-blue-900)}.group-hover\:text-indigo-600:is(:where(.group):hover *){color:var(--color-indigo-600)}}.peer-checked\:bg-blue-600:is(:where(.peer):checked~*){background-color:var(--color-blue-600)}.peer-focus\:ring-4:is(:where(.peer):focus~*){--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-focus\:ring-blue-300:is(:where(.peer):focus~*){--tw-ring-color:var(--color-blue-300)}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-\[2px\]:after{content:var(--tw-content);top:2px}.after\:left-\[2px\]:after{content:var(--tw-content);left:2px}.after\:h-5:after{content:var(--tw-content);height:calc(var(--spacing)*5)}.after\:w-5:after{content:var(--tw-content);width:calc(var(--spacing)*5)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-gray-300:after{content:var(--tw-content);border-color:var(--color-gray-300)}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.peer-checked\:after\:border-white:is(:where(.peer):checked~*):after{content:var(--tw-content);border-color:var(--color-white)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\:ring-indigo-500:focus-within{--tw-ring-color:var(--color-indigo-500)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:border-indigo-500:hover{border-color:var(--color-indigo-500)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-orange-100:hover{background-color:var(--color-orange-100)}.hover\:bg-orange-200:hover{background-color:var(--color-orange-200)}.hover\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-yellow-100:hover{background-color:var(--color-yellow-100)}.hover\:bg-yellow-200:hover{background-color:var(--color-yellow-200)}.hover\:bg-yellow-700:hover{background-color:var(--color-yellow-700)}.hover\:from-green-700:hover{--tw-gradient-from:var(--color-green-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-indigo-700:hover{--tw-gradient-from:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-emerald-700:hover{--tw-gradient-to:var(--color-emerald-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-purple-700:hover{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-indigo-700:hover{color:var(--color-indigo-700)}.hover\:text-indigo-800:hover{color:var(--color-indigo-800)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:z-10:focus{z-index:10}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-green-500:focus{--tw-ring-color:var(--color-green-500)}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-orange-500:focus{--tw-ring-color:var(--color-orange-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\:bg-blue-400:disabled{background-color:var(--color-blue-400)}.disabled\:bg-gray-400:disabled{background-color:var(--color-gray-400)}.disabled\:bg-indigo-300:disabled{background-color:var(--color-indigo-300)}.disabled\:from-gray-300:disabled{--tw-gradient-from:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.disabled\:to-gray-300:disabled{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:p-12{padding:calc(var(--spacing)*12)}}@media(min-width:48rem){.md\:mt-0{margin-top:calc(var(--spacing)*0)}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media(min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}
