/* =============================================================
   Jiminy App — Plan Page Styles (#page-plan, #plan-section-* only)
   /css/plan.css

   Plan-page-only styles. Selectors here are scoped to
   #page-plan (or related ids) so editing this file cannot
   accidentally affect other pages.
   Load LAST, after variables.css and shared.css, only on
   plan.html.
============================================================= */

.plan-day.active{background:linear-gradient(135deg,var(--blue),#0643a5);color:#fff}

.plan-day.active small{color:#fff}

.plan-item{display:grid;grid-template-columns:auto 104px 1fr auto auto;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:24px;padding:14px 16px;box-shadow:0 12px 30px rgba(7,31,65,.06)}

.food-photo{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#fff3d0,#eaf3ff);display:grid;place-items:center;font-size:30px;border:1px solid var(--line);overflow:hidden}

.plan-item h3{margin:0;color:var(--ink);font-size:22px}

.plan-item p{margin:4px 0;color:#293656;line-height:1.25}

.drag-handle{color:#9aa3b4;font-size:25px;letter-spacing:2px}

.plan-empty.show{display:block}

@media(max-width:760px){
.plan-item{grid-template-columns:auto 74px 1fr auto;gap:10px;padding:12px}
.plan-item h3{font-size:18px}
.drag-handle{display:none}
.food-photo{width:62px;height:62px}
}




    .map-plan-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;border:1px solid rgba(29,95,205,.16);background:linear-gradient(135deg,#ffffff 0%,#eef6ff 48%,#fff8e6 100%);border-radius:26px;padding:18px;margin-bottom:18px;box-shadow:0 14px 36px rgba(7,31,65,.08)}


    .map-plan-card h3{font-family:Georgia,serif;color:var(--navy);font-size:30px;line-height:1;margin:0 0 6px}


    .map-plan-card p{margin:0;color:#293656;line-height:1.42}


    .map-plan-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}


    .map-plan-note{grid-column:1/-1;border:1px dashed rgba(29,95,205,.28);background:rgba(255,255,255,.72);border-radius:18px;padding:12px 14px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.35}


    .coord-pill{display:inline-flex;align-items:center;gap:6px;margin-top:8px;margin-left:6px;border-radius:999px;padding:5px 9px;background:#f7fbff;border:1px solid var(--line);color:#275190;font-size:12px;font-weight:1000}

@media(max-width:760px){
.map-plan-card{grid-template-columns:1fr;border-radius:24px;padding:16px}
.map-plan-actions{justify-content:stretch}
.map-plan-actions .btn{width:100%;justify-content:center}
.map-plan-card h3{font-size:28px}
.coord-pill{margin-left:0;display:flex;width:max-content}
}



    /* Phase 3.1 Trip Day Food Planner */
    .trip-calendar-card{
      border:1px solid var(--line);
      background:linear-gradient(135deg,#ffffff 0%,#fff8e6 44%,#eef6ff 100%);
      border-radius:28px;
      padding:20px;
      box-shadow:0 18px 48px rgba(7,31,65,.09);
      margin-bottom:18px;
    }


    .trip-calendar-head{
      display:grid;
      grid-template-columns:1fr auto;
      gap:16px;
      align-items:center;
      margin-bottom:14px;
    }


    .trip-calendar-head h3{
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:32px;
      line-height:1;
      margin:0 0 6px;
    }


    .trip-calendar-head p{
      margin:0;
      color:#293656;
      line-height:1.42;
    }


    .trip-date-controls{
      display:grid;
      grid-template-columns:1fr 1fr auto;
      gap:10px;
      align-items:end;
      margin-top:14px;
    }


    .trip-date-field{
      display:grid;
      gap:6px;
    }


    .trip-date-field label{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.12em;
      color:var(--blue);
      font-weight:1000;
    }


    .trip-date-field input{
      width:100%;
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:12px 13px;
      font:inherit;
      color:var(--ink);
      outline:0;
    }


    .trip-food-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
      margin-bottom:18px;
    }


    .trip-day-card{
      border:1px solid var(--line);
      background:#fff;
      border-radius:24px;
      padding:16px;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
      display:grid;
      gap:12px;
    }


    .trip-day-card h3{
      margin:0;
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:28px;
      line-height:1;
    }


    .trip-day-date{
      color:var(--muted);
      font-size:13px;
      font-weight:900;
      margin-top:3px;
    }


    .meal-field-grid{
      display:grid;
      gap:9px;
    }


    .meal-field{
      display:grid;
      gap:5px;
    }


    .meal-field label{
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.1em;
      color:var(--blue);
      font-weight:1000;
    }


    .meal-field input{
      width:100%;
      border:1px solid var(--line);
      background:#fdfefe;
      border-radius:14px;
      padding:11px 12px;
      font:inherit;
      color:var(--ink);
      outline:0;
    }


    .meal-field input:focus{
      border-color:rgba(29,95,205,.45);
      box-shadow:0 0 0 4px rgba(29,95,205,.08);
      background:#fff;
    }


    .trip-day-actions{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-top:2px;
    }


    .trip-day-actions .btn{
      padding:10px 12px;
      border-radius:14px;
      font-size:13px;
    }


    .trip-empty-note{
      border:1px dashed rgba(29,95,205,.28);
      background:rgba(255,255,255,.78);
      border-radius:20px;
      padding:14px;
      color:var(--muted);
      font-weight:850;
      line-height:1.4;
      margin-bottom:18px;
    }

@media(max-width:960px){

      .trip-food-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){

      .trip-calendar-head,
      .trip-date-controls,
      .trip-food-grid{grid-template-columns:1fr}

      .trip-calendar-card{border-radius:24px;padding:16px}

      .trip-day-card{border-radius:22px}

      .trip-day-actions .btn{width:100%;justify-content:center}
}



    .trip-mode-row{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:14px;
    }


    .trip-mode-chip{
      border:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      border-radius:999px;
      padding:9px 12px;
      font-weight:1000;
      font-size:13px;
      cursor:pointer;
    }


    .trip-mode-chip.active{
      background:linear-gradient(135deg,var(--blue),#0643a5);
      color:#fff;
      border-color:transparent;
      box-shadow:0 10px 22px rgba(29,95,205,.18);
    }


    .trip-day-count-controls{
      display:none;
      grid-template-columns:1fr auto;
      gap:10px;
      align-items:end;
      margin-top:14px;
    }


    .trip-day-count-controls.active{display:grid}


    .trip-date-controls.hidden{display:none}

@media(max-width:700px){

      .trip-day-count-controls{grid-template-columns:1fr}
}


    .filter-chip,
    .trip-mode-chip,
    .nav-btn,
    .bottom-nav button{
      transition:transform .14s ease, background .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease;
    }


    .filter-chip:hover,
    .trip-mode-chip:hover,
    .nav-btn:hover,
    .bottom-nav button:hover{
      transform:translateY(-1px);
    }

@media(max-width:760px){

      .btn:hover:not(:disabled),
      .filter-chip:hover,
      .trip-mode-chip:hover,
      .nav-btn:hover,
      .bottom-nav button:hover{
        transform:none;
      }

      .btn:active:not(:disabled),
      .filter-chip:active,
      .trip-mode-chip:active,
      .nav-btn:active,
      .bottom-nav button:active{
        transform:scale(.98);
      }
}



    /* Phase 3.2 Location dropdown -> Day Meal assignment */
    .meal-assignment-card{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);border-radius:24px;padding:16px;margin:14px 0 18px;box-shadow:0 12px 30px rgba(7,31,65,.06);display:grid;gap:12px}


    .meal-assignment-card h3{margin:0;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    .meal-assignment-card p{margin:0;color:var(--muted);line-height:1.4;font-weight:800}


    .meal-assignment-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr auto;gap:10px;align-items:end}


    .meal-assignment-field{display:grid;gap:6px}


    .meal-assignment-field label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:1000}


    .meal-assignment-field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 13px;font:inherit;color:var(--ink);outline:0;font-weight:750}


    .meal-assignment-status{border:1px dashed rgba(29,95,205,.28);background:rgba(255,255,255,.76);border-radius:16px;padding:11px 12px;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}

@media(max-width:860px){
.meal-assignment-grid{grid-template-columns:1fr}
.meal-assignment-grid .btn{width:100%;justify-content:center}
}



    /* Phase 3.3 Plan sub-sections: Food, Rides, List */
    .plan-subnav{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin:0 0 18px;
      padding:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.86);
      border-radius:24px;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
    }


    .plan-subtab{
      border:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      border-radius:18px;
      padding:12px 16px;
      font-weight:1000;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      transition:transform .14s ease, background .18s ease, color .18s ease;
    }


    .plan-subtab.active{
      background:linear-gradient(135deg,var(--blue),#0643a5);
      color:#fff;
      border-color:transparent;
      box-shadow:0 14px 28px rgba(29,95,205,.2);
    }


    .plan-subtab:hover{transform:translateY(-1px)}


    .plan-subsection{display:none}


    .plan-subsection.active{display:block}


    .plan-placeholder-card{
      border:1px solid var(--line);
      background:linear-gradient(135deg,#ffffff 0%,#f7fbff 54%,#fff8e6 100%);
      border-radius:28px;
      padding:22px;
      box-shadow:0 18px 48px rgba(7,31,65,.09);
      margin-bottom:18px;
    }


    .plan-placeholder-card h3{
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:34px;
      line-height:1;
      margin:0 0 8px;
    }


    .plan-placeholder-card p{
      color:#293656;
      line-height:1.45;
      margin:0 0 16px;
    }

@media(max-width:760px){

      .plan-subnav{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px}

      .plan-subtab{justify-content:center;padding:11px 8px;font-size:13px}
}



    /* Phase 3.4 Plan tabs: duplicated List planner + ride-only planner */
    .tab-planner-shell{display:grid;gap:18px}


    .tab-helper-card{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(7,31,65,.06);display:grid;gap:12px;margin-bottom:18px}


    .tab-helper-card h3{margin:0;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    .tab-helper-card p{margin:0;color:var(--muted);line-height:1.4;font-weight:800}


    .tab-assignment-grid{display:grid;grid-template-columns:1.2fr .7fr .9fr auto;gap:10px;align-items:end}


    .tab-field{display:grid;gap:6px}


    .tab-field label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:1000}


    .tab-field select,.tab-field input{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px 13px;font:inherit;color:var(--ink);outline:0;font-weight:750}


    .tab-status{border:1px dashed rgba(29,95,205,.28);background:rgba(255,255,255,.76);border-radius:16px;padding:11px 12px;color:var(--muted);font-size:13px;font-weight:850;line-height:1.35}

@media(max-width:860px){
.tab-assignment-grid,.list-cascade-grid{grid-template-columns:1fr}
.tab-assignment-grid .btn{width:100%;justify-content:center}
}

@media(max-width:760px){

      #page-plan .section-title{
        margin-bottom:12px;
      }

      .plan-subnav{
        position:sticky;
        top:72px;
        z-index:18;
        grid-template-columns:repeat(2,1fr);
        border-radius:20px;
        padding:7px;
        gap:6px;
        background:rgba(255,255,255,.94);
        backdrop-filter:blur(14px);
      }

      .plan-subtab{
        min-height:46px;
        padding:10px 6px;
        font-size:13px;
        border-radius:15px;
        line-height:1.1;
        justify-content:center;
        text-align:center;
        white-space:nowrap;
      }

      .trip-calendar-card,
      .meal-assignment-card,
      .phase3-toolbar,
      .map-plan-card,
      .plan-placeholder-card,
      #page-plan .card{
        border-radius:20px;
        padding:14px;
      }

      .trip-calendar-head h3,
      .meal-assignment-card h3,
      .plan-placeholder-card h3{
        font-size:28px;
      }

      .trip-calendar-head p,
      .meal-assignment-card p,
      .plan-placeholder-card p{
        font-size:14px;
      }

      .trip-mode-row{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:7px;
      }

      .trip-mode-chip{
        text-align:center;
        justify-content:center;
        padding:10px 8px;
        font-size:12px;
      }

      .meal-field-grid{
        gap:8px;
      }

      .meal-field input{
        min-height:44px;
        font-size:16px;
      }

      .trip-day-actions,
      .phase3-card-actions,
      .map-plan-actions,
      .actions{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
      }

      .plan-item{
        grid-template-columns:42px 1fr auto;
        gap:10px;
        padding:12px;
        border-radius:20px;
      }

      .plan-item .food-photo{
        width:42px;
        height:42px;
        font-size:22px;
      }

      .plan-item h3{
        font-size:17px;
      }

      .plan-item p{
        font-size:13px;
      }

      .plan-stop{
        border-radius:18px!important;
      }

      .plan-stop .actions{
        grid-template-columns:1fr!important;
      }

      .plan-stop .actions .btn{
        width:100%;
        justify-content:center;
      }
}



    /* v89 mobile fix: keep Trip Start / Trip End fields inside Food, Rides, and List containers */
    #page-plan .trip-calendar-card,
    #page-plan .trip-date-controls,
    #page-plan .trip-date-field{
      min-width:0;
      max-width:100%;
      overflow:hidden;
    }


    #page-plan .trip-date-controls{
      width:100%;
    }


    #page-plan .trip-date-field input[type="date"],
    #page-plan .trip-date-field input[type="number"]{
      width:100%;
      max-width:100%;
      min-width:0;
      box-sizing:border-box;
      -webkit-appearance:none;
      appearance:none;
    }

@media(max-width:760px){

      #page-plan .trip-date-controls{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        gap:9px!important;
      }

      #page-plan .trip-date-controls.hidden{
        display:none!important;
      }

      #page-plan .trip-date-field{
        width:100%;
      }

      #page-plan .trip-date-field input[type="date"],
      #page-plan .trip-date-field input[type="number"]{
        display:block;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        font-size:16px;
        line-height:1.2;
      }
}



    /* v90: make Jiminy Locations assignment visible and usable in Food, Rides, and List on mobile */
    .tab-location-assignment{
      border:1px solid var(--line);
      background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);
      border-radius:24px;
      padding:16px;
      margin:14px 0 18px;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
      display:grid;
      gap:12px;
    }


    .tab-location-assignment h3{
      margin:0;
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:28px;
      line-height:1;
    }


    .tab-location-assignment p{
      margin:0;
      color:var(--muted);
      line-height:1.4;
      font-weight:800;
    }


    .tab-location-assignment .meal-assignment-grid{
      grid-template-columns:1.3fr .7fr .9fr auto;
    }

