
/* ── AUSTIN: café street art — Faded Orange + Limed Spruce + Asparagus ── */
body.theme-austin {
  --accent: #f89254; --accent2: #2e434f; --accent3: #8da249;
  --grad-a: #f89254; --grad-b: #2e434f;
  --btn-text: #1F281A;
  --bg: #fbe1b5; --surface: #fff8ec; --surface2: #f5e8cc; --surface-tint: #fdf5e8;
  --border: rgba(46,67,79,0.13);
  --text: #1F281A; --muted: rgba(31,40,26,0.52);
  background: radial-gradient(ellipse at 10% 0%,rgba(141,162,73,.15) 0%,transparent 50%),
              radial-gradient(ellipse at 90% 100%,rgba(46,67,79,.10) 0%,transparent 50%), #fbe1b5;
}

/* ── HOUSTON: wildflower field — bluebonnet + paintbrush + meadow gold ── */
body.theme-houston {
  --accent: #3d4fa0; --accent2: #c23b2a; --accent3: #d4b832;
  --grad-a: #3d4fa0; --grad-b: #c23b2a;
  --btn-text: #fff;
  --bg: #e8ecf5; --surface: #f6f8ff; --surface2: #dce2f0; --surface-tint: #f4f6ff;
  --border: rgba(61,79,160,0.13);
  --text: #1a1c2e; --muted: rgba(26,28,46,0.52);
  background: radial-gradient(ellipse at 15% 0%,rgba(61,79,160,.14) 0%,transparent 50%),
              radial-gradient(ellipse at 85% 60%,rgba(194,59,42,.10) 0%,transparent 45%),
              radial-gradient(ellipse at 50% 100%,rgba(212,184,50,.10) 0%,transparent 45%), #e8ecf5;
}

/* ── COLLEGE STATION: A&M — Aggie Maroon + gold + khaki ── */
body.theme-collegestation {
  --accent: #4a0021; --accent2: #c9960c; --accent3: #6b7a3a;
  --grad-a: #4a0021; --grad-b: #c9960c;
  --btn-text: #fff;
  --bg: #f0ebe0; --surface: #fdf8f0; --surface2: #e6ddd0; --surface-tint: #fdf8f0;
  --border: rgba(74,0,33,0.12);
  --text: #1a0a0a; --muted: rgba(26,10,10,0.52);
  background: radial-gradient(ellipse at 10% 0%,rgba(74,0,33,.12) 0%,transparent 50%),
              radial-gradient(ellipse at 85% 50%,rgba(201,150,12,.09) 0%,transparent 45%),
              radial-gradient(ellipse at 50% 100%,rgba(107,122,58,.08) 0%,transparent 45%), #f0ebe0;
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;color:var(--text);min-height:100vh;padding:16px;transition:background .5s}
.wrap{max-width:960px;margin:0 auto}

/* HEADER */
header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;flex-wrap:wrap;gap:10px}
.brand{font-family:'Anybody',sans-serif;font-weight:900;font-size:1.4rem;letter-spacing:-.5px}
.brand span{color:var(--accent)}
.stamp{font-size:.78rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:5px 12px;border-radius:99px}

/* CITY SWITCHER */
.city-bar{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.city-label{font-size:.72rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-right:2px}
.city-select{border:1.5px solid var(--border);background:var(--surface);color:var(--text);padding:6px 32px 6px 12px;border-radius:99px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.82rem;transition:all .15s;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;min-width:180px}
.city-select:hover,.city-select:focus{border-color:var(--accent);outline:none}
.city-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--muted);padding:6px 12px;border-radius:99px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.82rem;transition:all .15s}
.city-btn:hover{border-color:var(--accent);color:var(--text)}
.city-btn.active{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}

.city-title{font-family:'Anybody',sans-serif;font-weight:900;font-size:1.8rem;letter-spacing:-1px;line-height:1;margin-bottom:2px;background:linear-gradient(90deg,var(--grad-a),var(--grad-b));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:background .4s}
.city-sub{font-size:.78rem;color:var(--muted);margin-bottom:8px}

