/* 第二批计划列表：既有token、局部表格滚动；手机面板只读。 */
.annual-plan-page, .annual-plan-editor { display: grid; gap: var(--space-4); min-width: 0; }
.plan-year-form, .plan-context, .plan-toolbar, .plan-heading, .plan-list-footer { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; }
.plan-year-form { align-items: end; }
.plan-year-form .field { width: 9rem; }
.plan-year-form .field-error { flex-basis: 100%; margin: 0; }
.plan-heading, .plan-toolbar, .plan-list-footer { justify-content: space-between; }
.plan-heading h2 { margin: 0; }
.plan-context .field { min-width: 12rem; }
.plan-context .field-help { flex: 1; min-width: min(15rem,100%); }
.plan-workspace { min-width: 0; }
.plan-toolbar, .plan-list-footer { padding: var(--space-3) var(--space-4); }
.plan-query { display: flex; align-items: center; flex: 0 1 24rem; gap: var(--space-2); min-width: 0; }
.plan-query .input-shell { flex: 1; min-width: 0; }
.plan-table { min-width: 48rem; }
.plan-table td { vertical-align: middle; }
.plan-name { display: flex; align-items: start; flex-direction: column; text-align: left; white-space: normal; min-width: 0; }
.plan-name b, .plan-name small, .plan-edit-table small { overflow-wrap: anywhere; }
.plan-name small, .plan-edit-table small, .plan-amount small { display: block; color: var(--fg-2); font-size: var(--text-caption); font-weight: 400; }
.plan-mobile-list { display: grid; }
.plan-mobile-row { width: 100%; min-width: 0; padding: var(--space-4); border: 0; border-top: 1px solid var(--border-soft); background: var(--bg); color: var(--fg); text-align: left; cursor: pointer; display: grid; gap: var(--space-2); }
.plan-mobile-row:active { background: var(--fill-soft); }
.plan-mobile-row .between { align-items: start; gap: var(--space-2); flex-wrap: wrap; }
.plan-mobile-facts { display: flex; flex-wrap: wrap; gap: var(--space-3); font-size: var(--text-table); }
.plan-mobile-facts small { display: block; }
.plan-mobile-row .tag { flex-shrink: 0; }
.plan-edit-table { min-width: 52rem; }
.plan-edit-table .input-shell { min-width: 8rem; }
.plan-edit-table td:nth-child(2) { max-width: 18rem; }
.plan-check, .plan-choices label { display: flex; align-items: center; gap: var(--space-2); min-height: 44px; cursor: pointer; }
.plan-check { justify-content: center; min-width: 44px; }
.plan-check input, .plan-choices input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--accent); }
.plan-pricing { border: 1px solid var(--border); border-radius: var(--radius-md); padding: var(--space-4); margin: var(--space-4) 0; min-width: 0; }
.plan-pricing legend { font-weight: 600; }
.plan-pricing-item { display: grid; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--border-soft); margin-bottom: var(--space-3); }
.plan-pricing-item .between { flex-wrap: wrap; gap: var(--space-2); }
.plan-target-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.plan-choices { display: grid; gap: var(--space-2); }
.plan-choices label { padding: var(--space-2); border-radius: var(--radius-sm); background: var(--fill-soft); }
.plan-choices small { display: block; color: var(--fg-2); font-size: var(--text-caption); }
.plan-choices span { min-width: 0; overflow-wrap: anywhere; }
.plan-history-list { display: grid; gap: var(--space-2); }
.plan-history-item { display: grid; gap: var(--space-1); min-height: 44px; padding: var(--space-3); text-align: left; color: var(--fg); background: var(--fill-soft); border: 1px solid var(--border); border-radius: var(--radius-sm); cursor: pointer; transition: background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard); }
.plan-history-item:active { background: var(--fill-accent-soft); transform: scale(.98); transition-duration: 0s; } /* 按下即时反馈（AD-04） */
@media (prefers-reduced-motion: reduce) { .plan-history-item:active { transform: none; } } /* 减少动态效果只留底色 */
.plan-history-item span { color: var(--fg-2); font-size: var(--text-caption); }
.plan-conflict-rows { overflow-wrap: anywhere; }
dialog.account-dialog.plan-picker, dialog.account-dialog.plan-target-dialog { color: var(--fg); border: 1px solid var(--glass-border); }
dialog.account-dialog.plan-picker, dialog.account-dialog.plan-target-dialog { width: min(680px,calc(100vw - 32px)); }
dialog.plan-picker:not([open]), dialog.plan-target-dialog:not([open]) { display: none; }
/* 年度目标与版本记录：桌面为非模态右侧浮动面板（AD-08，几何见 supply.css 的 .aside-panel），不设遮罩；
   手机为台账类模态底部面板（AD-09，.m-lsheet）。原 dialog.plan-panel 容器及 ::backdrop 规则随 AD-08 关闭，已删除，
   不保留失效规则（AD-16c）。 */
.plan-side-panel :is(.dt-row dd, .field-help, .notice, .plan-history-item) { overflow-wrap: anywhere; }
.m-lsheet .plan-history-list { display: grid; gap: var(--space-2); }
.m-lsheet .dt-row { padding-block: var(--space-2); border-bottom: 0.5px solid var(--border-soft); }
.annual-plan-editor > form { display: grid; gap: var(--space-3); }
@media (max-width: 640px) { .plan-target-fields { grid-template-columns: minmax(0,1fr); } .plan-toolbar, .plan-list-footer { padding: var(--space-3); } .plan-query { flex-basis: 100%; } .plan-context .field { min-width: 0; flex: 1 1 12rem; } .plan-context .field-help { flex-basis: 100%; } .plan-list-footer nav { flex-wrap: wrap; } }
