/* StockRadar Professional V5 — shared visual system for a denser fintech-grade public site. */
:root{
  --navy:#0b2846;
  --navy-2:#123f66;
  --navy-3:#071d31;
  --blue:#1267a8;
  --blue-soft:#edf5fb;
  --red:#c92335;
  --red-soft:#fff1f3;
  --green:#08795b;
  --green-soft:#eaf7f2;
  --amber:#b97905;
  --amber-soft:#fff7e2;
  --ink:#152638;
  --muted:#607183;
  --muted-2:#8795a3;
  --surface:#fff;
  --surface-2:#f7fafc;
  --background:#eef3f7;
  --line:#d8e1e8;
  --line-dark:#c5d1db;
  --radius:10px;
  --radius-lg:14px;
  --panel-shadow:0 8px 28px rgba(11,40,70,.055);
  --panel-shadow-hover:0 14px 36px rgba(11,40,70,.085);
}

html{background:var(--background)}
body{background:var(--background);color:var(--ink);font-feature-settings:"tnum" 1,"ss01" 1}
.container{width:min(1280px,calc(100% - 36px))}
.narrow{width:min(920px,calc(100% - 36px))}

/* Brand chrome */
.site-header{
  background:rgba(255,255,255,.985);
  border-bottom:1px solid #d9e2e9;
  box-shadow:0 1px 0 rgba(11,40,70,.02),0 7px 24px rgba(11,40,70,.035);
}
.site-header .nav{min-height:62px;gap:20px}
.site-header .brand img{width:188px}
.nav-links{gap:18px;color:#34495d;font-size:12px;font-weight:780}
.nav-links>a:not(.button){min-height:62px;padding:0 1px}
.nav-links>a:not(.button)::after{height:2px;border-radius:999px 999px 0 0}
.nav-links>a:not(.button):hover{color:var(--navy)}
.nav-links>a[aria-current="page"]{color:var(--red)}
.header-auth-actions{gap:8px!important}
.header-login-cta,.header-register-cta{
  min-height:38px!important;
  padding:0 14px!important;
  border-radius:8px!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.01em;
}
.header-login-cta{border-color:#c4d0da!important;background:#fff!important;color:var(--navy)!important}
.header-login-cta:hover{border-color:#91a8bb!important;background:#f7fafc!important}
.header-register-cta{box-shadow:0 5px 14px rgba(201,35,53,.15)}

.portal-utility{background:var(--navy-3)}
.product-subnav{background:var(--navy)}
.product-subnav a{transition:background .15s ease,color .15s ease}
.product-subnav a:hover{background:rgba(255,255,255,.1)}
.market-tape{background:#fbfcfd}

/* Controls */
.button{
  min-height:42px;
  padding:0 17px;
  border-radius:8px;
  font-size:13px;
  font-weight:820;
  letter-spacing:.005em;
  box-shadow:none;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.button:hover{transform:translateY(-1px)}
.button-primary{box-shadow:0 5px 14px rgba(201,35,53,.12)}
.button-primary:hover{box-shadow:0 7px 18px rgba(201,35,53,.18)}
.button-secondary:hover{background:#f8fbfd}
.panel-label,.eyebrow{font-size:10px;letter-spacing:.12em}
.data-pill,.state,.tag{border-radius:999px;padding:5px 9px}

input,select,textarea{
  border-radius:8px!important;
  border-color:#cbd7e0!important;
  background:#fff;
  color:var(--ink);
}
input:hover,select:hover,textarea:hover{border-color:#9fb2c1!important}
input:focus,select:focus,textarea:focus{
  border-color:#5d91bb!important;
  box-shadow:0 0 0 3px rgba(18,103,168,.1)!important;
  outline:0;
}

/* Page hierarchy */
.page-heading{
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
  border-bottom:1px solid var(--line);
}
.page-heading-inner{min-height:66px!important}
.page-heading h1{font-size:27px!important;letter-spacing:-.025em!important}
.breadcrumbs{color:#7a8997!important}
.radar-workspace,.search-workspace,.sector-workspace,.performance-workspace,.today-changes-workspace,.recommendations-workspace,.stock-report-shell{
  padding-top:18px!important;
}

.workspace-panel,.side-panel,.sector-panel,.search-panel,.reference-watch-table,.published-recommendations-panel,
.stock-report-card,.data-readiness,.auth-card,.plan-card,.plan-comparison{
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg)!important;
  background:#fff;
  box-shadow:var(--panel-shadow)!important;
  overflow:hidden;
}
.workspace-panel:hover,.side-panel:hover,.sector-panel:hover,.search-panel:hover{border-color:#cbd7e0!important}
.panel-header,.side-panel-head,.workspace-panel>header,.search-panel>header{
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}
.panel-header h2,.side-panel-head h2,.workspace-panel h2,.search-panel h2{letter-spacing:-.015em}
.panel-foot{background:#fafcfd!important;border-top:1px solid #e6edf2!important}
.empty{background:#fbfcfd!important;color:#6e7d8b!important;border-radius:9px}

/* Tables */
.radar-table,.recommendation-table,.performance-table,.reference-watch-table,.plan-table-wrap{scrollbar-width:thin}
.radar-table table,.recommendation-table table,.performance-table table,.reference-watch-table table,.plan-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.radar-table thead th,.recommendation-table thead th,.performance-table thead th,.reference-watch-table thead th,.plan-table thead th{
  background:#f3f7fa!important;
  color:#526579!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
  border-bottom:1px solid #d7e1e8!important;
}
.radar-table tbody tr,.recommendation-table tbody tr,.performance-table tbody tr,.reference-watch-table tbody tr,.plan-table tbody tr{
  transition:background .13s ease;
}
.radar-table tbody tr:hover,.recommendation-table tbody tr:hover,.performance-table tbody tr:hover,.reference-watch-table tbody tr:hover,.plan-table tbody tr:hover{
  background:#f8fbfd!important;
}
.radar-table td,.recommendation-table td,.performance-table td,.reference-watch-table td,.plan-table td{
  border-bottom-color:#e8eef3!important;
}
.radar-table tbody tr:last-child td,.recommendation-table tbody tr:last-child td,.performance-table tbody tr:last-child td,.reference-watch-table tbody tr:last-child td,.plan-table tbody tr:last-child td{border-bottom:0!important}

/* Homepage command center */
body.app-home{background:#eef3f7}
.app-home .site-header .nav{min-height:62px;gap:18px}
.app-home .brand img{width:188px}
.app-home .nav-links{gap:18px;font-size:12px}
.app-home .nav-links>a:not(.button){min-height:62px}
.app-home .compact-home-toolbar{
  padding:17px 0 13px!important;
  background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%)!important;
  border-bottom:1px solid var(--line)!important;
}
.app-home .compact-home-toolbar .operations-title-row{margin-bottom:12px}
.app-home .compact-home-toolbar .operations-title-row h1{
  margin-top:2px!important;
  font-size:31px!important;
  letter-spacing:-.035em;
}
.app-home .operations-title-row .data-pill{background:#eef5fa;border-color:#cbdde9;color:#355a78}
.app-home .home-command-row{grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr);gap:14px}
.app-home .home-command-row .operations-search{
  padding:13px 14px;
  border:1px solid #d4dfe7;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 18px rgba(11,40,70,.035);
}
.app-home .home-command-row .stock-search-form{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
.app-home .home-command-row .stock-search-form label{font-size:11px}
.app-home .home-command-row .stock-search-form input{min-height:42px;padding-inline:13px;background:#fbfcfd}
.app-home .home-command-row .stock-search-form .button{min-height:42px;padding:0 20px}
.app-home .home-register-compact{
  padding:13px 14px;
  border:1px solid #efd6da;
  border-radius:12px;
  background:linear-gradient(135deg,#fff7f8 0%,#fff 72%);
  box-shadow:0 4px 18px rgba(111,28,41,.035);
}
.app-home .home-register-compact strong{font-size:13px}
.app-home .home-register-compact span{font-size:9px;line-height:1.45}
.app-home .home-register-compact .button{min-height:40px;border-radius:8px}
.app-home .compact-home-toolbar .operations-horizons{
  margin-top:12px;
  padding:4px;
  gap:4px;
  border:1px solid #d9e3ea;
  border-radius:11px;
  background:#f4f7f9;
}
.app-home .compact-home-toolbar .horizon-tab{
  min-height:46px;
  border:0!important;
  border-radius:8px;
  background:transparent;
  color:#536679;
}
.app-home .compact-home-toolbar .horizon-tab:hover{background:#fff;color:var(--navy)}
.app-home .compact-home-toolbar .horizon-tab.is-active{
  background:#fff!important;
  color:var(--navy)!important;
  box-shadow:0 3px 12px rgba(11,40,70,.08);
}
.app-home .compact-home-toolbar .horizon-tab.is-active::before{content:"";position:absolute;left:13px;right:13px;bottom:0;height:2px;border-radius:999px;background:var(--red)}

.app-home .home-focus-section{padding:16px 0 14px}
.app-home .home-focus-grid{gap:16px;grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr)}
.app-home .home-focus-panel{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--panel-shadow);
  overflow:hidden;
}
.app-home .home-focus-head{
  min-height:68px;
  padding:14px 16px;
  background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);
}
.app-home .home-focus-head h2{font-size:19px;letter-spacing:-.02em}
.app-home .home-focus-head p{font-size:9px}
.app-home .home-signal-summary{grid-template-columns:180px 1fr;background:#f7fafc}
.app-home .home-signal-summary>div{padding:12px 16px}
.app-home .home-signal-summary strong{font-size:23px;letter-spacing:-.025em}
.app-home .home-radar-sector-row{
  min-height:47px;
  padding:8px 14px;
  grid-template-columns:175px minmax(0,1fr) auto;
  transition:background .13s ease;
}
.app-home .home-radar-sector-row:hover{background:#f8fbfd}
.app-home .home-radar-sector-row>strong{font-size:11px}
.app-home .home-radar-tickers{gap:7px}
.app-home .home-radar-tickers a{
  min-width:48px;
  min-height:30px;
  border:1px solid #d8e3eb;
  border-radius:7px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 1px 2px rgba(11,40,70,.025);
}
.app-home .home-radar-tickers a:hover{
  border-color:#8eb1ca;
  background:#f0f7fb;
  color:#0f5e98;
  transform:translateY(-1px);
}
.app-home .home-radar-sector-row em{border-radius:999px;padding:4px 8px}
.app-home .home-radar-note{padding:10px 14px;background:#fafcfd}

.app-home .home-quick-panel .home-focus-body{padding:12px}
.app-home .home-quick-actions{gap:9px}
.app-home .home-quick-actions a{
  position:relative;
  min-height:54px;
  padding:10px 12px 10px 14px;
  border:1px solid #dce5eb;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.app-home .home-quick-actions a::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:#d9e6ef}
.app-home .home-quick-actions a:hover{
  transform:translateX(2px);
  border-color:#b9cad7;
  background:#f9fbfd;
  box-shadow:0 5px 14px rgba(11,40,70,.045);
}
.app-home .home-quick-actions a:hover::before{background:var(--blue)}
.app-home .home-quick-actions strong{font-size:11px}
.app-home .home-quick-actions span{font-size:9px}
.app-home .home-quick-actions b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eef5fa;font-size:13px}

.app-home .home-tier-section{padding:0 0 22px}
.app-home .home-tier-section-head{padding:12px 2px 10px}
.app-home .home-tier-section-head h2{font-size:21px;letter-spacing:-.02em}
.app-home .home-tier-grid{gap:16px}
.app-home .home-tier-card{
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--panel-shadow);
  overflow:hidden;
}
.app-home .home-tier-card.is-free{border-top:1px solid var(--line)}
.app-home .home-tier-card.is-premium{border-top:1px solid #edc9ce;box-shadow:0 10px 30px rgba(111,28,41,.07)}
.app-home .home-tier-card.is-premium .home-tier-card-head{background:linear-gradient(135deg,#fff7f8 0%,#fff 75%)}
.app-home .home-tier-card-head{padding:15px 17px}
.app-home .home-tier-card-head h3{font-size:19px;letter-spacing:-.02em}
.app-home .home-tier-feature{min-height:70px;padding:12px 15px}
.app-home .home-tier-feature strong{font-size:11px}
.app-home .home-tier-feature span{font-size:9px}
.app-home .home-tier-actions{padding:13px 15px;background:#fafcfd}

/* Public fallback/data surfaces */
.v4-fallback{
  border:1px solid var(--line)!important;
  border-radius:var(--radius-lg);
  box-shadow:var(--panel-shadow)!important;
  overflow:hidden;
}
.v4-fallback-head{min-height:58px;padding:12px 14px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.v4-fallback-head h2{font-size:17px}
.v4-zero-bar{background:#f8fafc}
.v4-zero-bar>div{min-height:60px;padding:9px 12px}
.v4-zero-bar strong{font-size:16px}
.v4-reference-item{min-height:58px;padding:9px 11px;background:#fff}
.v4-reference-item:hover{background:#f6fafc}
.v4-reference-item b{font-size:14px}
.v4-reference-item em{color:#3e6988}
.v4-sector-card{padding:12px 13px}
.v4-sector-tickers a{border-radius:999px;padding:4px 7px;background:#eef5fa;color:#315e7e}
.v4-method-grid article{padding:12px 14px}

.data-readiness{margin-top:12px!important}
.data-readiness header{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.readiness-grid{background:#fff}
.readiness-grid>div{transition:background .13s ease}
.readiness-grid>div:hover{background:#f8fbfd}

/* Stock report and analysis */
.stock-report-shell .stock-report-grid,.stock-report-shell .report-grid{gap:16px!important}
.stock-report-shell .report-card,.stock-report-shell .analysis-card,.stock-report-shell .valuation-card,.stock-report-shell .trade-plan-card{
  border-radius:var(--radius-lg)!important;
  border-color:var(--line)!important;
  box-shadow:var(--panel-shadow)!important;
}
.stock-report-shell h2,.stock-report-shell h3{letter-spacing:-.015em}

/* Plans / auth */
.plans-shell{background:#eef3f7}
.plans-hero{
  background:linear-gradient(135deg,#09243f 0%,#0e3558 72%,#174a73 100%)!important;
  color:#fff;
  border-bottom:0!important;
}
.plans-hero .panel-label{color:#9dc6e3!important}
.plans-hero h1{color:#fff!important;letter-spacing:-.035em}
.plans-hero p{color:#d4e2ed!important}
.plan-grid{gap:18px!important}
.plan-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.plan-card:hover{transform:translateY(-2px);box-shadow:var(--panel-shadow-hover)!important}
.plan-card-premium{border-color:#e8c6cb!important}
.plan-price strong{letter-spacing:-.035em}
.plan-feature-list li{border-color:#e8eef3!important}
.plan-table-wrap{border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.auth-shell{background:#eef3f7}
.auth-layout{gap:24px!important}
.auth-card{box-shadow:0 12px 36px rgba(11,40,70,.07)!important}
.auth-card-header{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}
.auth-stepper .auth-step,.signup-plan-option{border-radius:9px!important}
.signup-plan-option:has(input:checked){border-color:#78a4c4!important;background:#f1f7fb!important}
.auth-security-note{border-radius:9px}

/* Footer */
.site-footer{
  margin-top:18px;
  padding:26px 0 22px!important;
  background:#0a2239!important;
  border-top:0!important;
  color:#d9e5ee!important;
}
.site-footer strong{color:#fff!important;letter-spacing:.04em}
.site-footer .footer-links a{color:#c6d5e0!important}
.site-footer .footer-links a:hover{color:#fff!important}
.site-footer .disclaimer{color:#91a6b7!important}

/* Responsive */
@media(max-width:1100px){
  .container{width:min(100% - 28px,1280px)}
  .site-header .brand img,.app-home .brand img{width:164px}
  .nav-links,.app-home .nav-links{gap:11px;font-size:11px}
  .app-home .home-command-row{grid-template-columns:minmax(0,1fr) 310px}
  .app-home .home-focus-grid{grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr)}
}

@media(max-width:900px){
  .app-home .home-command-row{grid-template-columns:1fr}
  .app-home .home-focus-grid{grid-template-columns:1fr}
  .app-home .home-tier-grid{grid-template-columns:1fr}
  .app-home .home-tier-section-head{display:block}
  .app-home .home-tier-section-head p{text-align:left;margin-top:5px}
}

@media(max-width:760px){
  .container,.narrow{width:calc(100% - 20px)}
  .site-header .nav,.app-home .site-header .nav{min-height:56px;gap:7px}
  .site-header .brand img,.app-home .brand img{width:138px}
  .header-login-cta,.header-register-cta,.app-home .header-login-cta,.app-home .header-register-cta{min-height:34px!important;padding:0 9px!important;font-size:9px!important}
  .nav-links,.app-home .nav-links{top:56px!important;border-radius:0 0 12px 12px!important;box-shadow:0 14px 28px rgba(11,40,70,.11)!important}
  .page-heading-inner{min-height:54px!important}
  .page-heading h1{font-size:22px!important}
  .app-home .compact-home-toolbar{padding:12px 0 10px!important}
  .app-home .compact-home-toolbar .operations-title-row h1{font-size:26px!important}
  .app-home .home-command-row .stock-search-form{grid-template-columns:1fr auto}
  .app-home .home-command-row .stock-search-form label{grid-column:1/-1}
  .app-home .home-focus-section{padding-top:12px}
  .app-home .home-focus-head{min-height:0;padding:12px 13px}
  .app-home .home-radar-sector-row{grid-template-columns:120px minmax(0,1fr);padding:8px 10px}
  .app-home .home-radar-sector-row em{display:none}
  .app-home .home-radar-tickers a{min-height:32px}
  .app-home .home-tier-feature-list{grid-template-columns:1fr}
  .app-home .home-tier-feature{border-right:0!important}
  .v4-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer{padding-bottom:76px!important}
}

@media(max-width:520px){
  .container,.narrow{width:calc(100% - 14px)}
  .site-header .brand img,.app-home .brand img{width:118px}
  .header-login-cta,.header-register-cta,.app-home .header-login-cta,.app-home .header-register-cta{padding:0 7px!important;font-size:8px!important}
  .app-home .compact-home-toolbar .operations-title-row{align-items:flex-end}
  .app-home .compact-home-toolbar .operations-title-row .data-pill{display:none}
  .app-home .home-register-compact{display:block}
  .app-home .home-register-compact span{display:block;margin:4px 0 9px}
  .app-home .home-register-compact .button{width:100%}
  .app-home .compact-home-toolbar .operations-horizons{grid-template-columns:1fr 1fr!important;display:grid!important}
  .app-home .compact-home-toolbar .horizon-tab{min-height:48px}
  .app-home .home-signal-summary{grid-template-columns:1fr 1fr}
  .app-home .home-radar-sector-row{grid-template-columns:105px 1fr}
  .app-home .home-radar-tickers{gap:4px}
  .app-home .home-radar-tickers a{min-width:41px;padding:0 5px}
  .app-home .home-tier-actions{display:block}
  .app-home .home-tier-actions .button{width:100%;margin-top:8px}
  .v4-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plan-grid{grid-template-columns:1fr!important}
}
