body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#4361ee;--primary-dark:#3a56d4;--secondary-color:#7209b7;--success-color:#2ecc71;--warning-color:#f39c12;--error-color:#e74c3c;--info-color:#3498db;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 25px #0000001a;--shadow-xl:0 20px 40px #00000026;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.home-container{background:#f8fafc;background:var(--gray-50);min-height:100vh}.dashboard-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--gray-200);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);display:flex;justify-content:space-between;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.header-left h1{align-items:center;color:#0f172a;color:var(--gray-900);display:flex;font-size:1.75rem;font-weight:700;gap:.75rem;margin-bottom:.25rem}.header-icon{color:#4361ee;color:var(--primary-color)}.subtitle{color:#64748b;color:var(--gray-500);font-size:.95rem}.header-right{align-items:center;display:flex;gap:1rem}.view-toggle{background:#f1f5f9;background:var(--gray-100);border-radius:8px;border-radius:var(--radius-sm);display:flex;padding:.25rem}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#475569;color:var(--gray-600);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.toggle-btn.active{background:#fff;box-shadow:0 1px 3px #0000001f;box-shadow:var(--shadow-sm);color:#4361ee;color:var(--primary-color)}.refresh-all-btn{align-items:center;background:#4361ee;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.refresh-all-btn:hover:not(:disabled){background:#3a56d4;background:var(--primary-dark);transform:translateY(-1px)}.refresh-all-btn:disabled{cursor:not-allowed;opacity:.7}.spinning{animation:spin 1s linear infinite}.dashboard-main{margin:0 auto;max-width:1400px;padding:2rem}.challenge-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);margin-bottom:1.5rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.challenge-card:hover{box-shadow:0 10px 25px #0000001a;box-shadow:var(--shadow-lg)}.challenge-header{background:#fff;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--gray-200);justify-content:space-between;padding:1.5rem}.challenge-header,.challenge-info{align-items:flex-start;display:flex}.challenge-info{flex:1 1;gap:1rem}.challenge-icon{align-items:center;background:linear-gradient(135deg,#4361ee,#7209b7);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:12px;border-radius:var(--radius-md);color:#fff;display:flex;font-size:1.25rem;height:48px;justify-content:center;width:48px}.challenge-info h2{color:#0f172a;color:var(--gray-900);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.challenge-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.date,.day-number{align-items:center;background:#f1f5f9;background:var(--gray-100);border-radius:20px;color:#475569;color:var(--gray-600);display:flex;font-size:.875rem;gap:.375rem;padding:.25rem .75rem}.day-number{background:var(--primary-light);color:#4361ee;color:var(--primary-color);font-weight:500}.challenge-stats{display:flex;gap:1rem;margin:0 1.5rem}.stat-card{align-items:center;background:#f8fafc;background:var(--gray-50);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:.75rem;min-width:140px;padding:.75rem 1rem}.stat-card.primary{background:#eef2ff;color:#4361ee;color:var(--primary-color)}.stat-card.success{background:#f0fdf4;color:#2ecc71;color:var(--success-color)}.stat-card.highlight{background:linear-gradient(135deg,#4361ee,#7209b7);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.stat-card svg,.stat-value{font-size:1.25rem}.stat-value{display:block;font-weight:700;line-height:1}.stat-label{color:#475569;color:var(--gray-600);display:block;font-size:.75rem;margin-top:.125rem}.stat-card.highlight .stat-label{color:#ffffffe6}.header-actions{gap:.5rem}.refresh-btn{align-items:center;background:#fff;border:1px solid #cbd5e1;border:1px solid var(--gray-300);border-radius:8px;color:#475569;color:var(--gray-600);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:36px}.refresh-btn:hover{background:#f1f5f9;background:var(--gray-100);color:#4361ee;color:var(--primary-color)}.challenge-content{padding:1.5rem}.content-header{align-items:center;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.content-header h3{color:#1e293b;color:var(--gray-800);font-size:1.25rem;font-weight:600}.controls{align-items:center;display:flex;gap:1rem}.search-box{min-width:250px;position:relative}.search-box input{border:1px solid #cbd5e1;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--radius-sm);font-size:.875rem;padding:.625rem 1rem .625rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition);width:100%}.search-box input:focus{border-color:#4361ee;border-color:var(--primary-color);box-shadow:0 0 0 3px #4361ee1a;outline:none}.search-box svg{left:.875rem}.clear-search,.search-box svg{color:#94a3b8;color:var(--gray-400);position:absolute;top:50%;transform:translateY(-50%)}.clear-search{background:none;border:none;cursor:pointer;font-size:.875rem;padding:.125rem;right:.75rem}.clear-search:hover{color:#475569;color:var(--gray-600)}.export-btn{align-items:center;background:#f1f5f9;background:var(--gray-100);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#334155;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.export-btn:hover{background:#e2e8f0;background:var(--gray-200)}.department-card{background:#f8fafc;background:var(--gray-50);border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden}.department-header{align-items:center;background:#fff;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.department-header:hover{background:#f8fafc;background:var(--gray-50)}.department-info{align-items:center;display:flex;flex:1 1;gap:1.5rem}.dept-name h3{color:#0f172a;color:var(--gray-900);font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.dept-id{background:#f1f5f9;background:var(--gray-100);border-radius:12px;color:#64748b;color:var(--gray-500);font-size:.75rem;padding:.125rem .5rem}.dept-stats{display:flex;gap:1rem}.stat-item{align-items:center;background:#f1f5f9;background:var(--gray-100);border-radius:20px;color:#475569;color:var(--gray-600);display:flex;font-size:.875rem;gap:.5rem;padding:.375rem .75rem}.stat-item.highlight{background:var(--primary-light);color:#4361ee;color:var(--primary-color);font-weight:500}.header-actions{align-items:center;display:flex;gap:1rem}.status-indicator{align-items:center;display:flex;gap:.5rem}.indicator-bar{background:#e2e8f0;background:var(--gray-200);border-radius:3px;height:6px;overflow:hidden;width:80px}.indicator-fill{border-radius:3px;height:100%;transition:width .3s ease}.status-indicator.high .indicator-fill{background:#2ecc71;background:var(--success-color)}.status-indicator.medium .indicator-fill{background:#f39c12;background:var(--warning-color)}.status-indicator.low .indicator-fill{background:#e74c3c;background:var(--error-color)}.status-indicator span{color:#334155;color:var(--gray-700);font-weight:600;min-width:40px}.department-details{background:#fff;border-top:1px solid #e2e8f0;border-top:1px solid var(--gray-200);padding:1.25rem}.details-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.details-header h4{color:#1e293b;color:var(--gray-800);font-size:1rem;font-weight:600}.details-controls{align-items:center;display:flex;gap:1rem}.filter-controls,.view-controls{background:#f1f5f9;background:var(--gray-100);border-radius:8px;border-radius:var(--radius-sm);display:flex;padding:.25rem}.filter-btn,.view-btn{background:#0000;border:none;border-radius:6px;color:#475569;color:var(--gray-600);cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.filter-btn.active,.view-btn.active{background:#fff;box-shadow:0 1px 3px #0000001f;box-shadow:var(--shadow-sm);color:#4361ee;color:var(--primary-color)}.users-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.user-card{align-items:center;background:#f8fafc;background:var(--gray-50);border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:1rem;padding:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.user-card:hover{background:#fff;border-color:var(--primary-light);box-shadow:0 1px 3px #0000001f;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#4361ee,#7209b7);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;color:#fff;display:flex;font-size:1rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-info h5{color:#0f172a;color:var(--gray-900);font-size:.875rem;font-weight:600;margin-bottom:.25rem}.status-badge{align-items:center;display:inline-flex;font-weight:500;gap:.25rem;padding:.25rem .5rem}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.completion-time{align-items:flex-end;color:#475569;color:var(--gray-600);display:flex;flex-direction:column;font-size:.75rem;gap:.125rem}.completion-time svg,.no-completion{color:#94a3b8;color:var(--gray-400)}.no-completion{font-size:.75rem;font-style:italic}.table-container{border:1px solid #e2e8f0;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--radius-sm);overflow-x:auto}.users-table{border-collapse:collapse;font-size:.875rem;width:100%}.users-table th{background:#f8fafc;background:var(--gray-50);border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--gray-200);font-weight:600;text-align:left}.users-table td,.users-table th{color:#334155;color:var(--gray-700);padding:.75rem 1rem}.users-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--gray-200)}.users-table tr:hover{background:#f8fafc;background:var(--gray-50)}.table-avatar{background:linear-gradient(135deg,#4361ee,#7209b7);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;color:#fff;font-size:.875rem;font-weight:600;height:32px;justify-content:center;margin-right:.75rem;width:32px}.table-avatar,.user-cell{align-items:center;display:flex}.table-badge{border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.table-badge.completed{background:#d1fae5;color:#065f46}.table-badge.pending{background:#fef3c7;color:#92400e}.date-cell{display:flex;flex-direction:column;gap:.125rem}.date{color:#0f172a;color:var(--gray-900);font-weight:500}.time{color:#64748b;color:var(--gray-500);font-size:.75rem}.no-date{color:#94a3b8;color:var(--gray-400);font-style:italic}.action-btn{align-items:center;background:#4361ee;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.action-btn:hover{background:#3a56d4;background:var(--primary-dark)}.challenge-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--gray-200);margin-top:1.5rem;padding-top:1rem}.summary{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.summary-label{color:#475569;color:var(--gray-600);font-size:.875rem}.summary-stats{display:flex;gap:1rem}.summary-stats .stat{align-items:center;color:#475569;color:var(--gray-600);display:flex;font-size:.875rem;gap:.375rem}.dashboard-footer{background:#fff;border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000001f;box-shadow:var(--shadow-sm);margin-top:2rem;padding:1.5rem}.footer-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.footer-stat{background:#f8fafc;background:var(--gray-50);border-radius:12px;border-radius:var(--radius-md);padding:1rem;text-align:center}.footer-stat .stat-label{color:#475569;color:var(--gray-600);display:block;font-size:.875rem;margin-bottom:.5rem}.footer-stat .stat-value{color:#4361ee;color:var(--primary-color);display:block;font-size:1.5rem;font-weight:700}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-top-color:#4361ee;border:3px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary-color);height:50px;margin-bottom:1rem;width:50px}.error-icon{font-size:3rem;margin-bottom:1rem}.error-container h3{color:#e74c3c;color:var(--error-color);margin-bottom:.5rem}.error-container p{color:#475569;color:var(--gray-600);margin-bottom:1.5rem;max-width:400px}.retry-btn{background:#4361ee;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.retry-btn:hover{background:#3a56d4;background:var(--primary-dark);transform:translateY(-1px)}.empty-state{color:#64748b;color:var(--gray-500);padding:3rem 1rem;text-align:center}.empty-icon{color:#cbd5e1;color:var(--gray-300);font-size:3rem;margin-bottom:1rem}.loading-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;border-radius:12px;border-radius:var(--radius-md);height:200px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (max-width:1200px){.challenge-stats{display:grid;grid-template-columns:repeat(2,1fr);margin:1rem 0;width:100%}.stat-card{min-width:auto}}@media (max-width:1024px){.dashboard-main{padding:1.5rem}.challenge-header{flex-direction:column;gap:1rem}.challenge-info{width:100%}.challenge-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.header-right{justify-content:space-between;width:100%}.challenge-header{padding:1rem}.challenge-info h2{font-size:1.25rem}.challenge-stats{gap:.5rem;grid-template-columns:1fr}.department-info{align-items:flex-start;flex-direction:column;gap:.75rem}.dept-stats{flex-wrap:wrap}.content-header{align-items:flex-start;flex-direction:column}.controls{flex-direction:column;width:100%}.search-box{min-width:100%}.users-grid{grid-template-columns:1fr}}@media (max-width:480px){.header-right{flex-direction:column;gap:.75rem}.refresh-all-btn,.view-toggle{width:100%}.refresh-all-btn{justify-content:center}.toggle-btn{flex:1 1}.details-controls{align-items:flex-start;flex-direction:column}.filter-controls,.view-controls{width:100%}.filter-btn,.view-btn{flex:1 1;text-align:center}.footer-stats{grid-template-columns:1fr}}@media print{.action-btn,.export-btn,.refresh-all-btn,.refresh-btn,.toggle-btn{display:none}.challenge-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.course-series-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.meeting-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:15px;box-shadow:0 8px 25px #0000001a;margin:2rem auto;max-width:1200px;padding:2rem}.meeting-header{align-items:flex-start;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem}.meeting-info{flex:1 1}.meeting-title{color:#2c3e50;font-size:1.4rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.meeting-description{color:#666;font-size:.95rem;margin:0}.meeting-image{border-radius:8px;height:80px;margin-left:1.5rem;object-fit:cover;width:120px}.series-section{background:#f8f9fa;border-radius:10px;margin:1.5rem 0;padding:1.5rem}.series-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.series-info{flex:1 1}.series-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin:0 0 .25rem}.series-min-selection{color:#666;font-size:.9rem;margin:0}.series-stats{text-align:right}.completion-rate{display:block;font-size:1.3rem;font-weight:700;margin-bottom:.25rem}.modules-count{color:#666;font-size:.9rem}.modules-container{grid-gap:1rem;display:grid;gap:1rem;margin:1.5rem 0}.module-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;padding:1.5rem}.module-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.module-info{flex:1 1}.module-title{color:#2c3e50;font-size:1.1rem;font-weight:500;line-height:1.3;margin:0 0 .5rem}.module-stats{color:#666;font-size:.9rem;margin:0}.module-thumbnail{border-radius:6px;height:60px;margin-left:1rem;object-fit:cover;width:80px}.staff-completion{border-top:1px solid #e9ecef;padding-top:1rem}.completion-title{color:#666;font-size:.95rem;font-weight:600;margin:0 0 1rem}.staff-list{grid-gap:.75rem;display:grid;gap:.75rem}.staff-completion-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;flex-wrap:wrap;justify-content:space-between;padding:.75rem}.staff-info{flex:1 1;min-width:200px}.staff-name{color:#2c3e50;display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.staff-id{color:#666;font-size:.8rem}.completion-details{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.completion-status{border-radius:15px;color:#fff;font-size:.75rem;font-weight:600;min-width:100px;padding:.3rem .75rem;text-align:center;text-transform:uppercase}.completion-date{color:#666;font-size:.8rem;min-width:120px}.staff-progress-section{background:#fff;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.staff-progress-list{grid-gap:1rem;display:grid;gap:1rem;margin-top:1rem}.staff-progress-item{background:#f8f9fa;border-radius:8px;padding:1rem}.progress-details{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0}.progress-text{color:#666;font-size:.9rem}.status-badge{border-radius:15px;font-size:.75rem;padding:.3rem .75rem;text-transform:uppercase}.progress-bar-small{background:#e9ecef;border-radius:2px;height:4px;margin-top:.5rem;overflow:hidden}.progress-fill-small{border-radius:2px;height:100%;transition:width .3s ease}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:25px;font-weight:600;margin-right:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-button:hover{background:#ffffff4d;border-color:#ffffff80}@media (max-width:768px){.meeting-header{flex-direction:column}.meeting-image{align-self:flex-start;margin:1rem 0 0}.series-header{flex-direction:column}.series-stats{margin-top:.5rem;text-align:left}.module-header{flex-direction:column}.module-thumbnail{margin:1rem 0 0}.staff-completion-item{align-items:flex-start;flex-direction:column}.completion-details{justify-content:space-between;margin-top:.5rem;width:100%}.progress-details{align-items:flex-start;flex-direction:column;gap:.5rem}}.detailed-progress-container{background-color:#f5f5f5;min-height:100vh}.back-button{background:none;border:none;color:#fff;cursor:pointer;font-family:mont-medium,sans-serif;font-size:14px;margin-bottom:8px;padding:8px 0}.back-button:hover{text-decoration:underline}.staff-name1{color:#fff;font-family:mont-bold,sans-serif;font-size:18px;margin:4px 0}.staff-id1{color:#ffffffe6;font-family:mont-medium,sans-serif;font-size:14px}.progress-summary-container{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr;margin:0 auto;max-width:1200px;padding:16px}.progress-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;justify-content:space-between;padding:20px}.progress-text-container{margin-bottom:16px}.progress-title{color:#666;font-family:mont-medium,sans-serif;font-size:14px;margin-bottom:8px}.progress-percentage{font-family:mont-bold,sans-serif;font-size:24px;font-weight:700;margin-bottom:4px}.progress-subtitle{color:#888;font-family:mont-medium,sans-serif;font-size:14px}.progress-bar{background-color:#e0e0e0;border-radius:3px;height:6px;overflow:hidden}.progress-fill{border-radius:3px;height:100%;transition:width .3s ease}.overall-progress .progress-percentage{color:#007aff}.core-progress .progress-percentage{color:#4caf50}.elective-progress .progress-percentage{color:#ff9800}.main-content{margin:0 auto;max-width:1200px;padding:16px}.section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.section-title{font-size:18px;margin-bottom:8px}.section-subtitle{font-family:mont-medium,sans-serif;margin-bottom:16px}.model-section{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;overflow:hidden}.section-header{align-items:center;background-color:#f9f9f9;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background-color .2s ease}.section-header:hover{background-color:#f0f0f0}.section-title-container{flex:1 1}.section-title{color:#333;font-family:mont-bold,sans-serif;font-size:16px;margin-bottom:4px}.section-subtitle{color:#666;font-size:14px;margin-bottom:0}.section-right{align-items:center;display:flex;gap:12px}.section-percentage{color:#007aff;font-family:mont-bold,sans-serif;font-size:16px;font-weight:700}.section-arrow{color:#666;font-size:12px}.content-list{padding:16px}.content-item{background-color:#fafafa;border:1px solid #f0f0f0;border-radius:8px;margin-bottom:12px;padding:16px}.content-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.status-indicator{border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.content-title{color:#333;font-family:mont-semibold,sans-serif;font-size:15px;line-height:1.4;margin:0}.content-details{align-items:center;display:flex;justify-content:space-between}.status-badge{border-radius:12px;color:#fff;font-family:mont-semibold,sans-serif;font-size:12px;font-weight:600;padding:4px 8px}.date-text{color:#888;font-family:mont-medium,sans-serif;font-size:12px}@media (max-width:768px){.progress-summary-container{gap:12px;grid-template-columns:1fr}.progress-container{padding:16px}.main-content{padding:12px}.section{padding:16px}}.center-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:50vh;padding:20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007aff;height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#666;font-family:mont-medium,sans-serif;font-size:16px}.error-icon,.no-data-icon{font-size:48px;margin-bottom:16px}.error-text,.no-data-text{color:#666;font-family:mont-medium,sans-serif;font-size:16px;margin-bottom:20px}.retry-button{background-color:#007aff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:mont-semibold,sans-serif;font-size:14px;padding:12px 24px;transition:background-color .2s ease}.retry-button:hover{background-color:#0056cc}
/*# sourceMappingURL=main.5d9c71a9.css.map*/