@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@700;800&family=Inter:wght@400;500;600&display=swap");:root{--bg:#0c1018;--bg-2:#111622;--surface:#161d2a;--surface-2:#1c2436;--border:#263045;--border-2:#2f3d58;--text:#f0f4fa;--muted:#8fa3be;--dim:#4d6380;--electric:#38bdf8;--violet:#a78bfa;--amber:#fbbf24;--green:#34d399;--red:#f87171;--pink:#f472b6;--font-head:"Syne",sans-serif;--font-mono:"DM Mono",monospace;--font-body:"Inter",sans-serif;--radius:10px;--radius-lg:14px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}.page{max-width:1160px;margin:0 auto;padding:32px 24px 80px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--border);position:relative}.topbar:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:var(--electric)}.brand{font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--electric);margin-bottom:10px;display:flex;align-items:center;gap:8px}.brand:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--electric);box-shadow:0 0 8px var(--electric);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.page-title{font-family:var(--font-head);font-weight:800;font-size:28px;letter-spacing:-.02em}.page-title .client{color:var(--muted)}.sync-line{font-family:var(--font-mono);font-size:11px;color:var(--dim);margin-top:8px;display:flex;gap:16px;flex-wrap:wrap}.sync-ok{color:var(--green)}.sync-warn{color:var(--amber)}.header-right{text-align:right}.contact-count{font-family:var(--font-head);font-weight:800;font-size:48px;color:var(--electric);line-height:1}.contact-count-label{letter-spacing:.14em;margin-top:4px}.contact-count-label,.slabel{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--dim)}.slabel{letter-spacing:.2em;margin-bottom:14px;display:flex;align-items:center;gap:10px}.slabel:after{content:"";flex:1 1;height:1px;background:var(--border)}.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin-bottom:28px}@media(max-width:800px){.kpi-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.kpi-strip{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden;transition:border-color .2s,transform .15s}.kpi:hover{border-color:var(--border-2);transform:translateY(-1px)}.kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--kpi-color,var(--electric))}.kpi-num{font-family:var(--font-head);font-weight:800;font-size:30px;line-height:1;color:var(--kpi-color,var(--electric))}.kpi-label{font-size:12px;color:var(--muted);margin-top:6px}.kpi-sub{font-family:var(--font-mono);font-size:10px;color:var(--dim);margin-top:3px}.volume-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;margin-bottom:28px;display:grid;grid-template-columns:280px 1fr;grid-gap:36px;gap:36px;align-items:start}@media(max-width:760px){.volume-hero{grid-template-columns:1fr}}.vol-week-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}.vol-big{font-family:var(--font-head);font-weight:800;font-size:60px;line-height:1;color:var(--text)}.vol-big .slash{color:var(--dim);font-size:36px;margin:0 6px}.vol-big .target-num{color:var(--electric);font-size:40px}.vol-sublabel{margin-top:10px;font-size:12px;color:var(--muted)}.vol-sublabel strong{color:var(--text)}.prog-track{margin-top:16px;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--border)}.prog-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--electric),var(--violet));transition:width .6s cubic-bezier(.4,0,.2,1)}.prog-labels{margin-top:8px;color:var(--dim);display:flex;justify-content:space-between}.prog-labels,.streak-badge{font-family:var(--font-mono);font-size:11px}.streak-badge{display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.3);border-radius:99px;padding:4px 12px;color:var(--amber)}.vol-target-control{margin-top:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vol-target-label{font-family:var(--font-mono);font-size:11px;color:var(--dim)}.vol-input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-family:var(--font-mono);font-size:13px;width:80px}.vol-input:focus{outline:none;border-color:var(--electric)}.vol-btn{background:var(--electric);border:none;border-radius:8px;padding:8px 14px;color:#000;font-family:var(--font-head);font-weight:700;font-size:12px;cursor:pointer;transition:opacity .15s}.vol-btn:hover{opacity:.85}.vol-btn.ghost{background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.chart-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.chart-label .legend-target{color:var(--amber)}.bars{display:flex;align-items:flex-end;gap:8px;height:140px}.bar-col{flex:1 1;align-items:center;gap:4px;height:100%}.bar-col,.bar-wrap{display:flex;flex-direction:column;justify-content:flex-end}.bar-wrap{height:110px}.bar-bg,.bar-wrap{width:100%;position:relative}.bar-bg{background:var(--surface-2);border-radius:5px 5px 0 0;border:1px solid var(--border);height:100%;overflow:hidden;transition:border-color .2s}.bar-bg.is-current{border-color:var(--electric);box-shadow:0 0 14px rgba(56,189,248,.15)}.bar-inner{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,var(--electric) 0,rgba(56,189,248,.3) 100%);transition:height .6s cubic-bezier(.4,0,.2,1);border-radius:3px 3px 0 0}.bar-bg.hit .bar-inner{background:linear-gradient(180deg,var(--green) 0,rgba(52,211,153,.3) 100%)}.bar-bg.empty .bar-inner{height:0!important}.target-line{position:absolute;left:0;right:0;height:1px;background:var(--amber);opacity:.6;z-index:2}.bar-count{font-size:10px;color:var(--muted);min-height:14px}.bar-count,.bar-wk{font-family:var(--font-mono);text-align:center}.bar-wk{font-size:9px;color:var(--dim)}.stages-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:28px}.stages-grid{display:flex;gap:8px;flex-wrap:wrap}.stage-block{flex:1 1 90px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;text-align:center;position:relative;overflow:hidden;transition:border-color .2s,transform .15s;cursor:default}.stage-block:hover{border-color:var(--border-2);transform:translateY(-1px)}.stage-block:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--sc,var(--border))}.stage-num{font-family:var(--font-head);font-weight:800;font-size:28px;line-height:1;color:var(--sc,var(--muted))}.stage-name{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.3}.stage-pct{font-family:var(--font-mono);font-size:9px;color:var(--dim);margin-top:3px}.sort-bar{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.sort-btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--dim);cursor:pointer;transition:all .15s}.sort-btn.active{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.sort-btn:hover:not(.active){color:var(--muted);border-color:var(--border-2)}.tabs{display:flex;gap:2px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px;width:-moz-fit-content;width:fit-content}.tab-btn{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 18px;border-radius:7px;border:none;background:transparent;color:var(--dim);cursor:pointer;transition:all .15s}.tab-btn.active{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.tab-btn:hover:not(.active){color:var(--muted)}.campaigns{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px;margin-bottom:28px}.camp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:border-color .2s,transform .15s}.camp-card:hover{border-color:var(--border-2);transform:translateY(-1px)}.camp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:14px}.camp-name{font-family:var(--font-head);font-weight:700;font-size:14px;line-height:1.3;color:var(--text)}.status-pill{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:99px;border:1px solid var(--border);color:var(--dim);white-space:nowrap;flex-shrink:0}.status-pill.running{color:var(--green);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.06)}.status-pill.paused{color:var(--amber);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.06)}.camp-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-top:1px solid var(--border);font-size:12px}.camp-row:first-of-type{border-top:none}.camp-row .k{color:var(--muted)}.camp-row .v{font-family:var(--font-mono);font-size:13px;color:var(--text)}.camp-bar{margin-top:12px;height:3px;background:var(--surface-2);border-radius:99px;overflow:hidden}.camp-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--electric),var(--violet))}.search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;color:var(--text);font-family:var(--font-body);font-size:14px;margin-bottom:12px;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--electric)}.search-input::placeholder{color:var(--dim)}.contacts-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.contacts-table{width:100%;border-collapse:collapse;font-size:13px}.contacts-table th{text-align:left;padding:10px 16px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:500;border-bottom:1px solid var(--border);background:var(--surface-2)}.contacts-table td{padding:10px 16px;border-top:1px solid var(--border);color:var(--text)}.contacts-table tr:first-child td{border-top:none}.contacts-table tr:hover td{background:var(--surface-2)}.td-muted{color:var(--muted)}.td-dim{color:var(--dim);font-style:italic}.td-mono{font-size:11px}.stage-badge,.td-mono{font-family:var(--font-mono)}.stage-badge{display:inline-block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;border:1px solid}.lower{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:28px}@media(max-width:700px){.lower{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.panel-title{font-family:var(--font-head);font-weight:700;font-size:16px;margin-bottom:4px}.panel-sub{font-size:12px;color:var(--muted);margin-bottom:18px}.task-prog{height:3px;background:var(--surface-2);border-radius:99px;overflow:hidden;margin-bottom:18px}.task-prog-fill{height:100%;background:linear-gradient(90deg,var(--electric),var(--green));border-radius:99px;transition:width .3s}.checklist{display:flex;flex-direction:column;gap:1px}.task-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border);cursor:pointer}.task-item:first-child{border-top:none}.task-cb{width:16px;height:16px;accent-color:var(--electric);cursor:pointer;flex-shrink:0}.task-text{font-size:13px;transition:color .15s}.task-item.done .task-text{color:var(--dim);text-decoration:line-through}.reset-btn{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:10px;color:var(--dim);text-decoration:underline;margin-top:14px;padding:0}.reset-btn:hover{color:var(--muted)}.deal-totals{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:18px}.deal-total-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.deal-total-num{font-family:var(--font-head);font-weight:800;font-size:22px}.deal-total-label{font-size:11px;color:var(--muted);margin-top:3px}.deal-form{display:grid;grid-template-columns:1fr 90px auto;grid-gap:8px;gap:8px;margin-bottom:14px}@media(max-width:440px){.deal-form{grid-template-columns:1fr}}.deal-input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text);font-family:var(--font-body);font-size:13px}.deal-input::placeholder{color:var(--dim)}.add-deal-btn{background:var(--electric);border:none;border-radius:8px;padding:9px 14px;color:#000;font-family:var(--font-head);font-weight:700;font-size:12px;cursor:pointer;transition:opacity .15s}.add-deal-btn:hover{opacity:.85}.deal-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.deal-row:first-of-type{border-top:none}.deal-cb{width:16px;height:16px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.deal-name{flex:1 1;font-size:13px;font-weight:500}.deal-val{font-family:var(--font-mono);font-size:12px;color:var(--amber);white-space:nowrap}.deal-row.won .deal-name{color:var(--dim);text-decoration:line-through}.deal-row.won .deal-val{color:var(--green)}.del-btn{background:none;border:none;color:var(--dim);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.del-btn:hover,.error-banner{color:var(--red)}.error-banner{background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.3);border-radius:var(--radius);padding:12px 16px;font-family:var(--font-mono);font-size:12px;margin-bottom:20px;line-height:1.6}.skeleton{background:var(--surface-2);border-radius:6px;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.4}}.empty{padding:28px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius)}.footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-family:var(--font-mono);font-size:10px;color:var(--dim);letter-spacing:.08em}