@media(max-width:760px){

      #page-plan .meal-assignment-card,
      #page-plan .tab-location-assignment{
        display:grid!important;
        visibility:visible!important;
        opacity:1!important;
        width:100%!important;
        max-width:100%!important;
        overflow:hidden!important;
      }

      #page-plan .meal-assignment-grid,
      #page-plan .tab-location-assignment .meal-assignment-grid{
        display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        width:100%!important;
        max-width:100%!important;
      }

      #page-plan .meal-assignment-field,
      #page-plan .meal-assignment-field select{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
      }

      #page-plan .plan-subsection.active .meal-assignment-card,
      #page-plan .plan-subsection.active .tab-location-assignment{
        display:grid!important;
      }
}

@media(max-width:760px){

      #page-plan .phase3-view-grid,
      #page-plan [id$="LocationsList"],
      #page-plan .meal-assignment-card,
      #page-plan .tab-location-assignment{
        display:grid!important;
        width:100%!important;
        max-width:100%!important;
      }

      #page-plan .phase3-location-card{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
      }
}




    /* v102 mobile fix: hide List tab browsing/result cards on all screen sizes */
    #plan-section-list .phase3-toolbar,
    #plan-section-list .phase3-view-grid,
    #plan-section-list .discover-add-grid,
    #plan-section-list .category-count-grid,
    #plan-section-list .phase3-results-summary,
    #plan-section-list [id*="LocationResults"],
    #plan-section-list [id*="locationResults"],
    #plan-section-list [id*="ResultsGrid"],
    #plan-section-list [id*="resultsGrid"],
    #plan-section-list .phase3-location-card,
    #plan-section-list .discover-pick-card{
      display:none!important;
    }



  
    /* v103 direct fix: actual List tab container is #plan-section-list */
    #plan-section-list #listLocationsList,
    #plan-section-list #listLocationsList *,
    #plan-section-list .phase3-location-card,
    #plan-section-list .phase3-view-grid:not(#listPlannerGrid),
    #plan-section-list .discover-add-grid,
    #plan-section-list .category-count-grid,
    #plan-section-list .phase3-results-summary{
      display:none!important;
    }



  
    /* v104 List tab layout: separate planner, location picker, and current list containers */
    #plan-section-list .list-location-container,
    #plan-section-list .list-current-container{
      border:1px solid var(--line);
      background:rgba(255,255,255,.9);
      border-radius:28px;
      padding:20px;
      box-shadow:0 18px 48px rgba(7,31,65,.09);
      margin-bottom:18px;
    }


    #plan-section-list .list-location-container{
      background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);
    }


    #plan-section-list .list-current-container{
      background:#fff;
    }


    #plan-section-list .list-container-title{
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }


    #plan-section-list .list-container-title h3{
      margin:0;
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:30px;
      line-height:1;
    }


    #plan-section-list .list-container-title p{
      margin:0;
      color:var(--muted);
      line-height:1.4;
      font-weight:800;
      max-width:620px;
    }


    #plan-section-list .list-manual-fields{
      display:grid;
      grid-template-columns:1fr 1fr 1fr auto;
      gap:10px;
      align-items:end;
      margin-bottom:16px;
    }


    #plan-section-list .list-manual-fields .tab-field input{
      min-height:46px;
    }

