:root{
  --bg:#0b100e;--panel:#121a16;--card:#18231d;--card2:#1d2a23;--text:#f2f7f3;
  --muted:#9fb0a7;--border:#304138;--accent:#8fc59f;--accent-dark:#08110c;
  --good:#1d3a2a;--warn:#4a3e21;--bad:#4b292b;--cool:#233746;--purple:#382c47;
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 16% 0,#14261c 0,transparent 34%),var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1380px;margin:auto;padding:26px 18px 48px}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.kicker{font-size:.76rem;letter-spacing:.18em;color:var(--accent);font-weight:850;margin:0 0 6px}
h1{font-size:clamp(2.4rem,6vw,5rem);line-height:.92;margin:.08em 0}.lede{max-width:850px;color:var(--muted);margin:.75rem 0 0}.hero-right{display:flex;align-items:flex-end;gap:18px}
.year-count{display:flex;align-items:baseline;white-space:nowrap}.year-count span{font-size:3rem;font-weight:850;line-height:1}.year-count small{font-size:1rem;color:var(--muted);margin-left:5px}
.actions,.button-row{display:flex;gap:8px;flex-wrap:wrap}button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-dark);font-weight:760;border-radius:10px;padding:10px 14px;min-height:42px}
button.ghost{background:transparent;color:var(--text);border-color:var(--border)}
.sync-panel{display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:13px;padding:12px 14px;margin:19px 0}
.sync-panel.ok{border-color:#426a50}.sync-panel.warn{border-color:#75602f}.sync-panel p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.version{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:.74rem;color:var(--muted)}
.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:20px}.tabs button{background:transparent;color:var(--muted);border-color:transparent;white-space:nowrap;padding:8px 11px;min-height:38px}
.tabs button.active{color:var(--text);background:var(--card);border-color:var(--border)}.tab-panel{display:none}.tab-panel.active{display:block}
.metrics{display:grid;gap:10px}.metrics.six{grid-template-columns:repeat(6,1fr)}.metrics.four{grid-template-columns:repeat(4,1fr)}.metrics article{border:1px solid var(--border);background:var(--card);border-radius:13px;padding:12px}
.metrics span{display:block;color:var(--muted);font-size:.76rem}.metrics strong{font-size:1.9rem;display:block;margin-top:3px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}.card.wide{grid-column:span 1}
.card h2,.section-head h2,.form-card h2{margin:0;font-size:1.05rem}.card p,.section-head p{color:var(--muted);font-size:.8rem;margin:3px 0 0}.card-head,.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.compact{width:100px;font-size:.72rem;color:var(--muted);font-weight:700}.compact input{width:100%;margin-top:4px}.card input,.card select,.card textarea,.toolbar input,.toolbar select,.form-card input,.form-card select,.form-card textarea{
  width:100%;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 10px;min-height:42px}
