/* ============================================================================
   Lịch tuần v4 — "Lưới thưa" (ported from design handoff, scoped to #tab-weekplan)
   Tokens prefixed --wp-*, classes prefixed .wp2-* to avoid clashing with the app.
============================================================================ */
:root[data-theme="dark"] #tab-weekplan{
  --wp-surface:#17181d; --wp-surface-2:#0a0b0e; --wp-surface-3:#20222a; --wp-surface-4:#282b34;
  --wp-border:#2a2d36; --wp-border-soft:#1f2128; --wp-border-strong:#3a3e4a;
  --wp-ink:#f2f4f8; --wp-ink-2:#aeb6c6; --wp-ink-3:#767e91; --wp-ink-4:#4a505f;
  --wp-primary:#3a6bff; --wp-primary-soft:rgba(58,107,255,.16); --wp-primary-bright:#6a90ff;
  --wp-ember:#f5b544; --wp-ember-soft:rgba(245,181,68,.14); --wp-ember-bright:#ffc862;
  --wp-blood:#ff5c7a; --wp-blood-soft:rgba(255,92,122,.14); --wp-blood-bright:#ff7d95;
  --wp-gold:#e4c48a; --wp-moss:#17e6a1; --wp-on-cta:#fff;
  --wp-ribbon:rgba(174,182,198,.55);
  --wp-shadow-pop:0 18px 48px -14px rgba(0,0,0,.62);
  --wp-shadow-card:0 1px 0 rgba(255,255,255,.03),0 10px 28px -16px rgba(0,0,0,.6);
}
:root[data-theme="light"] #tab-weekplan{
  --wp-surface:#fff; --wp-surface-2:#e8edf5; --wp-surface-3:#dde4f0; --wp-surface-4:#d2dbeb;
  --wp-border:#cfd7e5; --wp-border-soft:#dde4f0; --wp-border-strong:#b7c2d6;
  --wp-ink:#0a1228; --wp-ink-2:#465178; --wp-ink-3:#6b7799; --wp-ink-4:#a3aecb;
  --wp-primary:#2354e6; --wp-primary-soft:rgba(35,84,230,.12); --wp-primary-bright:#1a3fbf;
  --wp-ember:#c07d10; --wp-ember-soft:rgba(216,147,32,.16); --wp-ember-bright:#a86a08;
  --wp-blood:#e02e50; --wp-blood-soft:rgba(224,46,80,.12); --wp-blood-bright:#c01f3e;
  --wp-gold:#9a7a2e; --wp-moss:#0d9d6f; --wp-on-cta:#fff;
  --wp-ribbon:rgba(70,81,120,.5);
  --wp-shadow-pop:0 18px 44px -16px rgba(10,18,40,.22);
  --wp-shadow-card:0 1px 0 rgba(10,18,40,.02),0 8px 22px -12px rgba(10,18,40,.12);
}
#tab-weekplan{ --wp-mono:var(--font-mono,ui-monospace,'JetBrains Mono',Menlo,Consolas,monospace);
  --wp-kr:'Noto Sans KR','Malgun Gothic',sans-serif; --wp-r-sm:5px; --wp-r-md:8px; --wp-r-lg:12px; }
#tab-weekplan .wp2-mono{font-family:var(--wp-mono);font-variant-numeric:tabular-nums}
#tab-weekplan .wp2-kr{font-family:var(--wp-kr);letter-spacing:0}

/* ===== Design note ===== */
#tab-weekplan .wp2-note{display:flex;gap:10px;align-items:flex-start;background:var(--wp-primary-soft);
  border:1px solid color-mix(in oklch,var(--wp-primary) 30%,transparent);border-radius:var(--wp-r-md);
  padding:10px 13px;margin:4px 0 12px;font-size:13px;color:var(--wp-ink-2);line-height:1.5}
#tab-weekplan .wp2-note b{color:var(--wp-ink)}
#tab-weekplan .wp2-note .x{margin-left:auto;background:transparent;border:0;color:var(--wp-ink-3);cursor:pointer;font-size:16px;line-height:1;flex:0 0 auto}
#tab-weekplan .wp2-note .x:hover{color:var(--wp-ink)}

