/* =========================================================
   CIAO Travels · "Crea il tuo viaggio" / "Build your trip" (planner.html)
   Every selector is scoped to .p-planner and prefixed .pl-
   ========================================================= */

/* ---------- hero + 01 · builder (black "mission control") ----------
   v2: one Captain (captain-point) on the left, pointing at the H1 (desktop) or the three step chips (phones) */
.p-planner .pl-top{position:relative;overflow:hidden;padding:calc(var(--hdr) + clamp(24px,4vw,56px)) 0 clamp(72px,8vw,120px);isolation:isolate}
.p-planner .pl-radar{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(46% 46% at 20% 30%,rgba(253,182,28,.16),transparent 70%),
    repeating-radial-gradient(circle at 20% 30%,rgba(253,182,28,.09) 0 1px,transparent 1.5px 86px),
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px) 0 0/72px 72px,
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px) 0 0/72px 72px;
  -webkit-mask:linear-gradient(180deg,#000 0,#000 34%,rgba(0,0,0,.35) 62%,transparent 92%);mask:linear-gradient(180deg,#000 0,#000 34%,rgba(0,0,0,.35) 62%,transparent 92%)}
.p-planner .pl-hero{position:relative;display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);grid-template-areas:"cap head" "cap steps";column-gap:clamp(28px,4.4vw,72px);align-items:end}
.p-planner .pl-hero__head{grid-area:head;min-width:0}
.p-planner .pl-hero .phero__crumb{color:var(--mist)}
.p-planner .pl-h1{color:var(--white);font-size:clamp(3.1rem,7.6vw,7.8rem);margin-top:.2rem}
.p-planner .pl-h1__l{display:block}
.p-planner .pl-slab{display:inline-block;margin-top:.06em;padding:.02em .14em .07em;background:var(--y);color:var(--ink);border-radius:.08em;transform:rotate(-2.2deg);box-shadow:.06em .06em 0 var(--white)}
@media (prefers-reduced-motion:no-preference){
  .p-planner .pl-h1__l{animation:plRise .9s var(--ease) both}
  .p-planner .pl-h1__l+.pl-h1__l{animation-delay:.12s}
  .p-planner .pl-slab{animation:plSlap .7s var(--ease-back) .45s both}
}
@keyframes plRise{from{transform:translateY(40%);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(0 0 -20% 0)}}
@keyframes plSlap{from{transform:rotate(-9deg) scale(.6)}to{transform:rotate(-2.2deg) scale(1)}}
.p-planner .pl-hero__lead{margin-top:1.5rem;max-width:52ch;color:#d9d9de}
.p-planner .pl-steps{grid-area:steps;display:flex;flex-wrap:wrap;gap:10px;margin-top:1.8rem;list-style:none;counter-reset:none}
.p-planner .pl-steps a{display:inline-flex;align-items:center;gap:.6rem;min-height:46px;padding:.55rem 1.1rem .55rem .6rem;border-radius:999px;border:2px solid var(--ink-4);font-weight:700;font-size:.9rem;transition:border-color .25s,background .25s,color .25s}
.p-planner .pl-steps b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--y);color:var(--ink);font-size:.75rem;font-weight:900}
.p-planner .pl-steps a:hover{border-color:var(--y);color:var(--y)}
.p-planner .pl-steps li+li a{position:relative}
.p-planner .pl-hero__cap{grid-area:cap;position:relative;align-self:end;min-width:0}
.p-planner .pl-hero__img{display:block;width:100%;max-width:450px;height:auto;margin-left:auto;margin-bottom:-6px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
@media (prefers-reduced-motion:no-preference){
  .p-planner .pl-hero__img{animation:plLand .9s var(--ease-back) .2s both,hover 6s ease-in-out 1.1s infinite}
}
@keyframes plLand{from{transform:translate(-8%,6%) scale(.92);opacity:0}}

/* focus rings that stay visible on every surface (paper log on black, black cards on yellow / paper; ciao.css covers the paper + yellow sections) */
.p-planner .pl-log :focus-visible{outline-color:var(--ink)}
.p-planner .pl-budget :focus-visible,.p-planner .pl-panel--check :focus-visible,.p-planner .pl-pass :focus-visible,.p-planner .pl-log__head :focus-visible{outline-color:var(--y)}
.p-planner .pl-log__title h3:focus{outline:none}
.p-planner .pl-log__title h3:focus-visible{outline:3px solid var(--y);outline-offset:4px}
/* keyboard shortcut past the 26 island pins (visible only when focused) */
.p-planner .pl-skipmap{position:absolute;left:16px;top:16px;z-index:6;min-height:44px;padding:.6rem 1rem;border-radius:999px;background:var(--y);color:var(--ink);font-weight:800;font-size:.84rem;border:2px solid var(--ink);box-shadow:var(--sh-hard);transform:translateY(-6px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.p-planner .pl-skipmap:focus-visible{opacity:1;transform:none;pointer-events:auto;outline-color:var(--white)}
.p-planner .pl-mapcol{position:relative}

/* section openers rotate (DESIGN.md § v2.3 + v2.14): 01 departure board (op-board, on ink) · 02 Captain bubble
   (op-bubble, the cameo) · 03 caption box (op-cap--ink, on paper) · then the shared finale */
.p-planner :is(.op-cap,.op-board,.op-bubble) h2:focus{outline:none}
.p-planner .pl-builder{position:relative;margin-top:clamp(72px,8vw,128px)}
.p-planner .pl-op .op-board__sub{color:#d9d9de;font-weight:500}

/* presets */
.p-planner .pl-presets{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-bottom:22px}
.p-planner .pl-presets__l{display:inline-flex;align-items:center;gap:.5rem;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.p-planner .pl-presets__row{display:flex;gap:10px;flex-wrap:wrap}
.p-planner .pl-preset{flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 1.05rem;border-radius:16px;line-height:1.2;text-align:left}
.p-planner .pl-preset b{font-weight:800;font-size:.9rem}
.p-planner .pl-preset span{font-size:.72rem;font-weight:600;opacity:.7}
.p-planner .pl-preset[aria-pressed="true"] span{opacity:.85}

/* builder grid */
.p-planner .pl-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:stretch}
.p-planner .pl-mapcol{display:flex;flex-direction:column;gap:14px;min-width:0}
.p-planner .pl-stage{position:relative;height:clamp(500px,68vh,640px);border-radius:var(--r-l);background:radial-gradient(70% 60% at 50% 55%,rgba(253,182,28,.07),transparent 70%),var(--ink-2);border:1px solid var(--line-l);overflow:hidden}
.p-planner .pl-stage::before,.p-planner .pl-stage::after{content:"";position:absolute;width:42px;height:42px;z-index:3;pointer-events:none;border:3px solid var(--y)}
.p-planner .pl-stage::before{left:14px;top:14px;border-right:0;border-bottom:0;border-radius:12px 0 0 0}
.p-planner .pl-stage::after{right:14px;bottom:14px;border-left:0;border-top:0;border-radius:0 0 12px 0}
/* static fallback: show the WHOLE illustrated island (cover cropped away Jaffna and the south coast) */
.p-planner .pl-stage .fallback3d{object-fit:contain;padding:14px 14px 64px;max-width:none}
.p-planner .pl-stage__live{position:absolute;left:30px;top:26px;z-index:4;display:inline-flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--y);pointer-events:none}
.p-planner .pl-stage__live i{width:8px;height:8px;border-radius:50%;background:var(--y);box-shadow:0 0 0 0 rgba(253,182,28,.6)}
@media (prefers-reduced-motion:no-preference){.p-planner .pl-stage__live i{animation:plBlink 1.6s infinite}}
@keyframes plBlink{60%{box-shadow:0 0 0 8px rgba(253,182,28,0)}100%{box-shadow:0 0 0 0 rgba(253,182,28,0)}}
.p-planner .pl-stage__reset{position:absolute;right:22px;top:20px;z-index:4;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:.45rem .95rem;border-radius:999px;background:rgba(11,11,12,.72);border:1.5px solid var(--ink-4);color:var(--white);font-size:.78rem;font-weight:700;opacity:0;visibility:hidden;transition:.3s var(--ease)}
.p-planner .pl-stage__reset .icon{width:18px;height:18px;color:var(--y)}
.p-planner .pl-stage.is-focused .pl-stage__reset{opacity:1;visibility:visible}
.p-planner .pl-stage__reset:hover{border-color:var(--y)}
.p-planner .pl-stage__hint{position:absolute;left:50%;bottom:18px;z-index:4;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:.5rem .95rem;border-radius:999px;background:rgba(11,11,12,.78);border:1px solid rgba(253,182,28,.35);color:#e9e9ee;font-size:.76rem;font-weight:600;pointer-events:none}
.p-planner .pl-stage__hint .icon{width:16px;height:16px;color:var(--y)}
.p-planner .pl-hint-2d,.p-planner .pl-stage.is-fallback .pl-hint-3d,.p-planner .pl-stage.is-fallback .pl-stage__live{display:none}
.p-planner .pl-stage.is-fallback .pl-hint-2d{display:inline}

/* telemetry HUD */
.p-planner .pl-hud{border:1px solid var(--line-l);border-radius:22px;background:var(--ink-2);overflow:hidden}
.p-planner .pl-hud__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.p-planner .pl-hud__s{padding:14px 18px 12px;border-right:1px solid var(--line-l);min-width:0}
.p-planner .pl-hud__s:last-child{border-right:0}
.p-planner .pl-hud__s b{display:block;font-weight:900;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1;letter-spacing:-.04em;color:var(--y);white-space:nowrap}
.p-planner .pl-hud__s span{display:block;margin-top:6px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.p-planner .pl-hud__s em{font-style:normal;margin-left:.4em;padding:.05rem .4rem;border-radius:999px;border:1px solid var(--ink-4);font-size:.6rem;letter-spacing:.08em}
.p-planner .pl-hud__reg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:11px 16px;border-top:1px solid var(--line-l)}
.p-planner .pl-hud__k{font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mist);margin-right:6px}
.p-planner .pl-hud__chip{padding:.28rem .7rem;border-radius:999px;background:var(--y);color:var(--ink);font-size:.74rem;font-weight:700}
.p-planner .pl-hud__none{font-size:.8rem;color:var(--mist)}

/* mission log: paper clipboard on black */
.p-planner .pl-log{position:relative;display:flex;flex-direction:column;min-width:0;contain:size;background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:8px 8px 0 var(--y);overflow:hidden}
.p-planner .pl-log__head{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;padding:16px 18px 12px;background:var(--ink);color:var(--white)}
.p-planner .pl-log__title{display:flex;align-items:center;gap:12px}
.p-planner .pl-log__title h3{font-weight:900;font-size:1.35rem;letter-spacing:-.03em;text-transform:uppercase;line-height:1}
.p-planner .pl-log__code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.74rem;font-weight:700;letter-spacing:.06em;padding:.3rem .55rem;border-radius:6px;background:var(--y);color:var(--ink);transform:rotate(-3deg)}
.p-planner .pl-log__tools{display:flex;gap:6px}
.p-planner .pl-tool{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:.4rem .8rem;border-radius:999px;border:1.5px solid var(--ink-4);font-size:.76rem;font-weight:700;color:var(--white);transition:.2s}
.p-planner .pl-tool .icon{width:16px;height:16px;color:var(--y)}
.p-planner .pl-tool:hover:not(:disabled){border-color:var(--y);color:var(--y)}
.p-planner .pl-tool:disabled{opacity:.35;cursor:not-allowed}
.p-planner .pl-log__base{display:flex;align-items:center;gap:8px;padding:10px 18px;font-size:.8rem;color:var(--steel);border-bottom:2px solid var(--ink)}
.p-planner .pl-log__base .icon{width:18px;height:18px;color:var(--ink)}
.p-planner .pl-log__base b{color:var(--ink)}
.p-planner .pl-log__list{list-style:none;flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;
  background:linear-gradient(var(--paper) 30%,rgba(255,250,238,0)) center top,linear-gradient(rgba(255,250,238,0),var(--paper) 70%) center bottom,
    radial-gradient(farthest-side at 50% 0,rgba(11,11,12,.22),transparent) center top,radial-gradient(farthest-side at 50% 100%,rgba(11,11,12,.22),transparent) center bottom;
  background-repeat:no-repeat;background-size:100% 36px,100% 36px,100% 14px,100% 14px;background-attachment:local,local,scroll,scroll}
.p-planner .pl-stop{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:6px 10px;padding:8px 12px 8px 14px;border-bottom:2px dashed rgba(11,11,12,.14);transition:background .25s}
.p-planner .pl-stop.is-hot,.p-planner .pl-stop:hover{background:var(--y-100)}
.p-planner .pl-stop.is-flash{animation:plFlash 1.3s var(--ease)}
@keyframes plFlash{0%,30%{background:var(--y)}100%{background:transparent}}
.p-planner .pl-stop__n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--y);border:2px solid var(--y);box-shadow:0 0 0 2px var(--ink);font-weight:800;font-size:.74rem;letter-spacing:-.02em}
.p-planner .pl-stop__main{min-width:0;display:flex;flex-direction:column;line-height:1.2}
.p-planner .pl-stop__name{align-self:flex-start;max-width:100%;text-align:left;font-weight:800;font-size:.98rem;letter-spacing:-.01em;line-height:1.2;padding:13px 0;margin:-11px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:4px}
.p-planner .pl-stop__name:hover{text-decoration:underline;text-decoration-color:var(--y-600);text-decoration-thickness:3px;text-underline-offset:3px}
.p-planner .pl-stop__main small{font-size:.72rem;line-height:1.3;color:var(--steel);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.p-planner .pl-stop__leg{white-space:nowrap}
/* narrow side-by-side log (~1025–1300px screens): the leg drops to its own line instead of breaking mid-value */
.p-planner .pl-log{container:pllog/inline-size}
@media (min-width:1025px){
  @container pllog (max-width:505px){
    .p-planner .pl-stop__main small{display:block}
    .p-planner .pl-stop__sep{display:none}
    .p-planner .pl-stop__leg{display:block}
  }
}
.p-planner .pl-stop.is-pass .pl-stop__n{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:none}
.p-planner .pl-stop.is-pass .pl-stop__name{font-weight:700}
.p-planner .pl-stop--air{grid-template-columns:34px minmax(0,1fr) auto;background:var(--y);border-bottom:2px solid var(--ink)}
.p-planner .pl-stop--air:hover{background:var(--y)}
.p-planner .pl-stop--air:last-child{border-bottom:0;border-top:2px solid var(--ink);margin-top:-2px}
.p-planner .pl-stop--air b{font-weight:800;font-size:.92rem}
.p-planner .pl-stop--air small{color:var(--y-ink)}
.p-planner .pl-stop__ic{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--y)}
.p-planner .pl-stop__ic .icon{width:18px;height:18px}
.p-planner .pl-stop__ic--out .icon{transform:scaleX(-1)}
.p-planner .pl-nights{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:999px;background:var(--white);border:2px solid var(--ink)}
.p-planner .pl-nights button{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;transition:.2s}
.p-planner .pl-nights button .icon{width:16px;height:16px;stroke-width:3}
.p-planner .pl-nights button:hover:not(:disabled){background:var(--y)}
.p-planner .pl-nights button:disabled{opacity:.25;cursor:not-allowed}
.p-planner .pl-nights output{width:62px;flex:none;text-align:center;font-weight:900;font-size:1.05rem;line-height:1}
.p-planner .pl-nights output i{display:block;font-style:normal;font-size:.56rem;font-weight:700;letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;color:var(--steel);margin-top:2px}
.p-planner .pl-stop__ctrl{display:inline-flex;gap:2px}
.p-planner .pl-stop__ctrl button{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;transition:.2s;color:var(--ink)}
.p-planner .pl-stop__ctrl button .icon{width:18px;height:18px;stroke-width:2.5}
.p-planner .pl-stop__ctrl button:hover:not(:disabled){background:var(--ink);color:var(--y)}
.p-planner .pl-stop__ctrl button:disabled{opacity:.2;cursor:not-allowed}
.p-planner .pl-stop__ctrl .pl-x:hover:not(:disabled){background:var(--sl-maroon);color:var(--white)}
@media (pointer:coarse){.p-planner .pl-nights button,.p-planner .pl-stop__ctrl button{width:44px;height:44px}.p-planner .pl-tool{min-height:44px}}
.p-planner .pl-empty{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:22px 18px;border-bottom:2px dashed rgba(11,11,12,.14)}
.p-planner .pl-empty__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--y);border:2px solid var(--ink)}
.p-planner .pl-empty__ic .icon{width:24px;height:24px}
.p-planner .pl-log p{color:inherit}
.p-planner .pl-empty p{font-size:.9rem;color:var(--steel)}
.p-planner .pl-empty b{color:var(--ink)}
.p-planner .pl-log__add{display:grid;gap:6px;padding:12px 16px 4px;border-top:2px solid var(--ink)}
.p-planner .pl-log__add .label{font-size:.68rem}
.p-planner .pl-log__add .select{min-height:48px;font-weight:600;font-size:.92rem;background-color:var(--white);color:var(--ink);border-color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B0B0C' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.p-planner .pl-log__add .select:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* the Captain's live tip: a compact .bubble (his voice, ≤ 20 words, shared label); no avatar, no tail */
.p-planner .pl-log__tip{padding:12px 16px 16px}
.p-planner .pl-tipb{display:block;max-width:none;padding:10px 14px 11px;border-width:2px;border-radius:16px;box-shadow:4px 4px 0 var(--ink);font-size:.84rem;line-height:1.42}
.p-planner .pl-tipb::after{display:none}
.p-planner .pl-tipb.is-warn{background:var(--y-100)}
.p-planner .pl-tipb .bubble__who{font-size:.6rem;margin-bottom:3px}

/* cape (the page's only one): ink diagonal into the yellow crew section */
.p-planner .pl-cape{color:var(--ink);background:var(--y);height:clamp(46px,6vw,96px)}

/* ---------- 02 · crew & season (yellow) ---------- */
.p-planner .pl-crew{padding-top:clamp(56px,7vw,110px)}
.p-planner .pl-crew__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:start}
.p-planner .pl-panels{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(16px,2vw,24px)}
.p-planner .pl-panel{position:relative;background:var(--white);border:3px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh-hard);padding:clamp(18px,2vw,26px);min-width:0}
.p-planner .pl-panel__h{display:flex;align-items:center;gap:.55rem;font-weight:900;font-size:1.05rem;letter-spacing:-.01em;text-transform:uppercase;margin-bottom:16px}
.p-planner .pl-panel__h .icon{width:22px;height:22px;padding:4px;box-sizing:content-box;border-radius:50%;background:var(--y);border:2px solid var(--ink)}
.p-planner .pl-panel--who{display:flex;flex-direction:column}
/* tablets + desktop: the travellers panel is a compact two-row strip (heading + note / stepper + brackets) */
@media (min-width:761px){
  .p-planner .pl-panel--who{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"h note" "st grp";align-items:center;gap:6px clamp(20px,3vw,40px)}
  .p-planner .pl-panel--who .pl-panel__h{grid-area:h;margin:0}
  .p-planner .pl-panel--who .pl-who{grid-area:st}
  .p-planner .pl-panel--who .pl-panel__note{grid-area:note;margin:0;padding-left:clamp(16px,2vw,24px);border-left:2px dashed rgba(11,11,12,.18)}
  .p-planner .pl-panel--who .pl-groups{grid-area:grp;margin:0;padding:12px 0 0 clamp(16px,2vw,24px);border-top:0;border-left:2px dashed rgba(11,11,12,.18);align-self:stretch;align-content:end}
  /* hotels: the same split, heading + stars on the left, the real hotels on the right */
  .p-planner .pl-panel--hotel{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"h list" "seg list";column-gap:clamp(20px,3vw,40px)}
  .p-planner .pl-panel--hotel .pl-panel__h{grid-area:h;margin-bottom:14px}
  .p-planner .pl-panel--hotel .pl-tier{grid-area:seg;align-self:start;justify-self:start}
  .p-planner .pl-panel--hotel .pl-hotels{grid-area:list;margin:0;padding-left:clamp(16px,2vw,24px);border-left:2px dashed rgba(11,11,12,.18)}
  .p-planner .pl-panel--hotel .pl-hotels li:first-child{padding-top:0}
}
.p-planner .pl-panel--who .pl-panel__note{margin:12px 0 18px}
.p-planner .pl-groups{margin-top:auto;padding-top:16px;border-top:2px dashed rgba(11,11,12,.18);display:grid;gap:8px}
.p-planner .pl-groups__l{font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.p-planner .pl-groups__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.p-planner .pl-groups__g{display:grid;place-items:center;padding:6px 2px 5px;border-radius:10px;border:2px solid var(--ink);background:var(--white);line-height:1.1;transition:background .25s,box-shadow .25s}
.p-planner .pl-groups__g b{font-weight:900;font-size:.95rem;letter-spacing:-.02em}
.p-planner .pl-groups__g small{font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--steel)}
.p-planner .pl-groups__g.is-on{background:var(--y);box-shadow:3px 3px 0 var(--ink)}
.p-planner .pl-groups__g.is-on small{color:var(--y-ink)}
.p-planner .pl-panel__note{margin-top:14px;font-size:.84rem;line-height:1.5;color:var(--steel)}
.p-planner .pl-panel__note b{color:var(--ink)}
.p-planner .pl-who{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.p-planner .pl-who__st output{font-size:2.6rem;min-width:2.2ch;letter-spacing:-.04em}
.p-planner .pl-who__st button{background:var(--white)}
.p-planner .pl-who__st button:disabled{opacity:.3;cursor:not-allowed}
.p-planner .pl-who__st button .icon{width:18px;height:18px;stroke-width:3}
.p-planner .pl-who__l{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.p-planner .pl-tier button{min-width:72px;min-height:44px;font-size:1rem}
.p-planner .pl-tier button span[aria-hidden]{color:var(--y-600);margin-left:2px}
.p-planner .pl-tier button[aria-pressed="true"] span[aria-hidden]{color:var(--y)}
.p-planner .pl-hotels{list-style:none;margin-top:14px;display:grid;gap:0}
.p-planner .pl-hotels li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px dashed rgba(11,11,12,.2);font-size:.84rem}
.p-planner .pl-hotels__p{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;font-weight:800;line-height:1.25}
.p-planner .pl-hotels__p i{flex:none;white-space:nowrap;font-style:normal;font-size:.68rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:var(--ink);color:var(--y)}
.p-planner .pl-hotels__h{color:var(--steel)}
.p-planner .pl-hotels__h.is-req{font-style:italic;opacity:.75}
.p-planner .pl-hotels li.pl-hotels__note{display:block;border:0;padding-top:10px;font-size:.74rem;color:var(--steel)}
.p-planner .pl-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.p-planner .pl-months button{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:62px;padding:10px 2px 8px;border-radius:14px;border:2px solid var(--ink);background:var(--white);transition:.2s var(--ease)}
.p-planner .pl-months button b{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.p-planner .pl-months button:hover{background:var(--y-100);transform:translateY(-2px)}
.p-planner .pl-months button[aria-pressed="true"]{background:var(--ink);color:var(--y);box-shadow:3px 3px 0 var(--y-600)}
.p-planner .pl-months__dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;max-width:44px}
.p-planner .pl-months__dots i{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor}
.p-planner .pl-months__dots i.s2{background:var(--y);border-color:var(--y-600)}
.p-planner .pl-months__dots i.s1{background:linear-gradient(90deg,var(--y) 50%,transparent 50%);border-color:var(--y-600)}
.p-planner .pl-months__dots i.s0{background:var(--steel);border-color:var(--steel)}
.p-planner .pl-months button[aria-pressed="true"] .pl-months__dots i.s0{background:var(--mist);border-color:var(--mist)}
.p-planner .pl-months__best{position:absolute;top:-9px;right:-6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--y);border:2px solid var(--ink);color:var(--ink)}
.p-planner .pl-months__best .icon{width:12px;height:12px;stroke-width:3}
.p-planner .pl-season{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:22px}
.p-planner .pl-season__h{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.p-planner .pl-season__h small{font-size:.62rem;font-weight:700;letter-spacing:.08em;margin-left:4px;padding:.1rem .45rem;border-radius:999px;background:var(--y-100);color:var(--y-ink)}
.p-planner .pl-season__empty{font-size:.84rem;color:var(--steel)}
.p-planner .pl-wx{list-style:none;display:grid;gap:6px}
.p-planner .pl-wx li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-radius:12px;background:var(--paper);font-size:.86rem;font-weight:600}
.p-planner .pl-wx li .icon{width:28px;height:28px;padding:5px;box-sizing:border-box;border-radius:50%}
.p-planner .pl-wx li.s2 .icon{background:var(--y);color:var(--ink)}
.p-planner .pl-wx li.s1 .icon{background:var(--y-100);color:var(--y-ink)}
.p-planner .pl-wx li.s0 .icon{background:var(--ink);color:var(--white)}
.p-planner .pl-wx li b{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.p-planner .pl-wx li.s0 b{color:var(--sl-maroon)}
.p-planner .pl-season__best{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:.84rem}
.p-planner .pl-season__best .icon{width:20px;height:20px;flex:none;color:var(--y-600)}
.p-planner .pl-fest{list-style:none;display:grid;gap:10px}
.p-planner .pl-fest li{padding:10px 12px;border-radius:12px;border:2px solid var(--line);font-size:.84rem}
.p-planner .pl-fest li.is-on{border-color:var(--ink);background:var(--y-100)}
.p-planner .pl-fest li b{font-weight:800;margin-right:8px}
.p-planner .pl-fest li p{margin-top:4px;font-size:.8rem;line-height:1.45;color:var(--steel)}
.p-planner .pl-fest__at{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
.p-planner .pl-fest__poya{display:flex;gap:8px;margin-top:10px;font-size:.76rem;line-height:1.45;color:var(--steel)}
.p-planner .pl-fest__poya .icon{width:18px;height:18px;flex:none}
.p-planner .pl-notes{grid-column:1/-1;list-style:none;display:grid;gap:8px}
.p-planner .pl-notes li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--y-100);font-size:.84rem;line-height:1.45}
.p-planner .pl-notes li .icon{width:20px;height:20px;flex:none}
.p-planner .pl-notes li.is-warn{background:var(--ink);color:var(--white)}
.p-planner .pl-notes li.is-warn .icon{color:var(--y)}
.p-planner .pl-extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.p-planner .pl-extra{position:relative;display:grid;grid-template-columns:auto 40px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:10px 14px;border-radius:16px;border:2px solid var(--ink);cursor:pointer;transition:.2s var(--ease)}
.p-planner .pl-extra:hover{background:var(--y-100)}
.p-planner .pl-extra.is-on{background:var(--y);box-shadow:4px 4px 0 var(--ink)}
.p-planner .pl-extra input{width:22px;height:22px;margin:0;accent-color:var(--ink)}
.p-planner .pl-extra__ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ink);color:var(--y)}
.p-planner .pl-extra__t{font-size:.92rem;font-weight:800;line-height:1.25}
.p-planner .pl-panel--check{background:var(--ink);color:var(--white);box-shadow:var(--sh-hard)}
.p-planner .pl-panel--check .pl-panel__h{color:var(--y)}
.p-planner .pl-panel--check .pl-panel__h .icon{background:var(--y);border-color:var(--y);color:var(--ink);stroke-width:3}
.p-planner .pl-checks{list-style:none;display:grid;gap:10px}
.p-planner .pl-checks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;line-height:1.45;color:#e6e6ea}
.p-planner .pl-checks__i{display:grid;place-items:center;width:26px;height:26px;border-radius:50%}
.p-planner .pl-checks__i .icon{width:15px;height:15px;stroke-width:3}
.p-planner .pl-checks li.is-ok .pl-checks__i{background:var(--y);color:var(--ink)}
.p-planner .pl-checks li.is-warn .pl-checks__i{background:var(--white);color:var(--sl-maroon)}

