*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:#f5f7fa;color:#333;line-height:1.6}.header{background:linear-gradient(135deg,#2c3e50,#3498db);color:#fff;padding:20px 40px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.header-content{max-width:1400px;margin:0 auto}.header h1{font-size:1.8rem;font-weight:600}.header .date-range{font-size:.9rem;opacity:.9;margin-top:5px}.nav{background:#34495e;padding:0 40px}.nav-content{max-width:1400px;margin:0 auto;display:flex;gap:5px}.nav a{color:#fff;text-decoration:none;padding:12px 20px;display:inline-block;transition:background .2s}.nav a.active,.nav a:hover{background:#3498db}.container{padding:20px}.container,.flash-messages{max-width:1400px;margin:0 auto}.flash-messages{padding:10px 20px}.flash{padding:12px 20px;border-radius:8px;margin-bottom:10px}.flash.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.flash.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:20px}.card h3{font-size:1.1rem;color:#2c3e50;margin-bottom:15px}table{width:100%;border-collapse:collapse}td,th{padding:10px 12px;text-align:left;border-bottom:1px solid #ecf0f1}th{font-weight:600;color:#7f8c8d;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}tr:hover{background:#f8f9fa}.btn{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;text-decoration:none;display:inline-block;transition:background .2s}.btn:hover{background:#2980b9}.btn-success{background:#27ae60}.btn-success:hover{background:#219a52}.btn-secondary{background:#95a5a6}.btn-secondary:hover{background:#7f8c8d}.metric{font-weight:600;color:#27ae60}.group-tag{font-size:.75rem;background:#ecf0f1;color:#7f8c8d;padding:2px 8px;border-radius:10px;margin-left:8px}.advisor-name a{color:#2c3e50;text-decoration:none}.advisor-name a:hover{color:#3498db;text-decoration:underline}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:center}.stat-card .value{font-size:2rem;font-weight:700;color:#2c3e50}.stat-card .label{font-size:.85rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;margin-top:5px}.section{margin-bottom:30px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));grid-gap:20px;gap:20px}.card h3{display:flex;align-items:center;gap:8px}.rank{font-weight:700;color:#3498db;width:30px}.advisor-name{font-weight:500}.alert-section{background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;padding:20px}.alert-section h3{color:#c53030}.alert-section .days-inactive{color:#c53030;font-weight:600}.daily-table{max-height:400px;overflow-y:auto}.upload-container{max-width:600px;margin:0 auto}.upload-form{gap:20px}.form-group,.upload-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-weight:500;color:#2c3e50}.form-group input[type=date],.form-group input[type=file],.form-group select{padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem}.report-container{display:grid;grid-template-columns:300px 1fr;grid-gap:20px;gap:20px}.report-preview{background:#2c3e50;color:#fff;padding:20px;border-radius:12px;font-family:monospace;white-space:pre-wrap;min-height:400px}.button-group{display:flex;gap:10px;margin-top:20px}.sortable-table th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable-table th:hover{background:#f8f9fa}.sort-indicator{margin-left:5px}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.header,.nav{padding-left:15px;padding-right:15px}.container{padding:15px}.grid-2,.report-container{grid-template-columns:1fr}.nav-content{flex-wrap:wrap}}