
/* Barre d'actions des étapes : passe à la ligne au lieu de déborder */
.slot .ctl{flex-wrap:wrap;margin-right:-4px}
.slot .pux-act{padding:0 8px;font-size:.78rem}
ems:center;justify-content:space-between;gap:8px 12px;padding:10px 12px}
.pux-toolbar .btn-row{margin-top:0}
.pux-seg-grp{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card2)}
.pux-seg-btn{min-height:44px;padding:0 16px;font-weight:700;font-size:.85rem;color:var(--tx2);background:none;border:0;cursor:pointer}
.pux-seg-btn[aria-pressed="true"]{background:var(--acc);color:var(--accTx)}

/* Jauge de charge */
.pux-day{margin:10px 0 4px;padding:10px 12px;border:1px solid var(--line2);border-radius:var(--r2);background:var(--card2)}
.pux-gh{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pux-lvl{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid currentColor}
.pux-lvl.light,.pux-lvl.ok{color:var(--ok)}
.pux-lvl.full{color:var(--accLink)}
.pux-lvl.over{color:var(--danger)}
.pux-gt{margin:4px 0 8px;font-size:.88rem;color:var(--tx2)}
.pux-bar-track{position:relative;display:flex;height:12px;border-radius:999px;background:var(--line);overflow:hidden}
.pux-seg{display:block;height:100%}
.pux-seg.v{background:var(--acc)}
.pux-seg.m{background:var(--ok)}
.pux-seg.t{background:var(--tx3)}
.pux-tick{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--tx)}
.pux-leg{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;padding:0;font-size:.78rem;color:var(--tx3)}
.pux-leg li::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--tx3)}
.pux-leg .v::before{background:var(--acc)}
.pux-leg .m::before{background:var(--ok)}
.pux-start{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:.88rem;color:var(--tx2)}
.pux-time,.pux-num{min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card);color:var(--tx);font:inherit;font-variant-numeric:tabular-nums}
.pux-warns{margin-top:10px;border-left:3px solid var(--danger);padding:6px 0 6px 12px;font-size:.88rem}
.pux-warns ul{margin:4px 0 0;padding-left:16px}
.pux-warns li{margin:2px 0}

/* Étapes : poignée, actions, avertissements visuels */
.slot .time{display:flex;flex-direction:column;align-items:flex-end}
.pux-grip{width:44px;height:44px;margin-top:2px;margin-right:-8px;border:0;background:none;color:var(--tx3);font-size:1.1rem;letter-spacing:-.15em;line-height:1;cursor:grab;touch-action:none;border-radius:var(--r2);-webkit-user-select:none;user-select:none}
.pux-grip:hover,.pux-grip:focus-visible{color:var(--acc);background:var(--card2)}
.pux-grip:active{cursor:grabbing}
.pux-act{min-height:44px;padding:0 10px;border:0;background:none;color:var(--accLink);font-weight:700;font-size:.8rem;cursor:pointer;border-radius:var(--r2)}
.pux-act:hover{text-decoration:underline}
.slot.pux-drag{z-index:5;opacity:.95;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4));pointer-events:none}
.slot.pux-drag .slot-card{border-color:var(--acc)}
.timeline.pux-dragging .slot:not(.pux-drag){transition:transform .15s ease}
.timeline.pux-dragging{-webkit-user-select:none;user-select:none}
.slot.pux-closed .slot-card{border-left-color:var(--danger)}
.walk.pux-long{color:var(--danger);font-weight:700}

/* Vue chronologique */
.pux-chrono{display:none;margin:12px 0 4px}
.pux-chrono-on .pux-chrono{display:block}
.pux-chrono-on .day .timeline{display:none}
.pux-grid{position:relative;margin-left:3rem;border-left:1px solid var(--line)}
.pux-hr{position:absolute;left:0;right:0;border-top:1px solid var(--line2)}
.pux-hr span{position:absolute;left:-3rem;width:2.6rem;top:-.6em;text-align:right;font-size:.72rem;color:var(--tx3);font-variant-numeric:tabular-nums}
.pux-limit{position:absolute;left:0;right:0;border-top:2px dashed var(--danger);z-index:3}
.pux-limit span{position:absolute;right:0;top:-1.5em;font-size:.72rem;color:var(--danger);font-weight:700}
.pux-blk{position:absolute;left:8px;right:4px;overflow:hidden;box-sizing:border-box;padding:4px 10px;border-radius:var(--r2);background:var(--card2);border:1px solid var(--line2);border-left:4px solid var(--acc);color:var(--tx);display:flex;flex-direction:column;justify-content:center;z-index:2;text-decoration:none}
.pux-blk strong{font-family:var(--fd);font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pux-blk span{font-size:.75rem;color:var(--tx2);font-variant-numeric:tabular-nums}
.pux-blk.meal{border-left-color:var(--ok)}
.pux-blk.free{border-left-style:dashed;border-left-color:var(--tx3)}
.pux-blk.bad{border-left-color:var(--danger)}
.pux-trv{position:absolute;left:18px;width:0;border-left:2px dotted var(--tx3);z-index:1}
.pux-trv span{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--tx3);white-space:nowrap;background:var(--card);padding:0 4px;border-radius:6px}
.pux-trv.long{border-left-color:var(--danger)}
.pux-trv.long span{color:var(--danger);font-weight:700}

