/* ═══════════════════════════════════════════════════════════════
   HK IPO Allotment — Index Page Styles
   Shared styles are in base.css (loaded first).
   ═══════════════════════════════════════════════════════════════ */

/* ── Header ────────────────────────────────────────────────── */
.hdr{
box-shadow:0 1px 20px rgba(var(--c-text-rgb),0.08);
padding:0 0 10px;transition:background .3s}
.hdr .sub b{color:var(--c-text);font-weight:600}
body.light .hdr .sub b{color:rgba(var(--c-text-rgb),0.75)}

/* ── Stats ─────────────────────────────────────────────────── */
.stats{font-size:11px;color:var(--c-text);padding:14px var(--cl-panel-inline,40px) 0;
max-width:1400px;margin:0 auto;letter-spacing:1px;
font-family:var(--font-mono)}
.stats::before{content:'> ';color:var(--c-sub)}
body.light .stats{color:rgba(var(--c-text-rgb),0.65)}
body.light .stats::before{color:rgba(var(--c-blue-rgb),0.5)}

/* ── Search ────────────────────────────────────────────────── */
.search-box{margin:10px var(--cl-panel-inline,40px) 0;max-width:1400px;
margin-left:auto;margin-right:auto;position:relative}
.search-box .s-icon{position:absolute;left:12px;top:50%;
transform:translateY(-50%);font-size:12px;
color:var(--c-text);pointer-events:none;z-index:1}
body.light .search-box .s-icon{color:rgba(var(--c-text-rgb),0.65)}
.search-box input{width:100%;padding:10px 14px;
background:rgba(var(--c-text-rgb),0.3);color:#FFFFFF;font-size:14px;
font-family:inherit;outline:none;transition:all .25s;
border-top:1px solid transparent;border-bottom:1px solid transparent;
border-left:1px solid var(--c-accent);border-right:1px solid var(--c-accent);
caret-color:var(--c-accent);border-radius:0}
.search-box input:focus{background:rgba(var(--c-text-rgb),0.45);border-left-color:rgba(var(--c-text-rgb),0.6);border-right-color:rgba(var(--c-text-rgb),0.6);
box-shadow:0 0 16px rgba(var(--c-text-rgb),0.08)}
.search-box input::placeholder{color:var(--c-sub)}
body.light .search-box input{background:#FFFFFF;color:var(--c-text);
border-left-color:rgba(var(--c-text-rgb),0.3);border-right-color:rgba(var(--c-text-rgb),0.3);caret-color:var(--c-accent)}
body.light .search-box input:focus{background:#FFFFFF;border-left-color:rgba(var(--c-text-rgb),0.5);border-right-color:rgba(var(--c-text-rgb),0.5);
box-shadow:0 0 16px rgba(var(--c-text-rgb),0.08)}
body.light .search-box input::placeholder{color:rgba(var(--c-text-rgb),0.65)}

/* ── Filter Bar ───────────────────────────────────────────────── */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding:10px var(--cl-panel-inline,40px) 0;max-width:1400px;margin:0 auto}
.filter-select{background:rgba(var(--c-text-rgb),0.08);border:1px solid rgba(var(--c-text-rgb),0.25);
  color:var(--c-text);padding:6px 10px;font-size:11px;font-family:inherit;
  border-radius:3px;cursor:pointer;transition:all .25s;min-width:100px}
.filter-select:hover{border-color:var(--c-accent);background:rgba(var(--c-text-rgb),0.12)}
.filter-select:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 8px rgba(var(--c-text-rgb),0.1)}
body.light .filter-select{background:rgba(242,244,248,0.8);border-color:rgba(var(--c-text-rgb),0.2);color:rgba(var(--c-text-rgb),0.65)}
body.light .filter-select:hover{background:rgba(242,244,248,0.95);border-color:rgba(var(--c-text-rgb),0.35);color:rgba(var(--c-text-rgb),0.8)}
body.light .filter-select:focus{border-color:rgba(var(--c-text-rgb),0.5);box-shadow:0 0 8px rgba(var(--c-text-rgb),0.1)}

/* ── Grid ──────────────────────────────────────────────────── */
.grid{display:grid;
grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
gap:8px;padding:18px var(--cl-panel-inline,40px) 20px;
max-width:1400px;margin:0 auto}

/* ── Pagination ──────────────────────────────────────────────── */
.pagination{display:flex;justify-content:center;align-items:center;gap:4px;padding:0 0 18px;flex-wrap:wrap}
.page-btn{display:inline-flex;align-items:center;justify-content:center;
  min-width:28px;height:26px;padding:0 6px;
  border:1px solid rgba(var(--c-text-rgb),0.15);border-radius:3px;
  background:transparent;color:var(--c-sub);
  font-size:11px;font-family:var(--font-mono);cursor:pointer;
  transition:all .2s;user-select:none}
.page-btn:hover{border-color:rgba(var(--c-text-rgb),0.4);color:var(--c-text);background:rgba(var(--c-text-rgb),0.06)}
.page-btn.active{border-color:var(--c-accent);color:var(--c-text);background:rgba(var(--c-text-rgb),0.1)}
.page-btn.disabled{opacity:0.25;cursor:default;pointer-events:none}
.page-ellipsis{color:var(--c-sub);font-size:11px;padding:0 2px}
body.light .page-btn{border-color:rgba(var(--c-text-rgb),0.15);color:var(--c-sub)}
body.light .page-btn:hover{border-color:rgba(var(--c-text-rgb),0.35);color:var(--c-accent);background:rgba(var(--c-text-rgb),0.05)}
body.light .page-btn.active{border-color:var(--c-accent);color:var(--c-accent);background:rgba(var(--c-text-rgb),0.08)}
body.light .page-btn.disabled{opacity:0.2}
body.light .page-ellipsis{color:var(--c-sub)}