@media(max-width:860px){

      #plan-section-list .list-location-container,
      #plan-section-list .list-current-container{
        border-radius:22px;
        padding:14px;
      }

      #plan-section-list .list-container-title{
        display:block;
      }

      #plan-section-list .list-container-title h3{
        font-size:28px;
        margin-bottom:6px;
      }

      #plan-section-list .list-manual-fields{
        grid-template-columns:1fr;
      }

      #plan-section-list .list-manual-fields .btn{
        width:100%;
        justify-content:center;
      }
}



  
    /* v106 List tab final static mobile layout */
    #plan-section-list .tab-planner-shell{
      display:grid;
      gap:18px;
    }


    #plan-section-list .card:empty{
      display:none!important;
    }


    #plan-section-list #listLocationsList,
    #plan-section-list #listLocationsList *,
    #plan-section-list .phase3-location-card,
    #plan-section-list .discover-pick-card{
      display:none!important;
    }



  
    /* v107 List tab day card actions */
    #plan-section-list .list-day-actions-v107{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:8px;
      margin-top:10px;
    }


    #plan-section-list .list-day-actions-v107 .btn{
      justify-content:center;
      padding:10px 8px;
      border-radius:14px;
      font-size:12px;
      white-space:nowrap;
    }

@media(max-width:760px){

      #plan-section-list .list-day-actions-v107{
        grid-template-columns:1fr 1fr;
      }

      #plan-section-list .list-day-actions-v107 .btn{
        min-height:42px;
      }
}

@media print{

      body.jiminy-print-trip-day *{
        visibility:hidden!important;
      }

      body.jiminy-print-trip-day #jiminyPrintTripDayOnly,
      body.jiminy-print-trip-day #jiminyPrintTripDayOnly *{
        visibility:visible!important;
      }

      body.jiminy-print-trip-day #jiminyPrintTripDayOnly{
        position:absolute!important;
        left:0!important;
        top:0!important;
        width:100%!important;
        padding:18px!important;
        background:#fff!important;
      }

      body.jiminy-print-trip-day #jiminyPrintTripDayOnly .trip-day-card{
        box-shadow:none!important;
        border:1px solid #ddd!important;
        page-break-inside:avoid!important;
      }

      body.jiminy-print-trip-day .bottom-nav,
      body.jiminy-print-trip-day .sidebar,
      body.jiminy-print-trip-day .topbar,
      body.jiminy-print-trip-day .jiminy-action-sheet,
      body.jiminy-print-trip-day .list-day-actions-v107{
        display:none!important;
      }
}



  
    /* v205 isolated clean List tab */
    #plan-section-list .jiminy-list-v205{display:grid;gap:18px}


    #plan-section-list .list-v205-card{border-radius:28px}


    #plan-section-list .list-v205-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}


    #plan-section-list .list-v205-head h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:32px;line-height:1}


    #plan-section-list .list-v205-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.4;max-width:680px}


    #plan-section-list .list-v205-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}


    #plan-section-list .list-v205-custom-form{grid-template-columns:1.1fr 1fr 1fr .7fr auto}


    #plan-section-list .list-v205-form .btn{justify-content:center;min-height:46px}


    #plan-section-list .list-v205-days{display:grid;gap:14px}


    #plan-section-list .list-v205-day-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(7,31,65,.06)}


    #plan-section-list .list-v205-day-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}


    #plan-section-list .list-v205-day-head h3{margin:0;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    #plan-section-list .list-v205-day-date{color:var(--muted);font-size:13px;font-weight:900;margin-top:4px}


    #plan-section-list .list-v205-remove-day,#plan-section-list .list-v205-remove-item{border:0;background:var(--soft);color:var(--muted);width:34px;height:34px;border-radius:999px;font-weight:1000;cursor:pointer}


    #plan-section-list .list-v205-items{display:grid;gap:8px;min-height:26px}


    #plan-section-list .list-v205-empty{border:1px dashed rgba(29,95,205,.25);background:#f7fbff;color:var(--muted);border-radius:16px;padding:12px;font-weight:850;line-height:1.35}


    #plan-section-list .list-v205-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:11px 12px;background:#fff}


    #plan-section-list .list-v205-check{width:24px;height:24px;border:2px solid #a2a9b8;border-radius:999px}


    #plan-section-list .list-v205-item b{color:var(--navy);display:block}


    #plan-section-list .list-v205-item small{color:var(--muted);font-weight:800;line-height:1.3;display:block;margin-top:2px}


    #plan-section-list .list-v205-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}


    #plan-section-list .list-v205-actions .btn{justify-content:center;padding:10px 8px;border-radius:14px;font-size:12px;white-space:nowrap}


    .jiminy-v205-sheet{position:fixed;left:50%;bottom:calc(102px + env(safe-area-inset-bottom));transform:translate(-50%,14px);opacity:0;pointer-events:none;width:min(460px,calc(100% - 26px));background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px rgba(7,31,65,.22);padding:16px;z-index:90;transition:.2s}


    .jiminy-v205-sheet.open{opacity:1;pointer-events:auto;transform:translate(-50%,0)}


    .jiminy-v205-sheet h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    .jiminy-v205-sheet p{margin:0 0 12px;color:var(--muted);line-height:1.4;font-weight:800}


    .jiminy-v205-sheet .sheet-actions{display:grid;gap:8px}


    .jiminy-v205-sheet .sheet-actions .btn{width:100%;justify-content:center}


    .jiminy-v205-sheet .sheet-close{position:absolute;top:12px;right:12px;border:0;background:var(--soft);color:var(--navy);width:36px;height:36px;border-radius:999px;font-weight:1000;cursor:pointer}


    .jiminy-v205-status{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:#293656;border-radius:16px;padding:11px 12px;font-size:13px;font-weight:850;line-height:1.35;margin:10px 0}

@media(max-width:860px){

      #plan-section-list .list-v205-card{border-radius:22px;padding:14px}

      #plan-section-list .list-v205-head{display:block}

      #plan-section-list .list-v205-head h3{font-size:28px}

      #plan-section-list .list-v205-head .btn{width:100%;justify-content:center;margin-top:12px}

      #plan-section-list .list-v205-form,#plan-section-list .list-v205-custom-form{grid-template-columns:1fr}

      #plan-section-list .list-v205-form .btn{width:100%}

      #plan-section-list .list-v205-actions{grid-template-columns:1fr 1fr}

      #plan-section-list button,#plan-section-list select,#plan-section-list input{pointer-events:auto!important;touch-action:manipulation}
}



  
    /* v207 Custom Item cascading dropdowns */
    #plan-section-list .list-v205-custom-cascade-form{
      margin-bottom:12px;
      grid-template-columns:repeat(4,1fr);
    }

@media(max-width:860px){

      #plan-section-list .list-v205-custom-cascade-form{
        grid-template-columns:1fr;
      }
}



  
    /* v217 isolated Rides tab planner */
    #plan-section-rides .jiminy-rides-v217{display:grid;gap:18px}


    #plan-section-rides .rides-v217-card{border-radius:28px}


    #plan-section-rides .rides-v217-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}


    #plan-section-rides .rides-v217-head h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:32px;line-height:1}


    #plan-section-rides .rides-v217-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.4;max-width:680px}


    #plan-section-rides .rides-v217-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}


    #plan-section-rides .rides-v217-cascade-form{margin-bottom:12px}


    #plan-section-rides .rides-v217-custom-form{grid-template-columns:1.1fr 1fr 1fr .7fr auto}


    #plan-section-rides .rides-v217-form .btn{justify-content:center;min-height:46px}


    #plan-section-rides .rides-v217-days{display:grid;gap:14px}


    #plan-section-rides .rides-v217-day-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(7,31,65,.06)}


    #plan-section-rides .rides-v217-day-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}


    #plan-section-rides .rides-v217-day-head h3{margin:0;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    #plan-section-rides .rides-v217-day-date{color:var(--muted);font-size:13px;font-weight:900;margin-top:4px}


    #plan-section-rides .rides-v217-remove-day,#plan-section-rides .rides-v217-remove-item{border:0;background:var(--soft);color:var(--muted);width:34px;height:34px;border-radius:999px;font-weight:1000;cursor:pointer}


    #plan-section-rides .rides-v217-items{display:grid;gap:8px;min-height:26px}


    #plan-section-rides .rides-v217-empty{border:1px dashed rgba(29,95,205,.25);background:#f7fbff;color:var(--muted);border-radius:16px;padding:12px;font-weight:850;line-height:1.35}


    #plan-section-rides .rides-v217-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:11px 12px;background:#fff}


    #plan-section-rides .rides-v217-check{width:24px;height:24px;border:2px solid #a2a9b8;border-radius:999px}


    #plan-section-rides .rides-v217-item b{color:var(--navy);display:block}


    #plan-section-rides .rides-v217-item small{color:var(--muted);font-weight:800;line-height:1.3;display:block;margin-top:2px}


    #plan-section-rides .rides-v217-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}


    #plan-section-rides .rides-v217-actions .btn{justify-content:center;padding:10px 8px;border-radius:14px;font-size:12px;white-space:nowrap}


    .jiminy-rides-v217-sheet{position:fixed;left:50%;bottom:calc(102px + env(safe-area-inset-bottom));transform:translate(-50%,14px);opacity:0;pointer-events:none;width:min(460px,calc(100% - 26px));background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px rgba(7,31,65,.22);padding:16px;z-index:90;transition:.2s}


    .jiminy-rides-v217-sheet.open{opacity:1;pointer-events:auto;transform:translate(-50%,0)}


    .jiminy-rides-v217-sheet h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:28px;line-height:1}


    .jiminy-rides-v217-sheet p{margin:0 0 12px;color:var(--muted);line-height:1.4;font-weight:800}


    .jiminy-rides-v217-sheet .sheet-actions{display:grid;gap:8px}


    .jiminy-rides-v217-sheet .sheet-actions .btn{width:100%;justify-content:center}


    .jiminy-rides-v217-sheet .sheet-close{position:absolute;top:12px;right:12px;border:0;background:var(--soft);color:var(--navy);width:36px;height:36px;border-radius:999px;font-weight:1000;cursor:pointer}


    .jiminy-rides-v217-status{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:#293656;border-radius:16px;padding:11px 12px;font-size:13px;font-weight:850;line-height:1.35;margin:10px 0}

@media(max-width:860px){

      #plan-section-rides .rides-v217-card{border-radius:22px;padding:14px}

      #plan-section-rides .rides-v217-head{display:block}

      #plan-section-rides .rides-v217-head h3{font-size:28px}

      #plan-section-rides .rides-v217-head .btn{width:100%;justify-content:center;margin-top:12px}

      #plan-section-rides .rides-v217-form,#plan-section-rides .rides-v217-custom-form,#plan-section-rides .rides-v217-cascade-form{grid-template-columns:1fr}

      #plan-section-rides .rides-v217-form .btn{width:100%}

      #plan-section-rides .rides-v217-actions{grid-template-columns:1fr 1fr}

      #plan-section-rides button,#plan-section-rides select,#plan-section-rides input{pointer-events:auto!important;touch-action:manipulation}
}



  


    /* v231 List tab dedicated Food / Ride / Manual add actions */
    #plan-section-list .list-v231-add-row{
      display:flex;
      justify-content:flex-end;
      gap:10px;
      margin-top:12px;
    }


    #plan-section-list .list-v231-add-row .btn{
      min-height:44px;
      justify-content:center;
    }