/* ===== Legend ===== */
#tab-weekplan .wp2-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;font-size:12.5px;color:var(--wp-ink-2)}
#tab-weekplan .wp2-legend .lt{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wp-ink-3);margin-right:2px}
#tab-weekplan .wp2-wsw{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--wp-surface);border:1px solid var(--wp-border);border-radius:20px;padding:4px 11px 4px 8px}
#tab-weekplan .wp2-wsw .dot{width:9px;height:9px;border-radius:50%;background:var(--wc)}
#tab-weekplan .wp2-legend .div{width:1px;height:18px;background:var(--wp-border);margin:0 4px}
#tab-weekplan .wp2-st{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--wp-ink-3)}
#tab-weekplan .wp2-st .sq{width:13px;height:13px;border-radius:4px;flex:0 0 13px}
#tab-weekplan .wp2-st .sq.ov{background:var(--wp-ember-soft);border:1px solid color-mix(in oklch,var(--wp-ember) 45%,transparent)}
#tab-weekplan .wp2-st .sq.cl{background:var(--wp-blood-soft);border:1px solid var(--wp-blood)}
#tab-weekplan .wp2-st .sq.em{background:transparent;border:1px dashed var(--wp-border-strong)}

/* ===== Panel + matrix ===== */
#tab-weekplan .wp2-panel{background:var(--wp-surface);border:1px solid var(--wp-border);border-radius:var(--wp-r-lg);box-shadow:var(--wp-shadow-card);overflow:hidden}
#tab-weekplan .wp2-scroller{overflow:auto;max-height:calc(100vh - 300px)}
#tab-weekplan .wp2-matrix{display:grid;grid-template-columns:var(--info-w) repeat(7,minmax(112px,1fr));min-width:min-content;--info-w:264px}

#tab-weekplan .wp2-corner,#tab-weekplan .wp2-dayhead{position:sticky;top:0;z-index:6;background:var(--wp-surface-2);border-bottom:1px solid var(--wp-border)}
#tab-weekplan .wp2-corner{left:0;z-index:9;border-right:1px solid var(--wp-border);display:flex;align-items:flex-end;padding:12px 14px 10px}
#tab-weekplan .wp2-corner .lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wp-ink-3)}
#tab-weekplan .wp2-dayhead{padding:12px 10px;border-right:1px solid var(--wp-border-soft);display:flex;align-items:flex-end}
#tab-weekplan .wp2-dayhead.wknd{background:color-mix(in oklch,var(--wp-surface-2) 88%,var(--wp-gold))}
#tab-weekplan .wp2-dayhead .top{display:flex;align-items:baseline;gap:6px;width:100%}
#tab-weekplan .wp2-dayhead .dow{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--wp-ink)}
#tab-weekplan .wp2-dayhead .date{font-family:var(--wp-mono);font-size:11px;color:var(--wp-ink-3)}
#tab-weekplan .wp2-dayhead .cnt{margin-left:auto;font-family:var(--wp-mono);font-size:11px;color:var(--wp-ink-3)}
#tab-weekplan .wp2-dayhead .cnt b{color:var(--wp-ink-2)}
#tab-weekplan .wp2-dayhead.today .dow{color:var(--wp-primary-bright)}
#tab-weekplan .wp2-dayhead.today{box-shadow:inset 0 2px 0 var(--wp-primary)}

/* coverage ribbon */
#tab-weekplan .wp2-ribbon{display:flex;align-items:flex-end;gap:1px;height:26px}
#tab-weekplan .wp2-ribbon .seg{flex:1;min-width:0;background:var(--wp-ribbon);border-radius:1px;opacity:.9}
#tab-weekplan .wp2-ribbon .seg.gap{background:repeating-linear-gradient(45deg,var(--wp-blood-soft),var(--wp-blood-soft) 2px,transparent 2px,transparent 4px);height:100%!important;opacity:1;border:1px dashed color-mix(in oklch,var(--wp-blood) 45%,transparent)}
#tab-weekplan .wp2-ribbon .seg.q{background:color-mix(in oklch,var(--wp-gold) 60%,var(--wp-ribbon))}
#tab-weekplan .wp2-riblabel{display:flex;justify-content:space-between;font-family:var(--wp-mono);font-size:9px;color:var(--wp-ink-4);margin-top:3px;letter-spacing:.02em}

