:root {
  --accent:      #c9a84c;
  --accent-hi:   #e8c87a;
  --accent-lo:   #8a6820;
  --accent-dim:  rgba(201,168,76,.12);
  --accent-rim:  rgba(201,168,76,.22);
  --accent-glow: rgba(201,168,76,.06);
  --ivory:    #f0ead8; --ivory-2: #c8bfa4; --ivory-3: #7a7060; --ivory-4: #2e2a22;
  --green:    #2ec27e; --green-d: rgba(46,194,126,.10);
  --red:      #e05252; --red-d:   rgba(224,82,82,.10);
  --blue:     #5b9cf6; --amber:   #f59e0b; --discord: #5865f2;
  --r:8px; --r3:16px; --sw:228px; --th:64px;
  --fs:'Cormorant Garamond',Georgia,serif;
  --fn:'DM Sans',sans-serif; --fm:'DM Mono',monospace;
  --bg:#07090d; --bg1:#0a0d14; --bg2:#0e1219; --bg3:#12171f; --bg4:#161d28;
}
body.theme-onyx {
  --bg:#090910; --bg1:#0d0d16; --bg2:#12121e; --bg3:#171728; --bg4:#1c1c32;
  --accent: #7c6af0; --accent-hi: #a99bf5; --accent-lo: #4d3ec2;
  --accent-dim: rgba(124,106,240,.12); --accent-rim: rgba(124,106,240,.24);
  --accent-glow: rgba(124,106,240,.07);
  --ivory-3: #7070a0; --ivory-4: #28283a;
}
body.theme-midnight {
  --bg:#050814; --bg1:#080b1c; --bg2:#0c1028; --bg3:#101432; --bg4:#141840;
  --accent: #38c8e8; --accent-hi: #6de0f5; --accent-lo: #1a8aaa;
  --accent-dim: rgba(56,200,232,.10); --accent-rim: rgba(56,200,232,.22);
  --accent-glow: rgba(56,200,232,.06);
  --ivory-3: #5a7a90; --ivory-4: #1c2840;
}
body.theme-slate {
  --bg:#0b1014; --bg1:#0e141a; --bg2:#121a22; --bg3:#16202c; --bg4:#1a2636;
  --accent: #2ec27e; --accent-hi: #56e0a0; --accent-lo: #158a55;
  --accent-dim: rgba(46,194,126,.10); --accent-rim: rgba(46,194,126,.22);
  --accent-glow: rgba(46,194,126,.06);
  --ivory-3: #5a8070; --ivory-4: #1e3028;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}
body{background:var(--bg);color:var(--ivory);font-family:var(--fn);font-size:14px;line-height:1.6;overflow:hidden;transition:background .4s;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 65% 50% at 12% 8%,var(--accent-glow) 0%,transparent 60%),
             radial-gradient(ellipse 50% 55% at 88% 92%,rgba(91,156,246,.03) 0%,transparent 55%);}
.shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--sw) 1fr;grid-template-rows:var(--th) 1fr;height:100vh;}

/* ══ TOPBAR ══ */
.topbar{grid-column:1/-1;display:flex;align-items:center;gap:0;padding:0 24px;
  background:rgba(7,9,13,.97);border-bottom:1px solid var(--accent-dim);backdrop-filter:blur(20px);
  position:relative;z-index:100;}
.topbar::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-rim) 35%,var(--accent-rim) 65%,transparent);}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;margin-right:20px;}
.logo-name{font-family:var(--fs);font-size:21px;font-weight:600;letter-spacing:6px;color:var(--accent);text-shadow:0 0 22px var(--accent-glow);}
.tb-sep{width:1px;height:26px;background:var(--accent-dim);flex-shrink:0;margin:0 16px;}
.tb-widget{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 16px;
  border-right:1px solid var(--accent-dim);height:100%;}
.tw-lbl{font-family:var(--fm);font-size:7px;letter-spacing:2.5px;color:var(--ivory-3);text-transform:uppercase;line-height:1;margin-bottom:5px;}
.tw-val{font-family:var(--fm);font-size:13px;font-weight:500;color:var(--ivory);letter-spacing:1px;line-height:1;}
.cycle-widget{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 16px;
  border-right:1px solid var(--accent-dim);height:100%;}
.cycle-bar-wrap{width:80px;height:3px;background:var(--bg2);border-radius:2px;margin-top:5px;overflow:hidden;}
.cycle-bar{height:100%;background:linear-gradient(90deg,var(--accent-lo),var(--accent));border-radius:2px;transition:width .5s linear;}
.tb-gap{flex:1;}
.bot-pill{display:flex;align-items:center;gap:9px;padding:5px 15px;
  background:var(--green-d);border:1px solid rgba(46,194,126,.2);border-radius:20px;margin-right:16px;}