@media(max-width:860px){

      #plan-section-list .list-v231-add-row{display:grid;grid-template-columns:1fr}

      #plan-section-list .list-v231-add-row .btn{width:100%}
}



    /* v218 List tab Custom Item accordions */
    #plan-section-list .list-v218-accordion{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;margin-bottom:12px;box-shadow:0 10px 24px rgba(7,31,65,.04)}


    #plan-section-list .list-v218-accordion-toggle{width:100%;border:0;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);color:var(--navy);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:1000;font-size:16px;cursor:pointer;text-align:left}


    #plan-section-list .list-v218-chevron{transition:.18s;font-size:20px;line-height:1}


    #plan-section-list .list-v218-accordion.collapsed .list-v218-chevron{transform:rotate(-90deg)}


    #plan-section-list .list-v218-accordion-panel{padding:14px;border-top:1px solid var(--line)}


    #plan-section-list .list-v218-accordion.collapsed .list-v218-accordion-panel{display:none}


    #plan-section-list .list-v218-rides-cascade-form{grid-template-columns:repeat(3,1fr);margin-bottom:0}

@media(max-width:860px){
#plan-section-list .list-v218-rides-cascade-form{grid-template-columns:1fr}
}




    /* v221 List tab Route View */
    #plan-section-list .list-v221-route-card{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff 0%,#eef6ff 48%,#fff8e6 100%);border-radius:28px;padding:20px;box-shadow:0 18px 48px rgba(7,31,65,.09);margin-bottom:18px}


    #plan-section-list .list-v221-route-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}


    #plan-section-list .list-v221-route-head h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:32px;line-height:1}


    #plan-section-list .list-v221-route-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.4;max-width:720px}


    #plan-section-list .list-v221-route-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}


    #plan-section-list .list-v221-route-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}


    #plan-section-list .list-v221-route-metric{border:1px solid var(--line);background:#fff;border-radius:20px;padding:13px;text-align:center;box-shadow:0 10px 24px rgba(7,31,65,.05)}


    #plan-section-list .list-v221-route-metric b{display:block;color:var(--navy);font-size:24px;line-height:1}


    #plan-section-list .list-v221-route-metric small{display:block;color:var(--muted);font-weight:850;margin-top:5px}


    #plan-section-list .list-v221-route-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start}


    #plan-section-list .list-v221-walk-preview{min-height:360px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#eaf3ff,#fff8e6);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}


    #plan-section-list .list-v221-google-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#eef6ff}


    #plan-section-list .list-v221-google-overlay{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:18px;padding:12px;color:#293656;font-weight:850;line-height:1.35;box-shadow:0 14px 30px rgba(7,31,65,.08)}


    #plan-section-list .list-v221-walk-path{position:absolute;inset:50px 34px;border:4px dashed rgba(29,95,205,.42);border-radius:46% 54% 52% 48%;transform:rotate(-9deg)}


    #plan-section-list .list-v221-walk-pin{position:absolute;width:38px;height:38px;border-radius:50% 50% 50% 9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:1000;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 12px 25px rgba(7,31,65,.2)}


    #plan-section-list .list-v221-walk-pin span{transform:rotate(45deg)}


    #plan-section-list .list-v221-walk-label{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:18px;padding:12px;color:#293656;font-weight:850;line-height:1.35}


    #plan-section-list .list-v221-stop-list{display:grid;gap:9px;align-content:start}


    #plan-section-list .list-v221-stop-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:20px;padding:12px;box-shadow:0 10px 24px rgba(7,31,65,.05)}


    #plan-section-list .list-v221-stop-number{width:32px;height:32px;border-radius:999px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:1000}


    #plan-section-list .list-v221-stop-card b{display:block;color:var(--navy)}


    #plan-section-list .list-v221-stop-card small{display:block;color:var(--muted);font-weight:800;line-height:1.35;margin-top:2px}


    #plan-section-list .list-v221-stop-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}


    #plan-section-list .list-v221-start-btn{border:1px solid var(--line);background:#f7fbff;color:var(--navy);border-radius:14px;padding:9px 10px;font-weight:1000;cursor:pointer;white-space:nowrap;text-align:center}


    #plan-section-list .list-v221-start-btn.active{background:linear-gradient(135deg,var(--blue),#0643a5);color:#fff;border-color:transparent}


    #plan-section-list a.list-v221-start-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}


    #plan-section-list .list-v221-empty{border:1px dashed rgba(29,95,205,.28);background:rgba(255,255,255,.78);border-radius:20px;padding:14px;color:var(--muted);font-weight:850;line-height:1.4}