/* group header row */
#tab-weekplan .wp2-grouprow{grid-column:1/-1;position:sticky;left:0;display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--wp-surface-3);border-bottom:1px solid var(--wp-border);border-top:1px solid var(--wp-border)}
#tab-weekplan .wp2-grouprow .gt{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--wp-ink)}
#tab-weekplan .wp2-grouprow .gt.walk{color:var(--wp-gold)}
#tab-weekplan .wp2-grouprow .gc{font-family:var(--wp-mono);font-size:11px;color:var(--wp-ink-3)}
#tab-weekplan .wp2-grouprow .chev{margin-left:auto;background:transparent;border:0;color:var(--wp-ink-3);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px}
#tab-weekplan .wp2-grouprow .chev:hover{color:var(--wp-ink)}
#tab-weekplan .wp2-grouprow.collapsed .chev .car{display:inline-block;transform:rotate(-90deg)}

/* info (left) cell */
#tab-weekplan .wp2-info{position:sticky;left:0;z-index:4;background:var(--wp-surface);border-right:1px solid var(--wp-border);border-bottom:1px solid var(--wp-border-soft);padding:9px 12px;display:flex;flex-direction:column;gap:6px}
#tab-weekplan .wp2-info .r1{display:flex;align-items:center;gap:8px}
#tab-weekplan .wp2-uid{font-family:var(--wp-mono);font-size:11px;font-weight:600;color:var(--wp-ink-3);background:var(--wp-surface-2);border:1px solid var(--wp-border-soft);border-radius:4px;padding:1px 6px;flex:0 0 auto}
#tab-weekplan .wp2-cname{flex:1 1 auto;min-width:0;font-size:13px;font-weight:600;color:var(--wp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-weekplan .wp2-cls{font-family:var(--wp-mono);font-size:10px;padding:1px 6px;border-radius:20px;border:1px solid var(--wp-border);color:var(--wp-ink-3);flex:0 0 auto;white-space:nowrap}
#tab-weekplan .wp2-cls.knight{color:#6a90ff;border-color:color-mix(in oklch,#6a90ff 40%,transparent);background:color-mix(in oklch,#6a90ff 10%,transparent)}
#tab-weekplan .wp2-cls.elf{color:#9bd45f;border-color:color-mix(in oklch,#9bd45f 40%,transparent);background:color-mix(in oklch,#9bd45f 10%,transparent)}
#tab-weekplan .wp2-cls.wizard{color:#c08bff;border-color:color-mix(in oklch,#c08bff 40%,transparent);background:color-mix(in oklch,#c08bff 10%,transparent)}
#tab-weekplan .wp2-info{overflow:hidden}
#tab-weekplan .wp2-info .r2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#tab-weekplan .wp2-deftime{display:inline-flex;align-items:center;gap:6px;font-family:var(--wp-mono);font-size:12px;color:var(--wp-ink-2);background:var(--wp-surface-2);border:1px solid var(--wp-border-soft);border-radius:var(--wp-r-sm);padding:3px 8px;cursor:pointer}
#tab-weekplan .wp2-deftime:hover{border-color:var(--wp-border-strong);color:var(--wp-ink)}
#tab-weekplan .wp2-deftime .k{color:var(--wp-ink-4);font-size:10px;letter-spacing:.04em}
#tab-weekplan .wp2-deftime .ov{color:var(--wp-gold)}
#tab-weekplan .wp2-rowacts{display:none;gap:5px;margin-left:auto}
#tab-weekplan .wp2-info:hover .wp2-rowacts,#tab-weekplan .wp2-info:focus-within .wp2-rowacts{display:flex}
#tab-weekplan .wp2-mini{font-size:11px;color:var(--wp-ink-3);background:transparent;border:1px solid var(--wp-border);border-radius:4px;padding:3px 7px;cursor:pointer}
#tab-weekplan .wp2-mini:hover{color:var(--wp-ink);border-color:var(--wp-border-strong)}
#tab-weekplan .wp2-mini.danger:hover{color:var(--wp-blood);border-color:color-mix(in oklch,var(--wp-blood) 50%,transparent)}

