/* ============================================================
   陪跑 · 04 周计划（真实数据版）
   结构：左侧深绿积木区（卡池）＋ 右侧纸白积木盘（7 天 × 每天一条可拖动清单）
   交互：点卡选中→点某天「放这里」；也可直接把卡拖进某天；清单里的卡按住上下拖换位
   视觉：奶油纸/深绿/薄荷/琥珀，1600×900 固定舞台内不滚动
   ============================================================ */
.plan-page{position:absolute;inset:0;padding:24px 30px;background:var(--cream);overflow:hidden;color:var(--ink);font-family:var(--font)}
.plan-headbar{height:64px;border-bottom:1px solid rgba(23,55,47,.12);display:flex;align-items:center;justify-content:space-between}
.plan-brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:800}
.plan-brand b{width:38px;height:38px;border-radius:12px 21px 21px 21px;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:16px}
.plan-actions{display:flex;gap:10px}
.plan-actions button,.plan-dialog button{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:0 16px;font-weight:700;color:var(--ink);cursor:pointer}
.plan-actions .primary,.plan-dialog .primary{background:var(--leaf);border-color:var(--leaf);color:#fff}
.plan-actions button:hover{background:var(--mint)}
.plan-work{height:calc(100% - 82px);padding-top:18px;display:grid;grid-template-columns:276px minmax(0,1fr);gap:20px;min-height:0}

/* ---- 左：卡池 ---- */
.plan-pool{min-height:0;border-radius:22px;background:var(--deep);color:#fff;padding:22px 20px 18px;display:flex;flex-direction:column;overflow:hidden}
.plan-pool h1{font-size:27px;line-height:1.3;margin:0 0 8px}
.plan-pool p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.76);margin:0 0 16px}
.plan-pool h2{font-size:16px;margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:700}
.plan-pool h2 span{font-size:12px;font-weight:400;color:rgba(255,255,255,.6)}
.pool-list{flex:1;min-height:0;overflow:auto;display:grid;gap:9px;align-content:start}
.pool-empty{font-size:13px;line-height:1.7;color:rgba(255,255,255,.7)}
.pool-card{position:relative;min-height:58px;border:0;border-radius:12px;background:rgba(255,255,255,.95);color:var(--ink);padding:9px 56px 9px 11px;text-align:left;display:flex;gap:10px;align-items:center;cursor:grab;touch-action:none;user-select:none;transition:transform .14s,box-shadow .14s}
.pool-card:hover{transform:translateY(-1px)}
.pool-card.selected{background:#d8ecff;outline:3px solid #6aa8d8;box-shadow:0 6px 18px rgba(20,60,100,.18)}
.pc-e{font-size:22px;flex:none}
.pc-t{min-width:0}
.pc-t strong{display:block;font-size:15px;line-height:1.3}
.pc-t small{display:block;font-size:14px;color:var(--muted);margin-top:3px;line-height:1.35}
.pc-time{position:absolute;right:32px;top:8px;width:20px;height:20px;border:0;border-radius:50%;background:var(--mist);color:var(--muted);font-size:12px;display:grid;place-items:center;cursor:pointer;padding:0;line-height:1}
.pc-time:hover{background:var(--leaf);color:#fff}
.pc-x{position:absolute;right:8px;top:8px;width:20px;height:20px;border:0;border-radius:50%;background:var(--mist);color:var(--muted);font-size:13px;font-style:normal;display:grid;place-items:center;cursor:pointer;padding:0;line-height:1}
.pc-x:hover{background:var(--coral);color:#fff}
.pool-add{margin-top:12px;height:46px;border:1px dashed rgba(255,255,255,.45);border-radius:10px;background:transparent;color:#fff;font-weight:700;cursor:pointer;flex:none}
.pool-add:hover{background:rgba(255,255,255,.1)}
.pool-note{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);font-size:12px;line-height:1.6;color:rgba(255,255,255,.68);flex:none}

/* ---- 右：积木盘 ---- */
.plan-board{min-width:0;min-height:0;border-radius:22px;background:var(--paper);box-shadow:var(--shadow);padding:20px 20px 14px;display:grid;grid-template-rows:auto 1fr auto;gap:12px}
.board-title h2{font-size:23px;margin:0 0 4px}
.board-title p{font-size:14px;color:var(--ink2);margin:0}
.week-grid-real{min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:stretch}
.day-real{min-width:0;min-height:0;border-radius:14px;background:#f8f7f2;padding:9px 8px 8px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;transition:background .14s,box-shadow .14s}
.day-real.weekend{background:var(--mist)}
.day-real.drop-col{background:#e7f1e9;box-shadow:inset 0 0 0 2px var(--leaf)}
.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.day-head b{font-size:18px}
.day-head small{font-size:14px;color:var(--muted)}
.day-list{min-height:56px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;overflow-x:hidden;padding:2px}
.day-empty{font-size:14px;color:var(--muted);text-align:center;padding:14px 4px;border:1px dashed #d8ded9;border-radius:8px}
.day-card{position:relative;display:flex;align-items:center;gap:6px;background:#fff;border-radius:9px;padding:7px 46px 7px 8px;font-size:15px;font-weight:700;line-height:1.25;box-shadow:0 2px 6px rgba(41,64,54,.08);cursor:grab;touch-action:none;user-select:none}
.day-card.mom{background:#f5ead2;color:#78551e}
.day-card .dc-e{font-size:16px;flex:none}
.day-card .dc-t{min-width:0;display:flex;flex-direction:column}
.day-card .dc-t strong{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-card .dc-t small{font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}
.day-card .dc-time,.day-card .dc-x{position:absolute;top:7px;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:1px 3px;line-height:1}
.day-card .dc-time{right:24px;font-size:13px}
.day-card .dc-x{right:6px;font-size:15px}
.day-card .dc-time:hover,.day-card .dc-x:hover{color:var(--coral)}
.day-card.dragging-src{opacity:.32}
.day-card.drop-before:before{content:"";position:absolute;left:6px;right:6px;top:-4px;height:3px;border-radius:2px;background:var(--leaf)}
.day-list.drop-end:after{content:"";height:3px;border-radius:2px;background:var(--leaf);margin-top:1px}
.day-add{height:34px;border:1px dashed #cad5cc;border-radius:9px;background:transparent;color:var(--ink2);font-size:14px;font-weight:700;cursor:pointer}
.day-add:hover{border-color:var(--leaf);color:var(--leaf)}
.day-add.armed{border-style:solid;border-color:var(--leaf);background:#e7f1e9;color:var(--deep)}
.drag-ghost{position:fixed;z-index:99;pointer-events:none;display:flex;align-items:center;gap:6px;background:#fff;border-radius:9px;padding:7px 10px;font-size:15px;font-weight:700;box-shadow:0 12px 30px rgba(20,45,37,.3);opacity:.96}
.drag-ghost.mom{background:#f5ead2}
.plan-foot-real{border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:13px;line-height:1.6;transition:color .15s}
.foot-flash{color:var(--leaf)!important;font-weight:700}

/* ---- 加卡弹层 ---- */
.plan-dialog{width:660px;max-height:88vh;border:0;border-radius:20px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px rgba(20,45,37,.25)}
.plan-dialog::backdrop{background:rgba(16,83,69,.46)}
.plan-dialog .dhead{height:64px;padding:0 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.plan-dialog .dhead h2{margin:0;font-size:21px}
.plan-dialog .close{width:42px;padding:0;font-size:20px;background:var(--mist);border:0}
.plan-form{padding:18px 22px 20px;display:grid;gap:14px;max-height:calc(88vh - 64px);overflow:auto}
.plan-form label{font-weight:700;font-size:15px;display:block}
.plan-form input{height:48px;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:0 12px;background:#fff;font-size:16px;font-family:inherit;color:var(--ink)}
.plan-form fieldset{border:0;padding:0;margin:0}
.plan-form legend{font-weight:700;font-size:15px;margin-bottom:8px;padding:0}
.plan-form .optional{font-weight:400;color:var(--muted);font-size:13px}
.plan-form .choices{display:flex;gap:8px;flex-wrap:wrap}
.plan-form .choices button{height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:0 13px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;font-size:14px}
.plan-form .choices button.selected{background:var(--mint);border-color:var(--leaf);color:var(--deep);font-weight:700}
.plan-form .emojis button{width:46px;padding:0;font-size:19px}
.plan-form .days button{min-width:62px}
.plan-form .dactions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.plan-form .dialog-note{font-size:12.5px;color:var(--muted)}

/* 周切换（2026-09-11 用户反馈：要能预排下周） */
.week-nav{display:flex;gap:8px;margin:8px 0 2px}
.week-nav button{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:0 12px;font-size:14px;font-weight:700;cursor:pointer}
.week-nav button:hover{border-color:var(--leaf);color:var(--leaf)}
