:root{--bg:#060b1c;--bg2:#0f1838;--g:rgba(255,255,255,.07);--b:rgba(255,255,255,.14);--tx:#e8ecff;--mu:#97a3d0;--a:#4f8cff;--a2:#8b5cf6;--ok:#34d399;--er:#f87171}
[data-theme=light]{--bg:#eef2ff;--bg2:#dbe3ff;--g:rgba(255,255,255,.7);--b:rgba(60,70,140,.2);--tx:#141a3a;--mu:#56608f}
*{box-sizing:border-box}body{margin:0;min-height:100vh;font:15px/1.5 system-ui,'Segoe UI',Tahoma,sans-serif;color:var(--tx);background:radial-gradient(900px 500px at 8% -10%,#5b3fd355,transparent),radial-gradient(800px 500px at 100% 0,#1f5bff44,transparent),linear-gradient(160deg,var(--bg),var(--bg2)) fixed}
.card{background:var(--g);border:1px solid var(--b);border-radius:16px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 40px #0003;padding:16px}
#app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s}#app.sm{grid-template-columns:68px 1fr}
aside{position:sticky;top:0;height:100vh;padding:14px 10px;border-inline-end:1px solid var(--b);background:var(--g);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:4px;overflow:hidden}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;padding:6px 8px 16px;white-space:nowrap}.logo i{font-style:normal;width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--a),var(--a2));box-shadow:0 6px 18px #4f8cff55}
aside a{display:flex;gap:12px;align-items:center;padding:10px;border-radius:10px;color:var(--mu);text-decoration:none;white-space:nowrap}aside a:hover{background:var(--g);color:var(--tx)}
aside a.on{background:linear-gradient(90deg,#4f8cff33,#8b5cf633);color:var(--tx);border:1px solid var(--b)}
.sm .lb,.sm .logo span{display:none}svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
header{display:flex;gap:8px;align-items:center;padding:12px 20px;position:sticky;top:0;z-index:5;background:var(--g);backdrop-filter:blur(18px);border-bottom:1px solid var(--b)}header .sp{flex:1}
main{padding:20px;max-width:1300px;width:100%}
button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--g);border:1px solid var(--b);border-radius:10px;padding:9px 12px;width:100%;min-width:0}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--a);outline-offset:1px}select option{background:var(--bg2);color:var(--tx)}
.btn,.ghost{border:1px solid var(--b);border-radius:10px;padding:8px 14px;cursor:pointer;background:var(--g);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.btn{background:linear-gradient(90deg,var(--a),var(--a2));border:0;color:#fff;font-weight:600}.ghost:hover{background:var(--b)}.danger{color:var(--er)}.ic{padding:8px;position:relative}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.bar h2{margin:0;flex:1;min-width:140px}.bar input[type=search]{width:220px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:16px}.kpi small{color:var(--mu)}.kpi b{display:block;font-size:28px;margin-top:4px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:10px 12px;border-bottom:1px solid var(--b);white-space:nowrap}th{color:var(--mu);font-weight:600;font-size:13px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--g)}
.empty{text-align:center;color:var(--mu);padding:30px}.bars div{display:grid;grid-template-columns:110px 1fr 90px;gap:10px;align-items:center;margin:8px 0}.bars i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--a),var(--a2))}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.kb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px}.col{background:var(--g);border:1px solid var(--b);border-radius:14px;padding:10px;min-height:200px}.col h4{margin:4px 4px 10px}.col small{color:var(--mu);font-weight:400}
.kc{background:var(--g);border:1px solid var(--b);border-radius:10px;padding:10px;margin-bottom:8px;cursor:grab;display:grid;gap:2px}.kc span{color:var(--ok)}
.ov{position:fixed;inset:0;background:#0008;display:grid;place-items:center;z-index:20;padding:12px}.md{width:min(520px,100%);max-height:92vh;overflow:auto;display:grid;gap:10px;background:var(--bg2)}.md label{display:grid;gap:4px;color:var(--mu);font-size:13px}.row{display:flex;gap:8px;flex-wrap:wrap}
.pop{position:absolute;inset-inline-end:0;top:44px;width:300px;max-height:60vh;overflow:auto;text-align:start;background:var(--bg2);z-index:9;font-size:14px}.pop p{margin:6px 0;border-bottom:1px solid var(--b);padding-bottom:6px}.dot{position:absolute;top:2px;inset-inline-end:2px;background:var(--er);color:#fff;border-radius:9px;font-size:10px;min-width:16px;line-height:16px}
#toast{position:fixed;inset-inline-end:16px;bottom:16px;z-index:30;display:grid;gap:6px}#toast div{background:var(--bg2);border:1px solid var(--b);border-inline-start:4px solid var(--ok);padding:10px 14px;border-radius:10px}#toast .e{border-inline-start-color:var(--er)}
.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:min(380px,100%);display:grid;gap:12px}.login h1{margin:0}.err{color:var(--er);min-height:1.4em;margin:0}
#mb{display:none}@media(max-width:820px){#app,#app.sm{grid-template-columns:minmax(0,1fr)}aside{position:fixed;z-index:15;inset-block:0;inset-inline-start:0;width:236px;transform:translateX(-100%);transition:transform .2s}[dir=rtl] aside{transform:translateX(100%)}#app.open aside{transform:none}#app.sm .lb{display:inline}#mb{display:inline-flex}main{padding:12px}}

/* v2 polish */
html{-webkit-text-size-adjust:100%}h2,h3{letter-spacing:-.01em}h3{margin:0 0 12px;font-size:16px}
.lb{overflow:hidden;text-overflow:ellipsis}aside a{transition:background .15s,color .15s}
.card,.btn,.ghost{transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.btn:hover{box-shadow:0 6px 20px #4f8cff55;transform:translateY(-1px)}
.kpi{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}.kpi:hover{transform:translateY(-2px);border-color:var(--a)}
.ki{width:44px;height:44px;flex:none;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#4f8cff44,#8b5cf644);color:var(--a)}
.bd{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;color:var(--c,var(--mu));background:color-mix(in srgb,var(--c,var(--mu)) 16%,transparent);border:1px solid color-mix(in srgb,var(--c,var(--mu)) 35%,transparent)}
.s-new,.s-call,.s-manager{--c:#4f8cff}.s-contacted,.s-negotiation,.s-meeting,.s-appointment{--c:#f59e0b}.s-qualified,.s-proposal,.s-admin,.s-followup{--c:#8b5cf6}.s-won{--c:#10b981}.s-lost{--c:#ef4444}
.li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--b);color:inherit;text-decoration:none}.li:hover{color:var(--a)}.li small{color:var(--mu);white-space:nowrap}.li .late{color:var(--er);font-weight:600}.card .row{margin-bottom:6px}
thead th{position:sticky;top:0;background:var(--bg2)}tr:last-child td{border-bottom:0}table.ro tbody tr{cursor:default}
.ov{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:f .15s}.md{animation:u .18s}@keyframes f{from{opacity:0}}@keyframes u{from{transform:translateY(10px);opacity:0}}
.kb{scroll-snap-type:x proximity}.col{scroll-snap-align:start}.kc:hover{border-color:var(--a)}
@media(max-width:820px){#sb{display:none}.un{display:none}.bar input[type=search]{width:100%;flex:1 0 100%}.kpis{grid-template-columns:repeat(2,1fr)}.ki{display:none}.kpi b{font-size:22px}.kb{grid-auto-columns:82%}.ov{align-items:end;padding:0}.md{width:100%;border-radius:18px 18px 0 0}#app.open::before{content:'';position:fixed;inset:0;background:#0007;z-index:14}th,td{padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1000px){.kpis{grid-template-columns:repeat(3,1fr)}}@media(min-width:1500px){.kpis{grid-template-columns:repeat(6,1fr)}}
[hidden]{display:none!important}

/* v4: agenda, command palette, activity timeline */
.agenda{margin-bottom:14px}.agenda h3 small{color:var(--mu);font-weight:400}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:start}.g3 h4{margin:10px 0 4px;color:var(--mu);font-size:13px}
.agenda .g3>div{background:var(--g);border:1px solid var(--b);border-radius:12px;padding:2px 12px 8px}.agenda .empty{padding:10px;font-size:13px;text-align:start}
.ag{list-style:none;margin:0;padding:0}.ag li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--b);cursor:pointer}.ag li:hover .t{color:var(--a)}
.ag .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ag small{color:var(--mu);white-space:nowrap}.ag small.late{color:var(--er);font-weight:600}.ag .ic{padding:4px 8px;line-height:1}
.pal{width:min(620px,100%);background:var(--bg2);display:grid;gap:8px;align-content:start;max-height:80vh;overflow:auto}
.pal ul{list-style:none;margin:0;padding:0}.pal li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer}
.pal li.on{background:var(--g);outline:1px solid var(--b)}.pal li b{flex:none}.pal li small{color:var(--mu);margin-inline-start:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pal .tp{font-size:11px;color:var(--mu);border:1px solid var(--b);border-radius:99px;padding:1px 8px;flex:none}.pal .mu{color:var(--mu);cursor:default}.pal .hint{color:var(--mu);font-size:12px;text-align:end}
.tl{list-style:none;margin:0;padding:0}.tl li{display:flex;gap:10px;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--b)}.tl li:last-child{border-bottom:0}.tl small{color:var(--mu);white-space:nowrap}