/* CONTROLS */
.controls{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.pill{border:0;border-radius:99px;padding:7px 14px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.82rem;transition:opacity .2s}
.pill:hover{opacity:.85}
.pill:disabled{opacity:.4;cursor:default}
.pill.primary{background:var(--accent);color:var(--btn-text)}
.pill.ghost{background:var(--surface);color:var(--text);border:1.5px solid var(--border)}

/* FLOW */
.flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.flow-step{background:linear-gradient(90deg,var(--surface2) 0%,var(--surface2) 100%);border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:.77rem;font-weight:700;color:var(--muted);transition:background .2s,border-color .2s,color .2s}
.flow-step.active{border-color:var(--accent);color:var(--text);background:linear-gradient(90deg,rgba(248,146,84,.18) 0%,var(--surface) 100%)}
.flow-step.done{border-color:var(--accent);color:var(--btn-text);background:linear-gradient(90deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 72%, white) 100%)}
.flow-arrow{font-size:1rem;font-weight:900;color:var(--muted);transition:color .2s}
.flow-arrow.done{color:var(--accent)}

/* ALERTS */
.weather-notes{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:7px}
.alert-nws{background:#fff8e1;border:1.5px solid #f0b429;border-radius:10px;padding:7px 10px;margin-bottom:7px;font-size:.8rem;font-weight:700;color:#7a4f00;display:none}
.alert-seasonal{border-top:1px solid var(--border);margin-top:9px;padding-top:8px;font-size:.76rem;color:var(--muted);line-height:1.5;display:none}

/* WEATHER */
.wx-section{margin-bottom:8px}


.wx-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.wx-card h3{font-size:.63rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:5px}
.wx-val{font-family:'Anybody',sans-serif;font-size:1.5rem;font-weight:700;line-height:1;color:var(--text)}
.wx-detail{font-size:.78rem;color:var(--muted);margin-top:3px}

/* HEAT METER */
.heat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.heat-card h3{font-size:.63rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:7px}
.meter{height:7px;border-radius:99px;background:linear-gradient(90deg,#4ade80,#fbbf24,#f87171);position:relative;overflow:visible}
.meter-cursor{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:white;border:2px solid rgba(0,0,0,.3);transform:translateX(-50%);transition:left .8s cubic-bezier(.34,1.56,.64,1);box-shadow:0 1px 4px rgba(0,0,0,.2)}
.heat-row{display:flex;justify-content:space-between;align-items:center;margin-top:7px;flex-wrap:wrap;gap:5px}
.heat-label{font-family:'Anybody',sans-serif;font-weight:900;font-size:.9rem}
.outfit-line{display:none}

/* FILTERS */
.filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.filter-grid{display:grid;grid-template-columns:1fr;gap:10px}
.filter-col h4{font-size:.63rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.filter-note{font-size:.72rem;color:var(--muted);margin-top:5px;line-height:1.35}
.btn-row{display:flex;flex-wrap:wrap;gap:4px}
.filt-btn{border:1.5px solid var(--border);background:var(--surface2);color:var(--muted);padding:5px 9px;border-radius:99px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.76rem;transition:all .15s}
.filt-btn:hover{color:var(--text);border-color:var(--accent)}
.filt-btn.active{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}
.activity-section{opacity:0;transform:translateY(8px);pointer-events:none;max-height:0;overflow:hidden;transition:opacity .24s ease,transform .24s ease,max-height .28s ease,padding .24s ease,margin .24s ease}
.activity-section.visible{opacity:1;transform:translateY(0);pointer-events:auto;max-height:2600px}

/* TWIST */
.twist{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;min-height:100%;display:flex;align-items:center}
.twist strong{font-size:.8rem;color:var(--text)}

.plan-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}

/* RESULTS */
.results-head{display:flex;justify-content:space-between;align-items:baseline;margin:4px 0 7px;flex-wrap:wrap;gap:4px}
.results-title{font-family:'Anybody',sans-serif;font-weight:900;font-size:.9rem;letter-spacing:-.3px}
.results-meta{font-size:.75rem;color:var(--muted)}
.lineup-grid{display:grid;grid-template-columns:repeat(3,minmax(199px,1fr));gap:7px;margin-bottom:8px}
.slot-card{background:var(--surface);border:1.5px dashed var(--border);border-radius:12px;padding:11px 10px;min-height:155px;display:flex;flex-direction:column;gap:6px}
.slot-card.active{border-style:solid;border-color:var(--accent);background:var(--surface-tint)}
.slot-card.filled{border-style:solid;border-color:var(--accent);background:var(--surface-tint)}
.slot-kicker{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700}
.slot-name{font-family:'Anybody',sans-serif;font-weight:700;font-size:.92rem;line-height:1.2;color:var(--text)}
.slot-copy{font-size:.76rem;color:var(--muted);line-height:1.4}
.slot-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.slot-action{margin-top:auto;align-self:flex-start}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(199px,1fr));gap:7px;margin-bottom:8px}
.results-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.results-note{font-size:.76rem;color:var(--muted)}
.notes-area{display:grid;gap:6px;margin:0 0 12px}
.notes-label{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700}
.planner-notes{width:100%;min-height:84px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:10px 12px;font-family:'DM Sans',sans-serif;font-size:.85rem;line-height:1.45;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease}
.planner-notes:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%, transparent)}