@media(max-width:860px){

      #plan-section-list .list-v221-route-card{border-radius:22px;padding:14px}

      #plan-section-list .list-v221-route-head{display:block}

      #plan-section-list .list-v221-route-head h3{font-size:28px}

      #plan-section-list .list-v221-route-actions{display:grid;grid-template-columns:1fr;margin-top:12px}

      #plan-section-list .list-v221-route-actions .btn{width:100%;justify-content:center}

      #plan-section-list .list-v221-route-summary{grid-template-columns:1fr}

      #plan-section-list .list-v221-route-layout{grid-template-columns:1fr}

      #plan-section-list .list-v221-walk-preview{min-height:300px}

      #plan-section-list .list-v221-stop-card{grid-template-columns:auto 1fr}

      #plan-section-list .list-v221-stop-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}

      #plan-section-list .list-v221-start-btn{width:100%;justify-content:center}
}




    /* v223 Route View note + clean embedded map */
    .list-v221-route-note{margin-top:8px!important;color:var(--muted)!important;font-weight:850!important;line-height:1.4!important;max-width:760px!important}


    .list-v221-google-overlay{display:none!important}



    /* v239 clean route preview: full-width map, no redundant label panel */
    #plan-section-list .list-v235-route-preview-shell{
      display:grid;
      grid-template-columns:1fr;
      gap:12px;
      align-items:stretch;
    }


    #plan-section-list .list-v239-map-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:12px 14px;
      border-bottom:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      font-weight:1000;
      font-size:18px;
      line-height:1.1;
    }


    #plan-section-list .list-v239-map-head .list-v235-full-map-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:7px;
      border:1px solid var(--line);
      background:#f7fbff;
      color:var(--navy);
      border-radius:14px;
      padding:9px 12px;
      font-size:13px;
      font-weight:1000;
      white-space:nowrap;
    }


    #plan-section-list .list-v235-label-panel{
      border:1px solid var(--line);
      background:rgba(255,255,255,.94);
      border-radius:22px;
      padding:12px;
      display:grid;
      gap:9px;
      align-content:start;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
      min-width:0;
    }


    #plan-section-list .list-v234-label-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      color:var(--navy);
      font-size:15px;
      font-weight:1000;
      line-height:1.15;
    }


    #plan-section-list .list-v235-full-map-link{
      border:1px solid var(--line);
      background:#f7fbff;
      color:var(--navy);
      border-radius:14px;
      padding:8px 10px;
      font-size:12px;
      font-weight:1000;
      white-space:nowrap;
    }


    #plan-section-list .list-v234-label-list{
      display:grid;
      gap:7px;
      max-height:300px;
      overflow:auto;
      padding-right:2px;
      -webkit-overflow-scrolling:touch;
    }


    #plan-section-list .list-v234-label-chip{
      display:grid;
      grid-template-columns:auto 1fr;
      gap:9px;
      align-items:center;
      border:1px solid var(--line);
      background:#fff;
      border-radius:16px;
      padding:9px 10px;
      color:var(--navy);
      min-width:0;
    }


    #plan-section-list .list-v234-label-number{
      width:30px;
      height:30px;
      border-radius:999px;
      background:var(--navy);
      color:#fff;
      display:grid;
      place-items:center;
      font-size:13px;
      font-weight:1000;
    }


    #plan-section-list .list-v234-label-chip b{
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:normal;
      font-size:14px;
      line-height:1.15;
    }


    #plan-section-list .list-v234-label-chip small{
      display:block;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:normal;
      color:var(--muted);
      font-size:12px;
      font-weight:850;
      margin-top:4px;
      line-height:1.25;
    }


    #plan-section-list .list-v234-label-note{
      border:1px dashed rgba(29,95,205,.28);
      background:#f7fbff;
      border-radius:16px;
      padding:10px 11px;
      color:var(--muted);
      font-size:12px;
      font-weight:850;
      line-height:1.35;
    }


    #plan-section-list .list-v235-map-touch-note{
      display:flex;
      align-items:center;
      gap:7px;
      border-top:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      font-size:12px;
      font-weight:850;
      line-height:1.3;
      padding:9px 12px;
    }


    #plan-section-list .list-v235-map-box{
      min-height:360px;
      border:1px solid var(--line);
      border-radius:22px;
      overflow:hidden;
      background:#eef6ff;
      display:grid;
      grid-template-rows:auto 1fr auto;
    }


    #plan-section-list .list-v235-map-box .list-v221-walk-preview{
      min-height:0;
      height:100%;
      border:0;
      border-radius:0;
      box-shadow:none;
    }


    #plan-section-list .list-v234-stop-supabase{
      display:inline-flex;
      align-items:center;
      gap:5px;
      margin-top:6px;
      border-radius:999px;
      padding:5px 8px;
      background:#fff8e6;
      color:#8a6412;
      border:1px solid rgba(244,184,37,.42);
      font-size:11px;
      font-weight:1000;
    }

@media(max-width:860px){

      #plan-section-list .list-v235-route-preview-shell{grid-template-columns:1fr}

      #plan-section-list .list-v235-label-panel{border-radius:20px;padding:10px}

      #plan-section-list .list-v234-label-head{font-size:15px}

      #plan-section-list .list-v234-label-list{
        display:flex;
        gap:8px;
        overflow-x:auto;
        max-height:none;
        padding:0 2px 4px;
      }

      #plan-section-list .list-v234-label-chip{
        min-width:220px;
        max-width:250px;
      }

      #plan-section-list .list-v234-label-note{font-size:12px}

      #plan-section-list .list-v235-map-box{min-height:360px}
}




    /* v239: hide internal IDs/coordinates from user-facing route UI */
    #plan-section-list .list-v235-label-panel,
    #plan-section-list .list-v234-label-note,
    #plan-section-list .list-v234-label-list,
    #plan-section-list .list-v234-stop-supabase{display:none!important}



    /* v237 Google Maps JavaScript preview: blue numbered pins, info windows, route line, bounds */
    #plan-section-list .list-v236-js-map{
      width:100%;
      height:100%;
      min-height:360px;
      background:#eef6ff;
      position:relative;
    }


    #plan-section-list .list-v236-map-fallback{
      position:absolute;
      inset:0;
      display:grid;
      place-items:center;
      padding:18px;
      text-align:center;
      background:linear-gradient(135deg,#eef6ff,#fff8e6);
      color:#293656;
      font-weight:850;
      line-height:1.4;
    }


    #plan-section-list .list-v236-map-fallback b{display:block;color:var(--navy);font-size:18px;margin-bottom:6px}


    #plan-section-list .list-v235-map-touch-note b{color:var(--navy)}

