/* Field Desk visual refinement: restrained, compact financial/outdoor workspace.
   Keep original utility and data density. No external font requests. */
:root{
  --green:#1e4934;--green2:#34684e;--green3:#e6efe7;
  --tan:#deded1;--tan2:#eceee6;--white:#f9faf4;--black:#121b15;
  --ink:#17221a;--muted:#657267;--line:#e3e7e0;
}
html{background:var(--tan2);scroll-behavior:smooth}
body{background:var(--tan2);color:var(--ink);
  font-family:"Avenir Next","Helvetica Neue",Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;line-height:1.42;-webkit-font-smoothing:antialiased}
.topbar.fielddesk-topbar{height:58px;background:#1c3d2d;border-bottom:1px solid #31513f;
  padding-left:clamp(14px,3vw,38px);padding-right:clamp(14px,3vw,38px);box-shadow:0 1px 9px #0c30120d}
.fielddesk-topbar .brand{text-transform:none;letter-spacing:-.045em;font-size:21px;font-weight:510;white-space:nowrap;color:#fffdf9}
.fielddesk-topbar nav a{font-size:11px;letter-spacing:.006em;font-weight:620;opacity:.88;white-space:nowrap;transition:opacity .16s,color .16s}
.fielddesk-topbar nav a:hover,.fielddesk-topbar nav a:focus-visible{opacity:1;color:#fff}
.fielddesk-topbar nav{gap:clamp(10px,1.5vw,18px)}
.page{padding-top:25px;padding-bottom:45px;max-width:1420px}
.section-head{margin:0 0 15px;align-items:flex-end}
.section-head .page-title,.page-title{font-size:clamp(24px,2.8vw,34px);font-weight:680;letter-spacing:-.055em;line-height:1.12}
.eyebrow,.kicker,.property-label{font-size:9px;letter-spacing:.12em;font-weight:760;color:#5d7964}
.section-head p,.lede,.muted{color:#69786d;line-height:1.5}
.panel{background:#f5f6ef;border:1px solid #dae2d6;border-radius:12px;
  box-shadow:0 2px 13px rgba(19,49,28,.035)}
.panel-title h2,.section-row h2{letter-spacing:-.025em;font-weight:695}
button,.btn,a.btn{font-family:inherit;transition:background-color .14s,border-color .14s,transform .12s;
  border-radius:8px;font-weight:720}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid #69997a;outline-offset:2px}
select,input,textarea{font-family:inherit}
table{font-variant-numeric:tabular-nums;border-collapse:collapse}
th{font-size:10px;letter-spacing:.045em;font-weight:730;color:#5b7161}
td{font-size:11.5px}
tr:hover td{background:rgba(232,241,232,.33)}
.panel .eyebrow{margin-bottom:5px}
.platform-grid,.outdoors-grid,.futures-main-grid,.equity-detail-grid{gap:12px}
.platform-section-head{padding-top:12px;padding-bottom:10px}
.platform-commandbar a{transition:background-color .18s,border-color .18s}
.platform-commandbar a:hover{background:#f1f7f0}
.property-shell,.outdoors-page{background:transparent}
.outdoors-page .section-head{margin-bottom:11px}
.outdoors-page .outdoors-map-panel{box-shadow:0 4px 17px rgba(18,44,30,.065)}
.outdoors-page .outdoors-map-shell{border-radius:12px;border-color:#d8e3da;overflow:hidden}
.outdoors-page #outdoorsMap{background:#e1e9df}
.outdoors-page .outdoors-map-tools button[data-active="true"]{background:#1e4d34!important;
  border-color:#1e4d34!important;color:#fff!important}
.outdoors-page .out-map-results{background:rgba(255,254,251,.98);backdrop-filter:blur(6px)}
.outdoors-page .out-map-result{border-color:#ecf0e9}
.outdoors-page .out-map-result-select:hover{background:transparent!important}
.outdoors-page .out-map-control-strip button{font-weight:720!important}
.property-left-rail,.property-detail,.property-toolbar{border-color:#e5ebe3}
.property-layer-button{transition:background-color .12s}
.property-layer-button.active{background:#e9f1e9;color:#214b36}
.property-map-wrap{background:#e9efe7}
.future-history-chart,.equity-chart-wrap{background:#fffefa;border-radius:9px}
.futures-detail-page .future-meta-grid b,.equity-detail-page .equity-stat-grid b{
  font-variant-numeric:tabular-nums}
footer{background:#1c3d2d;border-color:#345743;padding:16px 30px;font-size:10px;opacity:.98}
@media(max-width:1020px){.fielddesk-primary-nav{overflow-x:auto;scrollbar-width:none;max-width:calc(100vw - 255px)}
  .fielddesk-primary-nav::-webkit-scrollbar{display:none}}
@media(max-width:720px){
  .topbar.fielddesk-topbar{height:53px;padding:0 10px}
  .fielddesk-topbar .brand{font-size:18px}
  .fielddesk-primary-nav{max-width:calc(100vw - 180px);gap:12px!important}
  .fielddesk-topbar nav a{font-size:10px}
  .page{padding:16px 9px 34px}
  .section-head .page-title{font-size:25px}
  .panel{border-radius:11px}
  .outdoors-map-panel{padding:6px!important}
  .outdoors-page .out-marine-card{padding:11px}
  footer{padding:14px 10px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;
  transition-duration:0s!important;animation-duration:0s!important}}

/* Restore the Weather current-conditions contrast after the global light-panel refresh.
   Both the normal and hovered card must remain dark because their content is light. */
.weather-page .panel.weather-current,
.weather-page .panel.weather-current:hover{
  background:#1e4934;
  color:#fffefa;
  border-color:#173b2b;
  box-shadow:0 10px 26px rgba(23,60,43,.12);
}
.weather-page .weather-current .panel-title h2,
.weather-page .weather-current .current-temp,
.weather-page .weather-current .weather-metrics b{color:#fffefa}
.weather-page .weather-current .subtle,
.weather-page .weather-current .current-desc{color:#eee7d9}
.weather-page .weather-current .weather-metrics div{
  background:#2e5943;
  border-color:#47725b;
}
.weather-page .weather-current .weather-metrics span{color:#e1e8dc;font-size:11px}
.weather-page .weather-current .weather-metrics b{font-size:14px}

/* Weather readings remain readable whether data sources are available or not. */
.weather-page #weatherDataStatus{font-size:11px;line-height:1.5;color:#e2e9de;margin:12px 0 0;max-width:46ch}
.weather-page .weather-metrics b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.weather-page .weather-hourly-provenance{display:block;color:#dfe9df;font-size:9px;line-height:1.45;margin-top:4px;letter-spacing:0;text-transform:none}

/* Sage rather than flat-white surrounds and a restrained ink-green title rail. */
body{background:linear-gradient(180deg,#e7ebe2 0%,#eff0e9 46%,#e6ebe2 100%) fixed}
.section-head .page-title{color:#193b29}
.section-head .eyebrow{color:#346648}
.page:not(.desk) .section-head{border-bottom:1px solid #bed0c0;padding-bottom:12px}
.page:not(.desk) .section-head::before{content:"";display:block;position:absolute;width:42px;height:3px;background:#315f43;bottom:-2px;left:0;border-radius:3px}
.page:not(.desk) .section-head{position:relative}
/* Current conditions must retain dark background and accessible contrast. */
.weather-page .panel.weather-current,.weather-page .panel.weather-current:hover{background:#1e4934;color:#fffefa}

/* Charleston Green / parchment system v3. Strong charcoal-green cards and
   chapter rails; return all non-data surfaces to warm tan, taupe and cream. */
:root{
  --green:#232b2b;--green2:#364a40;--green3:#e6dbcc;
  --tan:#e7d9c9;--tan2:#f4ecdf;--white:#f7f2ea;--black:#1c2521;
  --ink:#242820;--muted:#71685c;--line:#c9b8a5;
}
html{background:#232b2b}
body{
  color:#242820;
  background:linear-gradient(145deg,#e1d0bd 0%,#ede1d2 48%,#e0cbb5 100%) fixed;
}
.topbar.fielddesk-topbar{
  background:linear-gradient(110deg,#1c2522,#27312d);
  border-color:#475047;box-shadow:0 2px 12px rgba(20,27,22,.17);
}
.fielddesk-topbar nav a:hover,.fielddesk-topbar nav a:focus-visible{color:#fff6e9}
footer{background:#202b26;border-color:#41483f;color:#e8dfd1}
.page{
  background:#f0e5d7;
  border:1px solid #c7b7a4;border-radius:16px;
  box-shadow:0 15px 36px rgba(40,32,25,.11);
}
.page.desk{
  background:linear-gradient(150deg,#f3e9dc 0%,#e8d9c7 55%,#f1e7da 100%);
}
.panel{background:#faf5ed;border-color:#d4c5b3}
.page:not(.desk) .panel:not(.weather-current){background:#f8f2ea;border-color:#d1c0ab}
.page:not(.desk) > .section-head{
  background:linear-gradient(130deg,#1c2925,#2b3730);
  border:1px solid #3e4a41;border-radius:12px;
  padding:19px 22px;margin-bottom:19px;
  box-shadow:0 8px 23px rgba(31,38,31,.14);
}
.page:not(.desk) > .section-head .page-title,
.page:not(.desk) > .section-head h1,
.page:not(.desk) > .section-head h2{color:#fcf6eb}
.page:not(.desk) > .section-head .eyebrow,
.page:not(.desk) > .section-head .kicker{color:#d9cdbb}
.page:not(.desk) > .section-head p,
.page:not(.desk) > .section-head .lede,
.page:not(.desk) > .section-head .muted{color:#e3dbcf}
.page:not(.desk) > .section-head::before{display:none}
.page:not(.desk) .section-head{border-color:#cdbba5}
.section-head .page-title{color:#2a332e}
.section-head .eyebrow{color:#645b4d}
.fd-terminal{
  background:#efe4d5;border:1px solid #c7b5a1;border-radius:16px;
}
.fd-terminal-feature{
  background:#e3d2bf;border-color:#c6b098;
}
.weather-page .panel.weather-current,
.weather-page .panel.weather-current:hover{
  background:linear-gradient(157deg,#1d2a25,#2e3a32);
  color:#fbf5eb;border-color:#455047;
}
.weather-page .weather-current .panel-title h2,
.weather-page .weather-current .current-temp,
.weather-page .weather-current .weather-metrics b{color:#fff9ef}
.weather-page .weather-current .subtle,
.weather-page .weather-current .current-desc{color:#e5d9c9}
.weather-page .weather-current .weather-metrics div{
  background:#303a34;border-color:#51584e;
}
.weather-page .weather-current .weather-metrics span,
.weather-page #weatherDataStatus,
.weather-page .weather-hourly-provenance{color:#e8dccb}
@media(max-width:700px){
  .page{border-radius:0}
  .page:not(.desk) > .section-head{padding:15px 16px;border-radius:10px}
}


/* Full-height Weather radar: share the current-conditions row height.
   Desktop map expands into ALL available card space; smaller screens retain
   a sensible map height rather than a fixed shallow 300px viewport. */
.weather-page .weather-top{align-items:stretch}
.weather-page .radar-panel{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.weather-page .radar-panel>.panel-title{flex:0 0 auto}
.weather-page .radar-panel #radarMap{
  display:block;
  width:100%;
  height:auto;
  min-height:clamp(430px,55vh,740px);
  flex:1 1 auto;
  margin-top:12px;
  border-radius:9px;
  overflow:hidden;
  background:#eee4d7;
}
.weather-page .radar-panel #radarMap .leaflet-control-attribution{
  font-size:9px;
  line-height:1.25;
  background:rgba(250,245,237,.88);
  color:#343630;
  padding:2px 5px;
}
.weather-page .radar-panel #radarMap .leaflet-control-attribution a{
  color:#273b30;
}
@media(max-width:900px){
  .weather-page .radar-panel #radarMap{min-height:clamp(380px,56vh,640px)}
}
@media(max-width:560px){
  .weather-page .radar-panel #radarMap{min-height:420px;margin-top:9px}
}


/* Weather radar basemap chooser: restrained Charleston green / tan controls. */
.weather-page .radar-panel .panel-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  column-gap:14px;
  row-gap:9px;
}
.weather-page .radar-head-actions{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:9px;
}
.weather-page .radar-basemap-switch{
  display:inline-flex;align-items:center;
  padding:3px;gap:2px;
  border:1px solid #c8b7a3;
  border-radius:9px;background:#e7d9c9;
}
.weather-page .radar-basemap-switch button{
  appearance:none;
  padding:7px 12px;
  font-size:12px;font-weight:700;
  line-height:1.1;
  border:1px solid transparent;
  border-radius:6px;
  color:#3a3c35;background:transparent;
  cursor:pointer;
}
.weather-page .radar-basemap-switch button[aria-pressed="true"]{
  background:#232b2b;color:#f7f2ea;
  box-shadow:0 2px 6px rgba(26,31,28,.16);
}
.weather-page .radar-basemap-switch button:hover:not([aria-pressed="true"]){
  background:#f9f1e6;
}
.weather-page .radar-basemap-switch button:focus-visible{
  outline:2px solid #566a5d;outline-offset:2px;
}
@media(max-width:560px){
  .weather-page .radar-head-actions{width:100%;gap:7px}
  .weather-page .radar-basemap-switch button{padding:8px 11px}
}