.bot-pill.off{background:var(--red-d);border-color:rgba(224,82,82,.2);}
.b-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 7px rgba(46,194,126,.8);animation:blink 2.8s ease-in-out infinite;}
.bot-pill.off .b-dot{background:var(--red);box-shadow:none;animation:none;}
@keyframes blink{0%,100%{opacity:1;box-shadow:0 0 7px rgba(46,194,126,.8);}50%{opacity:.4;box-shadow:none;}}
.b-txt{font-family:var(--fm);font-size:9px;letter-spacing:2px;color:var(--green);text-transform:uppercase;}
.bot-pill.off .b-txt{color:var(--red);}

/* ══ SIDEBAR ══ */
.sidebar{background:rgba(10,13,20,.85);border-right:1px solid var(--accent-dim);
  display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(16px);}
.nav-group{padding:22px 0 4px;}
.nav-cat{font-family:var(--fm);font-size:7.5px;letter-spacing:3.5px;color:var(--ivory-4);
  text-transform:uppercase;padding:0 22px;margin-bottom:7px;display:block;}
.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:10px 22px;
  cursor:pointer;color:var(--ivory-3);font-size:13px;font-weight:500;
  border-left:1.5px solid transparent;transition:all .16s;user-select:none;}
.nav-item:hover{color:var(--ivory);border-left-color:rgba(201,168,76,.3);background:var(--accent-glow);}
.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim);}
.nav-item.active::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:2px;height:55%;border-radius:2px 0 0 2px;background:var(--accent);box-shadow:-3px 0 10px var(--accent-rim);}
.nav-ico{width:15px;height:15px;flex-shrink:0;opacity:.45;transition:opacity .16s;}
.nav-item.active .nav-ico,.nav-item:hover .nav-ico{opacity:1;}
.sidebar-foot{margin-top:auto;padding:18px 22px;border-top:1px solid var(--accent-dim);}
.ver{font-family:var(--fm);font-size:9px;letter-spacing:2px;color:var(--ivory-4);}

/* ══ CONTENT ══ */
.content{overflow-y:auto;overflow-x:hidden;}
.page{display:none;padding:32px 38px 56px;}
.page.active{display:block;animation:fi .26s cubic-bezier(.2,.7,0,1) both;}
@keyframes fi{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ══ PAGE HEADER ══ */
.pg-hd{display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--accent-dim);position:relative;}
.pg-hd::before{content:'';position:absolute;bottom:-1px;left:0;width:44px;height:1px;
  background:var(--accent);box-shadow:0 0 8px var(--accent-rim);}
.pg-title{font-family:var(--fs);font-size:42px;font-weight:600;letter-spacing:5px;line-height:1;color:var(--ivory);}
.pg-sub{font-family:var(--fm);font-size:9px;letter-spacing:2.5px;color:var(--ivory-3);text-transform:uppercase;margin-top:7px;}
.pg-hd-r{display:flex;gap:9px;align-items:center;}

/* ══ BUTTONS ══ */
.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--fn);font-size:11px;
  font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:9px 20px;
  border-radius:var(--r);border:none;cursor:pointer;transition:all .18s;white-space:nowrap;}
.btn-gold{background:linear-gradient(135deg,var(--accent-hi),var(--accent));color:var(--bg);box-shadow:0 2px 14px var(--accent-dim);}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 5px 22px var(--accent-rim);}
.btn-ghost{background:transparent;border:1px solid var(--accent-rim);color:var(--ivory-2);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-danger{background:rgba(224,82,82,.08);border:1px solid rgba(224,82,82,.22);color:var(--red);}
.btn-danger:hover{background:rgba(224,82,82,.16);}
.btn-discord{background:rgba(88,101,242,.1);border:1px solid rgba(88,101,242,.28);color:var(--discord);}
.btn-discord:hover{background:rgba(88,101,242,.2);}
.btn-green{background:rgba(46,194,126,.1);border:1px solid rgba(46,194,126,.28);color:var(--green);}
.btn-green:hover{background:rgba(46,194,126,.2);}
.btn-sm{padding:6px 13px;font-size:10px;}

/* ══ CARDS ══ */
.card{background:var(--bg3);border:1px solid var(--accent-dim);
  border-radius:var(--r3);padding:20px 22px;position:relative;overflow:auto;transition:border-color .2s,background .4s;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-dim) 40%,var(--accent-rim) 50%,var(--accent-dim) 60%,transparent);}
.card:hover{border-color:rgba(201,168,76,.14);}
.card-kpi{background:linear-gradient(145deg,var(--bg3),var(--bg4));transition:transform .16s,box-shadow .16s,border-color .16s,background .4s;}
.card-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.25),0 0 0 1px var(--accent-dim);}
.c-lbl{font-family:var(--fm);font-size:8.5px;letter-spacing:3px;color:var(--ivory-3);text-transform:uppercase;
  margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;}
