/* KEYSTONE UI LOCK v14.0.8
   One font + contrast hardening. No business logic/data changes. */
html,body,button,input,select,textarea,table,th,td,label,a,p,span,small,b,strong,h1,h2,h3,h4,h5,h6,div,section,nav,aside,main,pre,code{
  font-family:Arial,sans-serif !important;
}

/* APP: dark institutional UI */
body.ks-app{color:#edf6f1!important}
body.ks-app .main,body.ks-app .page{color:#edf6f1!important}
body.ks-app .page h1,body.ks-app .page h2,body.ks-app .page h3,body.ks-app .page h4,
body.ks-app .page b,body.ks-app .page strong{color:#f5f1e7!important}
body.ks-app .page p,body.ks-app .page small,body.ks-app .page label{color:#9fb6ad!important}
body.ks-app .card,body.ks-app .panel,body.ks-app .rankBox{color:#edf6f1!important}
body.ks-app .card.stat h2,body.ks-app .stat h2{color:#ffffff!important;text-shadow:0 1px 0 rgba(0,0,0,.15)}
body.ks-app .card.stat small,body.ks-app .stat small{color:#9fb6ad!important}
body.ks-app .card.stat span,body.ks-app .stat span{color:#f5f1e7!important}
body.ks-app .table td{color:#eaf1ed!important}
body.ks-app .table th{color:#f0d27d!important}
body.ks-app .head b{color:#f0d27d!important}
body.ks-app .head span{color:#e8eee9!important}
body.ks-app .status-box{color:#c7d5ce!important}
body.ks-app .network b,body.ks-app .rule div{color:#edf6f1!important}
body.ks-app .network small{color:#9fb6ad!important}
body.ks-app .modal-v10{color:#edf6f1!important}
body.ks-app .modal-card-v10{color:#edf6f1!important;background:#08231d!important}
body.ks-app .modal-card-v10 h2,body.ks-app .modal-card-v10 h3,body.ks-app .modal-card-v10 h4{color:#f1d27c!important}
body.ks-app .modal-card-v10 .stat h2{color:#ffffff!important}
body.ks-app .modal-card-v10 .stat span{color:#ffffff!important}
body.ks-app .modal-card-v10 .stat small{color:#9fb6ad!important}
body.ks-app .modal-card-v10 td{color:#edf6f1!important}
body.ks-app .modal-card-v10 th{color:#f0d27d!important}
body.ks-app input,body.ks-app select,body.ks-app textarea{color:#f5f0e4!important;background:#09231d!important}
body.ks-app input::placeholder,body.ks-app textarea::placeholder{color:#89a097!important;opacity:1}
body.ks-app option{background:#09231d!important;color:#f5f0e4!important}
body.ks-app .btn2{color:#f5f0e4!important}
body.ks-app .primary,body.ks-app .primary2{color:#102018!important}

/* ADMIN: prevent dark text on dark cards */
body.ks-admin{color:#edf6f1!important}
body.ks-admin main,body.ks-admin .card{color:#edf6f1!important}
body.ks-admin h1,body.ks-admin h2,body.ks-admin h3,body.ks-admin h4{color:#f1d27c!important}
body.ks-admin .stat b{color:#ffffff!important}
body.ks-admin .stat small,body.ks-admin .muted,body.ks-admin label{color:#9fb6ad!important}
body.ks-admin td{color:#e5efea!important}
body.ks-admin th{color:#f0d27d!important}
body.ks-admin input,body.ks-admin select,body.ks-admin textarea{color:#ffffff!important;background:#061b16!important}
body.ks-admin input::placeholder,body.ks-admin textarea::placeholder{color:#8fa79d!important;opacity:1}
body.ks-admin option{background:#061b16!important;color:#fff!important}
body.ks-admin pre,body.ks-admin code{color:#dce8e2!important}
body.ks-admin button.secondary{color:#ffffff!important}
body.ks-admin button.action:not(.secondary){color:#10231c!important}

/* AUTH: explicit light/dark contrast so login/reset/register cannot inherit app colors */
body.ks-auth .auth-brand{color:#ffffff!important}
body.ks-auth .auth-brand h1,body.ks-auth .auth-brand h2,body.ks-auth .auth-brand h3{color:#ffffff!important}
body.ks-auth .auth-brand p,body.ks-auth .auth-points div,body.ks-auth .auth-brand small{color:#dce8e2!important}
body.ks-auth .auth-copy .kicker{color:#dfbf69!important}
body.ks-auth .auth-form-wrap{color:#10231c!important}
body.ks-auth .auth-card{color:#10231c!important;background:#ffffff!important}
body.ks-auth .auth-card h1,body.ks-auth .auth-card h2,body.ks-auth .auth-card h3{color:#062219!important}
body.ks-auth .auth-card p,body.ks-auth .auth-card .sub,body.ks-auth .auth-card .alt{color:#52675d!important}
body.ks-auth .auth-card label{color:#40574c!important}
body.ks-auth .auth-card input,body.ks-auth .auth-card select,body.ks-auth .auth-card textarea{background:#fffdf8!important;color:#10231c!important}
body.ks-auth .auth-card input::placeholder,body.ks-auth .auth-card textarea::placeholder{color:#778b81!important;opacity:1}
body.ks-auth .auth-card .submit{color:#10231c!important}
body.ks-auth .auth-card a{color:#0f5c47!important}
body.ks-auth .top-link{color:#40574c!important}
body.ks-auth .msg{font-weight:700}

/* Public/landing: only lock typography; preserve existing page palette. */
body.ks-site{font-family:Arial,sans-serif!important}

@media(max-width:700px){
  body.ks-app .modal-card-v10{width:100%!important}
  body.ks-app .grid4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== KEYSTONE V14.2.0 MOBILE RESPONSIVE LOCK ===== */
html,body{width:100%;max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%}
html,body,button,input,select,textarea,table,th,td,label,a,p,span,small,b,strong,h1,h2,h3,h4,h5,h6,div,section,nav,aside,main,pre,code{font-family:Arial,sans-serif!important}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img,video,canvas,svg{max-width:100%;height:auto}
.mobile-menu-btn{display:none;border:0;background:transparent;color:inherit;font:inherit;font-size:24px;line-height:1;padding:8px;border-radius:8px;flex:0 0 auto}
.mobile-nav-overlay{display:none}

@media(max-width:760px){
  html,body,.app,.main,.page{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.mobile-nav-open{overflow:hidden!important;touch-action:none}
  .main{margin-left:0!important}
  .page{padding:12px!important;margin:0!important}
  .top{height:64px!important;width:100%!important;max-width:100vw!important;padding:0 10px!important;gap:8px!important;overflow:hidden!important}
  .mobile-menu-btn{display:grid!important;place-items:center;color:#eaf3ee!important;width:42px;height:42px;z-index:42}
  .global-search-wrap{display:block!important;flex:1 1 auto!important;width:auto!important;max-width:none!important;margin:0!important}
  .global-search{display:flex!important;width:100%!important;max-width:100%!important;min-height:42px!important;padding:0 6px!important}
  .global-search input{width:100%!important;min-width:0!important;font-size:16px!important;padding:8px!important}
  .global-search button{padding:8px 10px!important;white-space:nowrap!important}
  .topright{margin-left:0!important;gap:7px!important;flex:0 0 auto!important;white-space:nowrap!important;font-size:0!important}
  .topright>.user{display:flex!important}.topright>.user>div:last-child{display:none!important}
  .topright>#logoutBtn{display:none!important}
  .avatar{width:38px!important;height:38px!important;font-size:14px!important}

  .sidebar{display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(82vw,320px)!important;max-width:320px!important;transform:translateX(-105%);transition:transform .22s ease;z-index:1001!important;overflow-y:auto!important;overflow-x:hidden!important;box-shadow:18px 0 50px rgba(0,0,0,.35)}
  .sidebar.mobile-open{transform:translateX(0)!important}
  .sidebar .brand{height:76px!important}.sidebar .brand .ks-logo-panel{width:190px!important;height:60px!important}.sidebar .brand .ks-logo-panel img{max-width:165px!important;max-height:50px!important}
  .sidebar .nav a{justify-content:flex-start!important}.sidebar .nav a span:not(.i),.sidebar .nav-title,.sidebar .support{display:block!important}
  .mobile-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:1000;display:block!important;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .mobile-nav-overlay.show{opacity:1;pointer-events:auto}

  #overview .inst-titlebar{display:none!important}
  .keytech-intro{display:block!important;width:100%!important;padding:16px!important;margin:0 0 12px!important;border-radius:14px!important}
  .keytech-intro h2{font-size:22px!important;line-height:1.28!important;overflow-wrap:anywhere}
  .keytech-intro p{font-size:14px!important;line-height:1.55!important}
  .keytech-intro-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .keytech-intro-actions button{width:100%!important;min-height:46px!important;font-size:15px!important}
  .keytech-intro-points{display:none!important}

  #overview .market-strip{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;overflow:visible!important}
  #overview .market-tile{width:100%!important;min-width:0!important;padding:13px!important;overflow:hidden!important}
  #overview .market-tile b,#overview .market-tile strong,#overview .market-tile small{overflow-wrap:anywhere;white-space:normal!important}
  #overview .market-tile strong{font-size:16px!important}

  #overview .inst-grid,#overview .bottom-grid,#overview .signals-col{display:block!important;width:100%!important}
  #overview .inst-card{width:100%!important;max-width:100%!important;margin-bottom:10px!important;overflow:hidden!important}
  #overview .watch-col{display:none!important}
  #overview .trade-main{display:block!important;width:100%!important;padding:12px!important}
  #overview .trade-main .quote{display:block!important;width:100%!important;margin-bottom:12px!important}
  #overview .trade-main .quote h2{font-size:25px!important;line-height:1.15!important;margin:8px 0!important}
  #overview .chart-v9{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;height:auto!important;min-height:0!important;width:100%!important;overflow:visible!important;padding:0!important;background:none!important;border:0!important}
  #overview .chart-v9 .card{width:100%!important;min-height:92px!important;margin:0!important}
  #overview .trade-main>div:last-child{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;padding-top:10px!important;font-size:11px!important}
  #overview .inst-head{display:flex!important;align-items:flex-start!important;gap:8px!important;flex-wrap:wrap!important}
  #overview .inst-head span{white-space:normal!important;text-align:left!important}
  #overview .signals-col{margin-top:10px!important}

  .grid4,.features,.memberGrid,.contentGrid,.two,.three,.heroRow{grid-template-columns:1fr!important}
  .grid4{gap:9px!important}
  .card,.panel,.rankBox{max-width:100%!important}
  .table-wrap,.table-responsive,[class*="table-wrap"]{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  table{max-width:none}
  input,select,textarea,button{max-width:100%!important}
  input,select,textarea{font-size:16px!important}
}

@media(max-width:390px){
  #overview .market-strip{grid-template-columns:1fr!important}
  .page{padding:10px!important}
  .keytech-intro h2{font-size:20px!important}
}

/* ===== KEYSTONE V14.2.1 MOBILE HOTFIX — based on current deployed source ===== */
@media (max-width:760px){
  /* Never restore the old 01/02/03 overview blocks on phone */
  body.ks-app #overview .keytech-intro-points{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

  /* Mobile header: standard compact shell */
  body.ks-app .top{display:flex!important;align-items:center!important;position:sticky!important;top:0!important;left:0!important;right:0!important;max-width:100vw!important;overflow:hidden!important}
  body.ks-app #mobileMenuBtn.mobile-menu-btn{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;padding:0!important;margin:0!important;border:1px solid rgba(216,178,79,.25)!important;border-radius:10px!important;background:#08251e!important;color:#f5f0e4!important;box-shadow:none!important;font-size:23px!important;line-height:1!important;appearance:none!important;-webkit-appearance:none!important}
  body.ks-app .global-search-wrap{min-width:0!important;overflow:hidden!important}
  body.ks-app .global-search{min-width:0!important;overflow:hidden!important}
  body.ks-app .global-search input{min-width:0!important;width:100%!important}

  /* Strict viewport lock. Only explicit data tables may scroll horizontally. */
  body.ks-app,body.ks-app .app,body.ks-app .main,body.ks-app .page,body.ks-app #overview{overflow-x:hidden!important;max-width:100vw!important}
  body.ks-app #overview>*{max-width:100%!important}
  body.ks-app .keytech-intro,body.ks-app .market-strip,body.ks-app .inst-grid,body.ks-app .bottom-grid{width:100%!important;max-width:100%!important}
  body.ks-app .keytech-intro-copy,body.ks-app .market-tile,body.ks-app .inst-card{min-width:0!important;max-width:100%!important}
  body.ks-app h1,body.ks-app h2,body.ks-app h3,body.ks-app p,body.ks-app span,body.ks-app small,body.ks-app strong{overflow-wrap:anywhere}
}
/* V14.2.2 Dashboard requirement patch */
.member-pool-detail .grid4 .stat h3{font-size:20px;margin:8px 0;color:#fff}
@media(max-width:600px){
  #memberRankHero>div[style*="justify-content:space-between"]{display:block!important}
  .member-pool-detail .grid4{grid-template-columns:1fr 1fr!important}
  .member-pool-detail .card.stat{min-height:132px}
}
@media(max-width:390px){.member-pool-detail .grid4{grid-template-columns:1fr!important}}


/* KEYSTONE V14.2.3 — RESTORE COLLAPSE/EXPAND */
#member .card.panel.member-collapsible > .head{
  display:flex;
  align-items:center;
  gap:10px;
}
#member .card.panel.member-collapsible > .head .member-collapse-btn{
  margin-left:auto;
  flex:0 0 auto;
  min-width:92px;
  min-height:36px;
  padding:8px 12px;
  border:1px solid rgba(226,184,73,.55);
  border-radius:9px;
  background:rgba(4,48,38,.92);
  color:#f3cd62;
  font:700 13px/1 Arial,sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
#member .card.panel.member-collapsible.member-collapsed > :not(.head){
  display:none !important;
}
#member .card.panel.member-collapsible.member-collapsed{
  padding-bottom:12px;
}
@media (max-width:760px){
  #member .card.panel.member-collapsible > .head{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  #member .card.panel.member-collapsible > .head .member-collapse-btn{
    margin-left:auto;
    min-height:40px;
    padding:9px 12px;
  }
}
\n\n/* KEYSTONE V14.2.4 — GLOBAL LONG LIST COLLAPSE */\n.card.panel.global-long-collapsible > .head{display:flex;align-items:center;gap:10px}\n.card.panel.global-long-collapsible > .head .global-collapse-btn{margin-left:auto;flex:0 0 auto;min-width:92px;min-height:36px;padding:8px 12px;border:1px solid rgba(226,184,73,.55);border-radius:9px;background:#082a22;color:#f3cd62;font:700 13px/1 Arial,sans-serif;cursor:pointer;white-space:nowrap}\n.card.panel.global-long-collapsible.global-list-collapsed > :not(.head){display:none!important}\n.card.panel.global-long-collapsible.global-list-collapsed{padding-bottom:12px}\n@media(max-width:760px){.card.panel.global-long-collapsible > .head{align-items:flex-start;flex-wrap:wrap}.card.panel.global-long-collapsible > .head .global-collapse-btn{min-height:40px;padding:9px 12px}}\n