/* v3: brand logo, lead form sheet, safe areas */
.lg{display:block;height:36px;width:auto;max-width:100%;object-fit:contain}.lg.big{height:48px;margin:0 auto 8px}.lg-l{display:none}[data-theme=light] .lg-d{display:none}[data-theme=light] .lg-l{display:block}
.sm .logo .lg-d,.sm .logo .lg-l{width:36px;object-fit:cover;object-position:left center}.sm .logo .lg:not(.lg-d):not(.lg-l){width:36px}.tm{display:none;height:30px;width:30px}
header{padding-top:calc(12px + env(safe-area-inset-top));padding-inline:max(20px,env(safe-area-inset-left))}main{padding-bottom:calc(20px + env(safe-area-inset-bottom))}#toast{bottom:calc(16px + env(safe-area-inset-bottom))}
.lbl{display:block;color:var(--mu);font-size:13px;margin-bottom:4px}h4.fw{margin:6px 0 0;color:var(--mu);font-size:13px;font-weight:600;border-top:1px solid var(--b);padding-top:12px}
.sheet{padding:0;display:flex;flex-direction:column;gap:0;width:min(680px,100%);max-height:92dvh}
.hd{display:flex;align-items:center;gap:10px;padding:16px 20px 8px;position:relative}.hd h3{flex:1;margin:0}.grip{display:none}
.bd2{overflow-y:auto;padding:6px 20px 14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ft{display:flex;gap:8px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--b)}.ft .btn{flex:1;justify-content:center;padding:11px}.btn:disabled{opacity:.6;cursor:wait}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.fw{grid-column:1/-1}
.f{display:grid;gap:4px;align-content:start;min-width:0;color:var(--mu);font-size:13px}.f.bad input,.f.bad select{border-color:var(--er)}.er{color:var(--er);font-size:12px}.er:empty{display:none}
.in{position:relative;display:block}.in svg{position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--mu)}.in input{padding-inline-start:38px}
.ph{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:8px}#px .f,#p0 .f{margin-bottom:8px}#ap{margin-top:2px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid var(--b);border-radius:12px;padding:4px;background:var(--g)}.seg label{margin:0;position:relative}.seg input{position:absolute;opacity:0;inset:0}.seg span{display:block;text-align:center;padding:9px;border-radius:9px;cursor:pointer;color:var(--tx)}.seg input:checked+span{background:linear-gradient(90deg,var(--a),var(--a2));color:#fff;font-weight:600}.seg input:focus-visible+span{outline:2px solid var(--a)}
.cb{position:relative}.cbl{position:absolute;inset-inline:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;max-height:220px;overflow:auto;background:var(--bg2);border:1px solid var(--b);border-radius:12px;z-index:30;box-shadow:0 14px 34px #0006}.cbl li{padding:10px;border-radius:8px;cursor:pointer;color:var(--tx)}.cbl li:hover{background:var(--g)}.cbl .mu{color:var(--mu);cursor:default}
@media(max-width:820px){.tm{display:block}.fg{grid-template-columns:1fr}.sheet{border-radius:20px 20px 0 0;width:100%;animation:u .22s}.grip{display:block;position:absolute;top:7px;inset-inline-start:50%;width:42px;height:4px;margin-inline-start:-21px;border-radius:4px;background:var(--b)}.hd{padding-top:22px}input,select,textarea{font-size:16px}aside{padding-top:calc(14px + env(safe-area-inset-top))}}
