/* 计划页·主从布局样式（对应 page-plans.js）
 */

/* ══════════════════════════════════════════════════════════════
   计划页 v4 — 主从布局（左列表 · 右详情）
   设计稿：mockups/plans-v4.html，对齐 DESIGN.md / LIST-DESIGN.md
   ══════════════════════════════════════════════════════════════ */

/* 加载骨架 */
.pl-loading { display: flex; flex-direction: column; gap: 12px; }
.pl-loading i { display: block; height: 92px; border-radius: var(--ov-radius);
  background: linear-gradient(90deg, #F1F5F9 25%, #F8FAFC 45%, #F1F5F9 65%);
  background-size: 200% 100%; animation: plShimmer 1.3s infinite; }
@keyframes plShimmer { to { background-position: -200% 0; } }

/* 页头 + 新建按钮 */
.pl-head { display: flex; align-items: flex-start; justify-content: space-between;
  gap: 16px; margin-bottom: 20px; }
.pl-head .console-page-head { margin-bottom: 0; }

/* 计划新建/编辑弹窗 */
.pm-modal { width: 560px; }
.pm-note { display: flex; gap: 8px; align-items: flex-start; background: #EFF6FF;
  border: 1px solid #BFDBFE; color: #1D4ED8; border-radius: 6px;
  padding: 10px 12px; font-size: 12px; line-height: 1.7; margin-bottom: 16px; }
.pm-note svg { width: 15px; height: 15px; flex: 0 0 auto; margin-top: 2px; }
.pm-input { width: 100%; height: 34px; padding: 0 10px; box-sizing: border-box;
  border: 1px solid #E2E8F0; border-radius: 6px; background: #fff;
  font-size: 13px; font-family: inherit; color: #0F172A; outline: none;
  transition: border-color .15s, box-shadow .15s; }
.pm-input:focus { border-color: #2563EB; box-shadow: 0 0 0 3px rgba(37,99,235,.10); }
.pm-input::placeholder { color: #CBD5E1; }
.pm-checks { border: 1px solid #E2E8F0; border-radius: 6px; max-height: 150px;
  overflow-y: auto; padding: 4px 0; }
.pm-pos-q { margin-bottom: 8px; }
.pm-check { display: flex; align-items: center; gap: 8px; padding: 7px 12px;
  font-size: 13px; color: #0F172A; cursor: pointer; }
.pm-check:hover { background: #F8FAFC; }
.pm-check input { margin: 0; accent-color: #2563EB; }
.pm-auto { padding: 12px 0 0; }
.pm-err { display: none; margin-top: 12px; font-size: 12px; color: #B91C1C;
  background: #FEE2E2; border-radius: 6px; padding: 8px 12px; }
.pm-err.show { display: block; }
