/* ============ Semana ============ */
.week-head{display:grid;gap:.6rem;margin-bottom:.8rem}
.week-nav{display:flex;align-items:center;gap:.5rem}
.week-title{flex:1;text-align:center;display:grid}
.week-title h2{font-size:1.25rem}
.week-title span,.week-sub span{color:var(--muted);font-size:.88rem}
.week-tools{display:flex;gap:.5rem;flex-wrap:wrap}
.week-tools .btn{min-height:44px}
.week-sub{display:flex;align-items:baseline;gap:.6rem;font-size:1.05rem;margin:1.4rem 0 .6rem}
.week-grid{display:grid;gap:.7rem}
.day{background:var(--surface2);border:1px solid var(--line);border-radius:var(--r);padding:.6rem;display:grid;gap:.5rem;align-content:start}
.day.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.day.past{opacity:.7}
.day.weekend{background:var(--bg)}
.day-head{display:grid;gap:.35rem;width:100%;text-align:left;background:none;border:0;padding:.1rem;min-height:44px;color:inherit}
button.day-head{cursor:pointer;border-radius:var(--r-sm)}
button.day-head:hover{background:var(--surface)}
.day-name{display:flex;align-items:baseline;gap:.4rem}
.day-name b{font-family:var(--font-head);font-size:1.05rem}
.day-num{color:var(--muted);font-weight:700}
.day-badge{margin-left:auto;font-size:.75rem;font-weight:700;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.05rem .6rem}
.day-load{display:grid;gap:.25rem;font-size:.82rem;color:var(--muted)}
.day-load.over .day-load-text{color:var(--over);font-weight:700}
.day-blocks{display:flex;gap:.4rem;flex-wrap:wrap}
.day-block{font-size:.78rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.05rem .6rem;background:var(--surface)}
@media (min-width:900px){
  .week-grid{grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));align-items:start}
  .day{min-height:12rem}
  .week-head{grid-template-columns:1fr auto;align-items:center}
}

/* ============ Arrastrar ============ */
.drag-ghost{position:fixed;left:0;top:0;z-index:80;margin:0;pointer-events:none;box-shadow:var(--shadow);opacity:.95;rotate:-1.5deg;scale:1.03;touch-action:none}
.drag-count{position:absolute;right:-8px;top:-8px;min-width:24px;height:24px;border-radius:999px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:.8rem;font-weight:700}
.task.drag-src{opacity:.35}
body.dragging{cursor:grabbing;overscroll-behavior:contain}
body.dragging [data-drop]{outline:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:-2px}
.drop-over{outline:3px solid var(--accent)!important;outline-offset:-3px;background:var(--accent-soft)!important}
.edge-nav{display:none;position:fixed;top:40%;z-index:40;width:44px;height:96px;place-items:center;background:var(--accent-soft);color:var(--accent);border:2px dashed var(--accent)}
.edge-nav.left{left:0;border-radius:0 14px 14px 0}
.edge-nav.right{right:0;border-radius:14px 0 0 14px}
body.dragging .edge-nav{display:grid}

/* ============ Deslizar ============ */
.task.swiping{transition:none;z-index:1}
body.swiping{overflow-x:hidden}
.swipe-bg{position:absolute;top:-1px;bottom:-1px;display:flex;align-items:center;gap:.4rem;padding:0 .9rem;overflow:hidden;white-space:nowrap;
  font-weight:700;border-radius:12px;opacity:.8}
.swipe-bg.right{right:100%;justify-content:flex-start;background:var(--ok);color:var(--accent-ink)}
.swipe-bg.left{left:100%;justify-content:flex-end;background:var(--ink);color:var(--bg)}
.swipe-bg.armed{opacity:1}

/* ============ Barra de selección ============ */
body.selecting{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 5rem)}
body.selecting .toast-host{bottom:calc(var(--tab-h) + var(--safe-b) + 4.4rem)}
.selbar-count{font-weight:700;margin-right:auto;white-space:nowrap}
.selbar .sb{min-height:44px;padding:0 .8rem;border-radius:var(--r-sm);border:1px solid color-mix(in srgb,var(--bg) 35%,transparent);
  background:transparent;color:var(--bg);font-weight:700;white-space:nowrap;flex:none}
.selbar .sb:disabled{opacity:.45}
.selbar .sb.armed{background:var(--warn);border-color:var(--warn);color:#fff}
.selbar :focus-visible{outline-color:var(--bg)}

/* Selector «Mover a…» */
.pick-list{display:grid;gap:.3rem}
.pick{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-height:52px;padding:.4rem .8rem;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--surface2);text-align:left;width:100%}
.pick.weekend{opacity:.75}
.pick-day{display:grid}.pick-day small{color:var(--muted)}
.pick-load{font-size:.85rem;color:var(--muted)}.pick-load.over{color:var(--over);font-weight:700}

/* Replanificar */
.replan{display:grid;gap:.8rem}
.rp-summary{margin:0;font-weight:700}
.rp-day h3{font-size:1rem;display:flex;gap:.5rem;align-items:baseline;margin-bottom:.3rem}
.rp-day h3 span{color:var(--muted);font-size:.85rem;font-weight:400}
.rp-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.rp-row{display:flex;align-items:center;gap:.5rem;min-height:40px;padding:.2rem .5rem;border-radius:var(--r-sm);background:var(--surface2)}
.rp-title{flex:1;min-width:0;overflow-wrap:anywhere}
.rp-move{color:var(--muted);font-size:.8rem;white-space:nowrap}

/* ============ Bandeja ============ */
.inbox-head{display:grid;gap:.6rem;margin-bottom:.8rem}
.inbox-count{margin:0;font-weight:700}
.inbox-hint{margin:0 0 .5rem}
.inbox-drop{min-height:8rem;border-radius:var(--r)}
.inbox-empty{display:grid;justify-items:center;text-align:center;gap:.2rem;padding:2.5rem 1rem;color:var(--muted)}
.inbox-empty p{margin:0}
.recent{margin-top:1.4rem}
.recent summary{min-height:44px;display:flex;align-items:center;font-weight:700;cursor:pointer}

/* Días pasados vacíos: una línea */
.day.compact{padding-block:.45rem;opacity:.55}
.day.compact .day-load{display:none}
