/* Sector AI Analyst page */
.sa-wrap{display:flex;flex-direction:column;gap:12px;height:100%}
.sa-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sa-title{font-family:var(--fh);font-size:18px;font-weight:600;color:var(--gold2)}
.sa-ctl{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:12px 14px}
.sa-f{display:flex;flex-direction:column;gap:4px;min-width:210px}
.sa-f label{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink3)}
.sa-f select{padding:8px 10px;border:1px solid var(--rim2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.sa-ctl{flex-wrap:nowrap;padding:10px 14px}
.sa-cov{margin-left:auto;font-size:11px;color:var(--ink3);display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.sa-chip{display:inline-flex;gap:4px;align-items:center;padding:3px 9px;border:1px solid var(--rim2);border-radius:12px;background:var(--raised);color:var(--ink2);white-space:nowrap;font-size:11px}
.sa-chip b{color:var(--ink)}
.sa-chip-warn{border-color:#b45309;color:#b45309}.sa-chip-warn b{color:#b45309}
.sa-chip-bad{border-color:#b91c1c;color:#b91c1c;background:rgba(185,28,28,.08)}.sa-chip-bad b{color:#b91c1c}
.sa-info{position:relative;flex:none}
.sa-info-btn{font:inherit;font-size:12px;padding:5px 10px;border:1px solid var(--rim2);border-radius:8px;background:var(--surface);color:var(--gold2);cursor:pointer}
.sa-info-btn:hover,.sa-info-btn[aria-expanded="true"]{border-color:var(--gold)}
.sa-pop{display:block;position:absolute;right:0;top:calc(100% + 6px);z-index:60;width:min(460px,86vw);padding:12px 14px;background:var(--surface);border:1px solid var(--rim2);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:12px;line-height:1.55;color:var(--ink2);text-align:left}
.sa-pop[hidden]{display:none}
.sa-pop-row+.sa-pop-row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--rim2)}
.sa-pop-k{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:4px}
.sa-pop-tag{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border-radius:10px;background:var(--raised);border:1px solid var(--rim);font-size:11px}
.sa-pop-note{font-size:11px;color:var(--ink3)}
@media(max-width:1000px){.sa-ctl{flex-wrap:wrap}.sa-cov{margin-left:0;justify-content:flex-start}}
.sa-grid{display:grid;grid-template-columns:minmax(360px,460px) 1fr;gap:12px;min-height:0;flex:1}
@media(max-width:1000px){.sa-grid{grid-template-columns:1fr}}
.sa-rank{padding:0;display:flex;flex-direction:column;min-height:420px;max-height:calc(100vh - 180px)}
.sa-rh{padding:10px 14px;font-weight:600;border-bottom:1px solid var(--rim);display:flex;gap:8px;align-items:center}
.sa-tw{overflow:auto;flex:1}
.sa-t{width:100%;border-collapse:collapse;font-size:12px}
.sa-t th{position:sticky;top:0;background:var(--raised);text-align:left;padding:7px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink3)}
.sa-t td{padding:7px 8px;border-top:1px solid var(--rim);vertical-align:middle}
.sa-t tr.sa-r{cursor:pointer}.sa-t tr.sa-r:hover{background:var(--raised)}
.sa-rk{font-weight:700;color:var(--gold2)}
.sa-sc{display:inline-block;min-width:34px;text-align:center;padding:2px 6px;border-radius:10px;font-weight:600;background:var(--raised)}
.sa-sc.hi{background:rgba(22,163,74,.15);color:var(--jade2)}.sa-sc.lo{background:rgba(220,38,38,.12);color:var(--ruby2)}
.sa-up{color:var(--jade2)}.sa-dn{color:var(--ruby2)}
.sa-sub{color:var(--ink3);font-size:11px}
.sa-chat{display:flex;flex-direction:column;padding:0;min-height:420px;max-height:calc(100vh - 180px)}
.sa-q{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--rim)}
.sa-qc{font-size:11px;padding:5px 10px;border:1px solid var(--rim2);border-radius:14px;cursor:pointer;background:var(--surface);color:var(--ink2)}
.sa-qc:hover{border-color:var(--gold);color:var(--gold2)}
.sa-msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}
.sa-m{max-width:94%;padding:10px 13px;border-radius:12px;font-size:13px;line-height:1.55}
.sa-m.u{align-self:flex-end;background:var(--gold2);color:#fff;white-space:pre-wrap}
.sa-m.a{align-self:flex-start;background:var(--raised);border:1px solid var(--rim)}
.sa-m.a h4{margin:10px 0 4px;font-size:13px;color:var(--gold2)}
.sa-m.a ul{margin:4px 0 6px 18px;padding:0}.sa-m.a p{margin:4px 0}
.sa-m.a table{border-collapse:collapse;margin:8px 0;font-size:12px;display:block;overflow:auto}
.sa-m.a th,.sa-m.a td{border:1px solid var(--rim2);padding:4px 8px;text-align:left}
.sa-m.a th{background:var(--float)}
.sa-m.a code{background:var(--float);padding:1px 5px;border-radius:4px;font-size:11.5px}
.sa-meta{margin-top:6px;font-size:10px;color:var(--ink3);display:flex;gap:10px}
.sa-meta a{cursor:pointer;color:var(--gold2)}
.sa-think{display:flex;gap:8px;align-items:center;color:var(--ink3)}
.sa-think i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:saB 1s infinite ease-in-out}
.sa-think i:nth-child(2){animation-delay:.15s}.sa-think i:nth-child(3){animation-delay:.3s}
@keyframes saB{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}
.sa-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--rim)}
.sa-in textarea{flex:1;resize:none;padding:9px 11px;border:1px solid var(--rim2);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.sa-send{width:40px;border:0;border-radius:10px;background:var(--gold2);color:#fff;font-size:18px;cursor:pointer}
.sa-send:disabled{opacity:.5;cursor:wait}
.sa-empty{margin:auto;text-align:center;color:var(--ink3);font-size:12.5px;max-width:420px;line-height:1.6}

.sa-meta a.sa-dl{padding:3px 9px;border:1px solid var(--gold);border-radius:12px;font-weight:600;margin-left:auto}
.sa-meta a.sa-dl:hover{background:var(--gold2);color:#fff}

/* decision brief */
.sa-m.a:has(.sa-brief){width:100%;max-width:100%}
.sa-brief{display:flex;flex-direction:column;gap:10px}
.sa-bh{font-size:15px;font-weight:700;line-height:1.4;color:var(--ink)}
.sa-stance{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sa-st{font-size:10.5px;font-weight:700;letter-spacing:.8px;padding:4px 10px;border-radius:12px;color:#fff}
.sa-st-overweight{background:#15803d}.sa-st-neutral{background:#b45309}.sa-st-underweight{background:#b91c1c}
.sa-stw{font-size:12px;color:var(--ink2)}
.sa-bs{margin:0 0 0 18px;padding:0;font-size:12.5px;line-height:1.5}
.sa-cnt{display:flex;gap:6px;flex-wrap:wrap}
.sa-cb{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.6px;padding:3px 9px;border-radius:10px;white-space:nowrap}
.sa-c-buy{background:#15803d;color:#fff}.sa-c-acc{background:#dcf3e3;color:#15803d}.sa-c-hold{background:#fff1cc;color:#b45309}
.sa-c-red{background:#ffe4d3;color:#c2410c}.sa-c-sell{background:#b91c1c;color:#fff}.sa-c-avoid{background:#fde2e2;color:#b91c1c}
.sa-cw{overflow:auto;border:1px solid var(--rim);border-radius:8px}
.sa-ct{width:100%;border-collapse:collapse;font-size:12px}
.sa-ct th{background:var(--float);text-align:left;padding:6px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink3);white-space:nowrap}
.sa-ct td{padding:8px 9px;border-top:1px solid var(--rim);vertical-align:top}
.sa-ct td:first-child{min-width:130px}.sa-ct td:nth-child(2){min-width:104px}
.sa-dat{margin-top:3px;font-size:9.5px;font-weight:600}
.sa-d-full{color:#15803d}.sa-d-partial{color:#b45309}.sa-d-quant{color:var(--ink3)}
.sa-rk2{font-size:12px;border-left:3px solid #b45309;background:rgba(180,83,9,.07);padding:7px 11px;border-radius:0 8px 8px 0}
.sa-rk2 ul{margin:4px 0 0 16px;padding:0}
.sa-det{font-size:12.5px}.sa-det summary{cursor:pointer;color:var(--gold2);font-weight:600}
.sa-detb{margin-top:6px;padding-top:6px;border-top:1px dashed var(--rim2)}
.sa-held{font-size:9px;font-weight:700;letter-spacing:.4px;padding:1px 6px;border-radius:8px;background:rgba(37,99,235,.14);color:var(--gold2);margin-left:3px}
.sa-meta a.sa-dl1{margin-left:0}

/* ═══ Mobile / tablet (phones ≤ 700px, stacked layout ≤ 1000px) ═══ */
@media(max-width:1000px){
  .sa-wrap{height:auto}
  .sa-rank,.sa-chat{max-height:none}
  .sa-chat{order:-1;height:calc(100vh - 150px);height:calc(100dvh - 150px);min-height:460px}
  .sa-rank{min-height:0;max-height:420px}
  .sa-pop{right:auto;left:0}
}
@media(max-width:700px){
  .sa-head{flex-wrap:wrap}
  .sa-head>div:last-child{width:100%;justify-content:flex-end}
  .sa-title{font-size:16px}
  .sa-ctl{gap:10px;padding:10px 12px}
  .sa-f{min-width:0;flex:1 1 140px}
  .sa-f select{width:100%;font-size:16px;min-height:40px}   /* 16px stops iOS auto-zoom */
  .sa-cov{width:100%;margin-left:0;justify-content:flex-start}
  .sa-info{width:100%}
  .sa-info-btn{min-height:36px}
  .sa-pop{width:calc(100vw - 48px);max-height:60vh;overflow:auto}
  .sa-q{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 10px}
  .sa-qc{white-space:nowrap;flex:none;padding:7px 12px}
  .sa-msgs{padding:10px;gap:10px}
  .sa-m{max-width:100%;font-size:13.5px}
  .sa-m.a{overflow-wrap:anywhere}
  .sa-in{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .sa-in textarea{font-size:16px}
  .sa-send{width:46px;min-height:44px}
  .sa-meta{flex-wrap:wrap}
  .sa-meta a.sa-dl{margin-left:0}
  .sa-ct td:first-child{min-width:110px}
  .sa-t th:nth-child(3),.sa-t td:nth-child(3),.sa-t th:nth-child(5),.sa-t td:nth-child(5){display:none} /* hide Sub-sector & Hist/Fwd columns on phones */
  .sa-t td,.sa-t th{padding:8px 6px}
}

/* ═══ Executive view ═══ */
.sa-tabs{display:inline-flex;gap:0;border:1px solid var(--rim2);border-radius:10px;overflow:hidden;align-self:flex-start}
.sa-tabs button{font:inherit;font-size:12px;padding:6px 14px;border:0;background:var(--surface);color:var(--ink2);cursor:pointer;min-height:32px}
.sa-tabs button.on{background:var(--gold2);color:#fff;font-weight:600}
.sa-ex{display:flex;flex-direction:column;gap:14px}
.sa-exh{font-size:17px;font-weight:700;line-height:1.35;color:var(--ink)}
.sa-gl{font-size:10px;letter-spacing:.9px;font-weight:700;color:var(--ink3);text-transform:uppercase}
.sa-gauge{display:flex;flex-direction:column;gap:6px}
.sa-gbar{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.sa-g{text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.6px;padding:7px 4px;border-radius:6px;background:var(--float);color:var(--ink3);opacity:.55}
.sa-g.on{opacity:1;color:#fff;transform:scaleY(1.12);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.sa-g0.on{background:#b91c1c}.sa-g1.on{background:#b45309}.sa-g2.on{background:#15803d}
.sa-gw{font-size:12px;color:var(--ink2);line-height:1.45}
.sa-mix{display:flex;flex-direction:column;gap:6px}
.sa-mixb{display:flex;gap:2px;height:30px;border-radius:8px;overflow:hidden}
.sa-mixb span{display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;min-width:34px;white-space:nowrap}
.sa-mixl{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--ink2);align-items:center}
.sa-mixh{margin-left:auto;padding:2px 10px;border-radius:12px;background:var(--raised);border:1px solid var(--rim2)}
.sa-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.sa-tile{border:1px solid var(--rim2);border-top:4px solid var(--cc);border-radius:10px;padding:10px 12px;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:7px;transition:box-shadow .15s,transform .15s}
.sa-tile:hover{box-shadow:0 4px 14px rgba(0,0,0,.14);transform:translateY(-1px)}
.sa-tt{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.sa-tn{display:flex;flex-direction:column;gap:2px;min-width:0}
.sa-tn b{font-size:13px;line-height:1.25}
.sa-ring{width:42px;height:42px;flex:none}
.sa-ring .bg{fill:none;stroke:var(--rim2);stroke-width:4}
.sa-ring .fg{fill:none;stroke-width:4;stroke-linecap:round}
.sa-ring text{font-size:11px;font-weight:700;fill:var(--ink)}
.sa-ring0{display:flex;align-items:center;justify-content:center;color:var(--ink3)}
.sa-tc{display:flex;justify-content:space-between;align-items:center}
.sa-cp{font-size:11px;font-weight:800;letter-spacing:.5px;color:#fff;background:var(--cc);padding:3px 10px;border-radius:12px}
.sa-dots{display:inline-flex;gap:3px}.sa-dots i{width:8px;height:8px;border-radius:50%;background:var(--rim2)}.sa-dots i.on{background:var(--cc)}
.sa-tw1{font-size:11.5px;line-height:1.4;color:var(--ink2)}
.sa-tx{display:none;font-size:11.5px;line-height:1.45;color:var(--ink2);border-top:1px dashed var(--rim2);padding-top:7px}
.sa-tile.open .sa-tx{display:block}.sa-tile.open .sa-tw1{display:none}
.sa-trg{margin-top:6px;font-weight:600;color:var(--ink)}
.sa-kp{display:flex;flex-direction:column;gap:6px}
.sa-kpi{display:flex;gap:9px;align-items:flex-start}
.sa-kpi span{flex:none;width:20px;height:20px;border-radius:50%;background:var(--gold2);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}
.sa-kpi p{margin:0;font-size:12.5px;line-height:1.45}
.sa-rkx{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sa-rkc{font-size:11px;padding:4px 10px;border-radius:12px;background:rgba(180,83,9,.1);border:1px solid #b45309;color:#b45309}
.sa-hint{font-size:10.5px;color:var(--ink3)}
.sa-vw{gap:10px}
@media(max-width:700px){.sa-tiles{grid-template-columns:1fr 1fr;gap:8px}.sa-exh{font-size:15px}.sa-tile{padding:9px 10px}}
@media(max-width:400px){.sa-tiles{grid-template-columns:1fr}}

/* ═══ Phone polish (v2) ═══ */
.sa-rcar{display:none}
@media(max-width:1000px){
  .sa-rh{cursor:pointer;user-select:none;min-height:44px}
  .sa-rcar{display:inline-block;margin-left:auto;width:9px;height:9px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);transition:transform .15s}
  .sa-rank.sa-open .sa-rcar{transform:rotate(-135deg)}
  .sa-rank:not(.sa-open) .sa-tw{display:none}          /* ranking starts collapsed on phones/tablets — the chat is the main thing */
  .sa-rank:not(.sa-open){min-height:0;max-height:none}
  .sa-rank .sa-rh .chip{display:inline-flex}
}
@media(max-width:700px){
  .sa-head>div:first-child{display:none}                /* the top bar already shows the page title */
  .sa-head{justify-content:flex-end;margin-bottom:-4px}
  .sa-wrap{gap:10px}
  .sa-cov{display:none}                                 /* coverage chips: desktop diagnostics, not needed on a phone */
  .sa-ctl{align-items:flex-end}
  .sa-info{width:auto;margin-left:auto}
  .sa-chat{height:calc(100vh - 300px);height:calc(100dvh - 300px);min-height:380px}
  .sa-m.a:has(.sa-brief){padding:10px}
  .sa-exh{font-size:15px}
}