/* ── Cards ─────────────────────────────────────────────────── */
.card{background:rgba(var(--c-bg-rgb),0.6);border:1px solid rgba(var(--c-text-rgb),0.12);
padding:16px 18px;position:relative;
transition:all .3s ease;border-radius:3px}
.card:hover{border-color:rgba(var(--c-text-rgb),0.55);
background:rgba(var(--c-bg-rgb),0.65);
box-shadow:0 0 18px rgba(var(--c-text-rgb),0.08)}
.card:active{transform:scale(0.99)}
body.light .card{background:rgba(var(--c-bg-rgb),0.6);border:1px solid rgba(var(--c-text-rgb),0.12)}
body.light .card:hover{background:rgba(var(--c-bg-rgb),0.7);
border-color:rgba(var(--c-text-rgb),0.25);
box-shadow:0 0 18px rgba(var(--c-text-rgb),0.08)}
/* left accent strip */
.card::before{content:'';position:absolute;left:-1px;top:10%;height:80%;width:2px;

transition:all .3s}
.card:hover::before{top:5%;height:90%;
}
body.light .card::before{}
body.light .card:hover::before{}
.mech-badge{font-size:10px;font-weight:500;color:var(--c-text);background:rgba(var(--c-text-rgb),0.08);padding:1px 6px;border-radius:3px;border:1px solid rgba(var(--c-text-rgb),0.2);white-space:nowrap}
body.light .mech-badge{color:var(--c-sub);background:rgba(var(--c-text-rgb),0.08);border-color:rgba(var(--c-text-rgb),0.2)}
.dual-badge{font-size:10px;font-weight:600;color:var(--c-accent);background:rgba(var(--c-accent-rgb),0.08);padding:1px 6px;border-radius:3px;border:1px solid rgba(var(--c-accent-rgb),0.25);white-space:nowrap}
body.light .dual-badge{color:var(--c-accent);background:rgba(var(--c-accent-rgb),0.06);border-color:rgba(var(--c-accent-rgb),0.2)}

/* ── Full-width panel (index page) ─────────────────────── */
.full-panel{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--cl-panel-inline,40px) 20px}
.full-panel .stats{padding:14px 0 0}
.full-panel .search-box{margin:10px 0 0}
.full-panel .grid{padding:18px 0 20px;max-width:none;gap:12px}

/* ── Market overview charts ─────────────────────────────── */
.market-overview-charts{max-width:1200px;margin:0 auto;padding:12px var(--cl-panel-inline,40px) 20px}
.market-overview-charts h2{font-size:14px;margin-bottom:10px;padding-bottom:6px}
.market-overview-charts .chart-box{padding:8px 10px;margin-bottom:6px}
.market-overview-charts .chart-box h3{font-size:11px;margin-bottom:4px}
.market-overview-charts .chart-box .cb{height:380px}
.market-overview-charts #cx4.cb{height:360px}
.market-overview-charts .cbf.cb{height:520px}

/* ── Split Layout (legacy, used by analysis pages) ──────── */
.layout-wrapper{display:flex;max-width:1400px;margin:0 auto;align-items:flex-start}
.left-panel{width:75%;min-width:480px;padding:0 14px 20px var(--cl-panel-inline,40px);flex-shrink:0}
.right-panel{width:25%;padding:0 var(--cl-panel-inline,40px) 20px 14px;min-width:0}
.right-panel .stats{padding:14px 0 0}
.right-panel .search-box{margin:10px 0 0}
.right-panel{overflow-x:hidden}.right-panel .grid{padding:18px 0 20px;max-width:none;gap:0}
.right-panel .card{border-bottom:1px solid var(--c-accent)}
body.light .right-panel .card{border-bottom-color:var(--c-accent)}
.left-panel .chart-section{margin:12px 0 0}
.left-panel .chart-section h2{font-size:14px;margin-bottom:10px;padding-bottom:6px}
.left-panel .chart-box{padding:8px 10px;margin-bottom:6px}
.left-panel .chart-box h3{font-size:11px;margin-bottom:4px}
.left-panel .chart-box .cb{height:380px}
.left-panel #cx4.cb{height:360px}
.left-panel .cbf.cb{height:520px}
.chart-note summary{font-size:9px;color:var(--c-text);cursor:pointer;opacity:0.5;user-select:none;margin-top:2px;transition:opacity .2s;font-family:var(--font-mono);letter-spacing:.5px}
.chart-note summary:hover{opacity:1}
.chart-note .note{font-size:10px;line-height:1.5;margin-top:4px;padding:2px 0}
body.light .chart-note summary{color:rgba(var(--c-text-rgb),0.65)}
.left-panel .chart-note .note{font-size:8px;line-height:1.4}
.footer-inner{max-width:1400px;margin:0 auto;padding:0 40px}

