/* Batch cooking : le design de Refontes/design_handoff_batch (batch.css, batch-week.css,
   batch-plats.css), CONFINÉ sous .bk par scripts/batch-ui-css.py (cf. commentaire en tête du module
   popotam-batch-ui.js). Ne pas éditer à la main sans raison : le design a des noms de
   classes génériques, et c'est ce confinement qui les empêche de toucher l'appli.
   Les @keyframes sont préfixées bk-. */
.bk *, .bk,.bk *::before,.bk *::after{box-sizing:border-box}
.bk{--card:#fff;--cream:#FFF8EA;--cream2:#FCEFD9;--ink:#2A211B;--ink2:#6A5C4C;--muted:#9C8B79;--line:#F0E5CF;--line2:#EEDFC2;
  --orange:#F0682F;--orange-d:#DA541E;--orange-bg:#FCE3D8;--green:#33A15B;--green-d:#2C8B4E;--green-bg:#E6F3E9;
  --sun:#FFC53D;--sun-d:#F6A609;--sun-bg:#FFF1D2;--plaisir:#E0578F;--violet:#8E7BB5;--violet-bg:#EDE8F6;--blue:#3E8FA8;--blue-bg:#E2F0F4;
  --pill:999px;--fd:"Bricolage Grotesque",system-ui,sans-serif;--fb:"Hanken Grotesk",system-ui,sans-serif;--fh:"Caveat",cursive;
  --spring:cubic-bezier(.3,1.5,.4,1);--sh:0 2px 4px rgba(90,60,20,.05),0 14px 30px -20px rgba(150,90,30,.3)}
