*,:before,:after{box-sizing:border-box}:root{--color-bg:#f1f5f9;--color-surface:#fff;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eff6ff;--color-success:#059669;--color-success-soft:#ecfdf5;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a0f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}html{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}#root{width:100%}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app{background:var(--color-bg);min-height:100vh}.top-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.top-bar-inner,.page-body{max-width:1400px;margin:0 auto;padding-left:clamp(1.25rem,4vw,2.5rem);padding-right:clamp(1.25rem,4vw,2.5rem)}.top-bar-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:72px;display:flex}.brand{align-items:center;gap:.875rem;display:flex}.brand-mark{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:.95rem;font-weight:700;display:flex}.brand-text h1{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.125rem;font-weight:700}.brand-text p{color:var(--color-text-secondary);margin:.1rem 0 0;font-size:.8125rem}.page-body{padding-top:1.75rem;padding-bottom:2.5rem}.summary-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stats-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem}.stats-label{color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;display:block}.stats-value{color:var(--color-text);letter-spacing:-.03em;margin-top:.5rem;font-size:2rem;font-weight:700;line-height:1;display:block}.stats-meta{color:var(--color-text-muted);margin-top:.5rem;font-size:.8125rem;display:block}.controls-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex}.controls-label{width:100%;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 -.25rem;font-size:.8125rem;font-weight:600}.mode-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#f8fafc;padding:4px;display:inline-flex}.mode-toggle button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.55rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.mode-toggle button:hover:not(.active){color:var(--color-text);background:#eef2f7}.mode-toggle button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.date-filters{flex-wrap:wrap;gap:1rem;display:flex}.date-filters label{color:var(--color-text-secondary);flex-direction:column;gap:.4rem;font-size:.8125rem;font-weight:500;display:flex}.date-filters input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);min-width:170px;color:var(--color-text);padding:.55rem .75rem;transition:border-color .15s,box-shadow .15s}.date-filters input:hover{border-color:#94a3b8}.date-filters input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}.refresh-btn{border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;margin-left:auto;padding:.6rem 1.15rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.refresh-btn:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.refresh-btn:disabled{opacity:.65;cursor:not-allowed}.content-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.content-header{border-bottom:1px solid var(--color-border);background:#fafbfc;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.content-header h2{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.content-header p{color:var(--color-text-secondary);margin:.2rem 0 0;font-size:.8125rem}.content-actions{align-items:center;gap:.75rem;display:flex}.record-count{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem;font-weight:500}.export-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s}.export-btn:hover:not(:disabled){background:#f8fafc;border-color:#94a3b8}.export-btn:disabled{opacity:.55;cursor:not-allowed}.error-banner{border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);border:1px solid #fecaca;margin:1rem 1.5rem 0;padding:.85rem 1rem;font-size:.875rem}.loading-state,.empty-state{min-height:280px;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.empty-state p{margin:0;font-size:.9375rem}.spinner{border:2.5px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-wrapper{overflow:auto}.leads-table{border-collapse:collapse;width:100%;min-width:720px}.leads-table th,.leads-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.875rem 1.25rem}.leads-table th{z-index:1;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc;font-size:.75rem;font-weight:600;position:sticky;top:0}.leads-table tbody tr.lead-row{cursor:pointer;transition:background .12s}.leads-table tbody tr.lead-row:nth-child(2n){background:#fafbfc}.leads-table tbody tr.lead-row:hover,.leads-table tbody tr.lead-row:focus-visible{background:var(--color-primary-soft);outline:none}.leads-table td{color:var(--color-text);font-size:.875rem}.leads-table td:not(.utm-cell){text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.leads-table td.muted{color:var(--color-text-muted)}.status-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.status-badge.active{background:var(--color-success-soft);color:var(--color-success)}.status-badge.inactive{color:var(--color-text-secondary);background:#f1f5f9}.leads-table th:last-child,.leads-table td.utm-cell{width:120px;min-width:120px}.view-details{color:var(--color-primary);white-space:nowrap;font-size:.875rem;font-weight:600}.lead-row:hover .view-details,.lead-row:focus-visible .view-details{text-decoration:underline}.modal-overlay{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(560px,100%);max-height:min(80vh,720px);box-shadow:var(--shadow-md);overflow:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;display:flex}.modal-header h2{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:700}.modal-header p{color:var(--color-text-secondary);margin:.35rem 0 0;font-size:.8125rem}.modal-close{color:var(--color-text-secondary);cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;width:32px;height:32px;font-size:1.25rem;line-height:1}.modal-close:hover{color:var(--color-text);background:#e2e8f0}.modal-section{padding:1.25rem 1.5rem}.modal-section+.modal-section{border-top:1px solid var(--color-border)}.modal-section h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 1rem;font-size:.8125rem;font-weight:600}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 1.25rem;margin:0;display:grid}.detail-grid div{min-width:0}.detail-grid dt{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.75rem;font-weight:600}.detail-grid dd{color:var(--color-text);word-break:break-word;margin:0;font-size:.875rem}.modal-empty{color:var(--color-text-secondary);margin:0;font-size:.875rem}@media (width<=768px){.top-bar-inner{flex-direction:column;align-items:flex-start;min-height:auto;padding-top:1rem;padding-bottom:1rem}.refresh-btn{width:100%;margin-left:0}.content-header{flex-direction:column;align-items:flex-start}.content-actions{flex-wrap:wrap;width:100%}.export-btn{width:100%}}