/* ── Recent Stocks ────────────────────────────────────────── */
.recent-section{max-width:1400px;margin:0 auto;padding:18px var(--cl-panel-inline,40px) 8px}
.recent-header{font-size:15px;color:var(--c-text);font-weight:600;letter-spacing:1px;margin-bottom:10px}
.recent-header .recent-sub{font-size:10px;color:var(--c-text);font-weight:400;letter-spacing:.5px}
body.light .recent-header{color:var(--c-text)}
body.light .recent-header .recent-sub{color:rgba(var(--c-text-rgb),0.65)}
.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.recent-card{background:rgba(var(--c-bg-rgb),0.6);border:1px solid var(--c-accent);padding:12px 14px;position:relative;transition:all .3s;border-radius:3px}
.recent-card:hover{border-color:var(--c-accent);background:rgba(var(--c-bg-rgb),0.65);box-shadow:0 0 18px rgba(var(--c-text-rgb),0.08)}
body.light .recent-card{background:rgba(var(--c-bg-rgb),0.6);border:1px solid var(--c-accent)}
body.light .recent-card:hover{background:rgba(var(--c-bg-rgb),0.7);border-color:var(--c-accent)}
.recent-card::before{content:'';position:absolute;left:-1px;top:10%;height:80%;width:2px;transition:all .3s}
.recent-card:hover::before{top:5%;height:90%;}
body.light .recent-card::before{}
body.light .recent-card:hover::before{}
.rc-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.rc-header .card-logo{width:32px;height:32px;border-radius:4px;object-fit:contain}
/* Card logo as armored-purple watermark: pinned right, behind text/tags */
body .recent-card .card-logo{position:absolute;right:10px;top:10px;width:88px;height:88px;object-fit:contain;border-radius:0;pointer-events:none;filter:none}
body.light .recent-card .card-logo{filter:brightness(1.15);opacity:.14}
body:not(.light) .recent-card .card-logo{opacity:.24}
.recent-card .rc-header,.recent-card .rc-name-row,.recent-card .rc-meta,.recent-card .btns{position:relative;z-index:1}
.recent-card .rc-header:empty{display:none}
.rc-code{font-size:10px;color:var(--c-sub);letter-spacing:1px}
body.light .rc-code{color:rgba(var(--c-text-rgb),0.65)}
.rc-badge{font-size:9px;background:rgba(var(--c-text-rgb),0.1);color:var(--c-text);padding:1px 6px;border-radius:2px;font-weight:600;letter-spacing:.5px;line-height:1.4}
body.light .rc-badge{background:rgba(var(--c-text-rgb),0.08);color:var(--c-accent)}
.rc-badge.status-subscribing{background:rgba(var(--c-blue-rgb),0.12);color:var(--c-blue)}
.rc-badge.status-pending{background:rgba(var(--c-accent-rgb),0.12);color:var(--c-accent)}
.rc-badge.status-upcoming{background:rgba(var(--c-pink-rgb),0.12);color:var(--c-pink)}
.rc-badge.status-realloc{background:rgba(var(--c-red-rgb),0.12);color:var(--c-red)}
.rc-badge.status-cancelled{background:rgba(var(--c-red-rgb),0.16);color:var(--c-red)}
.rc-badge.status-delayed{background:rgba(var(--c-teal-rgb),0.16);color:var(--c-teal)}
.board-badge{font-size:10px;font-weight:500;color:rgba(var(--c-teal-rgb),0.8);background:rgba(var(--c-teal-rgb),0.08);padding:1px 6px;border-radius:3px;border:1px solid rgba(var(--c-teal-rgb),0.2);white-space:nowrap}
body.light .board-badge{color:var(--c-teal-dark);background:rgba(0,121,107,0.06);border-color:rgba(0,121,107,0.18)}
.ai-badge{font-size:10px;font-weight:600;color:var(--c-red);background:rgba(var(--c-red-rgb),0.08);padding:1px 6px;border-radius:3px;border:1px solid rgba(var(--c-red-rgb),0.2);text-decoration:none;white-space:nowrap;transition:all .2s}
.ai-badge:hover{background:rgba(var(--c-red-rgb),0.15);color:var(--c-red)}
body.light .ai-badge{background:rgba(var(--c-red-dark-rgb),0.05);border-color:rgba(var(--c-red-dark-rgb),0.12);color:rgba(var(--c-red-dark-rgb),0.8)}
body.light .ai-badge:hover{background:rgba(var(--c-red-dark-rgb),0.1)}
.rc-name-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px}
.rc-name{font-size:14px;font-weight:600;color:var(--c-text)}
body.light .rc-name{color:var(--c-text)}
.rc-meta{font-size:10px;color:var(--c-text);margin-bottom:8px;letter-spacing:.3px}
body.light .rc-meta{color:rgba(var(--c-text-rgb),0.65)}
.stock-link{text-decoration:none;color:inherit}
.fd-badge{font-size:10px}
.countdown{display:block;font-size:10px;color:var(--c-blue);margin-bottom:6px;letter-spacing:.3px}
.recent-card .btn{font-size:10px;padding:3px 10px}

/* ── Cross-stock charts ────────────────────────────────────── */
.chart-section{margin:24px var(--cl-panel-inline,40px) 0;max-width:1400px;margin-left:auto;margin-right:auto}
.chart-section h2{font-size:18px;color:var(--c-text);margin-bottom:16px;padding:0 0 8px;border-bottom:1px solid var(--c-accent);font-weight:600;letter-spacing:1px}
body.light .chart-section h2{color:var(--c-text);border-bottom-color:var(--c-accent)}
.chart-box{background:transparent;border-left:1px solid rgba(var(--c-text-rgb),0.14);
    border-right:1px solid rgba(var(--c-text-rgb),0.14);border-bottom:1px solid var(--c-accent);
    border-top:1px solid rgba(var(--c-text-rgb),0.14);padding:16px;margin-bottom:12px;border-radius:3px}
body.light .chart-box{background:transparent;border-left:1px solid rgba(var(--c-text-rgb),0.12);
    border-right:1px solid rgba(var(--c-text-rgb),0.12);border-bottom:1px solid var(--c-accent);
    border-top:1px solid rgba(var(--c-text-rgb),0.12)}
.chart-box h3{font-size:13px;color:var(--c-text);margin-bottom:8px;font-weight:500}
.chart-legend-inline{font-size:11px;margin-left:6px;vertical-align:middle}
body.light .chart-box h3{color:var(--c-text)}
.chart-box .cb{width:100%;height:720px}
@media(max-width:768px){.chart-box .cb{height:560px}}
.chart-box .note{font-size:10px;color:var(--c-text);margin-top:8px;line-height:1.5}
body.light .chart-box .note{color:rgba(var(--c-text-rgb),0.65)}