/* day cell + worker chip */
#tab-weekplan .wp2-cell{border-right:1px solid var(--wp-border-soft);border-bottom:1px solid var(--wp-border-soft);padding:5px;position:relative;min-height:54px;display:flex;flex-direction:column;gap:4px}
#tab-weekplan .wp2-cell.wknd{background:color-mix(in oklch,var(--wp-surface) 92%,var(--wp-gold))}
#tab-weekplan .wp2-chip{width:100%;min-height:44px;border:1px solid transparent;border-radius:var(--wp-r-sm);background:color-mix(in oklch,var(--wc) 9%,transparent);padding:5px 9px;cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:2px;transition:110ms;position:relative;color:inherit;font-family:inherit}
#tab-weekplan .wp2-chip:hover{background:color-mix(in oklch,var(--wc) 18%,transparent);border-color:color-mix(in oklch,var(--wc) 40%,transparent)}
#tab-weekplan .wp2-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--wp-primary-soft);border-color:var(--wp-primary)}
#tab-weekplan .wp2-chip .ctop{display:flex;align-items:center;gap:7px;min-width:0}
#tab-weekplan .wp2-chip .dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:var(--wc)}
#tab-weekplan .wp2-chip .wn{font-size:12.5px;font-weight:600;color:var(--wp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-weekplan .wp2-chip .ctm{font-family:var(--wp-mono);font-size:10px;color:var(--wp-ink-3);padding-left:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-weekplan .wp2-chip .cnext{font-size:8.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--wp-ember-bright);padding-left:2px;line-height:1.15;white-space:nowrap}
#tab-weekplan .wp2-chip.hasov{background:var(--wp-ember-soft);border-color:color-mix(in oklch,var(--wp-ember) 38%,transparent)}
#tab-weekplan .wp2-chip.hasov .ctm{color:var(--wp-ember-bright)}
#tab-weekplan .wp2-chip.clash{background:var(--wp-blood-soft);border-color:var(--wp-blood)!important;box-shadow:0 0 0 1px var(--wp-blood)}
#tab-weekplan .wp2-chip.clash .wn{color:var(--wp-blood-bright)}
#tab-weekplan .wp2-clashtag{position:absolute;top:-7px;left:7px;z-index:2;font-family:var(--wp-mono);font-size:9px;font-weight:700;color:var(--wp-on-cta);background:var(--wp-blood);border-radius:20px;padding:1px 7px;display:none;align-items:center;gap:4px;box-shadow:0 4px 10px -4px var(--wp-blood)}
#tab-weekplan .wp2-chip.clash .wp2-clashtag{display:inline-flex}
#tab-weekplan .wp2-chip.empty{background:transparent;border:1px dashed var(--wp-border-strong);justify-content:center;color:var(--wp-ink-4);min-height:34px}
#tab-weekplan .wp2-chip.empty:hover{color:var(--wp-primary);border-color:var(--wp-primary);border-style:solid;background:var(--wp-primary-soft)}
#tab-weekplan .wp2-chip.empty .plus{font-size:16px;line-height:1;font-weight:400}
/* hours reserved but no worker yet — dashed + amber time */
#tab-weekplan .wp2-chip.empty.pending{border-style:dashed;border-color:color-mix(in oklch,var(--wp-ember) 50%,transparent);background:var(--wp-ember-soft);justify-content:center}
#tab-weekplan .wp2-chip.empty.pending:hover{border-style:solid;border-color:var(--wp-ember);background:color-mix(in oklch,var(--wp-ember) 18%,transparent)}
#tab-weekplan .wp2-chip.empty.pending .tm{color:var(--wp-ember-bright);font-family:var(--wp-mono);font-size:11px;white-space:nowrap}
/* Multi-shift: several shifts stack in one cell (18–24h coverage handed between workers).
   Keep the two-line chip (name over hours) but nudge it tighter so 2–3 fit without clipping. */