/* Dialogues, toast */
.pux-ov{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}
.pux-modal{width:100%;max-width:520px;max-height:86vh;max-height:86dvh;overflow:auto;background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:var(--r) var(--r) 0 0;box-shadow:var(--shadow);padding:16px 16px calc(var(--safeB) + 18px)}
@media (min-width:700px){.pux-ov{align-items:center}.pux-modal{border-radius:var(--r)}}
.pux-mh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.pux-mh h2{font-family:var(--fd);font-size:1.25rem;font-weight:600}
.pux-alts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.pux-alt{width:100%;min-height:56px;text-align:left;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card2);color:var(--tx);font:inherit;cursor:pointer}
.pux-alt strong{font-family:var(--fd);font-weight:600}
.pux-alt .meta{font-size:.8rem;color:var(--tx3)}
.pux-alt:hover,.pux-alt:focus-visible{border-color:var(--acc)}
.pux-step{display:flex;align-items:center;gap:8px;margin:8px 0}
.pux-step .btn{min-width:64px}
.pux-num{width:6.5rem;text-align:center;font-size:1.1rem}
.pux-qr{display:flex;justify-content:center;padding:12px;margin:8px 0;background:#fff;border-radius:var(--r2)}
.pux-qr svg{max-width:100%;height:auto}
.pux-link{width:100%;font:inherit;font-size:.85rem;padding:10px;border:1px solid var(--line);border-radius:var(--r2);background:var(--card2);color:var(--tx)}
.pux-ta{position:fixed;left:-9999px;top:0}
.pux-toast{position:fixed;left:50%;bottom:calc(var(--safeB) + 84px);transform:translate(-50%,12px);z-index:320;background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:.9rem;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.pux-toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.pux-toast,.timeline.pux-dragging .slot:not(.pux-drag){transition:none}}

/* Impression / PDF */
.pux-print-head,.pux-print-qr{display:none}
@media print{
  @page{margin:14mm}
  html[data-theme]{
    --bg:#fff;--bg2:#fff;--card:#fff;--card2:#fff;--line:#999;--line2:#bbb;
    --tx:#111;--tx2:#333;--tx3:#555;--acc:#7a5a14;--acc2:#7a5a14;--accLink:#7a5a14;--danger:#a8402f;--ok:#2f6a2c;
    color-scheme:light;
  }
  html,body{background:#fff!important;color:#111!important;font-size:11pt}
  .topbar,.tabs,.skip,#toast,#live,#sheet-root,.pux-toast,.pux-ov,.subtabs,.page-head,.plan-head,.pux-toolbar,.today-plan,.disclaimer,
  .pux-grip,.pux-act,.slot .ctl,.slot-thumb,.pux-chrono,.pux-start,.pux-leg,.day-head .btn,.day > .link,.planview .alert{display:none!important}
  main{padding:0!important;margin:0!important;max-width:none!important}
  .pux-print-head{display:block;border-bottom:2px solid #111;padding-bottom:6px;margin-bottom:10px}
  .pux-print-head h1{font-family:var(--fd);font-size:20pt;margin:0}
  .pux-print-head p{margin:2px 0 0;font-size:10pt;color:#333}
  .card,.slot-card,.pux-day{background:#fff!important;box-shadow:none!important;border-color:#bbb!important}
  .planview .day{break-inside:auto;border:0!important;padding:0!important;margin:0 0 8mm!important}
  .planview .day:not(:first-of-type){break-before:page}
  .planview .day-head{break-after:avoid}
  .planview .timeline,.pux-chrono-on .day .timeline{display:block!important}
  .slot{break-inside:avoid}
  .slot-card{border-left:3px solid #7a5a14!important}
  .pux-day{padding:4px 0!important;border:0!important;border-bottom:1px solid #ccc!important;border-radius:0!important}
  .pux-bar-track{border:1px solid #777;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pux-seg{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pux-warns{border-left:3px solid #a8402f}
  a{color:inherit!important;text-decoration:none!important}
  .pux-print-qr{display:flex;align-items:center;gap:12px;margin-top:10mm;break-inside:avoid}
  .pux-print-qr p{margin:0;font-size:9pt;color:#333}
}