/* ── Tablet Responsive ──────────────────────────────────────── */
@media(max-width:1024px){
.recent-section{padding:14px var(--cl-panel-inline,20px) 6px}
.recent-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.layout-wrapper{flex-direction:column}
.left-panel{width:100%;min-width:0;padding:0 var(--cl-panel-inline,20px) 0;height:auto;overflow:visible}
.right-panel{width:100%;padding:0 var(--cl-panel-inline,20px) 16px}
.full-panel{padding:0 var(--cl-panel-inline,20px) 16px}
.market-overview-charts{padding:12px var(--cl-panel-inline,20px) 16px}
.market-overview-charts .chart-box .cb{height:560px}
.market-overview-charts #cx4.cb{height:800px}
.market-overview-charts .cbf.cb{height:680px}
.right-panel .stats{padding:10px 0 0}
.left-panel .chart-section{margin:16px 0 0}
.left-panel .chart-section h2{font-size:16px}
.left-panel .chart-box .cb{height:560px}
.left-panel #cx4.cb{height:800px}
.left-panel .cbf.cb{height:680px}
.left-panel .chart-note .note{font-size:10px;line-height:1.5}
.left-panel .chart-note summary{font-size:10px}
.right-panel .search-box{margin:6px 0 0}
.right-panel .grid{padding:14px 0 16px}
.footer-inner{padding:0 20px}
.freeze-timeline-section{padding:14px var(--cl-panel-inline,20px) 6px}
.freeze-module-toggle{font-size:14px}
}

/* ── Mobile Responsive ─────────────────────────────────────── */
@media(max-width:768px){
.filter-bar{padding:8px var(--cl-panel-inline,16px) 0;gap:6px}
.filter-select{font-size:10px;padding:5px 8px;min-width:0;flex:1}
.recent-section{padding:12px var(--cl-panel-inline,16px) 4px}
.recent-grid{grid-template-columns:1fr;gap:6px}
.recent-card{padding:10px 12px}
.left-panel{padding:0 var(--cl-panel-inline,16px) 0}
.right-panel{padding:0 var(--cl-panel-inline,16px) 12px}
.full-panel{padding:0 var(--cl-panel-inline,16px) 12px}
.market-overview-charts{padding:8px var(--cl-panel-inline,16px) 12px}
.market-overview-charts .chart-box .cb{height:320px}
.market-overview-charts .cbf.cb{height:400px}
.left-panel .stats{padding:10px 0 0}
.left-panel .chart-box .cb{height:320px}
.left-panel #cx4.cb{height:360px}
.left-panel .cbf.cb{height:400px}
.right-panel .grid{grid-template-columns:1fr;padding:12px 0 14px;gap:0}.card{padding:12px;gap:12px}
.full-panel .grid{grid-template-columns:1fr;gap:6px;padding:12px 0 14px}
.right-panel .search-box{margin:4px 0 0}
.footer-inner{padding:0 16px}
.freeze-timeline-section{padding:12px var(--cl-panel-inline,16px) 6px}
.freeze-module-toggle{font-size:14px}
}

.load-error{color:var(--c-red);padding:2rem}
body.light .load-error{color:var(--c-red-dark)}

/* ── Watchlist Toggle ──────────────────────────────────────── */
.watchlist-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);
  z-index:2;background:none;border:none;font-size:18px;cursor:pointer;
  color:#6e6e85;padding:2px 6px;line-height:1;transition:color .2s}
.watchlist-toggle:hover{color:var(--c-text)}
.watchlist-toggle.active{color:var(--c-pink);text-shadow:0 0 6px rgba(var(--c-pink-rgb),0.3)}
body.light .watchlist-toggle{color:#6e6e85}
body.light .watchlist-toggle:hover{color:var(--c-sub)}
body.light .watchlist-toggle.active{color:var(--c-accent);text-shadow:0 0 6px rgba(var(--c-pink-rgb),0.2)}

/* ── Recently Viewed Bar ────────────────────────────────────── */
.recently-viewed-bar{max-width:1400px;margin:4px 0 0;display:flex;align-items:center;gap:8px;
  padding:6px 0;overflow:hidden}
.rv-label{font-size:10px;color:var(--c-sub);font-weight:600;letter-spacing:1px;
  flex-shrink:0;text-transform:uppercase}
body.light .rv-label{color:rgba(var(--c-text-rgb),0.6)}
.rv-scroll{display:flex;gap:6px;overflow-x:auto;flex:1;padding-bottom:4px;
  -ms-overflow-style:none;scrollbar-width:none}
.rv-scroll::-webkit-scrollbar{display:none}
.rv-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;
  background:rgba(var(--c-text-rgb),0.06);border:1px solid rgba(var(--c-text-rgb),0.12);
  border-radius:12px;font-size:11px;color:var(--c-text);cursor:pointer;
  white-space:nowrap;flex-shrink:0;transition:all .2s;text-decoration:none}
.rv-chip:hover{background:rgba(var(--c-text-rgb),0.12);border-color:rgba(var(--c-text-rgb),0.3);color:var(--c-text)}
.rv-chip .rv-star{font-size:10px;color:var(--c-pink)}
body.light .rv-chip{background:rgba(var(--c-text-rgb),0.04);border-color:rgba(var(--c-text-rgb),0.1);color:rgba(var(--c-text-rgb),0.65)}
body.light .rv-chip:hover{background:rgba(var(--c-text-rgb),0.1);border-color:rgba(var(--c-text-rgb),0.22);color:var(--c-accent)}


/* ── Auth Modal ──────────────────────────────────────────────── */
.auth-modal-overlay{display:none;position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,0.7);align-items:center;justify-content:center;
  backdrop-filter:blur(4px)}
.auth-modal-box{background:var(--c-text);border:1px solid rgba(var(--c-text-rgb),0.25);
  border-radius:6px;padding:28px 24px 20px;width:100%;max-width:380px;
  position:relative;box-shadow:0 8px 40px rgba(0,0,0,0.5)}