#tab-weekplan .wp2-chip.compact{min-height:36px;padding:4px 8px;gap:1px}
#tab-weekplan .wp2-chip.compact .wn{font-size:11.5px}
#tab-weekplan .wp2-chip.compact .dot{width:8px;height:8px;flex-basis:8px}
#tab-weekplan .wp2-chip.compact .ctm{font-size:9.5px}
#tab-weekplan .wp2-cell.multi .wp2-chip.empty.pending{min-height:32px;padding:4px 8px}
#tab-weekplan .wp2-addshift{width:100%;border:1px dashed var(--wp-border-strong);border-radius:var(--wp-r-sm);background:transparent;color:var(--wp-ink-4);font-family:inherit;font-size:10.5px;line-height:1.3;padding:2px 4px;cursor:pointer;transition:110ms;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-weekplan .wp2-addshift:hover{color:var(--wp-primary);border-color:var(--wp-primary);border-style:solid;background:var(--wp-primary-soft)}

/* ===== Footer totals ===== */
#tab-weekplan .wp2-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--wp-surface);border:1px solid var(--wp-border);border-top:0;border-radius:0 0 var(--wp-r-lg) var(--wp-r-lg);padding:12px 16px;margin-top:-1px}
#tab-weekplan .wp2-foot .flbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wp-ink-3);margin-right:2px}
#tab-weekplan .wp2-wtot{display:inline-flex;align-items:center;gap:8px;background:var(--wp-surface-2);border:1px solid var(--wp-border);border-radius:20px;padding:5px 12px 5px 8px;font-size:13px}
#tab-weekplan .wp2-wtot .dot{width:10px;height:10px;border-radius:50%;background:var(--wc)}
#tab-weekplan .wp2-wtot .wn{color:var(--wp-ink-2)}
#tab-weekplan .wp2-wtot b{font-family:var(--wp-mono);color:var(--wp-ink);font-size:14px}
#tab-weekplan .wp2-wtot .clashn{font-family:var(--wp-mono);font-size:11px;color:var(--wp-blood-bright);margin-left:2px}
#tab-weekplan .wp2-foot .grand{margin-left:auto;font-size:13px;color:var(--wp-ink-2)}
#tab-weekplan .wp2-foot .grand b{font-family:var(--wp-mono);color:var(--wp-ink);font-size:16px}