.c-val{font-family:var(--fs);font-size:34px;font-weight:600;letter-spacing:1px;line-height:1;}
.v-accent{color:var(--accent);text-shadow:0 0 22px var(--accent-glow);}
.v-green{color:var(--green);text-shadow:0 0 18px rgba(46,194,126,.22);}
.v-red  {color:var(--red);}
.v-blue {color:var(--blue);}
.v-amber{color:var(--amber);}
.c-note{font-family:var(--fm);font-size:10px;color:var(--ivory-3);margin-top:4px;}
.blk-t{font-family:var(--fs);font-size:16px;font-weight:600;letter-spacing:3px;
  padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--accent-dim);
  display:flex;align-items:center;justify-content:space-between;color:var(--ivory);}
.blk-t span{color:var(--accent);}

/* ══ GRIDS ══ */
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}

/* ══ SUBTABS ══ */
.subtab-bar{display:flex;margin-bottom:22px;background:var(--bg2);border:1px solid var(--accent-dim);
  border-radius:var(--r);overflow:hidden;width:fit-content;transition:background .4s;}
.subtab{padding:8px 20px;font-family:var(--fm);font-size:10px;letter-spacing:2px;text-transform:uppercase;
  cursor:pointer;color:var(--ivory-3);background:transparent;border:none;border-right:1px solid var(--accent-dim);transition:all .14s;}
.subtab:last-child{border-right:none;}
.subtab:hover{color:var(--ivory);background:var(--accent-glow);}
.subtab.active{color:var(--bg);background:var(--accent);font-weight:600;}
.subpage{display:none;}
.subpage.active{display:block;animation:fi .2s ease both;}

/* ══ FORMS ══ */
.field{margin-bottom:14px;}
.field.mb0{margin-bottom:0;}
.f-lbl{display:block;font-family:var(--fm);font-size:8.5px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;margin-bottom:7px;}
.f-in,.f-sel{width:100%;background:var(--bg1);border:1px solid var(--accent-rim);border-radius:var(--r);
  padding:10px 14px;color:var(--ivory);font-family:var(--fm);font-size:12px;outline:none;
  transition:border-color .15s,box-shadow .15s,background .4s;}
.f-in:focus,.f-sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
.f-in::placeholder{color:var(--ivory-4);}
.f-sel{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237a7060' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;}
.f-sel option{background:var(--bg2);}
.tog-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--accent-dim);}
.tog-row:last-of-type{border-bottom:none;padding-bottom:0;}
.tog-row:first-of-type{padding-top:0;}
.t-lbl{font-size:13px;font-weight:500;color:var(--ivory);}
.t-desc{font-family:var(--fm);font-size:9.5px;color:var(--ivory-3);margin-top:2px;}
.toggle{position:relative;width:36px;height:19px;flex-shrink:0;}
.toggle input{display:none;}
.tg-track{position:absolute;inset:0;background:var(--bg1);border:1px solid var(--accent-rim);border-radius:10px;cursor:pointer;transition:all .2s;}
.tg-track::after{content:'';position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:var(--ivory-3);transition:all .2s;}
.toggle input:checked+.tg-track{background:var(--accent-dim);border-color:var(--accent);}
.toggle input:checked+.tg-track::after{transform:translateX(17px);background:var(--accent);box-shadow:0 0 7px var(--accent-rim);}
.range-row{margin-bottom:14px;}
.range-row:last-child{margin-bottom:0;}
.range-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;}
.range-val{font-family:var(--fm);font-size:11px;color:var(--accent);}
input[type=range]{-webkit-appearance:none;width:100%;height:3px;background:var(--bg1);border-radius:2px;outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg1),0 0 10px var(--accent-rim);}

/* ══ TABLE ══ */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-family:var(--fm);font-size:8.5px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;padding:7px 12px;text-align:left;border-bottom:1px solid var(--accent-dim);}
.tbl td{padding:11px 12px;font-size:13px;font-weight:500;border-bottom:1px solid rgba(201,168,76,.04);color:var(--ivory-2);}
.tbl tr:last-child td{border-bottom:none;}
.tbl tbody tr:hover td{background:var(--accent-glow);}
.empty-td{text-align:center!important;padding:28px!important;color:var(--ivory-4)!important;font-family:var(--fm)!important;font-size:10px!important;letter-spacing:2px!important;}
.mono{font-family:var(--fm);font-size:11px;}