body.light .auth-modal-box{background:#fff;border-color:rgba(var(--c-text-rgb),0.2);
  box-shadow:0 8px 40px rgba(0,0,0,0.12)}
.auth-modal-close{position:absolute;top:8px;right:12px;
  background:none;border:none;font-size:22px;color:var(--c-sub);
  cursor:pointer;line-height:1;padding:0}
.auth-modal-close:hover{color:var(--c-text)}
body.light .auth-modal-close{color:var(--c-sub)}
body.light .auth-modal-close:hover{color:var(--c-accent)}
.auth-tabs{display:flex;gap:0;margin-bottom:18px;
  border-bottom:1px solid rgba(var(--c-text-rgb),0.15)}
.auth-tab{flex:1;padding:8px 0;background:none;border:none;
  color:var(--c-sub);font-size:14px;cursor:pointer;
  font-family:inherit;transition:all .2s;border-bottom:2px solid transparent}
.auth-tab:hover{color:var(--c-text)}
.auth-tab.active{color:var(--c-text);border-bottom-color:var(--c-accent)}
body.light .auth-tab{color:var(--c-sub)}
body.light .auth-tab:hover{color:var(--c-sub)}
body.light .auth-tab.active{color:var(--c-accent);border-bottom-color:var(--c-accent)}
.auth-form input{width:100%;padding:10px 12px;margin-bottom:10px;
  background:rgba(var(--c-text-rgb),0.06);border:1px solid rgba(var(--c-text-rgb),0.15);
  color:var(--c-text);font-size:13px;font-family:inherit;outline:none;
  border-radius:3px;transition:border-color .25s}
.auth-form input:focus{border-color:rgba(var(--c-text-rgb),0.4)}
.auth-form input::placeholder{color:var(--c-sub)}
body.light .auth-form input{background:rgba(242,244,248,0.6);
  border-color:rgba(var(--c-text-rgb),0.15);color:var(--c-text)}
body.light .auth-form input:focus{border-color:rgba(var(--c-text-rgb),0.4)}
body.light .auth-form input::placeholder{color:var(--c-sub)}
.auth-submit-btn{width:100%;padding:10px 0;margin-top:4px;
  background:rgba(var(--c-text-rgb),0.12);border:1px solid rgba(var(--c-text-rgb),0.3);
  color:var(--c-text);font-size:13px;font-family:inherit;cursor:pointer;
  border-radius:3px;transition:all .25s;font-weight:500;letter-spacing:.5px}
.auth-submit-btn:hover{background:rgba(var(--c-text-rgb),0.2);border-color:var(--c-accent);
  box-shadow:0 0 12px rgba(var(--c-text-rgb),0.1)}
.auth-submit-btn:disabled{opacity:0.4;cursor:default}
body.light .auth-submit-btn{background:rgba(var(--c-text-rgb),0.08);
  border-color:rgba(var(--c-text-rgb),0.25);color:var(--c-accent)}
body.light .auth-submit-btn:hover{background:rgba(var(--c-text-rgb),0.15);border-color:var(--c-accent)}
.auth-error{color:var(--c-red);font-size:11px;margin-bottom:10px;text-align:center}
body.light .auth-error{color:var(--c-red-dark)}
.auth-verify-msg{font-size:12px;color:var(--c-text);
  margin-bottom:12px;text-align:center;line-height:1.5}
body.light .auth-verify-msg{color:var(--c-sub)}

/* ── Freeze Timeline Module ── */
.freeze-timeline-section{margin:0 auto;max-width:1400px;padding:18px var(--cl-panel-inline,40px) 8px}

/* Module toggle — styled as section header */
.freeze-module-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin-bottom:12px;border:none;background:transparent;font-size:15px;font-weight:600;color:var(--c-text);letter-spacing:1px;font-family:inherit;cursor:pointer;transition:color .25s}
.freeze-module-toggle:hover{color:var(--c-text)}
body.light .freeze-module-toggle{color:var(--c-text);border-bottom-color:var(--c-accent)}
body.light .freeze-module-toggle:hover{color:rgba(var(--c-text-rgb),0.7)}
.freeze-module-arrow{display:inline-block;transition:transform .25s;font-size:12px;line-height:1}
.freeze-module-toggle.collapsed .freeze-module-arrow{transform:rotate(-90deg)}