.itinerary-board{display:block;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.3));border:1px solid var(--border);border-radius:18px;padding:14px 14px 12px;margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,.05);opacity:0;transform:translateY(8px);pointer-events:none;max-height:0;overflow:hidden;transition:opacity .24s ease,transform .24s ease,max-height .28s ease,padding .24s ease,margin .24s ease}
.itinerary-board.visible{opacity:1;transform:translateY(0);pointer-events:auto;max-height:1400px}
.itinerary-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.itinerary-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:4px}
.itinerary-title{font-family:'Anybody',sans-serif;font-size:1.15rem;font-weight:900;line-height:1.1;letter-spacing:-.4px}
.itinerary-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;font-size:.8rem;color:var(--muted);font-weight:700}
.itinerary-grid{display:grid;grid-template-columns:repeat(3,minmax(199px,1fr));gap:8px;margin-bottom:12px}
.itinerary-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;min-height:155px;display:flex;flex-direction:column;gap:6px}
.itinerary-step{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent2);font-weight:700}
.itinerary-name{font-family:'Anybody',sans-serif;font-size:1rem;font-weight:700;line-height:1.2}
.itinerary-where{font-size:.8rem;color:var(--muted);line-height:1.35}
.itinerary-note{font-size:.78rem;color:var(--text);line-height:1.45;margin-top:auto}
.itinerary-extra{background:var(--surface-tint);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:14px;padding:12px;display:grid;gap:7px;font-size:.84rem;line-height:1.5}