/* ══ TAGS ══ */
.tag{display:inline-flex;align-items:center;font-family:var(--fm);font-size:9px;letter-spacing:1px;padding:3px 9px;border-radius:4px;}
.tg-up  {background:rgba(46,194,126,.1); color:var(--green);border:1px solid rgba(46,194,126,.22);}
.tg-dn  {background:rgba(224,82,82,.1);  color:var(--red);  border:1px solid rgba(224,82,82,.22);}
.tg-pend{background:rgba(245,158,11,.1); color:var(--amber);border:1px solid rgba(245,158,11,.22);}
.tg-win {background:rgba(46,194,126,.1); color:var(--green);border:1px solid rgba(46,194,126,.22);}
.tg-loss{background:rgba(224,82,82,.1);  color:var(--red);  border:1px solid rgba(224,82,82,.22);}

/* ══ METRIC ROW ══ */
.m-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--accent-dim);}
.m-row:last-child{border-bottom:none;}
.m-k{font-family:var(--fm);font-size:9px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;}
.m-v{font-family:var(--fm);font-size:11.5px;font-weight:500;color:var(--ivory);}

/* ══ PROGRESS ══ */
.pb-w{margin-bottom:14px;}
.pb-w:last-child{margin-bottom:0;}
.pb-hd{display:flex;justify-content:space-between;margin-bottom:6px;}
.pb-l{font-family:var(--fm);font-size:8.5px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;}
.pb-p{font-family:var(--fm);font-size:10px;font-weight:500;}
.pb{height:3px;background:var(--bg1);border-radius:2px;overflow:hidden;}
.pf-accent{height:100%;background:linear-gradient(90deg,var(--accent-lo),var(--accent));border-radius:2px;}
.pf-green{height:100%;background:linear-gradient(90deg,rgba(46,194,126,.4),var(--green));border-radius:2px;}
.pf-red  {height:100%;background:linear-gradient(90deg,rgba(224,82,82,.4),var(--red));border-radius:2px;}
.pf-blue {height:100%;background:linear-gradient(90deg,rgba(91,156,246,.4),var(--blue));border-radius:2px;}

/* ══ LOG ══ */
.log-scroll{max-height:220px;overflow-y:auto;background:var(--bg1);border-radius:var(--r);padding:12px 15px;border:1px solid var(--accent-dim);transition:background .4s;}
.log-line{display:flex;gap:11px;padding:4px 0;border-bottom:1px solid rgba(201,168,76,.025);font-family:var(--fm);font-size:11px;line-height:1.7;}
.log-line:last-child{border-bottom:none;}
.l-ts{color:var(--ivory-3);flex-shrink:0;width:56px;}
.l-ok{color:var(--green); flex-shrink:0;width:64px;}
.l-in{color:var(--blue);  flex-shrink:0;width:64px;}
.l-wn{color:var(--amber); flex-shrink:0;width:64px;}
.l-er{color:var(--red);   flex-shrink:0;width:64px;}
.l-ms{color:var(--ivory-2);flex:1;}

/* ══ CHART ══ */
.chart-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.chart-title{font-family:var(--fm);font-size:8.5px;letter-spacing:3px;color:var(--ivory-3);text-transform:uppercase;}
.chart-area{height:160px;background:var(--bg2);border-radius:var(--r);border:1px solid var(--accent-dim);overflow:hidden;position:relative;transition:background .4s;}
.chart-area canvas{position:absolute;inset:0;width:100%!important;height:100%!important;}
.chart-live-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--fm);font-size:8px;letter-spacing:1.5px;color:var(--green);text-transform:uppercase;}
.chart-live-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:blink 2s infinite;}

/* ══ MODAL — COMPACT START SUMMARY ══ */
.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(5,7,11,.75);
  backdrop-filter:blur(10px) saturate(1.4);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .22s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--bg3);border:1px solid var(--accent-rim);border-radius:var(--r3);
  padding:0;width:420px;max-width:94vw;position:relative;overflow:hidden;
  transform:translateY(18px) scale(.97);transition:transform .24s cubic-bezier(.2,.8,0,1);
  box-shadow:0 24px 64px rgba(0,0,0,.5),0 0 0 1px var(--accent-dim);}
.modal-overlay.open .modal{transform:none;}
.modal::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-rim) 40%,var(--accent-rim) 60%,transparent);}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--accent-dim);}
.modal-title{font-family:var(--fs);font-size:20px;font-weight:600;letter-spacing:4px;color:var(--ivory);}
.modal-title span{color:var(--accent);}
.modal-close{width:26px;height:26px;border-radius:6px;border:1px solid var(--accent-dim);
  background:transparent;cursor:pointer;color:var(--ivory-3);display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .15s;}
.modal-close:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}
.modal-body{padding:16px 20px;}
.modal-foot{display:flex;justify-content:flex-end;gap:9px;padding:12px 20px;border-top:1px solid var(--accent-dim);}

