:root{
  --bg:#0a0b0d; --panel:#101319; --panel2:#0c0e12; --line:#20242c; --line2:#2a2f39;
  --text:#f4f6f8; --mut:#8a92a0; --mut2:#5b636f; --accent:#57c7e0; --green:#54d98c; --red:#ff6b6b; --gold:#e3c06a;
  --mono:'JetBrains Mono',ui-monospace,monospace; --sans:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(rgba(87,199,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(87,199,224,.035) 1px,transparent 1px);background-size:48px 48px}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--mut);font-weight:400}
.mono{font-family:var(--mono)}

/* top bar */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 26px;
  background:rgba(10,11,13,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px}
.mark{width:44px;height:44px;border-radius:11px;border:1px solid var(--line2);display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:-1px;background:linear-gradient(135deg,#161a21,#0c0f13)}
.mark b{color:var(--accent)}
.brand-t b{display:block;font-size:1.06rem;font-weight:700;letter-spacing:-.01em}
.brand-t span{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.18em}
.top-right{display:flex;align-items:center;gap:10px}
.live{display:flex;align-items:center;gap:7px;font-size:.76rem;color:var(--mut);font-family:var(--mono)}
.live i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.clock{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600;color:var(--accent);background:rgba(87,199,224,.08);border:1px solid rgba(87,199,224,.25);border-radius:100px;padding:6px 13px;white-space:nowrap}
.clock .tz{font-size:.58rem;font-weight:700;letter-spacing:.5px;opacity:.7;margin-left:3px}
@media(max-width:600px){.clock{display:none}}
.ib{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--mut);font-size:1.05rem;cursor:pointer;transition:.2s}
.ib:hover{color:#fff;border-color:var(--accent)}

/* filter bar */
.filterbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:16px 26px;border-bottom:1px solid var(--line);background:var(--panel2)}
.presets{display:flex;gap:5px}
.presets button{font-family:var(--mono);font-size:.78rem;color:var(--mut);padding:8px 13px;border-radius:8px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:.18s}
.presets button:hover{color:#fff;border-color:var(--line2)}
.presets button.on{background:var(--text);color:#0a0b0d;border-color:var(--text);font-weight:700}
.fspacer{flex:1;min-width:10px}
.fgroup{display:flex;flex-direction:column;gap:5px}
.fgroup label{font-size:.66rem;color:var(--mut2);text-transform:uppercase;letter-spacing:.14em}
.fgroup input,.fgroup select{background:#0a0c10;border:1px solid var(--line);border-radius:8px;padding:8px 11px;color:var(--text);font-size:.86rem;font-family:var(--sans);outline:none;cursor:pointer}
.fgroup input:focus,.fgroup select:focus{border-color:var(--accent)}

/* layout */
.wrap{max-width:1280px;margin:0 auto;padding:26px}
.loading{padding:80px;text-align:center;color:var(--mut);font-family:var(--mono)}
.sec-t{font-size:.74rem;color:var(--mut);text-transform:uppercase;letter-spacing:.16em;margin:34px 0 14px;display:flex;align-items:center;gap:10px}
.sec-t:first-child{margin-top:0}
.sec-t::after{content:"";flex:1;height:1px;background:var(--line)}

.sepnote{margin:12px 0 0;font-size:.76rem;color:var(--mut2);font-family:var(--mono);border-left:2px solid var(--line2);padding-left:12px;line-height:1.5}
.scope{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:22px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel),var(--panel2));font-size:.92rem}
.scope .sc-k{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--mut2)}
.scope b{font-weight:700}
.scope .sc-dot{color:var(--mut2)}
.scope .sc-date{margin-left:auto;font-family:var(--mono);font-size:.82rem;color:var(--accent);background:rgba(87,199,224,.08);border:1px solid rgba(87,199,224,.25);padding:5px 12px;border-radius:100px}
@media(max-width:600px){.scope .sc-date{margin-left:0;width:100%}}
/* KPI strip */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.kpi{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:14px;padding:18px 20px;position:relative;overflow:hidden}
.kpi .lbl{font-size:.72rem;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}
.kpi .val{font-family:var(--mono);font-size:2rem;font-weight:700;margin-top:8px;letter-spacing:-.02em}
.kpi .val.accent{color:var(--accent)}.kpi .val.green{color:var(--green)}.kpi .val.gold{color:var(--gold)}
.kpi .sub{font-size:.76rem;color:var(--mut2);margin-top:4px}

/* project (CRM) cards */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:22px;cursor:pointer;transition:.25s;position:relative;display:flex;flex-direction:column}
.pcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 26px 50px -30px #000}
.pcard-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.pcard-h h3{font-size:1.16rem;font-weight:700}
.pcard .tag{font-size:.66rem;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line);border-radius:100px;padding:3px 9px}
.pcard .desc{font-size:.82rem;color:var(--mut);margin-bottom:16px}
.pstats{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:auto}
.pstat .n{font-family:var(--mono);font-size:1.28rem;font-weight:700}
.pstat .n.green{color:var(--green)}.pstat .n.red{color:var(--red)}
.pstat .k{font-size:.7rem;color:var(--mut2);text-transform:uppercase;letter-spacing:.08em}
.pcard .open{margin-top:18px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--accent);font-weight:600;padding-top:14px;border-top:1px solid var(--line)}
.pcard .open .arrow{transition:.25s}.pcard:hover .open .arrow{transform:translateX(4px)}