@media(max-width:860px){

      #plan-section-list .list-v236-js-map{min-height:360px}
}




    /* v230 Food Finder search */
    .food-finder-v230{
      border:1px solid var(--line);
      background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);
      border-radius:28px;
      padding:20px;
      box-shadow:0 18px 48px rgba(7,31,65,.09);
      margin-bottom:18px;
      display:grid;
      gap:14px;
    }


    .food-finder-v230 h3{
      font-family:Georgia,serif;
      color:var(--navy);
      font-size:32px;
      line-height:1;
      margin:0 0 6px;
    }


    .food-finder-v230 p{
      margin:0;
      color:#293656;
      line-height:1.42;
      font-weight:800;
    }


    .food-finder-search-v230{
      display:grid;
      grid-template-columns:1fr auto auto;
      gap:10px;
      align-items:center;
    }


    .food-finder-search-v230 input{
      width:100%;
      border:1px solid var(--line);
      background:#fff;
      border-radius:999px;
      padding:15px 18px;
      font:inherit;
      color:var(--ink);
      outline:0;
      font-weight:850;
      min-height:52px;
      box-shadow:0 10px 24px rgba(7,31,65,.05);
    }


    .food-finder-status-v230{
      border:1px dashed rgba(29,95,205,.28);
      background:rgba(255,255,255,.78);
      border-radius:18px;
      padding:12px 14px;
      color:var(--muted);
      font-size:13px;
      font-weight:850;
      line-height:1.35;
    }


    .food-finder-results-v230{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:12px;
    }


    .food-finder-card-v230{
      border:1px solid var(--line);
      background:#fff;
      border-radius:24px;
      padding:16px;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
      display:grid;
      gap:11px;
    }


    .food-finder-card-v230 h4{
      margin:0;
      color:var(--navy);
      font-size:22px;
      line-height:1.1;
    }


    .food-finder-path-v230{
      color:var(--muted);
      font-weight:900;
      line-height:1.35;
    }


    .food-finder-actions-v230{
      display:grid;
      grid-template-columns:1fr 1fr auto;
      gap:8px;
      align-items:end;
    }


    .food-finder-field-v230{display:grid;gap:5px}


    .food-finder-field-v230 label{
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.1em;
      color:var(--blue);
      font-weight:1000;
    }


    .food-finder-field-v230 select{
      width:100%;
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      padding:10px 11px;
      font:inherit;
      color:var(--ink);
      outline:0;
      font-weight:750;
    }



    .food-finder-filter-row-v248{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:center;
    }


    .food-finder-filter-v248{
      border:1px solid var(--line);
      background:#fff;
      color:var(--navy);
      border-radius:999px;
      padding:10px 14px;
      font-weight:1000;
      cursor:pointer;
      transition:transform .14s ease, background .18s ease, color .18s ease, border-color .18s ease;
    }


    .food-finder-filter-v248.active{
      background:linear-gradient(135deg,var(--blue),#0643a5);
      color:#fff;
      border-color:transparent;
      box-shadow:0 10px 22px rgba(29,95,205,.18);
    }


    .food-finder-filter-v248:hover{transform:translateY(-1px)}

@media(max-width:860px){

      .food-finder-v230{border-radius:22px;padding:14px}

      .food-finder-search-v230,.food-finder-results-v230,.food-finder-actions-v230{grid-template-columns:1fr}

      .food-finder-search-v230 .btn,.food-finder-actions-v230 .btn{width:100%;justify-content:center}

      .food-finder-v230 h3{font-size:28px}

      .food-finder-filter-row-v248{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}

      .food-finder-filter-v248{width:100%;text-align:center}
}




    /* v250 Build tab: mirror the List tab Trip List Planner + Custom Item styling without changing the List tab */
    #plan-section-rides .jiminy-build-v250{display:grid;gap:18px}


    #plan-section-rides .list-v205-card{border-radius:28px}


    #plan-section-rides .list-v205-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}


    #plan-section-rides .list-v205-head h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:32px;line-height:1}


    #plan-section-rides .list-v205-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.4;max-width:680px}


    #plan-section-rides .list-v205-form{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}


    #plan-section-rides .list-v205-custom-cascade-form{margin-bottom:12px;grid-template-columns:repeat(4,1fr)}


    #plan-section-rides .list-v205-custom-form{grid-template-columns:1.1fr 1fr 1fr .7fr auto}


    #plan-section-rides .list-v218-rides-cascade-form{grid-template-columns:repeat(3,1fr);margin-bottom:0}


    #plan-section-rides .list-v205-form .btn{justify-content:center;min-height:46px}


    #plan-section-rides .list-v231-add-row{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}


    #plan-section-rides .list-v231-add-row .btn{min-height:44px;justify-content:center}


    #plan-section-rides .list-v218-accordion{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;margin-bottom:12px;box-shadow:0 10px 24px rgba(7,31,65,.04)}


    #plan-section-rides .list-v218-accordion-toggle{width:100%;border:0;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);color:var(--navy);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:1000;font-size:16px;cursor:pointer;text-align:left}


    #plan-section-rides .list-v218-chevron{transition:.18s;font-size:20px;line-height:1}


    #plan-section-rides .list-v218-accordion.collapsed .list-v218-chevron{transform:rotate(-90deg)}


    #plan-section-rides .list-v218-accordion-panel{padding:14px;border-top:1px solid var(--line)}


    #plan-section-rides .list-v218-accordion.collapsed .list-v218-accordion-panel{display:none}

@media(max-width:860px){

      #plan-section-rides .list-v205-card{border-radius:22px;padding:14px}

      #plan-section-rides .list-v205-head{display:block}

      #plan-section-rides .list-v205-head h3{font-size:28px}

      #plan-section-rides .list-v205-head .btn{width:100%;justify-content:center;margin-top:12px}

      #plan-section-rides .list-v205-form,
      #plan-section-rides .list-v205-custom-form,
      #plan-section-rides .list-v205-custom-cascade-form,
      #plan-section-rides .list-v218-rides-cascade-form{grid-template-columns:1fr!important}

      #plan-section-rides .list-v231-add-row{display:grid;grid-template-columns:1fr}

      #plan-section-rides .list-v231-add-row .btn{width:100%}

      #plan-section-rides button,#plan-section-rides select,#plan-section-rides input{pointer-events:auto!important;touch-action:manipulation}
}




    /* v251 List item reordering + day-specific Route View */
    #plan-section-list .list-v251-item-actions{
      display:flex;
      gap:6px;
      align-items:center;
      justify-content:flex-end;
      flex-wrap:wrap;
    }


    #plan-section-list .list-v251-move-btn{
      border:1px solid var(--line);
      background:#f7fbff;
      color:var(--navy);
      min-width:34px;
      height:34px;
      border-radius:999px;
      font-weight:1000;
      cursor:pointer;
      display:inline-grid;
      place-items:center;
    }


    #plan-section-list .list-v251-move-btn:disabled{
      opacity:.4;
      cursor:not-allowed;
    }




    /* v362 Plan List: Must-Do star + Favorite heart controls */
    #plan-section-list .list-v205-item.is-must-do{
      border-color:rgba(244,184,37,.62);
      background:linear-gradient(135deg,#fffdf7 0%,#fff8e6 100%);
    }


    #plan-section-list .list-v205-item.is-favorite{
      box-shadow:0 12px 30px rgba(244,184,37,.12);
    }


    #plan-section-list .list-v205-check{
      display:inline-grid;
      place-items:center;
      background:#fff;
      color:transparent;
      cursor:pointer;
      transition:background .18s ease,color .18s ease,border-color .18s ease,transform .14s ease;
    }


    #plan-section-list .list-v205-check::before{content:"★";font-size:15px;line-height:1;color:currentColor;}


    #plan-section-list .list-v205-check:hover{transform:scale(1.05);border-color:rgba(244,184,37,.72);}


    #plan-section-list .list-v205-check.is-must-do{
      border-color:var(--gold);
      background:#fff8e6;
      color:var(--gold);
    }


    #plan-section-list .list-v362-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;}


    #plan-section-list .list-v362-badge{
      display:inline-flex;align-items:center;gap:6px;
      border:1px solid rgba(244,184,37,.42);
      background:#fff8e6;
      color:#8a6412;
      border-radius:999px;
      padding:5px 9px;
      font-size:12px;
      font-weight:1000;
      line-height:1.1;
    }


    #plan-section-list .list-v362-fav-btn{
      border:1px solid var(--line);
      background:#f7fbff;
      color:#7b8498;
      min-width:34px;
      height:34px;
      border-radius:999px;
      font-weight:1000;
      cursor:pointer;
      display:inline-grid;
      place-items:center;
      font-size:17px;
      transition:background .18s ease,color .18s ease,border-color .18s ease,transform .14s ease;
    }


    #plan-section-list .list-v362-fav-btn:hover{transform:translateY(-1px);}


    #plan-section-list .list-v362-fav-btn.is-favorite{
      background:#fff8e6;
      color:var(--gold);
      border-color:rgba(244,184,37,.62);
    }



    #plan-section-list .list-v251-route-controls{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      align-items:end;
      justify-content:flex-end;
      margin-top:10px;
    }


    #plan-section-list .list-v251-route-day-field{
      display:grid;
      gap:5px;
      min-width:150px;
    }


    #plan-section-list .list-v251-route-day-field label{
      font-size:11px;
      text-transform:uppercase;
      letter-spacing:.1em;
      color:var(--blue);
      font-weight:1000;
    }


    #plan-section-list .list-v251-route-day-field select{
      width:100%;
      border:1px solid var(--line);
      background:#fff;
      border-radius:14px;
      padding:10px 11px;
      font:inherit;
      color:var(--ink);
      outline:0;
      font-weight:850;
    }

@media(max-width:860px){

      #plan-section-list .list-v205-item{grid-template-columns:auto 1fr!important}

      #plan-section-list .list-v251-item-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr auto}

      #plan-section-list .list-v251-move-btn{width:100%;border-radius:14px}

  

    /* v362 Plan List: Must-Do star + Favorite heart controls */
    #plan-section-list .list-v205-item.is-must-do{
      border-color:rgba(244,184,37,.62);
      background:linear-gradient(135deg,#fffdf7 0%,#fff8e6 100%);
    }

    #plan-section-list .list-v205-item.is-favorite{
      box-shadow:0 12px 30px rgba(244,184,37,.12);
    }

    #plan-section-list .list-v205-check{
      display:inline-grid;
      place-items:center;
      background:#fff;
      color:transparent;
      cursor:pointer;
      transition:background .18s ease,color .18s ease,border-color .18s ease,transform .14s ease;
    }

    #plan-section-list .list-v205-check::before{content:"★";font-size:15px;line-height:1;color:currentColor;}

    #plan-section-list .list-v205-check:hover{transform:scale(1.05);border-color:rgba(244,184,37,.72);}

    #plan-section-list .list-v205-check.is-must-do{
      border-color:var(--gold);
      background:#fff8e6;
      color:var(--gold);
    }

    #plan-section-list .list-v362-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;}

    #plan-section-list .list-v362-badge{
      display:inline-flex;align-items:center;gap:6px;
      border:1px solid rgba(244,184,37,.42);
      background:#fff8e6;
      color:#8a6412;
      border-radius:999px;
      padding:5px 9px;
      font-size:12px;
      font-weight:1000;
      line-height:1.1;
    }

    #plan-section-list .list-v362-fav-btn{
      border:1px solid var(--line);
      background:#f7fbff;
      color:#7b8498;
      min-width:34px;
      height:34px;
      border-radius:999px;
      font-weight:1000;
      cursor:pointer;
      display:inline-grid;
      place-items:center;
      font-size:17px;
      transition:background .18s ease,color .18s ease,border-color .18s ease,transform .14s ease;
    }

    #plan-section-list .list-v362-fav-btn:hover{transform:translateY(-1px);}

    #plan-section-list .list-v362-fav-btn.is-favorite{
      background:#fff8e6;
      color:var(--gold);
      border-color:rgba(244,184,37,.62);
    }


    #plan-section-list .list-v251-route-controls{display:grid;grid-template-columns:1fr}

      #plan-section-list .list-v251-route-controls .btn,
      #plan-section-list .list-v251-route-day-field{width:100%;min-width:0}
}




    /* v252 List tab container + day accordions */
    #plan-section-list .list-v252-section-accordion{
      overflow:hidden;
    }


    #plan-section-list .list-v252-section-toggle,
    #plan-section-list .list-v252-day-toggle{
      border:0;
      background:transparent;
      color:var(--navy);
      font-weight:1000;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      border-radius:14px;
      padding:8px 10px;
    }


    #plan-section-list .list-v252-section-toggle:hover,
    #plan-section-list .list-v252-day-toggle:hover{
      background:#f7fbff;
    }


    #plan-section-list .list-v252-section-toggle .list-v252-chevron,
    #plan-section-list .list-v252-day-toggle .list-v252-chevron{
      display:inline-block;
      transition:transform .18s ease;
      font-size:18px;
      line-height:1;
    }


    #plan-section-list .list-v252-section-accordion.is-collapsed .list-v252-section-toggle .list-v252-chevron,
    #plan-section-list .list-v252-day-accordion.is-collapsed .list-v252-day-toggle .list-v252-chevron{
      transform:rotate(-90deg);
    }


    #plan-section-list .list-v252-section-panel{
      display:block;
    }


    #plan-section-list .list-v252-section-accordion.is-collapsed .list-v252-section-panel,
    #plan-section-list .list-v252-day-accordion.is-collapsed .list-v252-day-panel{
      display:none!important;
    }


    #plan-section-list .list-v252-day-toggle{
      justify-self:end;
      white-space:nowrap;
      font-size:13px;
      color:var(--muted);
    }


    #plan-section-list .list-v252-day-panel{
      display:grid;
      gap:10px;
    }


    #plan-section-list .list-v252-day-count{
      display:inline-flex;
      align-items:center;
      gap:5px;
      border:1px solid var(--line);
      background:#f7fbff;
      color:#275190;
      border-radius:999px;
      padding:5px 8px;
      font-size:12px;
      font-weight:1000;
      margin-top:6px;
    }


    #plan-section-list .list-v252-section-accordion.is-collapsed .list-v205-head{
      margin-bottom:0;
    }


    #plan-section-list .list-v252-section-accordion .list-v205-head,
    #plan-section-list .list-v252-day-accordion .list-v205-day-head{
      align-items:center;
    }