/* budget receipt */
.p-planner .pl-budget{position:sticky;top:calc(var(--hdr-offset,var(--hdr)) + 12px);transition:top .45s var(--ease);background:var(--ink);color:var(--white);border-radius:var(--r);padding:clamp(22px,2.4vw,30px);box-shadow:10px 10px 0 var(--white),10px 10px 0 3px var(--ink);border:3px solid var(--ink)}
.p-planner .pl-budget__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.p-planner .pl-budget__top h3{font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--y)}
.p-planner .pl-budget__big{margin-top:16px}
.p-planner .pl-budget .price--lg .price__n{font-size:clamp(2.1rem,3.5vw,3.2rem);letter-spacing:-.045em}
.p-planner .pl-budget__big--req{font-weight:900;font-size:clamp(1.8rem,3vw,2.4rem);line-height:.95;letter-spacing:-.04em;color:var(--y)}
.p-planner .pl-budget__tot{margin-top:14px;font-size:1rem;color:var(--white)}
.p-planner .pl-budget__tot b{font-weight:800}
.p-planner .pl-budget__how{margin-top:6px;font-size:.82rem;line-height:1.5;color:var(--mist)}
.p-planner .pl-budget__base{margin-top:18px;border-top:1px dashed rgba(255,255,255,.2);padding-top:12px}
.p-planner .pl-budget__base summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.p-planner .pl-budget__base summary::-webkit-details-marker{display:none}
.p-planner .pl-budget__base summary::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:linear-gradient(var(--ink),var(--ink)) center/12px 2.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/2.5px 12px no-repeat,var(--y);transition:transform .3s var(--ease)}
.p-planner .pl-budget__base[open] summary::after{transform:rotate(45deg)}
.p-planner .pl-budget__base>p{margin-top:8px;font-size:.78rem;line-height:1.5;color:var(--mist)}
.p-planner .pl-budget__tbl{width:100%;border-collapse:collapse;margin-top:10px;font-size:.84rem}
.p-planner .pl-budget__tbl th,.p-planner .pl-budget__tbl td{padding:7px 0;border-bottom:1px solid var(--line-l);text-align:left;font-weight:600}
.p-planner .pl-budget__tbl td{text-align:right;font-weight:800;color:var(--y);white-space:nowrap}
.p-planner .pl-budget__tbl td small{font-weight:600;color:var(--mist);font-size:.72rem}
.p-planner .pl-budget__tbl tr.is-off th{color:var(--mist);font-weight:500}
.p-planner .pl-budget__fn{margin-top:8px;font-size:.72rem!important}
.p-planner .pl-budget__inc{list-style:none;display:grid;gap:8px;margin-top:16px}
.p-planner .pl-budget__inc li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:.82rem;line-height:1.45;color:#dcdce1}
.p-planner .pl-budget__inc li .icon{width:18px;height:18px;color:var(--y);margin-top:1px}
.p-planner .pl-budget__inc li.is-x .icon{color:var(--mist)}
.p-planner .pl-budget__inc li.is-req b{color:var(--y)}
.p-planner .pl-budget__disc{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.2);font-size:.72rem;line-height:1.5;color:var(--mist)}
.p-planner .pl-budget .btn{margin-top:16px}