/* ACTIVITY CARDS — tap to lock */
.opt-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:11px 10px;min-height:155px;animation:fadeUp .3s ease-out both;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .22s ease,transform .18s ease,box-shadow .22s ease,background .22s ease;-webkit-tap-highlight-color:transparent;user-select:none;position:relative}
.opt-card:nth-child(2){animation-delay:.07s}
.opt-card:nth-child(3){animation-delay:.14s}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.opt-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08)}
.opt-card:active{transform:scale(.98)}
.opt-card.locked{border:2px solid var(--accent);background:var(--surface-tint)}
.opt-card.locked::after{content:'✓';position:absolute;top:7px;right:8px;background:var(--accent);color:var(--btn-text);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}
.opt-card.warn{border-color:rgba(201,150,12,.4)}
.opt-title{font-family:'Anybody',sans-serif;font-weight:700;font-size:.92rem;line-height:1.2;color:var(--text);padding-right:18px}
.opt-sub{font-size:.76rem;color:var(--muted);line-height:1.35}
.cond-note{font-size:.7rem;color:var(--accent2);font-weight:700;font-style:italic}
.why-line{font-size:.76rem;color:var(--text);line-height:1.45}
.timing-line{font-size:.72rem;color:var(--accent2);font-weight:700;line-height:1.4}
.cond-warn{font-size:.78rem;color:#9a5a00;font-weight:600;background:rgba(255,180,0,.1);border-radius:6px;padding:6px 10px;margin-top:4px}
.opt-card-tight{opacity:.85;border-style:dashed;pointer-events:none}
.opt-card-tight .unlock-btn,.opt-card-tight button{pointer-events:all}
.tagline{display:flex;gap:4px;flex-wrap:wrap;margin-top:auto}
.tag{font-size:.65rem;font-weight:700;border-radius:99px;padding:2px 7px;background:var(--surface2);color:var(--muted)}
.tag.tag-event{background:rgba(248,146,84,.15);color:var(--accent);border:1px solid rgba(248,146,84,.3)}
.opt-card-event{border-color:rgba(248,146,84,.4);background:linear-gradient(135deg,var(--surface) 85%,rgba(248,146,84,.06) 100%)}
.tag.outdoor{background:rgba(217,79,30,.10);color:var(--accent)}
.tag.money{background:rgba(0,0,0,.05);color:var(--muted)}
.book-it{display:inline-flex;align-items:center;gap:4px;background:var(--accent);color:var(--btn-text);border:0;border-radius:99px;padding:5px 11px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.73rem;cursor:pointer;text-decoration:none;transition:opacity .2s;margin-top:1px;align-self:flex-start}
.book-it:hover{opacity:.82}
.directions-link{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--border);background:var(--surface2);color:var(--text);border-radius:99px;padding:5px 11px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.73rem;text-decoration:none;transition:border-color .2s,transform .18s ease,background .2s;margin-top:1px;align-self:flex-start}
.directions-link:hover{border-color:var(--accent);transform:translateY(-1px)}
.affiliate-note{font-size:.62rem;color:var(--muted);font-style:italic;margin-top:1px}

/* LOCKED BANNER */
.locked-banner{background:var(--surface-tint);border:1.5px solid var(--accent);border-left:4px solid var(--accent);border-radius:12px;padding:8px 12px;margin-bottom:8px;font-size:.85rem;font-weight:700;color:var(--text);display:none}
.locked-banner.visible{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.unlock-btn{background:transparent;border:1.5px solid var(--border);border-radius:99px;padding:3px 9px;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.72rem;cursor:pointer;color:var(--muted);white-space:nowrap}
.unlock-btn:hover{border-color:#c0392b;color:#c0392b}
.unlock-btn:disabled{opacity:.45;cursor:default}

/* FOOD LAYER */
.food-section{display:block;margin-top:4px;opacity:0;transform:translateY(8px);pointer-events:none;max-height:0;overflow:hidden;transition:opacity .24s ease,transform .24s ease,max-height .28s ease,margin .24s ease}
.food-section.visible{opacity:1;transform:translateY(0);pointer-events:auto;max-height:1400px}
.food-locks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.food-add-invite{font-size:.85rem;color:var(--muted);padding:10px 0 4px;}
.food-stop-card{display:grid;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px}
.food-invite-card{display:flex;align-items:center;justify-content:center;border-style:dashed;background:transparent}
.food-invite-msg{font-size:.85rem;color:var(--muted);text-align:center;line-height:1.4}
.food-stop-name{font-family:'Anybody',sans-serif;font-size:1rem;color:var(--text);font-weight:700;line-height:1.1}
.food-stop-time{font-size:.8rem;color:var(--muted);font-weight:700}
.food-stop-actions{display:flex;gap:6px;flex-wrap:wrap}
.food-placement-pill{border:1.5px solid var(--border);background:var(--surface2);color:var(--muted);padding:5px 10px;border-radius:99px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.76rem;transition:all .15s}
.food-placement-pill:hover{border-color:var(--accent);color:var(--text)}
.food-placement-pill.active{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}
.food-stop-remove{justify-self:start;border:0;background:none;color:var(--accent2);padding:0;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;cursor:pointer}
.food-meal-btns{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}
.meal-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--muted);padding:5px 11px;border-radius:99px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.8rem;transition:all .15s}
.meal-btn:hover{border-color:var(--accent);color:var(--text)}
.meal-btn.active{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}
.meal-btn.ghost-link{background:var(--surface2);color:var(--text)}
.food-filters{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px;display:none}
.food-filters.visible{display:block}
.food-filter-row{display:flex;gap:12px;flex-wrap:wrap}
.food-filter-row.hidden{display:none}
.food-filter-col h4{font-size:.63rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-weight:700;margin-bottom:6px}
.food-results-note{font-size:.76rem;color:var(--muted);margin:0 0 8px}
.food-results{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.food-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:7px;animation:fadeUp .3s ease-out both;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .2s}
.food-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.08)}
.food-card.selected{border:2px solid var(--accent);background:var(--surface-tint)}
.food-card-name{font-family:'Anybody',sans-serif;font-weight:700;font-size:.95rem;line-height:1.2;color:var(--text)}
.food-card-where{font-size:.82rem;color:var(--muted);line-height:1.4}
.food-card-note{font-size:.8rem;color:var(--muted);font-style:italic;line-height:1.4}
.food-card-meta-line{font-size:.76rem;color:var(--muted);line-height:1.35}
.price-tag{font-size:.73rem;font-weight:700;color:var(--accent2)}