/* ===== Editor popover + fill menu ===== */
#tab-weekplan .wp2-mask{position:fixed;inset:0;background:transparent;z-index:40;display:none}
#tab-weekplan .wp2-mask.on{display:block}
#tab-weekplan .wp2-pop{position:fixed;z-index:50;width:380px;background:var(--wp-surface);border:1px solid var(--wp-border-strong);border-radius:var(--wp-r-lg);box-shadow:var(--wp-shadow-pop);display:none;flex-direction:column;overflow:hidden}
#tab-weekplan .wp2-pop.on{display:flex}
#tab-weekplan .wp2-pop .ph{padding:12px 14px;border-bottom:1px solid var(--wp-border);display:flex;align-items:center;gap:8px}
#tab-weekplan .wp2-pop .ph .u{font-family:var(--wp-mono);font-size:11px;color:var(--wp-ink-3);background:var(--wp-surface-2);border:1px solid var(--wp-border-soft);border-radius:4px;padding:1px 6px}
#tab-weekplan .wp2-pop .ph .n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--wp-ink)}
#tab-weekplan .wp2-pop .ph .d{margin-left:auto;font-family:var(--wp-mono);font-size:12px;color:var(--wp-primary-bright);font-weight:600}
#tab-weekplan .wp2-pop .pb{padding:13px 14px;display:flex;flex-direction:column;gap:12px}
#tab-weekplan .wp2-pop .sec>.st{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--wp-ink-3);margin-bottom:8px}
#tab-weekplan .wp2-wgrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-height:340px;overflow:auto}
#tab-weekplan .wp2-wpick{display:flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--wp-border);border-radius:var(--wp-r-sm);background:var(--wp-surface-2);cursor:pointer;font-size:13px;color:var(--wp-ink-2);transition:100ms;text-align:left;min-width:0}
#tab-weekplan .wp2-wpick:hover{border-color:var(--wp-border-strong)}
#tab-weekplan .wp2-wpick .dot{width:9px;height:9px;border-radius:50%;background:var(--wc);flex:0 0 9px}
#tab-weekplan .wp2-wpick .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tab-weekplan .wp2-wpick.sel{border-color:var(--wc);background:color-mix(in oklch,var(--wc) 14%,transparent);color:var(--wp-ink);font-weight:600}
#tab-weekplan .wp2-wpick.none{grid-column:1/-1;justify-content:center;color:var(--wp-ink-3)}
#tab-weekplan .wp2-wpick.none .dot{background:var(--wp-ink-4)}
#tab-weekplan .wp2-timerow{display:flex;align-items:center;gap:8px}
#tab-weekplan .wp2-tinput{flex:1;min-width:0;font-family:var(--wp-mono);font-size:15px;text-align:center;color:var(--wp-ink);background:var(--wp-surface-2);border:1px solid var(--wp-border);border-radius:var(--wp-r-sm);padding:8px 6px;letter-spacing:.04em}
#tab-weekplan .wp2-tinput:focus{outline:none;border-color:var(--wp-primary);box-shadow:0 0 0 3px var(--wp-primary-soft)}
#tab-weekplan .wp2-tinput:disabled{opacity:.62}
#tab-weekplan .wp2-timerow .sep{color:var(--wp-ink-3)}
#tab-weekplan .wp2-timerow .over{font-family:var(--wp-mono);font-size:10px;color:var(--wp-gold);white-space:nowrap}
#tab-weekplan .wp2-chk{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--wp-ink-2);cursor:pointer;user-select:none}
#tab-weekplan .wp2-chk input{position:absolute;opacity:0;pointer-events:none}
#tab-weekplan .wp2-chk .box{width:18px;height:18px;border-radius:5px;border:1px solid var(--wp-border-strong);background:var(--wp-surface-2);display:grid;place-items:center;color:transparent;font-size:12px;flex:0 0 18px}
#tab-weekplan .wp2-chk input:checked+.box{background:var(--wp-primary);border-color:var(--wp-primary);color:#fff}
#tab-weekplan .wp2-dur{font-family:var(--wp-mono);font-size:11px;color:var(--wp-ink-3);text-align:center}
#tab-weekplan .wp2-pop .pf{padding:11px 14px;border-top:1px solid var(--wp-border);background:var(--wp-surface-2);display:flex;gap:8px}
#tab-weekplan .wp2-pop .pf .grow{flex:1}
#tab-weekplan .wp2-pbtn{height:34px;padding:0 14px;border-radius:var(--wp-r-sm);border:1px solid var(--wp-border);background:var(--wp-surface);color:var(--wp-ink);font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
#tab-weekplan .wp2-pbtn:hover{border-color:var(--wp-border-strong)}
#tab-weekplan .wp2-pbtn.primary{background:var(--wp-primary);border-color:var(--wp-primary);color:var(--wp-on-cta)}
#tab-weekplan .wp2-pbtn.primary:hover{background:var(--wp-primary-bright)}
#tab-weekplan .wp2-pbtn.danger{color:var(--wp-blood);border-color:color-mix(in oklch,var(--wp-blood) 40%,transparent);background:transparent}
#tab-weekplan .wp2-pbtn.danger:hover{background:var(--wp-blood-soft)}

#tab-weekplan .wp2-fillmenu{position:fixed;z-index:50;background:var(--wp-surface);border:1px solid var(--wp-border-strong);border-radius:var(--wp-r-md);box-shadow:var(--wp-shadow-pop);padding:6px;display:none;flex-direction:column;gap:2px;width:200px;max-height:300px;overflow:auto}
#tab-weekplan .wp2-fillmenu.on{display:flex}
#tab-weekplan .wp2-fillmenu .ft{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wp-ink-3);padding:4px 8px}
#tab-weekplan .wp2-fillmenu button{display:flex;align-items:center;gap:8px;padding:7px 9px;border:0;background:transparent;color:var(--wp-ink-2);border-radius:var(--wp-r-sm);cursor:pointer;font-size:13px;text-align:left}
#tab-weekplan .wp2-fillmenu button:hover{background:var(--wp-surface-3);color:var(--wp-ink)}
#tab-weekplan .wp2-fillmenu .dot{width:9px;height:9px;border-radius:50%;background:var(--wc);flex:0 0 9px}

#tab-weekplan .wp2-spin{animation:wp2spin .8s linear infinite}
@keyframes wp2spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){#tab-weekplan *{transition:none!important;animation:none!important}}