/* ---------- 03 · ticket (paper) ---------- */
.p-planner .pl-tix{padding-top:clamp(64px,7vw,110px)}
/* desktop: the ink caption box and the share toolbar side by side, then the pass across the full width
   (the toolbar sits beside the heading instead of floating mid-pass; the pass gets the room for one route line) */
.p-planner .pl-tix__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"cap side" "pass pass";column-gap:clamp(24px,3.4vw,56px);align-items:end}
.p-planner .pl-tix__op{grid-area:cap}
.p-planner .pl-tix__op .op-cap__note{max-width:44ch;text-wrap:pretty}
.p-planner .pl-tix__pass{grid-area:pass;min-width:0}
.p-planner .pl-tix__side{grid-area:side;display:grid;gap:12px;max-width:560px;margin-bottom:clamp(30px,4vw,56px)}
.p-planner .pl-tix__k{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}
.p-planner .pl-actions{display:flex;flex-wrap:wrap;gap:10px}
.p-planner .pl-actions .btn{width:auto;flex:none;justify-content:flex-start;padding-inline:1.3rem}
.p-planner .pl-pass{--notch:20px;grid-template-columns:1fr 150px;-webkit-mask:radial-gradient(circle var(--notch) at calc(100% - 150px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--notch) at calc(100% - 150px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle var(--notch) at calc(100% - 150px) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle var(--notch) at calc(100% - 150px) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;box-shadow:0 40px 70px -30px rgba(11,11,12,.6)}
.p-planner .pl-pass .pass__main{padding:clamp(20px,2.6vw,34px)}
.p-planner .pl-pass__top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line-l)}
.p-planner .pl-pass__logo{width:86px;color:var(--y);flex:none}
.p-planner .pl-pass__logo svg{width:100%;height:auto}
.p-planner .pl-pass__kind{font-size:.66rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);text-align:right}
.p-planner .pl-pass__fly{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:20px}
.p-planner .pl-pass__fly .pass__code{font-size:clamp(2.4rem,5vw,4rem);color:var(--white)}
.p-planner .pl-pass__fly small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);margin-top:4px}
.p-planner .pl-pass__to{text-align:right}
.p-planner .pl-pass__to .pass__code{color:var(--y)}
.p-planner .pl-pass__line{display:flex;align-items:center;gap:8px;color:var(--y)}
.p-planner .pl-pass__line i{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--y) 0 6px,transparent 6px 12px)}
.p-planner .pl-pass__line .icon{width:30px;height:30px;transform:rotate(45deg)}
.p-planner .pl-pass__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;margin-top:22px}
.p-planner .pl-pass__f{min-width:0}
.p-planner .pl-pass__f .pass__label{display:block;color:var(--mist);opacity:1}
.p-planner .pl-pass__f>b{display:block;margin-top:4px;font-weight:800;font-size:1rem;line-height:1.25}
.p-planner .pl-pass__f--w{grid-column:span 2}
.p-planner .pl-pass__f>b small{display:block;margin-top:2px;font-size:.7rem;font-weight:600;color:var(--mist);letter-spacing:.02em}
.p-planner .pl-pass__f--y>b{color:var(--y);font-size:1.25rem;font-weight:900;letter-spacing:-.02em}
.p-planner .pl-pass__f--y .price{margin-top:2px}
.p-planner .pl-pass__f--y .price__n{font-size:1.4rem}
/* the shared route notation (CMB · KDY · … · CMB) on the pass */
.p-planner .pl-pass__route{margin-top:22px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.18)}
.p-planner .pl-pass__route .route__c{gap:5px 10px;font-size:.86rem;color:var(--white)}
.p-planner .pl-pass__route .route__c b{color:var(--y)}
.p-planner .pl-pass__route .route__c i{background:var(--y);opacity:1}
.p-planner .pl-pass__route .route__c em{color:var(--y)}
.p-planner .pl-pass__x{margin-top:14px;font-size:.8rem;font-weight:700;color:var(--y)}
.p-planner .pl-pass__x small{font-weight:600;color:var(--mist)}
.p-planner .pl-pass .pass__stub{gap:14px;padding:26px 16px;color:var(--white)}
.p-planner .pl-pass .pass__stub .pass__label{display:block;color:var(--mist);opacity:1}
.p-planner .pl-pass__code{display:block;margin-top:6px;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.95rem;color:var(--y);letter-spacing:.04em}
.p-planner .pl-pass__adm b{display:block;font-weight:900;font-size:2.4rem;line-height:1;letter-spacing:-.04em;margin-top:4px}
.p-planner .pl-pass .barcode{height:56px;color:var(--white)}
.p-planner .pl-actions__note{font-size:.84rem;line-height:1.5;color:var(--steel)}

