*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6fa;color:#2c3e50;font-size:14px}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-form{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;text-align:center;width:360px}.login-form h1{color:#1a1a2e;margin-bottom:8px}.login-form p{color:#888;margin-bottom:24px}.login-form input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:15px;margin-bottom:16px}.login-form button{width:100%;padding:12px;background:#4a6cf7;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}.login-form button:hover{background:#3a5ce5}.login-form button:disabled{opacity:.6}.error{color:#e74c3c;margin-top:12px}.app-header{background:#1a1a2e;color:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:space-between}.header-left{display:flex;align-items:center;gap:32px}.app-header h1{font-size:20px;font-weight:600}.header-nav{display:flex;gap:4px}.nav-tab{padding:8px 18px;border:none;background:transparent;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s}.nav-tab:hover{color:#fff;background:#ffffff1a}.nav-tab.active{color:#fff;background:#fff3}.content-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.content-tab{padding:10px 24px;border:none;background:transparent;color:#888;font-size:14px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.content-tab:hover{color:#444}.content-tab.active{color:#4a6cf7;border-bottom-color:#4a6cf7}.metric-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.metric-card{background:#fff;border-radius:8px;padding:24px;border:1px solid #e0e0e0;text-align:center}.metric-value{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.metric-label{font-size:13px;color:#888;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.breakdowns-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.breakdown-section{background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden}.breakdown-section h3{padding:12px 16px;font-size:14px;color:#1a1a2e;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.breakdown-table-scroll{max-height:350px;overflow-y:auto}.breakdown-table{width:100%;border-collapse:collapse;font-size:13px}.breakdown-table th{background:#f1f3f5;padding:8px 12px;text-align:left;font-weight:600;border-bottom:1px solid #ddd;position:sticky;top:0}.breakdown-table td{padding:6px 12px;border-bottom:1px solid #eee}.breakdown-table tr:hover td{background:#f8f9ff}.app-body{display:flex;height:calc(100vh - 60px)}.sidebar{width:280px;background:#fff;border-right:1px solid #e0e0e0;padding:16px;overflow-y:auto;flex-shrink:0}.main-content{flex:1;overflow-y:auto;padding:20px}.filter-panel h3{margin-bottom:16px;font-size:16px;color:#1a1a2e}.filter-panel label{display:block;margin-top:12px;margin-bottom:4px;font-weight:600;font-size:12px;text-transform:uppercase;color:#666}.filter-panel select,.filter-panel input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff}.clear-btn{width:100%;margin-top:20px;padding:10px;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px}.clear-btn:hover{background:#c0392b}.download-btn{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.download-btn:hover{background:#219a52}.download-btn:disabled{opacity:.6;cursor:not-allowed}.data-table-container{background:#fff;border-radius:8px;border:1px solid #e0e0e0;overflow:hidden}.table-info{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-weight:600;color:#444}.table-scroll{overflow-x:auto;max-height:55vh;overflow-y:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:#f1f3f5;padding:10px 12px;text-align:left;font-weight:600;border-bottom:2px solid #ddd;white-space:nowrap;position:sticky;top:0;z-index:1}.data-table th:hover{background:#e0e4e8}.data-table td{padding:8px 12px;border-bottom:1px solid #eee;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table tr:hover td{background:#f8f9ff}.data-table a{color:#4a6cf7;text-decoration:none}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-top:1px solid #e0e0e0}.pagination button{padding:6px 14px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:13px}.pagination button:hover:not(:disabled){background:#f0f0f0}.pagination button:disabled{opacity:.4;cursor:not-allowed}.aggregates{background:#fff;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:20px}.aggregates-header{padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.aggregates-header h3{font-size:15px;color:#1a1a2e}.agg-controls{padding:0 16px 12px}.agg-controls label{font-weight:600;font-size:12px;text-transform:uppercase;color:#666;margin-right:8px}.agg-controls select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.agg-table-scroll{max-height:300px;overflow-y:auto}.agg-table{width:100%;border-collapse:collapse;font-size:13px}.agg-table th{background:#f1f3f5;padding:8px 16px;text-align:left;font-weight:600;border-bottom:1px solid #ddd;position:sticky;top:0}.agg-table td{padding:6px 16px;border-bottom:1px solid #eee}.agg-table tr:hover td{background:#f8f9ff}.loading{padding:40px;text-align:center;color:#888}