/* RESPONSIVE */
@media(min-width:860px){
  .filter-grid{
    grid-template-columns:1fr 1fr;
    column-gap:18px;
    row-gap:12px;
    align-items:start;
  }
}
@media(max-width:700px){
  .weather-notes{grid-template-columns:1fr}
  .flow-steps{align-items:flex-start}
  .flow-arrow{display:none}
  
  
  .itinerary-meta{grid-template-columns:1fr}
  .itinerary-grid{grid-template-columns:1fr}
  .lineup-grid{grid-template-columns:1fr}
  .results-grid{grid-template-columns:1fr}
  .food-results{grid-template-columns:1fr}
  .food-locks{grid-template-columns:1fr}
  .city-title{font-size:1.6rem}
}

@media print{
  body{background:#fff;padding:0}
  .filters,.food-section,.results-head,.lineup-grid,.results-grid,.results-actions,.notes-area,.flow-steps,.weather-notes,.alert-seasonal,.controls,.city-bar,#hangryHelperBtn,.food-locks,.food-filters,.food-meal-btns,footer{display:none !important}
  .itinerary-board{display:block !important;opacity:1 !important;transform:none !important;pointer-events:auto !important;max-height:none !important;overflow:visible !important;box-shadow:none;border:0;padding:0;margin:0}
}

/* ── BOTTOM NAV ─────────────────────────────────────────── */
body { padding-bottom: 120px; }
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0 8px;background:none;border:none;cursor:pointer;color:var(--muted);gap:3px;font-family:inherit;transition:color .15s}
.bottom-nav-btn.active{color:var(--accent)}
.bottom-nav-icon{font-size:1.3rem;line-height:1}
.bottom-nav-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px}

/* ── DATE BAR ───────────────────────────────────────────── */
.date-bar{position:fixed;top:0;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:10px 16px;z-index:90;gap:12px}
.date-center{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}
.date-input{font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text);background:none;border:none;text-align:center;cursor:pointer;width:100%;padding:2px 0}
.date-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}
.date-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-weight:700}
.date-nav-btn{background:none;border:none;font-size:1.4rem;color:var(--muted);cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px}
.date-nav-btn:hover{color:var(--accent);background:var(--surface2)}
.date-bar-spacer{height:58px} /* pushes page content below date bar */

/* Future plan mode indicator */
.future-banner{background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;text-align:center;padding:6px 12px;border-radius:8px;margin-bottom:12px;display:none}