/* ── Compact summary rows ── */
.sr-block{background:var(--bg2);border:1px solid var(--accent-dim);border-radius:var(--r);padding:10px 14px;margin-bottom:10px;}
.sr-block-title{font-family:var(--fm);font-size:7.5px;letter-spacing:2.5px;color:var(--ivory-3);text-transform:uppercase;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--accent-dim);}
.sr-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;}
.sr-row+.sr-row{border-top:1px solid rgba(201,168,76,.04);}
.sr-key{font-family:var(--fm);font-size:9px;letter-spacing:1.5px;color:var(--ivory-3);text-transform:uppercase;}
.sr-val{font-family:var(--fm);font-size:11px;font-weight:500;color:var(--ivory);}
.sr-val.accent{color:var(--accent);}
.sr-val.green{color:var(--green);}
.warn-box{font-family:var(--fm);font-size:9px;color:var(--ivory-3);line-height:1.7;padding:8px 12px;background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.14);border-radius:var(--r);}

/* ══ GUARD ══ */
.guard-overlay{position:fixed;inset:0;z-index:1100;background:rgba(5,7,11,.82);
  backdrop-filter:blur(14px) saturate(1.5);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .22s;}
.guard-overlay.open{opacity:1;pointer-events:all;}
.guard-box{background:var(--bg3);border:1px solid var(--accent-rim);border-radius:var(--r3);
  width:340px;max-width:94vw;position:relative;overflow:hidden;
  transform:translateY(16px) scale(.97);transition:transform .24s cubic-bezier(.2,.8,0,1);
  box-shadow:0 28px 70px rgba(0,0,0,.6),0 0 0 1px var(--accent-dim);}
.guard-overlay.open .guard-box{transform:none;}
.guard-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-rim) 50%,transparent);}
.guard-head{padding:18px 20px 12px;border-bottom:1px solid var(--accent-dim);display:flex;align-items:center;gap:11px;}
.guard-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;}
.guard-icon.danger{background:rgba(224,82,82,.1);border:1px solid rgba(224,82,82,.2);}
.guard-icon.warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);}
.guard-title{font-family:var(--fs);font-size:19px;font-weight:600;letter-spacing:3px;color:var(--ivory);}
.guard-title span{color:var(--red);}
.guard-title span.warning{color:var(--amber);}
.guard-body{padding:16px 20px;}
.guard-desc{font-family:var(--fm);font-size:10.5px;color:var(--ivory-3);line-height:1.7;margin-bottom:16px;}
.guard-desc strong{color:var(--ivory);font-weight:600;}
.guard-seq-label{font-family:var(--fm);font-size:8px;letter-spacing:2.5px;color:var(--ivory-3);text-transform:uppercase;margin-bottom:9px;}
.guard-dots{display:flex;gap:7px;margin-bottom:14px;}
.guard-dot{width:28px;height:28px;border-radius:7px;border:1px solid var(--accent-dim);background:var(--bg2);
  display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:12px;
  color:var(--ivory-4);transition:all .15s;}
.guard-dot.filled{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);}
.guard-dot.error{border-color:var(--red);background:rgba(224,82,82,.08);color:var(--red);animation:shake .3s ease;}
.guard-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.guard-key{height:40px;border-radius:var(--r);border:1px solid var(--accent-dim);background:var(--bg2);
  color:var(--ivory-2);font-family:var(--fm);font-size:14px;font-weight:500;cursor:pointer;
  transition:all .14s;display:flex;align-items:center;justify-content:center;}
.guard-key:hover{border-color:var(--accent-rim);background:var(--accent-glow);color:var(--ivory);}
.guard-key:active{transform:scale(.94);}
.guard-key.del{font-size:11px;color:var(--ivory-3);}
.guard-key.del:hover{border-color:rgba(224,82,82,.3);color:var(--red);}
.guard-foot{display:flex;justify-content:flex-end;gap:9px;padding:10px 20px;border-top:1px solid var(--accent-dim);}
@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}

/* ══ PARTNER CARDS ══ */
.partner-grid{display:grid;gap:10px;margin-bottom:14px;}
.partner-card{background:var(--bg3);border:1px solid var(--accent-dim);border-radius:var(--r3);
  padding:16px 18px;position:relative;overflow:hidden;transition:border-color .16s;}
