/* All Aboard — Cruise Planner
   Scoped under .aacp so nothing leaks into the theme. */

/* Variables apply to the app AND the overlays (which mount on document.body, outside .aacp). */
.aacp, .aacp-modal, .aacp-fullmap { --navy:#1B3A5C; --navy-dark:#122840; --navy-light:#2E75B6;
        --accent:#E8833A; --accent-dark:#C75B1E; --gold:#BF9B50;
        --ok:#1E874B; --bad:#B00020;
        --line:#E2E8F0; --bg:#F5F7FA; --ink:#1F2937; --mut:#6B7280; }
.aacp { max-width:960px; margin:0 auto; color:var(--ink);
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; line-height:1.5; }
.aacp *{ box-sizing:border-box; }
.aacp .aacp-boot{ color:var(--mut); padding:40px 0; text-align:center; }

/* ── Top bar ───────────────────────────────────────────── */
.aacp-top{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;
           padding:14px 16px; background:var(--navy); color:#fff; border-radius:14px 14px 0 0; }
.aacp-top .aacp-planname{ font-size:16px; font-weight:700; background:rgba(255,255,255,.12); color:#fff;
           border:1px solid rgba(255,255,255,.25); border-radius:8px; padding:8px 12px; min-width:200px; max-width:360px; }
.aacp-top .aacp-planname::placeholder{ color:rgba(255,255,255,.6); }
.aacp-actions{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.aacp-who{ font-size:12px; color:rgba(255,255,255,.75); margin-right:4px; }
.aacp-who a{ color:#fff; text-decoration:underline; }

/* ── Buttons ───────────────────────────────────────────── */
.aacp-btn{ background:var(--accent); color:#fff; border:none; border-radius:9px; padding:9px 16px;
           font-size:14px; font-weight:700; cursor:pointer; }
.aacp-btn:hover{ background:var(--accent-dark); }
.aacp-btn.ghost{ background:#fff; color:var(--navy); border:1px solid #C7D2DD; }
.aacp-btn.ghost:hover{ border-color:var(--navy-light); }
.aacp-btn.onnavy{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.3); }
.aacp-btn.onnavy:hover{ background:rgba(255,255,255,.24); }
.aacp-btn.sm{ padding:6px 11px; font-size:13px; }
.aacp-btn:disabled{ opacity:.5; cursor:not-allowed; }

/* ── Tab nav ───────────────────────────────────────────── */
.aacp-tabs{ display:flex; flex-wrap:wrap; gap:2px; background:var(--navy-dark); padding:0 8px; }
.aacp-tab{ background:transparent; color:rgba(255,255,255,.7); border:none; border-bottom:3px solid transparent;
           padding:12px 16px; font-size:14px; font-weight:600; cursor:pointer; }
.aacp-tab:hover{ color:#fff; }
.aacp-tab.active{ color:#fff; border-bottom-color:var(--accent); }
.aacp-tab .num{ display:inline-flex; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.18);
           align-items:center; justify-content:center; font-size:11px; margin-right:7px; }
.aacp-tab.active .num{ background:var(--accent); }

/* ── Panel + cards ─────────────────────────────────────── */
.aacp-panel{ background:#fff; border:1px solid var(--line); border-top:none; border-radius:0 0 14px 14px; padding:22px 20px 28px; }
.aacp-h{ font-size:22px; font-weight:800; color:var(--navy); margin:0 0 4px; }
.aacp-sub{ color:var(--mut); font-size:14px; margin:0 0 18px; }
.aacp-card{ background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:16px 16px 6px; margin-bottom:16px; }
.aacp-card-h{ display:flex; align-items:center; justify-content:space-between; margin:-4px 0 12px; }
.aacp-card-h h3{ font-size:16px; font-weight:700; color:var(--navy); margin:0; }

/* ── Fields ────────────────────────────────────────────── */
.aacp-grid{ display:grid; gap:12px 14px; margin-bottom:8px; align-items:end; }
.aacp-g2{ grid-template-columns:1fr 1fr; }
.aacp-g3{ grid-template-columns:1fr 1fr 1fr; }
.aacp-g4{ grid-template-columns:repeat(4,1fr); }

/* Adventures item row: fields + live Total cell + side remove-X, bottom-aligned */
.aacp-row{ display:grid; gap:12px 14px; align-items:end; margin-bottom:14px; }
.aacp-row.pkg{ grid-template-columns:1.5fr .9fr .9fr .7fr .9fr auto; }
.aacp-row.actd{ grid-template-columns:.9fr .9fr .9fr .9fr .6fr .9fr auto; }
.aacp-row.actinc{ grid-template-columns:1fr 1fr .9fr auto; }
.aacp-row.ala{ grid-template-columns:1.7fr 1fr .8fr .9fr auto; }
.aacp-dayport{ display:flex; align-items:end; gap:14px; flex-wrap:wrap; margin:-4px 0 16px; }
.aacp-dayport .aacp-portfld{ flex:1 1 220px; max-width:420px; }
.aacp-dayport .aacp-timefld{ flex:0 0 120px; }
.aacp-dayport .aacp-seachk{ padding-bottom:9px; }
.aacp-dayport input[disabled]{ background:#EEF2F6; color:#9CA3AF; }
.aacp input[data-path$=".port"]{ font-weight:700; }
.aacp-seachk{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#374151; white-space:nowrap; cursor:pointer; }
.aacp-seachk input[type=checkbox]{ width:auto; margin:0; }
.aacp-actitem{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:14px; margin-bottom:10px; }
.aacp-actitem .aacp-row{ margin-bottom:0; }
.aacp-actname{ display:flex; align-items:end; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.aacp-actname > .aacp-f{ flex:1 1 240px; }
.aacp-actname > .aacp-f.aacp-people{ flex:0 0 110px; }
.aacp-actname > .aacp-f.aacp-charge{ flex:0 0 175px; }
.aacp-actname input[data-path$=".name"]{ font-weight:700; }
.aacp-groupchk{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:#374151; white-space:nowrap; padding-bottom:9px; cursor:pointer; }
.aacp-groupchk input[type=checkbox]{ width:auto; margin:0; }
.aacp-grouphint{ font-weight:400; color:#9CA3AF; font-size:11px; }
.aacp-rowtot{ display:flex; flex-direction:column; gap:5px; }
.aacp-rowtot .cap{ font-size:12.5px; font-weight:600; color:#374151; }
.aacp-rowtot strong{ font-size:15px; font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; line-height:38px; text-align:right; }
.aacp-row .aacp-x{ align-self:end; font-size:20px; line-height:38px; padding:0 2px; }
@media (max-width:680px){
  .aacp-row{ grid-template-columns:1fr 1fr; }
  .aacp-rowtot strong{ text-align:left; }
  .aacp-row .aacp-x{ justify-self:end; }
}
.aacp-f{ display:flex; flex-direction:column; gap:5px; font-size:12.5px; font-weight:600; color:#374151; }
.aacp-f .opt{ font-weight:400; color:#9CA3AF; }
.aacp input,.aacp select,.aacp textarea{ border:1px solid #D1D5DB; border-radius:8px; padding:9px 11px;
           font-size:14px; width:100%; background:#fff; font-family:inherit; color:var(--ink); }
.aacp input:focus,.aacp select:focus,.aacp textarea:focus{ outline:none; border-color:var(--navy-light);
           box-shadow:0 0 0 3px rgba(46,117,182,.15); }
.aacp input[readonly]{ background:#EEF2F6; color:var(--mut); }
/* Money inputs — "$" prefix inside the box */
.aacp-money-in{ position:relative; display:block; }
.aacp-money-in .aacp-dollar{ position:absolute; left:11px; top:50%; transform:translateY(-50%); color:#6B7280; font-size:14px; line-height:1; pointer-events:none; }
.aacp-money-in input{ padding-left:22px; }

/* ── Discovery option columns ──────────────────────────── */
.aacp-opts{ overflow-x:auto; }
.aacp-opttable{ border-collapse:collapse; width:100%; min-width:520px; }
.aacp-opttable th,.aacp-opttable td{ border:1px solid var(--line); padding:6px 8px; vertical-align:middle; }
.aacp-opttable th{ background:var(--bg); font-size:12px; color:var(--navy); text-align:left; }
.aacp-opttable td.lbl{ background:#FAFBFC; font-size:12.5px; font-weight:600; color:#374151; white-space:nowrap; }
.aacp-opttable input{ border:1px solid transparent; border-radius:6px; padding:6px 7px; font-size:13px; background:transparent; }
.aacp-opttable input:focus{ border-color:var(--navy-light); background:#fff; }
.aacp-opttable tr.calc td{ background:#F0F6FB; font-weight:700; color:var(--navy); }
.aacp-opttable tr.section td{ background:var(--navy); color:#fff; font-weight:700; font-size:12px; }
.aacp-pick{ display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:var(--navy); }
.aacp-gtot{ background:#F0F6FB; border:1px solid #D5E4F2; border-radius:10px; padding:10px 14px; margin:2px 0 16px; }
.aacp-gtot-r{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.aacp-gtot-r + .aacp-gtot-r{ margin-top:6px; padding-top:6px; border-top:1px dashed #C7D9EA; }
.aacp-gtot .lbl{ font-size:13px; font-weight:700; color:var(--navy); min-width:160px; }
.aacp-gtot .val{ font-size:18px; font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums; }
.aacp-gtot .hint{ font-size:11px; color:var(--mut); }
.aacp-packrow{ display:flex; align-items:center; gap:10px; margin-bottom:7px; }
.aacp-packrow input[type=checkbox]{ width:auto; margin:0; flex:0 0 auto; transform:scale(1.15); }
.aacp-packrow input[type=text]{ flex:1; }
.aacp input.aacp-catname{ font-size:16px; font-weight:700; color:var(--navy); border:1px solid transparent; background:transparent; max-width:300px; width:auto; padding:5px 8px; }
.aacp input.aacp-catname:hover, .aacp input.aacp-catname:focus{ border-color:var(--line); background:#fff; }
.aacp-packcount{ font-size:12px; font-weight:700; color:#1B3A5C; background:#EAF2FA; border:1px solid #D5E4F2; border-radius:999px; padding:3px 11px; white-space:nowrap; }
.aacp-links{ display:flex; flex-wrap:wrap; gap:8px; margin:2px 0 14px; }
.aacp-extlink{ display:inline-block; font-size:12.5px; font-weight:600; color:var(--navy-light); background:#EAF2FA; border:1px solid #D5E4F2; border-radius:999px; padding:5px 12px; text-decoration:none; }
.aacp-extlink:hover{ background:#D5E4F2; }
.aacp-ledgrp{ font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#6B7280; margin:14px 0 5px; }
.aacp-ledgrp:first-child{ margin-top:0; }
.aacp-leditem{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:4px 0; font-size:14px; color:var(--ink); }
.aacp-leditem .aacp-money{ font-weight:600; white-space:nowrap; }
.aacp-leditem-l{ display:flex; align-items:center; gap:10px; min-width:0; }
.aacp-leditem-lbl{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aacp-paidchk{ display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:var(--mut); white-space:nowrap; flex:0 0 auto; cursor:pointer; }
.aacp-paidchk input[type=checkbox]{ width:auto; margin:0; }
.aacp-paidtag{ display:inline-block; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--ok); background:#E1F3E9; border:1px solid #BCE3CC; border-radius:999px; padding:2px 8px; flex:0 0 auto; }
.aacp-ledsub{ display:flex; justify-content:space-between; gap:12px; padding:5px 0 2px; border-top:1px dashed var(--line); margin-top:3px; font-weight:700; color:var(--navy); font-size:13.5px; }

/* ── Itinerary day rows ────────────────────────────────── */
.aacp-day{ display:grid; grid-template-columns:78px 1fr 88px 88px 88px 46px; gap:8px; align-items:center;
           background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:8px 10px; margin-bottom:7px; }
.aacp-day .dlabel{ font-size:13px; font-weight:700; color:var(--navy); }
.aacp-day .dtag{ display:block; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
           color:#0E5C6B; }
.aacp-day input{ padding:7px 9px; font-size:13px; }
.aacp-day input[disabled]{ background:#EEF2F6; color:#9CA3AF; }
.aacp-day.aacp-dayhead{ background:none; border:none; padding:2px 10px; margin:6px 0 1px; }
.aacp-dayhead > div{ font-size:10px; font-weight:700; color:#6B7280; text-transform:uppercase; letter-spacing:.03em; }

/* ── Itinerary read-only roll-up ───────────────────────── */
.aacp-itin-actions{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
/* Cruise route map (Leaflet) */
.aacp-map{ height:340px; border-radius:10px; overflow:hidden; }
.aacp-map-empty{ height:200px; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--mut); font-size:13px; background:var(--bg); border-radius:10px; padding:20px; }
.aacp .aacp-map img{ max-width:none; }   /* don't let app img rules squash map tiles */
.aacp-mappin span{ display:flex; width:24px; height:24px; border-radius:50%; color:#fff; font-weight:800; font-size:12px; align-items:center; justify-content:center; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.4); }
.aacp-mappin span.home{ width:20px; height:20px; }
.aacp-mappin span.home::after{ content:''; width:7px; height:7px; background:#fff; border-radius:50%; }
/* Full-page all-cruises map */
.aacp-fullmap{ position:fixed; inset:0; z-index:100000; background:#fff; display:flex; flex-direction:column;
           font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
.aacp-fullmap-bar{ display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--navy); color:#fff; flex:0 0 auto; }
.aacp-fullmap-title{ flex:1; text-align:center; font-weight:800; font-size:16px; }
.aacp-fullmap-map{ flex:1 1 auto; min-height:0; }
.aacp-fullmap-map img{ max-width:none; }
.aacp-fullmap-map .aacp-map-empty{ height:100%; border-radius:0; }
/* Port popup — list of cruises that visited (clickable to open) */
.aacp-portpop{ min-width:180px; }
.aacp-portpop-h{ font-weight:800; color:var(--navy); font-size:13.5px; margin-bottom:4px; }
.aacp-portpop-n{ font-weight:600; color:var(--mut); font-size:11px; }
.aacp-portpop-cruise{ display:block; width:100%; text-align:left; background:#EAF2FA; border:1px solid #D5E4F2; color:var(--navy); border-radius:8px; padding:7px 10px; margin:5px 0 0; cursor:pointer; font-family:inherit; }
.aacp-portpop-cruise:hover{ background:#dcebf7; border-color:var(--navy-light); }
.aacp-portpop-cruise strong{ display:block; font-size:13px; }
.aacp-portpop-cruise span{ display:block; font-size:11px; color:var(--mut); margin-top:1px; }
.aacp-paxrow{ margin-top:12px; }
.aacp-paxname{ font-size:15px; font-weight:700; color:var(--navy); margin-bottom:5px; }
.aacp-itinhead{ margin:20px 0 8px; }
.aacp-stayrow{ margin-top:10px; }
.aacp-itinday{ padding:14px 16px; }
.aacp-itinday-h{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.aacp-itinday-port{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
.aacp-itinday-name{ font-size:17px; font-weight:800; color:var(--navy); }
.aacp-itinday-when{ font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#0E5C6B; }
.aacp-itinday-times{ display:flex; flex-wrap:wrap; gap:6px; }
.aacp-chip{ font-size:11.5px; font-weight:700; color:var(--navy); background:#EAF2FA; border:1px solid #D5E4F2; border-radius:999px; padding:3px 10px; white-space:nowrap; }
.aacp-itinacts{ list-style:none; margin:12px 0 0; padding:12px 0 0; border-top:1px solid var(--line); }
.aacp-itinacts li{ display:flex; gap:12px; padding:5px 0; font-size:14px; color:#2A3744; }
.aacp-act-time{ flex:0 0 130px; font-size:12.5px; font-weight:700; color:#0E5C6B; font-variant-numeric:tabular-nums; }
.aacp-act-name{ flex:1; font-weight:600; }
.aacp-inc{ font-size:10.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--ok); margin-left:6px; }
.aacp-itin-noacts{ margin:12px 0 0; padding:10px 0 0; border-top:1px solid var(--line); font-size:13px; color:var(--mut); }
@media (max-width:680px){
  .aacp-act-time{ flex-basis:96px; }
}

/* ── Money / totals ────────────────────────────────────── */
.aacp-money{ text-align:right; font-variant-numeric:tabular-nums; }
.aacp-bad{ color:var(--bad); } .aacp-ok{ color:var(--ok); }
.aacp-rowbtns{ display:flex; gap:8px; margin:4px 0 6px; }
.aacp-x{ background:none; border:none; color:#B00020; font-size:18px; cursor:pointer; line-height:1; padding:0 4px; }

/* ── Messages / modal ──────────────────────────────────── */
.aacp-msg{ margin:10px 0 0; font-size:13px; min-height:18px; }
.aacp-msg.ok{ color:var(--ok); } .aacp-msg.err{ color:var(--bad); }
.aacp-modal{ position:fixed; inset:0; background:rgba(18,40,64,.55); display:flex; align-items:center;
           justify-content:center; z-index:99999; padding:16px; }
.aacp-modal .box{ background:#fff; border-radius:16px; padding:24px; max-width:440px; width:100%; text-align:center; max-height:90vh; overflow:auto; }
.aacp-modal h3{ color:var(--navy); margin:0 0 8px; font-size:20px; }
.aacp-modal p{ color:var(--mut); font-size:14px; margin:0 0 18px; }
.aacp-modal .row{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.aacp-qrbox{ display:inline-block; padding:14px; background:#fff; border:1px solid var(--line); border-radius:12px; }
.aacp-qrbox svg,.aacp-qrbox img{ display:block; width:240px; height:auto; }

/* ── My Cruises list ───────────────────────────────────── */
.aacp-list{ list-style:none; margin:0; padding:0; text-align:left; }
.aacp-list li{ display:flex; align-items:center; justify-content:space-between; gap:10px;
           padding:10px 4px; border-bottom:1px solid var(--line); }
.aacp-list .nm{ font-weight:600; color:var(--navy); }
.aacp-list .dt{ font-size:12px; color:var(--mut); }
/* Cruise history */
.aacp-hist-sum{ font-size:13px; color:var(--navy); background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:9px 12px; margin:0 0 10px; text-align:center; }
.aacp-hist-sum strong{ color:var(--navy-light); }
.aacp-hist li{ align-items:flex-start; }
.aacp-hist-info{ line-height:1.5; }
.aacp-hist-line{ font-size:12.5px; font-weight:600; color:#374151; }
.aacp-actions{ display:flex; gap:6px; flex:0 0 auto; }
.aacp-hist-badge{ display:inline-block; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; border-radius:999px; padding:2px 8px; vertical-align:middle; }
.aacp-hist-badge.up{ color:#0E5C6B; background:#EAF7FA; border:1px solid #CDEAEF; }
.aacp-hist-badge.past{ color:#6B7280; background:#F1F3F5; border:1px solid #E2E6EA; }
.aacp-hist-badge.now{ color:#92660A; background:#FDF6E7; border:1px solid #F2E2B8; }

/* ── Compare table (spreadsheet-style) ─────────────────── */
details.aacp-cmp-card{ padding:0; overflow:hidden; }
.aacp-cmp-summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:13px 16px; background:var(--navy); color:#fff; }
.aacp-cmp-summary::-webkit-details-marker{ display:none; }
.aacp-cmp-summary h3{ margin:0; color:#fff; font-size:16px; font-weight:700; flex:1; }
.aacp-cmp-count{ font-size:12px; font-weight:600; color:rgba(255,255,255,.8); }
.aacp-cmp-toggle{ width:20px; height:20px; flex:0 0 auto; border:1.5px solid rgba(255,255,255,.7); border-radius:5px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; line-height:1; }
.aacp-cmp-toggle::before{ content:'+'; }
details.aacp-cmp-card[open] .aacp-cmp-toggle::before{ content:'−'; }
/* Compare checkbox on each option card */
.aacp-comparechk{ margin-left:auto; }
.aacp-comparechk ~ .aacp-pick{ margin-left:16px; }
.aacp-comparechk ~ .aacp-x{ margin-left:10px; }
.aacp-cmp-wrap{ overflow-x:auto; }
.aacp-cmp{ width:100%; border-collapse:collapse; font-size:13px; }
.aacp-cmp th,.aacp-cmp td{ padding:8px 12px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap; }
.aacp-cmp .aacp-cmp-rowlbl{ text-align:left; font-weight:700; color:#374151; background:var(--bg); position:sticky; left:0; }
.aacp-cmp-col{ cursor:pointer; color:var(--navy); font-weight:800; font-size:14px; border-bottom:2px solid var(--line); }
.aacp-cmp-col:hover{ background:#EAF2FA; }
.aacp-cmp-col.chosen,.aacp-cmp-cell.chosen{ background:#EAF2FA; }
.aacp-cmp-cell.chosen{ font-weight:700; }
.aacp-cmp-cell.strong{ font-weight:800; color:var(--navy); }
.aacp-cmp-badge{ display:block; font-size:10px; font-weight:800; letter-spacing:.03em; color:var(--ok); text-transform:uppercase; }
.aacp-cmp-sub{ display:block; font-size:11px; font-weight:600; color:var(--mut); }
.aacp-cmp-diffhead{ font-size:10px; font-weight:700; color:var(--mut); text-transform:uppercase; letter-spacing:.04em; text-align:center; border-bottom:2px solid var(--line); }
.aacp-cmp-diff{ text-align:center; }
.aacp-diff-amt{ font-weight:700; color:var(--navy); }
.aacp-diff-same{ color:#9CA3AF; }
.aacp-diff-yes{ font-size:11px; font-weight:700; color:#B45309; }
.aacp-more{ color:var(--bad); font-size:10px; }
.aacp-less{ color:var(--ok); font-size:10px; }
.aacp-cmp-cell.aacp-diffcell{ background:#FFF7ED; }
.aacp-cmp-cell.chosen{ background:#EAF2FA; }   /* chosen column wins over the "differs" tint */
.aacp-comparechk.disabled{ opacity:.4; cursor:not-allowed; }
.aacp-cmp-date{ font-weight:700; color:var(--mut); font-size:12px; text-align:left; }
.aacp-cmp a{ color:var(--navy-light); font-weight:600; }
.aacp-cmp-sec td{ background:var(--navy); color:#fff; font-weight:700; font-size:11px; letter-spacing:.05em; text-transform:uppercase; text-align:left; }

/* ── Price tracker ─────────────────────────────────────── */
.aacp-pricetrack{ margin:2px 0 10px; border:1px dashed var(--line); border-radius:10px; padding:6px 10px; background:#FAFBFC; }
.aacp-pricesum{ cursor:pointer; font-size:12.5px; font-weight:700; color:var(--navy-light); list-style:revert; }
.aacp-pricerow{ display:flex; align-items:center; gap:8px; margin:8px 0 0; }
.aacp-pricerow input[type=date]{ flex:0 0 auto; max-width:170px; }
.aacp-pricerow .aacp-money-in{ flex:1; max-width:160px; }

/* ── Prepaid checkbox (Adventures) ─────────────────────── */
.aacp-f.aacp-prepaid{ flex-direction:row; align-items:center; gap:6px; font-size:12px; }
.aacp-f.aacp-prepaid input[type=checkbox]{ width:auto; margin:0; transform:scale(1.15); }

@media (max-width:680px){
  .aacp-g2,.aacp-g3,.aacp-g4{ grid-template-columns:1fr; }
  .aacp-day{ grid-template-columns:70px 1fr; }
  .aacp-top .aacp-planname{ min-width:0; width:100%; }
}
