:root{--primary:#1a73e8;--primary-light:#e8f0fe;--bg:#f5f7fa;--card:#fff;--text:#202124;--text-sec:#5f6368;--border:#dadce0;--success:#0d904f;--warning:#e37400;--danger:#d93025}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.header{background:linear-gradient(135deg,#1a237e,#283593);color:#fff;padding:20px 32px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.15)}.header h1{font-size:22px;font-weight:600}.header .subtitle{font-size:13px;opacity:.8;margin-top:2px}.header .refresh-btn{background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);color:#fff;padding:8px 18px;border-radius:6px;cursor:pointer;font-size:13px;text-decoration:none;transition:background .2s}.header .refresh-btn:hover{background:hsla(0,0%,100%,.25)}.header .refresh-btn:disabled{opacity:.6;cursor:not-allowed}.container{max-width:1540px;margin:0 auto;padding:20px 24px}.stats{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.stat-card{background:var(--card);border-radius:10px;padding:18px 24px;flex:1 1;min-width:190px;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid var(--border)}.stat-card .label{font-size:12px;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}.stat-card .value{font-size:28px;font-weight:700;margin-top:4px}.stat-card.blue .value{color:var(--primary)}.stat-card.green .value{color:var(--success)}.stat-card.orange .value{color:var(--warning)}.stat-card.purple .value{color:#7c3aed}.stat-card.teal .value{color:#0d9488}.error-box{background:#fce8e6;border:1px solid #f5c6cb;color:var(--danger);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.filter-bar{background:var(--card);border-radius:10px;padding:16px 20px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid var(--border);margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:11px;font-weight:600;color:var(--text-sec);text-transform:uppercase;letter-spacing:.5px}.filter-group input[type=text],.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff;min-width:200px;color:var(--text)}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.filter-btn{padding:8px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;font-weight:500}.filter-btn.apply{background:var(--primary);color:#fff}.filter-btn.apply:hover{background:#1557b0}.filter-btn.reset{background:#f1f3f4;color:var(--text);border:1px solid var(--border)}.filter-btn.reset:hover{background:#e8eaed}.source-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.source-tab{padding:6px 16px;border-radius:20px;font-size:13px;border:1px solid var(--border);background:var(--card);cursor:pointer;text-decoration:none;color:var(--text);transition:all .2s;white-space:nowrap}.source-tab:hover{background:var(--primary-light);border-color:var(--primary)}.source-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.source-tab .count{font-weight:700;margin-left:4px}.table-wrap{background:var(--card);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid var(--border)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead th{background:#f8f9fa;padding:12px 14px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-sec);border-bottom:2px solid var(--border);white-space:nowrap;position:-webkit-sticky;position:sticky;top:0;z-index:10}tbody td{padding:10px 14px;border-bottom:1px solid #f0f0f0;vertical-align:top;max-width:250px;word-wrap:break-word}tbody tr:hover td{background:#f8f9fb}tbody tr:nth-child(2n) td{background:#fafbfc}tbody tr:nth-child(2n):hover td{background:#f1f3f5}.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.badge-main{background:#e8f0fe;color:#1a73e8}.badge-event{background:#fef7e0;color:#e37400}.badge-dice{background:#ede9fe;color:#7c3aed}.badge-ambitious{background:#ccfbf1;color:#0d9488}.badge-source,.badge-yes{background:#e6f4ea;color:#0d904f}.badge-no{background:#fce8e6;color:#d93025}.name-cell{font-weight:600;color:var(--text)}.email-cell{color:var(--primary);font-size:12px;word-break:break-all}.contact-cell{font-size:12px;white-space:nowrap}.empty-state{text-align:center;padding:60px 20px;color:var(--text-sec)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:16px}.footer{text-align:center;padding:20px;color:var(--text-sec);font-size:12px}.upload-csv-wrapper{margin-bottom:20px}.upload-toggle-btn{margin-bottom:12px}.upload-form{background:var(--card);border-radius:10px;padding:16px 20px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid var(--border)}.upload-form input[type=file]{padding:6px 0;font-size:14px}.upload-form input[type=text]{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:#fff;min-width:250px;color:var(--text)}.upload-form input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.upload-message{font-size:13px;padding:6px 12px;border-radius:6px;width:100%}.upload-message.success{background:#e6f4ea;color:var(--success)}.upload-message.error{background:#fce8e6;color:var(--danger)}.badge-dynamic{background:#fef3c7;color:#92400e}.auth-controls{display:flex;align-items:center;gap:10px}.auth-email{padding:6px 10px;border-radius:6px;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.28);color:#fff;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe 0,#f8fafc 45%,#eef2ff 100%)}.auth-card{width:100%;max-width:460px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 25px rgba(15,23,42,.08);padding:24px}.auth-card h1{font-size:24px;margin-bottom:8px}.auth-card p{color:var(--text-sec);margin-bottom:18px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-size:12px;color:var(--text-sec);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.auth-form input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:14px}.auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.auth-message{font-size:13px;color:var(--text-sec);background:#f8fafc;border:1px solid #e2e8f0;padding:10px 12px;border-radius:8px}.admin-page-wrap{max-width:1200px;margin:0 auto;padding:24px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-form{background:var(--card);border-radius:10px;padding:16px 20px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid var(--border);margin-bottom:16px}.admin-message{margin-bottom:14px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:10px 12px;color:#0f172a;font-size:13px}@media (max-width:768px){.header{flex-direction:column;gap:12px;text-align:center;align-items:flex-start}.container{padding:12px}.filter-bar,.stats{flex-direction:column}.filter-bar{align-items:stretch}.filter-group input,.filter-group select{min-width:auto;width:100%}.auth-controls{flex-wrap:wrap}.auth-email{max-width:100%}}