@media(max-width:860px){

      #plan-section-list .list-v205-day-head{
        display:grid!important;
        grid-template-columns:1fr auto;
        align-items:start;
      }

      #plan-section-list .list-v252-day-toggle{
        padding:7px 8px;
      }
}

@media(max-width:760px){

      #page-plan .plan-subnav{grid-template-columns:repeat(2,1fr)!important;}
}


  


    /* v363 Plan List polish: centered Must-Do star + smoother Day Trip button feedback */
    #plan-section-list .list-v205-check{
      width:34px!important;
      height:34px!important;
      min-width:34px!important;
      padding:0!important;
      margin:0!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      text-align:center!important;
      line-height:1!important;
      vertical-align:middle!important;
      -webkit-appearance:none!important;
      appearance:none!important;
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
      transform:translateZ(0);
      backface-visibility:hidden;
      will-change:transform, background, color, border-color, box-shadow;
      transition:
        transform .16s cubic-bezier(.2,.8,.2,1),
        background-color .16s ease,
        color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease!important;
    }


    #plan-section-list .list-v205-check::before{
      display:block!important;
      width:100%!important;
      height:100%!important;
      line-height:30px!important;
      text-align:center!important;
      font-size:17px!important;
      font-family:Arial, Helvetica, sans-serif!important;
      font-weight:900!important;
      transform:none!important;
      margin:0!important;
      padding:0!important;
    }


    #plan-section-list .list-v205-check.is-must-do::before{
      line-height:30px!important;
    }


    #plan-section-list .list-v251-move-btn,
    #plan-section-list .list-v362-fav-btn,
    #plan-section-list .list-v205-remove-item,
    #plan-section-list .list-v205-day-card [data-list-v205-action="share"],
    #plan-section-list .list-v205-day-card [data-list-v205-action="map"]{
      -webkit-tap-highlight-color:transparent;
      touch-action:manipulation;
      transform:translateZ(0);
      backface-visibility:hidden;
      will-change:transform, background, color, border-color, box-shadow, opacity;
      transition:
        transform .16s cubic-bezier(.2,.8,.2,1),
        background-color .16s ease,
        color .16s ease,
        border-color .16s ease,
        box-shadow .16s ease,
        opacity .16s ease!important;
    }


    #plan-section-list .list-v205-check:active,
    #plan-section-list .list-v251-move-btn:active:not(:disabled),
    #plan-section-list .list-v362-fav-btn:active,
    #plan-section-list .list-v205-remove-item:active,
    #plan-section-list .list-v205-day-card [data-list-v205-action="share"]:active,
    #plan-section-list .list-v205-day-card [data-list-v205-action="map"]:active,
    #plan-section-list .jiminy-day-btn-pressed{
      transform:scale(.96) translateZ(0)!important;
      box-shadow:0 8px 18px rgba(7,31,65,.10)!important;
    }


    #plan-section-list .list-v205-check:focus-visible,
    #plan-section-list .list-v251-move-btn:focus-visible,
    #plan-section-list .list-v362-fav-btn:focus-visible,
    #plan-section-list .list-v205-remove-item:focus-visible,
    #plan-section-list .list-v205-day-card [data-list-v205-action="share"]:focus-visible,
    #plan-section-list .list-v205-day-card [data-list-v205-action="map"]:focus-visible{
      outline:3px solid rgba(29,95,205,.22);
      outline-offset:3px;
    }

@media(max-width:860px){

      #plan-section-list .list-v205-check{
        width:42px!important;
        height:42px!important;
        min-width:42px!important;
      }

      #plan-section-list .list-v205-check::before{
        line-height:38px!important;
        font-size:20px!important;
      }
}


  


    /* v364 Plan List fixes: true centered Must-Do star, stable metadata line, and smoother in-card button taps */
    #plan-section-list .list-v205-item small{
      display:block!important;
      color:var(--muted)!important;
      font-weight:800!important;
      line-height:1.3!important;
      min-height:1.3em;
      contain:content;
    }


    #plan-section-list .list-v205-check{
      position:relative!important;
      overflow:hidden!important;
      display:block!important;
      width:42px!important;
      height:42px!important;
      min-width:42px!important;
      padding:0!important;
      border-radius:999px!important;
      line-height:0!important;
      font-size:0!important;
      -webkit-font-smoothing:antialiased;
      text-rendering:geometricPrecision;
    }


    #plan-section-list .list-v205-check::before{
      content:"★"!important;
      position:absolute!important;
      left:50%!important;
      top:50%!important;
      width:auto!important;
      height:auto!important;
      transform:translate(-50%,-50%)!important;
      margin:0!important;
      padding:0!important;
      display:block!important;
      line-height:1!important;
      font-family:Arial, Helvetica, sans-serif!important;
      font-size:22px!important;
      font-weight:900!important;
      color:currentColor!important;
      pointer-events:none!important;
    }


    #plan-section-list .list-v205-check:not(.is-must-do)::before{
      color:transparent!important;
    }


    #plan-section-list .list-v205-day-card button,
    #plan-section-list .list-v205-day-card .btn{
      -webkit-tap-highlight-color:transparent!important;
      touch-action:manipulation!important;
      transform:translate3d(0,0,0);
      backface-visibility:hidden;
      will-change:transform, opacity, background-color, color, border-color, box-shadow;
      transition:transform .12s cubic-bezier(.2,.8,.2,1), opacity .12s ease, background-color .14s ease, color .14s ease, border-color .14s ease, box-shadow .14s ease!important;
    }


    #plan-section-list .list-v205-day-card button:active:not(:disabled),
    #plan-section-list .list-v205-day-card .btn:active:not(:disabled),
    #plan-section-list .list-v205-day-card .jiminy-day-btn-pressed{
      transform:translate3d(0,1px,0) scale(.985)!important;
      opacity:.92!important;
    }

@media(max-width:760px){

    #plan-section-list .list-v218-accordion{display:block!important;width:100%!important;margin-bottom:12px!important;overflow:hidden!important}

    #plan-section-list .list-v218-accordion-toggle{display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;justify-content:space-between!important}

    #plan-section-list .list-v218-accordion-panel{display:block!important;padding:14px!important}

    #plan-section-list .list-v218-accordion.collapsed .list-v218-accordion-panel{display:none!important}

    #plan-section-list .list-v205-custom-cascade-form,
    #plan-section-list .list-v218-rides-cascade-form,
    #plan-section-list .list-v205-custom-form{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}

    #plan-section-list .list-v231-add-row{display:grid!important;grid-template-columns:1fr!important;margin-top:12px!important}

    #plan-section-list .list-v231-add-row .btn{width:100%!important;justify-content:center!important;min-height:48px!important}

    #plan-section-list .tab-field select,
    #plan-section-list .tab-field input{width:100%!important;min-height:46px!important;font-size:16px!important}
}





  #plan-section-list #listV218FreeTextAccordion{
    display:block!important;
    width:100%!important;
    margin:0 0 12px!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(7,31,65,.04)!important;
  }


  #plan-section-list #listV218FreeTextAccordion > .list-v218-accordion-toggle{
    display:flex!important;
    width:100%!important;
    min-height:52px!important;
    align-items:center!important;
    justify-content:space-between!important;
    border:0!important;
    background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;
    color:var(--navy)!important;
    padding:14px 16px!important;
    font-weight:1000!important;
    font-size:16px!important;
    cursor:pointer!important;
    text-align:left!important;
  }


  #plan-section-list #listV218FreeTextAccordion > #listV218FreeTextPanel{
    padding:14px!important;
    border-top:1px solid var(--line)!important;
  }


  #plan-section-list #listV218FreeTextAccordion.collapsed > #listV218FreeTextPanel{
    display:none!important;
  }


  #plan-section-list #listV218FreeTextAccordion:not(.collapsed) > #listV218FreeTextPanel{
    display:block!important;
  }


  #plan-section-list #listV218FreeTextAccordion.collapsed .list-v218-chevron{
    transform:rotate(-90deg)!important;
  }


  #plan-section-list #listV218FreeTextAccordion .list-v205-custom-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }


  #plan-section-list #listV218FreeTextAccordion .list-v231-add-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:12px!important;
  }


  #plan-section-list #listV218FreeTextAccordion .list-v231-add-row .btn{
    width:100%!important;
    justify-content:center!important;
  }





  #plan-section-list .list-v244-free-text-accordion{
    display:block!important;
    width:100%!important;
    margin:0 0 12px!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(7,31,65,.04)!important;
  }


  #plan-section-list .list-v244-free-text-accordion > .list-v218-accordion-toggle{
    display:flex!important;
    width:100%!important;
    min-height:54px!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    border:0!important;
    background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%)!important;
    color:var(--navy)!important;
    padding:14px 16px!important;
    font-weight:1000!important;
    font-size:16px!important;
    cursor:pointer!important;
    text-align:left!important;
  }


  #plan-section-list .list-v244-free-text-accordion > .list-v218-accordion-panel{
    display:block!important;
    padding:14px!important;
    border-top:1px solid var(--line)!important;
  }


  #plan-section-list .list-v244-free-text-accordion.collapsed > .list-v218-accordion-panel{
    display:none!important;
  }


  #plan-section-list .list-v244-free-text-accordion.collapsed .list-v218-chevron{
    transform:rotate(-90deg)!important;
  }


  #plan-section-list #listV244FreeTextForm{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }


  #plan-section-list #listV244FreeTextForm .tab-field,
  #plan-section-list #listV244FreeTextForm .tab-field input,
  #plan-section-list #listV244FreeTextForm .tab-field select{
    width:100%!important;
  }


  #plan-section-list #listV244FreeTextAddRow{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:12px!important;
  }


  #plan-section-list #listV244FreeTextAddRow .btn{
    width:100%!important;
    justify-content:center!important;
    min-height:48px!important;
  }





  #plan-section-list .list-v371-current-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}


  #plan-section-list .list-v371-current-actions .btn{justify-content:center;white-space:nowrap}