/* analytics */
.analytic{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
@media(max-width:820px){.analytic{grid-template-columns:1fr}}
.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.panel h4{font-size:.82rem;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;display:flex;justify-content:space-between}
.panel h4 b{color:var(--text);font-family:var(--mono)}
.trend{display:flex;align-items:flex-end;gap:3px;height:130px}
.trend .d{flex:1;min-height:2px;background:linear-gradient(180deg,var(--accent),rgba(87,199,224,.25));border-radius:3px 3px 0 0;transition:.2s}
.trend .d:hover{background:#fff}
.bar{display:flex;align-items:center;gap:12px;margin:10px 0}
.bar .bl{width:150px;flex:0 0 150px;font-size:.84rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .bt{flex:1;height:8px;background:#0a0c10;border-radius:5px;overflow:hidden}
.bar .bf{height:100%;background:linear-gradient(90deg,var(--accent),#7fe0f0);border-radius:5px}
.bar .bv{font-family:var(--mono);font-size:.86rem;width:60px;text-align:right;color:var(--mut)}
.empty{color:var(--mut2);font-size:.86rem;text-align:center;padding:26px;font-family:var(--mono)}

/* portfolio (sites) */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.scard{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:.25s;display:flex;flex-direction:column}
.scard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 24px 46px -30px #000}
.sprev{position:relative;height:150px;background:#0a0c10;overflow:hidden;border-bottom:1px solid var(--line)}
.sprev iframe{position:absolute;top:0;left:0;width:250%;height:250%;border:0;transform:scale(.4);transform-origin:0 0;pointer-events:none;filter:saturate(1.05)}
.sprev .ovr{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 55%,rgba(10,11,13,.6))}
.sprev .views{position:absolute;bottom:9px;left:11px;z-index:3;font-family:var(--mono);font-size:.74rem;color:#fff;background:rgba(10,11,13,.72);border:1px solid var(--line);padding:3px 9px;border-radius:100px}
.scard-b{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.scard-b .nm{font-weight:600;font-size:.95rem}
.scard-b .tag{font-size:.68rem;color:var(--mut2)}
.scard-b .go{color:var(--accent);font-size:1rem}

/* chat widgets */
.cwbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.cwchip{font-family:var(--mono);font-size:.76rem;color:var(--mut);padding:7px 13px;border-radius:100px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:.16s}
.cwchip:hover{color:#fff;border-color:var(--line2)}
.cwchip.on{background:var(--text);color:#0a0b0d;border-color:var(--text);font-weight:700}
.cwtot{margin-left:auto;font-family:var(--mono);font-size:.78rem;color:var(--mut2)}
.cwgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cwcard{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column}
.cw-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}
.cw-t b{font-size:1.05rem;font-weight:700;display:block}
.cw-co{font-size:.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em}
.cw-go{width:32px;height:32px;flex:0 0 32px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--mut);transition:.18s}
.cw-go:hover{color:#fff;border-color:var(--accent)}
.cw-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line)}
.cw-s{text-align:center}
.cw-n{font-family:var(--mono);font-size:1.32rem;font-weight:700}
.cw-k{font-size:.62rem;color:var(--mut2);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.cw-last{font-size:.74rem;color:var(--mut2);font-family:var(--mono);margin:2px 0 4px}
.cw-none{font-size:.78rem;color:var(--mut2);font-family:var(--mono);margin-top:8px}
.cw-convo{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.cw-convo summary{cursor:pointer;font-size:.78rem;color:var(--accent);font-weight:600;list-style:none}
.cw-convo summary::-webkit-details-marker{display:none}
.cw-convo summary::before{content:"▸ ";}
.cw-convo[open] summary::before{content:"▾ ";}
.cw-msgs{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto}
.cw-msg{font-size:.82rem;line-height:1.45;padding:9px 11px;border-radius:10px;border:1px solid var(--line);position:relative}
.cw-msg.u{background:rgba(87,199,224,.06)}
.cw-msg.a{background:var(--panel2)}
.cw-role{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mut2);margin-bottom:4px}
.cw-pg{display:block;font-family:var(--mono);font-size:.66rem;color:var(--mut2);margin-top:5px;opacity:.75}

@media(max-width:760px){
  .projects{grid-template-columns:1fr}
  .filterbar{padding:14px}.wrap{padding:16px}
  .top{padding:12px 16px}
}
