@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --w:#fff;--off:#f1f5f1;--off2:#e8ede8;
  --g:#22c55e;--g2:#16a34a;--g3:#dcfce7;--g4:#bbf7d0;
  --r:#ef4444;--r2:#dc2626;--r3:#fee2e2;--r4:#fecaca;
  --y:#f59e0b;--y3:#fef3c7;
  --b:#3b82f6;--b3:#dbeafe;
  --dk:#0f172a;--dk2:#1e293b;--dk3:#334155;
  --gr:#64748b;--gr2:#94a3b8;--gr3:#e2e8f0;--gr4:#f8fafc;
  --mono:'JetBrains Mono',monospace;
  --csm:4px 4px 8px rgba(0,0,0,.08),-2px -2px 6px rgba(255,255,255,.9),inset 1px 1px 2px rgba(255,255,255,.8),inset -1px -1px 2px rgba(0,0,0,.05);
  --cmd:8px 8px 16px rgba(0,0,0,.10),-4px -4px 12px rgba(255,255,255,.95),inset 2px 2px 4px rgba(255,255,255,.8),inset -2px -2px 4px rgba(0,0,0,.06);
  --clg:12px 12px 24px rgba(0,0,0,.12),-6px -6px 18px #fff,inset 3px 3px 6px rgba(255,255,255,.8),inset -3px -3px 6px rgba(0,0,0,.07);
  --cg:8px 8px 16px rgba(34,197,94,.2),-4px -4px 12px rgba(255,255,255,.95),inset 2px 2px 4px rgba(255,255,255,.6),inset -2px -2px 4px rgba(22,163,74,.15);
  --cr:8px 8px 16px rgba(239,68,68,.2),-4px -4px 12px rgba(255,255,255,.95),inset 2px 2px 4px rgba(255,255,255,.6),inset -2px -2px 4px rgba(220,38,38,.15);
  --cy:8px 8px 16px rgba(245,158,11,.2),-4px -4px 12px rgba(255,255,255,.95),inset 2px 2px 4px rgba(255,255,255,.6),inset -2px -2px 4px rgba(245,158,11,.15);
  --cp:4px 4px 8px rgba(0,0,0,.12),-1px -1px 4px rgba(255,255,255,.8),inset 3px 3px 8px rgba(0,0,0,.08),inset -2px -2px 6px rgba(255,255,255,.9);
  --r-sm:12px;--r-md:18px;--r-lg:24px;--r-xl:32px;--r-f:999px;
}
html{scroll-behavior:smooth}
body{background:var(--off);background-image:radial-gradient(circle at 15% 15%,#dcfce760 0%,transparent 45%),radial-gradient(circle at 85% 85%,#fee2e240 0%,transparent 45%);font-family:'Plus Jakarta Sans',sans-serif;color:var(--dk);min-height:100vh;-webkit-font-smoothing:antialiased}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:var(--off)}
::-webkit-scrollbar-thumb{background:var(--gr3);border-radius:3px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit}

/* CLAY CARDS */
.clay{background:var(--w);border-radius:var(--r-md);box-shadow:var(--cmd)}
.clay-sm{background:var(--w);border-radius:var(--r-sm);box-shadow:var(--csm)}
.clay-lg{background:var(--w);border-radius:var(--r-lg);box-shadow:var(--clg)}
.clay-xl{background:var(--w);border-radius:var(--r-xl);box-shadow:var(--clg)}
.clay-g{background:var(--g3);border-radius:var(--r-md);box-shadow:var(--cg)}
.clay-r{background:var(--r3);border-radius:var(--r-md);box-shadow:var(--cr)}
.clay-y{background:var(--y3);border-radius:var(--r-md);box-shadow:var(--cy)}
.clay-off{background:var(--off);border-radius:var(--r-md);box-shadow:inset 3px 3px 7px rgba(0,0,0,.07),inset -2px -2px 5px rgba(255,255,255,.9)}

/* NAVBAR */
.navbar{padding:12px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;background:rgba(241,245,241,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo{width:36px;height:36px;background:var(--g);border-radius:12px;box-shadow:var(--cg);display:flex;align-items:center;justify-content:center}
.nav-logo svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.nav-title{font-family:'Nunito',sans-serif;font-size:17px;font-weight:900;letter-spacing:-.3px}
.nav-title span{color:var(--g2)}
.nav-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--r-f);font-size:11px;font-weight:700}
.np-g{background:var(--g3);color:var(--g2);box-shadow:var(--csm)}
.np-gr{background:var(--gr3);color:var(--gr);box-shadow:var(--csm)}
.np-dot{width:6px;height:6px;background:var(--g);border-radius:50%;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:var(--r-f);font-size:14px;font-weight:700;border:none;cursor:pointer;transition:all .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{box-shadow:var(--cp)!important;transform:translateY(0)!important}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;flex-shrink:0}
.btn-g{background:var(--g);color:#fff;box-shadow:var(--cg)}
.btn-g:hover{background:var(--g2)}
.btn-r{background:var(--r);color:#fff;box-shadow:var(--cr)}
.btn-w{background:var(--w);color:var(--dk);box-shadow:var(--cmd)}
.btn-dk{background:var(--dk);color:#fff;box-shadow:12px 12px 24px rgba(15,23,42,.25),-4px -4px 12px rgba(255,255,255,.9)}
.btn-ghost{background:transparent;color:var(--gr);box-shadow:none}
.btn-ghost:hover{background:var(--w);box-shadow:var(--csm)}
.btn-full{width:100%}
.btn-lg{padding:14px 26px;font-size:15px}
.btn-sm{padding:8px 16px;font-size:12px}

/* FORM */
.field{margin-bottom:13px}
.field-label{display:block;font-size:11px;font-weight:700;color:var(--gr);margin-bottom:5px;letter-spacing:.3px;text-transform:uppercase}
.fi{width:100%;background:var(--off);border:none;border-radius:var(--r-sm);color:var(--dk);padding:11px 14px;font-size:14px;outline:none;box-shadow:inset 3px 3px 7px rgba(0,0,0,.07),inset -2px -2px 5px rgba(255,255,255,.9);transition:box-shadow .2s}
.fi:focus{box-shadow:inset 3px 3px 7px rgba(0,0,0,.09),inset -2px -2px 5px rgba(255,255,255,.9),0 0 0 3px rgba(34,197,94,.18)}
.fi::placeholder{color:var(--gr2)}
select.fi option{background:var(--w)}
textarea.fi{resize:vertical;min-height:80px}

/* SECTION LABEL */
.sl{font-size:10px;font-weight:800;color:var(--gr2);letter-spacing:2.5px;text-transform:uppercase;margin-bottom:11px}

/* STAT CARD */
.sc{background:var(--w);border-radius:var(--r-md);box-shadow:var(--cmd);padding:14px 12px;text-align:center}
.sc-num{font-family:'Nunito',sans-serif;font-size:28px;font-weight:900;line-height:1;margin-bottom:3px}
.sc-lbl{font-size:9px;font-weight:700;color:var(--gr2);letter-spacing:2px;text-transform:uppercase}

/* FEATURE CARD */
.fc{background:var(--w);border-radius:var(--r-lg);box-shadow:var(--clg);padding:20px 14px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;position:relative;overflow:hidden}
.fc:hover{transform:translateY(-4px);box-shadow:16px 16px 32px rgba(0,0,0,.12),-8px -8px 20px #fff,inset 2px 2px 4px rgba(255,255,255,.8),inset -2px -2px 4px rgba(0,0,0,.05)}
.fc:active{box-shadow:var(--cp);transform:translateY(0)}
.fi-wrap{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center}
.fi-wrap svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2}
.fi-g{background:var(--g3);color:var(--g2);box-shadow:var(--cg)}
.fi-r{background:var(--r3);color:var(--r2);box-shadow:var(--cr)}
.fi-w{background:var(--w);color:var(--dk);box-shadow:var(--cmd)}
.fi-dk{background:var(--dk);color:#fff;box-shadow:6px 6px 12px rgba(15,23,42,.3),-3px -3px 8px rgba(255,255,255,.9)}
.fi-y{background:var(--y3);color:#92400e;box-shadow:var(--cy)}
.fi-b{background:var(--b3);color:#1d4ed8;box-shadow:8px 8px 16px rgba(59,130,246,.2),-4px -4px 12px rgba(255,255,255,.95),inset 2px 2px 4px rgba(255,255,255,.6),inset -2px -2px 4px rgba(59,130,246,.1)}
.fc-name{font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;color:var(--dk);line-height:1.2}
.fc-desc{font-size:11px;color:var(--gr2);line-height:1.4}
.fc-badge{position:absolute;top:10px;right:10px;padding:3px 8px;border-radius:var(--r-f);font-size:9px;font-weight:800}
.fcb-g{background:var(--g3);color:var(--g2)}
.fcb-gr{background:var(--gr3);color:var(--gr)}
.fcb-r{background:var(--r3);color:var(--r2)}

/* PAGE HEADER */
.ph{background:var(--w);border-radius:0 0 var(--r-xl) var(--r-xl);box-shadow:0 8px 24px rgba(0,0,0,.06);padding:14px 20px 20px;margin-bottom:16px}
.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gr);cursor:pointer;padding:6px 12px;border-radius:var(--r-f);transition:all .2s;border:none;background:none}
.back-btn:hover{background:var(--off);box-shadow:var(--csm);color:var(--dk)}
.back-btn svg{width:16px;height:16px;stroke:currentColor;fill:none}

/* VERDICT */
.vc{border-radius:var(--r-lg);padding:18px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.vc-bull{background:var(--g3);box-shadow:var(--cg)}
.vc-bear{background:var(--r3);box-shadow:var(--cr)}
.vc-neut{background:var(--y3);box-shadow:var(--cy)}
.vc-type{font-family:'Nunito',sans-serif;font-size:22px;font-weight:900;line-height:1}
.vc-bull .vc-type{color:var(--g2)}
.vc-bear .vc-type{color:var(--r2)}
.vc-neut .vc-type{color:#92400e}
.vc-sub{font-size:11px;color:var(--gr);margin-top:3px}
.score-ring{width:54px;height:54px;border-radius:50%;background:var(--w);box-shadow:var(--cmd);display:flex;flex-direction:column;align-items:center;justify-content:center}
.sr-num{font-family:'Nunito',sans-serif;font-size:20px;font-weight:900;line-height:1}
.vc-bull .sr-num{color:var(--g2)}
.vc-bear .sr-num{color:var(--r2)}
.vc-neut .sr-num{color:#92400e}
.sr-den{font-size:9px;color:var(--gr2)}

/* MISTAKE ROW */
.mr{display:flex;gap:12px;padding:11px 0;border-bottom:1.5px dashed var(--gr3)}
.mr:last-child{border-bottom:none}
.mr-num{font-family:'Nunito',sans-serif;font-size:26px;font-weight:900;color:var(--gr3);line-height:1;width:30px;flex-shrink:0}
.mr-title{font-size:12px;font-weight:700;color:var(--r2);margin-bottom:3px}
.mr-detail{font-size:12px;color:var(--gr);line-height:1.6}

/* INDICATORS */
.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.ib{background:var(--w);border-radius:var(--r-md);box-shadow:var(--cmd);padding:10px 8px;text-align:center}
.ib-l{font-size:9px;font-weight:700;color:var(--gr2);letter-spacing:2px;text-transform:uppercase;margin-bottom:5px}
.ib-v{font-family:'Nunito',sans-serif;font-size:13px;font-weight:800}
.iv-g{color:var(--g2)}.iv-r{color:var(--r2)}.iv-y{color:#92400e}

/* RECOVERY BOX */
.rb{background:var(--g3);border-radius:var(--r-lg);box-shadow:var(--cg);padding:16px;margin-bottom:12px}
.rb-zl{font-size:9px;font-weight:700;color:var(--g2);letter-spacing:2px;text-transform:uppercase;margin-bottom:3px}
.rb-zv{font-family:'Nunito',sans-serif;font-size:20px;font-weight:900;color:var(--g2);margin-bottom:10px}
.rb-st{font-size:13px;color:var(--dk2);line-height:1.8}

/* PATTERN PILL */
.pp{display:inline-block;background:var(--w);border-radius:var(--r-f);box-shadow:var(--csm);color:var(--dk2);font-size:11px;font-weight:600;padding:4px 11px;margin:3px}

/* DROP ZONE */
.dz{background:var(--off);border-radius:var(--r-lg);box-shadow:inset 4px 4px 10px rgba(0,0,0,.07),inset -3px -3px 8px rgba(255,255,255,.9);padding:26px 16px;text-align:center;cursor:pointer;transition:all .2s;position:relative;border:2px dashed var(--gr3)}
.dz:hover,.dz.over{border-color:var(--g);background:var(--g3)}
.dz input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.dz-ico{width:48px;height:48px;background:var(--w);border-radius:14px;box-shadow:var(--cmd);display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.dz-ico svg{width:22px;height:22px;stroke:var(--g);fill:none;stroke-width:2}
.dz-title{font-size:14px;font-weight:700;color:var(--dk);margin-bottom:3px}
.dz-sub{font-size:12px;color:var(--gr2)}
.file-ok{display:none;margin-top:10px;background:var(--g3);border-radius:var(--r-f);box-shadow:var(--cg);padding:6px 14px;font-size:12px;font-weight:600;color:var(--g2);align-items:center;gap:6px;width:fit-content;margin-left:auto;margin-right:auto}
.file-ok.show{display:flex}

/* TOAST */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--w);border-radius:var(--r-f);box-shadow:var(--clg);padding:11px 22px;font-size:13px;font-weight:600;z-index:9999;transition:transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.toast.show{transform:translateX(-50%) translateY(0)}
.toast-s{color:var(--g2)}.toast-e{color:var(--r2)}

/* SPINNER */
.spin{width:18px;height:18px;border:2.5px solid var(--gr3);border-top-color:var(--g);border-radius:50%;animation:sp .7s linear infinite;display:inline-block;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}

/* CHAT */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 130px)}
.chat-msgs{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:82%}
.msg-u{align-self:flex-end}
.msg-a{align-self:flex-start}
.msg-bubble{padding:10px 14px;border-radius:var(--r-lg);font-size:13px;line-height:1.6}
.msg-u .msg-bubble{background:var(--g);color:#fff;border-bottom-right-radius:4px}
.msg-a .msg-bubble{background:var(--w);color:var(--dk);box-shadow:var(--csm);border-bottom-left-radius:4px}
.msg-time{font-size:10px;color:var(--gr2);margin-top:3px;padding:0 2px}
.chat-input-row{padding:10px 16px;border-top:1.5px solid var(--gr3);display:flex;gap:8px;background:rgba(241,245,241,.9);backdrop-filter:blur(8px)}
.chat-input{flex:1;background:var(--w);border:none;border-radius:var(--r-f);color:var(--dk);padding:10px 16px;font-size:13px;outline:none;box-shadow:var(--csm)}
.chat-input::placeholder{color:var(--gr2)}

/* LOCK OVERLAY */
.lock-ov{background:var(--w);border-radius:var(--r-xl);box-shadow:var(--clg);padding:24px 18px;text-align:center;margin:20px 0}
.lock-ico{width:52px;height:52px;background:var(--g3);border-radius:16px;box-shadow:var(--cg);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.lock-ico svg{width:24px;height:24px;stroke:var(--g2);fill:none}
.lock-title{font-family:'Nunito',sans-serif;font-size:19px;font-weight:900;margin-bottom:6px}
.lock-sub{font-size:13px;color:var(--gr);line-height:1.7;margin-bottom:16px}

/* BADGE */
.badge{display:inline-block;padding:3px 9px;border-radius:var(--r-f);font-size:10px;font-weight:800;letter-spacing:.5px}
.bdg-g{background:var(--g3);color:var(--g2)}
.bdg-r{background:var(--r3);color:var(--r2)}
.bdg-gr{background:var(--gr3);color:var(--gr)}
.bdg-y{background:var(--y3);color:#92400e}

/* QR */
.qr-card{background:var(--w);border-radius:var(--r-xl);box-shadow:var(--clg);padding:18px;text-align:center;margin-bottom:12px}
.qr-amt{font-family:'Nunito',sans-serif;font-size:24px;font-weight:900;color:var(--g2);margin-bottom:12px}
.qr-img{width:156px;height:156px;background:var(--off);border-radius:var(--r-md);margin:0 auto 12px;padding:8px;box-shadow:inset 3px 3px 7px rgba(0,0,0,.07),inset -2px -2px 5px rgba(255,255,255,.9)}
.addr-box{background:var(--off);border-radius:var(--r-md);box-shadow:inset 3px 3px 7px rgba(0,0,0,.07),inset -2px -2px 5px rgba(255,255,255,.9);padding:9px 12px;font-size:11px;color:var(--dk2);word-break:break-all;cursor:pointer;font-family:var(--mono);transition:background .2s}
.addr-box:hover{background:var(--g3);color:var(--g2)}
.net-warn{background:var(--r3);border-radius:var(--r-sm);box-shadow:var(--cr);padding:9px 12px;font-size:11px;color:var(--r2);margin-top:8px;font-weight:600}

/* ADMIN TABLE */
.tbl-wrap{background:var(--w);border-radius:var(--r-xl);box-shadow:var(--clg);overflow:hidden;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:12px}
th{padding:11px 13px;text-align:left;font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--gr2);background:var(--off);white-space:nowrap}
td{padding:11px 13px;border-top:1px solid var(--off);color:var(--dk2)}
tr:hover td{background:#f8faf8}
.t-empty{text-align:center;padding:24px;color:var(--gr2)}

/* JOURNAL */
.j-win{color:var(--g2);font-weight:700;font-family:var(--mono)}
.j-loss{color:var(--r2);font-weight:700;font-family:var(--mono)}
.j-be{color:var(--gr);font-family:var(--mono)}

@media(max-width:380px){.fc-name{font-size:12px}}


/* ════════════════════════════════════════
   DESKTOP RESPONSIVE LAYOUT
   ════════════════════════════════════════ */
@media (min-width: 768px) {
  body { background-image: radial-gradient(circle at 10% 20%,#dcfce760 0%,transparent 40%), radial-gradient(circle at 90% 80%,#fee2e240 0%,transparent 40%), radial-gradient(circle at 50% 50%,#f0fdf450 0%,transparent 30%); }

  /* Desktop wrapper */
  .desktop-layout { display: flex; min-height: 100vh; }
  .desktop-sidebar { width: 260px; flex-shrink: 0; position: fixed; top: 0; left: 0; bottom: 0; background: var(--w); box-shadow: 4px 0 20px rgba(0,0,0,.06); z-index: 50; padding: 24px 16px; display: flex; flex-direction: column; }
  .desktop-main { margin-left: 260px; flex: 1; min-height: 100vh; }

  /* Sidebar brand */
  .sb-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 32px; padding: 0 4px; }
  .sb-logo { width: 38px; height: 38px; background: var(--g); border-radius: 12px; box-shadow: var(--cg); display: flex; align-items: center; justify-content: center; }
  .sb-logo svg { width: 20px; height: 20px; stroke: white; fill: none; stroke-width: 2; }
  .sb-title { font-family:'Nunito',sans-serif; font-size: 18px; font-weight: 900; }
  .sb-title span { color: var(--g2); }

  /* Sidebar nav */
  .sb-nav { flex: 1; display: flex; flex-direction: column; gap: 4px; }
  .sb-item { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: var(--r-md); font-size: 14px; font-weight: 600; color: var(--gr); cursor: pointer; transition: all .2s; text-decoration: none; }
  .sb-item:hover { background: var(--off); color: var(--dk); box-shadow: var(--csm); }
  .sb-item.active { background: var(--g3); color: var(--g2); box-shadow: var(--cg); }
  .sb-item svg { width: 18px; height: 18px; stroke: currentColor; fill: none; flex-shrink: 0; }
  .sb-badge { margin-left: auto; font-size: 9px; font-weight: 800; padding: 2px 7px; border-radius: var(--r-f); }
  .sbb-g { background: var(--g3); color: var(--g2); }
  .sbb-r { background: var(--r3); color: var(--r2); }
  .sbb-gr { background: var(--gr3); color: var(--gr); }

  /* Sidebar user card */
  .sb-user { background: var(--off); border-radius: var(--r-lg); box-shadow: var(--csm); padding: 12px; display: flex; align-items: center; gap: 10px; margin-top: 12px; cursor: pointer; transition: all .2s; }
  .sb-user:hover { box-shadow: var(--cmd); }
  .sb-av { width: 36px; height: 36px; border-radius: 50%; background: var(--g3); box-shadow: var(--cg); display: flex; align-items: center; justify-content: center; font-size: 18px; }
  .sb-uname { font-size: 13px; font-weight: 700; color: var(--dk); }
  .sb-uphone { font-size: 11px; color: var(--gr2); }
  .sb-pro-badge { background: var(--g); color: white; border-radius: var(--r-f); font-size: 9px; font-weight: 800; padding: 2px 8px; margin-left: auto; }

  /* Hide mobile navbar on desktop */
  .navbar { display: none; }

  /* Desktop content area */
  .desktop-content { max-width: 760px; margin: 0 auto; padding: 32px 32px; }

  /* Dashboard feature grid - 3 cols on desktop */
  .feat-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 14px !important; padding: 0 !important; }
  .fc { padding: 24px 18px !important; }
  .fi-wrap { width: 54px !important; height: 54px !important; }
  .fc-name { font-size: 14px !important; }

  /* Stats row - more space */
  .stats-row { grid-template-columns: repeat(4, 1fr) !important; padding: 0 !important; margin-bottom: 20px !important; }
  .sc-num { font-size: 32px !important; }

  /* Page header desktop */
  .ph { border-radius: var(--r-xl) !important; margin-bottom: 20px !important; }

  /* Content max-width on desktop */
  .pw { max-width: 100% !important; padding: 0 !important; }

  /* Welcome card */
  .wc { border-radius: var(--r-xl) !important; margin-bottom: 20px !important; }

  /* Charts and cards side by side on desktop */
  .desktop-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .desktop-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }

  /* Indicators 4 col */
  .ig { grid-template-columns: repeat(3, 1fr) !important; }

  /* Free bar */
  .free-bar { border-radius: var(--r-lg) !important; }

  /* Verdascope results layout */
  .vs-desktop { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }

  /* Bigger text on desktop */
  h1, .hero-h1 { font-size: 56px !important; }

  /* Chat desktop */
  .chat-wrap { height: calc(100vh - 80px) !important; max-width: 100%; }

  /* Journal table */
  .tbl-wrap { border-radius: var(--r-xl) !important; }
}

@media (min-width: 1200px) {
  .desktop-sidebar { width: 280px; }
  .desktop-main { margin-left: 280px; }
  .desktop-content { max-width: 900px; padding: 36px 40px; }
  .feat-grid { grid-template-columns: repeat(4, 1fr) !important; }
}