.card label,.form-card label,.toolbar label{font-size:.73rem;color:var(--muted);font-weight:750}.big-progress{height:12px;background:#223028;border-radius:999px;overflow:hidden;margin:10px 0 13px}.big-progress span{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-stats>div{background:var(--panel);border-radius:9px;padding:9px}.mini-stats span{display:block;color:var(--muted);font-size:.7rem}.mini-stats strong{font-size:1.2rem}
.callout{background:var(--panel);border-left:3px solid var(--accent);border-radius:8px;padding:10px;font-size:.84rem}.muted{color:var(--muted)}
.toolbar{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(220px,2fr);gap:8px;margin-bottom:16px}.toolbar .grow{min-width:0}
.legend{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.72rem}
.target-row{display:flex;gap:9px;overflow:auto;padding-bottom:3px}.target-card{min-width:250px;max-width:300px;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:10px;display:flex;gap:10px}
.target-card h3{font-size:.94rem;line-height:1.16;margin:0 0 3px}.thumb,.fallback{width:68px;height:68px;border-radius:9px;object-fit:cover;background:#101713;flex:0 0 auto}.fallback{display:grid;place-items:center;border:1px dashed var(--border);color:var(--muted);font-size:.68rem;text-align:center;padding:4px}
.meta{font-size:.73rem;color:var(--muted)}.pill-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.pill{border:1px solid var(--border);border-radius:999px;padding:3px 7px;font-size:.66rem;white-space:nowrap}
.score{background:var(--cool)}.urgent{background:var(--bad)}.active-season{background:var(--warn)}.target-pill{border-color:#5f8269}.audit-review{background:var(--warn)}.audit-excluded{background:var(--bad)}
.stack{display:flex;flex-direction:column;gap:8px}.compact-stack{margin-top:9px}.stack-item{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:9px}.stack-item strong{font-size:.87rem}.stack-item .meta{margin-top:2px}
.bird-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bird{border:1px solid var(--border);background:var(--card);border-radius:12px;overflow:hidden}.bird.counted{border-color:#42624c}.bird.review{border-color:#786331}
.bird-main{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:10px}.mini-thumb,.mini-fallback{width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--panel)}.mini-fallback{display:grid;place-items:center;border:1px dashed var(--border);color:var(--muted);font-size:.61rem;text-align:center;padding:3px}
.name{font-weight:780;line-height:1.13}.sci{font-size:.72rem;color:var(--muted);font-style:italic;margin-top:3px}.encounter-flags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.flag{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;padding:4px 6px;min-height:30px;font-size:.75rem}.flag.on{background:var(--good);color:var(--text);border-color:#496956}.flag.ebird.on{background:var(--cool)}
.count-toggle{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.73rem;white-space:nowrap}.count-toggle input{width:19px;height:19px}
.detail-toggle{width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;color:var(--muted);font-size:.72rem;min-height:34px;padding:6px 10px}.details{display:none;border-top:1px solid var(--border);background:#111915;padding:10px}.details.open{display:block}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.details-grid .full{grid-column:1/-1}.details label{font-size:.69rem;color:var(--muted);font-weight:700}.details input,.details select,.details textarea{width:100%;margin-top:3px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);padding:7px}.details textarea{min-height:64px;resize:vertical}
.target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.target-full{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:11px}.target-full h3{margin:0;font-size:.95rem}.target-full .score-big{font-size:1.55rem;font-weight:850}.target-full .target-top{display:flex;justify-content:space-between;gap:10px}
.target-layout{display:grid;grid-template-columns:84px 1fr;gap:11px;align-items:start}.target-thumb{width:84px;height:84px;border-radius:10px;object-fit:cover;background:#101713;display:grid;place-items:center;border:1px dashed var(--border);color:var(--muted);font-size:.7rem;text-align:center;padding:4px}.target-content{min-width:0}
.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.location-card{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:11px}.location-card h3{margin:0 0 3px;font-size:.95rem}.location-card ol{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:.76rem}
.two-col{display:grid;grid-template-columns:360px 1fr;gap:14px}.form-card{display:flex;flex-direction:column;gap:9px;align-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-card textarea{min-height:70px;resize:vertical}
.trip-actions,.chase-actions{display:flex;gap:6px;margin-top:7px}.small-btn{min-height:30px;padding:4px 8px;font-size:.7rem}
.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.month-card{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:11px;text-align:left;color:var(--text);min-height:120px}.month-card:hover{border-color:#50655a}.month-card h3{margin:0;font-size:1rem}.month-card .month-count{font-size:1.7rem;font-weight:850}.month-card p{font-size:.73rem;color:var(--muted);margin:3px 0}
.bar-chart{display:flex;flex-direction:column;gap:8px;margin-top:9px}.bar-row{display:grid;grid-template-columns:100px 1fr 50px;gap:8px;align-items:center}.bar-label{font-size:.74rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:12px;background:#223028;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:999px}.bar-value{text-align:right;font-size:.76rem}
.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.data-aba-card{grid-column:1/-1;margin:0}.result-box{margin-top:10px;color:var(--muted);font-size:.78rem;white-space:pre-wrap}
footer{border-top:1px solid var(--border);margin-top:28px;padding-top:15px;color:var(--muted);font-size:.76rem}
@media(max-width:1100px){.metrics.six{grid-template-columns:repeat(3,1fr)}.target-grid,.location-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.hero{flex-direction:column;align-items:flex-start}.hero-right{width:100%;justify-content:space-between}.toolbar{grid-template-columns:repeat(2,1fr)}.bird-list{grid-template-columns:1fr}.dashboard-grid,.two-col,.data-grid{grid-template-columns:1fr}.target-grid,.location-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shell{padding:18px 11px 36px}.metrics.six,.metrics.four{grid-template-columns:repeat(2,1fr)}.toolbar{grid-template-columns:1fr}.calendar-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr}.bird-main{grid-template-columns:46px 1fr}.mini-thumb,.mini-fallback{width:46px;height:46px}.count-toggle{grid-column:2}.details-grid{grid-template-columns:1fr}.details-grid .full{grid-column:auto}.hero-right{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.target-layout{grid-template-columns:64px 1fr}.target-thumb{width:64px;height:64px}}

.radar-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px}.radar-hero h2{font-size:1.4rem}.radar-status{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.radar-status span{color:var(--muted);font-size:.74rem}
.radar-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.radar-controls label{font-size:.73rem;color:var(--muted);font-weight:750}.radar-controls select{width:100%;margin-top:4px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 10px;min-height:42px}.switch-label{display:flex;flex-direction:column;justify-content:flex-end}.switch-label input{width:22px;height:22px;margin:8px 0 8px}
.radar-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.radar-card{display:grid;grid-template-columns:84px 1fr;gap:11px;border:1px solid var(--border);background:var(--card);border-radius:13px;padding:10px}.radar-card.radar-hot{border-color:#8b4a4a}.radar-card.radar-watch{border-color:#75612f}.radar-card.radar-have{opacity:.66}.radar-thumb{width:84px;height:84px;border-radius:10px;object-fit:cover}.radar-body{min-width:0}.radar-top{display:flex;justify-content:space-between;gap:10px}.radar-top h3{margin:0;font-size:1rem;line-height:1.15}.radar-score{font-size:1.6rem;font-weight:850}.radar-location{font-size:.84rem;margin-top:7px}.radar-actions{margin-top:8px}.radar-hot{background:var(--bad)}.radar-watch{background:var(--warn)}.radar-have{background:var(--good)}.radar-method{margin-top:12px}

@media(max-width:850px){.radar-controls{grid-template-columns:repeat(2,1fr)}.radar-list{grid-template-columns:1fr}}
@media(max-width:560px){.radar-controls{grid-template-columns:1fr}.radar-card{grid-template-columns:64px 1fr}.radar-thumb{width:64px;height:64px}.radar-hero{flex-direction:column;align-items:flex-start}}


.bird-image-button{border:0;padding:0;overflow:hidden;color:var(--muted);cursor:pointer;position:relative;background:#101713;min-height:0}.bird-image-button:hover{outline:2px solid var(--accent);outline-offset:2px}.bird-image-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bird-image-button img{display:block;width:100%;height:100%;object-fit:cover}.image-fallback-text{display:grid;place-items:center;width:100%;height:100%}.bird-image-button.image-loaded{border-style:solid}
body.modal-open{overflow:hidden}.species-modal[hidden]{display:none}.species-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}.species-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(4px)}.species-dialog{position:relative;z-index:1;width:min(930px,100%);max-height:88vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.species-close{position:absolute;right:10px;top:10px;width:38px;height:38px;min-height:38px;padding:0;border-radius:999px;background:var(--panel);color:var(--text);border-color:var(--border);font-size:1.35rem;z-index:2}.species-loading{padding:40px;color:var(--muted);text-align:center}.species-detail-grid{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:20px}.species-detail-media img,.species-detail-fallback{width:100%;aspect-ratio:4/3;border-radius:12px;object-fit:cover;background:var(--panel)}.species-detail-fallback{display:grid;place-items:center;font-size:3rem;font-weight:850;color:var(--muted);border:1px dashed var(--border)}.species-source{font-size:.67rem;color:var(--muted);margin-top:5px}.species-detail-copy h2{font-size:1.65rem;margin:.05rem 0}.species-scientific{font-style:italic;color:var(--muted);margin-bottom:9px}.species-description{font-size:.9rem;line-height:1.55;margin:14px 0}.species-target-box{border-left:3px solid var(--accent);background:var(--panel);border-radius:8px;padding:9px 11px;margin:9px 0;font-size:.82rem}.species-target-box strong{display:block;margin-bottom:3px}.species-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.species-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 11px;border:1px solid var(--border);border-radius:9px;color:var(--text);text-decoration:none;background:var(--panel)}.species-link:hover{border-color:var(--accent)}
@media(max-width:700px){.species-modal{padding:8px}.species-dialog{max-height:94vh;padding:14px}.species-detail-grid{grid-template-columns:1fr}.species-detail-media{max-width:430px}.species-detail-copy h2{font-size:1.4rem}}


.species-encounter-history,.species-add-encounter{margin-top:10px;border:1px solid var(--border);background:var(--panel);border-radius:9px;padding:10px;font-size:.8rem}.encounter-history-row{display:grid;grid-template-columns:1.4fr 1fr .55fr;gap:8px;padding:6px 0;border-top:1px solid var(--border);color:var(--muted)}.encounter-history-row:first-of-type{margin-top:6px}.encounter-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0}.encounter-form-grid .full{grid-column:1/-1}.encounter-form-grid label{font-size:.68rem;color:var(--muted);font-weight:700}.encounter-form-grid input,.encounter-form-grid select{width:100%;margin-top:3px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);padding:7px;min-height:38px}
@media(max-width:600px){.encounter-history-row{grid-template-columns:1fr}.encounter-form-grid{grid-template-columns:1fr}.encounter-form-grid .full{grid-column:auto}}


.map-toolbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) repeat(4,max-content) auto;gap:8px;margin-bottom:12px;align-items:end}.map-toolbar label{font-size:.73rem;color:var(--muted);font-weight:750}.map-toolbar select{width:100%;margin-top:4px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 10px;min-height:42px}.map-check{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:9px;padding:10px 12px;white-space:nowrap}.map-check input{width:18px;height:18px}.map-buttons{justify-content:flex-end}.map-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:12px}.map-card{min-height:560px}.map-canvas{height:560px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0f1713}.map-fallback{height:100%;display:grid;place-items:center;color:var(--muted);padding:20px;text-align:center}.map-side{display:flex;flex-direction:column}.map-mini{grid-template-columns:repeat(2,1fr);margin-bottom:10px}.map-legend{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 12px;color:var(--muted);font-size:.76rem}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle}.legend-enc{background:#8fc59f}.legend-tgt{background:#d9a441}.legend-rad{background:#c96b71}.legend-trip{background:#6aa0d6}
@media(max-width:1100px){.map-toolbar{grid-template-columns:repeat(3,1fr)}.map-grid{grid-template-columns:1fr}.map-card,.map-canvas{min-height:460px;height:460px}}
@media(max-width:700px){.map-toolbar{grid-template-columns:1fr 1fr}.map-check{padding:8px 10px}.map-card,.map-canvas{min-height:380px;height:380px}}


.local-map{position:relative;overflow:hidden;background:#d9e1d5;touch-action:none;cursor:grab}.local-map.dragging{cursor:grabbing}.local-map-tiles,.local-map-markers{position:absolute;inset:0;overflow:hidden;pointer-events:none}.local-map-tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none;-webkit-user-drag:none}.local-map-markers{z-index:4}.local-map-marker{position:absolute;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.92);box-shadow:0 1px 5px rgba(0,0,0,.45);padding:0;min-height:0;pointer-events:auto;cursor:pointer}.local-map-marker.map-encounter{background:#8fc59f}.local-map-marker.map-target{background:#d9a441}.local-map-marker.map-radar{background:#c96b71;width:19px;height:19px}.local-map-marker.map-trip{background:#6aa0d6;width:18px;height:18px}.local-map-controls{position:absolute;z-index:8;left:10px;top:10px;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:0 1px 5px rgba(0,0,0,.35)}.local-map-controls button{width:34px;height:34px;min-height:0;border-radius:0;padding:0;font-size:1.2rem;background:#fff;color:#172019;border:0;border-bottom:1px solid #ccd4ce}.local-map-controls button:last-child{border-bottom:0}.local-map-attribution{position:absolute;z-index:8;right:3px;bottom:3px;background:rgba(255,255,255,.8);color:#333;padding:2px 5px;font-size:10px;border-radius:3px}.local-map-popup{position:absolute;z-index:10;width:245px;max-width:calc(100% - 16px);background:#132019;color:#eef6f0;border:1px solid #31443a;border-radius:10px;padding:10px;box-shadow:0 6px 24px rgba(0,0,0,.45);font-size:.78rem;line-height:1.45}.local-map-popup strong{display:block;font-size:.9rem;margin-bottom:3px}.local-map-popup button{margin-top:8px}

.chase-pack-card{margin-bottom:14px}.chase-pack-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}.chase-pack-controls label{font-size:.73rem;color:var(--muted);font-weight:750}.chase-pack-controls select{width:100%;margin-top:4px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 10px;min-height:42px}
@media(max-width:760px){.chase-pack-controls{grid-template-columns:1fr 1fr}}@media(max-width:520px){.chase-pack-controls{grid-template-columns:1fr}}

.planning-date-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planning-date-actions input{min-width:160px}

.chase-pack-sources{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 12px}

.hotspot-day-item{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start}.hotspot-rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--panel);border:1px solid var(--border);font-weight:850;font-size:.78rem}.chase-hotspot-refresh{width:100%;margin-top:4px;min-height:42px}


/* Build 24 dashboard command view */
.dashboard-today{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:10px;padding:4px 2px}.dashboard-today h2{margin:0;font-size:1.55rem;line-height:1.05}.dashboard-today p:not(.kicker){margin:5px 0 0;color:var(--muted);font-size:.82rem}.dashboard-date{min-width:270px}
.dashboard-scoreboard{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:8px}.dashboard-scoreboard article{background:var(--card);border:1px solid var(--border);border-radius:11px;padding:8px 10px;min-height:68px}.dashboard-scoreboard span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.dashboard-scoreboard strong{display:block;font-size:1.45rem;line-height:1.1;margin-top:5px}
.dashboard-progress-card{padding:9px 12px;margin-bottom:10px}.dashboard-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-progress-head>div{display:flex;align-items:baseline;gap:10px}.dashboard-progress-head>div>strong{font-size:.84rem}.dashboard-progress-head>div>span{font-size:.72rem;color:var(--muted)}.dashboard-progress-card .big-progress{height:7px;margin:7px 0}.dashboard-submetrics{display:flex;gap:5px;flex-wrap:wrap}.dashboard-submetrics>span{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:3px 7px;color:var(--muted);font-size:.64rem}.dashboard-submetrics strong{color:var(--text);font-size:.7rem;margin-left:2px}
.dashboard-command-grid{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(290px,.8fr);gap:10px;margin-top:10px;align-items:start}.dashboard-side-stack{display:grid;grid-template-rows:auto auto;gap:10px;min-width:0;align-self:start}
.next-birds-feature{min-width:0;padding:12px;align-self:start;height:max-content}.carousel-actions{display:flex;gap:5px}.carousel-actions button{font-size:1.3rem;line-height:1;width:34px;height:34px;padding:0;min-height:34px}
.next-bird-carousel{display:flex;gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 2px 4px;scrollbar-width:thin}.dashboard-bird-card{scroll-snap-align:start;flex:0 0 clamp(240px,31%,330px);overflow:hidden;border:1px solid var(--border);background:var(--panel);border-radius:13px}.dashboard-bird-image{display:block;width:100%;height:190px;border-radius:0;background:#101713}.dashboard-bird-image img{width:100%;height:100%;object-fit:cover}.dashboard-bird-copy{padding:10px}.dashboard-bird-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.dashboard-bird-card h3{font-size:1.03rem;line-height:1.12;margin:0}.dashboard-bird-sci{font-size:.68rem;color:var(--muted);font-style:italic;margin-top:2px}.dashboard-bird-score{font-size:1.55rem;line-height:1}.dashboard-bird-location{font-size:.78rem;font-weight:750;margin-top:8px}.dashboard-bird-note{font-size:.69rem;color:var(--muted);margin-top:7px;line-height:1.35}
.compact-intel-card{padding:10px}.compact-intel-card .card-head{margin-bottom:6px}.compact-intel-card .card-head h2{font-size:.94rem}.compact-intel-card .card-head p{font-size:.68rem}.compact-dashboard-stack{gap:5px}.compact-dashboard-stack .stack-item{padding:7px 8px;border-radius:8px}.compact-dashboard-stack .stack-item strong{font-size:.78rem}.compact-dashboard-stack .meta{font-size:.65rem}.compact-dashboard-stack .species-link{min-height:28px;padding:4px 7px;font-size:.65rem;margin-top:4px}.compact-dashboard-stack .hotspot-day-item{grid-template-columns:24px 1fr;gap:6px}.compact-dashboard-stack .hotspot-rank{width:22px;height:22px;font-size:.64rem}
.dashboard-area-select{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;margin-bottom:6px}.dashboard-area-select select{min-height:34px!important;padding:5px 8px!important}
.dashboard-lower-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.dashboard-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dashboard-quick-actions button{min-height:36px;padding:7px 8px;font-size:.7rem}.dashboard-urgency{margin-top:8px;border-top:1px solid var(--border);padding-top:7px;display:flex;flex-direction:column;gap:2px;font-size:.68rem;color:var(--muted)}.dashboard-urgency strong{color:var(--text)}
@media(max-width:1100px){.dashboard-scoreboard{grid-template-columns:repeat(3,1fr)}.dashboard-command-grid{grid-template-columns:1fr}.dashboard-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto}.dashboard-lower-grid{grid-template-columns:repeat(2,1fr)}.dashboard-bird-card{flex-basis:300px}}
@media(max-width:700px){.dashboard-today{align-items:flex-start;flex-direction:column}.dashboard-date{min-width:0;width:100%}.dashboard-scoreboard{grid-template-columns:repeat(2,1fr)}.dashboard-side-stack,.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-bird-card{flex-basis:78vw}.dashboard-bird-image{height:210px}.dashboard-progress-head{align-items:flex-start}.dashboard-progress-head>div{flex-direction:column;gap:1px}}

/* Build 26 dashboard gap fill */
.dashboard-main-stack{display:grid;grid-template-rows:auto auto;gap:10px;min-width:0;align-self:start}
.dashboard-radar-wide{min-width:0}
.radar-horizontal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.radar-horizontal .stack-item{min-width:0}
.dashboard-side-stack{display:block;min-width:0;align-self:start}
@media(max-width:1100px){.radar-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.radar-horizontal{grid-template-columns:1fr}.dashboard-main-stack{display:grid}}

/* Build 27 contextual next birds */
.next-birds-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.next-birds-scope-label{display:flex;align-items:center;gap:6px;font-size:.72rem}
.next-birds-scope-label select{min-height:34px;padding:6px 8px}

/* Build 28 dashboard polish */
.next-birds-feature .card-head{align-items:flex-start;gap:14px}
.next-birds-feature .card-head>div:first-child{min-width:0;flex:1}
.next-birds-feature .card-head h2{margin-bottom:2px}
.next-birds-feature .card-head p{max-width:680px;line-height:1.35}
.next-birds-tools{margin-left:auto;justify-content:flex-end;align-items:flex-end;gap:8px}
.next-birds-scope-label{display:grid;grid-template-columns:auto;gap:3px;min-width:185px}
.next-birds-scope-label select{width:100%;min-height:36px;padding:6px 9px}
.carousel-actions{align-self:flex-end}
.next-bird-carousel{gap:12px;padding-top:4px}
.dashboard-bird-card{display:flex;flex-direction:column;min-height:360px}
.dashboard-bird-image{height:180px;flex:0 0 180px}
.dashboard-bird-copy{display:flex;flex-direction:column;flex:1;padding:11px 11px 10px}
.dashboard-bird-top{margin-bottom:3px}
.dashboard-bird-location{min-height:34px;line-height:1.28}
.dashboard-bird-card .pill-row{margin-top:7px;gap:4px;align-items:flex-start}
.dashboard-bird-note{margin-top:auto;padding-top:8px;min-height:42px}
.dashboard-radar-wide{padding-top:10px}
.radar-horizontal{align-items:stretch}
.radar-horizontal .stack-item{height:100%;display:flex;flex-direction:column;justify-content:flex-start}
.radar-horizontal .meta{line-height:1.35}
.dashboard-command-grid{column-gap:12px;row-gap:10px}
.dashboard-main-stack{gap:10px}
.dashboard-side-stack .compact-intel-card{padding:11px}
.dashboard-side-stack .compact-dashboard-stack .stack-item{padding:8px}
.dashboard-lower-grid{gap:10px}
@media(max-width:1180px){
  .next-birds-feature .card-head{flex-direction:column;align-items:stretch}
  .next-birds-tools{margin-left:0;justify-content:space-between;align-items:end;width:100%}
  .next-birds-scope-label{min-width:220px}
}
@media(max-width:760px){
  .next-birds-tools{align-items:stretch;flex-direction:column}
  .next-birds-scope-label{min-width:0;width:100%}
  .carousel-actions{align-self:flex-end}
  .dashboard-bird-card{min-height:0}
  .dashboard-bird-image{height:210px;flex-basis:210px}
  .dashboard-bird-location,.dashboard-bird-note{min-height:0}
}

/* Build 29 Next Best Birds structural fix */
.next-birds-feature>.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.next-birds-feature>.card-head>div:first-child{flex:1 1 auto;min-width:0}
.next-birds-tools{flex:0 0 auto}
.next-bird-carousel{width:100%;min-width:0}
@media(max-width:1180px){
  .next-birds-feature>.card-head{flex-direction:column}
  .next-birds-tools{width:100%}
}


/* Build 30: Migration Dark theme */
:root{
  --bg:#0b1218;
  --panel:#101a22;
  --card:#14212b;
  --card-2:#182833;
  --text:#eef6f8;
  --muted:#9fb2bc;
  --border:#28404d;

  --lake:#2f80ed;
  --teal:#28b7a7;
  --sage:#6f9f84;
  --amber:#e0a84f;
  --rust:#c9654f;
  --plum:#9b6bd6;
  --green:#52b788;
  --ice:#8fd3ff;
  --desert:#d88a4d;

  --accent:var(--lake);
  --accent-soft:rgba(47,128,237,.14);
}

body{
  background:
    radial-gradient(circle at 12% -10%,rgba(47,128,237,.10),transparent 28rem),
    radial-gradient(circle at 92% 0%,rgba(40,183,167,.08),transparent 24rem),
    var(--bg);
  color:var(--text);
}

header,.app-header,.topbar{
  background:linear-gradient(180deg,rgba(20,33,43,.97),rgba(11,18,24,.97));
  border-bottom-color:#2b4654;
}

.card{
  background:linear-gradient(180deg,rgba(20,33,43,.98),rgba(16,26,34,.98));
  border-color:var(--border);
  box-shadow:0 8px 22px rgba(0,0,0,.15);
}

button{
  background:linear-gradient(180deg,#397fd2,#2f6fb9);
  border-color:#4b91df;
  color:#fff;
}
button:hover{filter:brightness(1.07)}
button.ghost,.small-btn.ghost{
  background:#16242d;
  border-color:#35515f;
  color:#d7e6eb;
}
button.ghost:hover,.small-btn.ghost:hover{background:#1b2d38}

select,input,textarea{
  background:#0f1a21!important;
  color:var(--text)!important;
  border-color:#35515f!important;
}
select:focus,input:focus,textarea:focus{
  outline:2px solid rgba(47,128,237,.25);
  border-color:var(--lake)!important;
}

.kicker{color:var(--ice)!important}
.meta{color:var(--muted)}
.pill{background:#1a2a34;border-color:#35515f;color:#d8e5e9}
.pill.score{background:rgba(47,128,237,.16);border-color:rgba(47,128,237,.45);color:#acd7ff}
.pill.urgent{background:rgba(201,101,79,.16);border-color:rgba(201,101,79,.48);color:#ffc1b4}
.pill.active-season{background:rgba(224,168,79,.14);border-color:rgba(224,168,79,.45);color:#ffd994}

.dashboard-scoreboard article:nth-child(1){border-top:3px solid var(--teal)}
.dashboard-scoreboard article:nth-child(2){border-top:3px solid var(--lake)}
.dashboard-scoreboard article:nth-child(3){border-top:3px solid var(--ice)}
.dashboard-scoreboard article:nth-child(4){border-top:3px solid var(--sage)}
.dashboard-scoreboard article:nth-child(5){border-top:3px solid var(--rust)}
.dashboard-scoreboard article:nth-child(6){border-top:3px solid var(--amber)}

.big-progress{background:#182832!important}
.big-progress span,#goalBar{
  background:linear-gradient(90deg,var(--lake),var(--teal))!important;
}

.next-birds-feature{
  position:relative;
  overflow:hidden;
}
.next-birds-feature:before{
  content:"";
  position:absolute;inset:0 auto auto 0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--lake),var(--teal),var(--plum));
}
.dashboard-bird-card{
  background:linear-gradient(180deg,#172630,#111b22)!important;
  border-color:#31505e!important;
}
.dashboard-bird-card:hover{
  border-color:#4d7f92!important;
  transform:translateY(-1px);
}
.dashboard-bird-score{color:var(--ice)}
.dashboard-bird-location{color:#d9ecef}
.dashboard-bird-note{color:#9db2bb}

.dashboard-radar-wide{
  border-top:3px solid var(--rust);
}
.dashboard-side-stack .compact-intel-card{
  border-top:3px solid var(--teal);
}
.quick-actions-card{
  border-top:3px solid var(--amber);
}
.dashboard-lower-grid>.compact-intel-card:nth-child(1){border-top:3px solid var(--sage)}
.dashboard-lower-grid>.compact-intel-card:nth-child(2){border-top:3px solid var(--lake)}
.dashboard-lower-grid>.compact-intel-card:nth-child(3){border-top:3px solid var(--rust)}
.dashboard-lower-grid>.compact-intel-card:nth-child(4){border-top:3px solid var(--amber)}

.hotspot-rank{
  background:rgba(40,183,167,.14)!important;
  border-color:rgba(40,183,167,.44)!important;
  color:#bdf5ea;
}

.species-link,.links a,a{
  color:#8fd3ff;
}
.species-link:hover,.links a:hover,a:hover{
  color:#bde6ff;
}

/* context-aware visual accents */
body.context-two-rivers{
  --accent:var(--lake);
  --accent-soft:rgba(47,128,237,.15);
}
body.context-arizona{
  --accent:var(--desert);
  --accent-soft:rgba(216,138,77,.16);
}
body.context-national{
  --accent:var(--plum);
  --accent-soft:rgba(155,107,214,.15);
}
body.context-two-rivers .next-birds-feature:before{background:linear-gradient(90deg,var(--lake),var(--teal))}
body.context-arizona .next-birds-feature:before{background:linear-gradient(90deg,var(--desert),var(--amber),var(--rust))}
body.context-national .next-birds-feature:before{background:linear-gradient(90deg,var(--plum),var(--lake))}

.next-birds-scope-label select{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px var(--accent-soft);
}

/* Tab colors */
.nav-tabs button.active,.tab-button.active,[data-tab].active{
  background:linear-gradient(180deg,rgba(47,128,237,.23),rgba(47,128,237,.10));
  border-color:#477fab;
  color:#dff0ff;
}

/* Count/status accents */
.flag-on,[data-active="true"],.status-counted{
  background:rgba(82,183,136,.16)!important;
  border-color:rgba(82,183,136,.46)!important;
  color:#b9f0d1!important;
}


/* Build 34: Dashboard Field Conditions */
.field-conditions-card{
  margin-top:10px;
  border-top:3px solid var(--ice);
  overflow:hidden;
}
.field-conditions-body{display:grid;gap:9px}
.weather-loading,.weather-error{
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#101a21;
  color:var(--muted);
}
.weather-error{display:grid;gap:3px}
.weather-error strong{color:#ffc1b4}
.weather-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:8px 9px;
  border:1px solid #31505e;
  border-radius:11px;
  background:linear-gradient(135deg,rgba(47,128,237,.12),rgba(40,183,167,.07));
}
.weather-now{display:flex;align-items:center;gap:9px;min-width:0}
.weather-icon{font-size:1.7rem;line-height:1}
.weather-now>div{display:grid;gap:1px}
.weather-now strong{font-size:1.45rem;line-height:1;color:var(--text)}
.weather-now span{font-size:.72rem;color:var(--muted);white-space:normal}
.weather-score{
  width:62px;height:62px;flex:0 0 62px;
  border-radius:50%;
  display:grid;place-content:center;text-align:center;
  border:2px solid var(--teal);
  background:rgba(40,183,167,.10);
}
.weather-score strong{font-size:1.08rem;line-height:1}
.weather-score span{font-size:.57rem;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.weather-score.weather-fair{border-color:var(--amber);background:rgba(224,168,79,.10)}
.weather-score.weather-poor{border-color:var(--rust);background:rgba(201,101,79,.11)}
.weather-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.weather-grid>div{
  min-width:0;
  padding:6px 7px;
  border:1px solid rgba(53,81,95,.72);
  border-radius:8px;
  background:#111d25;
  display:grid;gap:1px;
}
.weather-grid span{font-size:.61rem;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}
.weather-grid strong{font-size:.77rem;color:#e5f1f4;overflow-wrap:anywhere}
.weather-field-note{
  padding:8px 9px;
  border-radius:9px;
  border-left:3px solid var(--ice);
  background:rgba(143,211,255,.07);
  font-size:.72rem;
  line-height:1.38;
  color:#d9e9ee;
}
.weather-field-note span{
  display:block;
  margin-bottom:2px;
  font-size:.57rem;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--ice);
}
@media(max-width:1100px){
  .weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Build 35: dashboard reflow + Rare Radar imagery */
.dashboard-main-stack{display:grid;grid-template-rows:auto auto;gap:10px;min-width:0}
.dashboard-side-stack{display:block;min-width:0}
.dashboard-intel-row{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.65fr);
  gap:10px;
  align-items:stretch;
  min-width:0;
}
.dashboard-intel-row>.card{margin:0;height:100%}
.dashboard-intel-row .field-conditions-card{margin-top:0}
.dashboard-intel-row .dashboard-radar-wide{padding-top:10px}
.dashboard-intel-row .field-conditions-body{gap:7px}
.dashboard-intel-row .weather-hero{padding:7px 8px}
.dashboard-intel-row .weather-score{width:56px;height:56px;flex-basis:56px}
.dashboard-intel-row .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.dashboard-intel-row .weather-grid>div{padding:5px 6px}
.dashboard-intel-row .weather-field-note{padding:7px 8px}

.radar-horizontal{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  align-items:stretch;
}
.dashboard-radar-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #35515f;
  border-radius:10px;
  background:linear-gradient(180deg,#172630,#111b22);
  display:grid;
  grid-template-rows:88px 1fr;
}
.dashboard-radar-image{
  width:100%;
  height:88px;
  min-height:88px;
  border:0;
  border-radius:0;
  background:#0d171d;
  overflow:hidden;
  padding:0;
}
.dashboard-radar-image img{width:100%;height:100%;object-fit:cover;display:block}
.dashboard-radar-image .image-fallback-text{
  display:grid;
  place-items:center;
  height:100%;
  font-size:1.25rem;
  color:var(--muted);
}
.radar-image-fallback{display:grid;place-items:center;color:var(--muted)}
.dashboard-radar-copy{padding:7px;display:grid;gap:3px;min-width:0}
.dashboard-radar-title{display:flex;justify-content:space-between;gap:6px;align-items:start}
.dashboard-radar-title strong{font-size:.76rem;line-height:1.15;overflow-wrap:anywhere}
.dashboard-radar-title span{flex:0 0 auto}
.dashboard-radar-copy .radar-loc{
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.dashboard-radar-stats{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
.dashboard-radar-stats span{
  font-size:.58rem;
  padding:2px 5px;
  border:1px solid #35515f;
  border-radius:999px;
  color:var(--muted);
  background:#14232c;
}
.dashboard-radar-stats strong{color:var(--text);font-size:inherit}
.radar-empty{grid-column:1/-1}
.dashboard-build-footer{
  margin:12px 0 2px;
  padding:7px 2px 2px;
  text-align:center;
  color:var(--muted);
  opacity:.7;
  font-size:.6rem;
  letter-spacing:.045em;
}
@media(max-width:1180px){
  .dashboard-intel-row{grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr)}
}
@media(max-width:900px){
  .dashboard-intel-row{grid-template-columns:1fr}
  .dashboard-intel-row .weather-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .radar-horizontal{grid-template-columns:1fr}
  .dashboard-radar-card{grid-template-columns:100px 1fr;grid-template-rows:auto}
  .dashboard-radar-image{height:100%;min-height:96px}
  .dashboard-intel-row .weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Build 36: right rail gap fill */
.dashboard-side-stack{
  display:grid;
  grid-template-rows:auto auto;
  gap:10px;
  align-self:start;
}
.dashboard-glance-card{
  margin:0;
  border-top:3px solid var(--plum);
}
.dashboard-glance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}
.glance-stat{
  min-width:0;
  padding:7px 8px;
  border:1px solid #35515f;
  border-radius:9px;
  background:#111d25;
  display:grid;
  gap:2px;
}
.glance-stat span{
  font-size:.58rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:var(--muted);
}
.glance-stat strong{
  font-size:.75rem;
  line-height:1.22;
  color:var(--text);
  overflow-wrap:anywhere;
}
.glance-wide{grid-column:1/-1}


/* Build 38: arbitrary-location intelligence + Decision Mode */
.location-explorer-card{margin-bottom:14px;padding:14px;border-color:#395347;background:linear-gradient(135deg,rgba(40,70,56,.34),rgba(18,29,24,.92))}
.location-explorer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.location-explorer-head h2{margin:2px 0 4px;font-size:1.24rem}.location-explorer-head p{margin:0;color:var(--muted);font-size:.8rem;max-width:820px;line-height:1.45}.location-intel-kicker{font-size:.63rem;letter-spacing:.12em;font-weight:850;color:var(--accent);text-transform:uppercase}
.location-intel-form{display:grid;grid-template-columns:minmax(260px,1.8fr) 104px 116px 112px 130px max-content;gap:8px;align-items:end}.location-intel-form label{font-size:.72rem;color:var(--muted);font-weight:750}.location-intel-form input,.location-intel-form select{width:100%;margin-top:4px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:9px;padding:9px 10px;min-height:42px}.location-intel-form button{min-height:42px;white-space:nowrap}.location-intel-status{margin-top:9px;color:var(--muted);font-size:.72rem}.location-intel-status strong{color:var(--text)}
.location-intel-result{margin-top:12px}.location-intel-hero{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--border);padding-top:12px}.location-intel-hero h3{margin:2px 0 3px;font-size:1.28rem}.location-intel-grade{min-width:145px;text-align:center;border:1px solid var(--border);border-radius:11px;padding:9px 12px;background:var(--panel)}.location-intel-grade strong{display:block;font-size:.8rem;letter-spacing:.08em}.location-intel-grade span{display:block;font-size:.66rem;color:var(--muted);margin-top:2px}.location-intel-grade.intel-hot{border-color:#a85858}.location-intel-grade.intel-high{border-color:#6e985e}.location-intel-grade.intel-good{border-color:#6e8f7d}.location-intel-grade.intel-mid{border-color:#827244}.location-intel-grade.intel-low{opacity:.76}
.location-intel-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:10px 0}.location-intel-metrics>div{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:8px 10px}.location-intel-metrics span{display:block;color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.location-intel-metrics strong{display:block;margin-top:3px;font-size:1.2rem}.location-intel-metrics small{display:block;color:var(--muted);font-size:.58rem;margin-top:1px}
.location-intel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.location-intel-panel{border:1px solid var(--border);background:var(--card);border-radius:11px;padding:10px;min-width:0}.location-intel-panel .card-head{margin-bottom:8px}.location-intel-panel .card-head h3{margin:0;font-size:.92rem}.location-intel-panel .card-head p{margin:2px 0 0;color:var(--muted);font-size:.66rem}.location-intel-lead{font-size:.84rem;line-height:1.48;margin:0 0 9px}.location-intel-note{display:grid;gap:2px;border-top:1px solid var(--border);padding:7px 0}.location-intel-note strong{font-size:.69rem;text-transform:uppercase;letter-spacing:.05em}.location-intel-note span{font-size:.73rem;color:var(--muted);line-height:1.45}
.location-intel-history-line{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:28px}.location-intel-history-line>span{font-size:.61rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.location-intel-history{display:flex;gap:5px;overflow-x:auto;padding-bottom:2px}.history-chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:.62rem;white-space:nowrap;cursor:pointer}.history-chip:hover{color:var(--text);border-color:var(--accent)}.history-empty{font-size:.63rem;color:var(--muted)}
.location-intel-list{display:grid;gap:5px}.location-bird-wrap{display:grid;gap:0}.location-bird-row,.location-hotspot-row,.location-notable-row{display:grid;grid-template-columns:34px 1fr auto;gap:7px;align-items:center;border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:7px 8px;color:var(--text);text-align:left;text-decoration:none;min-height:50px}.location-bird-row:hover,.location-hotspot-row:hover{border-color:var(--accent)}.location-bird-row strong,.location-hotspot-row strong,.location-notable-row strong{display:block;font-size:.76rem}.location-bird-row small,.location-hotspot-row small,.location-notable-row small{display:block;color:var(--muted);font-size:.61rem;line-height:1.35;margin-top:2px}.intel-rank-score{width:29px;height:29px;display:grid;place-items:center;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:.69rem;font-weight:850}.intel-bird-open{cursor:pointer}.location-bird-main{border:0;background:transparent;color:var(--text);padding:0;text-align:left;cursor:pointer}.intel-flags{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.intel-flags em{font-style:normal;font-size:.54rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:2px 5px;color:var(--muted)}.intel-flags em.signal-strong{border-color:#65906f;color:#b9dfc3}.intel-flags em.signal-good{border-color:#797348;color:#d9d29d}.intel-flags em.signal-thin{opacity:.68}.intel-why-btn{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:7px;padding:3px 6px;font-size:.56rem;cursor:pointer}.intel-why-btn:hover{color:var(--text);border-color:var(--accent)}.location-bird-why{border:1px solid var(--border);border-top:0;border-radius:0 0 8px 8px;margin:-4px 4px 3px;padding:9px;background:rgba(11,18,15,.55);display:grid;gap:7px}.location-bird-why>div{display:grid;gap:2px}.location-bird-why strong{font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.location-bird-why span{font-size:.68rem;color:var(--muted);line-height:1.4}.location-bird-why .intel-advice.defer strong{color:#dccb8f}.location-bird-why .intel-advice.go strong{color:#e6a4a4}.location-hotspot-row{grid-template-columns:34px 1fr auto}.hotspot-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.hotspot-actions .small-btn,.decision-actions .small-btn{min-height:30px;padding:5px 8px;font-size:.58rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.location-notable-row{grid-template-columns:12px 1fr auto}.notable-dot{width:8px;height:8px;border-radius:999px;background:#c96b71}.location-intel-attribution{margin-top:8px;color:var(--muted);font-size:.58rem;line-height:1.35}
.location-intel-wide{grid-column:1/-1}.decision-panel{background:linear-gradient(135deg,rgba(44,70,57,.24),rgba(17,27,22,.92));border-color:#40594c}.decision-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.decision-head h3{margin:3px 0 4px;font-size:1.08rem}.decision-head p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}.decision-score{min-width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);display:grid;place-items:center;font-weight:900;font-size:.95rem}.decision-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:9px 0}.decision-metrics span{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:7px;color:var(--muted);font-size:.63rem}.decision-metrics strong{color:var(--text);font-size:.8rem}.decision-birds{font-size:.68rem;color:var(--muted);line-height:1.45}.decision-birds strong{color:var(--text)}.decision-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.decision-backups{border-top:1px solid var(--border);margin-top:9px;padding-top:8px;display:grid;grid-template-columns:auto 1fr 1fr;gap:6px;align-items:center}.decision-backups>span{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.decision-backups button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:6px 8px;text-align:left;cursor:pointer}.decision-backups button strong,.decision-backups button small{display:block}.decision-backups button strong{font-size:.66rem}.decision-backups button small{font-size:.56rem;color:var(--muted);margin-top:2px}.decision-disclaimer{font-size:.55rem;color:var(--muted);margin-top:7px}
@media(max-width:1050px){.location-intel-form{grid-template-columns:2fr repeat(2,1fr)}.location-intel-query{grid-column:1/-1}.location-intel-form button{grid-column:auto}.location-intel-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.location-intel-grid{grid-template-columns:1fr}.location-intel-wide{grid-column:auto}.location-hotspot-row{grid-template-columns:34px 1fr}.hotspot-actions{grid-column:2;justify-content:flex-start}.decision-backups{grid-template-columns:1fr}.decision-backups>span{margin-bottom:-2px}}
@media(max-width:560px){.location-explorer-head,.location-intel-hero,.decision-head{flex-direction:column;align-items:flex-start}.location-intel-form{grid-template-columns:1fr}.location-intel-query,.location-intel-form button{grid-column:auto}.location-intel-metrics{grid-template-columns:repeat(2,1fr)}.location-intel-grade{width:100%}.location-intel-history-line{align-items:flex-start;flex-direction:column}.location-notable-row{grid-template-columns:12px 1fr}.location-notable-row>.intel-flags{grid-column:2;justify-content:flex-start}.decision-metrics{grid-template-columns:1fr}.decision-score{position:absolute;right:22px}}


/* Build 39: eBird Life List */
.button-link{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-dark);font-weight:760;border-radius:10px;padding:10px 14px;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button-link.ghost{background:#16242d;border-color:#35515f;color:#d7e6eb}.button-link.ghost:hover{background:#1b2d38}
.lifelist-hero-card{margin-bottom:12px;border-color:#3a5660;background:linear-gradient(135deg,rgba(31,65,78,.34),rgba(18,29,24,.92))}.lifelist-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.lifelist-hero-head h2{font-size:1.35rem;margin:2px 0 4px}.lifelist-hero-head p{max-width:830px}.lifelist-actions{justify-content:flex-end}.lifelist-status{margin-top:10px;padding-top:9px;border-top:1px solid var(--border);font-size:.72rem;color:var(--muted)}.lifelist-status strong{color:var(--text)}
.lifelist-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.lifelist-metrics article{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:11px 12px}.lifelist-metrics span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.055em;font-weight:800}.lifelist-metrics strong{display:block;font-size:1.65rem;margin-top:2px}.lifelist-metrics small{display:block;color:var(--muted);font-size:.61rem;margin-top:1px}.lifelist-toolbar{grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(240px,2fr)}
.lifelist-list{display:grid;gap:7px}.lifelist-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(150px,1fr) 80px minmax(145px,.8fr);gap:10px;align-items:center;border:1px solid var(--border);background:var(--card);border-radius:11px;padding:9px 10px}.lifelist-row.year-counted{border-color:#426b58;background:linear-gradient(90deg,rgba(47,97,70,.14),var(--card) 32%)}.lifelist-species-btn{border:0;background:transparent;color:var(--text);padding:0;text-align:left;min-height:0}.lifelist-species-btn.has-aba{cursor:pointer}.lifelist-species-btn.has-aba:hover .lifelist-name strong{text-decoration:underline}.lifelist-name strong{display:block;font-size:.9rem;line-height:1.18}.lifelist-name span{display:block;font-size:.67rem;color:var(--muted);font-style:italic;margin-top:2px}.lifelist-dates span,.lifelist-records span{display:block;color:var(--muted);font-size:.57rem;text-transform:uppercase;letter-spacing:.05em}.lifelist-dates strong{display:block;font-size:.72rem;margin-top:2px}.lifelist-dates small{display:block;color:var(--muted);font-size:.57rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.lifelist-records{text-align:center}.lifelist-records strong{display:block;font-size:.95rem}.lifelist-records small{display:block;color:var(--muted);font-size:.56rem;margin-top:2px}.lifelist-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.life-badge{border:1px solid var(--border);border-radius:999px;padding:3px 6px;font-size:.55rem;white-space:nowrap}.life-badge.aba{border-color:#477b87;color:#b8e3ec}.life-badge.world{border-color:#64547d;color:#d9c6ef}.life-badge.year{border-color:#4f7d5e;color:#bce0c6}.life-badge.needed{border-color:#7a6841;color:#e4d29d}.lifelist-empty{border:1px dashed var(--border);border-radius:12px;padding:24px;text-align:center;color:var(--muted)}.lifelist-empty strong,.lifelist-empty span{display:block}.lifelist-empty strong{color:var(--text);font-size:.92rem}.lifelist-empty span{font-size:.7rem;margin-top:4px}
@media(max-width:1000px){.lifelist-row{grid-template-columns:minmax(200px,1.5fr) 1fr 1fr}.lifelist-records{grid-column:2}.lifelist-badges{grid-column:3}.lifelist-metrics{grid-template-columns:repeat(2,1fr)}.lifelist-toolbar{grid-template-columns:repeat(2,1fr)}.lifelist-toolbar .grow{grid-column:1/-1}}
@media(max-width:650px){.lifelist-hero-head{flex-direction:column}.lifelist-actions{justify-content:flex-start}.lifelist-metrics{grid-template-columns:repeat(2,1fr)}.lifelist-toolbar{grid-template-columns:1fr}.lifelist-toolbar .grow{grid-column:auto}.lifelist-row{grid-template-columns:1fr 1fr}.lifelist-species-btn{grid-column:1/-1}.lifelist-records{grid-column:auto;text-align:left}.lifelist-badges{grid-column:auto;justify-content:flex-end}.lifelist-dates small{white-space:normal}}

/* Build 42: Field Command visual polish
   Presentation-only pass. Existing layout, IDs, data flow and feature logic are unchanged. */
:root{
  --bg:#071017;
  --panel:#0c171f;
  --card:#101d26;
  --card-2:#142630;
  --text:#f2f8fa;
  --muted:#8fa6b1;
  --border:#29424f;
  --border-bright:#395d6c;
  --lake:#3d91ff;
  --teal:#2bc9b7;
  --sage:#78aa91;
  --amber:#e6b45a;
  --rust:#df735c;
  --plum:#aa7ce8;
  --green:#57c895;
  --ice:#9bdcff;
  --desert:#e29755;
  --shadow:0 18px 48px rgba(0,0,0,.28);
  --shadow-soft:0 9px 26px rgba(0,0,0,.20);
  --ring:0 0 0 1px rgba(145,205,231,.045) inset;
}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  min-height:100vh;
  background:
    radial-gradient(ellipse at 7% -8%,rgba(61,145,255,.18),transparent 32rem),
    radial-gradient(ellipse at 93% 2%,rgba(43,201,183,.12),transparent 28rem),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),
    linear-gradient(180deg,#071017 0%,#08131a 48%,#071017 100%);
  background-size:auto,auto,42px 42px,42px 42px,auto;
  background-attachment:fixed;
  color:var(--text);
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(120deg,rgba(255,255,255,.025),transparent 22%,transparent 76%,rgba(155,220,255,.018));
}
::selection{background:rgba(61,145,255,.32);color:#fff}
*{scrollbar-width:thin;scrollbar-color:#315361 #0b161d}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:#0b161d}::-webkit-scrollbar-thumb{background:#315361;border-radius:99px;border:2px solid #0b161d}
.shell{max-width:1440px;padding:30px 22px 54px}

/* Hero: make the app feel like a field instrument, without changing its structure */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  align-items:center;
  min-height:190px;
  padding:28px 30px;
  border:1px solid rgba(78,126,148,.62);
  border-radius:22px;
  background:
    linear-gradient(105deg,rgba(16,31,41,.96) 0%,rgba(10,24,33,.94) 58%,rgba(10,30,35,.90) 100%);
  box-shadow:var(--shadow),var(--ring);
}
.hero:before{
  content:"";position:absolute;z-index:-1;inset:0;
  background:
    radial-gradient(circle at 77% 38%,rgba(43,201,183,.16),transparent 17rem),
    radial-gradient(circle at 55% 120%,rgba(61,145,255,.13),transparent 24rem),
    linear-gradient(90deg,rgba(255,255,255,.035),transparent 28%);
}
.hero:after{
  content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--lake),var(--teal) 42%,var(--plum) 72%,transparent 96%);
  opacity:.9;
}
.hero .kicker{font-size:.69rem;letter-spacing:.24em;color:#a7e0ff!important;text-shadow:0 0 20px rgba(61,145,255,.28)}
h1{
  margin:.06em 0;
  font-family:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  font-size:clamp(3rem,6.6vw,5.6rem);
  font-weight:760;
  letter-spacing:-.055em;
  background:linear-gradient(96deg,#fff 8%,#d9f3ff 52%,#96ddd3 98%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 10px 45px rgba(0,0,0,.28);
}
.lede{max-width:760px;font-size:.91rem;line-height:1.65;color:#a9bbc4;margin-top:.9rem}
.hero-right{align-items:center;gap:20px;padding-left:16px}
.year-count{
  position:relative;display:grid;grid-template-columns:auto auto;align-items:baseline;
  padding:14px 17px 11px;
  border:1px solid rgba(78,126,148,.60);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(17,37,48,.82),rgba(9,22,29,.78));
  box-shadow:0 12px 34px rgba(0,0,0,.22),0 0 30px rgba(61,145,255,.06) inset;
}
.year-count:before{content:"2027 COUNT";grid-column:1/-1;font-size:.55rem;letter-spacing:.16em;font-weight:850;color:#7ea1b1;margin-bottom:2px}
.year-count span{font-size:3.45rem;font-weight:780;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:#f7fcff}
.year-count small{font-size:.9rem;color:#89a5b1}
.actions button{box-shadow:0 5px 16px rgba(0,0,0,.18)}

/* Navigation */
.sync-panel{
  margin:14px 0 12px;padding:10px 14px;border-radius:12px;
  background:rgba(12,23,31,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-color:rgba(57,93,108,.65);box-shadow:var(--ring);
}
.tabs{
  position:sticky;top:0;z-index:30;
  gap:3px;margin:0 0 18px;padding:8px 4px;
  border:1px solid rgba(57,93,108,.42);border-left:0;border-right:0;
  background:rgba(7,16,23,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.tabs button{position:relative;border-radius:8px;padding:8px 11px;color:#829ba7;transition:color .16s ease,background .16s ease,transform .16s ease}
.tabs button:hover{color:#d8e9ef;background:rgba(255,255,255,.035);filter:none;transform:translateY(-1px)}
.tabs button.active,[data-tab].active{
  color:#f1fbff;background:linear-gradient(180deg,rgba(61,145,255,.15),rgba(61,145,255,.055));
  border-color:rgba(76,142,187,.44);box-shadow:0 0 0 1px rgba(61,145,255,.04) inset;
}
.tabs button.active:after{content:"";position:absolute;left:17%;right:17%;bottom:-9px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--lake),var(--teal));box-shadow:0 0 12px rgba(61,145,255,.45)}

/* Surface system */
.card,.metrics article,.location-card,.target-full,.bird,.month-card,.lifelist-metrics article,.location-intel-panel{
  border-color:rgba(57,93,108,.68);
  background:linear-gradient(155deg,rgba(18,34,44,.94),rgba(12,24,32,.96));
  box-shadow:var(--shadow-soft),var(--ring);
}
.card{border-radius:16px}
.card,.stack-item,.bird,.target-full,.location-card,.month-card,.lifelist-row,.dashboard-scoreboard article,.location-intel-panel{
  transition:border-color .17s ease,transform .17s ease,box-shadow .17s ease,background .17s ease;
}
.card:hover{border-color:rgba(68,107,124,.78)}
.stack-item:hover,.bird:hover,.target-full:hover,.location-card:hover,.month-card:hover,.lifelist-row:hover{
  border-color:rgba(75,124,145,.78);box-shadow:0 10px 28px rgba(0,0,0,.19),var(--ring);
}
.card-head h2,.section-head h2,.form-card h2{font-family:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;font-weight:720;letter-spacing:-.018em;color:#f5fbfd}
.card-head p,.section-head p{color:#829ba7;line-height:1.45}
.kicker,.location-intel-kicker{font-variant-caps:all-small-caps}

/* Inputs and buttons */
button,.button-link{
  border-radius:9px;
  background:linear-gradient(180deg,#428fea,#3178c7);
  border-color:#559be8;
  box-shadow:0 4px 12px rgba(20,78,133,.20),0 1px 0 rgba(255,255,255,.13) inset;
  transition:filter .14s ease,transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
button:hover,.button-link:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 7px 17px rgba(20,78,133,.25),0 1px 0 rgba(255,255,255,.14) inset}
button:active,.button-link:active{transform:translateY(0)}
button.ghost,.small-btn.ghost,.button-link.ghost{
  background:linear-gradient(180deg,rgba(25,44,55,.92),rgba(17,31,40,.94));
  border-color:#365969;color:#d7e8ee;box-shadow:0 1px 0 rgba(255,255,255,.04) inset;
}
button.ghost:hover,.small-btn.ghost:hover,.button-link.ghost:hover{background:#1a313d;border-color:#4b7587;filter:none}
select,input,textarea{
  background:linear-gradient(180deg,#0b171e,#0c1921)!important;
  border-color:#315462!important;border-radius:9px!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset;
}
select:hover,input:hover,textarea:hover{border-color:#416b7b!important}
select:focus,input:focus,textarea:focus{outline:0;box-shadow:0 0 0 3px rgba(61,145,255,.13);border-color:#4b91df!important}

/* Dashboard command layer */
.dashboard-today{
  position:relative;overflow:hidden;
  padding:18px 20px!important;margin-bottom:10px!important;
  border:1px solid rgba(58,94,111,.72)!important;border-radius:15px!important;
  background:linear-gradient(115deg,rgba(17,34,45,.97),rgba(11,26,35,.94))!important;
  box-shadow:var(--shadow-soft),var(--ring);
}
.dashboard-today:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--lake),var(--teal))}
.dashboard-today h2{font-size:1.55rem!important;letter-spacing:-.025em;margin:.05rem 0 .25rem!important}
.dashboard-today #dashboardTodaySummary{max-width:870px;color:#94aab4!important}
.dashboard-scoreboard{gap:9px!important}
.dashboard-scoreboard article{
  position:relative;overflow:hidden;min-height:88px;
  border-radius:13px!important;padding:12px 13px 11px!important;
  background:linear-gradient(155deg,rgba(18,35,45,.98),rgba(11,25,33,.98))!important;
  box-shadow:0 7px 20px rgba(0,0,0,.18),var(--ring);
}
.dashboard-scoreboard article:after{content:"";position:absolute;right:-18px;bottom:-32px;width:84px;height:84px;border-radius:50%;background:currentColor;opacity:.035;filter:blur(2px)}
.dashboard-scoreboard article:hover{transform:translateY(-2px);border-color:rgba(77,124,145,.82)!important;box-shadow:0 12px 28px rgba(0,0,0,.23),var(--ring)}
.dashboard-scoreboard span{font-size:.59rem!important;font-weight:800!important;letter-spacing:.09em;text-transform:uppercase;color:#8099a5!important}
.dashboard-scoreboard strong{font-size:2rem!important;line-height:1.05!important;letter-spacing:-.045em;font-weight:760!important;font-variant-numeric:tabular-nums;color:#f5fbfd!important}
.dashboard-scoreboard article:nth-child(1){color:var(--teal);border-top-color:var(--teal)!important}
.dashboard-scoreboard article:nth-child(2){color:var(--lake);border-top-color:var(--lake)!important}
.dashboard-scoreboard article:nth-child(3){color:var(--ice);border-top-color:var(--ice)!important}
.dashboard-scoreboard article:nth-child(4){color:var(--sage);border-top-color:var(--sage)!important}
.dashboard-scoreboard article:nth-child(5){color:var(--rust);border-top-color:var(--rust)!important}
.dashboard-scoreboard article:nth-child(6){color:var(--amber);border-top-color:var(--amber)!important}
.dashboard-progress-card{padding:13px 15px!important;background:linear-gradient(145deg,rgba(16,31,41,.98),rgba(11,25,33,.98))!important}
.big-progress{height:9px!important;background:#0a171e!important;border:1px solid rgba(55,88,102,.55);box-shadow:0 1px 7px rgba(0,0,0,.25) inset}
.big-progress span,#goalBar{background:linear-gradient(90deg,var(--lake),#4db5e8 48%,var(--teal))!important;box-shadow:0 0 16px rgba(43,201,183,.30)}
.dashboard-submetrics span{border-right-color:rgba(57,93,108,.55)!important;color:#78939f!important}.dashboard-submetrics strong{color:#e5f1f5!important;font-variant-numeric:tabular-nums}

.next-birds-feature{border-color:rgba(69,112,132,.76)!important;box-shadow:0 16px 38px rgba(0,0,0,.22),var(--ring)}
.next-birds-feature:before{height:2px!important;box-shadow:0 0 18px rgba(61,145,255,.45)}
.dashboard-bird-card{border-radius:13px!important;overflow:hidden;background:linear-gradient(180deg,#132630,#0c1b23)!important;box-shadow:0 8px 22px rgba(0,0,0,.20)}
.dashboard-bird-card:hover{transform:translateY(-3px)!important;border-color:#4d8096!important;box-shadow:0 15px 33px rgba(0,0,0,.27)}
.dashboard-bird-image{overflow:hidden;background:#091319!important}
.dashboard-bird-image img{transition:transform .32s ease,filter .32s ease;filter:saturate(.96) contrast(1.03)}
.dashboard-bird-card:hover .dashboard-bird-image img{transform:scale(1.035);filter:saturate(1.05) contrast(1.04)}
.dashboard-bird-score{font-weight:780!important;letter-spacing:-.04em;text-shadow:0 0 24px rgba(155,220,255,.15)}

.compact-intel-card,.dashboard-glance-card,.dashboard-radar-wide,.field-conditions-card,.quick-actions-card{overflow:hidden}
.compact-intel-card .card-head h2{font-size:.96rem!important}
.stack-item,.glance-stat,.weather-grid>div{background:linear-gradient(150deg,rgba(16,31,40,.96),rgba(11,25,32,.96))!important;border-color:rgba(50,84,98,.78)!important}
.glance-stat strong,.weather-grid strong{font-variant-numeric:tabular-nums}
.weather-hero{background:linear-gradient(135deg,rgba(61,145,255,.13),rgba(43,201,183,.07))!important;border-color:rgba(58,98,117,.78)!important}
.weather-score{box-shadow:0 0 24px rgba(43,201,183,.08) inset}
.dashboard-radar-card{border-color:rgba(54,91,108,.82)!important;border-radius:11px!important;box-shadow:0 6px 18px rgba(0,0,0,.17)}
.dashboard-radar-card:hover{border-color:#4d8198!important;transform:translateY(-2px)}
.dashboard-radar-image img{transition:transform .28s ease}.dashboard-radar-card:hover .dashboard-radar-image img{transform:scale(1.04)}

/* Location Intel and Life List get the same premium hierarchy */
.location-explorer-card,.lifelist-hero-card{
  position:relative;overflow:hidden;border-color:rgba(65,107,125,.76)!important;
  background:linear-gradient(125deg,rgba(18,38,48,.97),rgba(10,27,34,.94))!important;
  box-shadow:var(--shadow-soft),var(--ring);
}
.location-explorer-card:before,.lifelist-hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--lake),var(--plum));opacity:.9}
.location-intel-grade{background:linear-gradient(145deg,#10232c,#0b1921)!important;box-shadow:var(--ring)}
.location-intel-metrics>div,.decision-metrics span{background:linear-gradient(145deg,#10212a,#0b1921)!important;border-color:rgba(53,89,104,.78)!important}
.location-intel-metrics strong,.lifelist-metrics strong{font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.location-bird-row,.location-hotspot-row,.location-notable-row{background:linear-gradient(145deg,rgba(15,31,40,.98),rgba(10,23,30,.98))!important;border-color:rgba(49,83,97,.80)!important}
.location-bird-row:hover,.location-hotspot-row:hover{transform:translateY(-1px);border-color:#4e8398!important;box-shadow:0 8px 19px rgba(0,0,0,.18)}
.decision-panel{background:linear-gradient(125deg,rgba(23,49,48,.76),rgba(11,28,35,.96))!important;border-color:rgba(64,106,109,.86)!important}
.decision-score{background:rgba(7,20,27,.60);box-shadow:0 0 22px rgba(43,201,183,.10) inset}
.lifelist-row{background:linear-gradient(145deg,rgba(16,31,40,.98),rgba(11,24,31,.98))!important;border-color:rgba(50,84,98,.78)!important}
.lifelist-row.year-counted{background:linear-gradient(90deg,rgba(54,119,83,.16),rgba(13,28,35,.98) 34%)!important}
.life-badge,.pill,.intel-flags em{background:rgba(18,36,45,.82);box-shadow:0 1px 0 rgba(255,255,255,.025) inset}

/* Checklist / targets / trips: polish existing components rather than redesign them */
.bird-main{padding:11px}.bird.counted{border-color:rgba(81,139,104,.74)!important;box-shadow:0 0 0 1px rgba(87,200,149,.025) inset}
.thumb,.fallback,.mini-thumb,.mini-fallback,.target-thumb{box-shadow:0 0 0 1px rgba(255,255,255,.035) inset}
.flag{background:rgba(10,22,29,.60);border-color:#31505d;transition:all .14s ease}.flag:hover{border-color:#4a7182;color:#d5e5eb}.flag.on{box-shadow:0 0 14px rgba(87,200,149,.07) inset}
.target-card{background:linear-gradient(145deg,rgba(15,30,39,.98),rgba(10,22,29,.98));border-color:rgba(49,83,97,.78);box-shadow:0 6px 18px rgba(0,0,0,.16)}
.target-card:hover{transform:translateY(-2px);border-color:#4a7c91}
.target-full .score-big{font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#c9ebff}
.month-card .month-count{font-variant-numeric:tabular-nums;color:#d7efff}
.bar-track{background:#0a171e!important;border:1px solid rgba(50,82,95,.55)}.bar-fill{background:linear-gradient(90deg,var(--lake),var(--teal))!important}

/* Small details that make the UI feel finished */
.version{background:rgba(17,34,43,.75);border-color:#345563;color:#9cb3bd;font-variant-numeric:tabular-nums}
.dashboard-build-footer{opacity:.62!important;letter-spacing:.11em!important;text-transform:uppercase}
a,.species-link,.links a{text-underline-offset:3px;text-decoration-color:rgba(155,220,255,.28)}
a:hover,.species-link:hover,.links a:hover{text-decoration-color:currentColor}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:900px){
  .hero{padding:22px;min-height:0;align-items:flex-end}
  h1{font-size:clamp(2.7rem,10vw,4.5rem)}
  .hero-right{padding-left:0}
  .tabs{top:0}
}
@media(max-width:700px){
  .shell{padding:16px 12px 38px}
  .hero{border-radius:17px;padding:20px 17px;align-items:flex-start}
  .hero-right{width:100%;justify-content:space-between;align-items:flex-end;flex-wrap:wrap}
  .year-count span{font-size:2.75rem}
  .year-count{padding:11px 13px 9px}
  .lede{font-size:.82rem}
  .dashboard-scoreboard article{min-height:82px}
  .dashboard-scoreboard strong{font-size:1.75rem!important}
}

/* Build 43: browser-safe dashboard region selector.
   Keep this native select predictable on Windows/Chrome while preserving
   the Field Command visual language elsewhere. */
#todayRegion{
  color-scheme:dark;
  background:#0f1a21!important;
  color:#eef6f8!important;
  border:1px solid #35515f!important;
  box-shadow:none!important;
  cursor:pointer;
  pointer-events:auto;
  position:relative;
  z-index:2;
}
#todayRegion:hover{border-color:#4b7587!important}
#todayRegion:focus{
  outline:2px solid rgba(61,145,255,.28);
  outline-offset:1px;
  border-color:#4b91df!important;
  box-shadow:none!important;
}
#todayRegion option{
  background:#0f1a21;
  color:#eef6f8;
}

/* Keep native option menus legible across the app on Windows/Chromium. */
select{color-scheme:dark}
select option{background:#0f1a21;color:#eef6f8}


/* Build 51: hosted PWA foundation, mobile field controls, and cloud ABA sync. */
#installApp[hidden],#pwaUpdateBanner[hidden],#pwaConnectionBadge[hidden]{display:none!important}
.pwa-card .card-head{align-items:center}.pwa-card #pwaStatusText{line-height:1.5}
.pwa-update-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:120;max-width:min(680px,calc(100vw - 24px));width:max-content;display:flex;align-items:center;gap:18px;padding:11px 12px 11px 15px;border:1px solid #477c88;border-radius:14px;background:rgba(8,22,29,.96);box-shadow:0 18px 55px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.pwa-update-banner div{display:grid;gap:2px}.pwa-update-banner strong{font-size:.8rem}.pwa-update-banner span{color:var(--muted);font-size:.65rem}.pwa-update-banner button{min-height:34px;padding:6px 10px;white-space:nowrap}
.pwa-connection-badge{position:fixed;right:14px;bottom:14px;z-index:119;border:1px solid #8b6846;background:rgba(41,28,18,.95);color:#f0ca9f;border-radius:999px;padding:7px 10px;font-size:.64rem;font-weight:800;letter-spacing:.03em;box-shadow:0 10px 30px rgba(0,0,0,.38)}
#locationIntelUseCurrent{border-color:#3c6473;color:#c9e9f2;background:#10222b}
#locationIntelUseCurrent:hover{border-color:#5591a4;background:#142d38}
@media(display-mode:standalone){body{overscroll-behavior-y:none}.shell{padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(44px,env(safe-area-inset-bottom))}.tabs{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
@media(max-width:700px){
  .tabs{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:0 0 auto}
  .pwa-update-banner{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:auto;align-items:flex-start;flex-direction:column;gap:8px}.pwa-update-banner button{width:100%}
  .pwa-connection-badge{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
}


/* Build 53: Mobile UI refinement. ABA maintenance moved to Data; mobile Radar/Glance cards stretch full width. */
.mobile-brand,.mobile-bottom-nav,.mobile-more-sheet,.mobile-more-backdrop{display:none}

@media(max-width:700px){
  :root{--mobile-nav-h:68px}
  html{scroll-padding-bottom:calc(var(--mobile-nav-h) + 14px)}
  body{padding-bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom));}
  body.mobile-menu-open{overflow:hidden}
  .shell{padding:calc(10px + env(safe-area-inset-top)) 10px calc(var(--mobile-nav-h) + 24px + env(safe-area-inset-bottom))}

  /* Compact app header: useful status in ~70px instead of a desktop hero. */
  .hero{min-height:0!important;padding:10px 12px!important;border-radius:14px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:6px}
  .hero>div:first-child{min-width:0;flex:1}
  .hero .kicker,.hero h1,.hero .lede{display:none!important}
  .mobile-brand{display:block;font-family:"Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;font-size:1.15rem;font-weight:780;letter-spacing:-.025em;color:#f5fbfd;white-space:nowrap}
  .hero-right{width:auto!important;padding:0!important;gap:8px!important;align-items:center!important;flex:0 0 auto!important}
  .hero .actions{display:none!important}
  .year-count{padding:5px 8px 4px!important;border-radius:10px!important;display:flex!important;gap:3px!important;align-items:baseline!important;min-width:0!important}
  .year-count:before{display:none!important}
  .year-count span{font-size:1.35rem!important;letter-spacing:-.04em!important}
  .year-count small{font-size:.66rem!important}

  /* ABA maintenance lives in Data; healthy state stays compact there. */
  .sync-panel{margin:0!important}
  .sync-panel.ok{min-height:0!important;padding:6px 9px!important;border-radius:10px!important;display:flex!important;align-items:center!important;gap:8px!important}
  .sync-panel.ok>div:first-child{min-width:0;flex:1}
  .sync-panel.ok #syncTitle{font-size:.67rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .sync-panel.ok #syncText{display:none!important}
  .sync-panel.ok .aba-sync-actions>a,.sync-panel.ok .aba-sync-actions>button,.sync-panel.ok .aba-sync-actions>input{display:none!important}
  .sync-panel.ok .aba-sync-actions{margin:0!important;flex:0 0 auto!important}
  .sync-panel.ok .version{font-size:.56rem!important;padding:3px 6px!important;white-space:nowrap}
  .sync-panel:not(.ok){padding:10px 11px!important;gap:8px!important}
  .sync-panel:not(.ok) .aba-sync-actions{gap:6px!important}
  .sync-panel:not(.ok) .small-btn,.sync-panel:not(.ok) .button-link{min-height:42px!important}

  /* Desktop tab rail is replaced by a fixed field navigation bar. */
  .tabs{display:none!important}
  .mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:105;left:0;right:0;bottom:0;min-height:var(--mobile-nav-h);padding:5px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:rgba(7,16,23,.965);border-top:1px solid rgba(66,105,123,.8);box-shadow:0 -12px 35px rgba(0,0,0,.34);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .mobile-bottom-nav button{min-height:55px!important;padding:5px 2px!important;border:0!important;border-radius:10px!important;background:transparent!important;box-shadow:none!important;color:#78939f!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:2px!important;font-size:.62rem!important;font-weight:730!important;transform:none!important}
  .mobile-bottom-nav button.active{color:#eefaff!important;background:linear-gradient(180deg,rgba(61,145,255,.16),rgba(43,201,183,.05))!important}
  .mobile-nav-icon{font-size:1.2rem;line-height:1;font-weight:800}

  .mobile-more-backdrop{display:block;position:fixed;z-index:108;inset:0;background:rgba(1,7,10,.62);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .mobile-more-backdrop[hidden]{display:none!important}
  .mobile-more-sheet{display:block;position:fixed;z-index:109;left:8px;right:8px;bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 5px);padding:8px 11px 13px;border:1px solid #35596a;border-radius:18px;background:linear-gradient(160deg,rgba(16,32,42,.99),rgba(8,20,27,.99));box-shadow:0 24px 70px rgba(0,0,0,.58)}
  .mobile-more-sheet[hidden]{display:none!important}
  .mobile-more-handle{width:38px;height:4px;border-radius:99px;background:#365363;margin:1px auto 7px}
  .mobile-more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-more-head strong{font-size:.92rem}.mobile-more-head button{width:40px;height:40px;min-height:40px!important;padding:0!important;font-size:1.15rem!important}
  .mobile-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
  .mobile-more-grid button{min-height:64px!important;padding:7px 4px!important;background:#10212a!important;border-color:#31505f!important;color:#cfe0e6!important;box-shadow:none!important;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:.63rem!important}
  .mobile-more-grid button>span{font-size:1.05rem;color:#9bdcff}
  .mobile-more-grid button.active{border-color:#4a91d7!important;background:rgba(61,145,255,.13)!important;color:#fff!important}

  /* First screen: date context + six compact instruments. */
  .dashboard-today{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:9px 10px!important;margin-bottom:7px!important;border-radius:12px!important}
  .dashboard-today .kicker,.dashboard-today #dashboardTodaySummary{display:none!important}
  .dashboard-today h2{font-size:.94rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dashboard-date{width:auto!important;min-width:0!important;display:flex!important;flex-wrap:nowrap!important;gap:5px!important}
  .dashboard-date input{min-width:0!important;width:125px!important;height:42px!important;padding:6px 7px!important;font-size:.72rem!important}
  .dashboard-date button{min-height:42px!important;height:42px!important;padding:6px 9px!important;font-size:.66rem!important;white-space:nowrap}
  .dashboard-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-bottom:7px!important}
  .dashboard-scoreboard article{min-height:58px!important;padding:7px 7px 6px!important;border-radius:10px!important}
  .dashboard-scoreboard span{font-size:.51rem!important;line-height:1.15!important;letter-spacing:.045em!important}
  .dashboard-scoreboard strong{font-size:1.22rem!important;margin-top:4px!important}

  .dashboard-progress-card{padding:9px 10px!important;margin-bottom:8px!important;border-radius:12px!important}
  .dashboard-progress-head{align-items:center!important;gap:8px!important}
  .dashboard-progress-head>div{flex-direction:row!important;gap:7px!important;align-items:baseline!important;min-width:0}
  .dashboard-progress-head>div>strong{white-space:nowrap}
  .dashboard-progress-head>div>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dashboard-progress-head label.compact{font-size:.55rem!important;display:flex!important;align-items:center!important;gap:4px!important}
  .dashboard-progress-head #goalInput{width:65px!important;min-height:36px!important;height:36px!important;padding:4px 6px!important}
  .dashboard-progress-card .big-progress{margin:6px 0!important;height:7px!important}
  .dashboard-submetrics{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:5px!important;padding-bottom:1px}
  .dashboard-submetrics::-webkit-scrollbar{display:none}
  .dashboard-submetrics>span{flex:0 0 auto!important;font-size:.58rem!important;padding:3px 7px!important}

  /* Mobile content priority: Next Birds → Rare Radar → Hotspots → Field Conditions → Glance. */
  .dashboard-command-grid{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:8px!important}
  .dashboard-main-stack,.dashboard-intel-row,.dashboard-side-stack{display:contents!important}
  .next-birds-feature{order:1;padding:10px!important}
  .dashboard-radar-wide{order:2}
  .dashboard-hotspots-card{order:3}
  .field-conditions-card{order:4}
  .dashboard-glance-card{order:5}
  .dashboard-radar-wide,.dashboard-glance-card{width:100%!important;max-width:none!important;min-width:0!important;align-self:stretch!important;box-sizing:border-box!important}
  .next-birds-feature>.card-head{gap:8px!important;margin-bottom:6px!important}
  .next-birds-feature>.card-head>div:first-child p,.dashboard-radar-wide .card-head p,.dashboard-hotspots-card .card-head p,.dashboard-glance-card .card-head p,.dashboard-lower-grid .card-head p{display:none!important}
  .next-birds-tools{flex-direction:row!important;align-items:end!important;justify-content:space-between!important;gap:6px!important;width:100%!important}
  .next-birds-scope-label{width:auto!important;min-width:0!important;flex:1 1 auto!important}
  .next-birds-scope-label select{min-height:42px!important}
  .carousel-actions{align-self:end!important}.carousel-actions button{width:42px!important;height:42px!important;min-height:42px!important}
  .next-bird-carousel{gap:9px!important;scroll-padding:0 1px!important}
  .dashboard-bird-card{flex-basis:calc(100vw - 42px)!important;max-width:calc(100vw - 42px)!important}
  .dashboard-bird-image{height:205px!important;flex-basis:205px!important}
  .dashboard-bird-copy{padding:9px 10px!important}
  .compact-intel-card{padding:9px!important}
  .compact-intel-card .card-head{align-items:center!important}
  .compact-intel-card .card-head button{min-width:42px!important;min-height:42px!important}

  .dashboard-lower-grid{grid-template-columns:1fr!important;gap:8px!important;margin-top:8px!important}
  #tab-data .data-aba-card{width:100%!important;max-width:none!important;box-sizing:border-box!important}
  #tab-data .sync-panel.ok{padding:10px 11px!important;border-radius:14px!important;align-items:flex-start!important;flex-direction:column!important}
  #tab-data .sync-panel.ok #syncTitle{font-size:.9rem!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  #tab-data .sync-panel.ok #syncText{display:block!important}
  #tab-data .sync-panel.ok .aba-sync-actions{width:100%!important;flex:1 1 auto!important;gap:6px!important}
  #tab-data .sync-panel.ok .aba-sync-actions>a,#tab-data .sync-panel.ok .aba-sync-actions>button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px!important}
  #tab-data .sync-panel.ok .version{font-size:.66rem!important;padding:4px 7px!important}
  .dashboard-quick-actions button{min-height:44px!important}
  .dashboard-build-footer{margin-bottom:4px!important}

  /* Phone controls should be comfortable to hit in the field. */
  .tab-panel button:not(.count-toggle):not(.flag):not(.species-close):not(.intel-why-btn),.tab-panel .button-link{min-height:42px}
  .toolbar select,.toolbar input,.toolbar button,.location-intel-form select,.location-intel-form input,.location-intel-form button{min-height:44px!important}
  footer{display:none!important}
  .pwa-connection-badge{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 8px)!important}
  .pwa-update-banner{bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom) + 8px)!important}
}

@media(max-width:390px){
  .mobile-brand{font-size:1.08rem}
  .year-count span{font-size:1.25rem!important}
  .dashboard-date input{width:116px!important}
  .dashboard-date button{padding-left:7px!important;padding-right:7px!important}
  .dashboard-scoreboard span{font-size:.48rem!important}
  .dashboard-scoreboard strong{font-size:1.12rem!important}
}

@media(max-width:700px){
  .next-birds-feature{align-self:stretch!important;width:100%!important;max-width:none!important}
  .dashboard-intel-row>.card{height:auto!important}
}
