*{margin:0;padding:0;box-sizing:border-box} body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#0f1923;color:#e0e0e0;min-height:100vh} header{background:linear-gradient(135deg,#1a2a3a,#0d2137);border-bottom:2px solid #2196F3;padding:24px 40px} header h1{font-size:28px;color:#fff} header p{color:#90a4ae;margin-top:4px;font-size:14px} main{max-width:1400px;margin:0 auto;padding:32px 40px} .upload-section{display:flex;justify-content:center;align-items:center;min-height:60vh} .upload-box{background:#1a2a3a;border:2px dashed #2196F3;border-radius:16px;padding:60px 80px;text-align:center} .upload-icon{font-size:64px;margin-bottom:16px} .upload-box h2{font-size:24px;color:#fff;margin-bottom:8px} .upload-box p{color:#90a4ae;margin-bottom:20px} .upload-box button{background:#2196F3;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer} .upload-box button:hover{background:#1976D2} .hint{font-size:12px!important;color:#607d8b!important;margin-top:16px!important} .dashboard.hidden{display:none} .stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px} .stat-card{background:#1a2a3a;border-radius:12px;padding:24px;text-align:center;border:1px solid #263545} .stat-value{font-size:36px;font-weight:700;color:#2196F3} .stat-label{font-size:13px;color:#90a4ae;margin-top:6px;text-transform:uppercase;letter-spacing:.5px} .charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px} .chart-card{background:#1a2a3a;border-radius:12px;padding:24px;border:1px solid #263545;margin-bottom:20px} .chart-card.wide{margin-bottom:20px} .chart-card h3,.table-card h3{font-size:16px;color:#fff;margin-bottom:16px} .table-card{background:#1a2a3a;border-radius:12px;padding:24px;border:1px solid #263545;margin-bottom:20px} .table-card.wide{margin-bottom:20px} table{width:100%;border-collapse:collapse} th{text-align:left;padding:12px 16px;background:#0f1923;color:#90a4ae;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #263545} td{padding:12px 16px;border-bottom:1px solid #1e2d3d;font-size:14px} tr:hover td{background:#1e3348} .status-completed{color:#4caf50;font-weight:600} .status-not-started{color:#f44336;font-weight:600} @media(max-width:900px){.stats-row{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}main{padding:20px}}