*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #1a1a1a;--color-surface: #2a2a2a;--color-surface-elevated: #333333;--color-border: #404040;--color-border-light: #555555;--color-text-primary: #e5e5e5;--color-text-secondary: #b3b3b3;--color-text-muted: #808080;--color-text-accent: #f0f0f0;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-light: #3730a3;--color-accent-bg: #312e81;--color-success: #22c55e;--color-success-bg: #14532d;--color-warning: #f59e0b;--color-warning-bg: #451a03;--color-danger: #f87171;--color-danger-bg: #7f1d1d;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 10px 10px -5px rgb(0 0 0 / .4);--border-radius: 12px;--border-radius-lg: 16px;--border-radius-xl: 20px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--color-bg) 0%,#2a2a2a 100%);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.container{max-width:1600px;margin:0 auto;padding:var(--spacing-xl);min-height:100vh}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-border-light)}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-elevated) 100%)}.card-title{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.card-subtitle{font-size:1rem;color:var(--color-text-secondary);font-weight:400}.card-content{padding:var(--spacing-lg)}.button-group{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);font-size:.95rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;text-decoration:none;background:var(--color-surface);color:var(--color-text-primary);position:relative;overflow:hidden}.button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.button:hover:before{left:100%}.button:hover{background:var(--color-surface-elevated);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.button-primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-md)}.button-primary:hover{background:linear-gradient(135deg,var(--color-accent-hover) 0%,var(--color-accent-light) 100%);border-color:var(--color-accent-hover);box-shadow:var(--shadow-lg)}.upload-area{border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);text-align:center;background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-elevated) 100%);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.upload-area:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(59,130,246,.1) 50%,transparent 70%);opacity:0;transition:opacity .3s ease}.upload-area:hover:before{opacity:1}.upload-area:hover,.upload-area.drag-over{border-color:var(--color-accent);background:linear-gradient(135deg,var(--color-accent-bg) 0%,var(--color-surface-elevated) 100%);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.upload-icon{width:4rem;height:4rem;color:var(--color-accent);margin:0 auto var(--spacing-lg);opacity:.8;transition:all .3s ease}.upload-area:hover .upload-icon{opacity:1;transform:scale(1.1)}.upload-text{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm);letter-spacing:-.01em}.upload-hint{font-size:.95rem;color:var(--color-text-secondary);font-weight:400}.table-container{overflow-x:auto;border-radius:var(--border-radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);margin:0}.table{width:100%;border-collapse:collapse;font-size:.9rem;font-family:var(--font-mono)}.table th{background:linear-gradient(135deg,var(--color-surface-elevated) 0%,var(--color-surface) 100%);padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:10;font-size:.85rem;letter-spacing:.01em;text-transform:uppercase}.table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:.9rem;font-weight:400;transition:all .2s ease}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background:#ffffff08;transform:none;box-shadow:none}.table-header-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);transition:all .2s ease;padding:var(--spacing-xs);border-radius:var(--border-radius)}.table-header-sortable:hover{color:var(--color-accent);background:#3b82f61a}.sort-icon{width:1.2rem;height:1.2rem;opacity:.6;transition:all .2s ease}.sort-icon.active{opacity:1;color:var(--color-accent);transform:scale(1.1)}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:1.5rem;text-align:center}.metric-value{font-size:2rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.metric-label{font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.change-indicator{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:.85rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;font-family:var(--font-mono);transition:all .2s ease}.change-positive{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.change-negative{background:#f8717126;color:#fca5a5;border:1px solid rgba(248,113,113,.3)}.change-neutral{background:#8080801a;color:var(--color-text-muted);border:1px solid var(--color-border)}.domain-link{color:var(--color-text-secondary);text-decoration:none;font-weight:400;font-family:var(--font-mono);font-size:.85rem;transition:all .3s ease;padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;background:#ffffff0d;border:1px solid var(--color-border);display:inline-block;position:relative;overflow:hidden}.domain-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.domain-link:hover:before{left:100%}.domain-link:hover{color:var(--color-text-primary);background:#ffffff14;border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-spinner{width:3rem;height:3rem;border:3px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:50%;animation:spin 1s linear infinite;box-shadow:var(--shadow-lg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.file-input{display:none}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-surface-elevated) 0%,var(--color-surface) 100%);flex-wrap:wrap;gap:var(--spacing-md)}.pagination-info{font-size:.9rem;color:var(--color-text-secondary);font-weight:500;font-family:var(--font-mono)}.pagination{display:flex;align-items:center;gap:var(--spacing-sm)}.pagination-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;background:var(--color-surface);color:var(--color-text-primary);position:relative;overflow:hidden}.pagination-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.pagination-button:hover:before{left:100%}.pagination-button:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pagination-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-pages{display:flex;align-items:center;gap:var(--spacing-xs)}.pagination-page{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;font-size:.9rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-mono)}.pagination-page:hover{background:var(--color-surface-elevated);border-color:var(--color-accent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pagination-page.active{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;font-size:.9rem;color:var(--color-text-muted);font-weight:600}.total-visits-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.total-visits-label{font-size:1rem;font-weight:500;color:var(--color-text-secondary)}.total-visits-value{font-size:2.5rem;font-weight:700;color:var(--color-accent);margin-top:.5rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card{animation:fadeInUp .6s ease-out}.table tbody tr{animation:fadeIn .4s ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}::selection{background:#3b82f64d;color:var(--color-text-primary)}.tab-container{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.tab-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.9rem;font-weight:600;border:1px solid var(--color-border);border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;background:var(--color-surface);color:var(--color-text-secondary)}.tab-button:hover{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-accent)}.tab-button.active{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);color:#fff;border-color:var(--color-accent);box-shadow:var(--shadow-md)}.investment-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;font-weight:500;border:1px solid var(--color-accent);border-radius:6px;cursor:pointer;transition:all .3s ease;background:#4f46e51a;color:var(--color-accent)}.investment-badge:hover{background:var(--color-accent);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.no-investment{color:var(--color-text-muted);font-style:italic;font-size:.85rem}.competitor-highlight{color:#ef4444!important;font-weight:600;background:#ef44441a;padding:2px 6px;border-radius:4px;border:1px solid rgba(239,68,68,.3);animation:highlight-pulse 2s infinite}.competitor-highlight.clickable{cursor:pointer;transition:all .2s ease;position:relative}.competitor-highlight.clickable:hover{background:#ef444433;border-color:#ef444499;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.competitor-highlight.clickable:active{transform:translateY(0);box-shadow:0 2px 6px #ef444433}@keyframes highlight-pulse{0%,to{background:#ef44441a;border-color:#ef44444d}50%{background:#ef444433;border-color:#ef444480}}.traffic-info{padding:0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.info-grid .info-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.info-grid .info-item:hover{background:#ffffff0d;border-color:#fff3}.info-grid .info-label{font-size:.85rem;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-grid .info-value{font-size:1rem;color:var(--color-text-primary);font-weight:600;font-family:var(--font-mono)}.info-grid .highlight-number{color:var(--color-accent);font-size:1.1rem;font-weight:700}.info-grid .investment-name{color:var(--color-accent);font-weight:600;background:#4f46e51a;padding:4px 8px;border-radius:4px;border:1px solid rgba(79,70,229,.3)}.info-grid .no-investment{color:var(--color-text-muted);font-style:italic;font-size:.9rem}@media (max-width: 768px){.info-grid{grid-template-columns:1fr;gap:.75rem}.info-grid .info-item{padding:.75rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:80vh;overflow:hidden;animation:slideInUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-elevated) 100%)}.modal-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--color-text-muted)}.modal-close:hover{background:var(--color-border);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-lg)}.investment-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-item{display:flex;align-items:center;gap:var(--spacing-sm)}.info-label{font-weight:600;color:var(--color-text-secondary);min-width:80px}.info-value{color:var(--color-text-primary);font-weight:500}.investment-name{color:var(--color-accent);font-weight:600;background:#4f46e51a;padding:var(--spacing-xs) var(--spacing-sm);border-radius:6px;border:1px solid rgba(79,70,229,.3)}.modal-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-surface-elevated);display:flex;justify-content:flex-end}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.pagination-container{flex-direction:column;align-items:stretch;text-align:center}.pagination{justify-content:center}.pagination-pages{flex-wrap:wrap;justify-content:center}.stats-grid{grid-template-columns:1fr}.container,.card-content{padding:var(--spacing-md)}.table-container{font-size:.8rem}.table th,.table td{padding:var(--spacing-md) var(--spacing-sm)}.card-title{font-size:1.5rem}.button-group{flex-direction:column}.button{justify-content:center}.tab-container{flex-direction:column}.modal-content{width:95%;margin:var(--spacing-md)}.info-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.info-label{min-width:auto}}
