/* Shared visual finish. This sheet changes presentation only. */
:root{
  --polish-line:#2b3c50;
  --polish-shadow:0 16px 40px rgba(0,0,0,.16);
  --polish-panel:linear-gradient(155deg,#172333 0%,#131e2b 58%,#111b28 100%);
}

body{
  background:radial-gradient(ellipse 850px 620px at 78% -220px,rgba(81,124,170,.12),transparent 70%),var(--bg);
}
.sidebar{
  background:linear-gradient(180deg,#101b29,#0d1621 42%,#0c141f);
  border-right-color:#26374b;
  box-shadow:14px 0 35px rgba(0,0,0,.08);
}
.sidebar .brand{
  margin-bottom:15px;
  padding-bottom:20px;
  background:linear-gradient(180deg,#101b29 80%,rgba(16,27,41,.97));
  border-bottom-color:#304257;
}
.sidebar .brand-mark{filter:drop-shadow(0 0 10px rgba(230,169,78,.18))}
.sidebar .account-strip{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  margin:0 2px 17px;
  padding:14px;
  border:1px solid #3a5068;
  border-radius:13px;
  background:radial-gradient(circle at 100% 0,rgba(230,169,78,.1),transparent 54%),linear-gradient(145deg,#1b2c40,#142132);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 26px rgba(0,0,0,.16);
}
.sidebar .account-strip::before{
  content:"";
  position:absolute;
  top:0;
  left:14px;
  right:45%;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--accent),transparent);
}
.sidebar .account-identity{gap:11px;min-width:0}
.sidebar .account-avatar{
  width:40px;
  height:40px;
  border-radius:11px;
  border-color:rgba(230,169,78,.45);
  background:linear-gradient(145deg,rgba(230,169,78,.2),rgba(230,169,78,.07));
  color:#ffd38b;
  font-size:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.sidebar .account-identity strong{
  max-width:132px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.005em;
}
.sidebar .account-identity small{
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:2px 6px;
  border:1px solid rgba(230,169,78,.25);
  border-radius:5px;
  background:rgba(230,169,78,.08);
  color:#e2b775;
  font-size:9px;
  line-height:1.3;
}
.sidebar .account-strip form{width:100%;padding-top:10px;border-top:1px solid rgba(151,177,204,.16)}
.sidebar .account-signout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:31px;
  padding:5px 9px;
  border:1px solid #344b63;
  border-radius:7px;
  background:rgba(10,19,30,.43);
  color:#bfd0e1;
  font-size:10.5px;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.sidebar .account-signout::after{content:"↗";font-size:13px;line-height:1}
.sidebar .account-signout:hover{background:#22364b;border-color:#607991;color:#fff}
.sidebar .nav-label{padding:8px 12px 9px;color:#8fa4b8;letter-spacing:.18em}
.sidebar nav a{
  min-height:40px;
  margin:3px 0;
  padding:9px 12px;
  border-radius:9px;
  color:#bdcad7;
  font-size:12.5px!important;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
.sidebar nav a:hover{background:#1a2b3d;border-color:#30465e;color:#f7f9fc;transform:translateX(2px)}
.sidebar nav a.active{
  background:linear-gradient(90deg,rgba(230,169,78,.16),rgba(230,169,78,.06));
  border-color:rgba(230,169,78,.35);
  color:#ffe0a7;
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 12px rgba(0,0,0,.1);
}
.sidebar nav a.active::before{left:-12px;height:22px;box-shadow:0 0 11px rgba(230,169,78,.32)}
.sidebar .nav-group,.sidebar .nav-subgroup{border-bottom-color:#26394d}
.sidebar .nav-group > summary,.sidebar .nav-subgroup > summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none}
.sidebar .nav-group > summary::-webkit-details-marker,.sidebar .nav-subgroup > summary::-webkit-details-marker{display:none}
.sidebar .nav-group > summary::after,.sidebar .nav-subgroup > summary::after{content:"⌄";color:#8fa4b8;font-size:15px;line-height:1;transition:transform .15s ease}
.sidebar .nav-group[open] > summary::after,.sidebar .nav-subgroup[open] > summary::after{transform:rotate(180deg)}
.sidebar .nav-group > summary:hover,.sidebar .nav-subgroup > summary:hover{color:#f1d4a2}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:#31455b;border:2px solid #101b29}
.main{padding-top:34px}

/* Page titles use the same quiet hero treatment as the member dashboard. */
.main > .page-head:not(.member-dashboard-head){
  position:relative;
  isolation:isolate;
  min-height:108px;
  padding:22px 26px;
  border:1px solid var(--polish-line);
  border-radius:15px;
  background:radial-gradient(circle at 76% -28%,rgba(230,169,78,.11),transparent 42%),linear-gradient(110deg,#172536,#121e2c 65%,#172333);
  box-shadow:var(--polish-shadow);
  overflow:hidden;
  align-items:center;
}
.main > .page-head:not(.member-dashboard-head)::after{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-111px;
  width:265px;
  height:265px;
  border:1px solid rgba(230,169,78,.1);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.main > .page-head h1{font-size:30px;line-height:1.14;letter-spacing:-.025em}
.main > .page-head .eyebrow{margin-bottom:9px}
.main > .page-head > div > p{color:#aabbd0;font-size:12.5px}
.main > .page-head .page-actions,
.main > .page-head > .button{position:relative;z-index:1}

/* Shared surfaces across member, research and administration pages. */
.main .panel:not(.dashboard-queue):not(.dashboard-open-trades){
  border-color:var(--polish-line);
  border-radius:14px;
  background:var(--polish-panel);
  box-shadow:var(--polish-shadow);
}
.main .panel:not(.dashboard-queue):not(.dashboard-open-trades) > .panel-head{padding-bottom:12px;border-bottom:1px solid rgba(147,170,195,.15)}
.main .panel-head h2{font-size:17px;letter-spacing:-.018em}
.main .panel-head p{color:#a5b3c4}
.main .card{
  border-color:var(--polish-line);
  border-radius:13px;
  background:linear-gradient(150deg,#1a293b,#14202e 68%,#121c29);
  box-shadow:var(--polish-shadow);
}
.main .card::after{opacity:.75;background:linear-gradient(90deg,var(--accent),rgba(230,169,78,0))}
.main .card:hover{border-color:#536b83;box-shadow:0 18px 42px rgba(0,0,0,.25)}
.main .panel-badge,.main .pill{
  background:rgba(230,169,78,.1);
  border-color:rgba(230,169,78,.28);
  color:#f8c376;
}
.main .journal-facts > div,
.main .process-grid > div{
  border-color:#304258;
  border-radius:11px;
  background:linear-gradient(145deg,#172637,#111c2a);
}

/* Tables read as one calm surface, with a visible heading and rows. */
.main .table-scroll,
.main .member-table-wrap{
  border:1px solid #2b3d52;
  border-radius:10px;
  background:#111b28;
}
.main .table-scroll table,
.main .member-table-wrap table{min-width:100%}
/* Give the first column the same inset as the other data columns. */
.main .member-table th:first-child,
.main .member-table td:first-child{padding-left:14px}
.main table th{
  background:#1b2b3d;
  color:#b9c9dc;
  border-bottom:1px solid #34485e;
}
.main table td{border-bottom-color:#25374a}
.main table tbody tr:nth-child(even){background:rgba(255,255,255,.018)}
.main table tbody tr:hover{background:rgba(88,137,184,.13)}
.main table td strong,.main table .stock-name{color:#f8f7f2}
.plan-controls,.plan-controls form{display:flex;align-items:center;gap:8px}
.plan-controls{flex-wrap:wrap}
.plan-controls select{min-width:100px;padding:7px 9px}
.plan-controls .button{white-space:nowrap}

/* Inputs and actions keep their current geometry and behavior. */
.main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.main select,.main textarea,
.zone-trade-dialog input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.zone-trade-dialog select,.zone-trade-dialog textarea{
  border-color:#34475e;
  border-radius:9px;
  background-color:#0e1a28;
  color:var(--text);
}
.main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
.main select:focus,.main textarea:focus,
.zone-trade-dialog input:focus,.zone-trade-dialog select:focus,.zone-trade-dialog textarea:focus{
  border-color:var(--accent-dim);
  box-shadow:0 0 0 3px rgba(230,169,78,.1);
}
.button{border-radius:9px}
.button:not(.secondary):not(.danger){
  background:linear-gradient(180deg,#f4be68,#dda04b);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 13px rgba(152,89,19,.14);
}
.button.secondary{
  background:linear-gradient(180deg,#213246,#1b2a3b);
  border-color:#3b5068;
  color:#e5edf6;
}
.button.secondary:hover{background:#29405a;border-color:#57708d}
.main details[open] > summary{color:var(--accent-strong)}
.main details > summary{cursor:pointer}
.main .empty{color:#9fb0c3}
.main .flash{border-radius:11px}

/* Screener, watchlists and market rows carry the same visual rhythm. */
.gtf-eye-page .gtf-hero{
  border-color:var(--polish-line);
  border-radius:15px;
  background:radial-gradient(circle at 75% -35%,rgba(230,169,78,.11),transparent 44%),linear-gradient(110deg,#172536,#121e2c 70%,#172333);
  box-shadow:var(--polish-shadow);
}
.gtf-eye-page .bird-toggles,
.gtf-eye-page .gtf-results-panel,
.personal-watchlist,
.watchlist-sheet{
  border-color:var(--polish-line);
  box-shadow:var(--polish-shadow);
}
.gtf-stock-card{border-color:#334961;background:linear-gradient(150deg,#18283a,#111d2b)}
.gtf-stock-card:hover{border-color:#5a7691;box-shadow:0 15px 30px rgba(0,0,0,.2)}
.watchlist-stock-row:hover,.queue-item:hover{background:rgba(255,255,255,.025)}
.watchlist-sheet-head{background:rgba(255,255,255,.025)}
.watchlist-manage,.watchlist-new[open] form{border-color:#3a5069;background:#172537}

/* Dialogs match the surrounding page while retaining their current sizing. */
.zone-trade-dialog{
  border-color:#405771;
  border-radius:15px;
  background:linear-gradient(155deg,#1b2b3e,#111d2b);
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}

/* Sign in has its own template but shares the product's visual language. */
.auth-page{
  background:radial-gradient(circle at 70% 12%,rgba(94,137,182,.19),transparent 37%),radial-gradient(circle at 18% 88%,rgba(230,169,78,.1),transparent 34%),#0b111a;
}
.auth-card{
  border-color:#3b516a;
  border-radius:17px;
  padding:34px;
  background:linear-gradient(145deg,#1b2b3d,#111c2a);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.auth-card .auth-tagline{color:#a9b9ca}
.auth-card .auth-form input{border-color:#3b5068;border-radius:9px;background:#0d1826}
.auth-card .auth-form input:focus{border-color:var(--accent-dim);outline:0;box-shadow:0 0 0 3px rgba(230,169,78,.11)}

@media(max-width:800px){
  .main{padding-top:24px}
  .main > .page-head:not(.member-dashboard-head){padding:20px;min-height:0;align-items:flex-start}
  .main > .page-head h1{font-size:26px}
  .sidebar .account-strip{padding:11px;gap:11px}
  .sidebar .account-identity strong{max-width:105px}
}
@media(max-width:600px){
  .sidebar .account-strip{max-width:330px}
  .sidebar nav a{min-height:42px}
  .main > .page-head:not(.member-dashboard-head){flex-direction:column;gap:15px}
  .main > .page-head .page-actions{width:100%;justify-content:flex-start}
  .main > .page-head .page-actions .button{min-height:36px}
  .main .panel{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
  .main .card,.gtf-stock-card,.button{transition:none}
}

/* Mobile layout pass: preserve all controls while reducing cramped columns. */
@media(max-width:900px){
  .main{min-width:0;max-width:none}
  .main > *{min-width:0;max-width:100%}
  .main .cards,.main .card-grid,.main .dashboard-grid,.main .member-dashboard-grid,
  .main .workflow-grid,.main .stats-grid,.main .dc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .main .panel,.main .card,.main .page-head{min-width:0}
  .main .table-scroll,.main .member-table-wrap,.main .scanner-results .table-scroll{
    max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain
  }
  .main table{min-width:640px}
  .main .page-actions,.main .row-actions,.main .toolbar,.main .filter-row{flex-wrap:wrap}
  .main input,.main select,.main textarea{max-width:100%}
}
@media(max-width:600px){
  body{font-size:14px;background-attachment:scroll}
  .app-shell{display:block;min-height:100dvh}
  .sidebar{position:static;width:100%;max-height:42dvh;min-height:0;padding:10px 12px;overflow:auto;border-right:0;border-bottom:1px solid var(--line)}
  .sidebar .brand{position:static;padding:4px 4px 10px;margin:0 0 8px}
  .sidebar .account-strip{max-width:none;width:100%;margin:0 0 6px}
  .sidebar nav{display:block;max-height:25dvh;overflow:auto;padding:0 2px 3px;overscroll-behavior:contain}
  .sidebar nav>.nav-label{padding:8px 8px 4px}
  .sidebar nav>a,.sidebar nav>.nav-group>summary,.sidebar nav .nav-subgroup>summary{min-height:40px}
  .sidebar .nav-group,.sidebar .nav-subgroup{padding:2px 0}
  .sidebar .nav-group>a,.sidebar .nav-subgroup>a{min-height:38px}
  .main{margin:0;width:100%;padding:18px 12px 32px}
  .main > .page-head:not(.member-dashboard-head){padding:17px 16px;margin-bottom:15px;gap:12px}
  .main > .page-head h1,.main .page-head h1{font-size:24px;line-height:1.2}
  .main .page-actions{gap:8px}
  .main .page-actions .button,.main > .page-head>.button{min-height:40px}
  .main .cards,.main .card-grid,.main .dashboard-grid,.main .member-dashboard-grid,
  .main .workflow-grid,.main .stats-grid,.main .dc-grid{grid-template-columns:minmax(0,1fr)}
  .main .panel{padding:15px 13px;margin-bottom:14px}
  .main .panel-head{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .main .panel-head h2{font-size:16px}
  .main .button{min-height:38px}
  .main .table-scroll,.main .member-table-wrap{margin-inline:-3px}
  .main table{min-width:620px}
  .main .scanner-main-form,.main .form-grid,.main .review-form,.main .watchlist-manage .review-form{grid-template-columns:minmax(0,1fr)}
  .main .scanner-main-form #scanButton,.main .scanner-main-form .scanner-advanced{grid-column:auto}
  .main .scanner-main-form>*{min-width:0;width:100%}
  .main .scanner-secondary{padding:13px}
  .main .gtf-hero,.main .gtf-results-panel,.main .personal-watchlist,.main .watchlist-sheet{min-width:0}
  .main .gtf-results-grid,.main .gtf-stock-grid{grid-template-columns:minmax(0,1fr)}
  .main .bird-toggles,.main .personal-watchlist-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .main .watchlist-sheet-head{flex-wrap:wrap}
  .main .watchlist-sheet-actions{max-width:100%;justify-content:flex-start}
  .main .watchlist-stock-row{align-items:flex-start;flex-wrap:wrap;padding:11px 12px}
  .main .watchlist-stock-right{margin-left:auto;gap:9px}
  .zone-trade-modal{padding:8px}
  .zone-trade-dialog,.member-action-dialog,.chart-only-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 16px);overflow:auto;padding:15px;border-radius:12px}
  .zone-trade-dialog-head{gap:10px}
  .zone-trade-dialog-head h2{font-size:19px}
  .zone-trade-dialog .form-grid,.zone-trade-dialog form .form-grid{grid-template-columns:minmax(0,1fr)}
  .zone-trade-dialog input,.zone-trade-dialog select,.zone-trade-dialog textarea{width:100%;min-width:0;min-height:42px}
  #contextDialog .chart-only-dialog{width:100vw;max-width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;padding:6px;overflow:auto}
  #contextDialog .chart-only-dialog .chart-panel,#contextDialog .chart-only-dialog #workspace-chart{height:auto;min-height:0}
  #contextDialog .chart-only-dialog .chart-panel .chart-layout{height:auto;grid-template-columns:minmax(0,1fr);gap:7px}
  #contextDialog .chart-only-dialog .chart-panel .nse-chart-host{height:48dvh;min-height:250px;flex:none}
  #contextDialog .chart-only-dialog .chart-panel .chart-levels{height:auto;max-height:34dvh;overflow:auto;padding:10px}
  #contextDialog .chart-only-dialog .chart-panel-identity{flex-direction:row;align-items:center;min-width:0}
  #contextDialog .chart-only-dialog .chart-toolbar{flex-wrap:wrap;gap:5px}
  #contextDialog .chart-only-dialog .chart-toolbar>*{max-width:100%}
}
@media(max-width:380px){
  .main{padding-inline:9px}
  .main > .page-head:not(.member-dashboard-head){padding:15px 13px}
  .main .panel{padding:13px 10px}
  .sidebar{padding-inline:9px}
  .sidebar .account-identity strong{max-width:145px}
  .main .page-actions .button{flex:1}
  .zone-trade-dialog{padding:12px}
}

/* Compact risk notice shared by workspace pages. */
.site-disclaimer{margin:26px 0 0;padding:10px 2px 4px;border-top:1px solid rgba(147,170,195,.14);color:#8495a8;font-size:10.5px;line-height:1.5}
.site-disclaimer>p{display:inline;margin:0 10px 0 0;color:#aab7c5}
.site-disclaimer details{display:inline-block}
.site-disclaimer summary{display:inline;color:#d6b47e;cursor:pointer}
.site-disclaimer details>div{max-width:1050px;padding-top:8px;color:#9caabc}
.site-disclaimer details p{margin:5px 0}
.mobile-nav-toggle{display:none}
@media(max-width:600px){
  .sidebar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:5px 10px;width:100%;max-height:none;min-height:0;padding:8px 12px;overflow:visible;border-right:0;border-bottom:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .sidebar .brand{grid-column:1;grid-row:1;align-self:center;position:static;padding:2px 0;margin:0;border:0;background:none}
  .sidebar .brand-mark{width:31px;height:31px}
  .sidebar .brand-name{font-size:15px}
  .sidebar .mobile-nav-toggle{grid-column:2;grid-row:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:0 12px;border:1px solid #3a5068;border-radius:8px;background:#182738;color:#edf3f8;font:650 12px var(--font);cursor:pointer}
  .sidebar .mobile-nav-toggle[aria-expanded="true"]{border-color:#947044;background:#28281f;color:#ffe0a7}
  .sidebar .account-strip{grid-column:1/-1;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:none;margin:0;padding:8px 10px;border-radius:9px}
  .sidebar .account-identity{gap:8px}
  .sidebar .account-avatar{width:31px;height:31px;font-size:12px}
  .sidebar .account-identity strong{max-width:180px;font-size:12px}
  .sidebar .account-identity small{margin-top:2px}
  .sidebar .account-strip form{width:auto;padding:0;border:0}
  .sidebar .account-signout{width:auto;min-height:30px;gap:8px}
  .sidebar nav{grid-column:1/-1;grid-row:3;display:none;max-height:62dvh;overflow-y:auto;padding:6px 2px 4px;overscroll-behavior:contain;border-top:1px solid rgba(151,177,204,.16)}
  .sidebar[data-mobile-nav-open="true"] nav{display:block}
  .sidebar nav>.nav-label{padding:6px 8px 4px}
  .sidebar nav>a,.sidebar nav>.nav-group>summary,.sidebar nav .nav-subgroup>summary{min-height:42px}
  .sidebar .nav-group,.sidebar .nav-subgroup{padding:2px 0}
  .sidebar .nav-group>a,.sidebar .nav-subgroup>a{min-height:40px}
  .main{margin:0;width:100%;padding-top:18px}
}