.partner-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent-dim) 50%,transparent);}
.partner-card:hover{border-color:var(--accent-rim);}
.pc-top{display:flex;align-items:flex-start;gap:14px;}
.pc-name{font-family:var(--fs);font-size:18px;font-weight:600;letter-spacing:3px;color:var(--ivory);margin-bottom:8px;}
.pc-stats{display:flex;gap:20px;flex-wrap:wrap;}
.pc-stat{display:flex;flex-direction:column;gap:2px;}
.pc-stat-lbl{font-family:var(--fm);font-size:7px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;}
.pc-stat-val{font-family:var(--fm);font-size:12px;font-weight:500;color:var(--ivory);}
.pc-stat-val.accent{color:var(--accent);}
.pc-stat-val.green{color:var(--green);}
.pc-stat-val.red{color:var(--red);}
.pc-bar{height:2px;background:var(--bg1);border-radius:1px;overflow:hidden;margin-top:10px;}
.pc-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-lo),var(--accent));border-radius:1px;transition:width .5s ease;}
.pc-actions{display:flex;gap:6px;flex-shrink:0;flex-direction:column;align-items:flex-end;}
.p-btn{background:transparent;border-radius:5px;font-family:var(--fm);font-size:9px;padding:5px 11px;cursor:pointer;transition:all .14s;white-space:nowrap;}
.p-btn-green{border:1px solid rgba(46,194,126,.22);color:var(--green);}
.p-btn-green:hover{border-color:var(--green);background:var(--green-d);}
.p-btn-accent{border:1px solid var(--accent-rim);color:var(--accent);}
.p-btn-accent:hover{border-color:var(--accent);background:var(--accent-dim);}
.p-btn-muted{border:1px solid var(--accent-dim);color:var(--ivory-3);}
.p-btn-muted:hover{border-color:var(--accent-rim);color:var(--ivory);}
.p-btn-del{border:1px solid rgba(224,82,82,.15);color:var(--red);opacity:.6;}
.p-btn-del:hover{border-color:var(--red);opacity:1;}

/* ── Transaction history ── */
.pc-history{margin-top:12px;padding-top:10px;border-top:1px solid var(--accent-dim);}
.pc-hist-title{font-family:var(--fm);font-size:7.5px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;margin-bottom:6px;}
.pc-hist-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid rgba(201,168,76,.03);}
.pc-hist-row:last-child{border-bottom:none;}
.pc-hist-ico{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;}
.pc-hist-ico.in{background:rgba(46,194,126,.1);color:var(--green);}
.pc-hist-ico.out{background:rgba(224,82,82,.1);color:var(--red);}
.pc-hist-date{font-family:var(--fm);font-size:9px;color:var(--ivory-3);flex-shrink:0;min-width:100px;}
.pc-hist-note{font-family:var(--fm);font-size:9px;color:var(--ivory-2);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pc-hist-amt{font-family:var(--fm);font-size:10px;font-weight:600;flex-shrink:0;}
.pc-hist-amt.in{color:var(--green);}
.pc-hist-amt.out{color:var(--red);}

/* ── Partner Add Quick ── */
.partner-add-card{background:var(--bg2);border:1px dashed var(--accent-dim);border-radius:var(--r3);
  padding:14px 18px;display:flex;gap:10px;align-items:center;transition:border-color .16s;}
.partner-add-card:hover{border-color:var(--accent-rim);}

/* ══ PAYOUT / DEPOSIT MODALS ══ */
.tx-modal{width:400px;}
.tx-avatar{width:40px;height:40px;border-radius:10px;background:var(--accent-dim);border:1px solid var(--accent-rim);
  display:flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:18px;font-weight:600;color:var(--accent);flex-shrink:0;}
.tx-partner-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--accent-dim);border-radius:var(--r);margin-bottom:14px;}
.tx-partner-info{flex:1;}
.tx-partner-name{font-family:var(--fs);font-size:16px;font-weight:600;letter-spacing:2px;color:var(--ivory);}
.tx-partner-sub{font-family:var(--fm);font-size:8.5px;letter-spacing:1.5px;color:var(--ivory-3);margin-top:2px;}
.tx-balance{font-family:var(--fs);font-size:20px;font-weight:600;color:var(--accent);}
.tx-balance.green{color:var(--green);}
.quick-fracs{display:flex;gap:6px;margin-bottom:12px;}
.frac-btn{flex:1;padding:6px 4px;border-radius:var(--r);border:1px solid var(--accent-dim);
  background:var(--bg2);color:var(--ivory-3);font-family:var(--fm);font-size:9px;
  letter-spacing:1px;cursor:pointer;transition:all .14s;text-align:center;}
.frac-btn:hover{border-color:var(--accent-rim);color:var(--accent);background:var(--accent-dim);}
.frac-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);}
.tx-err{font-family:var(--fm);font-size:9.5px;color:var(--red);margin-top:6px;min-height:14px;}
.tx-slider-row{display:flex;align-items:center;gap:10px;margin-top:6px;}
.tx-slider-row input[type=range]{flex:1;}
.tx-pct{font-family:var(--fm);font-size:10px;color:var(--ivory-3);min-width:36px;text-align:right;}

/* ══ DISCORD ══ */
.disc-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:16px;
  background:rgba(88,101,242,.06);border:1px solid rgba(88,101,242,.15);border-radius:var(--r3);position:relative;overflow:hidden;}