@media(max-width:860px){

    #plan-section-list .list-v371-current-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:12px}

    #plan-section-list .list-v371-current-actions .btn{width:100%}
}





  /* v383: Dedicated saved Route pages with reorderable stops and Route Preview. */
  .route-page-v383-card{margin-bottom:18px}


  #page-route-page .route-v383-stop{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:18px;
    padding:11px 12px;
    background:#fff;
    margin-bottom:8px;
  }


  #page-route-page .route-v383-number{
    width:34px;
    height:34px;
    border-radius:999px;
    background:var(--navy);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:1000;
  }


  #page-route-page .route-v383-stop b{display:block;color:var(--navy);line-height:1.15}


  #page-route-page .route-v383-stop small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:3px}


  #page-route-page .route-v383-actions{
    display:flex;
    gap:6px;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
  }


  #page-route-page .route-v383-move-btn{
    border:1px solid var(--line);
    background:#f7fbff;
    color:var(--navy);
    min-width:34px;
    height:34px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:inline-grid;
    place-items:center;
    font-size:18px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:transform .14s ease,background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease,box-shadow .18s ease;
  }


  #page-route-page .route-v383-move-btn:disabled{opacity:.38;cursor:not-allowed}


  #page-route-page .route-v383-move-btn:active:not(:disabled){transform:scale(.96)}


  #page-route-page .route-preview-v383{margin-bottom:18px}


  #page-route-page .list-v235-route-preview-shell{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
  }


  #page-route-page .list-v235-map-box{
    min-height:360px;
    border:1px solid var(--line);
    border-radius:22px;
    overflow:hidden;
    background:#eef6ff;
    display:grid;
    grid-template-rows:auto 1fr auto;
  }


  #page-route-page .list-v239-map-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    border-bottom:1px solid var(--line);
    background:#fff;
    color:var(--navy);
    font-weight:1000;
    font-size:18px;
    line-height:1.1;
  }


  #page-route-page .list-v221-walk-preview{
    min-height:360px;
    border:0;
    border-radius:0;
    background:linear-gradient(135deg,#eaf3ff,#fff8e6);
    position:relative;
    overflow:hidden;
  }


  #page-route-page .list-v236-js-map{
    width:100%;
    height:100%;
    min-height:360px;
    background:#eef6ff;
    position:relative;
  }


  #page-route-page .list-v236-map-fallback{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    padding:18px;
    text-align:center;
    background:linear-gradient(135deg,#eef6ff,#fff8e6);
    color:#293656;
    font-weight:850;
    line-height:1.4;
  }


  #page-route-page .route-v383-stop-list{
    display:grid;
    gap:9px;
    align-content:start;
    margin-top:12px;
  }


  #page-route-page .list-v221-stop-card{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:center;
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:12px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
  }


  #page-route-page .list-v221-stop-number{
    width:32px;
    height:32px;
    border-radius:999px;
    background:var(--navy);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:1000;
  }


  #page-route-page .list-v221-stop-card b{display:block;color:var(--navy)}


  #page-route-page .list-v221-stop-card small{display:block;color:var(--muted);font-weight:800;line-height:1.35;margin-top:2px}

@media(max-width:860px){

    #page-route-page .route-v383-stop{grid-template-columns:auto 1fr}

    #page-route-page .route-v383-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}

    #page-route-page .route-v383-move-btn{width:100%;border-radius:14px}

    #page-route-page .list-v221-route-head{display:block}

    #page-route-page .list-v221-route-actions{display:grid;grid-template-columns:1fr;margin-top:12px}

    #page-route-page .list-v221-route-actions .btn{width:100%;justify-content:center}
}





  /* v384: Route Page preview fallback now has its own map-path and numbered-pin styling. */
  #page-route-page .list-v221-walk-preview{
    min-height:360px!important;
    height:360px!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(135deg,#eaf3ff 0%,#f7fbff 48%,#fff8e6 100%)!important;
    position:relative!important;
    overflow:hidden!important;
  }


  #page-route-page .list-v221-walk-path{
    position:absolute!important;
    inset:50px 34px!important;
    border:4px dashed rgba(29,95,205,.42)!important;
    border-radius:46% 54% 52% 48%!important;
    transform:rotate(-9deg)!important;
    opacity:.9!important;
  }


  #page-route-page .list-v221-walk-pin{
    position:absolute!important;
    width:38px!important;
    height:38px!important;
    border-radius:50% 50% 50% 9px!important;
    background:var(--blue)!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    font-weight:1000!important;
    transform:translate(-50%,-50%) rotate(-45deg)!important;
    box-shadow:0 12px 25px rgba(7,31,65,.2)!important;
    z-index:3!important;
  }


  #page-route-page .list-v221-walk-pin span{
    transform:rotate(45deg)!important;
    display:block!important;
    line-height:1!important;
  }


  #page-route-page .route-v384-preview-route-line{
    position:absolute!important;
    left:12%!important;
    right:12%!important;
    top:18%!important;
    bottom:18%!important;
    border:5px dashed rgba(29,95,205,.42)!important;
    border-radius:42% 58% 48% 52%!important;
    transform:rotate(-11deg)!important;
    z-index:1!important;
  }


  #page-route-page .route-v384-map-note{
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    background:rgba(255,255,255,.92)!important;
    border:1px solid var(--line)!important;
    border-radius:16px!important;
    padding:10px 12px!important;
    color:var(--muted)!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.35!important;
    z-index:4!important;
    box-shadow:0 10px 24px rgba(7,31,65,.08)!important;
  }


  #page-route-page .list-v236-js-map{
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    background:#eef6ff!important;
    position:relative!important;
  }





  /* v385: Route Page uses the same blue numbered Jiminy pins and auto-loads Google Maps independently. */
  #page-route-page .list-v235-map-touch-note{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    border-top:1px solid var(--line)!important;
    background:#fff!important;
    color:var(--muted)!important;
    font-size:12px!important;
    font-weight:850!important;
    line-height:1.3!important;
    padding:9px 12px!important;
  }


  #page-route-page .list-v235-map-touch-note b{color:var(--navy)!important}


  #page-route-page .route-v439-warning{
    border:1px dashed rgba(29,95,205,.30);
    background:#f7fbff;
    color:var(--muted);
    border-radius:18px;
    padding:12px 14px;
    font-weight:850;
    line-height:1.35;
    margin:0 0 12px;
  }


  #page-route-page .route-v439-fallback-map{
    position:relative;
    min-height:360px;
    background:linear-gradient(135deg,#eaf3ff,#fff8e6);
    overflow:hidden;
  }


  #page-route-page .route-v439-route-line{
    position:absolute;
    inset:58px 42px;
    border:4px dashed rgba(29,95,205,.35);
    border-radius:46% 54% 52% 48%;
    transform:rotate(-8deg);
  }
/* Back link to Plan landing page — Disneyland builder subpage only */
.plan-builder-back-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  font-weight: 900;
  color: var(--navy);
  opacity: .65;
  text-decoration: none;
  margin-bottom: 10px;
}
.plan-builder-back-link:hover { opacity: 1; }
