/* =============================================================
   Jiminy App — Account Page Styles (#page-account-* only)
   /css/account.css

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



    .mobile-account-menu{display:none}

@media(max-width:1080px){


      .mobile-account-menu{display:grid;gap:8px;margin-top:8px}

      .mobile-account-menu .nav-btn{display:flex}


      body.jiminy-signed-in .mobile-account-menu .mobile-signin-link{display:none}

      .mobile-account-menu.stories-open .mobile-stories-caret{transform:rotate(180deg)}

      body.jiminy-signed-in .mobile-account-menu.stories-open .mobile-stories-sub{display:grid}
}

@media(min-width:1081px){

      .mobile-account-menu{display:none!important}
}



    /* v95: Jiminy Account auth controls stay visible and usable */
    .jiminy-auth-signed-in-panel{
      display:none;
      border:1px solid rgba(47,143,87,.22);
      background:#f2fbf6;
      border-radius:18px;
      padding:12px 13px;
      color:#1f6f43;
      font-weight:900;
      line-height:1.35;
      margin:10px 0;
    }


    body.jiminy-signed-in .jiminy-auth-signed-in-panel{display:block}


    body.jiminy-signed-in .jiminy-auth-fields{display:none}




    /* v219 Creator Page + Library Supabase integration */
    .account-state-card{border:1px solid var(--line);background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);border-radius:28px;padding:22px;box-shadow:0 18px 48px rgba(7,31,65,.09);margin-bottom:18px}


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


    .account-state-card p{color:#293656;line-height:1.45;margin:0 0 14px}


    .jiminy-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}


    .jiminy-form-grid.full{grid-template-columns:1fr}


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


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


    .jiminy-form-field input,.jiminy-form-field textarea,.jiminy-form-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}


    .jiminy-form-field textarea{min-height:94px;resize:vertical}


    .account-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}


    .account-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:1000}


    .account-pill.public{background:#eff6ff;color:#275190;border-color:#dbeaff}


    .account-pill.private{background:#fff8e6;color:#8a6412;border-color:rgba(244,184,37,.42)}


    .library-item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}


    .library-item-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:18px;box-shadow:0 12px 30px rgba(7,31,65,.06)}


    .library-item-card h4{font-family:Georgia,serif;color:var(--navy);font-size:27px;line-height:1;margin:0 0 7px}


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


    .library-item-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}

