:root{--bg-color: #f8f9fa;--card-bg: #ffffff;--primary: #0084a9;--primary-hover: #006a88;--secondary: #6c757d;--text-main: #212529;--text-muted: #6c757d;--border: #dee2e6;--success: #198754;--error: #dc3545;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-color);color:var(--text-main);overflow-x:hidden;min-height:100vh;line-height:1.6}#root{min-height:100vh;display:flex;flex-direction:column}.glass-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s}.glow-button{background:var(--primary);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease-in-out;text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-sm)}.glow-button:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.glow-button:disabled{background:#ccc;cursor:not-allowed;opacity:.7}.input-field{background:#fff;border:1px solid var(--border);padding:12px 16px;border-radius:6px;color:var(--text-main);width:100%;transition:border-color .2s,box-shadow .2s;font-size:1rem}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0084a926}.label{display:block;margin-bottom:6px;color:var(--text-main);font-size:.95rem;font-weight:600}.status-badge{padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@keyframes blob{0%,to{transform:translate(0) scale(1)}25%{transform:translate(20px,-30px) scale(1.1)}50%{transform:translate(-20px,20px) scale(.9)}75%{transform:translate(30px,30px) scale(1.05)}}.animate-blob{animation:blob 10s infinite}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.border-3{border-width:3px}.index-dashboard{max-width:1400px;margin:0 auto;padding:0}.dashboard-header{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--border);border-radius:16px;padding:2rem 2.5rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.dashboard-header h1{font-size:1.75rem;font-weight:800;color:var(--text-main);margin:0;letter-spacing:-.02em}.dashboard-header p{font-size:.95rem;color:var(--text-muted);margin:.25rem 0 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);transition:all .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--stat-card-color, var(--primary))}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--stat-icon-bg, rgba(0, 132, 169, .1))}.stat-card-icon svg{width:28px;height:28px;color:var(--stat-icon-color, var(--primary))}.stat-card-content{flex:1;min-width:0}.stat-card-label{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem}.stat-card-value{font-size:1.75rem;font-weight:800;color:var(--text-main);line-height:1.2}.stat-card-trend{font-size:.75rem;color:var(--success);font-weight:600;display:flex;align-items:center;gap:.25rem;margin-top:.25rem}.stat-card-trend.neutral{color:var(--text-muted)}.stat-card-trend.warning{color:#f59e0b}.stat-card-trend.error{color:var(--error)}.index-section{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);overflow:hidden}.index-section-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid var(--border);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.index-section-header h2{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0;display:flex;align-items:center;gap:.5rem}.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1rem;padding:1rem}.index-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:all .2s ease;position:relative}.index-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #0084a91a;transform:translateY(-2px)}.index-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.index-card-icon{font-size:2.5rem;line-height:1}.index-card-title{flex:1;min-width:0}.index-card-title h3{font-size:1rem;font-weight:700;color:var(--text-main);margin:0 0 .25rem}.index-card-title p{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.4}.index-card-status{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;margin-bottom:1rem}.index-card-status.healthy{background:#1987541a;color:var(--success)}.index-card-status.partial{background:#f59e0b1a;color:#f59e0b}.index-card-status.error{background:#dc35451a;color:var(--error)}.index-card-status svg{width:16px;height:16px;flex-shrink:0}.progress-container{margin-bottom:1rem}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.8rem;color:var(--text-muted);font-weight:500}.progress-label span:first-child{display:flex;align-items:center;gap:.5rem}.progress-bar{height:10px;background:#e9ecef;border-radius:5px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--progress-color, var(--primary)) 0%,var(--progress-color-end, var(--primary-hover)) 100%);border-radius:5px;transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.index-card-actions{display:flex;gap:.5rem}.index-action-btn{flex:1;padding:.625rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.index-action-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.index-action-btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0084a933}.index-action-btn.secondary{background:#fff;color:var(--text-main)}.index-action-btn.secondary:hover:not(:disabled){background:#f8f9fa;border-color:var(--secondary);transform:translateY(-1px)}.index-action-btn.danger{background:#fff5f5;border-color:#feb2b2;color:var(--error)}.index-action-btn.danger:hover:not(:disabled){background:var(--error);border-color:var(--error);color:#fff;transform:translateY(-1px)}.index-action-btn:disabled{opacity:.5;cursor:not-allowed}.index-action-btn svg{width:14px;height:14px}.sidebar-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.sidebar-panel-title{font-size:1rem;font-weight:700;color:var(--text-main);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.upload-area{border:2px dashed var(--border);border-radius:10px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#fafafa}.upload-area:hover{border-color:var(--primary);background:#0084a905}.upload-area.has-file{border-color:var(--success);background:#19875405}.upload-area-text{color:var(--text-muted);font-size:.9rem;margin-top:.5rem}.upload-area-icon{color:var(--text-muted);margin-bottom:.5rem}.info-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:1rem;margin-bottom:1rem}.info-box.warning{background:#fffbeb;border-color:#fde68a}.info-box.error{background:#fef2f2;border-color:#fecaca}.info-box-title{font-size:.85rem;font-weight:700;color:#0369a1;margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.info-box.warning .info-box-title{color:#92400e}.info-box.error .info-box-title{color:#991b1b}.info-box-content{font-size:.85rem;color:#0c4a6e;line-height:1.5}.info-box.warning .info-box-content{color:#78350f}.info-box.error .info-box-content{color:#7f1d1d}.column-table{width:100%;font-size:.85rem;border-collapse:separate;border-spacing:0}.column-table thead{background:#f8f9fa}.column-table th{padding:.75rem;text-align:left;font-weight:700;color:var(--text-main);border-bottom:2px solid var(--border)}.column-table td{padding:.75rem;border-bottom:1px solid #f1f5f9}.column-table td:first-child,.column-table td:nth-child(2){font-family:Consolas,Monaco,monospace;font-size:.8rem;background:#f8fafc}.column-table tr:last-child td{border-bottom:none}@media(max-width:1024px){.index-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.dashboard-header{padding:1.5rem}.dashboard-header h1{font-size:1.5rem}}
