@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0B1B33;
  --navy2:#112240;
  --navy3:#1A3358;
  --teal:#00C9A7;
  --teal2:#00A88A;
  --amber:#F4A623;
  --coral:#FF6B6B;
  --sky:#4FC3F7;
  --text:#E8F0FE;
  --text2:#8BA3C7;
  --text3:#4E6A92;
  --card:#152B4A;
  --card2:#1C3560;
  --border:rgba(255,255,255,0.07);
  --gold:#FFD700;
}
body{background:var(--navy);font-family:'DM Sans',sans-serif;color:var(--text);min-height:100vh;display:flex}

/* Sidebar */
.sidebar{width:220px;min-height:100vh;background:var(--navy2);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}
.brand{padding:22px 20px 18px;border-bottom:1px solid var(--border)}
.brand-logo{display:flex;align-items:center;gap:10px}
.brand-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--teal),#006D77);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;letter-spacing:-1px}
.brand-name{font-size:13px;font-weight:600;color:var(--text);letter-spacing:0.3px}
.brand-sub{font-size:10px;color:var(--text3);margin-top:1px;font-family:'DM Mono',monospace}

.nav{flex:1;padding:12px 0}
.nav-section{font-size:9px;letter-spacing:1.5px;color:var(--text3);padding:12px 20px 6px;text-transform:uppercase;font-weight:500}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 20px;font-size:13px;color:var(--text2);cursor:pointer;transition:all .15s;position:relative;text-decoration:none}
.nav-item:hover,.nav-item.active{background:rgba(0,201,167,0.08);color:var(--teal)}
.nav-item.active::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--teal);border-radius:0 2px 2px 0}
.nav-item .icon{font-size:15px;width:18px;text-align:center}
.nav-badge{margin-left:auto;background:var(--coral);color:#fff;font-size:9px;font-weight:600;padding:2px 6px;border-radius:10px}

.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border)}
.user-chip{display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}
.user-info .name{font-size:12px;font-weight:500;color:var(--text)}
.user-info .role{font-size:10px;color:var(--text3)}

/* Main */
.main{flex:1;overflow:auto;display:flex;flex-direction:column}
.topbar{background:var(--navy2);border-bottom:1px solid var(--border);padding:0 28px;height:58px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10}
.topbar-title{font-size:15px;font-weight:600;color:var(--text);flex:1}
.topbar-sub{font-size:11px;color:var(--text3);font-family:'DM Mono',monospace;margin-top:1px}
.search-bar{display:flex;align-items:center;gap:8px;background:var(--navy3);border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:12px;color:var(--text2);width:220px}
.search-bar input{background:none;border:none;outline:none;color:var(--text);font-size:12px;font-family:'DM Sans',sans-serif;width:100%}
.search-bar input::placeholder{color:var(--text3)}
.topbar-btn{width:34px;height:34px;background:var(--navy3);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;position:relative;transition:background .15s}
.topbar-btn:hover{background:var(--card2)}
.notif-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:var(--coral);border-radius:50%;border:1.5px solid var(--navy2)}
.tab-row{display:flex;gap:4px;background:var(--navy3);border:1px solid var(--border);border-radius:8px;padding:3px}
.tab{font-size:11px;font-weight:500;padding:5px 12px;border-radius:5px;cursor:pointer;color:var(--text2);transition:all .15s}
.tab.active{background:var(--teal);color:#0B1B33}

/* Content */
.content{padding:24px 28px;flex:1}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:0.2px}
.btn-sm{background:rgba(0,201,167,0.12);border:1px solid rgba(0,201,167,0.25);color:var(--teal);font-size:11px;font-weight:500;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .15s}
.btn-sm:hover{background:rgba(0,201,167,0.22)}

.btn-primary{background:var(--teal);border:none;color:#0B1B33;font-size:12px;font-weight:600;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .15s}
.btn-primary:hover{background:var(--teal2)}

/* KPI Cards */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;position:relative;overflow:hidden;cursor:pointer;transition:border-color .2s}
.kpi-card:hover{border-color:rgba(255,255,255,0.15)}
.kpi-card::before{content:'';position:absolute;top:-20px;right:-20px;width:70px;height:70px;border-radius:50%;opacity:0.07}
.kpi-card.teal::before{background:var(--teal)}
.kpi-card.amber::before{background:var(--amber)}
.kpi-card.coral::before{background:var(--coral)}
.kpi-card.sky::before{background:var(--sky)}
.kpi-label{font-size:10px;color:var(--text3);letter-spacing:0.8px;text-transform:uppercase;font-weight:500;margin-bottom:8px}
.kpi-value{font-size:26px;font-weight:300;color:var(--text);letter-spacing:-1px;font-family:'DM Sans',sans-serif;margin-bottom:4px}
.kpi-delta{font-size:10px;font-weight:500}
.kpi-delta.up{color:var(--teal)}
.kpi-delta.down{color:var(--coral)}
.kpi-accent{position:absolute;bottom:0;left:0;right:0;height:2px}
.kpi-card.teal .kpi-accent{background:var(--teal)}
.kpi-card.amber .kpi-accent{background:var(--amber)}
.kpi-card.coral .kpi-accent{background:var(--coral)}
.kpi-card.sky .kpi-accent{background:var(--sky)}

