/* owner-ratings.css: owner-only Ratings (ratings.py, templates/_ratings.html, static/owner-ratings.js). Oct 23 2026, v2
   (Jason 9:34 AM: "make the ratings really stand out" - TradingView-style gauge + per-rating bars, big price targets,
   big Morningstar stars, legible list column). Loaded only on owner Desk pages (base.html: owner and desk) and in Tops.
   Colours are Coteau's: the act-pill palette (actions.css: Strong Buy #0B7340, Buy green outline, Hold gray,
   Underperform red outline, Sell #B8302A) and the --up/--down tokens; fonts --f-head / --f-body. */
.rt-sec{margin:0;--rt-buy:#0B7340;--rt-add:#3FA16E;--rt-neu:#9AA3A9;--rt-trim:#E0675D;--rt-sell:#B8302A;
 --rt-num:var(--f-head,"General Sans","Inter",sans-serif)}
html[data-theme=dark] .rt-sec,html[data-theme=dark] .rt-col{--rt-buy:#3FBF7F;--rt-add:#2B7A52;--rt-neu:#5C656B;--rt-trim:#B4544C;--rt-sell:#F07167}
.rt-col{--rt-buy:#0B7340;--rt-add:#3FA16E;--rt-neu:#9AA3A9;--rt-trim:#E0675D;--rt-sell:#B8302A}
.rt-sec>.rt-card{width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}
.rt-sec>.rt-card+.rt-card{margin-top:12px}
.rt-k{font:650 17px/22px var(--f-head,"Inter",sans-serif);color:var(--ink);letter-spacing:-.1px}
.rt-k small{font:500 14px/1 var(--f-body,"Inter",sans-serif);color:var(--ink-3,var(--ink-2))}
.rt-c-buy{fill:var(--rt-buy);background:var(--rt-buy)}.rt-c-add{fill:var(--rt-add);background:var(--rt-add)}
.rt-c-neu{fill:var(--rt-neu);background:var(--rt-neu)}.rt-c-trim{fill:var(--rt-trim);background:var(--rt-trim)}
.rt-c-sell{fill:var(--rt-sell);background:var(--rt-sell)}
.rt-t-buy{color:var(--rt-buy)}.rt-t-add{color:var(--rt-add)}.rt-t-neu{color:var(--ink-2)}.rt-t-trim{color:var(--rt-trim)}.rt-t-sell{color:var(--rt-sell)}
html[data-theme=dark] .rt-t-add{color:#7FD3A6}html[data-theme=dark] .rt-t-trim{color:#F49A92}
/* consensus: gauge + verdict */
.rt-hero{display:flex;align-items:center;gap:28px}
.rt-gauge{width:300px;max-width:100%;height:auto;flex:none;overflow:visible}
.rt-seg{fill:none;stroke-width:18;opacity:.32}
.rt-seg.rt-c-buy{stroke:var(--rt-buy)}.rt-seg.rt-c-add{stroke:var(--rt-add)}.rt-seg.rt-c-neu{stroke:var(--rt-neu)}
.rt-seg.rt-c-trim{stroke:var(--rt-trim)}.rt-seg.rt-c-sell{stroke:var(--rt-sell)}.rt-seg.on{opacity:1;stroke-width:22}
.rt-gl{font:600 11px var(--f-body,"Inter",sans-serif);fill:var(--ink-3,var(--ink-2))}
.rt-needle{stroke:var(--ink);stroke-width:4;stroke-linecap:round}.rt-hub{fill:var(--ink)}
.rt-verdict{display:flex;flex-direction:column;gap:6px;min-width:0}
.rt-vlab{font:700 40px/1.05 var(--rt-num);letter-spacing:-1px}
.rt-vsub{font:500 16px/22px var(--f-body,"Inter",sans-serif);color:var(--ink-2)}.rt-vsub b{color:var(--ink);font-variant-numeric:tabular-nums}
.rt-vscale{font-size:13px;color:var(--ink-3,var(--ink-2))}
/* consensus: one full-width row per rating */
.rt-rows{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.rt-cr{display:grid;grid-template-columns:128px 1fr 92px;align-items:center;gap:14px}
.rt-rl{font:600 16px/20px var(--f-body,"Inter",sans-serif);color:var(--ink)}
.rt-bar{height:16px;border-radius:8px;background:var(--surface-2,#EEF1F3);overflow:hidden}
.rt-bar i{display:block;height:100%;border-radius:8px;min-width:0}
.rt-rn{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;font-variant-numeric:tabular-nums}
.rt-rn b{font:700 22px/1 var(--rt-num);color:var(--ink)}.rt-rn small{font:500 14px/1 var(--f-body,"Inter",sans-serif);color:var(--ink-3,var(--ink-2));min-width:34px;text-align:right}
.rt-cr.rt-zero .rt-rl,.rt-cr.rt-zero .rt-rn{opacity:.5}
/* price targets */
.rt-big2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rt-bn{display:flex;flex-direction:column;gap:4px}
.rt-bl{font:500 14px/18px var(--f-body,"Inter",sans-serif);color:var(--ink-2)}
.rt-num{font:700 34px/1.05 var(--rt-num);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.8px}
.rt-upl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.rt-vs{font-size:14px;color:var(--ink-2)}
.rt-up{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font:600 14px/1 var(--f-body,"Inter",sans-serif);white-space:nowrap;font-variant-numeric:tabular-nums}
.rt-up i{font-style:normal;font-size:.8em}.rt-up b{font-weight:700}
.rt-up.is-up{color:var(--up);background:var(--up-bg,rgba(18,128,74,.12))}
.rt-up.is-dn{color:var(--down);background:var(--down-bg,rgba(204,58,47,.12))}
.rt-up.is-flat{color:var(--ink-2);background:var(--surface-2)}
.rt-up-big{height:34px;padding:0 14px;font-size:17px}
.rt-range{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.rt-track{position:relative;height:12px;margin:12px 9px 4px;border-radius:6px;background:var(--surface-2,#EEF1F3)}
.rt-fill{position:absolute;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--down-bg,rgba(204,58,47,.18)),var(--up-bg,rgba(18,128,74,.18)));box-shadow:inset 0 0 0 1px var(--line)}
.rt-tick{position:absolute;top:-6px;width:4px;height:24px;margin-left:-2px;border-radius:2px}
.rt-avg{background:var(--ink)}
.rt-med{background:var(--ink-3,var(--ink-2));width:3px;margin-left:-1.5px;top:-3px;height:18px}
.rt-now{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%!important;background:var(--key,#1A9FA0);border:3px solid var(--card,#fff);box-shadow:0 0 0 1px var(--line);transition:left .4s}
.rt-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-2)}
.rt-leg span{display:inline-flex;align-items:center;gap:6px}
.rt-leg i{display:inline-block}.rt-lg-now{width:12px;height:12px;border-radius:50%!important;background:var(--key,#1A9FA0)}
.rt-lg-avg{width:4px;height:14px;border-radius:2px;background:var(--ink)}.rt-lg-med{width:3px;height:12px;border-radius:2px;background:var(--ink-3,var(--ink-2))}
.rt-lmh{display:flex;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.rt-lmh>div{display:flex;flex-direction:column;gap:3px}.rt-lmh>div:nth-child(2):not(:last-child){align-items:center}.rt-lmh>div:last-child{align-items:flex-end}
.rt-lmh span{font:500 14px/18px var(--f-body,"Inter",sans-serif);color:var(--ink-2)}
.rt-lmh b{font:700 21px/1.1 var(--rt-num);color:var(--ink);font-variant-numeric:tabular-nums}
/* Morningstar */
.rt-stars{display:inline-flex;gap:1px;font-size:15px;line-height:1;letter-spacing:0;white-space:nowrap}
.rt-stars i{font-style:normal;color:var(--line-2,var(--line,#D9DEE2))}
.rt-stars i.on{color:var(--ink)}
.rt-stars-xl{font-size:40px;gap:2px}.rt-stars-lg{font-size:26px;gap:2px}
.rt-mshead{padding:0 4px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.rt-mshead>div{display:flex;flex-direction:column;gap:2px}
.rt-mshead>div>b{font:700 22px/1.1 var(--rt-num);color:var(--ink)}.rt-mshead>div>span{font-size:15px;color:var(--ink-2);font-variant-numeric:normal;font-feature-settings:"cv11"}
.rt-msrows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.rt-msrow>span:first-child{font:600 17px/22px var(--f-body,"Inter",sans-serif);color:var(--ink)}
@media (max-width:640px){
 .rt-hero{flex-direction:column;align-items:stretch;gap:6px;text-align:center}
 .rt-gauge{width:100%;max-width:320px;margin:0 auto}
 .rt-verdict{align-items:center}.rt-vlab{font-size:38px}
 .rt-cr{grid-template-columns:112px 1fr 78px;gap:10px}.rt-rl{font-size:15px}.rt-rn b{font-size:20px}.rt-rn small{font-size:13px;min-width:30px}
 .rt-num{font-size:30px}.rt-lmh b{font-size:19px}
}
/* Desk list column */
.rt-list .row{align-items:center}
.rt-col{flex:none;display:inline-flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;min-width:128px;margin:0 16px 0 auto}
html[data-theme] body.ct .rt-col .act:not(#_){height:28px;padding:0 11px;font-size:14px!important;font-weight:650!important}
.rt-col .rt-sub{display:inline-flex;align-items:center;gap:6px}
.rt-col .rt-up{height:22px;padding:0 8px;font-size:13px}
.rt-col .rt-n{font:500 12px/1 var(--f-body,"Inter",sans-serif);color:var(--ink-3,var(--ink-2));font-variant-numeric:tabular-nums}
.rt-col .rt-ms{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px}
.rt-col .rt-stars{font-size:18px}
.rt-none{color:var(--ink-3,var(--ink-2));font-size:18px}
@media (max-width:420px){.rt-col{min-width:0;margin-right:10px}.rt-col .rt-n{display:none}
 html[data-theme] body.ct .rt-col .act:not(#_){height:26px;padding:0 8px;font-size:13px!important}.rt-col .rt-stars{font-size:15px}}
/* Tops: Advanced stats strip + tile detail sheet */
.rt-sheet .rt-src{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--ink-3,var(--ink-2))}
.rt-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.rt-si{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.rt-si small{font-size:12px;color:var(--ink-2)}
.rt-sheet{display:flex;flex-direction:column;gap:4px;margin:12px 0 0}
.rt-sheet .kv,.rt-sheet>div>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rt-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font:600 12px/1 var(--f-body,"Inter",sans-serif);white-space:nowrap;border:1px solid transparent}
.rt-pill.act-buy{background:#0B7340;border-color:#0B7340;color:#fff}
.rt-pill.act-add{background:transparent;border-color:#0B7340;color:#0B7340}
.rt-pill.act-neu{background:var(--surface-2,#EEF1F3);border-color:var(--line,#D9DEE2);color:var(--ink-2,#3F4549)}
.rt-pill.act-trim{background:transparent;border-color:#B8302A;color:#B8302A}
.rt-pill.act-sell{background:#B8302A;border-color:#B8302A;color:#fff}
html[data-theme=dark] .rt-pill.act-add{color:#3FBF7F;border-color:#3FBF7F}
html[data-theme=dark] .rt-pill.act-trim{color:#F07167;border-color:#F07167}
/* shape.css squares small spans site-wide; the range-bar "current price" marker stays a dot */
html[data-theme] body.ct .rt-now:not(#_),html[data-theme] body.ct .rt-lg-now:not(#_){border-radius:50%!important}
