/* HFT ALGO customer portal — Option A inspired dashboard redesign.
   Presentation only. Loaded by index.php after portal.css; no effect on how-to.php.
*/
.portal-dashboard-page{
  --portal-red:#ed334e;--portal-red-dark:#961327;--portal-ink:#08090c;
  --portal-card:#131519;--portal-edge:#35363d;--portal-muted:#adb1bd;
  color:#f8f8fa;min-height:100vh;
  background:radial-gradient(ellipse 1100px 410px at 68% 90px,#340e18 0%,rgba(28,10,16,.53) 32%,transparent 73%),#090a0c;
  font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5;
}
.portal-dashboard-page [hidden]{display:none!important}
.portal-dashboard-page .wrap.portal-app{max-width:1440px;margin:auto;padding:0 32px 32px}
.portal-dashboard-page .portal-app a{text-decoration:none}
.portal-dashboard-page svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.portal-dashboard-page .portal-main-header{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;column-gap:40px;min-height:100px;margin:0 -32px;padding:15px 32px;
  border-bottom:1px solid rgba(242,56,84,.55);background:rgba(9,9,12,.86);
  box-shadow:0 10px 35px #0004;
}
.portal-dashboard-page .portal-identity{display:flex;align-items:center;gap:13px;min-width:0;color:#fff}
.portal-dashboard-page .portal-identity .brand-logo{display:block;width:49px;height:49px;object-fit:contain;background:transparent;border:0;border-radius:0}
.portal-dashboard-page .portal-identity-text{display:flex;flex-direction:column;min-width:0}
.portal-dashboard-page .portal-identity .brand{font-size:clamp(23px,2.5vw,34px);font-weight:900;letter-spacing:.035em;line-height:1.03;white-space:nowrap}
.portal-dashboard-page .portal-identity .brand em{color:#e83352}
.portal-dashboard-page .portal-brand-caption{margin-top:6px;font-size:9px;letter-spacing:.24em;font-weight:650;color:#a7a5ad;white-space:nowrap}
.portal-dashboard-page .portal-main-nav{justify-self:center;display:flex;align-items:center;gap:9px;white-space:nowrap}
.portal-dashboard-page .portal-main-nav a,.portal-dashboard-page .portal-nav-current{
  display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:750;color:#d2d1d7;
  border-bottom:2px solid transparent;padding:13px 11px;border-radius:0;
}
.portal-dashboard-page .portal-main-nav a:hover{color:#fff;border-color:#bd1d3b}
.portal-dashboard-page .portal-main-nav .portal-nav-current{color:#fff;border-color:var(--portal-red)}
.portal-dashboard-page .portal-main-nav svg{width:18px;height:18px}
.portal-dashboard-page .portal-main-actions{justify-self:end;display:flex;justify-content:flex-end;align-items:center;min-width:0;
  padding-left:29px;border-left:1px solid #453940}
.portal-dashboard-page button,.portal-dashboard-page .portal-guide-cta{
  transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;
}
.portal-dashboard-page button{min-height:42px;border:1px solid #eb324e;background:linear-gradient(145deg,#d62b46,#a50c27);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:750;color:#fff;cursor:pointer}
.portal-dashboard-page button:not(:disabled):hover{background:linear-gradient(145deg,#f5425e,#c01836);box-shadow:0 6px 21px #cf143a40}
.portal-dashboard-page button.secondary{background:rgba(28,16,21,.72);border:1px solid #8a2b40;color:#f4e6e9}
.portal-dashboard-page button.secondary:not(:disabled):hover{background:#431a28;border-color:#ee3455}
.portal-dashboard-page .portal-logout{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-width:110px}
.portal-dashboard-page .portal-logout svg{width:18px;height:18px}
.portal-dashboard-page #notice:not(:empty){margin:18px 0 0;background:#2d1720;border:1px solid #733148;border-radius:10px;padding:12px 18px;font-size:13px}
.portal-dashboard-page .portal-hero{
  position:relative;isolation:isolate;overflow:hidden;padding:47px 18px 40px 18px;min-height:196px;
}
.portal-dashboard-page .portal-hero::before,.portal-dashboard-page .portal-hero::after{
  content:"";position:absolute;pointer-events:none;z-index:-1;transform:skewX(-39deg);
  background:linear-gradient(140deg,transparent,rgba(215,20,52,.16),rgba(125,8,35,.2),transparent);
}
.portal-dashboard-page .portal-hero::before{right:120px;top:-130px;width:200px;height:400px}
.portal-dashboard-page .portal-hero::after{right:25px;top:-145px;width:105px;height:400px}
.portal-dashboard-page .portal-hero-content{position:relative;z-index:1;max-width:900px}
.portal-dashboard-page .portal-overline{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#f07589;font-size:10px;font-weight:800;letter-spacing:.17em}
.portal-dashboard-page .portal-online-indicator{display:inline-block;width:8px;height:8px;background:#ff4863;box-shadow:0 0 12px #ff3559;border-radius:50%}
.portal-dashboard-page .pill{display:inline-flex;align-items:center;letter-spacing:.05em;font-size:10px;background:#411b27;border:1px solid #6d2b40;color:#ffb4c4;border-radius:99px;padding:3px 9px;margin-left:0}
.portal-dashboard-page .portal-hero .pill{letter-spacing:.05em;font-size:9px}
.portal-dashboard-page h1{font-size:clamp(34px,4.3vw,60px);letter-spacing:-.045em;line-height:1.05;margin:15px 0 10px;color:#fff;font-weight:850}
.portal-dashboard-page h1 span{color:#f14763}
.portal-dashboard-page .portal-hero p{font-size:clamp(13px,1.5vw,17px);color:#bec0ca;margin:0;max-width:760px}
.portal-dashboard-page .portal-main-grid{display:grid;grid-template-columns:minmax(0,1.92fr) minmax(315px,.87fr);gap:22px;align-items:start}
.portal-dashboard-page .portal-primary-column,.portal-dashboard-page .portal-sidebar{display:grid;gap:20px;min-width:0}
.portal-dashboard-page .card.portal-panel{position:relative;margin:0;padding:29px 30px;border:1px solid #383b42;border-radius:17px;
  background:linear-gradient(137deg,#17191e 0%,#101115 74%);box-shadow:0 12px 28px #0002}
.portal-dashboard-page .portal-panel-heading{display:flex;align-items:flex-start;gap:17px;margin-bottom:23px;min-width:0}
.portal-dashboard-page .portal-panel-heading-spaced{align-items:center}
.portal-dashboard-page .portal-panel-heading .portal-panel-title{min-width:0;flex:1}
.portal-dashboard-page .portal-panel-heading>div:not(.portal-panel-icon){min-width:0;flex:1}
.portal-dashboard-page .portal-panel-heading h2{font-size:clamp(19px,2.0vw,25px);line-height:1.25;letter-spacing:-.02em;font-weight:800;color:#fff;margin:0 0 5px}
.portal-dashboard-page .portal-panel-heading h2 .pill{vertical-align:middle;margin-left:4px;transform:translateY(-2px)}
.portal-dashboard-page .portal-panel-heading p{color:#b9bbc5;font-size:13px;margin:0;line-height:1.55;max-width:670px}
.portal-dashboard-page .portal-panel-icon{display:flex;align-items:center;justify-content:center;flex:0 0 53px;width:53px;height:53px;color:#ff8194;border-radius:13px;background:linear-gradient(130deg,#791426,#2c121a);border:1px solid #882037;box-shadow:inset 0 1px 0 #ffffff12}
.portal-dashboard-page .portal-panel-icon svg{width:28px;height:28px;stroke-width:1.85}
.portal-dashboard-page .portal-text-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #983047;border-radius:9px;min-height:38px;padding:7px 12px;color:#f6dce1;font-weight:750;font-size:12px;white-space:nowrap;background:#31161e}
.portal-dashboard-page .portal-text-link:hover{background:#532131;border-color:#ef3557;color:#fff}
.portal-dashboard-page .portal-text-link svg{width:16px;height:16px}
.portal-dashboard-page .portal-unavailable{padding:17px;margin:0 0 15px;border:1px dashed #5e3542;border-radius:9px;background:#241820;font-size:13px}
.portal-dashboard-page .portal-rate{font-size:12px;margin:-5px 0 17px;color:#abb1bd}
.portal-dashboard-page .portal-deposit-content{display:grid;grid-template-columns:minmax(0,1fr) 147px;gap:15px;align-items:stretch}
.portal-dashboard-page .portal-deposit-fields{display:grid;gap:13px;min-width:0}
.portal-dashboard-page .portal-data-field{border:1px solid #36383d;border-radius:12px;background:#191b1f;padding:12px 14px;min-width:0}
.portal-dashboard-page .portal-data-field label{display:block;font-size:12px;color:#c0c0c9;font-weight:650;margin:0 0 6px}
.portal-dashboard-page .copyrow{display:flex;align-items:center;gap:9px;flex-wrap:nowrap;margin:0}
.portal-dashboard-page .portal-data-field .copyrow code{display:block;flex:1;min-width:0;padding:10px 12px;font-size:12px;color:#f8f5f6;border:1px solid #51535a;border-radius:7px;background:#0e0f12;overflow-wrap:anywhere;line-height:1.6}
.portal-dashboard-page .portal-data-field .copyrow button{flex:0 0 auto;white-space:nowrap}
.portal-dashboard-page .portal-qr-frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:181px;background:#17191d;border:1px solid #34363d;border-radius:12px;padding:12px}
.portal-dashboard-page .qrcode{display:flex;align-items:center;justify-content:center;min-height:100px;margin:0;color:#a9abb3;font-size:11px;text-align:center}
.portal-dashboard-page .qrcode svg{width:110px;height:auto;max-width:110px;background:#fff;border-radius:7px;padding:5px;stroke:none}
.portal-dashboard-page .portal-qr-frame>span{font-size:10px;color:#adb0b8;font-weight:700;text-align:center}
.portal-dashboard-page .portal-deposit-footnote{font-size:11px;margin:12px 0 0;color:#a8a9b0}
.portal-dashboard-page .warning.portal-important{display:block;color:#f2d4c7;border:1px solid #714138;border-left:3px solid #f27369;border-radius:9px;padding:13px 15px;margin:19px 0 0;background:#2a1d1e;font-size:12px;line-height:1.65}
.portal-dashboard-page .portal-important strong{color:#ff8996}
.portal-dashboard-page .section-intro{margin:0}
.portal-dashboard-page .items{display:grid;gap:10px;min-width:0}
.portal-dashboard-page .items .item{border-radius:12px;border:1px solid #393a42;background:linear-gradient(130deg,#1c1d22,#131419);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:14px;min-width:0}
.portal-dashboard-page .items .item>div:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.portal-dashboard-page .items .item strong{display:block;color:#faf7f8;font-size:14px;line-height:1.45;font-weight:750}
.portal-dashboard-page .items .item small{color:#aeb0bb;font-size:11px;line-height:1.5}
.portal-dashboard-page .items .item>button{flex:0 0 auto}
.portal-dashboard-page .items .owned-product{display:block}
.portal-dashboard-page .items .owned-product>.item{margin-top:12px;padding:11px;border-color:#41414a;background:#17171c}
.portal-dashboard-page .items .owned-product>.item strong{font-size:12px}
.portal-dashboard-page .items .code-pending{background:#2d241c;border-color:#74562f}
.portal-dashboard-page .items .code-pending strong{color:#f5ddb2}
.portal-dashboard-page .items .issued-code{background:#1b2a21;border-color:#3e7352}
.portal-dashboard-page .items .issued-code strong{color:#d1f1dc}
.portal-dashboard-page .items .code-claimed{background:#1b2820;border-color:#376849}
.portal-dashboard-page .portal-account-detail{padding:3px 0 20px;border-bottom:1px solid #35363e;margin-top:3px;margin-bottom:18px;min-width:0}
.portal-dashboard-page .portal-account-detail small{display:block;font-size:12px;color:#bbc0cb;margin-bottom:5px}
.portal-dashboard-page .portal-account-detail strong{display:block;font-size:15px;font-weight:650;color:#f3eff2;overflow-wrap:anywhere}
.portal-dashboard-page .portal-balance-detail{border:0;margin-bottom:2px;padding-bottom:2px}
.portal-dashboard-page .portal-balance-detail #balance{font-size:clamp(21px,2.2vw,27px);line-height:1.35;letter-spacing:-.035em;font-weight:850;color:#f24e69;font-variant-numeric:tabular-nums}
.portal-dashboard-page .portal-verification-status{font-size:11px;color:#a6a9b3;line-height:1.65;margin-top:8px;overflow-wrap:anywhere}
/* Optional Gumroad account-link reminder; visibility follows status.linked in portal.js. */
.portal-dashboard-page .portal-existing-gumroad-note{margin-top:17px;padding:13px 14px;border-left:3px solid #ed4868;background:#27191f;border-radius:0 9px 9px 0;color:#d9cbd1}
.portal-dashboard-page .portal-existing-gumroad-note strong{display:block;color:#ffacbd;font-size:12px;font-weight:800;margin-bottom:5px}
.portal-dashboard-page .portal-existing-gumroad-note p{margin:0;font-size:12px;line-height:1.6;color:#d0c3cb}
.portal-dashboard-page .portal-help-panel{border-color:#5d303b!important;background:linear-gradient(130deg,#23171d,#111115 75%)!important}
.portal-dashboard-page .portal-guide-cta{display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #f33a57;border-radius:11px;padding:12px;color:#fff;background:linear-gradient(130deg,#4b1523,#2a141b);font-weight:800;font-size:13px;margin-top:7px}
.portal-dashboard-page .portal-guide-cta:hover{background:linear-gradient(130deg,#90233a,#4a1424);box-shadow:0 8px 22px #e0263b33}
.portal-dashboard-page .portal-guide-cta>span{margin-left:auto;font-size:20px}
.portal-dashboard-page .portal-guide-cta svg{width:21px;height:21px}
.portal-dashboard-page .portal-wallet-panel .copyrow{gap:8px}
.portal-dashboard-page .portal-wallet-panel #saved_wallet{flex:1;min-width:0;padding:10px 12px;font-size:12px}
.portal-dashboard-page .portal-small-note{margin:13px 0 0;font-size:11px;color:#a8a9b2}
.portal-dashboard-page .portal-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:22px}
.portal-dashboard-page .portal-history-panel .items .item>small{overflow-wrap:anywhere;text-align:right}
.portal-dashboard-page .portal-auth-panel{max-width:590px;margin:0 auto 40px!important}
.portal-dashboard-page .portal-auth-panel .fields{margin-top:18px}
.portal-dashboard-page input{border-radius:9px!important;padding:13px 14px}
.portal-dashboard-page .portal-auth-panel .buttons{gap:12px}
.portal-dashboard-page .portal-auth-help{font-size:12px;color:#b9b7bf;margin:17px 0 0}
.portal-dashboard-page .portal-auth-help a{color:#fa889d;font-weight:700}
.portal-dashboard-page .portal-auth-help a:hover{color:#fff}
.portal-dashboard-page footer{margin-top:25px;padding:22px 5px 14px;border-top:1px solid #27272c;text-align:center;color:#8d8e97;font-size:11px;letter-spacing:.01em}
.portal-dashboard-page footer span{margin:0 6px;color:#ba3450}
@media(max-width:1150px){
  .portal-dashboard-page .portal-main-grid{grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr)}
  .portal-dashboard-page .portal-deposit-content{grid-template-columns:1fr}
  .portal-dashboard-page .portal-qr-frame{flex-direction:row;min-height:unset;gap:15px}
  .portal-dashboard-page .portal-qr-frame .qrcode{min-height:unset}
  .portal-dashboard-page .portal-panel-heading-spaced{flex-wrap:wrap}
  .portal-dashboard-page .portal-deposit-help-link{margin-left:70px}
}
@media(max-width:850px){
  .portal-dashboard-page .wrap.portal-app{padding:0 20px 25px}
  .portal-dashboard-page .portal-main-header{margin:0 -20px;padding:12px 20px;grid-template-columns:1fr auto;gap:12px}
  .portal-dashboard-page .portal-main-nav{grid-column:1;grid-row:2;justify-self:start}
  .portal-dashboard-page .portal-main-actions{grid-column:2;grid-row:1 / span 2}
  .portal-dashboard-page .portal-main-grid{grid-template-columns:1fr}
  .portal-dashboard-page .portal-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .portal-dashboard-page .portal-wallet-panel{grid-column:1 / -1}
  .portal-dashboard-page .portal-deposit-content{grid-template-columns:minmax(0,1fr) 150px}
  .portal-dashboard-page .portal-deposit-help-link{margin-left:auto}
  .portal-dashboard-page .portal-history-grid{gap:16px}
}
@media(max-width:610px){
  .portal-dashboard-page .wrap.portal-app{padding:0 13px 20px}
  .portal-dashboard-page .portal-main-header{margin:0 -13px;padding:14px 13px;grid-template-columns:1fr auto;gap:9px}
  .portal-dashboard-page .portal-identity .brand-logo{width:34px;height:34px}
  .portal-dashboard-page .portal-identity{gap:8px}
  .portal-dashboard-page .portal-identity .brand{font-size:21px}
  .portal-dashboard-page .portal-brand-caption{font-size:7px;letter-spacing:.1em}
  .portal-dashboard-page .portal-main-actions{border:0;padding-left:0;grid-row:1}
  .portal-dashboard-page .portal-logout{min-width:0;font-size:12px;padding:8px 10px;min-height:37px}
  .portal-dashboard-page .portal-logout svg{width:16px;height:16px}
  .portal-dashboard-page .portal-main-nav{grid-column:1 / -1;grid-row:2;justify-self:center;gap:12px}
  .portal-dashboard-page .portal-main-nav a,.portal-dashboard-page .portal-nav-current{font-size:12px;padding:9px 8px}
  .portal-dashboard-page .portal-hero{min-height:unset;padding:36px 8px 28px}
  .portal-dashboard-page .portal-hero::before{right:15px}
  .portal-dashboard-page .portal-hero::after{right:-40px}
  .portal-dashboard-page .portal-main-grid,.portal-dashboard-page .portal-primary-column,.portal-dashboard-page .portal-sidebar{gap:14px}
  .portal-dashboard-page .portal-sidebar,.portal-dashboard-page .portal-history-grid{grid-template-columns:1fr}
  .portal-dashboard-page .portal-wallet-panel{grid-column:auto}
  .portal-dashboard-page .card.portal-panel{padding:20px 17px;border-radius:13px}
  .portal-dashboard-page .portal-panel-heading{gap:12px;margin-bottom:18px}
  .portal-dashboard-page .portal-panel-icon{flex-basis:43px;width:43px;height:43px}
  .portal-dashboard-page .portal-panel-icon svg{width:23px;height:23px}
  .portal-dashboard-page .portal-panel-heading h2{font-size:19px}
  .portal-dashboard-page .portal-deposit-help-link{margin-left:55px}
  .portal-dashboard-page .portal-deposit-content{grid-template-columns:1fr}
  .portal-dashboard-page .portal-qr-frame{flex-direction:row}
  .portal-dashboard-page .portal-history-grid{gap:14px;margin-top:14px}
  .portal-dashboard-page .items .item{align-items:flex-start;flex-wrap:wrap;padding:12px}
  .portal-dashboard-page .items .item>button{margin-left:auto}
}
@media(max-width:380px){
  .portal-dashboard-page .portal-main-header{gap:5px}
  .portal-dashboard-page .portal-identity .brand{font-size:18px}
  .portal-dashboard-page .portal-identity .brand-logo{width:29px;height:29px}
  .portal-dashboard-page .portal-deposit-help-link{margin-left:0}
  .portal-dashboard-page .portal-data-field .copyrow{flex-wrap:wrap}
  .portal-dashboard-page .portal-data-field .copyrow button{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.portal-dashboard-page *{transition:none!important}}
