:root{--font:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg:#f0f2f8;--bg-accent:#e8ecff;--surface:#fff;--sidebar:#111827;--sidebar-hover:#1f2937;--sidebar-active:#312e81;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--primary:#4f46e5;--primary-hover:#4338ca;--primary-soft:#eef2ff;--success-soft:#ecfdf5;--success:#059669;--warning-soft:#fffbeb;--warning:#d97706;--danger:#dc2626;--danger-soft:#fef2f2;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 8px 30px #0f172a14;--shadow-lg:0 20px 50px #0f172a1f;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,.btn-primary{cursor:pointer;border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--primary), #6366f1);color:#fff;border:none;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .15s;box-shadow:0 4px 14px #4f46e559}button:hover:not(:disabled),.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4f46e566}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}button.danger{background:var(--danger);box-shadow:0 4px 14px #dc262640}button.ghost-btn{color:#94a3b8;width:100%;box-shadow:none;background:0 0;border:1px solid #334155;margin-top:.75rem}button.ghost-btn:hover{background:var(--sidebar-hover);color:#fff;transform:none}.sidebar-footer .settings-link{text-align:center;border-radius:var(--radius-sm);color:#94a3b8;border:1px solid #334155;width:100%;margin-top:.5rem;padding:.7rem 1.1rem;font-size:.9rem;font-weight:600;display:block}.sidebar-footer .settings-link:hover{background:var(--sidebar-hover);color:#fff}input,select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);padding:.75rem .9rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:#a5b4fc;outline:none;box-shadow:0 0 0 3px #6366f126}label{color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.login-page{background:radial-gradient(80% 60% at 20% 10%,#6366f140,#0000),radial-gradient(60% 50% at 80% 90%,#8b5cf633,#0000),linear-gradient(160deg,#0f172a 0%,#1e1b4b 50%,#312e81 100%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(100%,420px);box-shadow:var(--shadow-lg);background:#fffffff7;border-radius:20px;flex-direction:column;gap:1.1rem;padding:2.25rem;display:flex}.login-card .brand h1{letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:700}.login-card .brand p{color:var(--text-muted);margin:.35rem 0 0}.login-card .brand-mark{background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:grid}.layout{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#e2e8f0;flex-direction:column;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #1f2937;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:0 .5rem 1.5rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.sidebar-brand strong{color:#fff;font-size:1rem;display:block}.sidebar-brand span{color:#94a3b8;font-size:.75rem}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;display:flex}.nav-item{border-radius:var(--radius-sm);color:#94a3b8;align-items:center;gap:.65rem;padding:.75rem .9rem;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:#e2e8f0}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600}.nav-icon{text-align:center;opacity:.85;width:1.25rem}.sidebar-footer{border-top:1px solid #1f2937;padding-top:1rem}.admin-chip{align-items:center;gap:.65rem;padding:0 .25rem;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:grid}.admin-meta strong{color:#fff;font-size:.85rem;display:block}.admin-meta span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.72rem;display:block;overflow:hidden}.main-area{background:radial-gradient(ellipse 70% 50% at 100% 0%, var(--bg-accent), transparent), var(--bg);min-width:0}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.75rem 2rem 0;display:flex}.page-header h1{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:700}.page-header p{color:var(--text-muted);margin:.35rem 0 0;font-size:.95rem}.header-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.country-actions{flex-direction:column;align-items:flex-end;gap:.3rem;display:flex}.country-select{width:auto;max-width:9rem;padding:.25rem .4rem;font-size:.78rem}.country-count{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.page-content{max-width:1280px;padding:1.25rem 2rem 2rem}.back-link{color:var(--primary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:inline-block}.back-link:hover{text-decoration:underline}.stats-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.25rem}.stat-card .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.stat-card .value{letter-spacing:-.02em;margin-top:.25rem;font-size:1.75rem;font-weight:700}.stat-card.highlight{background:linear-gradient(135deg,#eef2ff,#faf5ff);border-color:#c7d2fe}a.stat-card-link{color:inherit;cursor:pointer;z-index:1;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;display:block;position:relative}a.stat-card-link:hover{background:linear-gradient(135deg,#f5f7ff,#faf5ff);border-color:#818cf8;transform:translateY(-2px);box-shadow:0 10px 24px #4f46e51f}a.stat-card-link:hover .label{color:var(--primary)}a.stat-card-link:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.stat-card.highlight .value{color:var(--primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.35rem 1.5rem}.card h2{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.form-card{margin-bottom:1.25rem}.password-card{max-width:480px}.stack-form{flex-direction:column;gap:1rem;max-width:420px;margin-top:1rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-form{flex-wrap:wrap;flex:1;gap:.5rem;min-width:260px;display:flex}.search-form select{flex:0 220px;min-width:180px}.search-form input{background:var(--surface)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);background:#f8fafc;padding:.85rem 1.15rem;font-size:.75rem;font-weight:700}td{border-bottom:1px solid #f1f5f9;padding:1rem 1.15rem;font-size:.92rem}tbody tr{transition:background .12s}tbody tr:hover{background:#fafbff}tbody tr:last-child td{border-bottom:none}.contact-name{color:var(--text);font-weight:600}.phone-mono{color:#334155;font-family:ui-monospace,SF Mono,monospace;font-size:.88rem}.user-pills{flex-wrap:wrap;gap:.35rem;display:flex}.user-pill{background:var(--primary-soft);color:#4338ca;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.dup-badge{background:var(--warning-soft);color:var(--warning);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.interest-btn{color:#15803d;white-space:nowrap;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.76rem;font-weight:700;line-height:1.2;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;display:inline-flex}.interest-btn:hover:not(:disabled){color:#166534;background:#dcfce7;border-color:#4ade80}.interest-btn.active{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 1px 2px #16a34a40}.interest-btn.active:hover:not(:disabled){color:#fff;background:#15803d;border-color:#15803d}.interest-btn:disabled{opacity:.65;cursor:wait}.interest-btn.static{cursor:default}.interest-btn.muted{color:var(--text-muted);background:0 0;border-color:#0000;font-weight:500}.interest-choice{gap:.35rem;display:inline-flex}.interest-icon-btn{border:1px solid var(--border);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--text-muted);cursor:pointer;opacity:.55;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:800;line-height:1;transition:background .12s,border-color .12s,color .12s,opacity .12s,transform .12s;display:inline-flex}.interest-icon-btn.selected{opacity:1}.interest-icon-btn,.interest-icon-btn:hover:not(:disabled){box-shadow:none;transform:none}.interest-icon-btn.yes:hover:not(:disabled):not(.static),.interest-icon-btn.yes.selected{color:#fff;background:#16a34a;border-color:#16a34a;box-shadow:0 1px 2px #16a34a40}.interest-icon-btn.yes.conflict.selected,.interest-icon-btn.yes.conflict:hover:not(:disabled):not(.static){color:#fff;background:#f97316;border-color:#f97316;box-shadow:0 1px 2px #f973164d}.interest-icon-btn.no:hover:not(:disabled):not(.static),.interest-icon-btn.no.selected{color:#db2777;background:#fdf2f8;border-color:#f9a8d4}.interest-icon-btn:hover:not(:disabled):not(.static){opacity:1}.interest-icon-btn:active:not(:disabled):not(.static){transform:scale(.94)}.interest-icon-btn:disabled{opacity:.4;cursor:wait}.interest-icon-btn.static{cursor:default}tbody tr.interest-conflict-row,tbody tr.interest-conflict-row:hover{background:#fff7ed}tbody tr.interest-conflict-row td:first-child{box-shadow:inset 3px 0 #f97316}.user-pill.claimed-pill{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.user-pill.conflict-pill{color:#c2410c;background:#ffedd5;border:1px solid #fdba74}.interest-conflict-badge{color:#c2410c;white-space:nowrap;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;width:fit-content;margin-top:.4rem;padding:.2rem .55rem;font-size:.74rem;font-weight:700;text-decoration:none;display:flex}.interest-conflict-badge:hover{background:#fed7aa}.interest-toggle-btn{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;border-radius:999px;font-size:1rem;line-height:1;transition:background .12s,color .12s,border-color .12s,transform .12s}.interest-toggle-btn:hover:not(:disabled){color:#d97706;background:#fffbeb;border-color:#f59e0b}.interest-toggle-btn.active{color:#b45309;background:#fef3c7;border-color:#f59e0b}.interest-toggle-btn:disabled{opacity:.6;cursor:wait}.interest-badge{border-radius:999px;justify-content:center;align-items:center;min-width:1.75rem;padding:.2rem .5rem;font-size:.82rem;font-weight:700;display:inline-flex}.interest-badge.active{color:#b45309;background:#fef3c7}.interest-badge.muted{color:var(--text-muted)}.interest-badge.aligned{color:#15803d;background:#dcfce7}.interest-badge.pending{color:#c2410c;background:#fff7ed}.interest-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.interest-conflict-card{padding:1rem 1.1rem}.interest-conflict-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.interest-conflict-title{margin:0;font-size:1.05rem}.interest-conflict-phone{margin:.35rem 0 0;font-size:.9rem}.interest-section{margin-bottom:1rem}.interest-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .35rem;font-size:.82rem}.interest-section-hint{color:var(--text-muted);margin:0 0 .85rem;font-size:.88rem;line-height:1.45}.interest-choice-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.interest-choice-card{border:2px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:14px;align-items:flex-start;gap:.75rem;width:100%;padding:.9rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;display:flex;position:relative}.interest-choice-card:hover{background:#f8fffb;border-color:#86efac}.interest-choice-card.selected{background:linear-gradient(#f0fdf4 0%,#fff 100%);border-color:#16a34a;box-shadow:0 0 0 3px #16a34a1f}.interest-choice-card:focus-visible{outline-offset:2px;outline:2px solid #16a34a}.interest-choice-check{color:#fff;text-align:center;background:#fff;border:2px solid #d1d5db;border-radius:999px;width:1.35rem;height:1.35rem;font-size:.72rem;font-weight:800;line-height:1.2rem;position:absolute;top:.65rem;right:.65rem}.interest-choice-card.selected .interest-choice-check{background:#16a34a;border-color:#16a34a}.interest-choice-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#8b5cf6);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:700;display:inline-flex}.interest-choice-card.selected .interest-choice-avatar{background:linear-gradient(135deg,#16a34a,#22c55e)}.interest-choice-body{flex-direction:column;gap:.2rem;min-width:0;padding-right:1.5rem;display:flex}.interest-choice-body strong{color:var(--text);font-size:.95rem}.interest-choice-phone{color:var(--text-muted);font-size:.8rem}.interest-choice-rehber{color:#15803d;font-size:.82rem}.interest-conflict-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;padding-top:.25rem;display:flex}.marker-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.marker-tab{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.88rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.marker-tab:hover{color:var(--text);background:var(--primary-soft);border-color:#c7d2fe}button.marker-tab,button.marker-tab:hover:not(:disabled){box-shadow:none;transform:none}.marker-tab.active{background:var(--primary-soft);color:var(--primary);border-color:#a5b4fc}.marker-tab-count{min-width:1.4rem;height:1.4rem;color:var(--text-muted);background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-flex}.marker-tab.active .marker-tab-count{color:var(--primary);background:#fff}.group-stack{flex-direction:column;gap:1.25rem;display:flex}.duplicate-group-card{overflow:hidden}.duplicate-group-header{width:100%;box-shadow:none;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fafbff,#f8fafc);border:none;border-bottom:1px solid #0000;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;transition:background .15s;display:flex}.duplicate-group-header:hover{background:linear-gradient(135deg,#f3f4ff,#f1f5f9);transform:none}.duplicate-group-card.is-open .duplicate-group-header{border-bottom-color:var(--border)}.duplicate-group-meta{align-items:center;gap:.65rem;margin-left:auto;display:inline-flex}.group-chevron{width:1.5rem;height:1.5rem;color:var(--text-muted);justify-content:center;align-items:center;font-size:.95rem;line-height:1;transition:transform .2s;display:inline-flex}.duplicate-group-card.is-closed .group-chevron{transform:rotate(-90deg)}.duplicate-group-card.is-open .group-chevron{transform:rotate(0)}.duplicate-group-body{animation:.18s group-open}@keyframes group-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.duplicate-group-users{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.duplicate-group-user{align-items:center;gap:.35rem;display:inline-flex}.group-join{color:var(--text-muted);font-size:.85rem;font-weight:700}.user-pill.muted-pill{color:#475569;background:#f1f5f9}.user-pill.heart-pill{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8}.heart-badge{color:#9d174d;background:#fdf2f8;border:1px solid #fbcfe8;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.heart-icon-only{justify-content:center;align-items:center;min-width:2rem;padding:.3rem .5rem;font-size:1rem;line-height:1;display:inline-flex}.white-heart-group .duplicate-group-header{background:linear-gradient(135deg,#fdf2f8,#fff1f2)}.excluded-group .duplicate-group-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.excluded-badge{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.user-pill.excluded-pill{color:#475569;background:#f8fafc;border:1px solid #cbd5e1}.group-hint.excluded-hint{background:#f8fafc}.phone-marker-group .duplicate-group-header{background:linear-gradient(135deg,#eff6ff,#f0f9ff)}.phone-marker-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}.user-pill.phone-marker-pill{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.group-hint.phone-marker-hint{background:#f8fbff}.rank-badge{color:#475569;background:#f1f5f9;border-radius:999px;justify-content:center;align-items:center;min-width:1.75rem;height:1.75rem;padding:0 .4rem;font-size:.85rem;font-weight:700;display:inline-flex}.rank-badge.rank-top{color:#3730a3;background:#eef2ff}.group-hint{color:var(--text-muted);border-bottom:1px solid var(--border);background:#fffbfc;margin:0;padding:.75rem 1.15rem;font-size:.82rem}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:.4rem .75rem;font-size:.82rem;font-weight:700}.badge.muted-badge{color:var(--text-muted);background:#f1f5f9}.link-btn{color:var(--primary);border-radius:8px;padding:.35rem .65rem;font-size:.88rem;font-weight:600;transition:background .12s,color .12s}a.link-btn:hover,button.link-btn:hover:not(:disabled){background:var(--primary-soft);color:var(--primary-hover)}button.link-btn{background:var(--primary-soft);color:var(--primary-hover);box-shadow:none;border:1px solid #c7d2fe;padding:.35rem .7rem;font-size:.88rem;font-weight:700}button.link-btn:hover:not(:disabled){color:#312e81;box-shadow:none;background:#e0e7ff;transform:none}button.link-btn:disabled{opacity:.55}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem .5rem;display:flex}.pagination{border-top:1px solid var(--border);background:#fafbff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.85rem 1.15rem;display:flex}.pagination-info{color:var(--text-muted);font-size:.88rem;font-weight:500}.pagination-controls{align-items:center;gap:.65rem;display:flex}.pagination-page{color:var(--text);text-align:center;min-width:6.5rem;font-size:.88rem;font-weight:600}.icon-btn{width:2rem;height:2rem;box-shadow:none;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--danger-soft);color:var(--danger);transform:none}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-danger{color:var(--danger)}.icon-btn-success{color:#15803d}.icon-btn-success:hover:not(:disabled){color:#166534;background:#dcfce7}.import-zone{border-radius:var(--radius);text-align:center;cursor:pointer;background:linear-gradient(#fafbff,#f8fafc);border:2px dashed #c7d2fe;margin-top:1.25rem;padding:2rem;transition:border-color .15s,background .15s}.import-zone:hover{border-color:var(--primary);background:var(--primary-soft)}.import-zone.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.import-zone strong{color:var(--text);margin-bottom:.35rem;display:block}.import-zone span{color:var(--text-muted);font-size:.85rem}.import-btn input{display:none}.alert{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.85rem 1.1rem;font-size:.9rem;font-weight:500}.alert.error{background:var(--danger-soft);color:var(--danger);border:1px solid #fecaca}.alert.info{background:var(--primary-soft);color:#3730a3;border:1px solid #c7d2fe}.alert.success{background:var(--success-soft);color:var(--success);border:1px solid #a7f3d0}.muted{color:var(--text-muted);font-size:.9rem}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:3.5rem 2rem}.empty-icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);border-radius:16px;place-items:center;margin:0 auto 1rem;font-size:1.5rem;display:grid}.empty-state h3{margin:0 0 .5rem;font-size:1.1rem}.empty-state p{color:var(--text-muted);margin:0 0 1.25rem;max-width:360px;margin-inline:auto}.loading-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:.75rem;padding:3rem;display:flex}.spinner{border:3px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-center{place-items:center;min-height:60vh;display:grid}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.detail-grid .full-width{grid-column:1/-1}.card dl{grid-template-columns:110px 1fr;gap:.65rem;margin:0;display:grid}.card dt{color:var(--text-muted);font-size:.88rem}.card dd{margin:0;font-weight:500}.card ul{margin:0;padding-left:1.1rem;line-height:1.7}.inline-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:1rem;margin-top:1.1rem;display:grid}.danger-zone{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.danger-zone h3{margin:0 0 .35rem;font-size:.95rem}.danger-zone p{color:var(--text-muted);margin:0 0 .65rem;font-size:.82rem}.danger-zone.muted-zone{border-top-style:dashed;margin-top:1rem;padding-top:1rem}.row-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}button.danger-text,.ghost-btn.danger-text{color:var(--danger);box-shadow:none;background:0 0;border:none;padding:.35rem .5rem;font-weight:600}button.danger-text:hover:not(:disabled),.ghost-btn.danger-text:hover:not(:disabled){background:var(--danger-soft);box-shadow:none;transform:none}.menu-toggle,.sidebar-close,.sidebar-backdrop{display:none}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:1rem .9rem .35rem;font-size:.7rem;font-weight:700}@media (width<=900px){.layout{grid-template-columns:1fr}.sidebar{z-index:50;visibility:hidden;width:min(300px,85vw);height:100dvh;padding:1.25rem .9rem 1.5rem;transition:transform .22s,visibility 0s linear .22s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{visibility:visible;transition:transform .22s,visibility;transform:none;box-shadow:12px 0 40px #0f172a4d}.sidebar-brand{padding-inline:.4rem 0}button.sidebar-close,button.menu-toggle{width:44px;height:44px;box-shadow:none;background:0 0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s;display:inline-flex}button.sidebar-close{color:#94a3b8;margin-left:auto}button.menu-toggle{color:var(--text);margin-left:-.5rem}button.sidebar-close:hover:not(:disabled),button.menu-toggle:hover:not(:disabled){box-shadow:none;background:#94a3b826;transform:none}.nav-item{min-height:48px;font-size:.95rem}.sidebar-backdrop{z-index:40;width:100%;box-shadow:none;cursor:pointer;background:#0f172a80;border:none;border-radius:0;padding:0;display:block;position:fixed;inset:0}button.sidebar-backdrop:hover:not(:disabled){box-shadow:none;transform:none}.page-header{flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.85rem 1.25rem 0}.page-title{flex:1;min-width:0}.page-header h1{font-size:1.25rem;line-height:1.25}.page-header p{white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.82rem;overflow:hidden}.header-actions{flex-wrap:nowrap;flex-shrink:0}.back-link{align-items:center;min-height:44px;margin:-.6rem 0 -.2rem;display:inline-flex}.header-actions .link-btn{align-items:center;min-height:44px;display:inline-flex}.page-header,.page-content{padding-inline:1.25rem}.inline-form{grid-template-columns:1fr}}.phone-link{color:inherit;white-space:nowrap;text-decoration:none}.detail-text{white-space:nowrap}.phone-link:hover{color:var(--primary)}.icon-text-btn{align-items:center;gap:.45rem;display:inline-flex}.view-switch,.card-only,.show-on-mobile,.sheet-close,.sheet-backdrop,.phone-icon,.detail-icon,.cell-conflict{display:none}@media (width<=640px){.page-header,.page-content{padding-inline:1rem}.hide-on-mobile{display:none!important}.header-actions .btn-label{display:none}.header-actions button.icon-text-btn{border-radius:12px;justify-content:center;width:44px;height:44px;padding:0}.view-switch{background:#e2e7f1;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:.9rem;padding:4px;display:grid}.view-switch-item{color:#475569;border-radius:10px;justify-content:center;align-items:center;height:40px;font-size:.875rem;font-weight:600;display:flex}.view-switch-item.active{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 2px #0f172a14}.stats-row{scrollbar-width:none;gap:.5rem;margin:0 -1rem .9rem;padding:0 1rem;display:flex;overflow-x:auto}.stats-row::-webkit-scrollbar{display:none}.stat-card{flex:none;min-width:96px;padding:.6rem .85rem}.stat-card .label{text-transform:none;letter-spacing:0;white-space:nowrap;font-size:.75rem}.stat-card .value{margin-top:.1rem;font-size:1.25rem;font-weight:800}a.stat-card-link:hover{transform:none}.sticky-filters{z-index:5;background:var(--bg);margin:0 -1rem .75rem;padding:.6rem 1rem;transition:box-shadow .15s;position:sticky;top:0}.sticky-filters.stuck{border-bottom:1px solid var(--border);box-shadow:0 6px 16px #0f172a14}.sticky-filters .toolbar{margin-bottom:.6rem}.sticky-filters .marker-tabs{margin-bottom:0}.search-form{min-width:0}.search-form input[type=search]{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat .85rem center / 20px;border-radius:14px;height:46px;padding-left:2.6rem;font-size:1rem}.search-submit{display:none}.marker-tabs{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-inline:-1rem;padding:.1rem 1rem .2rem;overflow-x:auto}.marker-tabs::-webkit-scrollbar{display:none}.marker-tab{white-space:nowrap;scroll-snap-align:start;color:#475569;flex-shrink:0;min-height:40px;padding:.4rem .5rem .4rem .85rem;font-size:.875rem;font-weight:700}.marker-tab.active,.marker-tab.active:hover{background:var(--primary);border-color:var(--primary);color:#fff}.marker-tab.active .marker-tab-count{color:#fff;background:#ffffff38}.panel.cards-on-mobile{box-shadow:none;background:0 0;border:none;overflow:visible}.cards-on-mobile .table-wrap{overflow:visible}.cards-on-mobile table{display:block}.cards-on-mobile thead{display:none}.cards-on-mobile tbody{flex-direction:column;gap:.75rem;display:flex}.cards-on-mobile tbody tr{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;padding:1rem;display:grid}.cards-on-mobile tbody tr:hover{background:var(--surface)}.cards-on-mobile td{border:none;min-width:0;padding:0;display:block}.cards-on-mobile .card-only{display:inline}.cards-on-mobile .cell-name{overflow-wrap:anywhere;grid-area:name;font-size:1rem;line-height:1.35}.cards-on-mobile .cell-phone{font-family:var(--font);grid-area:phone;font-size:.875rem}.cards-on-mobile .phone-link{color:#475569;font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;min-height:44px;margin:-6px 0;font-weight:500;display:inline-flex}.cards-on-mobile .phone-icon{color:var(--primary);display:block}.cards-on-mobile .cell-interest{grid-area:interest}.cards-on-mobile .cell-detail{grid-area:detail}.cards-on-mobile .detail-link{background:var(--primary-soft);width:44px;height:44px;color:var(--primary-hover);border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.cards-on-mobile .detail-text{display:none}.cards-on-mobile .detail-icon{display:block}.dup-cards tbody tr{grid-template-columns:minmax(0,1fr) auto 52px;grid-template-areas:"name interest interest""phone interest interest""conflict conflict conflict""users users detail"}.dup-cards .cell-interest{padding-left:.75rem}.dup-cards .interest-choice{gap:.5rem}.dup-cards .interest-icon-btn{width:2.75rem;height:2.75rem;font-size:1.1rem}.dup-cards .cell-interest .interest-conflict-badge{display:none}.dup-cards .cell-conflict{grid-area:conflict;margin-top:.75rem;display:block}.conflict-banner{color:#9a3412;background:#ffedd5;border-radius:12px;align-items:center;gap:.5rem;min-height:44px;padding:0 .75rem;font-size:.82rem;font-weight:600;display:flex}.conflict-banner-text{flex:1;min-width:0}.conflict-banner strong{font-weight:800}.dup-cards .cell-count{display:none}.dup-cards :is(.cell-users,.cell-detail){border-top:1px solid #eef1f6;align-self:stretch;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.dup-cards .cell-users{grid-area:users}.dup-cards .cell-detail{justify-content:flex-end}.dup-cards .dup-badge{color:#b45309;white-space:nowrap;padding:.25rem .6rem;font-size:.75rem;display:inline-block}.dup-cards .cell-users .user-pill{padding:.25rem .6rem}.dup-cards tbody tr.interest-conflict-row,.dup-cards tbody tr.interest-conflict-row:hover{background:#fff7ed;border-color:#fdba74}.dup-cards tbody tr.interest-conflict-row td:first-child{box-shadow:none}.dup-cards tbody tr.interest-conflict-row :is(.cell-users,.cell-detail){border-top-color:#fed7aa}.entry-cards tbody tr{grid-template-columns:auto minmax(0,1fr) auto 56px;grid-template-areas:"name name name detail""phone phone phone detail""owner status interest interest"}.entry-cards .cell-detail{justify-self:end}.entry-cards :is(.cell-owner,.cell-status,.cell-interest){border-top:1px solid #eef1f6;align-self:stretch;align-items:center;gap:.4rem;margin-top:.75rem;padding-top:.75rem;display:flex}.entry-cards .cell-owner{grid-area:owner;padding-right:.4rem}.entry-cards .cell-status{grid-area:status}.entry-cards .cell-interest{justify-content:flex-end}.entry-cards .interest-btn{min-height:44px;padding:0 1rem;font-size:.82rem}.entry-cards .interest-btn.muted{display:none}.search-form select{flex:1 1 0;min-width:0;height:44px}.user-cards tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name count""phone count""actions actions"}.user-cards .cell-count{grid-area:count;align-self:center;padding-left:.75rem}.user-cards .cell-count .badge{white-space:nowrap;font-size:.85rem;font-weight:700}.user-cards .cell-actions{border-top:1px solid #eef1f6;grid-area:actions;margin-top:.75rem;padding-top:.75rem}.user-cards .row-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.5rem;display:grid}.user-cards .row-actions>*{white-space:nowrap;border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;min-height:44px;margin:0;padding:0 .5rem;font-size:.875rem;font-weight:700;display:inline-flex}.user-cards .row-actions>a.link-btn{background:var(--primary-soft);border-color:#c7d2fe}.user-cards .row-actions>.danger-text{background:var(--danger-soft);border-color:#fecaca}.user-cards .cell-name input,.user-cards .cell-phone input{margin-bottom:.5rem}.show-on-mobile{display:inline-flex}.header-actions button.show-on-mobile{border-radius:12px;align-items:center;min-height:44px}.create-sheet{display:none}.create-sheet.open{z-index:60;max-height:90dvh;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));border:none;border-radius:24px 24px 0 0;margin:0;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 40px #0f172a2e}.create-sheet h2{padding-right:3rem}.create-sheet input{min-height:48px;font-size:1rem}.create-sheet button[type=submit]{min-height:50px}button.sheet-close{width:44px;height:44px;color:var(--text-muted);box-shadow:none;background:0 0;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.75rem;right:.75rem}button.sheet-close:hover:not(:disabled){box-shadow:none;background:#f1f5f9;transform:none}.sheet-backdrop{z-index:55;width:100%;box-shadow:none;background:#0f172a73;border:none;border-radius:0;padding:0;display:block;position:fixed;inset:0}button.sheet-backdrop:hover:not(:disabled){box-shadow:none;transform:none}}body{margin:0}#root{min-height:100vh}