/* Chart wrapper — brand purple solid border */
.freeze-chart-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--c-accent);border-radius:3px;background:rgba(var(--c-text-rgb),0.04)}
body.light .freeze-chart-wrapper{background:rgba(var(--c-text-rgb),0.02);border-color:var(--c-accent)}
.freeze-chart{min-width:100%}
.freeze-chart-header{display:flex;border-bottom:1px solid rgba(var(--c-text-rgb),0.15);position:sticky;top:0;background:rgba(var(--c-bg-rgb),0.97)}
body.light .freeze-chart-header{background:rgba(255,255,255,0.97);border-color:rgba(var(--c-text-rgb),0.1)}
.freeze-chart-label-col{min-width:130px;max-width:130px;flex-shrink:0}
@media(min-width:480px){.freeze-chart-label-col{min-width:150px;max-width:150px}}
.freeze-chart-date{flex:1;min-width:26px;text-align:center;font-size:10px;padding:6px 0;color:var(--c-text);border-left:1px solid rgba(var(--c-text-rgb),0.08)}
body.light .freeze-chart-date{color:rgba(var(--c-text-rgb),0.6);border-color:rgba(var(--c-text-rgb),0.06)}
.freeze-chart-date.holiday{background:rgba(var(--c-text-rgb),0.04);color:var(--c-sub)}
body.light .freeze-chart-date.holiday{background:rgba(var(--c-text-rgb),0.03);color:rgba(var(--c-text-rgb),0.65)}
.freeze-chart-date.today{background:rgba(var(--c-green-rgb),0.12);color:var(--c-green);font-weight:700}
body.light .freeze-chart-date.today{background:rgba(var(--c-green-rgb),0.08);color:var(--c-green-dark)}
.freeze-chart-row{display:flex;border-bottom:1px solid rgba(var(--c-text-rgb),0.06)}
body.light .freeze-chart-row{border-color:rgba(var(--c-text-rgb),0.04)}
.freeze-chart-label{min-width:130px;max-width:130px;flex-shrink:0;display:flex;align-items:center;padding:8px 8px;font-size:12px;line-height:1.3;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.freeze-chart-label a{color:rgba(255,255,255,0.85);text-decoration:none;overflow:hidden;text-overflow:ellipsis}
.freeze-chart-label a:hover{color:var(--c-text)}
body.light .freeze-chart-label a{color:rgba(0,0,0,0.75)}
body.light .freeze-chart-label a:hover{color:var(--c-accent)}
@media(min-width:480px){.freeze-chart-label{min-width:150px;max-width:150px}}
.freeze-chart-bars{display:flex;flex:1}
.freeze-chart-cell{flex:1;min-width:26px;height:36px;border-left:1px solid rgba(var(--c-text-rgb),0.06)}
body.light .freeze-chart-cell{border-color:rgba(var(--c-text-rgb),0.04)}
.freeze-chart-cell.holiday{background:rgba(var(--c-text-rgb),0.04)}
body.light .freeze-chart-cell.holiday{background:rgba(var(--c-text-rgb),0.03)}
.freeze-chart-cell.today{background:rgba(var(--c-green-rgb),0.05)}
body.light .freeze-chart-cell.today{background:rgba(var(--c-green-rgb),0.04)}
/* Bar — brand purple only */
.freeze-chart-cell.bar{position:relative}
.freeze-chart-cell.bar::after{content:'';position:absolute;top:6px;left:3px;right:3px;bottom:6px;border-radius:3px;background:var(--c-accent);opacity:0.85}
body.light .freeze-chart-cell.bar::after{background:var(--c-accent);opacity:0.75}

/* ── Freeze Notes ─────────────────────────────────────────── */
.freeze-notes{margin-top:14px}
.freeze-notes-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:1px solid rgba(var(--c-text-rgb),0.18);border-left:2px solid var(--c-accent);border-radius:3px;background:rgba(var(--c-text-rgb),0.03);font-size:12px;font-weight:600;font-family:inherit;color:var(--c-text);cursor:pointer;transition:all .25s}
.freeze-notes-toggle:hover{background:rgba(var(--c-text-rgb),0.08);color:var(--c-text);border-color:rgba(var(--c-text-rgb),0.3)}
body.light .freeze-notes-toggle{background:rgba(var(--c-text-rgb),0.02);border-color:rgba(var(--c-text-rgb),0.1);color:var(--c-accent)}
body.light .freeze-notes-toggle:hover{background:rgba(var(--c-text-rgb),0.06);color:var(--c-accent);border-color:rgba(var(--c-text-rgb),0.22)}
.freeze-notes-arrow{display:inline-block;transition:transform .25s;font-size:9px;line-height:1}
.freeze-notes-toggle.collapsed .freeze-notes-arrow{transform:rotate(-90deg)}

.freeze-notes-body{margin-top:12px;font-size:12px;line-height:1.75;color:var(--c-sub)}
body.light .freeze-notes-body{color:rgba(var(--c-text-rgb),0.65)}
.freeze-notes-body p,
.freeze-notes-body li{margin-bottom:6px}
.freeze-notes-formula{padding:7px 10px;background:rgba(var(--c-text-rgb),0.06);border-radius:3px}
body.light .freeze-notes-formula{background:rgba(var(--c-text-rgb),0.04)}
.freeze-notes-list{margin:0;padding-left:16px;list-style:disc}
.freeze-notes-disclaimer{padding-top:10px;margin-top:10px;border-top:1px solid rgba(var(--c-text-rgb),0.1);font-size:11px}
body.light .freeze-notes-disclaimer{border-color:rgba(var(--c-text-rgb),0.08)}