/* Grid layout */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.grid-3{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-bottom:24px}
.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}
.panel-title{font-size:12px;font-weight:600;color:var(--text);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}
.panel-tag{font-size:9px;color:var(--text3);background:var(--navy3);border:1px solid var(--border);padding:3px 8px;border-radius:20px;font-family:'DM Mono',monospace}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:8px}
.funnel-stage{display:flex;align-items:center;gap:12px;cursor:pointer;transition:opacity .15s}
.funnel-stage:hover{opacity:.8}
.funnel-label{font-size:11px;color:var(--text2);width:90px;flex-shrink:0}
.funnel-bar-wrap{flex:1;background:var(--navy3);border-radius:4px;height:28px;overflow:hidden;position:relative}
.funnel-bar{height:100%;border-radius:4px;display:flex;align-items:center;padding:0 10px;font-size:11px;font-weight:600;color:#fff;transition:width .6s cubic-bezier(.4,0,.2,1)}
.funnel-count{font-size:11px;color:var(--text3);width:36px;text-align:right;font-family:'DM Mono',monospace}

/* Lead table */
.lead-table{width:100%;border-collapse:separate;border-spacing:0}
.lead-table th{font-size:9px;letter-spacing:1px;color:var(--text3);text-transform:uppercase;padding:0 12px 10px;text-align:left;font-weight:500;border-bottom:1px solid var(--border)}
.lead-table td{padding:11px 12px;font-size:12px;color:var(--text2);border-bottom:1px solid rgba(255,255,255,0.03)}
.lead-table tr:last-child td{border-bottom:none}
.lead-table tr:hover td{background:rgba(255,255,255,0.025)}
.lead-name{font-weight:500;color:var(--text);font-size:12px}
.source-badge{font-size:9px;font-weight:600;padding:3px 7px;border-radius:4px;letter-spacing:0.3px}
.source-meta{background:rgba(66,133,244,0.15);color:#80AAFF}
.source-google{background:rgba(234,67,53,0.15);color:#FF8A80}
.source-web{background:rgba(0,201,167,0.12);color:var(--teal)}
.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}
.s-new{background:#4FC3F7}
.s-follow{background:var(--amber)}
.s-visit{background:#CE93D8}
.s-conv{background:var(--teal)}
.s-lost{background:var(--coral)}
.action-btn{background:none;border:1px solid var(--border);color:var(--text2);font-size:10px;padding:3px 9px;border-radius:5px;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif}
.action-btn:hover{border-color:var(--teal);color:var(--teal)}

/* Leaderboard */
.lb-list{display:flex;flex-direction:column;gap:8px}
.lb-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;transition:background .15s;cursor:pointer}
.lb-row:hover{background:rgba(255,255,255,0.03)}
.lb-row.gold{background:rgba(255,215,0,0.05);border:1px solid rgba(255,215,0,0.12)}
.lb-rank{font-size:11px;font-weight:700;width:18px;text-align:center;font-family:'DM Mono',monospace}
.rank-1{color:var(--gold)}
.rank-2{color:#C0C0C0}
.rank-3{color:#CD7F32}
.lb-name{font-size:12px;font-weight:500;color:var(--text);flex:1}
.lb-sub{font-size:10px;color:var(--text3)}
.lb-score{font-size:13px;font-weight:600;color:var(--teal);font-family:'DM Mono',monospace}
.lb-bar{width:60px;height:4px;background:var(--navy3);border-radius:2px;overflow:hidden}
.lb-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--teal2),var(--teal))}
.crown{font-size:12px}

/* Activity feed */
.activity-feed{display:flex;flex-direction:column;gap:0}
.act-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.act-item:last-child{border-bottom:none}
.act-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.act-body{flex:1;min-width:0}
.act-line{font-size:11px;color:var(--text2);line-height:1.5}
.act-line strong{color:var(--text);font-weight:500}
.act-time{font-size:9px;color:var(--text3);margin-top:2px;font-family:'DM Mono',monospace}

/* Mini donut placeholder */
.donut-wrap{position:relative;width:90px;height:90px;margin:0 auto 12px}
.donut-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut-pct{font-size:20px;font-weight:300;color:var(--text);line-height:1}
.donut-txt{font-size:8px;color:var(--text3);letter-spacing:0.5px}
.donut-legend{display:flex;flex-direction:column;gap:6px}
.legend-item{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--text2)}
.legend-dot{width:7px;height:7px;border-radius:2px;flex-shrink:0}

/* Scrollbar */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--navy3);border-radius:2px}

/* Forms */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:11px;color:var(--text2);margin-bottom:6px}
.form-control{width:100%;background:var(--navy3);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;transition:border-color .15s}
.form-control:focus{outline:none;border-color:var(--teal)}
.form-control::placeholder{color:var(--text3)}
select.form-control{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238BA3C7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}

/* Content Tabs */
.content-tabs{display:flex;gap:16px;border-bottom:1px solid var(--border);margin-bottom:24px}
.content-tab{padding:10px 4px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;position:relative;transition:color .15s}
.content-tab:hover{color:var(--text)}
.content-tab.active{color:var(--teal)}
.content-tab.active::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--teal);border-radius:2px 2px 0 0}
