/* The Next Shelter field atlas — paper, ink, trail blazes, and measured rules. */
:root{--paper:#f3f0e6;--ink:#263b35;--forest:#203e35;--line:#cbd0c3;--muted:#5e6c61;--gold:#b97734}
body{background:var(--paper)}
header{background:#faf8f1;border-bottom:1px solid #bcc4b7;padding:0 3%;height:60px;min-height:60px}
.brand{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1;letter-spacing:1.6px;gap:11px}
.brand small{font:600 11px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:1px;margin-top:2px}

.nav{font-size:15px;font-weight:500}
.nav.active{font-weight:700;background:#e9ecdf;border-bottom-color:#b97734}
.region{font-size:11px;letter-spacing:1.1px}
main{max-width:1720px}
.intro{position:relative;padding:20px 0 17px;border-bottom:1px solid var(--line);margin-bottom:10px;gap:32px}
.intro>div:first-child{flex:1;min-width:0;max-width:1000px}
.eyebrow{color:#5c6b59;letter-spacing:1.1px;font-size:12px}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.35px}
h1{font-size:29px;line-height:1.2;margin-bottom:8px;text-wrap:balance}
.intro p:not(.eyebrow){font-size:15px;color:#526252}
.progress{width:235px;flex-shrink:0;border-left:2px solid #a5b19b;padding-left:18px;gap:5px;font-size:14px}
.progress strong{font:500 25px Georgia,serif}
.progress small{font-size:12px}
.track{height:4px;border-radius:0}
.sync-strip{font-size:13px;margin:0 0 10px;min-height:34px}
.sync-strip button{min-height:34px;padding:5px 10px;background:transparent;font-size:13px}
button,select,input,textarea,.point-search,.location-result{border-radius:2px}
button{border-color:#bcc7b5;background:#fafbf5}
button:hover{background:#e7ecdf;border-color:#8e9e85}
input,select,textarea{background:#fffef9}
.workspace{border:0;border-top:3px solid var(--forest);border-bottom:1px solid #aebaab;border-radius:0;box-shadow:none;grid-template-columns:355px minmax(0,1fr);background:#fffef9}
.planner{padding:20px;max-height:770px;background:#f5f5eb;border-right:1px solid #b8c3b0;scrollbar-width:thin;scrollbar-color:#a6b49e transparent}
.panel-heading{gap:10px;padding-bottom:12px;border-bottom:1px solid #cbd2c0;margin-bottom:15px}
.panel-heading h2{font-size:24px}
.panel-heading p{font-size:14px;line-height:1.4;margin-top:4px}
.step{width:25px;height:25px;border-radius:0;background:transparent;border:0;border-left:3px solid #a6b58d;font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:#55684d}
label:not(.filters label){letter-spacing:.04em;font-size:13px;color:#42583c}
.point-search-toggle{font-size:14px;min-height:38px;padding:6px 10px;background:#e9eedf;border-color:#d0d9c2}
.swap-row{height:36px}
.swap-row button{min-height:36px;color:#536746}
.stats{background:transparent;border-radius:0;border-top:0;border-bottom:1px solid #bcc8b2;padding:13px 0;gap:10px}
.stats strong{font:500 23px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-1px}
.stats span{font-size:13px;color:#56684d}
.small h2{font-size:24px}
.stop{margin-left:14px;padding:0 0 17px 26px;border-left:2px solid #94a883;min-height:62px}
.stop:before{content:attr(data-stage);width:24px;height:27px;left:-13px;top:0;border:1px solid #718a5e;border-radius:1px;box-shadow:none;background:#f5f5eb;display:grid;place-items:center;color:#3c5731;font:600 12px ui-monospace,monospace}
.stop:last-child:before{background:#3c5731;color:#fff}
.stop strong{font-size:16px;font-weight:600;max-width:100%;padding-right:28px;line-height:1.35}
.stop small{font-size:14px;line-height:1.5;margin-top:5px;font-variant-numeric:tabular-nums}
.stop button{position:absolute;right:0;top:0;float:none;min-height:30px;padding:3px 8px;background:transparent;border:0}
.primary{background:var(--forest);border-radius:1px}
.map-toolbar{background:#eef0e5;border-bottom:1px solid #c3ccb8;padding:8px 16px}
.map-heading{gap:12px}
.map-title{font:600 13px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.7px}
.live-dot{width:7px;height:15px;border-radius:0;background:#fff;border:1px solid #9aa990;vertical-align:middle}
.map-actions button{font-size:14px;min-height:38px;padding:7px 10px;background:transparent}
.filters{font-size:14px}
.filters button{min-height:38px}
.map-caption{border-radius:0;border:0;border-left:3px solid #b97734;box-shadow:none;background:#fffef5f0;padding:9px 12px;font-size:12px;letter-spacing:1.2px}
.map-caption small{font-size:13px;color:#526348}
.profile-card{background:#fffef9;border-top:1px solid #acb99f;padding:16px 20px 10px}
.profile-header h2{font-size:23px}
.profile-header p{margin:4px 0;font-size:14px}
.profile-card #profile{height:150px}
.profile-footer{font-size:14px}
.map-foot{background:#eef0e5;border-top:1px solid #ccd3c1;padding:9px 16px}
.secondary-view{border:0;border-radius:0;border-top:3px solid var(--forest);background:#fffef9;box-shadow:none;padding:26px}
.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 36px;margin:22px 0}
.resource-grid article{position:relative;background:transparent;border-radius:0;border-top:1px solid #abb89d;padding:16px 0 2px 38px}
.resource-grid .step{position:absolute;left:0;top:16px}
.resource-grid h3{font-size:23px;margin:0 0 8px}
.resource-grid p{margin:8px 0 12px;font-size:16px;line-height:1.6}
.resource-grid a{font-size:15px}
.data-note{border-top:1px solid #c5cebb;max-width:100%}
.trip-card{border:0;border-radius:0;border-top:1px solid #bbc7ae;padding:18px 0;background:transparent}
.trip-card h3{font-size:24px}
.badge{border-radius:1px;background:#e4ebd8}
.bottom-note{text-align:left;border-top:1px solid #c5cebb;padding-top:10px;margin:14px 0;font-size:13px}
@media(max-width:1100px){.workspace{grid-template-columns:320px minmax(0,1fr)}.planner{padding:18px}.progress{width:205px}h1{font-size:26px}.map-toolbar .filters{margin-left:0}}
@media(max-width:720px){
 header{height:auto;min-height:88px;padding:8px 5% 0;gap:4px}
 .brand{font-size:24px}.brand small{font-size:10px}
 nav{height:44px}.nav{font-size:14px}
 .intro{padding:16px 0 12px;gap:12px;margin-bottom:8px}
 .intro>div:first-child{width:100%}
 h1,.intro h1{font-size:25px;line-height:1.22;text-wrap:initial}
 .intro p:not(.eyebrow){font-size:14px}
 .progress{border-left:0;border-top:1px solid #c3ccba;padding:9px 0 0;width:100%;flex-shrink:1;gap:4px;grid-template-columns:1fr auto}
 .progress strong{font-size:19px}.progress small{display:none}
 .sync-strip{font-size:13px;gap:6px;margin-bottom:8px}
 .workspace{display:flex}.planner{max-height:none;padding:18px;border-right:0;background:#f5f5eb}
 .map-toolbar{padding:9px 12px}.map-actions button{font-size:14px}.map-heading{gap:8px}
 .map-caption{padding:7px 9px}.profile-card{padding:14px 12px 10px}.profile-card #profile{height:150px}
 .map-foot{padding:9px 12px}.profile-footer{font-size:14px}
 .resource-grid{grid-template-columns:1fr;gap:18px;margin:18px 0}
 .resource-grid article{padding:14px 0 0 33px}.resource-grid .step{top:14px}
 .secondary-view{padding:20px 16px}
}
@media print{.intro{display:none!important}.planner{max-height:none;background:white}.workspace{border:0}.stop:before{background:white;color:#333}.profile-card{break-inside:avoid}}

.section-heading-centered{justify-content:center;text-align:center}
.section-heading-centered h2{font-weight:700}

.route-controls>.panel-heading:first-child{padding-bottom:4px}

.selected-point-name{margin:6px 0 0;font-size:14px;line-height:1.4;color:#42583c;overflow-wrap:anywhere}
@media print{.selected-point-name{display:none}}

.stop .day-map-button{position:static;float:none;display:block;margin-top:8px;padding:7px 10px;min-height:40px;border:1px solid #a8bbc5;background:#edf2f4;color:#234f68;font-size:14px;text-align:left}
.stop .day-map-button:hover,.stop .day-map-button[aria-pressed=true]{background:#315f7c;color:white;border-color:#315f7c}
.stop .day-ascent{margin-top:3px}
.day-map-status{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #a8bbc5;background:#e7eff3;color:#234f68;font-size:14px;line-height:1.5}
.day-map-status span{flex:1;min-width:0;overflow-wrap:anywhere}
.day-map-status button{flex-shrink:0;font-size:14px;background:#fffef9}
.day-arrival-label{font-size:14px;line-height:1.4;white-space:normal;max-width:230px}
@media(max-width:720px){
  .workspace{display:flex;flex-direction:column}
  .planner{order:0;border-top:0;border-bottom:1px solid #b8c3b0}
  .map-column{order:1}
  .workspace>.trip-details{order:2;padding:18px;background:#f5f5eb;border-top:1px solid #b8c3b0}
  .day-map-status{flex-wrap:wrap;padding:10px 12px;gap:8px}
  .day-map-status span{flex-basis:100%}
  .stop .day-map-button{min-height:44px}
}
@media print{.day-map-button,.day-map-status{display:none!important}.workspace>.trip-details{border:0;background:white}}

#shareDialog{width:min(620px,calc(100% - 28px));max-height:88vh;overflow:auto;border:1px solid #8c9b81;border-top:4px solid var(--forest);padding:22px;background:#fffef9;color:var(--ink);border-radius:2px}
#shareDialog::backdrop{background:#203e3580}
.share-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.share-heading h2{font-size:26px}
#shareDialog p{font-size:15px;line-height:1.5}
.share-preview{border-top:1px solid #ccd3c1;border-bottom:1px solid #ccd3c1;padding:12px 0}
.share-preview h3{margin:0;font-size:22px;overflow-wrap:anywhere}
#sharePreviewRoute{overflow-wrap:anywhere}
#shareDialog .share-notes-option{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:400;letter-spacing:0}
#shareNotes{width:18px;height:18px}
#sharePreviewNotes{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.5 'DM Sans',Arial,sans-serif;background:#f1f3e8;padding:12px}
.share-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
#createShare{background:var(--forest);color:white}
#shareLinkArea button{margin-top:8px}
#shareMessage{min-height:24px;color:#42583c}
@media print{#shareTrip,#shareDialog{display:none!important}}

@media(max-width:720px){.map-heading{min-width:0}.map-actions{flex-wrap:wrap;min-width:0;max-width:100%}}
@media(max-width:360px){nav{gap:2px}.nav{font-size:13px;padding:8px 2px;white-space:nowrap}.nav span{margin-left:2px;padding:2px 4px}}
@media(max-width:720px){.stop-picker select{font-size:16px}.stop-picker button{font-size:14px}}