.disc-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(88,101,242,.4) 50%,transparent);}
.disc-ico{width:40px;height:40px;border-radius:9px;flex-shrink:0;background:var(--discord);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(88,101,242,.3);}
.disc-t1{font-family:var(--fs);font-size:18px;font-weight:600;letter-spacing:3px;color:var(--ivory);}
.disc-t2{font-family:var(--fm);font-size:9px;letter-spacing:1px;color:var(--ivory-2);margin-top:2px;}
.conn-pill{display:flex;align-items:center;gap:6px;font-family:var(--fm);font-size:9px;padding:5px 13px;border-radius:16px;background:rgba(46,42,34,.3);border:1px solid rgba(122,112,96,.2);color:var(--ivory-3);}

/* ══ THEME SWATCHES ══ */
.swatch-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;}
.swatch{height:60px;border-radius:var(--r);border:2px solid transparent;cursor:pointer;position:relative;overflow:hidden;transition:all .15s;}
.swatch:hover{transform:scale(1.03);}
.swatch.active{box-shadow:0 0 0 2px var(--accent),0 0 14px var(--accent-rim);}
.swatch::after{content:attr(data-n);position:absolute;bottom:5px;left:0;right:0;text-align:center;font-family:var(--fm);font-size:7.5px;letter-spacing:1.5px;color:rgba(255,255,255,.6);text-transform:uppercase;}
.sw-obs{background:linear-gradient(145deg,#07090d,#111828);}
.sw-obs::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8a6820,#c9a84c);}
.sw-ony{background:linear-gradient(145deg,#090910,#141420);}
.sw-ony::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4d3ec2,#7c6af0);}
.sw-mid{background:linear-gradient(145deg,#050814,#0b0e2a);}
.sw-mid::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1a8aaa,#38c8e8);}
.sw-sla{background:linear-gradient(145deg,#0b1014,#162030);}
.sw-sla::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#158a55,#2ec27e);}

/* ══ BOT LAUNCH ══ */
.bot-launch-wrap{padding:6px 0 22px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.bot-launch-btn{position:relative;width:100%;max-width:460px;height:72px;border-radius:14px;border:none;
  cursor:pointer;font-family:var(--fs);font-size:26px;font-weight:600;letter-spacing:6px;
  color:var(--bg);overflow:hidden;transition:transform .18s,box-shadow .18s;
  background:linear-gradient(135deg,var(--accent-lo),var(--accent),var(--accent-hi),var(--accent));
  background-size:300% 300%;animation:gradshift 4s ease infinite;
  box-shadow:0 4px 28px rgba(201,168,76,.28),0 0 0 1px rgba(201,168,76,.18);}
.bot-launch-btn:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 8px 44px rgba(201,168,76,.45),0 0 0 1px rgba(201,168,76,.32);}
.bot-launch-btn:active{transform:scale(.98);}
.bot-launch-btn.running{background:linear-gradient(135deg,rgba(224,82,82,.6),rgba(180,50,50,.8));
  animation:none;background-size:auto;
  box-shadow:0 4px 24px rgba(224,82,82,.25),0 0 0 1px rgba(224,82,82,.22);}
.bot-launch-btn::before{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);
  background-size:200% 100%;animation:shimmer 2.8s ease-in-out infinite;}
@keyframes gradshift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.bot-launch-hint{font-family:var(--fm);font-size:9px;letter-spacing:2px;color:var(--ivory-3);text-transform:uppercase;}

.bot-hd-card{background:linear-gradient(135deg,var(--bg3),var(--bg4));border:1px solid rgba(46,194,126,.18);
  border-radius:var(--r3);padding:18px 22px;margin-bottom:22px;position:relative;overflow:hidden;transition:background .4s;}
.bot-hd-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(46,194,126,.3) 50%,transparent);}
.bot-hd-card.stopped{border-color:rgba(224,82,82,.18);}
.bot-hd-card.stopped::before{background:linear-gradient(90deg,transparent,rgba(224,82,82,.3) 50%,transparent);}

/* ══ JSON EXPORT ══ */
.json-out{background:var(--bg1);border-radius:var(--r);padding:14px 16px;font-family:var(--fm);font-size:11px;
  color:var(--green);line-height:1.7;max-height:260px;overflow-y:auto;border:1px solid rgba(46,194,126,.12);white-space:pre-wrap;word-break:break-all;}

/* ══ FILE LIST ══ */
.file-list{display:flex;flex-direction:column;gap:9px;margin-bottom:14px;}
.file-item{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;background:var(--bg2);border:1px solid var(--accent-dim);border-radius:var(--r);
  transition:all .15s;}
.file-item:hover{border-color:var(--accent-rim);background:var(--bg3);}
.file-info{flex:1;min-width:0;}
.file-name{font-family:var(--fm);font-size:12px;font-weight:500;color:var(--ivory);margin-bottom:5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-meta{display:flex;align-items:center;gap:12px;font-family:var(--fm);font-size:9px;color:var(--ivory-3);}
.file-size{display:flex;align-items:center;gap:4px;}
.file-size::before{content:'💾';font-size:10px;}
.file-date{display:flex;align-items:center;gap:4px;white-space:nowrap;}
.file-date::before{content:'📅';font-size:10px;}

/* helpers */
.hr{height:1px;background:var(--accent-dim);margin:14px 0;}
.sep{display:flex;align-items:center;gap:12px;margin:18px 0 14px;}
.sep span{font-family:var(--fm);font-size:8px;letter-spacing:3px;color:var(--ivory-3);text-transform:uppercase;white-space:nowrap;}
.sep::before,.sep::after{content:'';flex:1;height:1px;background:var(--accent-dim);}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--accent-rim);border-radius:2px;}

/* ══ MOBILE NAV TOGGLE + BACKDROP (hidden on desktop) ══ */
.menu-toggle{display:none;align-items:center;justify-content:center;width:34px;height:34px;
  flex-shrink:0;margin-right:12px;background:transparent;border:1px solid var(--accent-dim);
  border-radius:var(--r);color:var(--ivory-2);cursor:pointer;transition:all .15s;}
.menu-toggle:hover{border-color:var(--accent-rim);color:var(--accent);}
.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:250;background:rgba(5,7,11,.65);
  backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;}
.sidebar-backdrop.open{opacity:1;pointer-events:all;}

/* ══ TABLE SCROLL WRAPPER ══ */
.tbl-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE / MOBILE
   ══════════════════════════════════════════════════════════════ */

/* ── Tablet / narrow desktop: tighten grids, keep sidebar ── */
@media (max-width:1100px){
  :root{--sw:190px;}
  .g5{grid-template-columns:repeat(3,1fr);}
  .g4{grid-template-columns:repeat(2,1fr);}
}

/* ── Tablet / mobile landscape: sidebar becomes an off-canvas drawer ── */
@media (max-width:900px){
  .shell{grid-template-columns:1fr;grid-template-rows:var(--th) 1fr;}
  .menu-toggle{display:flex;}
  .sidebar-backdrop{display:block;}
  .sidebar{
    position:fixed;top:0;left:0;bottom:0;width:250px;max-width:80vw;z-index:300;
    transform:translateX(-100%);transition:transform .28s cubic-bezier(.2,.8,0,1);
    box-shadow:24px 0 60px rgba(0,0,0,.5);padding-top:var(--th);
  }
  .sidebar.open{transform:translateX(0);}
  .content{grid-column:1/-1;}
  .page{padding:20px 18px 40px;}
  .pg-title{font-size:30px;letter-spacing:3px;}
  .g5,.g4,.g3{grid-template-columns:repeat(2,1fr);}
  .tb-optional,.cycle-widget{display:none;}
}

/* ── Phones ── */
@media (max-width:640px){
  :root{--th:56px;}
  .topbar{padding:0 12px;}
  .logo{margin-right:10px;}
  .logo-name{font-size:16px;letter-spacing:3px;}
  .logo-sub{display:none;}
  .tb-sep{margin:0 10px;}
  .tb-widget .tw-lbl{font-size:6.5px;}
  .tb-widget .tw-val{font-size:11px;}
  .bot-pill{margin-right:0;padding:5px 10px;}
  .b-txt{font-size:8px;}

  .pg-hd{flex-wrap:wrap;gap:12px;margin-bottom:20px;padding-bottom:16px;}
  .pg-title{font-size:24px;letter-spacing:2px;}
  .pg-hd-r{width:100%;justify-content:flex-start;flex-wrap:wrap;}

  .g5,.g4,.g3,.g2{grid-template-columns:1fr 1fr;gap:10px;}
  .card{padding:16px;}
  .c-val{font-size:22px;}

  .modal{width:100%;}
  .guard-box{width:100%;}
  .guard-numpad{gap:8px;}
  .guard-key{height:46px;}

  .bot-hd-card > div{flex-wrap:wrap;row-gap:14px;}
  .bot-hd-card > div > div[style*="display:flex;gap:20px"]{width:100%;justify-content:space-between;gap:10px!important;}
  .bot-launch-btn{font-size:19px;letter-spacing:3px;height:60px;}

  .tbl th,.tbl td{padding:9px 10px;white-space:nowrap;}
  .partner-add-card{flex-wrap:wrap;}
  .partner-add-card input{width:100%!important;}
}

/* ── Small phones ── */
@media (max-width:420px){
  .g5,.g4,.g3,.g2{grid-template-columns:1fr;}
  .tb-widget:not(:first-of-type){display:none;}
  .swatch-row{grid-template-columns:repeat(2,1fr);}
}