/* ── SAVED PLANS ────────────────────────────────────────── */
.tab-panel{padding:16px}
.saved-header{margin-bottom:16px}
.saved-title{font-family:'Anybody',sans-serif;font-weight:900;font-size:1.3rem;color:var(--text);margin-bottom:4px}
.saved-empty{font-size:.85rem;color:var(--muted)}
.saved-list{display:flex;flex-direction:column;gap:12px}
.saved-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px}
.saved-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.saved-card-name{font-weight:700;font-size:1rem;color:var(--text)}
.saved-card-meta{font-size:.75rem;color:var(--muted);margin-top:3px}
.saved-card-preview{font-size:.8rem;color:var(--muted);margin-top:8px;line-height:1.5;border-top:1px solid var(--border);padding-top:8px}
.saved-card-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.saved-card-btn{font-size:.78rem;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:none;color:var(--text);cursor:pointer;font-family:inherit;font-weight:600}
.saved-card-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.saved-card-btn.danger{color:#c0392b;border-color:#c0392b}

/* ── SAVE MODAL ─────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:20px}
.modal-overlay.hidden{display:none}
.modal-box{background:var(--surface);border-radius:20px 20px 20px 20px;padding:24px;width:100%;max-width:480px}
.modal-title{font-weight:700;font-size:1.1rem;color:var(--text);margin-bottom:14px}
.modal-input{width:100%;font-family:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);margin-bottom:14px}
.modal-input:focus{outline:none;border-color:var(--accent)}
.modal-actions{display:flex;gap:10px;justify-content:flex-end}

/* Itinerary actions row */
.itinerary-actions{display:flex;gap:8px;align-items:center}


/* ── WEATHER 2x2 GRID ────────────────────────── */
.wx-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.wx-val-sm{font-size:1rem !important;padding-top:2px}

/* ── COMPACT OVERRIDES ──────────────────────────────────── */
/* Inline date in city bar */
.date-input-inline{
  font-family:inherit;font-size:.78rem;font-weight:600;
  color:var(--text);background:var(--surface2);
  border:1px solid var(--border);border-radius:8px;
  padding:5px 8px;cursor:pointer;flex:1;min-width:0;
  max-width:130px;
}
.date-input-inline::-webkit-calendar-picker-indicator{
  opacity:.4;cursor:pointer;width:12px;height:12px;
}

/* Compact city-title and sub */
.city-title{font-size:1.4rem;margin-bottom:1px}
.city-sub{font-size:.75rem;margin-bottom:6px}

/* Compact weather section */
.wx-card h3{font-size:.58rem;margin-bottom:4px}
.wx-val{font-size:1.2rem}
.wx-detail{font-size:.72rem}
.heat-card h3{font-size:.58rem}

/* Compact filter sections */
.filter-section{margin-bottom:8px}
.filter-label{font-size:.65rem;margin-bottom:4px}
.btn-row{gap:5px;flex-wrap:wrap}
.pill{padding:5px 12px;font-size:.78rem}
.chip{padding:4px 10px;font-size:.73rem}

/* Hide drive line until activity locked */
.drive-line-empty{display:none}

/* Remove button on itinerary stop */
.stop-remove-btn{
  background:none;border:none;color:var(--muted);
  font-size:.75rem;cursor:pointer;padding:2px 6px;
  border-radius:4px;line-height:1;opacity:.6;
  font-family:inherit;
}
.stop-remove-btn:hover{color:#c0392b;opacity:1}

/* Compact itinerary stops */
.stop-card{padding:10px 12px;margin-bottom:8px}
.stop-name{font-size:.92rem}
.stop-where{font-size:.75rem}

/* Remove date-bar — date is in city bar now */
.date-bar{display:none !important}
.date-bar-spacer{display:none !important}

/* Future banner compact */
.future-banner{font-size:.72rem;padding:5px 10px;margin-bottom:6px}

/* Saved cards compact */
.saved-card{padding:12px 14px}
.saved-card-name{font-size:.92rem}
.saved-card-meta{font-size:.7rem}
.saved-card-preview{font-size:.75rem;padding-top:6px;margin-top:6px}
.saved-card-actions{gap:6px;margin-top:8px}
.saved-card-btn{font-size:.73rem;padding:5px 12px}

/* Compact header */
header{padding:8px 0 6px}
.brand{font-size:1.5rem}

/* Itinerary card top row with remove button */
.itinerary-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