@media(max-width:760px){
.jiminy-form-grid,.library-item-grid{grid-template-columns:1fr}
.account-state-card{border-radius:24px;padding:16px}
}





    /* v255 Guest Plan + Account Sync */
    .guest-sync-banner-v255{
      border:1px solid rgba(244,184,37,.42);
      background:linear-gradient(135deg,#fff8e6 0%,#ffffff 54%,#eef6ff 100%);
      border-radius:24px;
      padding:16px;
      margin:0 0 18px;
      box-shadow:0 12px 30px rgba(7,31,65,.06);
      display:grid;
      grid-template-columns:1fr auto;
      gap:12px;
      align-items:center;
    }


    .guest-sync-banner-v255 b{display:block;color:var(--navy);font-size:18px;margin-bottom:4px}


    .guest-sync-banner-v255 span{color:#293656;font-weight:850;line-height:1.35}


    body.jiminy-signed-in .guest-sync-banner-v255{
      border-color:rgba(47,143,87,.22);
      background:linear-gradient(135deg,#f2fbf6 0%,#ffffff 54%,#eef6ff 100%);
    }


    body.jiminy-signed-in .guest-sync-banner-v255 b::after{content:' Saved to your Jiminy Account';}


    body.jiminy-signed-in .guest-sync-banner-v255 .guest-copy-v255{display:none}


    body:not(.jiminy-signed-in) .guest-sync-banner-v255 .signed-copy-v255{display:none}

@media(max-width:760px){

      .guest-sync-banner-v255{grid-template-columns:1fr;border-radius:20px;padding:14px}

      .guest-sync-banner-v255 .btn{width:100%;justify-content:center}
}


  


  /* v369 Account Jewels + functional personal list pages */
  .account-dynamic-list-v369{display:grid;gap:10px;margin-bottom:14px}


  .account-item-card-v369{border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(7,31,65,.05);display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}


  .account-item-icon-v369{width:38px;height:38px;border-radius:999px;background:#f7fbff;border:1px solid var(--line);display:grid;place-items:center;font-weight:1000;color:var(--navy)}


  .account-item-card-v369 b{display:block;color:var(--navy);line-height:1.15}


  .account-item-card-v369 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-item-pills-v369{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}


  .account-item-pill-v369{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}


  .account-item-pill-v369.gold{background:#fff8e6;color:#8a6412;border-color:rgba(244,184,37,.42)}


  .account-empty-v369{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:var(--muted);border-radius:18px;padding:14px;font-weight:850;line-height:1.4}

@media(max-width:760px){
.account-item-card-v369{border-radius:18px;padding:12px}
.account-item-icon-v369{width:34px;height:34px}
}





  /* v431 strict rebuild: Account Must-Do/Favorites/Jewels renderers + Add to Story workflow; fixes stale legacy renderer overwrite on navigation. */
  .account-v430-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:15px;box-shadow:0 12px 30px rgba(7,31,65,.06);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;margin-bottom:10px}


  .account-v430-icon{width:40px;height:40px;border-radius:999px;background:#f7fbff;border:1px solid var(--line);display:grid;place-items:center;font-weight:1000;color:var(--navy);line-height:1}


  .account-v430-info b{display:block;color:var(--navy);font-size:18px;line-height:1.15}

.account-v430-info small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-v430-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}

.account-v430-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#f7fbff;color:#275190;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:1000;line-height:1.1}

.account-v430-badge.gold{background:#fff8e6;color:#8a6412;border-color:rgba(244,184,37,.42)}

.account-v430-badge.green{background:#f2fbf6;color:#1f6f43;border-color:rgba(47,143,87,.24)}


  .account-v430-remove{border:0;background:var(--soft);color:var(--muted);width:34px;height:34px;border-radius:999px;font-weight:1000;cursor:pointer}

.account-v430-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}

.account-v430-actions .btn{justify-content:center;padding:10px 11px;border-radius:14px;font-size:13px}

.account-v430-complete-row{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--muted);font-size:13px;font-weight:950}

.account-v430-complete{width:22px;height:22px;accent-color:#1d5fcd;cursor:pointer}

.account-v430-empty{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:var(--muted);border-radius:18px;padding:14px;font-weight:850;line-height:1.4;margin-bottom:10px}

.account-v430-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}

.account-v430-toolbar button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:14px;padding:10px 12px;font-weight:1000;cursor:pointer}

@media(max-width:760px){
.account-v430-card{grid-template-columns:auto 1fr auto;border-radius:20px;padding:13px}
.account-v430-actions .btn{min-height:42px}
}





  .account-hub-v367{display:grid;gap:18px}


  .account-hero-v367{background:linear-gradient(135deg,#ffffff 0%,#eef6ff 48%,#fff8e6 100%)}


  .account-hero-head-v367{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;margin-bottom:16px}


  .account-avatar-v367{width:76px;height:76px;border-radius:24px;background:linear-gradient(135deg,var(--navy),#123d7e);display:grid;place-items:center;overflow:hidden}


  .account-avatar-v367 img{width:56px;height:56px;object-fit:contain}


  .account-hero-v367 h3,.account-panel-title-v367 h3{margin:0 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:32px;line-height:1}


  .account-hero-v367 p,.account-panel-title-v367 p{margin:0;color:var(--muted);font-weight:800;line-height:1.4}


  .account-quick-grid-v367{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}


  .account-quick-card-v367,.account-list-card-v367{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:20px;padding:14px;text-align:left;box-shadow:0 10px 24px rgba(7,31,65,.05);cursor:pointer;font:inherit;transition:transform .16s ease, box-shadow .16s ease, background .16s ease}


  .account-quick-card-v367:hover,.account-list-card-v367:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,31,65,.1);background:#f7fbff}


  .account-quick-card-v367:active,.account-list-card-v367:active{transform:scale(.985)}


  .account-quick-card-v367 span{display:block;font-size:25px;margin-bottom:8px;color:var(--blue)}


  .account-quick-card-v367 b,.account-list-card-v367 b{display:block;color:var(--navy);font-weight:1000}


  .account-quick-card-v367 small,.account-list-card-v367 small{display:block;color:var(--muted);font-weight:800;line-height:1.35;margin-top:4px}


  .account-panel-v367{display:grid;gap:14px}


  .account-list-grid-v367{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}


  .account-empty-v367{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:var(--muted);border-radius:18px;padding:16px;font-weight:850;line-height:1.4}

@media(max-width:860px){
.account-quick-grid-v367,.account-list-grid-v367{grid-template-columns:1fr}
.account-hero-head-v367{grid-template-columns:62px 1fr}
.account-avatar-v367{width:62px;height:62px;border-radius:20px}
.account-avatar-v367 img{width:46px;height:46px}
.account-hero-v367 h3,.account-panel-title-v367 h3{font-size:28px}
.account-panel-v367 .actions{display:grid;grid-template-columns:1fr}
.account-panel-v367 .btn{width:100%;justify-content:center}
}





  .account-stories-v370-card{display:grid;gap:14px;margin-bottom:18px;background:linear-gradient(135deg,#ffffff 0%,#f7fbff 54%,#fff8e6 100%)}


  .account-stories-v370-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}


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


  .account-stories-v370-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.4;max-width:720px}


  .account-trip-card-v370{border:1px solid var(--line);background:#fff;border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(7,31,65,.05);display:grid;gap:12px;transition:transform .16s ease, box-shadow .16s ease, background .16s ease}


  .account-trip-card-v370:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(7,31,65,.1);background:#fdfefe}


  .account-trip-card-v370 b{display:block;color:var(--navy);font-size:18px;line-height:1.15}


  .account-trip-card-v370 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-trip-pill-row-v370{display:flex;flex-wrap:wrap;gap:7px}


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


  .account-trip-card-actions-v370{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}


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

@media(max-width:860px){

    .account-stories-v370-card{border-radius:22px;padding:14px}

    .account-stories-v370-head{display:block}

    .account-stories-v370-head h3{font-size:28px}

    .account-trip-card-actions-v370{display:grid;grid-template-columns:1fr}
}


  .account-route-card-v382{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    gap:10px;
  }


  .account-route-card-v382 h4{
    margin:0;
    color:var(--navy);
    font-size:20px;
    line-height:1.15;
  }


  .account-route-card-v382 small{
    color:var(--muted);
    font-weight:850;
    line-height:1.35;
  }


  .account-route-stop-list-v382{
    display:grid;
    gap:6px;
    margin-top:4px;
  }


  .account-route-stop-v382{
    border:1px solid var(--line);
    background:#f7fbff;
    border-radius:14px;
    padding:9px 10px;
    color:var(--navy);
    font-weight:900;
    line-height:1.25;
  }


  .account-route-stop-v382 span{
    color:var(--muted);
    font-weight:850;
  }





  /* v387: Must-Do and Favorites pages get Plan List-style Food / Rides / Free Text builders. */
  .account-builder-v387{
    border:1px solid var(--line);
    background:linear-gradient(135deg,#ffffff 0%,#f7fbff 52%,#fff8e6 100%);
    border-radius:24px;
    padding:16px;
    margin-bottom:16px;
    box-shadow:0 12px 30px rgba(7,31,65,.06);
  }


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


  .account-builder-v387 p{
    margin:0 0 14px;
    color:var(--muted);
    line-height:1.4;
    font-weight:800;
  }


  .account-v387-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);
  }


  .account-v387-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;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-v387-chevron{transition:.18s;font-size:20px;line-height:1}


  .account-v387-accordion.collapsed .account-v387-chevron{transform:rotate(-90deg)}


  .account-v387-accordion-panel{padding:14px;border-top:1px solid var(--line)}


  .account-v387-accordion.collapsed .account-v387-accordion-panel{display:none}


  .account-v387-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    align-items:end;
  }


  .account-v387-food-grid{grid-template-columns:1fr 1fr 1.25fr .9fr .9fr}


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


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


  .account-v387-field select,
  .account-v387-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;
    min-height:48px;
  }


  .account-v387-add-row{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:12px;
  }


  .account-v387-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;
    margin-top:4px;
  }

@media(max-width:860px){

    .account-builder-v387{border-radius:22px;padding:14px}

    .account-v387-grid,
    .account-v387-food-grid{grid-template-columns:1fr!important}

    .account-v387-add-row{display:grid;grid-template-columns:1fr}

    .account-v387-add-row .btn{width:100%;justify-content:center}
}





  /* v390: Account Must-Do/Favorites cards: cleaner badges + removable cards */
  #page-account-mustdo .account-item-card-v369,
  #page-account-favorites .account-item-card-v369{
    position:relative;
    grid-template-columns:auto 1fr auto!important;
    align-items:start!important;
  }


  .account-remove-v390{
    border:0;
    background:var(--soft);
    color:var(--muted);
    width:34px;
    height:34px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-remove-v390:active{transform:scale(.96)}


  #page-account-mustdo .account-item-pills-v369,
  #page-account-favorites .account-item-pills-v369{
    margin-top:8px;
  }





  /* v391 clean replacement: Must-Do/Favorites cards are removable and show only Must-Do/Favorite badges. */
  #accountMustDoListV369 .account-item-card-v391,
  #accountFavoritesListV369 .account-item-card-v391{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:start;
    margin-bottom:10px;
  }


  .account-item-card-v391 .account-item-icon-v391{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#f7fbff;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    font-weight:1000;
    color:var(--navy);
  }


  .account-item-card-v391 b{
    display:block;
    color:var(--navy);
    line-height:1.15;
  }


  .account-item-card-v391 small{
    display:block;
    color:var(--muted);
    font-weight:850;
    line-height:1.35;
    margin-top:4px;
  }


  .account-card-badges-v391{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
  }


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


  .account-card-remove-v391{
    border:0;
    background:var(--soft);
    color:var(--muted);
    width:36px;
    height:36px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
    font-size:18px;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-card-remove-v391:active{
    transform:scale(.96);
  }

@media(max-width:760px){

    #accountMustDoListV369 .account-item-card-v391,
    #accountFavoritesListV369 .account-item-card-v391{
      border-radius:18px;
      padding:12px;
      grid-template-columns:34px 1fr 36px;
      gap:10px;
    }

    .account-item-card-v391 .account-item-icon-v391{
      width:34px;
      height:34px;
    }
}





  .account-clear-cache-v392{
    border:1px solid rgba(154,52,18,.22);
    background:#fff7ed;
    color:#9a3412;
    border-radius:16px;
    padding:11px 13px;
    font-weight:1000;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-clear-cache-v392:active{transform:scale(.98)}


  .account-list-toolbar-v392{
    display:flex;
    justify-content:flex-end;
    margin:0 0 12px;
  }

@media(max-width:760px){

    .account-list-toolbar-v392{display:grid;grid-template-columns:1fr}

    .account-clear-cache-v392{width:100%}
}





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


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


  .account-builder-v393 p{
    margin:0 0 14px;
    color:var(--muted);
    line-height:1.4;
    font-weight:800;
  }


  .account-accordion-v393{
    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);
  }


  .account-accordion-toggle-v393{
    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;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-accordion-v393.collapsed .account-chevron-v393{transform:rotate(-90deg)}


  .account-chevron-v393{transition:.18s;font-size:20px;line-height:1}


  .account-accordion-panel-v393{padding:14px;border-top:1px solid var(--line)}


  .account-accordion-v393.collapsed .account-accordion-panel-v393{display:none}


  .account-grid-v393{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}


  .account-food-grid-v393{grid-template-columns:1fr 1fr 1.25fr .9fr .9fr}


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


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


  .account-field-v393 select,.account-field-v393 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;
    min-height:48px;
  }


  .account-add-row-v393{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}


  .account-status-v393{
    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;
    margin-top:4px;
  }


  .account-list-toolbar-v393{display:flex;justify-content:flex-end;margin:0 0 12px}


  .account-clear-v393{
    border:1px solid rgba(154,52,18,.22);
    background:#fff7ed;
    color:#9a3412;
    border-radius:16px;
    padding:11px 13px;
    font-weight:1000;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
  }


  .account-card-v393{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:start;
    margin-bottom:10px;
  }


  .account-card-icon-v393{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#f7fbff;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    font-weight:1000;
    color:var(--navy);
  }


  .account-card-v393 b{display:block;color:var(--navy);line-height:1.15}


  .account-card-v393 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-card-badges-v393{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}


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


  .account-remove-v393{
    border:0;
    background:var(--soft);
    color:var(--muted);
    width:36px;
    height:36px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
    font-size:18px;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-empty-v393{
    border:1px dashed rgba(29,95,205,.28);
    background:#f7fbff;
    color:var(--muted);
    border-radius:18px;
    padding:14px;
    font-weight:850;
    line-height:1.4;
  }

@media(max-width:860px){

    .account-builder-v393{border-radius:22px;padding:14px}

    .account-grid-v393,.account-food-grid-v393{grid-template-columns:1fr!important}

    .account-add-row-v393,.account-list-toolbar-v393{display:grid;grid-template-columns:1fr}

    .account-add-row-v393 .btn,.account-clear-v393{width:100%;justify-content:center}

    .account-card-v393{border-radius:18px;padding:12px;grid-template-columns:34px 1fr 36px;gap:10px}

    .account-card-icon-v393{width:34px;height:34px}
}





.account-panel-v394{display:grid;gap:14px}

.account-toolbar-v394{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px}

.account-clear-v394{border:1px solid rgba(154,52,18,.22);background:#fff7ed;color:#9a3412;border-radius:16px;padding:11px 13px;font-weight:1000;cursor:pointer}

.account-card-v394{border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(7,31,65,.05);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;margin-bottom:10px}

.account-card-icon-v394{width:38px;height:38px;border-radius:999px;background:#f7fbff;border:1px solid var(--line);display:grid;place-items:center;font-weight:1000;color:var(--navy)}

.account-card-v394 b{display:block;color:var(--navy);line-height:1.15}

.account-card-v394 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}

.account-badges-v394{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}

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

.account-remove-v394{border:0;background:var(--soft);color:var(--muted);width:36px;height:36px;border-radius:999px;font-weight:1000;cursor:pointer;display:grid;place-items:center;font-size:18px;line-height:1}

.account-card-actions-v394{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}

.account-card-actions-v394 .btn{min-height:38px;border-radius:14px;padding:9px 12px}

.account-empty-v394{border:1px dashed rgba(29,95,205,.28);background:#f7fbff;color:var(--muted);border-radius:18px;padding:14px;font-weight:850;line-height:1.4}

.account-review-body-v394{margin-top:8px;padding:10px 12px;border:1px solid var(--line);background:#f7fbff;border-radius:14px;color:var(--ink);font-weight:750;line-height:1.4}

@media(max-width:760px){
.account-toolbar-v394{display:grid;grid-template-columns:1fr}
.account-clear-v394{width:100%}
.account-card-v394{border-radius:18px;padding:12px;grid-template-columns:34px 1fr 36px;gap:10px}
.account-card-icon-v394{width:34px;height:34px}
.account-card-actions-v394{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}
.account-card-actions-v394 .btn{width:100%;justify-content:center}
}





  /* v396: restore Rate / Review buttons on Must-Do and Favorites item cards. */
  #accountMustDoListV393 .account-card-actions-v394,
  #accountFavoritesListV393 .account-card-actions-v394{
    grid-column:1 / -1;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:4px;
  }


  #accountMustDoListV393 .account-card-actions-v394 .btn,
  #accountFavoritesListV393 .account-card-actions-v394 .btn{
    min-height:40px;
    justify-content:center;
    border-radius:14px;
  }





  /* v397: Must-Do/Favorites clean cards always include Rate and Review buttons. */
  #accountMustDoListV393 .account-card-v397,
  #accountFavoritesListV393 .account-card-v397{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:start;
    margin-bottom:10px;
  }


  .account-card-icon-v397{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#f7fbff;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    font-weight:1000;
    color:var(--navy);
  }


  .account-card-v397 b{display:block;color:var(--navy);line-height:1.15}


  .account-card-v397 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-card-badges-v397{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}


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


  .account-card-remove-v397{
    border:0;
    background:var(--soft);
    color:var(--muted);
    width:36px;
    height:36px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
    font-size:18px;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-card-actions-v397{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:4px;
  }


  .account-card-actions-v397 .btn{
    min-height:42px;
    justify-content:center;
    border-radius:14px;
  }

@media(max-width:760px){

    #accountMustDoListV393 .account-card-v397,
    #accountFavoritesListV393 .account-card-v397{
      border-radius:18px;
      padding:12px;
      grid-template-columns:34px 1fr 36px;
      gap:10px;
    }

    .account-card-icon-v397{width:34px;height:34px}
}





  /* v403: safe Must-Do/Favorites cards with one Rate/Review row, no MutationObserver loops. */
  #accountMustDoListV393 .account-card-v403,
  #accountFavoritesListV393 .account-card-v403{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:start;
    margin-bottom:10px;
  }


  .account-card-icon-v403{
    width:38px;
    height:38px;
    border-radius:999px;
    background:#f7fbff;
    border:1px solid var(--line);
    display:grid;
    place-items:center;
    font-weight:1000;
    color:var(--navy);
  }


  .account-card-v403 b{display:block;color:var(--navy);line-height:1.15}


  .account-card-v403 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px}


  .account-card-badges-v403{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}


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


  .account-card-remove-v403{
    border:0;
    background:var(--soft);
    color:var(--muted);
    width:36px;
    height:36px;
    border-radius:999px;
    font-weight:1000;
    cursor:pointer;
    display:grid;
    place-items:center;
    font-size:18px;
    line-height:1;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }


  .account-card-actions-v403{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:4px;
  }


  .account-card-actions-v403 .btn{
    min-height:42px;
    justify-content:center;
    border-radius:14px;
  }