/* print sheet hidden on screen */
.p-planner .pl-print{display:none}

/* ---------- responsive ---------- */
/* wide pass: the six fields on one row */
@media (min-width:1181px){
  .p-planner .pl-pass__grid{grid-template-columns:repeat(4,minmax(0,.8fr)) repeat(2,minmax(0,1.25fr))}
  .p-planner .pl-pass__f--w{grid-column:auto}
}
@media (max-width:1180px){
  .p-planner .pl-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .p-planner .pl-hud__s{padding:12px 12px 10px}
  .p-planner .pl-tix__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"cap" "pass" "side"}
  .p-planner .pl-tix__side{max-width:none;margin:28px 0 0}
}
@media (max-width:1024px){
  .p-planner .pl-hero{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}
  .p-planner .pl-grid{grid-template-columns:1fr}
  .p-planner .pl-log{contain:none;max-height:none}
  .p-planner .pl-log__list{overflow:visible}
  .p-planner .pl-crew__grid{grid-template-columns:1fr}
  .p-planner .pl-budget{position:relative;top:auto}
}
@media (max-width:760px){
  /* phones: H1 + lead on top, then the Captain on the left pointing at the three step chips */
  .p-planner .pl-hero{grid-template-columns:clamp(128px,38vw,156px) minmax(0,1fr);grid-template-areas:"head head" "cap steps";column-gap:14px;align-items:center}
  .p-planner .pl-top{padding-bottom:56px}
  .p-planner .pl-hero__cap{align-self:end;margin-top:22px}
  .p-planner .pl-hero__img{max-width:none;margin:0}
  .p-planner .pl-h1{font-size:clamp(2.9rem,14vw,4.6rem)}
  .p-planner .pl-steps{flex-direction:column;align-items:stretch;gap:8px;margin-top:22px}
  .p-planner .pl-steps a{width:100%;font-size:.86rem}
  .p-planner .pl-stage__live{display:none}
  .p-planner .pl-stage::after{display:none}
  .p-planner .pl-presets{flex-direction:column;align-items:flex-start;gap:10px}
  .p-planner .pl-presets__row{flex-wrap:nowrap;overflow-x:auto;width:calc(100% + 24px);padding:8px 16px 10px 8px;margin:-8px -16px -2px -8px;scroll-padding-left:8px;scrollbar-width:none;scroll-snap-type:x mandatory}
  .p-planner .pl-presets__row::-webkit-scrollbar{display:none}
  .p-planner .pl-preset{flex:none;scroll-snap-align:start}
  .p-planner .pl-stage{height:min(122vw,520px);border-radius:var(--r)}
  .p-planner .pl-stage__hint{font-size:.7rem;bottom:12px}
  .p-planner .pl-hud__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-planner .pl-hud__s:nth-child(2){border-right:0}
  .p-planner .pl-hud__s:nth-child(-n+2){border-bottom:1px solid var(--line-l)}
  .p-planner .pl-stop{grid-template-columns:30px minmax(0,1fr) auto;padding:10px 10px 10px 12px}
  .p-planner .pl-stop__n{width:28px;height:28px}
  .p-planner .pl-stop:not(.pl-stop--air) .pl-stop__main{grid-column:2/4;grid-row:1}
  .p-planner .pl-stop:not(.pl-stop--air) .pl-nights{grid-column:1/3;grid-row:2;justify-self:start}
  .p-planner .pl-stop:not(.pl-stop--air) .pl-stop__ctrl{grid-column:3;grid-row:2;justify-self:end}
  .p-planner .pl-log__head{padding:14px 14px 10px}
  .p-planner .pl-months{grid-template-columns:repeat(6,minmax(0,1fr))}
  .p-planner .pl-season{grid-template-columns:1fr}
  .p-planner .pl-extras{grid-template-columns:1fr}
  .p-planner .pl-extra{min-height:58px}
  .p-planner .pl-budget{box-shadow:7px 7px 0 var(--white),7px 7px 0 3px var(--ink)}
  .p-planner .pl-pass{grid-template-columns:1fr;--notch:14px;
    -webkit-mask:radial-gradient(circle var(--notch) at 0 calc(100% - 96px),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% calc(100% - 96px),#0000 98%,#000) right/51% 100% no-repeat;
    mask:radial-gradient(circle var(--notch) at 0 calc(100% - 96px),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--notch) at 100% calc(100% - 96px),#0000 98%,#000) right/51% 100% no-repeat}
  .p-planner .pl-pass .pass__stub{height:96px;flex-direction:row;align-items:center;gap:14px;padding:14px 18px;border-left:0;border-top:2px dashed rgba(255,255,255,.18);text-align:left}
  .p-planner .pl-pass .barcode{flex:1;height:44px}
  .p-planner .pl-pass__adm b{font-size:1.6rem}
  .p-planner .pl-pass__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-planner .pl-pass__kind{font-size:.58rem;letter-spacing:.12em}
  .p-planner .pl-pass__route .route__c{font-size:.78rem;gap:4px 8px}
  .p-planner .pl-actions{display:grid}
  .p-planner .pl-actions .btn{width:100%}
}
@media (max-width:380px){
  .p-planner .pl-log__tools .pl-tool span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .p-planner .pl-log__tools .pl-tool{min-width:44px;justify-content:center}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .p-planner .pl-stop.is-flash{animation:none;background:var(--y-100)}
  .p-planner .pl-months button:hover{transform:none}
}

/* ---------- print: a clean A4 mission dossier ---------- */
@media print{
  @page{size:A4;margin:14mm}
  body.p-planner{background:#fff!important;color:#000}
  body.p-planner::after{display:none!important}
  .p-planner .hdr,.p-planner .mnav,.p-planner .ftr,.p-planner .dock,.p-planner .skip,.p-planner .toast,.p-planner .cur,.p-planner .loader,.p-planner .wipe{display:none!important}
  .p-planner #main>*:not(.pl-print){display:none!important}
  .p-planner .pl-print{display:block!important;font-size:10pt;line-height:1.4;color:#000}
  .p-planner .pl-print__hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 10px;border-bottom:3pt solid #000}
  .p-planner .pl-print__logo{width:110px;color:#000}
  .p-planner .pl-print__logo svg{width:100%;height:auto}
  .p-planner .pl-print__hd div{text-align:right}
  .p-planner .pl-print__hd b{display:block;font-size:14pt;font-weight:900;letter-spacing:.02em;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#FDB61C;padding:2px 8px}
  .p-planner .pl-print__hd span{font-size:9pt;color:#444}
  .p-planner .pl-print h2{font-size:19pt;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin:12px 0 8px}
  .p-planner .pl-print__sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
  .p-planner .pl-print__sum div{border:1.5pt solid #000;border-radius:6px;padding:6px 8px}
  .p-planner .pl-print__sum dt{font-size:7.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#555}
  .p-planner .pl-print__sum dd{font-weight:800;font-size:11pt}
  .p-planner .pl-print__tbl{width:100%;border-collapse:collapse;margin:6px 0 12px}
  .p-planner .pl-print__tbl th{font-size:7.5pt;letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:1.5pt solid #000;padding:4px 6px}
  .p-planner .pl-print__tbl td{border-bottom:.5pt solid #bbb;padding:3.5px 6px;vertical-align:top}
  .p-planner .pl-print__tbl td small{color:#555;font-size:8.5pt}
  .p-planner .pl-print__tbl tr{break-inside:avoid}
  .p-planner .pl-print__p{margin:6px 0}
  .p-planner .pl-print__fine{margin-top:12px;font-size:8.5pt;color:#444}
  .p-planner .pl-print__ft{margin-top:12px;padding-top:8px;border-top:1.5pt solid #000;font-size:9pt;break-inside:avoid}
  .p-planner .pl-print__ft small{word-break:break-all;color:#555;font-size:7.5pt}
}