/* EVA home: upcoming issues lead; listed issues form a quiet data grid. */
body.eva:not(.light) .recent-section{padding-top:26px;padding-bottom:8px}
body.eva:not(.light) .recent-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:17px;margin-bottom:18px;letter-spacing:.02em}
body.eva:not(.light) #prelistHeader::before,body.eva:not(.light) #recentHeader::before{content:'01';font:12px var(--font-mono);color:var(--eva-signal);padding-right:12px;border-right:2px solid var(--eva-armor)}
body.eva:not(.light) #recentHeader::before{content:'02';color:#b59bdb}
body.eva:not(.light) .recent-header .recent-sub{color:var(--c-sub);font-size:11px}
body.eva:not(.light) .recent-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
body.eva:not(.light) .recent-card{background:var(--eva-panel);border:1px solid var(--eva-line);border-top:3px solid #56416f;border-radius:0;padding:20px;display:flex;flex-direction:column;min-width:0;transition:border-color .2s,background .2s}
body.eva:not(.light) .recent-card::before{content:none}
body.eva:not(.light) .recent-card:hover{background:#19151f;border-color:#785998;box-shadow:none}
body.eva:not(.light) .rc-header{gap:7px;flex-wrap:wrap;margin-bottom:18px}
body.eva:not(.light) .rc-name-row{gap:10px;margin-bottom:10px;flex-wrap:wrap}
body.eva:not(.light) .rc-name{font-size:19px;letter-spacing:.01em}
body.eva:not(.light) .rc-code{font:11px var(--font-mono);color:#a9a1b6}
body.eva:not(.light) .rc-meta{font-size:11px;line-height:1.9;margin-bottom:18px}
body.eva:not(.light) .rc-badge{border-radius:0;font-size:10px;font-weight:500}
body.eva:not(.light) .recent-card .btns{margin-top:auto;justify-content:flex-start;gap:8px;padding-top:14px;border-top:1px solid #2b2732}
body.eva:not(.light) .recent-card .btn{font-size:11px;padding:7px 11px}
body.eva:not(.light) .recent-card .btn.purple{border-color:#44394f;color:#c7b5df;background:transparent}
body.eva:not(.light) .recent-card .btn.blue{border-color:transparent;color:#c7b5df;background:#251d32}
body.eva:not(.light) .recent-card .btn.blue:hover,body.eva:not(.light) .recent-card .btn.purple:hover{background:#3c2c50;color:#fff}
body.eva:not(.light) .recent-card .btn.green{background:var(--eva-signal);border-color:var(--eva-signal);color:#172008;font-weight:700}
body.eva:not(.light) .recent-card .btn.green:hover{background:#d0ff7b;border-color:#d0ff7b}
body.eva:not(.light) #prelistGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
body.eva:not(.light) #prelistGrid .recent-card{border:1px solid #64458f;border-left:6px solid var(--eva-armor);background:#1c1528;padding:20px}
body.eva:not(.light) #prelistGrid .rc-name{font-size:19px}
body.eva:not(.light) #prelistGrid .status-subscribing{color:var(--eva-signal);background:rgba(182,243,76,.09)}
body.eva:not(.light) .freeze-module-toggle{background:#151219;border:1px solid #302738;padding:13px 16px;font-size:12px;color:#b7adc6;margin-bottom:0}
body.eva:not(.light) .freeze-module-arrow{color:var(--eva-signal)}
@media(max-width:600px){
 body.eva:not(.light) .recent-section{padding:20px 16px 6px}
 body.eva:not(.light) .recent-grid,body.eva:not(.light) #prelistGrid{grid-template-columns:1fr}
 body.eva:not(.light) .recent-card,body.eva:not(.light) #prelistGrid .recent-card{padding:18px}
 body.eva:not(.light) .recent-header{font-size:16px;gap:8px}
}

/* Desktop cards retain the accepted grid while reducing excess vertical space. */
@media(min-width:769px){
 body.eva:not(.light) .recent-section{padding-top:20px}
 body.eva:not(.light) .recent-header{margin-bottom:12px}
 body.eva:not(.light) .recent-card,body.eva:not(.light) #prelistGrid .recent-card{padding:16px}
 body.eva:not(.light) .rc-header{margin-bottom:10px}
 body.eva:not(.light) .rc-name-row{margin-bottom:6px}
 body.eva:not(.light) .rc-meta{margin-bottom:12px}
 body.eva:not(.light) .recent-card .btns{padding-top:10px}
}
body.eva:not(.light) .recent-card .stock-link:hover{color:var(--eva-signal)}
body.eva:not(.light) .recent-card .card-logo{width:100px;height:100px;right:12px;top:12px;opacity:.45;filter:none}
@media(max-width:768px){
 body.eva:not(.light) .recent-card .card-logo{opacity:.28}
}

/* Armor panels retain the desktop card grid. */
body.eva:not(.light) .recent-card{border:1px solid #5b4274;border-top:6px solid var(--eva-armor);background:linear-gradient(135deg,#241a31,#17131e 70%);position:relative}
body.eva:not(.light) .recent-card::after{content:'';position:absolute;right:0;top:0;width:36px;height:6px;background:var(--eva-signal);clip-path:polygon(6px 0,100% 0,100% 100%,0 100%)}
body.eva:not(.light) .recent-card:hover{border-color:#a17bcc;background:#2a1e39;box-shadow:inset 3px 0 var(--eva-signal)}
body.eva:not(.light) #prelistGrid .recent-card{border:1px solid #956dc3;border-top:6px solid #ac83db;border-left:6px solid var(--eva-signal);background:#30203f}
body.eva:not(.light) .recent-card .btns{border-top-color:#523b68}
body.eva:not(.light) .recent-card .btn.purple,body.eva:not(.light) .recent-card .btn.blue{background:#50326e;color:#e9def6;border:1px solid #785198}
body.eva:not(.light) .recent-card .btn.purple:hover,body.eva:not(.light) .recent-card .btn.blue:hover{background:#8054c1;border-color:#b59ad6;color:#fff}
body.eva:not(.light) .recent-card .btn.green:hover{background:#d5ff80;box-shadow:inset 0 -3px #749b26}
body.eva:not(.light) .recent-header::before{background:#332145;padding:5px 9px!important;border-right:3px solid var(--eva-signal)!important;color:var(--eva-signal)!important}
body.eva:not(.light) .freeze-module-toggle{border-left:4px solid var(--eva-armor);background:#1d1627}
body.eva:not(.light) .freeze-module-toggle:hover{border-left-color:var(--eva-signal);background:#2c1e3b}

/* Both market-wide and stock-specific flash feeds use the same signal panels. */
body.eva:not(.light) .fn-main{max-width:1100px;padding-top:22px}
body.eva:not(.light) .fn-timeline{position:relative;padding-left:20px;border-left:2px solid #65428b}
body.eva:not(.light) .fn-item{position:relative;grid-template-columns:108px 100px minmax(0,1fr);gap:16px;padding:20px;margin-bottom:12px;border:1px solid #49335f;border-left:5px solid var(--eva-armor);background:#19131f}
body.eva:not(.light) .fn-item::before{content:'';position:absolute;left:-31px;top:25px;width:10px;height:10px;background:var(--eva-signal);border:2px solid #0b0b10;box-shadow:0 0 0 1px #68498b}
body.eva:not(.light) .fn-item::after{content:'';position:absolute;right:0;top:0;width:32px;height:4px;background:var(--eva-armor);clip-path:polygon(4px 0,100% 0,100% 100%,0 100%)}
body.eva:not(.light) .fn-item:hover,body.eva:not(.light) .fn-item:focus-within{border-left-color:var(--eva-signal);background:#251a31}
body.eva:not(.light) .fn-badge{border-radius:0;color:#e2d1f4;background:#4a2e65;border:1px solid #8255a9;font-size:11px;line-height:1.4;padding:5px 8px;white-space:normal}
body.eva:not(.light) .fn-badge.ipo_launch,body.eva:not(.light) .fn-badge.allotment_result{color:var(--eva-signal);border-color:#739c38;background:#25301b}
body.eva:not(.light) .fn-badge.suspension{color:#ffd7b4;border-color:var(--eva-orange);background:#412619}
body.eva:not(.light) .fn-date{color:#c3add9;font-size:11px;padding-top:4px}
body.eva:not(.light) .fn-date-t{color:var(--eva-signal);opacity:1;font-size:12px}
body.eva:not(.light) .fn-title{font-size:15px;color:#ebe5f1;line-height:1.7}
body.eva:not(.light) .fn-title:hover{color:var(--eva-signal)}
body.eva:not(.light) .fn-meta{color:#a895bb;font-size:11px;margin-top:9px}
body.eva:not(.light) .fn-more{color:#c8a9e9;border-bottom:1px solid #795297;padding-bottom:2px;font-size:11px;margin-top:10px}
body.eva:not(.light) .fn-more:hover{color:var(--eva-signal);border-color:var(--eva-signal);text-decoration:none}
body.eva:not(.light) .fn-pagination{border-top:3px solid var(--eva-armor);padding-top:16px}
body.eva:not(.light) .fn-page-btn{border-radius:0;border-color:#8058a1;background:#382346;color:#e6d6f4}
body.eva:not(.light) .fn-page-btn:hover{background:var(--eva-signal);color:#142006;border-color:var(--eva-signal)}
body.eva:not(.light) .fn-empty{border:1px solid #5b3d77;border-left:5px solid var(--eva-armor);background:#1c1526}
@media(max-width:768px){
 body.eva:not(.light) .fn-main{padding:18px 16px 24px}
 body.eva:not(.light) .fn-timeline{padding-left:12px}
 body.eva:not(.light) .fn-item{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px 12px;border-left-width:3px}
 body.eva:not(.light) .fn-item::before{left:-22px;top:22px;width:8px;height:8px}
 body.eva:not(.light) .fn-item .fn-badge{justify-self:start;max-width:100%}
 body.eva:not(.light) .fn-item .fn-date{text-align:right;padding:0;font-size:10px}
 body.eva:not(.light) .fn-item .fn-body{grid-column:1 / -1}
 body.eva:not(.light) .fn-title{font-size:14px}
}

/* A lone open IPO uses a desktop summary row instead of a narrow mobile card. */
@media(min-width:1024px){
 body.eva:not(.light) #prelistGrid:has(>.recent-card:only-child){grid-template-columns:minmax(0,1fr)}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,.65fr) auto;column-gap:24px;row-gap:8px;align-items:center;padding:18px 22px}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child .rc-header{grid-column:1;grid-row:1;margin:0}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child .rc-name-row{grid-column:1;grid-row:2;margin:0}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child .rc-meta{grid-column:2;grid-row:1 / 3;margin:0}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child .btns{grid-column:3;grid-row:1 / 3;margin:0;padding:8px 0 8px 24px;border-top:0;border-left:1px solid #674781}
 body.eva:not(.light) #prelistGrid>.recent-card:only-child .card-logo{right:36%;top:50%;transform:translateY(-50%);opacity:.15;pointer-events:none}
}

/* EVA news detail: dossier surface and distinct return/related actions. */
body.eva:not(.light) .fn-article{background:#1d1425;border:1px solid #61417a;border-top:4px solid #9368bd;padding:28px;box-sizing:border-box}
body.eva:not(.light) .fn-article-head{border-bottom-color:#61417a;padding-bottom:20px}
body.eva:not(.light) .fn-article-title{font-size:24px;line-height:1.6;overflow-wrap:anywhere;color:#eee3f7}
body.eva:not(.light) .fn-back,body.eva:not(.light) .fn-article-related a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid #61417a;background:#2b1c37;color:#d5bde8;box-sizing:border-box;text-decoration:none}
body.eva:not(.light) .fn-back:hover,body.eva:not(.light) .fn-article-related a:hover{background:#382347;border-color:var(--eva-signal);color:var(--eva-signal)}
body.eva:not(.light) .fn-article-related{border-top-color:#61417a;gap:10px}
body.eva:not(.light) .fn-article-rows .fn-row{padding:12px 0;border-bottom:1px solid #35273f;line-height:1.8}
body.eva:not(.light) .fn-article-rows .fn-row-label{color:#bdaeCA}
body.eva:not(.light) .fn-article-rows .fn-row-value{color:#eee3f7;overflow-wrap:anywhere}
@media(max-width:768px){
 body.eva:not(.light) .fn-article{padding:18px 14px}
 body.eva:not(.light) .fn-article-title{font-size:20px}
 body.eva:not(.light) .fn-back,body.eva:not(.light) .fn-article-related a{min-height:44px}
}

/* EVA market overview charts. */
body.eva:not(.light) .market-overview-charts .chart-box{background:#21162c;border:1px solid #61417a;border-top:3px solid #9368bd;border-radius:0;min-width:0}
body.eva:not(.light) .market-overview-charts .chart-box h3{color:#d5bde8;border-bottom:1px solid #61417a;padding-bottom:10px}
body.eva:not(.light) .market-overview-charts .note{color:#c5b7d2;line-height:1.8}