.bk{margin:0;font-family:var(--fb);color:var(--ink);line-height:1.5;background:var(--cream);-webkit-tap-highlight-color:transparent}
.bk a{color:var(--orange-d)}
.bk a:hover{color:var(--orange)}
.bk a.bigok,.bk a.bigok:hover{color:#fff}
.bk button{font:inherit;color:inherit}
.bk .ic svg{display:block}
.bk .hd{max-width:1180px;margin:0 auto;padding:18px 20px 4px;display:flex;align-items:flex-end;gap:14px}
.bk .hd .pop{width:74px;flex:none;margin-bottom:-6px}
.bk .hd .pop svg{width:100%;height:auto;display:block}
.bk .hd .tx{min-width:0;flex:1}
.bk .hd .kick{font-family:var(--fd);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-d)}
.bk .hd h1{font-family:var(--fd);font-weight:800;font-size:clamp(26px,5vw,38px);letter-spacing:-.025em;line-height:1.05;margin:2px 0 4px;text-wrap:balance}
.bk .hd .sum{display:flex;gap:6px;flex-wrap:wrap}
.bk .pillx{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--pill);background:var(--card);border:1.5px solid var(--line2);font-size:13px;font-weight:700;color:var(--ink2);white-space:nowrap}
.bk .pillx b{color:var(--ink)}
.bk .pillx input{border:0;background:none;font:800 13px var(--fb);color:var(--orange-d);padding:0;width:62px}
.bk .pillx.btn{cursor:pointer;min-height:32px}
.bk .pillx.btn.on{background:var(--green-bg);border-color:var(--green);color:var(--green-d)}
.bk .lay{max-width:1180px;margin:0 auto;padding:10px 20px 40px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
.bk .side{position:sticky;top:14px;display:flex;flex-direction:column;gap:14px}
.bk .nav{display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:22px;padding:8px;box-shadow:var(--sh)}
.bk .nav button{display:flex;align-items:center;gap:12px;border:0;background:none;border-radius:16px;padding:10px 12px;min-height:52px;cursor:pointer;text-align:left;transition:background .15s}
.bk .nav button:hover{background:var(--cream)}
.bk .nav button.on{background:var(--orange-bg)}
.bk .nav .n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cream2);font:800 13px var(--fd);color:var(--ink2);transition:.3s var(--spring)}
.bk .nav button.on .n{background:var(--orange);color:#fff}
.bk .nav button.done .n{background:var(--green);color:#fff}
.bk .nav .l{flex:1;min-width:0}
.bk .nav .l b{display:block;font:800 15px var(--fd)}
.bk .nav .l span{display:block;font-size:12.5px;color:var(--muted)}
.bk .now{background:var(--card);border-radius:22px;padding:14px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}
.bk .now .top{display:flex;align-items:center;gap:12px}
.bk .ring{position:relative;width:52px;height:52px;flex:none}
.bk .ring svg{width:52px;height:52px;transform:rotate(-90deg)}
.bk .ring circle{fill:none;stroke-width:6}
.bk .ring .bg{stroke:var(--cream2)}
.bk .ring .fg{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .6s var(--spring)}
.bk .ring span{position:absolute;inset:0;display:grid;place-items:center;font:800 12px var(--fd)}
.bk .now .cur{flex:1;min-width:0;cursor:pointer;border-radius:12px;padding:4px 6px;margin:-4px -6px;transition:background .15s}
.bk .now .cur:hover{background:var(--cream)}
.bk .now .cur:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.bk .now .cur small::after{content:" →";color:var(--orange-d)}
.bk .st.flash .card{animation:bk-flash 1.1s ease}
@keyframes bk-flash{0%,100%{box-shadow:var(--sh)}25%{box-shadow:0 0 0 6px var(--orange-bg),var(--sh)}}
.bk .now .cur small{display:block;font-family:var(--fd);font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bk .now .cur p{margin:1px 0 0;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bk .bigok{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--pill);min-height:52px;padding:0 20px;background:var(--orange);color:#fff;
  font:800 16px var(--fd);cursor:pointer;box-shadow:0 4px 0 var(--orange-d);transition:transform .25s var(--spring),box-shadow .15s}
.bk .bigok:active{transform:translateY(3px);box-shadow:0 1px 0 var(--orange-d)}
.bk .bigok.alt{background:var(--green);box-shadow:0 4px 0 var(--green-d)}
.bk .timers{display:flex;flex-direction:column;gap:6px}
.bk .timers:empty{display:none}
.bk .tm{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:16px;background:var(--orange-bg);animation:bk-tmIn .45s var(--spring)}
@keyframes bk-tmIn{from{opacity:0;transform:scale(.9)}}
.bk .tm.four{background:var(--sun-bg)}
.bk .tm.attente{background:var(--violet-bg)}
.bk .tm .lb{flex:1;min-width:0;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk .tm .t{font:800 18px var(--fd);font-variant-numeric:tabular-nums}
.bk .tm{cursor:pointer;align-items:flex-start}
.bk .tm .ic,.bk .tm .t{margin-top:9px}
.bk .tm .lb{display:block;margin:9px 0;line-height:1.35;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
  max-height:1.35em;transition:max-height .42s cubic-bezier(.2,.9,.3,1),color .3s}
.bk .tm.open .lb{white-space:normal;max-height:8.1em}
.bk .tm.open.closing .lb{max-height:1.35em;transition-duration:.3s}
.bk .tm.open:not(.closing) .lb{color:var(--ink)}
.bk .tm .x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.7);cursor:pointer;display:grid;place-items:center}
.bk .tm.ring-now{background:var(--green);color:#fff;animation:bk-ringing .5s ease-in-out infinite alternate}
@keyframes bk-ringing{from{transform:rotate(-1.2deg)}to{transform:rotate(1.2deg)}}
.bk .panel{display:none}
.bk .panel.on{display:block;animation:bk-pIn .35s ease}
@keyframes bk-pIn{from{opacity:0;transform:translateY(8px)}}
.bk .ph{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
.bk .ph h2{flex:none;max-width:100%;font-family:var(--fd);font-weight:800;font-size:24px;letter-spacing:-.015em;margin:0}
.bk .ph .hand{font-family:var(--fh);font-weight:700;font-size:22px;line-height:1.1;color:var(--orange-d)}
.bk .box{background:var(--card);border-radius:22px;padding:16px;box-shadow:var(--sh);margin-bottom:16px}
.bk .box h3{font-family:var(--fd);font-weight:800;font-size:16px;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.bk .box h3 .c{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--muted);font-family:var(--fb)}
.bk .box h3 em{font-style:normal;font-family:var(--fh);font-size:19px;font-weight:700;color:var(--orange-d)}
.bk .chk{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.bk .ck{display:flex;align-items:center;gap:11px;min-height:52px;padding:8px 12px;border-radius:14px;background:var(--cream);border:0;cursor:pointer;text-align:left;transition:background .2s}
.bk .ck .bx{flex:none;width:26px;height:26px;border-radius:9px;border:2px solid var(--line2);background:var(--card);display:grid;place-items:center;color:#fff;transition:.3s var(--spring)}
.bk .ck .bx svg{opacity:0;transform:scale(.4);transition:.3s var(--spring)}
.bk .ck.on{background:var(--green-bg)}
.bk .ck.on .bx{background:var(--green);border-color:var(--green)}
.bk .ck.on .bx svg{opacity:1;transform:none}
.bk .ck .w{flex:1;min-width:0}
.bk .ck .w b{display:block;font-size:14.5px;line-height:1.25}
.bk .ck .w span{font-size:13px;font-weight:700;color:var(--orange-d)}
.bk .ck.on .w b{text-decoration:line-through;text-decoration-color:var(--green);color:var(--ink2)}
.bk .dots{display:flex;gap:3px;flex:none}
.bk .dots i{width:9px;height:9px;border-radius:50%;background:var(--dc)}
.bk .legend{display:flex;gap:6px;margin-bottom:12px}
.bk .flt{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:16px;border:1.5px dashed var(--line2);background:var(--card);
  font-size:14px;font-weight:700;color:var(--ink2);cursor:pointer;text-align:left}
.bk .flt:hover{border-color:var(--orange)}
.bk .flt > span:not(.ic):not(.dots){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk .flt .ic{flex:none;color:var(--orange-d)}
.bk .flt.on{border:2px solid var(--dc);color:var(--ink);background:var(--card)}
.bk .flt.on > i{flex:none;width:12px;height:12px;border-radius:50%;background:var(--dc)}
.bk .flx{flex:none;width:48px;height:48px;border-radius:16px;border:1.5px solid var(--line2);background:var(--card);display:grid;place-items:center;cursor:pointer}
.bk .sheet{position:fixed;inset:0;z-index:60;background:rgba(42,33,27,.36);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.bk .sheet.on{opacity:1;pointer-events:auto}
.bk .sheet .in{width:100%;max-width:520px;max-height:82vh;overflow:auto;background:var(--cream);border-radius:26px 26px 0 0;padding:10px 14px calc(18px + env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform .45s cubic-bezier(.2,.9,.3,1.05)}
.bk .sheet.on .in{transform:none}
.bk .sheet .grab{width:44px;height:5px;border-radius:3px;background:var(--line2);margin:0 auto 10px}
.bk .sheet .sh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 10px}
.bk .sheet .sh b{font:800 18px var(--fd)}
.bk .sheet .sh button{width:44px;height:44px;border:0;border-radius:50%;background:var(--cream2);display:grid;place-items:center;cursor:pointer}
.bk .dls{display:flex;flex-direction:column;gap:6px}
.bk .dl{display:flex;align-items:flex-start;gap:12px;min-height:56px;padding:12px 14px;border-radius:16px;border:2px solid transparent;background:var(--card);cursor:pointer;text-align:left}
.bk .dl > i{flex:none;width:14px;height:14px;border-radius:50%;background:var(--dc);margin-top:3px}
.bk .dl .w{flex:1;min-width:0}
.bk .dl .w b{display:block;font-size:15px;line-height:1.3;text-wrap:pretty}
.bk .dl .w span{font-size:12.5px;color:var(--muted);font-weight:700}
.bk .dl.on{border-color:var(--orange);background:#FFFDF8}
@media (min-width:901px){.bk .sheet{align-items:center}
.bk .sheet .in{border-radius:26px;transform:translateY(20px) scale(.97);opacity:0;transition:.35s var(--spring)}
.bk .sheet.on .in{transform:none;opacity:1}
.bk .sheet .grab{display:none}}
.bk .tl{position:relative;display:flex;flex-direction:column;gap:8px}
.bk .st{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 12px;transition:opacity .3s}
.bk .st.dim{opacity:.28}
.bk .st .when{padding-top:14px;text-align:right}
.bk .st .when b{display:block;font:800 16px var(--fd);font-variant-numeric:tabular-nums}
.bk .st .when span{font-size:11.5px;color:var(--muted);font-weight:700}
.bk .st .card{position:relative;background:var(--card);border-radius:18px;padding:12px 12px 12px 14px;box-shadow:var(--sh);display:flex;gap:12px;align-items:flex-start;
  border:2px solid transparent;transition:border-color .2s,background .2s}
.bk .st .main{flex:1;min-width:0}
.bk .st .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px}
.bk .kind{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:var(--pill);font-size:12px;font-weight:800;white-space:nowrap}
.bk .k-prep{background:var(--cream2);color:var(--ink2)}
.bk .k-feu{background:var(--orange-bg);color:var(--orange-d)}
.bk .k-four{background:var(--sun-bg);color:#8A5A00}
.bk .k-attente{background:var(--violet-bg);color:#5E4C8A}
.bk .k-box{background:var(--blue-bg);color:#24697D}
.bk .par{font-size:11.5px;font-weight:800;color:var(--orange-d)}
.bk .st .txt{margin:0;font-size:15px;line-height:1.5;text-wrap:pretty}
.bk .st .txt b{font-weight:800;color:var(--ink);background:linear-gradient(transparent 60%,var(--sun-bg) 60%)}
.bk .st .foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.bk .dn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink2);white-space:nowrap;min-width:0;max-width:100%}
.bk .dn > span{overflow:hidden;text-overflow:ellipsis}
.bk .dn.many .dots i{width:9px;height:9px}
.bk .dn i{flex:none}
.bk .dn i{width:9px;height:9px;border-radius:50%;background:var(--dc)}
.bk .tbtn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border-radius:var(--pill);border:1.5px solid var(--line2);background:var(--card);cursor:pointer;font-size:13px;font-weight:800;color:var(--ink)}
.bk .tbtn:hover{border-color:var(--orange)}
.bk .tgrp{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--pill);background:var(--orange-bg);animation:bk-tmIn .4s var(--spring)}
.bk .tgrp .tbtn.run{background:none;border:0;cursor:default;padding:0 8px 0 10px;color:var(--orange-d)}
.bk .tgrp .tw{white-space:nowrap}
.bk .tgrp .tl{font-family:var(--fd);font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);min-width:3.2em}
.bk .tb-ic{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.75);color:var(--orange-d);display:grid;place-items:center;cursor:pointer;transition:transform .25s var(--spring),background .15s}
.bk .tb-ic:hover{background:#fff}
.bk .tb-ic:active{transform:scale(.88)}
.bk .tgrp.paused{background:var(--cream2)}
.bk .tgrp.paused .tbtn.run,.bk .tgrp.paused .tb-ic{color:var(--ink2)}
.bk .tm.paused{background:var(--cream2)}
.bk .tm.paused .t{color:var(--muted)}
.bk .tm .x.p{color:var(--ink)}
.bk .done-b{flex:none;width:44px;height:44px;border-radius:50%;border:2px solid var(--line2);background:var(--card);display:grid;place-items:center;cursor:pointer;color:transparent;transition:.35s var(--spring)}
.bk .done-b:hover{border-color:var(--green);color:var(--green)}
.bk .st.cur .card{border-color:var(--orange);background:#FFFDF8}
.bk .st.cur .when b{color:var(--orange-d)}
.bk .st.cur .txt{font-size:16.5px}
.bk .st.cur .done-b{border-color:var(--orange);color:var(--orange)}
.bk .st.cur::before{content:"";position:absolute;left:-12px;top:22px;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px var(--orange-bg)}
.bk .st.ok .card{background:transparent;box-shadow:none;padding:6px 12px 6px 14px;align-items:center}
.bk .st.ok .when{padding-top:8px}
.bk .st.ok .when b{color:var(--muted);font-size:14px}
.bk .st.ok .when span,.bk .st.ok .foot,.bk .st.ok .meta{display:none}
.bk .st.ok .txt{font-size:13.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:line-through;text-decoration-color:var(--line2)}
.bk .st.ok .txt b{background:none;color:inherit;font-weight:600}
.bk .st.ok .done-b{width:36px;height:36px;background:var(--green);border-color:var(--green);color:#fff}
.bk .st.pop .done-b{animation:bk-pop .5s var(--spring)}
@keyframes bk-pop{0%{transform:scale(.6)}100%{transform:scale(1)}}
.bk .addst{display:grid;grid-template-columns:minmax(0,1fr) 70px auto;gap:8px;margin:14px 0 0 68px}
.bk .addst input{min-height:46px;border-radius:14px;border:1.5px solid var(--line2);background:var(--card);padding:0 12px;font:500 14.5px var(--fb);color:var(--ink);min-width:0}
.bk .addst input:focus{outline:none;border-color:var(--orange)}
.bk .addst button{min-height:46px;border-radius:14px;border:0;background:var(--ink);color:#F6EEE3;font:800 14px var(--fd);padding:0 16px;cursor:pointer}
.bk .tip{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:var(--sun-bg);font-size:14px;margin-bottom:16px}
.bk .tip .ic{flex:none;color:#8A5A00}
.bk .boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.bk .bx2{position:relative;background:var(--card);border-radius:18px;padding:14px 14px 12px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:6px;overflow:hidden;border-top:8px solid var(--dc)}
.bk .bx2 .day{font:800 15px var(--fd)}
.bk .bx2 .nm{font-size:13.5px;color:var(--ink2);line-height:1.35;flex:1}
.bk .where{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:var(--pill);font-size:12.5px;font-weight:800}
.bk .w-frigo{background:var(--blue-bg);color:#24697D}
.bk .w-congel{background:var(--violet-bg);color:#5E4C8A}
.bk .bx2 .out{font-size:12.5px;font-weight:700;color:#5E4C8A}
.bk .before{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.bk .before span{font-size:13px;color:var(--ink2);padding:5px 11px;border-radius:var(--pill);background:var(--cream2)}
.bk .before b{color:var(--ink)}
.bk .days{display:flex;flex-direction:column;gap:8px}
.bk .dy{background:var(--card);border-radius:18px;box-shadow:var(--sh);overflow:hidden}
.bk .dy summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:60px;cursor:pointer}
.bk .dy summary::-webkit-details-marker{display:none}
.bk .dy .sw{flex:none;width:12px;height:36px;border-radius:6px;background:var(--dc)}
.bk .dy .w{flex:1;min-width:0}
.bk .dy .w b{display:block;font:800 15px var(--fd)}
.bk .dy .w span{display:block;font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk .dy .chev{flex:none;color:var(--muted);transition:transform .3s var(--spring)}
.bk .dy[open] .chev{transform:rotate(90deg)}
.bk .dy p{margin:0;padding:0 16px 16px 38px;font-size:14.5px;text-wrap:pretty}
.bk .dy.today{outline:2px solid var(--orange)}
.bk .fin{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:26px 0 0}
.bk .ghost{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border-radius:var(--pill);border:1.5px solid var(--line2);background:var(--card);font:800 14px var(--fd);cursor:pointer;color:var(--ink)}
.bk .ghost:hover{border-color:var(--orange)}
@media (max-width:900px){.bk .hd{padding:14px 16px 2px;gap:10px}
.bk .hd .pop{width:58px}
.bk .lay{display:block;padding:0 0 150px}
.bk .side{display:contents}
.bk .nav{position:sticky;top:0;z-index:20;flex-direction:row;border-radius:0;padding:8px 10px;gap:4px;background:rgba(255,248,234,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line2);margin-bottom:12px}
.bk .nav button{flex:1;flex-direction:column;gap:3px;padding:6px 2px;min-height:56px;border-radius:14px;justify-content:center;text-align:center}
.bk .nav .n{width:26px;height:26px;font-size:12px}
.bk .nav .l b{font-size:12.5px}
.bk .nav .l span{display:none}
.bk .now{position:fixed;left:8px;right:8px;bottom:8px;z-index:30;border-radius:24px;padding:10px;gap:8px;box-shadow:0 -2px 0 var(--line2),0 18px 40px -10px rgba(90,50,10,.45)}
.bk .now .top{gap:10px}
.bk .ring,.bk .ring svg{width:44px;height:44px}
.bk .now .row{display:flex;gap:8px;align-items:center}
.bk .now .row .bigok{flex:1}
.bk .panel{padding:0 14px}
.bk .st{grid-template-columns:44px minmax(0,1fr);gap:0 8px}
.bk .st .when b{font-size:14px}
.bk .st.cur::before{display:none}
.bk .st .card{padding:12px 10px 12px 12px}
.bk .addst{margin-left:0;grid-template-columns:minmax(0,1fr) 62px}
.bk .addst button{grid-column:1/-1}
.bk .chk{grid-template-columns:1fr}}
@media (max-width:900px){.bk .tm{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;column-gap:8px;align-items:start}
.bk .tm .ic{grid-column:1;grid-row:1}
.bk .tm .lb{grid-column:2;grid-row:1}
.bk .tm .t{grid-column:3;grid-row:1}
.bk .tm .x.p{grid-column:4;grid-row:1}
.bk .tm .x:not(.p){grid-column:5;grid-row:1}
.bk .tm.open .lb{grid-column:2/-1}
.bk .tm.open .t{grid-column:2;grid-row:2;margin-top:0;align-self:center}
.bk .tm.open .x.p{grid-row:2;margin-bottom:0}
.bk .tm.open .x:not(.p){grid-row:2}
.bk .tm.open:not(.closing) .t,.bk .tm.open:not(.closing) .x{animation:bk-tmIn .35s var(--spring)}}
@media (min-width:901px){.bk .tm{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:8px;align-items:center;padding:6px 8px 8px 12px}
.bk .tm .ic{grid-row:1;grid-column:1;margin-top:0}
.bk .tm .lb{grid-row:1;grid-column:2/-1;margin:8px 0 4px}
.bk .tm .t{grid-row:2;grid-column:2;margin-top:0}
.bk .tm .x.p{grid-row:2;grid-column:3}
.bk .tm .x:not(.p){grid-row:2;grid-column:4}
.bk .tm .ic{align-self:start;margin-top:8px}}
@media (min-width:901px){.bk .now .row{display:flex;flex-direction:column;gap:8px}}
@media (prefers-reduced-motion:reduce){.bk *, .bk{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.bk:not(.bk-plan) .wk-wrap{max-width:1180px;margin:0 auto;padding:6px 20px 140px}
.bk:not(.bk-plan) .flow{display:flex;gap:6px;margin:4px 0 18px;flex-wrap:wrap}
.bk:not(.bk-plan) .flow a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 8px;border-radius:var(--pill);background:var(--card);border:1.5px solid var(--line2);
  text-decoration:none;color:var(--ink2);font:700 14px var(--fb)}
.bk:not(.bk-plan) .flow a .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cream2);font:800 13px var(--fd);color:var(--ink2)}
.bk:not(.bk-plan) .flow a.on{background:var(--orange);border-color:var(--orange);color:#fff}
.bk:not(.bk-plan) .flow a.on .n{background:rgba(255,255,255,.28);color:#fff}
.bk:not(.bk-plan) .flow a.ok .n{background:var(--green);color:#fff}
.bk:not(.bk-plan) .sessc{background:var(--card);border-radius:22px;padding:14px 16px 16px;box-shadow:var(--sh);margin-bottom:12px}
.bk:not(.bk-plan) .sessc .hh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bk:not(.bk-plan) .sessc .hh b{font:800 16px var(--fd)}
.bk:not(.bk-plan) .sessc .hh span{font-size:13.5px;color:var(--ink2)}
.bk:not(.bk-plan) .dpick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding-top:14px}
.bk:not(.bk-plan) .dp{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:58px;border-radius:16px;border:2px solid var(--line2);background:var(--card);cursor:pointer;
  transition:transform .3s var(--spring),background .2s,border-color .2s}
.bk:not(.bk-plan) .dp b{font:800 14px var(--fd)}
.bk:not(.bk-plan) .dp span{font-size:12px;color:var(--muted);font-weight:700}
.bk:not(.bk-plan) .dp:hover{border-color:var(--orange)}
.bk:not(.bk-plan) .dp.on{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-3px)}
.bk:not(.bk-plan) .dp.on span{color:rgba(255,255,255,.85)}
.bk:not(.bk-plan) .dp .tq{position:absolute;top:-24px;left:50%;width:30px;height:30px;margin-left:-15px;opacity:0;transform:scale(.4) translateY(8px);transition:.4s var(--spring)}
.bk:not(.bk-plan) .dp.on .tq{opacity:1;transform:none}
.bk:not(.bk-plan) .dp .tq svg{width:100%;height:100%}
.bk:not(.bk-plan) .warn{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:18px;background:var(--orange-bg);margin-bottom:12px;animation:bk-pIn .35s ease}
.bk:not(.bk-plan) .warn .ic{flex:none;color:var(--orange-d)}
.bk:not(.bk-plan) .warn p{flex:1;min-width:200px;margin:0;font-size:14.5px}
.bk:not(.bk-plan) .warn p b{color:var(--orange-d)}
.bk:not(.bk-plan) .warn.good{background:var(--green-bg)}
.bk:not(.bk-plan) .warn.good .ic,.bk:not(.bk-plan) .warn.good p b{color:var(--green-d)}
.bk:not(.bk-plan) .fix{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--pill);border:0;background:var(--ink);color:#F6EEE3;font:800 14px var(--fd);cursor:pointer;white-space:nowrap}
.bk:not(.bk-plan) .fix:active{transform:scale(.97)}
.bk:not(.bk-plan) .hint{display:flex;align-items:center;gap:10px;min-height:44px;margin:4px 0 10px;font-size:13.5px;color:var(--ink2)}
.bk:not(.bk-plan) .hint.sel{position:sticky;top:8px;z-index:15;padding:6px 6px 6px 14px;border-radius:var(--pill);background:var(--ink);color:#F6EEE3;box-shadow:0 12px 26px -12px rgba(42,33,27,.6)}
.bk:not(.bk-plan) .hint.sel b{color:var(--sun)}
.bk:not(.bk-plan) .hint.sel span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk:not(.bk-plan) .hint.sel button{flex:none;min-height:36px;padding:0 14px;border-radius:var(--pill);border:0;background:rgba(255,255,255,.14);color:#fff;font:800 13px var(--fd);cursor:pointer}
.bk:not(.bk-plan) .ml{position:relative;width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-height:76px;padding:11px 12px 12px;border-radius:16px;
  background:var(--card);border:2px solid transparent;box-shadow:var(--sh);cursor:pointer;transition:transform .3s var(--spring),box-shadow .2s,border-color .2s,opacity .2s;touch-action:manipulation}
.bk:not(.bk-plan) .ml .nm{font-size:14.5px;font-weight:700;line-height:1.3;text-wrap:pretty}
.bk:not(.bk-plan) .ml:hover{border-color:var(--line2)}
.bk:not(.bk-plan) .tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:var(--pill);font-size:12px;font-weight:800;line-height:1.25}
.bk:not(.bk-plan) .tag small{display:block;font-weight:700;font-size:11px;opacity:.85}
.bk:not(.bk-plan) .t-frigo{background:var(--blue-bg);color:#24697D}
.bk:not(.bk-plan) .t-congel{background:var(--violet-bg);color:#5E4C8A;align-items:flex-start}
.bk:not(.bk-plan) .t-congel .ic{margin-top:1px}
.bk:not(.bk-plan) .t-before{background:var(--orange-bg);color:var(--orange-d)}
.bk:not(.bk-plan) .t-skip{background:var(--cream2);color:var(--ink2)}
.bk:not(.bk-plan) .ml.early{border-color:var(--orange);border-style:dashed}
.bk:not(.bk-plan) .ml.quick{background:transparent;box-shadow:none;border:2px dashed var(--line2)}
.bk:not(.bk-plan) .ml.quick .nm{color:var(--ink2);font-weight:600}
.bk:not(.bk-plan) .ml.none{background:transparent;box-shadow:none;border:2px dashed var(--line2);align-items:center;justify-content:center;color:var(--muted);font-size:13px;font-weight:700}
.bk:not(.bk-plan) .picking .ml:not(.sel){border-color:var(--line2);border-style:dashed}
.bk:not(.bk-plan) .picking .ml:not(.sel):hover,.bk:not(.bk-plan) .ml.over{border-color:var(--orange)!important;border-style:solid!important;background:#FFFDF8}
.bk:not(.bk-plan) .ml.sel{border-color:var(--orange);border-style:solid;transform:translateY(-4px) rotate(-1deg);box-shadow:0 18px 30px -14px rgba(160,70,20,.5);z-index:2}
.bk:not(.bk-plan) .ml.dragging{opacity:.4}
.bk:not(.bk-plan) .wl{display:flex;flex-direction:column;gap:8px}
.bk:not(.bk-plan) .zone{display:flex;align-items:baseline;gap:8px;margin:10px 2px 2px}
.bk:not(.bk-plan) .zone b{font:800 13px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bk:not(.bk-plan) .zone span{font-size:13px;color:var(--muted)}
.bk:not(.bk-plan) .zone.after b{color:var(--green-d)}
.bk:not(.bk-plan) .row{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:stretch}
.bk:not(.bk-plan) .row .dm{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right;line-height:1.15}
.bk:not(.bk-plan) .row .dm b{font:800 14px var(--fd)}
.bk:not(.bk-plan) .row .dm span{font-size:12px;color:var(--muted);font-weight:700}
.bk:not(.bk-plan) .row.first .dm b::after{content:""}
.bk:not(.bk-plan) .band{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;background:var(--orange);color:#fff;margin:6px 0;box-shadow:0 6px 0 var(--orange-d)}
.bk:not(.bk-plan) .band .tq{flex:none;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.2);display:grid;place-items:center;transform:rotate(-4deg)}
.bk:not(.bk-plan) .band .tq svg{width:38px;height:38px}
.bk:not(.bk-plan) .band b{display:block;font:800 16px var(--fd)}
.bk:not(.bk-plan) .band span{display:block;font-size:13px;opacity:.92}
.bk:not(.bk-plan) .wg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 10px}
.bk:not(.bk-plan) .wg .dh{padding:0 4px 4px;border-radius:14px}
.bk:not(.bk-plan) .wg .dh b{display:block;font:800 15px var(--fd)}
.bk:not(.bk-plan) .wg .dh span{font-size:12.5px;color:var(--muted)}
.bk:not(.bk-plan) .wg .dh.ses{background:var(--orange);color:#fff;padding:6px 10px 8px;margin:-6px -4px 0;position:relative}
.bk:not(.bk-plan) .wg .dh.ses span{color:rgba(255,255,255,.85)}
.bk:not(.bk-plan) .wg .dh.ses i{position:absolute;right:6px;top:-12px;width:34px;height:34px;transform:rotate(8deg)}
.bk:not(.bk-plan) .wg .dh.ses i svg{width:100%;height:100%}
.bk:not(.bk-plan) .wg .lbl{grid-column:1/-1;display:none}
.bk:not(.bk-plan) .wg .cell{display:flex;flex-direction:column;gap:5px;min-width:0}
.bk:not(.bk-plan) .wg .cell > small{font:800 11px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-left:4px}
.bk:not(.bk-plan) .wg .ml{flex:1;min-height:130px}
.bk:not(.bk-plan) .wg .bandc{display:flex;align-items:center;justify-content:center;gap:6px;min-height:30px;border-radius:var(--pill);background:var(--orange);color:#fff;font:800 12px var(--fd);white-space:nowrap}
.bk:not(.bk-plan) .wg .cell.pre{opacity:.96}
.bk:not(.bk-plan) .wg .zbar{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:-2px}
.bk:not(.bk-plan) .wg .zbar span{height:6px;border-radius:3px;background:var(--line2)}
.bk:not(.bk-plan) .wg .zbar span.aft{background:var(--green)}
.bk:not(.bk-plan) .wg .zbar span.mid{background:linear-gradient(90deg,var(--line2) 50%,var(--green) 50%)}
.bk:not(.bk-plan) .act{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,248,234,.94);backdrop-filter:blur(10px);box-shadow:0 -1px 0 var(--line2)}
.bk:not(.bk-plan) .act .in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:10px}
.bk:not(.bk-plan) .act-st{flex:1;min-width:0;font-size:13.5px;color:var(--ink2);line-height:1.3}
.bk:not(.bk-plan) .act-st b{color:var(--ink)}
.bk:not(.bk-plan) .act .bigok small{margin-left:6px;padding:1px 7px;border-radius:var(--pill);background:rgba(255,255,255,.25);font:800 11.5px var(--fd);color:#fff;white-space:nowrap}
.bk:not(.bk-plan) .act .ghost,.bk:not(.bk-plan) .act .bigok{white-space:nowrap}
.bk:not(.bk-plan) .act .ghost small{white-space:nowrap;margin-left:6px;padding:1px 7px;border-radius:var(--pill);background:var(--cream2);font:800 11.5px var(--fd);color:var(--ink2)}
.bk:not(.bk-plan) .act .bigok{min-height:48px;text-decoration:none}
@media (max-width:640px){.bk:not(.bk-plan) .wk-wrap{padding:4px 14px 150px}
.bk:not(.bk-plan) .dpick{gap:4px}
.bk:not(.bk-plan) .dp{min-height:54px;border-radius:14px}
.bk:not(.bk-plan) .act .in{flex-wrap:wrap}
.bk:not(.bk-plan) .act-st{flex-basis:100%}
.bk:not(.bk-plan) .act .ghost,.bk:not(.bk-plan) .act .bigok{flex:1;justify-content:center;min-height:48px}
.bk:not(.bk-plan) .flow a{padding-right:12px;font-size:13px}}
.bk.bk-plats .pl-lay{max-width:1180px;margin:0 auto;padding:4px 20px 150px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.bk.bk-plats .pl-side{position:sticky;top:14px;display:flex;flex-direction:column;gap:12px}
.bk.bk-plats .pl-scope{background:var(--card);border-radius:22px;padding:14px 16px 16px;box-shadow:var(--sh);margin-bottom:14px}
.bk.bk-plats .pl-scope .q{font:800 16px var(--fd);margin:0 0 10px}
.bk.bk-plats .pl-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.bk.bk-plats .pl-seg button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:16px;border:2px solid var(--line2);background:var(--card);cursor:pointer;
  font:800 15px var(--fd);color:var(--ink2);transition:transform .3s var(--spring),background .2s,border-color .2s,color .2s}
.bk.bk-plats .pl-seg button:hover{border-color:var(--orange)}
.bk.bk-plats .pl-seg button.on{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-2px)}
.bk.bk-plats .pl-seg button small{flex:none;white-space:nowrap;font:700 12px var(--fb);opacity:.8}
.bk.bk-plats .pl-seg button > span{white-space:nowrap}
.bk.bk-plats .pl-note{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;background:var(--sun-bg);margin-bottom:14px}
.bk.bk-plats .pl-note .pf{flex:none;width:46px;height:46px}
.bk.bk-plats .pl-note .pf svg{width:100%;height:100%}
.bk.bk-plats .pl-note p{margin:0;font-size:14.5px;text-wrap:pretty}
.bk.bk-plats .pl-note b{color:#8A5A00}
.bk.bk-plats .pl-day{display:flex;align-items:baseline;gap:8px;margin:18px 2px 8px}
.bk.bk-plats .pl-day b{font:800 17px var(--fd)}
.bk.bk-plats .pl-day span{font-size:13px;color:var(--muted);font-weight:700}
.bk.bk-plats .pl-list{display:flex;flex-direction:column;gap:8px}
.bk.bk-plats .pl-m{position:relative;display:flex;align-items:center;gap:14px;background:var(--card);border-radius:18px;padding:12px 12px 12px 14px;box-shadow:var(--sh);border:2px solid transparent;transition:background .25s,box-shadow .25s,border-color .25s}
.bk.bk-plats .pl-m .tg{flex:none;width:44px;height:44px;border-radius:14px;border:2px solid var(--line2);background:var(--card);display:grid;place-items:center;color:#fff;cursor:pointer;transition:.35s var(--spring)}
.bk.bk-plats .pl-m .tg svg{opacity:0;transform:scale(.3) rotate(-20deg);transition:.35s var(--spring)}
.bk.bk-plats .pl-m.on .tg{background:var(--green);border-color:var(--green)}
.bk.bk-plats .pl-m.on .tg svg{opacity:1;transform:none}
.bk.bk-plats .pl-m .bd{flex:1;min-width:0;cursor:pointer}
.bk.bk-plats .pl-m .nm{display:block;font-size:15.5px;font-weight:700;line-height:1.3;text-wrap:pretty}
.bk.bk-plats .pl-m .mt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:13px;color:var(--ink2)}
.bk.bk-plats .pl-when{display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 6px;border-radius:var(--pill);font-size:12px;font-weight:800}
.bk.bk-plats .pl-when.midi{background:var(--sun-bg);color:#8A5A00}
.bk.bk-plats .pl-when.soir{background:var(--violet-bg);color:#5E4C8A}
.bk.bk-plats .pl-m .why0{font-size:12.5px;color:var(--muted);font-weight:700}
.bk.bk-plats .pl-m:not(.on){background:rgba(255,255,255,.55);box-shadow:none;border-color:var(--line2);border-style:dashed}
.bk.bk-plats .pl-m:not(.on) .nm{color:var(--ink2);font-weight:600}
.bk.bk-plats .pl-m.fresh{border-color:var(--sun-bg);border-style:solid}
.bk.bk-plats .pl-m.fresh.on{border-color:var(--sun)}
.bk.bk-plats .pl-m.fresh.on .tg{background:var(--sun-d);border-color:var(--sun-d)}
.bk.bk-plats .pl-m .why0.jj{color:#8A5A00}
.bk.bk-plats .pl-jj{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 6px 0 11px;border-radius:var(--pill);border:0;background:var(--sun-bg);color:#8A5A00;font:800 12.5px var(--fd);cursor:pointer}
.bk.bk-plats .pl-jj i{width:20px;height:20px;border-radius:50%;background:var(--sun);color:#5A3A05;display:grid;place-items:center;font:800 12px var(--fd);font-style:normal;transition:transform .3s var(--spring)}
.bk.bk-plats .pl-m.open .pl-jj i{transform:rotate(180deg)}
.bk.bk-plats .pl-why{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.9,.3,1)}
.bk.bk-plats .pl-m.open .pl-why{grid-template-rows:1fr}
.bk.bk-plats .pl-why > div{overflow:hidden}
.bk.bk-plats .pl-why p{margin:8px 0 0;padding:10px 12px;border-radius:14px;background:var(--cream);font-size:14px;line-height:1.45;text-wrap:pretty;position:relative}
.bk.bk-plats .pl-why p::before{content:"";position:absolute;left:18px;top:-6px;width:12px;height:12px;background:var(--cream);transform:rotate(45deg)}
.bk.bk-plats .pl-chg{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:var(--pill);border:1.5px solid var(--line2);background:var(--card);cursor:pointer;font:800 13.5px var(--fd);color:var(--ink);white-space:nowrap}
.bk.bk-plats .pl-chg:hover{border-color:var(--orange);color:var(--orange-d)}
.bk.bk-plats .pl-m.swapped{animation:bk-plNew 1.2s ease}
@keyframes bk-plNew{0%{border-color:var(--green);box-shadow:0 0 0 6px var(--green-bg),var(--sh)}100%{border-color:transparent}}
.bk.bk-plats .pl-new{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--pill);background:var(--green-bg);color:var(--green-d);font-size:12px;font-weight:800}
.bk.bk-plats .pl-sum{background:var(--card);border-radius:22px;padding:16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:12px}
.bk.bk-plats .pl-sum .big{display:flex;align-items:baseline;gap:8px}
.bk.bk-plats .pl-sum .big b{font:800 40px var(--fd);letter-spacing:-.03em;line-height:1}
.bk.bk-plats .pl-sum .big span{font-size:15px;color:var(--ink2);font-weight:700}
.bk.bk-plats .pl-kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px;margin:0}
.bk.bk-plats .pl-kv dt{color:var(--ink2);display:flex;align-items:center;gap:6px}
.bk.bk-plats .pl-kv dd{margin:0;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
.bk.bk-plats .pl-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--cream2);gap:2px}
.bk.bk-plats .pl-bar span{height:100%;flex-basis:0;min-width:0;border-radius:5px;transition:flex-grow .7s cubic-bezier(.3,1.35,.45,1)}
.bk.bk-plats .pl-sum .big b{display:inline-block;font-variant-numeric:tabular-nums;transform-origin:left bottom}
.bk.bk-plats .pl-sum .bigok{width:100%;text-decoration:none}
.bk.bk-plats .pl-sum .fine{margin:0;font-size:12.5px;color:var(--muted);text-wrap:pretty}
.bk.bk-plats .pl-left{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}
.bk.bk-plats .pl-left b{color:var(--ink)}
.bk.bk-plats .pl-sh .from{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--card);margin-bottom:12px;font-size:13.5px;color:var(--ink2)}
.bk.bk-plats .pl-sh .from b{color:var(--ink);display:block;font-size:14.5px}
.bk.bk-plats .pl-ld{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 10px 28px;text-align:center}
.bk.bk-plats .pl-ld .pp{width:96px;animation:bk-plBob 1s ease-in-out infinite alternate}
.bk.bk-plats .pl-ld .pp svg{width:100%;height:auto;display:block}
@keyframes bk-plBob{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-6px) rotate(3deg)}}
.bk.bk-plats .pl-ld b{font:800 17px var(--fd)}
.bk.bk-plats .pl-ld span{font-size:14px;color:var(--ink2);min-height:1.5em;transition:opacity .25s}
.bk.bk-plats .pl-sk{display:flex;flex-direction:column;gap:8px;width:100%}
.bk.bk-plats .pl-sk i{display:block;height:74px;border-radius:16px;background:linear-gradient(90deg,var(--card) 0%,#FFF6E8 50%,var(--card) 100%);background-size:200% 100%;animation:bk-plSk 1.1s linear infinite}
@keyframes bk-plSk{to{background-position:-200% 0}}
.bk.bk-plats .pl-alts{display:flex;flex-direction:column;gap:8px}
.bk.bk-plats .pl-alt{display:flex;align-items:center;gap:12px;min-height:74px;padding:12px 14px;border-radius:18px;border:2px solid transparent;background:var(--card);cursor:pointer;text-align:left;box-shadow:var(--sh);
  animation:bk-plIn .45s var(--spring) both;transition:border-color .2s,transform .25s var(--spring)}
.bk.bk-plats .pl-alt:nth-child(2){animation-delay:.07s}
.bk.bk-plats .pl-alt:nth-child(3){animation-delay:.14s}
@keyframes bk-plIn{from{opacity:0;transform:translateY(12px) scale(.97)}}
.bk.bk-plats .pl-alt:hover{border-color:var(--orange)}
.bk.bk-plats .pl-alt:active{transform:scale(.98)}
.bk.bk-plats .pl-alt .w{flex:1;min-width:0}
.bk.bk-plats .pl-alt .w b{display:block;font-size:15px;line-height:1.3;text-wrap:pretty}
.bk.bk-plats .pl-alt .w span{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.bk.bk-plats .pl-alt .keep{padding:2px 9px;border-radius:var(--pill);background:var(--blue-bg);color:#24697D;font-size:12px;font-weight:800}
.bk.bk-plats .pl-alt .tm{padding:2px 9px;border-radius:var(--pill);background:var(--cream2);color:var(--ink2);font-size:12px;font-weight:800}
.bk.bk-plats .pl-alt .go{flex:none;width:40px;height:40px;border-radius:50%;background:var(--orange-bg);color:var(--orange-d);display:grid;place-items:center}
.bk.bk-plats .pl-sh .foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--muted)}
.bk.bk-plats .pl-sh .foot button{min-height:44px;padding:0 14px;border-radius:var(--pill);border:1.5px solid var(--line2);background:var(--card);font:800 13.5px var(--fd);cursor:pointer;color:var(--ink)}
@media (max-width:960px){.bk.bk-plats .pl-lay{display:block;padding:4px 14px 170px}
.bk.bk-plats .pl-side{display:none}}
@media (min-width:961px){.bk.bk-plats .act.pl-act{display:none}}
@media (max-width:560px){.bk.bk-plats .pl-m{flex-wrap:wrap;gap:12px;padding:12px}
.bk.bk-plats .pl-m .pl-chg{margin-left:58px}
.bk.bk-plats .pl-seg button{flex-direction:column;gap:2px;min-height:58px;font-size:14px}}
.bk.bk-plats .pl-alt{transition:border-color .25s,transform .45s var(--spring),box-shadow .35s,background .25s}
.bk.bk-plats .pl-alt.pick{border-color:var(--green);background:#FBFFF9;transform:scale(1.03);box-shadow:0 0 0 6px var(--green-bg),var(--sh)}
.bk.bk-plats .pl-alt.pick .go{background:var(--green);color:#fff;transition:.3s var(--spring)}
.bk.bk-plats .pl-alt.drop{animation:bk-plOut .38s cubic-bezier(.5,0,.8,.4) forwards}
@keyframes bk-plOut{to{opacity:0;transform:translateY(18px) scale(.94)}}
.bk.bk-plats .sheet .in{overflow:hidden auto}
.bk.bk-plats .sheet .in.ok .from,.bk.bk-plats .sheet .in.ok .foot{display:none}
.bk.bk-plats .pl-ok{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:4px 4px 6px}
.bk.bk-plats .pl-ok > *{animation:bk-okUp .55s cubic-bezier(.3,1.35,.45,1) both}
.bk.bk-plats .pl-ok h3{animation-delay:.12s}
.bk.bk-plats .pl-ok p{animation-delay:.2s}
.bk.bk-plats .pl-okc{animation-delay:.3s!important}
.bk.bk-plats .pl-ok .bigok{animation-delay:.4s!important}
@keyframes bk-okUp{from{opacity:0;transform:translateY(16px) scale(.96)}}
.bk.bk-plats .pl-ok .pp{position:relative;width:112px;animation:bk-okHop .8s cubic-bezier(.3,1.5,.4,1) both}
.bk.bk-plats .pl-ok .pp svg{width:100%;height:auto;display:block}
@keyframes bk-okHop{0%{opacity:0;transform:translateY(24px) scale(.6)}60%{transform:translateY(-8px) scale(1.06) rotate(-4deg)}100%{transform:none}}
.bk.bk-plats .pl-ok .h{position:absolute;color:var(--plaisir);opacity:0;animation:bk-okHeart 1.8s ease-out forwards}
.bk.bk-plats .pl-ok .h svg{fill:var(--plaisir-bg,#FCE4EE)}
.bk.bk-plats .pl-ok .h1{left:-4px;top:26px;animation-delay:.35s}
.bk.bk-plats .pl-ok .h2{right:0;top:12px;animation-delay:.55s}
.bk.bk-plats .pl-ok .h3{right:-14px;top:44px;animation-delay:.75s}
@keyframes bk-okHeart{0%{opacity:0;transform:translateY(8px) scale(.4)}25%{opacity:1;transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-48px) scale(.9) rotate(12deg)}}
.bk.bk-plats .pl-ok h3{margin:4px 0 0;font:800 22px var(--fd);letter-spacing:-.015em;text-wrap:balance}
.bk.bk-plats .pl-ok p{margin:0;font-size:14.5px;color:var(--ink2);max-width:34ch;text-wrap:pretty}
.bk.bk-plats .pl-okc{display:flex;align-items:center;gap:12px;width:100%;margin-top:8px;padding:12px 14px;border-radius:18px;background:var(--card);border:2px solid var(--green);box-shadow:0 0 0 5px var(--green-bg);text-align:left}
.bk.bk-plats .pl-okc .ck{flex:none;width:36px;height:36px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center}
.bk.bk-plats .pl-okc .w{min-width:0}
.bk.bk-plats .pl-okc b{display:block;font-size:15px;line-height:1.3}
.bk.bk-plats .pl-okc .w span{font-size:12.5px;color:var(--ink2);font-weight:700}
.bk.bk-plats .pl-ok .bigok{width:100%;margin-top:8px}
@media (prefers-reduced-motion:reduce){.bk.bk-plats .pl-ok > *,.bk.bk-plats .pl-ok .pp,.bk.bk-plats .pl-alt.drop{animation:none}
.bk.bk-plats .pl-ok .h{display:none}}
.bk.bk-plats #sGo,.bk.bk-plats #actGo{position:relative;overflow:hidden;gap:10px;transition:transform .35s var(--spring),box-shadow .2s,background .2s}
.bk.bk-plats #sGo svg{transition:transform .35s var(--spring)}
.bk.bk-plats #sGo:hover,.bk.bk-plats #actGo:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--orange-d);background:#F4763F}
.bk.bk-plats #sGo:hover svg{animation:bk-goArrow .55s cubic-bezier(.5,0,.3,1)}
@keyframes bk-goArrow{0%{transform:none}45%{transform:translateX(26px);opacity:0}46%{transform:translateX(-22px);opacity:0}100%{transform:none;opacity:1}}
.bk.bk-plats #sGo::after,.bk.bk-plats #actGo::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);pointer-events:none}
.bk.bk-plats #sGo:hover::after,.bk.bk-plats #actGo:hover::after{animation:bk-goShine .7s ease}
@keyframes bk-goShine{to{left:120%}}
.bk.bk-plats #sGo:active,.bk.bk-plats #actGo:active{transform:translateY(3px);box-shadow:0 1px 0 var(--orange-d)}
@media (prefers-reduced-motion:reduce){.bk.bk-plats #sGo:hover svg,.bk.bk-plats #sGo:hover::after,.bk.bk-plats #actGo:hover::after{animation:none}}
.bk.bk-plats .pl-okt{width:100%;height:6px;border-radius:3px;background:var(--green-bg);overflow:hidden;margin-top:4px;animation:bk-okUp .5s .5s both}
.bk.bk-plats .pl-okt i{display:block;height:100%;border-radius:3px;background:var(--green);transform-origin:left;animation:bk-okDrain linear forwards;animation-delay:0s}
@keyframes bk-okDrain{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.bk.bk-semaine .hd .bub{position:relative;align-self:center;max-width:220px;background:var(--card);border:2px solid var(--ink);border-radius:16px;padding:7px 12px;font-family:var(--fh);font-weight:700;font-size:19px;line-height:1.15;box-shadow:0 3px 0 var(--ink)}
.bk.bk-semaine .hd .bub b{color:var(--orange-d)}
.bk.bk-semaine .hd .bub::before{content:"";position:absolute;left:-9px;top:50%;margin-top:-7px;width:13px;height:13px;background:var(--card);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.bk.bk-semaine .note{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink2);margin:0 0 14px}
.bk.bk-semaine .note .ic{color:var(--violet)}
@media (max-width:640px){.bk.bk-semaine .hd .bub{display:none}}

/* ===== Intégration dans l'application (ajouts, hors handoff) ===== */
/* Les classes homonymes de l'application (.panel est une carte, .sw un interrupteur,
   .t un toast, .dn une colonne) : neutralisées ici, le design repose par-dessus. */
.bk .panel{border-radius:0;background:none;border:0;box-shadow:none}
@media (min-width:901px){.bk .panel{padding:0}}
.bk .sw{gap:0;text-align:initial;border:0;padding:0;cursor:inherit;transition:none}
.bk .sw:hover{background:var(--dc)}
.bk .t{position:static;display:block;max-width:none;background:none;border:0;border-radius:0;padding:0;overflow:visible;box-shadow:none;animation:none;gap:0}
.bk .dn{flex-direction:row}
/* Le fil des 3 étapes existe aussi sur l'écran 3 (la maquette ne l'y montrait pas). */
.bk.bk-plan .flow{display:flex;gap:6px;margin:4px 0 6px;flex-wrap:wrap}
.bk.bk-plan .flow a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 8px;border-radius:var(--pill);background:var(--card);border:1.5px solid var(--line2);text-decoration:none;color:var(--ink2);font:700 14px var(--fb)}
.bk.bk-plan .flow a .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cream2);font:800 13px var(--fd);color:var(--ink2)}
.bk.bk-plan .flow a.on{background:var(--orange);border-color:var(--orange);color:#fff}
.bk.bk-plan .flow a.on .n{background:rgba(255,255,255,.28);color:#fff}
.bk.bk-plan .flow a.ok .n{background:var(--green);color:#fff}
/* La barre d'onglets de l'appli (téléphone) : les barres fixes se posent au-dessus. */
/* (spécificité renforcée : la règle du design est `.bk:not(.bk-plan) .act`) */
.bk.bk:not(.bk-plan) .act{bottom:var(--bk-bas,0px)}
@media (max-width:900px){.bk .now{bottom:calc(var(--bk-bas,0px) + 8px)}.bk .lay{padding-bottom:calc(150px + var(--bk-bas,0px))}}
.bk.bk-plats .pl-lay,.bk.bk-semaine:not(.bk-plan) .wk-wrap{padding-bottom:calc(170px + var(--bk-bas,0px))}
.bk{background:transparent}
/* Une étape pas encore ouverte : visible, mais on ne peut pas y sauter. */
.bk .flow a.off{opacity:.45;pointer-events:none}
/* Le jour de session peut être le dimanche d'avant : 8 choix. */
.bk .dpick.bk-dpick8{grid-template-columns:repeat(8,minmax(0,1fr))}
.bk .dp.bk-avant{border-style:dashed}
.bk .dp.bk-avant.on{border-style:solid}
@media (max-width:640px){.bk .dpick.bk-dpick8{gap:3px}.bk .dpick.bk-dpick8 .dp b{font-size:12.5px}.bk .dpick.bk-dpick8 .dp span{font-size:11px}}
.bk .bk-avant-bande{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;margin-bottom:10px;border-radius:var(--pill);background:var(--orange);color:#fff;font:800 13px var(--fd)}
/* La génération se voit sur la semaine : voile, loader centré, puis succès. */
.bk .bk-zone{position:relative}
.bk .bk-zone.est-voilee #week{filter:blur(3px);opacity:.45;pointer-events:none;user-select:none;transition:filter .3s,opacity .3s}
.bk .bk-voile{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:16px}
.bk .bk-voile-carte{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:360px;width:100%;padding:22px 24px;text-align:center;border-radius:22px;background:var(--card);box-shadow:var(--sh),0 24px 50px -24px rgba(90,50,10,.45);animation:bk-okUp .45s cubic-bezier(.3,1.35,.45,1) both}
.bk .bk-voile-carte .pp{width:90px;animation:bk-plBob 1s ease-in-out infinite alternate}
.bk .bk-voile-carte .pp svg{width:100%;height:auto;display:block}
.bk .bk-voile-carte b{font:800 18px var(--fd)}
.bk .bk-voile-carte span{font-size:14px;color:var(--ink2)}
.bk .bk-voile-carte .pl-sk{display:flex;width:100%}
/* La barre du voile : une bande soleil puis orange qui défile (crème sur jaune pâle, elle
   bougeait sans qu'on le voie). */
.bk .bk-voile-carte .pl-sk i{display:block;flex:1;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--cream2) 0%,var(--cream2) 20%,var(--sun) 38%,var(--orange) 50%,var(--sun) 62%,var(--cream2) 80%,var(--cream2) 100%);background-size:200% 100%;animation:bk-plSk 1.4s linear infinite}
.bk .bk-voile-carte.est-succes{border:2px solid var(--green)}
.bk .bk-voile-carte.est-succes .pp{animation:bk-okHop .8s cubic-bezier(.3,1.5,.4,1) both}
@media (max-width:900px){.bk .bk-voile{position:fixed;z-index:70;background:rgba(255,248,234,.4)}}
.bk .bk-inactif{opacity:.5;pointer-events:none}
/* Pourquoi une limite : le « ? » et sa bulle, au-dessus de la barre. */
.bk .bk-q{position:relative;display:inline-grid;place-items:center;width:22px;height:22px;margin-left:4px;padding:0;border:0;border-radius:50%;background:var(--sun-bg);color:#8A5A00;font:800 12px var(--fd);vertical-align:middle;cursor:pointer}
.bk .bk-q::before{content:"";position:absolute;inset:-11px}
.bk .bk-limite{max-width:1180px;margin:0 auto 10px;padding:10px 14px;border-radius:16px;background:var(--sun-bg);font-size:13.5px;line-height:1.45;color:var(--ink)}
.bk .bk-limite a{color:var(--orange-d);font-weight:800}
.bk .bk-err{color:var(--orange-d)}
.bk .bk-vide{margin:0;font-size:14px;color:var(--ink2)}
.bk .bk-avis{max-width:1180px;margin:0 auto 12px;padding:10px 14px;border-radius:16px;background:var(--sun-bg);font-size:14px}
.bk .bk-fil-plan{max-width:1180px;margin:0 auto;padding:6px 20px 0}
/* Au téléphone, l'écran 3 garde sa place pour le déroulé : le fil n'y est pas (comme dans la
   maquette), « Changer les plats » et « Réorganiser la semaine » sont en bas de page. */
@media (max-width:900px){.bk .bk-fil-plan{display:none}}
/* La pastille des minuteurs, hors du plan : fixe, en bas, au-dessus des onglets. Fermée,
   une barre ; ouverte (d'un clic), la liste de tous les minuteurs monte au-dessus,
   avec un rebond. */
.bk.bk-pastille{position:fixed;z-index:60;right:24px;bottom:24px;width:min(400px,calc(100vw - 32px))}
.bk.bk-pastille[hidden]{display:none}
.bk.bk-pastille .bk-pa-carte{border:2px solid var(--ink);border-radius:22px;background:var(--card);box-shadow:0 4px 0 var(--ink),0 18px 30px -18px rgba(90,50,10,.5);overflow:hidden;transform-origin:bottom right}
.bk.bk-pastille.est-neuve .bk-pa-carte{animation:bk-tmIn .45s var(--spring)}
.bk.bk-pastille .bk-pa-barre{display:flex;align-items:center;gap:8px;padding:8px;background:var(--orange-bg);transition:background .25s}
.bk.bk-pastille .bk-pa{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 0 0 4px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.bk.bk-pastille button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.bk.bk-pastille .bk-pa-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.75)}
.bk.bk-pastille .bk-pa-tx{flex:1;min-width:0;display:flex;flex-direction:column}
.bk.bk-pastille .bk-pa-lb{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk.bk-pastille .bk-pa-l2{display:flex;align-items:baseline;gap:8px}
.bk.bk-pastille .bk-pa-t{font:800 20px var(--fd);font-variant-numeric:tabular-nums;line-height:1.1}
.bk.bk-pastille .bk-pa-t:empty,.bk.bk-pastille .bk-pa-n:empty{display:none}
.bk.bk-pastille .bk-pa-n{font-size:12px;font-weight:700;color:var(--ink2)}
.bk.bk-pastille .bk-pa-go{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:0;border-radius:var(--pill);background:var(--orange);color:#fff;font:800 14px var(--fd);cursor:pointer}
.bk.bk-pastille .bk-pa-go:active,.bk.bk-pastille .bk-pa-x:active,.bk.bk-pastille .bk-pa-reduire:active{transform:scale(.92)}
.bk.bk-pastille.est-pause .bk-pa-barre{background:var(--cream2)}
.bk.bk-pastille.est-pause .bk-pa-barre .bk-pa-t{color:var(--muted);font-size:16px}
.bk.bk-pastille.est-pret .bk-pa-barre{background:var(--green);color:#fff}
.bk.bk-pastille.est-pret:not(.est-ouverte) .bk-pa-carte{animation:bk-ringing .5s ease-in-out infinite alternate}
.bk.bk-pastille.est-pret .bk-pa-barre .bk-pa-ic{color:var(--green-d)}
.bk.bk-pastille.est-pret .bk-pa-barre .bk-pa-lb{white-space:normal;font-size:14px}
.bk.bk-pastille.est-pret .bk-pa-barre .bk-pa-n{color:#fff}
.bk.bk-pastille.est-pret .bk-pa-go{background:#fff;color:var(--green-d)}
/* La liste : cachée fermée ; ouverte, elle monte avec un rebond, ses lignes une à une. */
.bk.bk-pastille .bk-pa-liste{display:none;padding:10px 10px 8px}
.bk.bk-pastille.est-ouverte .bk-pa-liste{display:block}
.bk.bk-pastille.est-ouverte:not(.est-posee):not(.se-ferme) .bk-pa-liste{animation:bk-paOuvre .5s var(--spring) both;transform-origin:bottom center}
.bk.bk-pastille.est-ouverte:not(.est-posee):not(.se-ferme) .bk-pa-carte{animation:bk-paRebond .5s var(--spring)}
.bk.bk-pastille.se-ferme .bk-pa-liste{animation:bk-paFerme .26s cubic-bezier(.5,0,.75,0) both}
.bk.bk-pastille .bk-pa-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 8px 6px}
.bk.bk-pastille .bk-pa-tete b{font:800 16px var(--fd)}
.bk.bk-pastille .bk-pa-reduire{position:relative;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--cream2);color:var(--ink);cursor:pointer;transition:transform .25s var(--spring)}
.bk.bk-pastille .bk-pa-reduire::before,.bk.bk-pastille .bk-pa-x::before{content:"";position:absolute;inset:-4px}
.bk.bk-pastille .bk-pa-reduire:hover{transform:translateY(2px)}
.bk.bk-pastille .bk-pa-lignes{display:flex;flex-direction:column;gap:6px}
.bk.bk-pastille .bk-pa-lignes.est-longue{max-height:min(50vh,300px);overflow-y:auto}
.bk.bk-pastille .bk-pa-ligne{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:6px 6px 6px 8px;border-radius:16px;background:var(--orange-bg)}
.bk.bk-pastille.est-ouverte:not(.est-posee):not(.se-ferme) .bk-pa-ligne{animation:bk-paLigne .45s var(--spring) both;animation-delay:calc(var(--n,0) * 55ms + 80ms)}
.bk.bk-pastille .bk-pa-ligne.four{background:var(--sun-bg)}
.bk.bk-pastille .bk-pa-ligne.attente{background:var(--violet-bg)}
.bk.bk-pastille .bk-pa-ligne .bk-pa-ic{width:30px;height:30px}
.bk.bk-pastille .bk-pa-ligne .bk-pa-lb{font-size:13px}
.bk.bk-pastille .bk-pa-ligne .bk-pa-t{font-size:17px}
.bk.bk-pastille .bk-pa-ligne.est-pause{background:var(--cream2)}
.bk.bk-pastille .bk-pa-ligne.est-pause .bk-pa-t{color:var(--muted)}
.bk.bk-pastille .bk-pa-ligne.est-pret{background:var(--green);color:#fff}
.bk.bk-pastille .bk-pa-ligne.est-pret .bk-pa-ic{color:var(--green-d)}
.bk.bk-pastille .bk-pa-ligne.est-pret .bk-pa-lb{white-space:normal}
.bk.bk-pastille .bk-pa-x{position:relative;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.75);color:var(--ink);cursor:pointer;transition:transform .2s var(--spring)}
.bk.bk-pastille .bk-pa-ligne.est-pret .bk-pa-x{grid-column:4/6;justify-self:end}
@keyframes bk-paOuvre{0%{opacity:0;transform:translateY(18px) scale(.92)}60%{opacity:1;transform:translateY(-4px) scale(1.02)}100%{opacity:1;transform:none}}
@keyframes bk-paFerme{from{opacity:1;transform:none}to{opacity:0;transform:translateY(14px) scale(.95)}}
@keyframes bk-paRebond{0%{transform:scale(.97)}55%{transform:scale(1.02)}100%{transform:none}}
@keyframes bk-paLigne{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media (max-width:600px){.bk.bk-pastille{left:12px;right:12px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom))}.bk.bk-pastille .bk-pa-go{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.bk.bk-pastille .bk-pa-carte,.bk.bk-pastille .bk-pa-liste,.bk.bk-pastille .bk-pa-ligne{animation:none!important}}
/* La carte « Donne ton avis » du plan : la fonction est neuve. */
.bk .bk-retour{position:relative;display:flex;align-items:center;gap:12px;max-width:1180px;margin:8px auto 14px;padding:12px 48px 12px 12px;border-radius:20px;background:var(--violet-bg);transition:opacity .3s,transform .3s var(--spring)}
.bk .bk-retour .pp{flex:none;width:52px}
.bk .bk-retour .pp svg{width:100%;height:auto;display:block}
.bk .bk-retour p{flex:1;margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.bk .bk-retour-go{flex:none;min-height:44px;padding:0 16px;border:0;border-radius:var(--pill);background:var(--violet);color:#fff;font:800 14px var(--fd);cursor:pointer;transition:transform .2s var(--spring)}
.bk .bk-retour-go:hover{transform:translateY(-2px)}
.bk .bk-retour-go:active{transform:scale(.95)}
.bk .bk-retour-x{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.7);color:var(--ink2);cursor:pointer}
.bk .bk-retour-x::before{content:"";position:absolute;inset:-6px}
.bk .bk-retour.se-range{opacity:0;transform:scale(.96) translateY(-6px)}
@media (max-width:900px){.bk .bk-retour{margin:8px 14px 12px}}
.bk .bk-retour .bk-ct{display:none}
/* Au téléphone, une seule rangée : le plan passe avant (retour de Jeremy, 24/09/2026). */
@media (max-width:600px){
.bk .bk-retour{gap:8px;padding:8px 8px 8px 14px;border-radius:16px;margin:6px 14px 10px}
.bk .bk-retour .pp,.bk .bk-retour .bk-lg{display:none}
.bk .bk-retour .bk-ct{display:inline}
.bk .bk-retour p{font-size:13.5px;line-height:1.3}
.bk .bk-retour-go{min-height:40px;padding:0 14px;font-size:13.5px}
.bk .bk-retour-x{position:relative;top:auto;right:auto;flex:none;width:30px;height:30px}
}
/* Le coup de patte, une fois le batch fini : la carte monte avec un rebond, Popotam fait
   les yeux doux, trois cœurs s'envolent, puis le bouton frétille une fois. */
.bk .bk-don{position:relative;display:flex;gap:16px;align-items:flex-start;margin-top:18px;padding:18px 18px 16px;border:2px solid var(--ink);border-radius:24px;background:linear-gradient(135deg,var(--sun-bg),#FFE9DD);box-shadow:0 4px 0 var(--ink);transition:opacity .3s,transform .3s var(--spring)}
.bk .bk-don.est-neuve{animation:bk-donUp .7s var(--spring) both}
.bk .bk-don-pp{position:relative;flex:none;width:76px}
.bk .bk-don-pp svg{width:100%;height:auto;display:block}
.bk .bk-don.est-neuve .bk-don-pp{animation:bk-okHop .8s .15s cubic-bezier(.3,1.5,.4,1) both}
.bk .bk-don-pp .h{position:absolute;left:50%;top:6px;margin-left:var(--x);font-style:normal;font-size:18px;color:var(--plaisir);opacity:0;pointer-events:none}
.bk .bk-don.est-neuve .bk-don-pp .h{animation:bk-okHeart 1.8s var(--d) ease-out forwards}
.bk .bk-don-tx{flex:1;min-width:0}
.bk .bk-don-tx b{display:block;font:800 19px/1.2 var(--fd);margin-bottom:4px}
.bk .bk-don-tx p{margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--ink)}
.bk .bk-don-tx p a{color:var(--orange-d);font-weight:800;white-space:nowrap}
.bk .bk-don-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bk .bk-don-go{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:var(--pill);background:var(--orange);color:#fff;font:800 15px var(--fd);text-decoration:none;box-shadow:0 3px 0 var(--orange-d);transition:transform .2s var(--spring),box-shadow .2s}
.bk .bk-don.est-neuve .bk-don-go{animation:bk-donWiggle .7s 1.1s ease-in-out both}
/* Blanc aussi au survol : `.bk a:hover` du handoff le passait en orange sur l'orange. */
.bk .bk-don-go:hover,.bk .bk-don-go:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 5px 0 var(--orange-d)}
.bk .bk-don-go:active{transform:translateY(2px);box-shadow:0 1px 0 var(--orange-d)}
.bk .bk-don-go:hover svg{animation:bk-donBat .7s ease-in-out infinite}
.bk .bk-don-go:focus-visible,.bk .bk-don-x:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.bk .bk-don-x{min-height:44px;padding:0 14px;border:0;border-radius:var(--pill);background:transparent;color:var(--ink2);font:700 14px var(--fb);cursor:pointer}
.bk .bk-don-x:hover{background:rgba(255,255,255,.6)}
.bk .bk-don.se-range{opacity:0;transform:scale(.95) translateY(8px)}
@keyframes bk-donUp{0%{opacity:0;transform:translateY(28px) scale(.9)}55%{opacity:1;transform:translateY(-6px) scale(1.02)}78%{transform:translateY(2px) scale(.995)}100%{opacity:1;transform:none}}
@keyframes bk-donWiggle{0%,100%{transform:none}20%{transform:rotate(-4deg) scale(1.04)}40%{transform:rotate(3deg) scale(1.04)}60%{transform:rotate(-2deg)}80%{transform:rotate(1deg)}}
@keyframes bk-donBat{0%,100%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}}
@media (max-width:600px){.bk .bk-don{flex-direction:column;align-items:center;text-align:center;padding:16px 14px 14px}.bk .bk-don-pp{width:64px}.bk .bk-don-act{justify-content:center}.bk .bk-don-go{flex:1 1 100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.bk .bk-don,.bk .bk-don *{animation:none!important}}
/* La barre du pouce au téléphone : un libellé court, sur une ligne, et l'étape prend le reste. */
.bk .now .bk-ct{display:none}
@media (max-width:900px){
.bk .now .row .top{flex:1;min-width:0}
.bk .now .row .bigok{flex:none;white-space:nowrap;padding-left:18px;padding-right:18px}
.bk .now .bk-lg{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bk .now .bk-ct{display:inline}
}
/* « Les plats » au téléphone : « Changer ce plat » passe sous le nom, qui gardait 120 px
   à côté de lui et s'écrasait sur plusieurs lignes. */
@media (max-width:640px){
.bk.bk-plats .pl-m{flex-wrap:wrap;row-gap:8px}
.bk.bk-plats .pl-m .bd{flex:1 1 calc(100% - 58px)}
.bk.bk-plats .pl-m .pl-chg{margin-left:58px;min-height:40px;padding:0 12px}
}
/* « La semaine » au téléphone : les jours passés masqués, « Avant ta session » replié. */
.bk .bk-passes{display:flex;align-items:center;gap:6px;margin:2px 2px 4px;font-size:13px;color:var(--muted)}
.bk .bk-passes svg{color:var(--green)}
.bk .bk-pre{border-radius:18px;background:rgba(255,255,255,.55);border:1.5px dashed var(--line2);overflow:hidden}
.bk .bk-pre-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:10px 14px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.bk .bk-pre-tete > span:first-child{display:flex;flex-direction:column}
.bk .bk-pre-tete b{font:800 13px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bk .bk-pre-tete > span > span{font-size:13px;color:var(--ink2)}
.bk .bk-pre-chev{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--cream2);color:var(--ink2);transform:rotate(90deg);transition:transform .35s var(--spring)}
.bk .bk-pre.est-ouvert .bk-pre-chev{transform:rotate(-90deg)}
.bk .bk-pre-corps{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.3,1.2,.45,1)}
.bk .bk-pre-corps > .wl{min-height:0;overflow:hidden;padding:0 10px}
.bk .bk-pre.est-ouvert .bk-pre-corps{grid-template-rows:1fr}
.bk .bk-pre.est-ouvert .bk-pre-corps > .wl{padding-bottom:10px}
.bk .bk-pre .row{opacity:0;transform:translateY(-6px);transition:opacity .25s,transform .35s var(--spring)}
.bk .bk-pre.est-ouvert .row{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.bk .bk-pre-corps,.bk .bk-pre .row,.bk .bk-pre-chev{transition:none}}
/* Semaine en cours : les jours passés restent dans la grille (les colonnes s'alignent) mais
   ne se touchent plus, et le sélecteur de session ne les propose plus. */
.bk .cell.bk-passe{opacity:.4;pointer-events:none;filter:grayscale(.6)}
.bk .dp.bk-fini{opacity:.35;cursor:not-allowed}
.bk .dp.bk-fini .tq{visibility:hidden}
/* Les feuilles s'ouvrent par `hidden` (le bouton Retour d'Android les voit ainsi), et
   passent AU-DESSUS de la barre d'onglets du téléphone (z-index 90), qui couvrait leur bas. */
.bk .sheet[hidden]{display:none}
@media (max-width:900px){.bk .sheet{z-index:100}}
/* « Tout cocher » d'une section de la mise en place. */
.bk .box h3 .bk-tout{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 12px;border:1.5px solid var(--line2);border-radius:var(--pill);background:var(--card);color:var(--ink2);font:700 12.5px var(--fb);cursor:pointer;transition:transform .2s var(--spring),background .2s}
.bk .box h3 .bk-tout::before{content:"";position:absolute;inset:-6px -2px}
.bk .box h3 .bk-tout svg{color:var(--green)}
.bk .box h3 .bk-tout:hover{background:var(--green-bg);border-color:var(--green);color:var(--green-d)}
.bk .box h3 .bk-tout:active{transform:scale(.94)}
.bk .box h3 .bk-tout.est-plein{color:var(--muted)}
.bk .box h3 .bk-tout.est-plein:hover{background:var(--cream2);border-color:var(--line2);color:var(--ink2)}
/* Le nom du plat en bulle au survol de sa pastille de couleur. */
.bk .dots i[data-plat]{position:relative}
@media (hover:hover){
.bk .dots i[data-plat]::before{content:"";position:absolute;inset:-5px;border-radius:50%}
.bk .dots i[data-plat]::after{content:attr(data-plat);position:absolute;z-index:30;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:220px;padding:6px 10px;border-radius:12px;background:var(--ink);color:#fff;font:700 12.5px/1.3 var(--fb);white-space:normal;text-align:center;box-shadow:0 8px 18px -8px rgba(40,20,0,.5);pointer-events:none;opacity:0;transform:translate(-50%,6px) scale(.85);transform-origin:bottom center;transition:opacity .15s,transform .3s var(--spring)}
.bk .dots i[data-plat]:hover::after{opacity:1;transform:translate(-50%,0) scale(1)}
/* Dans la mise en place, la pastille touche le bord droit de la carte : centrée, la bulle
   débordait et se faisait couper. Elle s'ancre à droite et s'ouvre vers la gauche. */
.bk .ck .dots i[data-plat]::after{left:auto;right:-8px;transform:translate(0,6px) scale(.85);transform-origin:bottom right}
.bk .ck .dots i[data-plat]:hover::after{transform:translate(0,0) scale(1)}
.bk .dots i[data-plat]:hover{outline:2px solid var(--card);box-shadow:0 0 0 3.5px var(--dc)}
}
/* LES CONTRASTES (audit du 24/09/2026, M10). Blanc sur orange faisait 3,1:1, sur vert 3,3:1,
   sur violet 3,7:1, et le gris « muted » 3,1:1 : le seuil d'un texte courant est 4,5:1.
   Les jetons ne foncent QUE sur les surfaces qui portent du texte blanc : les pastilles,
   barres et décors gardent l'orange vif de la marque. Une variable redéfinie sur l'élément
   passe avant celle héritée de .bk, quelle que soit la spécificité de la règle qui la lit. */
.bk{--muted:#7A6A58;--orange-d:#B5440F}
.bk .bigok,.bk .nav button.on .n,.bk .nav button.done .n,.bk .tm.ring-now,.bk .st.ok .done-b,
.bk .flow a.on,.bk .flow a.ok .n,.bk .dp.on,.bk .band,.bk .wg .dh.ses,.bk .wg .bandc,
.bk .pl-seg button.on,.bk .pl-alt.pick .go,.bk .pl-okc .ck,.bk .bk-avant-bande,
.bk.bk-pastille .bk-pa-go,.bk.bk-pastille.est-pret .bk-pa-barre,.bk.bk-pastille .bk-pa-ligne.est-pret,
.bk .bk-retour-go,.bk .bk-don-go{--orange:#C94A14;--orange-d:#9E3A0C;--green:#23773F;--green-d:#1B5E31;--violet:#6F5C9A}
.bk.bk-plats #sGo:hover,.bk.bk-plats #actGo:hover{background:#B5440F}
/* LE MOUVEMENT RÉDUIT ARRÊTE, IL NE FAIT PAS CLIGNOTER (audit du 24/09/2026, M13). Le bloc du
   handoff ramène chaque animation à 0,01 ms, mais une animation infinie rejoue alors ce
   centième de milliseconde sans fin : la mascotte du voile, la bande de la barre et le
   minuteur qui sonne tremblaient. Un seul tour, et on s'arrête sur l'image finale. */
@media (prefers-reduced-motion:reduce){.bk,.bk *,.bk *::before,.bk *::after{animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* 44 PX POUR TOUT CE QUI SE TOUCHE (audit du 24/09/2026, M11 ; règle du projet, cf. AGENTS.md).
   On agrandit la CIBLE par un ::before transparent, sans grossir le dessin : « Garder l'écran
   allumé » (32 px, et il n'existe QUE sur écran tactile), l'heure de départ (28 px), pause et
   annuler des minuteurs (36 px), « Meilleur le jour J ? » (30 px). */
.bk .pillx.btn,.bk label.pillx,.bk .tm .x,.bk.bk-plats .pl-jj{position:relative}
.bk .pillx.btn::before,.bk label.pillx::before,.bk .tm .x::before,.bk.bk-plats .pl-jj::before{content:"";position:absolute;left:50%;top:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}
/* Les 8 jours du sélecteur faisaient 35 px de large à 360 px : deux rangées de quatre sous
   400 px (l'écart vertical laisse la place à la coche qui flotte au-dessus du jour choisi). */
@media (max-width:400px){.bk .dpick.bk-dpick8{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:26px}}
/* AU TÉLÉPHONE, PLUS RIEN NE SE RECOUVRE (audit du 24/09/2026, M12).
   - Les onglets du plan et le bandeau « Touche un créneau » collaient à top:0 et passaient
     SOUS la barre du haut : ils collent sous sa hauteur MESURÉE (--ph-top, cf. phBarres).
   - La barre du pouce grandissait de 50 px par minuteur (plus de 250 px à quatre) : elle en
     montre deux et demi, et on fait défiler les autres.
   - « Minuteur lancé » faisait déborder le groupe de la carte d'étape : l'horloge et le
     temps suffisent, la couleur dit la pause. */
/* LE PETIT MOT DE L'ESSAI (25/09/2026) : toute la semaine reste devant soi. */
.bk .bk-essai-note{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px 10px 10px;border-radius:18px;
  background:var(--sun-bg);border:2px dashed var(--sun-d);animation:bk-plIn .45s var(--spring) both}
.bk .bk-essai-note .pp{flex:none;width:44px}
.bk .bk-essai-note .pp svg{width:100%;height:auto;display:block}
.bk .bk-essai-note p{margin:0;font-size:14px;line-height:1.45;color:var(--ink)}
.bk .bk-essai-note b{color:#8A5A00}
/* LA FIN DU BATCH DANS L'EXEMPLE (25/09/2026) : trois rappels avant « Créer mon planning ». */
.bk .bk-essai-l{list-style:none;margin:10px 0 14px;padding:0;display:flex;flex-direction:column;gap:7px}
.bk .bk-essai-l li{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.4;color:var(--ink);text-align:left}
.bk .bk-essai-l li svg{flex:none;margin-top:2px;color:var(--orange-d)}
/* TA CUISINE (25/09/2026) : deux rangées de choix sous le jour de la session. */
.bk .bk-cuisine{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--line2)}
.bk .bk-cu-l{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk .bk-cu-t{display:inline-flex;align-items:center;gap:6px;font:800 14px var(--fd);color:var(--ink)}
.bk .bk-cu-t svg{color:var(--orange-d)}
.bk .bk-cu-g{display:inline-flex;gap:4px;padding:3px;border-radius:var(--pill);background:var(--cream2)}
.bk .bk-cu-b{position:relative;min-width:44px;min-height:40px;padding:0 12px;border:0;border-radius:var(--pill);background:none;color:var(--ink2);font:700 13.5px var(--fb);cursor:pointer;transition:background .2s,color .2s,transform .25s var(--spring)}
.bk .bk-cu-b::before{content:"";position:absolute;inset:-2px 0}
.bk .bk-cu-b:hover{color:var(--ink)}
.bk .bk-cu-b.on{background:var(--card);color:var(--orange-d);box-shadow:0 2px 6px -2px rgba(90,60,20,.3);transform:translateY(-1px)}
.bk .bk-cu-b:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.bk .bk-cu-d{flex-basis:100%;margin:2px 0 0;font-size:13.5px;color:var(--ink2)}
/* L'étape « robot » (26/09/2026) : le vert, couleur de ce qui avance tout seul. */
.bk .k-robot{background:var(--green-bg);color:var(--green-d)}
.bk .bk-cu-d b{color:var(--ink)}
@media (max-width:600px){.bk .bk-cuisine{gap:10px}.bk .bk-cu-l{width:100%;justify-content:space-between}}
/* POINTS BAS DE L'AUDIT (B8). Un champ sous 16 px fait zoomer iOS à la saisie ; le texte
   réservé aux lecteurs d'écran ; le nom d'une pastille montré au tap, là où il n'y a pas de
   survol. */
.bk .bk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:600px){.bk input:not([type=checkbox]):not([type=radio]),.bk select,.bk textarea{font-size:16px}.bk .pillx input{width:78px}}
@media (hover:none){
.bk .dots i[data-plat]{position:relative}
.bk .dots i.est-bulle::after{content:attr(data-plat);position:absolute;z-index:30;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:200px;padding:6px 10px;border-radius:12px;background:var(--ink);color:#fff;font:700 12.5px/1.3 var(--fb);white-space:normal;text-align:center;box-shadow:0 8px 18px -8px rgba(40,20,0,.5);pointer-events:none;transform:translate(-50%,0)}
.bk .ck .dots i.est-bulle::after{left:auto;right:-8px;transform:none}
}
@media (max-width:600px){
.bk .nav{top:var(--ph-top,0px)}
.bk:not(.bk-plan) .hint.sel{top:calc(var(--ph-top,0px) + 8px)}
.bk .now .timers{max-height:128px;overflow-y:auto;overscroll-behavior:contain}
.bk .tgrp .tw{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