@media(max-width:760px){

    #accountMustDoListV393 .account-card-v403,
    #accountFavoritesListV393 .account-card-v403{
      border-radius:18px;
      padding:12px;
      grid-template-columns:34px 1fr 36px;
      gap:10px;
    }

    .account-card-icon-v403{width:34px;height:34px}
}





  /* v405: show quick Rated / Reviewed badges on Must-Do and Favorites cards. */
  #accountMustDoListV393 .account-card-badge-rated-v405,
  #accountFavoritesListV393 .account-card-badge-rated-v405,
  #accountMustDoListV393 .account-card-badge-reviewed-v405,
  #accountFavoritesListV393 .account-card-badge-reviewed-v405{
    border-color:rgba(244,184,37,.42);
    background:#fff8e6;
    color:#8a6412;
  }





  /* v406: keep Rated / Reviewed badges in sync immediately after saves. */
  #accountMustDoListV393 .account-card-badge-rated-v405,
  #accountFavoritesListV393 .account-card-badge-rated-v405,
  #accountMustDoListV393 .account-card-badge-reviewed-v405,
  #accountFavoritesListV393 .account-card-badge-reviewed-v405{
    animation:jiminyBadgePopV406 .16s ease-out;
  }





  /* v407: Rated and Reviewed badges persist independently after Clear Ratings and page navigation. */
  #accountMustDoListV393 .account-card-badge-rated-v405,
  #accountFavoritesListV393 .account-card-badge-rated-v405,
  #accountMustDoListV393 .account-card-badge-reviewed-v405,
  #accountFavoritesListV393 .account-card-badge-reviewed-v405{
    display:inline-flex!important;
  }





  /* v408: keep Rated and Reviewed badges independent. Clearing ratings removes only Rated. */
  #accountMustDoListV393 .account-card-badge-rated-v405,
  #accountFavoritesListV393 .account-card-badge-rated-v405,
  #accountMustDoListV393 .account-card-badge-reviewed-v405,
  #accountFavoritesListV393 .account-card-badge-reviewed-v405{display:inline-flex!important}





  /* v409: make Rated and Reviewed badges render from saved data after every Must-Do/Favorites repaint. */
  #accountMustDoListV393 .account-card-badge-rated-v409,
  #accountFavoritesListV393 .account-card-badge-rated-v409,
  #accountMustDoListV393 .account-card-badge-reviewed-v409,
  #accountFavoritesListV393 .account-card-badge-reviewed-v409{
    display:inline-flex!important;
    align-items:center;
    gap:5px;
    border:1px solid rgba(244,184,37,.42)!important;
    background:#fff8e6!important;
    color:#8a6412!important;
    border-radius:999px;
    padding:5px 8px;
    font-size:12px;
    font-weight:1000;
    line-height:1.1;
  }





  /* v410: clean rebuild of Must-Do/Favorites item cards. Badges render from saved state inside the card template. */
  #accountMustDoListV393 .account-card-badge-rated-v405,
  #accountFavoritesListV393 .account-card-badge-rated-v405,
  #accountMustDoListV393 .account-card-badge-reviewed-v405,
  #accountFavoritesListV393 .account-card-badge-reviewed-v405,
  #accountMustDoListV393 .account-card-badge-rated-v409,
  #accountFavoritesListV393 .account-card-badge-rated-v409,
  #accountMustDoListV393 .account-card-badge-reviewed-v409,
  #accountFavoritesListV393 .account-card-badge-reviewed-v409{display:none!important}



  #accountMustDoListV393 .account-card-v410,
  #accountFavoritesListV393 .account-card-v410{
    border:1px solid var(--line);
    background:#fff;
    border-radius:20px;
    padding:14px;
    box-shadow:0 10px 24px rgba(7,31,65,.05);
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 36px;
    gap:12px;
    align-items:start;
    margin-bottom:10px;
  }


  .account-card-icon-v410{
    width:38px;height:38px;border-radius:999px;
    background:#f7fbff;border:1px solid var(--line);
    display:grid;place-items:center;font-weight:1000;color:var(--navy);
  }


  .account-card-main-v410{min-width:0}


  .account-card-main-v410 b{display:block;color:var(--navy);line-height:1.15;overflow-wrap:anywhere}


  .account-card-main-v410 small{display:block;color:var(--muted);font-weight:850;line-height:1.35;margin-top:4px;overflow-wrap:anywhere}


  .account-card-badges-v410{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}


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


  .account-card-badge-v410.blue{background:#eff6ff;color:#275190;border-color:#dbeaff}


  .account-card-remove-v410{
    border:0;background:var(--soft);color:var(--muted);
    width:36px;height:36px;border-radius:999px;font-weight:1000;cursor:pointer;
    display:grid;place-items:center;font-size:18px;line-height:1;
    -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  }


  .account-card-actions-v410{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}


  .account-card-actions-v410 .btn{min-height:42px;justify-content:center;border-radius:14px}

@media(max-width:760px){

    #accountMustDoListV393 .account-card-v410,
    #accountFavoritesListV393 .account-card-v410{border-radius:18px;padding:12px;grid-template-columns:34px minmax(0,1fr) 36px;gap:10px}

    .account-card-icon-v410{width:34px;height:34px}
}





  /* v411: Review-only saves now refresh Must-Do/Favorites cards immediately, independent of rating saves. */
  #accountMustDoListV393 .account-card-v410 .account-card-badges-v410,
  #accountFavoritesListV393 .account-card-v410 .account-card-badges-v410{display:flex!important}





  /* v413: persistent badge refresh when visiting Must-Do / Favorites. */
  #accountMustDoListV393 .account-card-v410 .account-card-badges-v410,
  #accountFavoritesListV393 .account-card-v410 .account-card-badges-v410{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-top:8px!important;
  }


  #accountMustDoListV393 .account-card-v410 .account-card-badge-v410,
  #accountFavoritesListV393 .account-card-v410 .account-card-badge-v410{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    border:1px solid rgba(244,184,37,.42)!important;
    background:#fff8e6!important;
    color:#8a6412!important;
    border-radius:999px!important;
    padding:5px 8px!important;
    font-size:12px!important;
    font-weight:1000!important;
    line-height:1.1!important;
  }





  /* v414: Must-Do cards get a persistent completion checkbox. No strike-through or dimming. */
  #accountMustDoListV393 .account-card-v410{
    grid-template-columns:34px 38px minmax(0,1fr) 36px!important;
  }


  #accountMustDoListV393 .account-card-complete-v414{
    width:34px;
    height:34px;
    border-radius:10px;
    border:2px solid #a2a9b8;
    background:#fff;
    color:transparent;
    display:grid;
    place-items:center;
    font-size:20px;
    line-height:1;
    font-weight:1000;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:transform .14s ease, background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
  }


  #accountMustDoListV393 .account-card-complete-v414::before{content:"✓";}


  #accountMustDoListV393 .account-card-complete-v414:hover{
    transform:translateY(-1px);
    border-color:rgba(29,95,205,.45);
    box-shadow:0 8px 18px rgba(7,31,65,.08);
  }


  #accountMustDoListV393 .account-card-complete-v414:active{transform:scale(.96);}


  #accountMustDoListV393 .account-card-complete-v414.is-complete{
    background:#eff6ff;
    border-color:var(--blue);
    color:var(--blue);
  }


  #accountMustDoListV393 .account-card-complete-v414:focus-visible{
    outline:3px solid rgba(29,95,205,.22);
    outline-offset:3px;
  }

