:root{--r8-logo-blue:#1768ad;--r8-panel:#071d31;--r8-border:rgba(76,151,207,.28);--r8-muted:#a9bfd2}
html.castsight-r8 .app-header.app-header-centered #pageLabel,
html.castsight-r8 .app-header-centered h1#pageLabel,
html.castsight-r8 .page-banner h1,
html.castsight-r8 .page-header>h1,
html.castsight-r8 .page-title-main{
  background:linear-gradient(100deg,#fff 0%,#fff 72%,#d8e9f7 84%,#4e8bc1 93%,#15598f 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;
}
html.castsight-r8 body::before{
  background:linear-gradient(180deg,rgba(2,12,24,.56),rgba(2,12,24,.66) 50%,rgba(2,10,20,.74)),url("assets/welcome-beach.png") center/cover fixed no-repeat!important;
  filter:brightness(.94) saturate(1.03) contrast(1.02)!important;opacity:1!important;
}
html.castsight-r8 .r8-report-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;justify-content:flex-end;align-self:center}
html.castsight-r8 .r8-report-actions button{min-height:36px;padding:.45rem .65rem;border-radius:10px;background:#0d4776;color:#fff;border:1px solid rgba(80,164,225,.42);font-weight:800;cursor:pointer}
html.castsight-r8 .r8-report-actions button.danger{background:rgba(103,29,39,.55);border-color:rgba(231,91,108,.5);color:#ffe0e3}
html.castsight-r8 .r8-catch-card{grid-template-columns:88px minmax(0,1fr) auto!important;align-items:center!important;gap:1rem!important}
html.castsight-r8 .r8-catch-copy{min-width:0}.r8-catch-placeholder{display:grid;place-items:center;font-size:1.6rem}
html.castsight-r8 .r8-my-catches-panel{margin-top:1.15rem}.r8-my-catches-list{display:grid;gap:.8rem}.r8-empty-state{padding:1.25rem;border:1px dashed var(--r8-border);border-radius:14px;color:var(--r8-muted);display:grid;gap:.25rem}.r8-empty-state strong{color:#fff}

/* Bite Map Revision 8: hide every legacy renderer and use one isolated root. */
html.castsight-r8 [data-view="map"] #bitePublicFeedPanel{display:none!important}
html.castsight-r8 [data-view="map"] .bite-map-panel{padding:1rem!important;overflow:visible!important}
html.castsight-r8 [data-view="map"] .bite-map-panel>[hidden]{display:none!important}
html.castsight-r8 .r8-bite-map-root{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;height:min(800px,calc(100vh - 150px));min-height:620px}
html.castsight-r8 .r8-map-sidebar{min-width:0;display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--r8-border);border-radius:20px;background:linear-gradient(145deg,rgba(7,30,51,.99),rgba(3,18,32,.99));overflow:hidden}
html.castsight-r8 .r8-map-head h2{margin:.12rem 0;color:#fff!important;font-size:1.2rem!important}.r8-map-head p{margin:0;color:var(--r8-muted)!important;font-size:.83rem}
html.castsight-r8 .r8-map-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.r8-map-search input,.r8-map-filters select{min-width:0;width:100%;min-height:44px;border-radius:11px;background:#061827;color:#fff;border:1px solid rgba(74,153,211,.3);padding:.65rem .75rem}.r8-map-search button{min-height:44px;padding:.6rem .8rem;border-radius:11px;background:#145f9f;color:#fff;border:1px solid #3e91cf;font-weight:850;cursor:pointer}
html.castsight-r8 .r8-map-filters{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.r8-layer-button{min-height:54px;border-radius:12px;background:rgba(12,48,78,.92);border:1px solid rgba(77,158,217,.32);color:#fff;text-align:left;padding:.65rem .8rem;cursor:pointer}.r8-layer-button small{display:block;color:#a9bfd2}.r8-layer-button.active{background:#145f9f;border-color:#55a9ed}
html.castsight-r8 .r8-beach-list{min-height:0;overflow:auto;display:grid;gap:.45rem;padding-right:.2rem}.r8-beach-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;text-align:left;padding:.72rem .78rem;border-radius:11px;background:rgba(11,42,68,.85);border:1px solid rgba(74,151,209,.24);color:#e8f4ff;cursor:pointer}.r8-beach-item span{min-width:0}.r8-beach-item strong{display:block;color:#fff;white-space:normal}.r8-beach-item small{display:block;color:#9fb8cd;white-space:normal}.r8-beach-item.selected{background:#135f9f;border-color:#55a9ed}.r8-beach-item b{font-size:1rem}
html.castsight-r8 .r8-map-stage{position:relative;min-width:0;height:100%;border-radius:22px;overflow:hidden;background:#081c2f;border:1px solid var(--r8-border)}.r8-google-map{width:100%;height:100%;min-height:620px;touch-action:none}.r8-map-drawer{position:absolute;right:14px;top:14px;bottom:14px;width:min(370px,44%);z-index:15;overflow:auto;padding:1rem;border-radius:18px;background:rgba(4,22,38,.97);border:1px solid rgba(86,166,224,.34);box-shadow:0 22px 58px rgba(0,0,0,.42);color:#fff}.r8-map-close{float:right;position:sticky;top:0;width:34px;height:34px;border-radius:50%;background:#124a78;color:#fff;border:1px solid rgba(94,174,229,.35);cursor:pointer}.r8-map-score{padding:.9rem;border-radius:14px;background:rgba(16,67,104,.72);display:flex;justify-content:space-between;align-items:center;gap:.75rem}.r8-map-score strong{font-size:1.45rem}.r8-map-score span{color:#b7cad9}.r8-map-fact{padding:.75rem 0;border-bottom:1px solid rgba(126,171,205,.15)}.r8-map-fact>span{display:block;color:#8faec6;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.r8-map-fact>strong{display:block;color:#fff;margin-top:.25rem}.r8-map-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.r8-map-actions a,.r8-map-actions button{min-height:42px;padding:.65rem .85rem;border-radius:999px;background:#1267b5;color:#fff!important;border:1px solid #4a9bd8;text-decoration:none;font-weight:850;cursor:pointer}.r8-map-parking{display:grid;gap:.45rem;margin-top:.45rem}.r8-map-parking a{display:grid;padding:.55rem .65rem;border-radius:10px;background:rgba(13,48,76,.82);text-decoration:none}.r8-map-parking a strong{color:#fff}.r8-map-parking a small{color:#a9bfd3}.r8-map-fallback{height:100%;display:grid;place-items:center;text-align:center;padding:2rem;background:radial-gradient(circle at 50% 30%,rgba(30,110,170,.25),transparent 38%),linear-gradient(145deg,#0a2944,#06192c)}.r8-map-fallback h2{color:#fff!important}.r8-map-fallback p{color:#b7cad9}

/* Tackle detail/editor stability and clearer capacity rows. */
html.castsight-r8 .gear-detail-hero-wrap{position:relative;min-height:280px;display:grid;place-items:center;background:#061827;border-radius:16px;overflow:hidden}.gear-detail-hero-wrap img{max-width:100%;max-height:440px;object-fit:contain}.gear-detail-hero-wrap span{position:absolute;bottom:.7rem;left:.7rem;padding:.35rem .55rem;border-radius:999px;background:rgba(3,18,32,.82);color:#c8dae8;font-size:.75rem}.gear-detail-gallery>#gearDetailThumbs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}.gear-detail-gallery>#gearDetailThumbs button{width:48px;height:48px;border-radius:10px;background:#0b3658;color:#fff;border:1px solid rgba(87,164,219,.35);cursor:pointer}.gear-editor-error{color:#ffd2d6;background:rgba(99,29,39,.34);padding:.7rem;border-radius:10px}
html.castsight-r8 .reel-capacity-row{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr))!important;gap:.7rem!important;align-items:end!important;padding:.85rem!important}.r8-capacity-field{display:grid;gap:.32rem;min-width:0}.r8-capacity-field>span{color:#9fb8cd;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.reel-capacity-row .capacity-remove{min-height:42px!important;width:auto!important;background:rgba(96,31,41,.45)!important;color:#ffd9dd!important;border:1px solid rgba(220,87,104,.45)!important;border-radius:10px!important;padding:.55rem .7rem!important}
@media(max-width:1050px){html.castsight-r8 .r8-bite-map-root{grid-template-columns:1fr;height:auto}.r8-map-sidebar{max-height:430px}.r8-map-stage{height:68vh;min-height:540px}.r8-map-drawer{width:min(380px,92%)}}
@media(max-width:820px){html.castsight-r8 .r8-catch-card{grid-template-columns:72px 1fr!important}.r8-report-actions{grid-column:1/-1;justify-content:flex-start}.reel-capacity-row{grid-template-columns:1fr 1fr!important}}
@media(max-width:580px){html.castsight-r8 .r8-map-filters{grid-template-columns:1fr}.r8-map-search{grid-template-columns:1fr}.r8-map-stage{min-height:500px}.reel-capacity-row{grid-template-columns:1fr!important}}
