/* Along Our Paths — complete workspace visual system.
   Presentation-only layer: preserves existing Cloudflare API and interaction contracts. */
:root{
 --aop-forest:#173d30;--aop-deep:#102b23;--aop-moss:#647a60;--aop-gold:#d7aa52;
 --aop-paper:#f4f0e6;--aop-card:#fffdf7;--aop-ink:#24332b;--aop-muted:#788279;
 --aop-line:#e5e0d3;--aop-shadow:0 12px 34px rgba(31,48,37,.07);--aop-radius:18px;
 color-scheme:light;
}
html{background:var(--aop-paper)}
body{background:var(--aop-paper);color:var(--aop-ink);font-family:"DM Sans",system-ui,sans-serif}
.shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;min-height:100vh;width:auto;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:28px 18px 20px;background:linear-gradient(165deg,#183f31,#102b23 78%);border:0;box-shadow:8px 0 28px rgba(16,43,35,.08);z-index:30}
.brand{color:#fff8e9;font:700 24px/1 Georgia,serif;letter-spacing:-.045em;min-width:0}
.brand-mark{width:42px;height:42px;background:var(--aop-gold);color:var(--aop-deep);border-radius:13px;flex:none}
.brand small{color:#d9c99e;font:700 9px/1.4 "DM Sans",sans-serif;letter-spacing:.19em}
.trip-switcher{display:flex;flex-direction:column;gap:7px;margin:42px 8px 24px;padding:15px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff0b}
.trip-switcher .eyebrow{color:#c5b98f}.trip-switcher strong{color:#fff9e9;font-size:14px}.trip-switcher .muted{color:#c3cfc4;font-size:12px}
.nav{display:grid;justify-content:stretch;gap:5px;overflow:visible}
.nav-item{justify-content:flex-start;text-align:left;color:#d5e0d6;border:1px solid transparent;border-radius:11px;padding:11px 12px;font-size:13px;font-weight:600}
.nav-item>span:first-child{color:#d9bd79;width:21px}
.nav-item:hover{background:#ffffff0e;border-color:#ffffff15}
.nav-item.active{background:linear-gradient(110deg,#e3bd69,#c9943d);color:#1d2d24;border-color:#f0d28b;box-shadow:0 6px 18px #050f0b35}
.nav-item.active>span:first-child{color:#1d2d24}
.nav-count{background:#ffffff30}
.sidebar-bottom{margin-top:auto;color:#c4d0c6;border-color:#ffffff20;padding:17px 8px 0}
.sync-dot{background:#d6b05e}
.main{max-width:none;padding:30px clamp(22px,3.3vw,54px) 64px;background:var(--aop-paper)}
.topbar{align-items:flex-start;margin-bottom:25px;padding-bottom:21px;border-bottom:1px solid var(--aop-line)}
.topbar .eyebrow,.section-heading .eyebrow,.journal-panel-heading .eyebrow,.journal-section-heading .eyebrow{color:#8a8a75}
.topbar h1{font-family:Georgia,serif;font-size:clamp(30px,3.2vw,43px);font-weight:600;letter-spacing:-.045em;color:var(--aop-forest)}
.topbar-subtitle{color:var(--aop-muted);font-size:13px;margin:8px 0 0}
.account-pill{background:var(--aop-card);border:1px solid var(--aop-line);color:var(--aop-forest);border-radius:999px;padding:10px 15px;font-weight:650}
.panel,.stat-card,.trip-stat,.profile-mode-card,.auth-form,.setup-panel,.profile-selector-panel{background:var(--aop-card);color:var(--aop-ink);border:1px solid var(--aop-line);border-radius:var(--aop-radius);box-shadow:var(--aop-shadow)}
.panel{padding:22px}
.panel h2,.panel h3,.section-heading h2,.journal-section-heading h2{color:var(--aop-forest)}
.panel p,.panel .muted,.section-heading p{color:var(--aop-muted)}
.section-heading{margin:10px 0 22px}
.section-heading h2,.journal-section-heading h2{font:600 clamp(25px,2.4vw,32px)/1.15 Georgia,serif;letter-spacing:-.035em}
.section-heading p{max-width:760px}
.button-primary{background:var(--aop-forest);border-color:var(--aop-forest);color:#fff9ec;box-shadow:0 5px 14px #173d3020}
.button-primary:hover{background:#245642}
.button-secondary{background:#f7f3e9;border-color:#ded8c9;color:var(--aop-forest)}
.icon-button{background:#f7f3e9;border-color:var(--aop-line);color:var(--aop-forest)}
.count-pill{background:#edf1e8;color:var(--aop-forest);border:1px solid #dce5d8}
input,select,textarea{background:#fffefa!important;border:1px solid #dcd8cc!important;border-radius:10px!important;color:var(--aop-ink)!important}
input:focus,select:focus,textarea:focus{outline:3px solid #d7aa5238!important;border-color:#b58b42!important}
label{color:#536258}
.field-hint,.tiny{color:#858b80}
.view{animation:aop-in .24s ease both}
@keyframes aop-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* Overview */
.overview-editorial-hero{min-height:340px;border-radius:22px;overflow:hidden;background:linear-gradient(105deg,#142f26 0%,#274b3b 58%,#52684b 100%);box-shadow:var(--aop-shadow)}
.overview-hero-content h2{font:600 clamp(34px,4vw,54px)/1.02 Georgia,serif;letter-spacing:-.04em;max-width:650px}
.overview-hero-description,.overview-hero-content p{color:#f1ead8}
.overview-hero-stamp{border:1px solid #f2d78a70;background:#0e2a21a8;color:#f3d98f}
.overview-feature-grid{gap:20px;margin-top:20px}
.overview-map-panel,.overview-trip-stats,.overview-journey-panel,.overview-meetup-list-panel{border-radius:18px}
.journal-panel-heading h3{font:600 23px/1.1 Georgia,serif;color:var(--aop-forest)}
.journal-panel-heading p{font-size:12px}
.map{border-radius:13px;overflow:hidden;background:#e8e5d8}
.map-legend,.itinerary-map-legend{color:#68756b}
.trip-stat{box-shadow:none;border-color:var(--aop-line)}
.trip-stat-primary{background:linear-gradient(145deg,#173d30,#275844);color:#fff8e9;border:0}
.trip-stat-primary .trip-stat-label,.trip-stat-primary small{color:#d7e1d5}
.trip-stat-primary strong{color:#fff5df}
.trip-stat:not(.trip-stat-primary) strong{color:var(--aop-forest)}
.overview-planning-progress{color:var(--aop-forest)}
.overview-progress-track{background:#e8e4d8}
.overview-progress-track span{background:var(--aop-gold)}
.overview-journey-panel{margin-top:20px}
.upcoming-timeline{gap:16px}
.upcoming-card,.upcoming-stop-card,.journey-stop-card{border:1px solid var(--aop-line);border-radius:15px;background:#fffefa;overflow:hidden}
.overview-bottom-grid{gap:20px;margin-top:20px}
.overview-meetup-list-panel{background:#fffdf7}
.overview-meetup-empty,.empty-state{color:var(--aop-muted)}
/* Itinerary + route planning */
.itinerary-planner-layout{gap:20px}
.itinerary-map-panel{border-radius:18px}
.itinerary-map{min-height:390px}
.itinerary-stop-list,.stop-list,.itinerary-list{gap:12px}
.stop-card,.itinerary-stop-card,.stop-row,.itinerary-item{background:var(--aop-card);border:1px solid var(--aop-line);border-radius:15px;box-shadow:0 5px 18px #1f30250a}
.stop-card h3,.itinerary-stop-card h3,.stop-row strong{color:var(--aop-forest)}
/* Meetups, people and invitations */
.meetup-list,.people-list{gap:12px}
.meetup-card,.person-card,.guest-card,.invite-card{background:var(--aop-card);border:1px solid var(--aop-line);border-radius:15px;padding:17px}
.guest-note{background:#edf1e8}
.invite-dialog{border:0;border-radius:22px;box-shadow:0 28px 90px #0b1d1680;overflow:hidden}
.invite-hero{background:linear-gradient(135deg,#153b30,#284e3c);color:#fff8e9}
.invite-hero .eyebrow,.invite-eyebrow{color:#e3c77d}
.invite-body{background:#fffdf7;color:var(--aop-ink)}
.invite-section-heading h3{color:var(--aop-forest)}
.invite-permissions{background:#edf2e9;border:1px solid #dce5d8;border-radius:13px}
.invite-delivery-note{color:#66756a}
/* Field guide, journal, profile, settings and stats */
.tools-grid,.settings-grid,.profile-layout,.people-layout{gap:18px}
.tools-grid>.panel,.settings-grid>.panel,.profile-layout>.panel,.people-layout>.panel{border-radius:18px}
.stat-card{padding:19px}
.stat-card strong{color:var(--aop-forest)}
.stat-label{color:#7d887d}
.discover-results{gap:12px}
.discover-card,.discovery-card{background:var(--aop-card);border:1px solid var(--aop-line);border-radius:15px;overflow:hidden}
.checklist-item,.expense-row,.journal-entry{border-bottom:1px solid var(--aop-line);padding:13px 2px}
.profile-mode-card{color:var(--aop-ink)}
.profile-mode-card:hover{border-color:#c69b4e;transform:translateY(-2px)}
.dialog{background:#fffdf7;color:var(--aop-ink);border:1px solid var(--aop-line);border-radius:20px;box-shadow:0 28px 90px #102b2360}
.dialog-head{border-bottom:1px solid var(--aop-line)}
.close-button{background:#f1eee5;color:var(--aop-forest)}
.toast{background:var(--aop-forest);color:#fff8e9}
.auth-panel{background:var(--aop-card);border:1px solid var(--aop-line);border-radius:22px;overflow:hidden;box-shadow:var(--aop-shadow)}
.auth-art{background:linear-gradient(150deg,#163c30,#48684d)}
.auth-form{border:0;box-shadow:none;border-radius:0}
.auth-form h2{font:600 30px Georgia,serif;color:var(--aop-forest)}
/* Small screens */
@media(max-width:1120px){
 .shell{grid-template-columns:1fr}
 .sidebar{position:relative;top:auto;height:auto;min-height:0;display:block;padding:13px 18px}
 .brand{margin-bottom:12px}
 .nav{display:flex;justify-content:flex-start;flex-wrap:wrap;overflow:visible;padding-bottom:3px;min-width:0}
 .nav-item{flex:none}
 .sidebar-bottom{display:none}
 .trip-switcher{display:none}
}
@media(max-width:700px){
 .main{padding:22px 14px 42px}
 .topbar{display:block}
 .top-actions{margin-top:14px;flex-wrap:wrap}
 .overview-editorial-hero{min-height:390px}
 .overview-hero-stamp{display:none}
 .overview-feature-grid,.overview-bottom-grid{grid-template-columns:1fr}
 .overview-map-panel,.overview-trip-stats{min-width:0}
 .panel{padding:17px}
 .section-heading{display:block}
 .section-heading>.button{margin-top:12px}
 .tools-grid,.settings-grid,.profile-layout,.people-layout{grid-template-columns:1fr}
 .invite-dialog{width:min(96vw,560px);max-height:92vh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Guard every workspace against intrinsic-width children on narrow phones. */
html,body{width:100%;max-width:100%;overflow-x:clip}
.shell,.main,.view,.view>*,.panel,.overview-feature-grid,.overview-bottom-grid,.itinerary-planner-layout,.tools-grid,.settings-grid,.profile-layout,.people-layout{min-width:0;max-width:100%}
img,svg,canvas,video{max-width:100%}
.map,.itinerary-map,#map,#itineraryMap{width:100%;max-width:100%;min-width:0}
@media(max-width:700px){
 .main,.view,.view>section,.view>.panel{width:100%;min-width:0}
 .overview-editorial-hero,.overview-feature-grid,.overview-bottom-grid,.overview-journey-panel,.overview-map-panel,.overview-trip-stats{width:100%;min-width:0;max-width:100%}
 .journal-panel-heading,.journal-section-heading,.panel-head{min-width:0;flex-wrap:wrap}
 .upcoming-head-actions{max-width:100%;flex-wrap:wrap}
 .upcoming-timeline{min-width:0;max-width:100%}
 .trip-stats,.trip-stat,.stat-card{min-width:0}
 .overview-secondary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .overview-primary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nav{max-width:100%;min-width:0;flex-wrap:wrap;overflow:visible;gap:5px}
}