@media(max-width:760px){

    #accountMustDoListV393 .account-card-v410{
      grid-template-columns:34px 34px minmax(0,1fr) 36px!important;
    }

    #accountMustDoListV393 .account-card-complete-v414{
      width:34px;
      height:34px;
      border-radius:9px;
    }
}
/* =============================================================
   PHASE 5 ACCOUNT PAGE — Clean standalone styles
   All selectors scoped to .acc-* to avoid conflicts
============================================================= */

/* Hub layout */
#page-account { display: flex; flex-direction: column; gap: 24px; padding-bottom: 120px; }

#page-account .book-trip-promo { width: 100%; max-width: none; align-self: stretch; }

/* User card */
.acc-user-card { display: flex; align-items: center; gap: 14px; background: linear-gradient(135deg, #071f41 0%, #0d3270 100%); border-radius: 24px; padding: 20px; margin-bottom: 24px; }
.acc-user-avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--gold); color: #071f41; display: grid; place-items: center; font-size: 22px; font-weight: 1000; flex-shrink: 0; }
.acc-user-info { flex: 1; min-width: 0; }
.acc-user-info b { display: block; color: #fff; font-size: 16px; }
.acc-user-info small { display: block; color: rgba(255,255,255,.55); font-size: 12px; margin-top: 2px; }
.acc-user-card .btn { flex-shrink: 0; background: var(--gold); color: #071f41; border-radius: 999px; font-size: 13px; }

/* Hub grid */
.acc-hub-grid, .acc-content-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.acc-hub-card { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 18px; text-decoration: none; color: var(--navy); cursor: pointer; box-shadow: 0 4px 16px rgba(7,31,65,.06); transition: transform .15s, box-shadow .15s; text-align: left; }
.acc-hub-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(7,31,65,.1); }
.acc-hub-icon { font-size: 28px; }
.acc-hub-card b { font-size: 15px; color: var(--navy); }
.acc-hub-card small { font-size: 12px; color: var(--muted); }

/* Section head */
.acc-section-head { display: flex; flex-direction: column; gap: 8px; }
.acc-back-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: var(--navy); font-size: 14px; font-weight: 900; cursor: pointer; padding: 0; opacity: .7; }
.acc-back-btn:hover { opacity: 1; }

/* Panel */
.acc-panel { padding: 0; }

/* List containers */
.acc-list { display: grid; gap: 10px; }
.acc-toolbar { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.acc-clear-btn { background: none; border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 900; color: var(--muted); cursor: pointer; }
.acc-clear-btn:hover { border-color: #c0392b; color: #c0392b; }

/* Collection cards */
.acc-card { display: grid; grid-template-columns: 38px 1fr auto; gap: 12px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 14px; box-shadow: 0 4px 16px rgba(7,31,65,.05); }
.acc-card-icon { width: 38px; height: 38px; border-radius: 50%; background: #f7fbff; border: 1px solid var(--line); display: grid; place-items: center; font-weight: 1000; color: var(--navy); flex-shrink: 0; }
.acc-card-info { min-width: 0; grid-column: 2; }
.acc-card-info b { display: block; color: var(--navy); line-height: 1.2; }
.acc-card-info small { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; line-height: 1.3; }
.acc-card-remove { width: 32px; height: 32px; border-radius: 50%; background: var(--soft); border: 0; color: var(--muted); font-size: 18px; font-weight: 1000; cursor: pointer; display: grid; place-items: center; grid-column: 3; flex-shrink: 0; }
.acc-card-actions { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.acc-card-actions .btn { font-size: 12px; padding: 7px 12px; border-radius: 12px; min-height: 0; }

/* Badges */
.acc-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.acc-badge { display: inline-flex; align-items: center; border: 1px solid rgba(244,184,37,.4); background: #fff8e6; color: #8a6412; border-radius: 999px; padding: 4px 9px; font-size: 11px; font-weight: 1000; }
.acc-badge.gold { border-color: rgba(244,184,37,.4); background: #fff8e6; color: #8a6412; }
.acc-badge.green { border-color: rgba(39,174,96,.3); background: #edfaf3; color: #1a7a45; }

/* Complete row */
.acc-complete-row { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--muted); margin-top: 7px; cursor: pointer; }
.acc-complete-check { width: 16px; height: 16px; cursor: pointer; }

/* JR cards */
.acc-jr-card { grid-template-columns: 38px 1fr auto; }
.acc-review-body { font-size: 13px; color: var(--muted); font-style: italic; margin-top: 6px; line-height: 1.4; border-left: 3px solid var(--line); padding-left: 10px; }

/* Stories */
.acc-stories-card { margin-bottom: 16px; }
.acc-stories-card h3 { margin: 0 0 4px; }
.acc-stories-card p { margin: 0 0 14px; color: var(--muted); }
.acc-story-create { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.acc-story-create input { flex: 1; min-width: 180px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 14px; font: inherit; color: var(--navy); background: #fff; }
.acc-story-list { display: grid; gap: 10px; }
.acc-trip-card { display: flex; align-items: center; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 14px; box-shadow: 0 4px 12px rgba(7,31,65,.05); }
.acc-trip-info { flex: 1; min-width: 0; }
.acc-trip-info b { display: block; color: var(--navy); }
.acc-trip-info small { color: var(--muted); font-size: 12px; }
.acc-trip-actions { display: flex; gap: 8px; flex-shrink: 0; }
.acc-trip-actions .btn { font-size: 12px; padding: 8px 12px; border-radius: 12px; min-height: 0; }

/* Routes */
.acc-route-card { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 14px; }

/* Empty */
.acc-empty { color: var(--muted); font-size: 14px; padding: 18px 0; text-align: center; }

/* Settings */
.acc-settings-list { display: grid; gap: 16px; }
.acc-settings-item { display: grid; gap: 6px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.acc-settings-item b { color: var(--navy); }
.acc-settings-item small { color: var(--muted); font-size: 13px; }

/* Rating modal */
.acc-rating-modal { position: fixed; inset: 0; z-index: 500; display: none; align-items: center; justify-content: center; padding: 22px; background: rgba(7,31,65,.5); backdrop-filter: blur(4px); }
.acc-rating-modal.open { display: flex; }
.acc-rating-dialog { width: min(520px, 100%); max-height: 86vh; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 24px; box-shadow: 0 24px 70px rgba(7,31,65,.28); }
.acc-rating-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.acc-rating-head h3 { margin: 0; font-family: Georgia, serif; color: var(--navy); font-size: 28px; }
.acc-rating-question { border: 1px solid var(--line); border-radius: 18px; padding: 14px; margin: 10px 0; }
.acc-rating-question b { display: block; color: var(--navy); margin-bottom: 10px; font-size: 15px; }
.acc-rating-stars { display: flex; gap: 8px; }
.acc-rating-star { font-size: 32px; background: none; border: 0; cursor: pointer; color: var(--line); transition: color .1s; }
.acc-rating-star.active { color: var(--gold); }
.acc-rating-actions { display: grid; gap: 8px; margin-top: 16px; }
.acc-rating-actions .btn { min-height: 48px; justify-content: center; border-radius: 16px; }

/* Story select modal */
.story-select-v430 { position: fixed; inset: 0; z-index: 500; display: none; align-items: center; justify-content: center; padding: 22px; background: rgba(7,31,65,.5); backdrop-filter: blur(4px); }
.story-select-v430.open { display: flex; }
.story-select-dialog-v430 { width: min(480px, 100%); background: #fff; border-radius: 28px; padding: 24px; box-shadow: 0 24px 70px rgba(7,31,65,.28); }
.story-select-dialog-v430 h3 { margin: 0 0 6px; color: var(--navy); font-family: Georgia, serif; }
.story-select-list-v430 { display: grid; gap: 8px; margin: 14px 0; }
.story-select-option-v430 { display: flex; flex-direction: column; align-items: flex-start; background: #f7fbff; border: 1px solid var(--line); border-radius: 16px; padding: 13px 16px; cursor: pointer; text-align: left; transition: background .12s; }
.story-select-option-v430:hover { background: #eef6ff; }
.story-select-option-v430 span { font-weight: 1000; color: var(--navy); }
.story-select-option-v430 small { color: var(--muted); font-size: 12px; }
.story-select-actions-v430 { display: flex; justify-content: flex-end; }

/* Mobile */
@media(max-width:620px) {
  .acc-hub-grid, .acc-content-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .acc-hub-card { padding: 14px; }
  .acc-card-actions { gap: 6px; }
  .acc-card-actions .btn { font-size: 11px; padding: 6px 10px; }
  .acc-trip-actions { flex-direction: column; }
}

/* =============================================================
   v531 — ACCOUNT DASHBOARD REDESIGN
   Scoped entirely under .account-dashboard-page so it cannot
   leak onto other pages or the legacy .acc-hub-card system.
   Legacy classes above are left untouched for the subpages
   (accStories/accContent/etc.) that still use them.
============================================================= */

.account-dashboard-page { --jiminy-navy: var(--navy, #06264f); --jiminy-navy-dark: var(--navy2, #041a39); --jiminy-gold: var(--gold, #d9a638); --jiminy-cream: #f7f1e6; --jiminy-paper: #fffaf2; --jiminy-text: #10274a; --jiminy-muted: var(--muted, #68758a); }

/* ---- Page intro ---- */
.account-dashboard-page .account-page-intro { margin-bottom: 22px; }
.account-dashboard-page .account-page-intro h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 34px; color: var(--jiminy-navy); margin: 0 0 10px; }
.account-page-intro__greeting { font-weight: 1000; color: var(--jiminy-navy); font-size: 17px; margin: 0 0 4px; }
.account-page-intro__desc { color: var(--jiminy-muted); font-size: 14px; margin: 0; }

/* ---- Dashboard grid ---- */
.account-dashboard { display: flex; flex-direction: column; gap: 20px; padding-bottom: calc(72px + env(safe-area-inset-bottom)); }

/* ---- Section card shell ---- */
.account-section-card { background: var(--jiminy-paper); border: 1px solid rgba(6,38,79,.12); border-radius: 26px; overflow: hidden; box-shadow: 0 10px 30px rgba(7,31,65,.08); }

.account-section-card__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(135deg, var(--jiminy-navy) 0%, var(--jiminy-navy-dark) 100%); padding: 18px 20px; }
.account-section-card__identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.account-section-card__icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); display: grid; place-items: center; color: var(--jiminy-gold); }
.account-section-card__icon svg { width: 22px; height: 22px; }
.account-section-card__identity h2 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 19px; color: #fff; }
.account-section-card__identity p { margin: 2px 0 0; font-size: 12.5px; color: rgba(255,255,255,.78); }
.account-section-card__action { flex-shrink: 0; display: inline-flex; align-items: center; gap: 4px; color: var(--jiminy-gold); border: 1px solid rgba(217,166,56,.55); border-radius: 999px; padding: 8px 14px; font-size: 12px; font-weight: 1000; letter-spacing: .03em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: background .15s; }
.account-section-card__action:hover { background: rgba(217,166,56,.12); }
/* Icon-only chevron variant (My Content / My Passport / My Settings headers) */
.account-content-card .account-section-card__action,
.account-passport-card .account-section-card__action,
.account-settings-card .account-section-card__action { border: none; padding: 4px; font-size: 22px; }

.account-section-card__body { padding: 20px; }

/* ---- My Stories ---- */
.account-stories-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 190px); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
.account-stories-track::-webkit-scrollbar { height: 6px; }
.account-stories-track::-webkit-scrollbar-thumb { background: rgba(6,38,79,.18); border-radius: 999px; }

.account-story-tile { scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(6,38,79,.12); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--jiminy-text); box-shadow: 0 4px 14px rgba(7,31,65,.06); transition: transform .15s, box-shadow .15s; min-height: 44px; }
.account-story-tile:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7,31,65,.12); }
.account-story-tile__art { position: relative; width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, var(--jiminy-cream) 0%, #fff 100%); overflow: hidden; }
.account-story-tile__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.account-story-tile__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 14px; min-height: 44px; }
.account-story-tile__name { font-weight: 1000; font-size: 13.5px; color: var(--jiminy-navy); line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.account-story-tile__chevron { flex-shrink: 0; color: var(--jiminy-gold); font-size: 18px; font-weight: 1000; }

.account-story-tile--add { align-items: center; justify-content: center; border: 2px dashed rgba(217,166,56,.55); background: rgba(217,166,56,.06); box-shadow: none; min-height: 100%; padding: 20px 14px; text-align: center; gap: 8px; }
.account-story-tile--add:hover { background: rgba(217,166,56,.12); }
.account-story-tile--add .account-story-tile__plus { font-size: 30px; line-height: 1; color: var(--jiminy-gold); font-weight: 1000; }
.account-story-tile--add .account-story-tile__name { font-size: 13px; color: var(--jiminy-navy); -webkit-line-clamp: 2; }

.account-stories-empty { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 6px 2px 14px; color: var(--jiminy-muted); font-size: 13.5px; }
.account-stories-empty b { color: var(--jiminy-navy); font-size: 14.5px; }

/* ---- My Content ---- */
.account-content-row { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.account-content-link { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 64px; text-decoration: none; color: var(--jiminy-text); text-align: center; min-height: 44px; justify-content: center; }
.account-content-link__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--jiminy-cream); border: 1px solid rgba(217,166,56,.4); display: grid; place-items: center; color: var(--jiminy-gold); }
.account-content-link__icon svg { width: 19px; height: 19px; }
.account-content-link span:last-child { font-size: 12px; font-weight: 800; color: var(--jiminy-navy); line-height: 1.2; }
.account-content-link__count { font-size: 10.5px; color: var(--jiminy-muted); font-weight: 700; }

/* ---- My Passport ---- */
.account-passport-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.account-passport-button { flex: 1 1 200px; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 999px; font-weight: 1000; font-size: 13.5px; text-decoration: none; padding: 12px 18px; text-transform: uppercase; letter-spacing: .02em; }
.account-passport-button svg { width: 17px; height: 17px; flex-shrink: 0; }
.account-passport-button--view { background: #fff; color: var(--jiminy-navy); border: 1.5px solid var(--jiminy-navy); }
.account-passport-button--view:hover { background: var(--jiminy-cream); }
.account-passport-button--edit { background: #fff; color: var(--jiminy-gold); border: 1.5px solid var(--jiminy-gold); }
.account-passport-button--edit:hover { background: rgba(217,166,56,.08); }

/* ---- My Settings ---- */
.account-settings-row { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.account-settings-link { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 64px; text-decoration: none; color: var(--jiminy-text); text-align: center; min-height: 44px; justify-content: center; }
.account-settings-link__icon { width: 40px; height: 40px; border-radius: 50%; background: var(--jiminy-cream); border: 1px solid rgba(6,38,79,.12); display: grid; place-items: center; color: var(--jiminy-navy); }
.account-settings-link__icon svg { width: 19px; height: 19px; }
.account-settings-link__text { font-size: 12px; font-weight: 800; color: var(--jiminy-navy); line-height: 1.2; }
.account-settings-link--upgrade .account-settings-link__icon { background: var(--jiminy-gold); border-color: var(--jiminy-gold); color: #fff; }
.account-settings-link--upgrade .account-settings-link__text strong { display: block; color: var(--jiminy-gold); font-size: 12px; }
.account-settings-link--upgrade .account-settings-link__text small { display: block; font-size: 10px; font-weight: 700; color: var(--jiminy-muted); white-space: normal; max-width: 90px; }

/* ---- Upgrade modal ---- */
.account-upgrade-modal { position: fixed; inset: 0; z-index: 520; display: none; align-items: center; justify-content: center; padding: 22px; background: rgba(7,31,65,.5); backdrop-filter: blur(4px); }
.account-upgrade-modal.open { display: flex; }
.account-upgrade-dialog { width: min(520px, 100%); background: #fff; border-radius: 28px; padding: 26px; box-shadow: 0 24px 70px rgba(7,31,65,.28); max-height: 88vh; overflow-y: auto; }
.account-upgrade-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
.account-upgrade-head h3 { margin: 0; color: var(--jiminy-navy); font-family: Georgia, serif; font-size: 21px; }
.account-upgrade-current { color: var(--jiminy-muted); font-size: 13.5px; margin: 4px 0 16px; }
.account-upgrade-current strong { color: var(--jiminy-navy); }
.account-upgrade-tiers { display: grid; gap: 12px; margin-bottom: 18px; }
.account-upgrade-tier { border: 1px solid rgba(6,38,79,.14); border-radius: 18px; padding: 14px 16px; background: var(--jiminy-cream); }
.account-upgrade-tier b { display: block; color: var(--jiminy-navy); font-size: 14.5px; margin-bottom: 4px; }
.account-upgrade-tier small { color: var(--jiminy-muted); font-size: 12.5px; line-height: 1.4; }
.account-upgrade-tier--featured { border: 1.5px solid var(--jiminy-gold); background: #fffaf0; }
.account-upgrade-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.account-upgrade-actions .btn { flex: 1 1 140px; }

@media (prefers-reduced-motion: reduce) {
  .account-section-card, .account-story-tile, .account-content-link, .account-settings-link { transition: none; scroll-behavior: auto; }
  .account-stories-track { scroll-behavior: auto; }
}

/* ---- Responsive ---- */
@media (min-width: 720px) {
  .account-content-row, .account-settings-row { gap: 14px 30px; }
}
@media (max-width: 480px) {
  .account-section-card__header { padding: 15px 16px; }
  .account-section-card__body { padding: 16px; }
  .account-page-intro h2 { font-size: 28px; }
  .account-passport-button { flex: 1 1 100%; }
}

/* =============================================================
   v533 — MY PINS: JIMINY PIN DIGITIZER + PINS GRID
   Scoped under .pin-digitizer-page / .pin-* so it cannot leak
   onto other Account subpages or other pages.
============================================================= */

.pin-digitizer-page { --pin-navy: #0B2343; --pin-gold: #D4AF37; display: flex; flex-direction: column; gap: 24px; }

/* ---- Digitizer card ---- */
.pin-digitizer-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0; background: rgba(255,255,255,.7); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(11,35,67,.12); border-radius: 24px; overflow: hidden; box-shadow: 0 18px 46px rgba(11,35,67,.14); }

.pin-digitizer-left { background: linear-gradient(160deg, var(--pin-navy) 0%, #071730 100%); color: #fff; padding: 28px 26px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pin-digitizer-hopper { width: 84px; height: 84px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(212,175,55,.5); display: grid; place-items: center; overflow: hidden; margin-bottom: 4px; }
.pin-digitizer-hopper img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pin-digitizer-hopper-fallback { font-size: 32px; align-items: center; justify-content: center; width: 100%; height: 100%; }
.pin-digitizer-left h3 { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 22px; color: #fff; }
.pin-digitizer-left p { margin: 0; font-size: 13.5px; color: rgba(255,255,255,.82); line-height: 1.5; }
.pin-digitizer-upload-btn { margin-top: 8px; background: var(--pin-gold); color: var(--pin-navy); border: none; border-radius: 999px; padding: 14px 22px; font-weight: 1000; font-size: 14px; text-transform: uppercase; letter-spacing: .02em; box-shadow: 0 10px 26px rgba(212,175,55,.35); min-height: 46px; }
.pin-digitizer-upload-btn:hover { filter: brightness(1.05); }
.pin-digitizer-support-note { color: rgba(255,255,255,.6); font-size: 11.5px; }

.pin-digitizer-right { padding: 26px; background: rgba(247,241,230,.6); }
.pin-digitizer-right h4 { margin: 0 0 14px; font-family: Georgia, serif; color: var(--pin-navy); font-size: 16px; }
.pin-digitizer-steps { display: flex; flex-direction: column; gap: 14px; }
.pin-digitizer-step { display: flex; gap: 12px; }
.pin-digitizer-step-icon { flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: #fff; border: 1px solid rgba(212,175,55,.4); display: grid; place-items: center; font-size: 15px; }
.pin-digitizer-step b { display: block; color: var(--pin-navy); font-size: 13.5px; margin-bottom: 2px; }
.pin-digitizer-step p { margin: 0; color: var(--muted); font-size: 12.5px; }
.pin-digitizer-step ul { margin: 4px 0 0; padding-left: 16px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.pin-digitizer-note { margin: 16px 0 0; padding-top: 12px; border-top: 1px solid rgba(11,35,67,.1); font-size: 11px; color: var(--muted); line-height: 1.5; }

/* ---- Pins grid ---- */
.pin-collection-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.pin-collection-head h3 { margin: 0; font-family: Georgia, serif; color: var(--pin-navy); font-size: 20px; }

.pin-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }

.pin-card { background: rgba(255,255,255,.75); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(11,35,67,.1); border-radius: 20px; padding: 12px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 8px 22px rgba(11,35,67,.08); transition: transform .15s, box-shadow .15s; }
.pin-card:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(11,35,67,.14); }
.pin-card-art { position: relative; width: 100%; aspect-ratio: 1/1; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #f7f1e6 100%); }
.pin-card-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.pin-card-badge { align-self: flex-start; font-size: 9.5px; font-weight: 1000; text-transform: uppercase; letter-spacing: .03em; padding: 3px 9px; border-radius: 999px; background: rgba(212,175,55,.16); color: #8a6d1c; border: 1px solid rgba(212,175,55,.4); }
.pin-card-name { font-weight: 1000; font-size: 13px; color: var(--pin-navy); line-height: 1.25; }
.pin-card-collection { font-size: 11px; color: var(--muted); }
.pin-card-actions { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.pin-card-action-btn { background: none; border: none; cursor: pointer; color: var(--pin-navy); opacity: .65; padding: 6px; border-radius: 8px; min-width: 32px; min-height: 32px; display: grid; place-items: center; font-size: 15px; }
.pin-card-action-btn:hover { opacity: 1; background: rgba(11,35,67,.06); }
.pin-card-action-btn.is-active { opacity: 1; color: var(--pin-gold); }

/* ---- Empty state ---- */
.pin-collection-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 40px 20px; grid-column: 1 / -1; }
.pin-collection-empty-hopper { width: 88px; height: 88px; border-radius: 50%; background: rgba(212,175,55,.1); border: 1px solid rgba(212,175,55,.35); display: grid; place-items: center; overflow: hidden; margin-bottom: 6px; }
.pin-collection-empty-hopper img { width: 100%; height: 100%; object-fit: cover; }
.pin-collection-empty h4 { margin: 0; font-family: Georgia, serif; color: var(--pin-navy); font-size: 18px; }
.pin-collection-empty p { margin: 0; color: var(--muted); font-size: 13px; max-width: 340px; }
.pin-collection-empty .btn { margin-top: 6px; }

/* ---- Upload modal ---- */
.pin-upload-modal, .pin-action-sheet, .pin-view-modal { position: fixed; inset: 0; z-index: 540; display: none; align-items: center; justify-content: center; padding: 18px; background: rgba(7,31,65,.55); backdrop-filter: blur(4px); }
.pin-upload-modal.open, .pin-action-sheet.open, .pin-view-modal.open { display: flex; }

.pin-upload-dialog { width: min(520px, 100%); max-height: 88vh; overflow-y: auto; background: #fff; border-radius: 26px; padding: 24px; box-shadow: 0 24px 70px rgba(7,31,65,.3); }
.pin-upload-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.pin-upload-head h3 { margin: 0; color: var(--pin-navy); font-family: Georgia, serif; font-size: 19px; }

.pin-upload-dropzone { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 44px 20px; border: 2px dashed rgba(212,175,55,.5); border-radius: 20px; background: rgba(212,175,55,.06); cursor: pointer; text-align: center; }
.pin-upload-dropzone:hover { background: rgba(212,175,55,.12); }
.pin-upload-dropzone-icon { font-size: 30px; }
.pin-upload-dropzone b { color: var(--pin-navy); font-size: 14.5px; }
.pin-upload-dropzone small { color: var(--muted); font-size: 11.5px; }

.pin-upload-preview-wrap { width: 100%; aspect-ratio: 1/1; border-radius: 18px; overflow: hidden; background: var(--soft); display: grid; place-items: center; }
.pin-upload-preview-wrap img { width: 100%; height: 100%; object-fit: contain; }
.pin-upload-hint { color: var(--muted); font-size: 12px; margin: 10px 0 14px; }
.pin-upload-preview-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.pin-upload-preview-actions .btn { flex: 1 1 160px; }

.pin-processing-hopper { width: 90px; height: 90px; margin: 0 auto 14px; border-radius: 50%; background: rgba(212,175,55,.12); border: 1px solid rgba(212,175,55,.4); display: grid; place-items: center; overflow: hidden; animation: pinPulse 1.6s ease-in-out infinite; }
.pin-processing-hopper img { width: 100%; height: 100%; object-fit: cover; }
@keyframes pinPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.pin-upload-step h4 { text-align: center; color: var(--pin-navy); font-family: Georgia, serif; margin: 0 0 16px; }
.pin-processing-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pin-processing-list li { position: relative; padding-left: 28px; color: var(--muted); font-size: 13.5px; }
.pin-processing-list li::before { content: ''; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(11,35,67,.2); }
.pin-processing-list li.is-done { color: var(--pin-navy); font-weight: 700; }
.pin-processing-list li.is-done::before { content: '✓'; background: var(--pin-gold); border-color: var(--pin-gold); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 11px; }
.pin-processing-done { text-align: center; color: var(--pin-navy); font-weight: 1000; margin-top: 16px; }

.pin-review-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.pin-review-compare div { display: flex; flex-direction: column; gap: 6px; }
.pin-review-compare small { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.pin-review-compare img { width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: 14px; background: var(--soft); }
.pin-review-fields { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.pin-review-fields label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 700; color: var(--pin-navy); }
.pin-review-fields input[type="text"], .pin-review-fields textarea { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; font-size: 13.5px; font-family: inherit; color: var(--ink); }
.pin-review-visibility { border: 1px solid var(--line); border-radius: 14px; padding: 10px 12px; display: flex; flex-direction: column; gap: 6px; }
.pin-review-visibility legend { font-size: 11px; font-weight: 1000; color: var(--pin-navy); text-transform: uppercase; padding: 0 4px; }
.pin-review-visibility label { flex-direction: row; align-items: center; gap: 8px; font-weight: 600; }
.pin-review-save-btn { width: 100%; min-height: 46px; }

/* ---- Action sheet ---- */
.pin-action-sheet-dialog { width: min(360px, 100%); background: #fff; border-radius: 22px; padding: 10px; box-shadow: 0 24px 60px rgba(7,31,65,.3); display: flex; flex-direction: column; }
.pin-action-item { text-align: left; background: none; border: none; padding: 13px 14px; font-size: 14px; color: var(--pin-navy); border-radius: 12px; cursor: pointer; min-height: 44px; }
.pin-action-item:hover { background: rgba(11,35,67,.06); }
.pin-action-item--danger { color: #b3261e; }
.pin-action-item--cancel { margin-top: 6px; border-top: 1px solid var(--line); border-radius: 0 0 12px 12px; color: var(--muted); font-weight: 700; }

/* ---- View modal ---- */
.pin-view-dialog { position: relative; width: min(420px, 100%); background: #fff; border-radius: 24px; padding: 24px; box-shadow: 0 24px 70px rgba(7,31,65,.3); text-align: center; }
.pin-view-dialog img { width: 100%; aspect-ratio: 1/1; object-fit: contain; border-radius: 16px; background: var(--soft); margin-bottom: 14px; }
.pin-view-dialog h3 { margin: 0 0 4px; color: var(--pin-navy); font-family: Georgia, serif; }
.pin-view-collection { color: var(--muted); font-size: 12.5px; margin: 0 0 8px; }
.pin-view-notes { color: var(--ink); font-size: 13px; margin-top: 10px; text-align: left; }

/* ---- Responsive ---- */
@media (max-width: 1080px) {
  .pin-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 760px) {
  .pin-digitizer-card { grid-template-columns: 1fr; }
  .pin-digitizer-left, .pin-digitizer-right { padding: 22px 18px; }
  .pin-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (max-width: 480px) {
  .pin-grid { grid-template-columns: repeat(2, 1fr); }
  .pin-review-compare { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .pin-card, .pin-processing-hopper { transition: none; animation: none; }
}

/* =============================================================
   v540 — MERCH (Jiminy Store) — Account dashboard container
   Read-only for the user (no edit/delete affordances); intended
   to be backed by a Shopify product-feed API in the future.
   Card layout mirrors .account-stories-track for visual
   consistency with My Stories.
============================================================= */

.account-merch-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 190px); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
.account-merch-track::-webkit-scrollbar { height: 6px; }
.account-merch-track::-webkit-scrollbar-thumb { background: rgba(6,38,79,.18); border-radius: 999px; }

.account-merch-tile { scroll-snap-align: start; display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(6,38,79,.12); border-radius: 18px; overflow: hidden; text-decoration: none; color: var(--jiminy-text, #10274a); box-shadow: 0 4px 14px rgba(7,31,65,.06); transition: transform .15s, box-shadow .15s; }
.account-merch-tile:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(7,31,65,.12); }
.account-merch-tile__art { position: relative; width: 100%; aspect-ratio: 1/1; background: linear-gradient(135deg, var(--jiminy-cream, #f7f1e6) 0%, #fff 100%); overflow: hidden; }
.account-merch-tile__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.account-merch-tile__badge { position: absolute; top: 8px; left: 8px; background: rgba(217,166,56,.92); color: #fff; font-size: 9.5px; font-weight: 1000; text-transform: uppercase; letter-spacing: .03em; padding: 3px 8px; border-radius: 999px; }
.account-merch-tile__body { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px 12px; }
.account-merch-tile__name { font-weight: 1000; font-size: 12.5px; color: var(--jiminy-navy, #06264f); line-height: 1.25; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.account-merch-tile__price { font-size: 12.5px; font-weight: 900; color: var(--jiminy-muted, #68758a); }
.account-merch-tile__buy { margin-top: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; background: var(--jiminy-navy, #06264f); color: #fff; font-size: 11.5px; font-weight: 1000; text-transform: uppercase; letter-spacing: .02em; border: none; border-radius: 999px; padding: 8px 10px; min-height: 34px; cursor: pointer; }
.account-merch-tile__buy:hover { filter: brightness(1.15); }

.account-merch-empty { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; padding: 6px 2px 14px; color: var(--jiminy-muted, #68758a); font-size: 13.5px; }
.account-merch-empty b { color: var(--jiminy-navy, #06264f); font-size: 14.5px; }

.account-merch-note { margin: 12px 0 0; font-size: 11px; color: var(--jiminy-muted, #68758a); line-height: 1.5; }

@media (prefers-reduced-motion: reduce) {
  .account-merch-tile { transition: none; }
  .account-merch-track { scroll-behavior: auto; }
}


/* ── ACCOUNT ABOUT / DATA SOURCES (v640) ─────────────────── */
.account-about-panel { padding: 22px; }
.account-data-sources { display: grid; gap: 18px; }
.account-data-sources__heading { display: flex; align-items: flex-start; gap: 13px; }
.account-data-sources__heading h3 { margin: 0 0 4px; color: var(--navy); font-size: 20px; }
.account-data-sources__heading p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.account-data-sources__icon { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; background: rgba(244,184,37,.14); color: var(--gold-dark, #b77c00); font-size: 22px; }
.account-data-source-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.account-data-source-row > div { display: grid; gap: 4px; }
.account-data-source-row strong { color: var(--navy); }
.account-data-source-row span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.account-data-source-row a { color: var(--navy); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.account-data-source-row a:hover, .account-data-source-row a:focus-visible { color: var(--gold-dark, #b77c00); text-decoration: underline; }
@media (max-width: 640px) {
  .account-about-panel { padding: 17px; }
  .account-data-source-row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .account-data-source-row a { white-space: normal; }
}
