.wl-growth-page { max-width: 980px; margin: 0 auto; padding: 28px 18px 56px; color: var(--wl-text); }
.wl-growth-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.wl-growth-head span, .wl-growth-panel-head span { color:var(--wl-accent); font-size:11px; font-weight:800; letter-spacing:.11em; }
.wl-growth-head h1 { margin:5px 0 7px; font-size:30px; }
.wl-growth-head p { margin:0; color:var(--wl-text-muted); font-size:14px; }
.wl-growth-head-actions { display:flex; align-items:center; gap:10px; }
.wl-growth-focus-link, .wl-growth-panel-head a { color:var(--wl-accent); font-size:13px; font-weight:700; }
.wl-growth-notice { margin-bottom:16px; padding:11px 13px; border:1px solid color-mix(in srgb,var(--wl-accent) 20%,var(--wl-border)); border-radius:12px; background:color-mix(in srgb,var(--wl-accent) 6%,var(--wl-bg-card)); color:var(--wl-text-secondary); font-size:13px; line-height:1.6; }
.wl-growth-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
/* 2026-08-22 大圆角 + 玻璃态已上移到 unified-ui.css 统一面板声明块。 */
.wl-growth-overview article, .wl-growth-panel { padding:17px; border:1px solid var(--wl-border-light); background:var(--wl-bg-card); }
.wl-growth-overview span { display:block; color:var(--wl-text-muted); font-size:12px; }
.wl-growth-overview b { display:block; margin-top:6px; color:var(--wl-accent); font-size:26px; line-height:1; }
.wl-growth-overview b small { color:var(--wl-text-muted); font-size:12px; font-weight:500; }
.wl-growth-overview p { min-height:18px; margin:8px 0 0; color:var(--wl-text-muted); font-size:11px; line-height:1.45; }
/* 任务与习惯都是持续增长的列表；桌面端改为纵向全宽面板，避免任务较少时留下大片空白、习惯卡被压成狭长列。 */
.wl-growth-grid { display:grid; grid-template-columns:1fr; gap:16px; margin-bottom:16px; }
.wl-growth-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.wl-growth-panel-head h2 { margin:3px 0 0; font-size:18px; }
.wl-growth-panel-head button { padding:6px 9px; border:0; border-radius:8px; background:color-mix(in srgb,var(--wl-accent) 12%,transparent); color:var(--wl-accent); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.wl-growth-habit-panel-actions { display:flex; align-items:center; gap:7px; }
.wl-growth-habit-panel-actions b { display:inline-grid; place-items:center; min-width:16px; height:16px; margin-left:3px; padding:0 3px; border-radius:99px; background:var(--wl-accent); color:#fff; font-size:10px; }
.wl-growth-panel-head > small { max-width:340px; color:var(--wl-text-muted); font-size:11px; line-height:1.45; text-align:right; }
/* 半宽双栏面板中不要把标题、关联和按钮强塞在同一行；标题独占首行，桌面端也能完整输入。 */
.wl-growth-inline-form { display:grid; gap:8px; margin:0 0 12px; padding:10px; border-radius:11px; background:var(--wl-bg-hover); }
.wl-growth-inline-form[hidden], .wl-growth-habit-form[hidden] { display:none!important; }
.wl-growth-task-form { grid-template-columns:minmax(0,1fr) auto; }
.wl-growth-task-form input { grid-column:1 / -1; }
.wl-growth-habit-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; }
.wl-growth-habit-form input { grid-column:1 / -1; }
/* 第二行让 OKR 关联占据前两列，提交按钮固定在最右，避免右侧出现空白。 */
.wl-growth-habit-form #wl-growth-habit-link { grid-column:1 / 3; }
.wl-growth-habit-form .wl-btn { grid-column:3; justify-self:end; }
.wl-growth-inline-form input, .wl-growth-inline-form select { box-sizing:border-box; min-width:0; width:100%; height:36px; padding:0 10px; border:1px solid var(--wl-border); border-radius:8px; background:var(--wl-bg-card); color:var(--wl-text); font:inherit; font-size:12px; }
.wl-growth-inline-form .wl-btn { min-height:36px; white-space:nowrap; padding:6px 12px; font-size:12px; }
.wl-growth-list { display:grid; gap:7px; }
.wl-growth-item { display:grid; grid-template-columns:25px minmax(0,1fr) 25px; align-items:start; gap:9px; padding:10px 1px; border-bottom:1px solid var(--wl-border-light); }
.wl-growth-habit-list { gap:10px; }
.wl-growth-habit-card { display:grid; grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto 1fr; align-items:start; gap:10px; padding:12px 0; border-bottom:1px solid var(--wl-border-light); }
.wl-growth-habit-card:last-child { border-bottom:0; }
.wl-growth-habit-actions { grid-column:1; grid-row:1; display:grid; gap:5px; justify-items:start; }
/* 2026-08-22 打卡按钮：去掉紧贴文字的 1px 半透明褐边（脏细线框），改为干净无边框玻璃/实色药丸。
   未打卡=浅色玻璃填充+主题色字；已打卡=实色填充+白字。圆角 9px 跟 token 节奏一致。 */
.wl-growth-habit-check { min-width:52px; height:28px; padding:0 8px; border:0; border-radius:9px; background:color-mix(in srgb,var(--wl-accent) 12%,var(--wl-bg-card)); color:var(--wl-accent); font:inherit; font-size:11px; font-weight:800; cursor:pointer; box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }
.wl-growth-habit-card.is-done .wl-growth-habit-check { background:var(--wl-accent); color:#fff; box-shadow:0 2px 8px color-mix(in srgb,var(--wl-accent) 38%,transparent); }
.wl-growth-habit-undo { height:20px; padding:0; border:0; background:transparent; color:var(--wl-text-muted); font-size:10px; cursor:pointer; }
.wl-growth-habit-undo:hover { color:var(--wl-accent); }
.wl-growth-habit-backfill { padding:0; border:0; background:transparent; color:var(--wl-text-muted); font:inherit; font-size:10px; cursor:pointer; }
.wl-growth-habit-backfill:hover { color:var(--wl-accent); }
/* 习惯卡片的编辑/删除入口已改为：打卡按钮下方的灰色“编辑”文字 → 进入弹窗；删除按钮放在编辑弹窗底部 */
.wl-growth-habit-edit-toggle { grid-column:1; grid-row:3; align-self:end; padding:0; border:0; background:transparent; color:var(--wl-text-muted); font:inherit; font-size:11px; font-weight:500; cursor:pointer; text-align:left; }
.wl-growth-habit-edit-toggle:hover { color:var(--wl-accent); }
/* 习惯卡片拖拽排序控件：落入左列 row2（编辑上方）。▲ ⠿ ▼ 三个在小组内垂直居中，整个小组与编辑左对齐 */
.wl-growth-habit-move { grid-column:1; grid-row:2; justify-self:start; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding-top:2px; color:var(--wl-text-muted); }
.wl-growth-habit-grip { cursor:grab; font-size:15px; line-height:1; user-select:none; -webkit-user-select:none; touch-action:none; }
.wl-growth-habit-grip:active { cursor:grabbing; }
.wl-growth-habit-up, .wl-growth-habit-down { width:18px; height:14px; padding:0; border:0; background:transparent; color:var(--wl-text-muted); font-size:9px; line-height:1; cursor:pointer; }
.wl-growth-habit-up:hover, .wl-growth-habit-down:hover { color:var(--wl-accent); }
.wl-growth-habit-up:disabled, .wl-growth-habit-down:disabled { opacity:.28; cursor:default; }
.wl-growth-habit-card.is-dragging { opacity:.45; }
.wl-growth-habit-form-head { display:flex; justify-content:flex-end; gap:8px; margin-bottom:6px; }
.wl-growth-collapse-head { cursor:pointer; user-select:none; -webkit-tap-highlight-color:transparent; }
.wl-growth-collapse-head:focus-visible { outline:2px solid var(--wl-accent); outline-offset:2px; }
/* 折叠/展开指示器：+ 旋转 45° 变成 ×，明确“再点一下是关闭” */
.wl-growth-toggle-plus { display:inline-block; font-weight:700; line-height:1; transition:transform .22s ease; }
.wl-growth-add-task { display:inline-flex; align-items:center; justify-content:center; gap:5px; }
.wl-growth-add-task .wl-growth-toggle-plus { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:14px; height:14px; font-size:14px; transform:translateY(-1px); }
.wl-growth-add-task.is-open .wl-growth-toggle-plus { transform:rotate(45deg); }
/* 新建习惯右侧指示图标：与面板按钮同款的 accent 圆形小图标，旋转 45° 成 × */
.wl-growth-collapse-plus { display:inline-grid; place-items:center; width:26px; height:26px; margin-left:auto; border-radius:50%; background:color-mix(in srgb,var(--wl-accent) 12%,transparent); color:var(--wl-accent); font-size:18px; }
.wl-growth-collapse-head[aria-expanded="true"] .wl-growth-toggle-plus { transform:rotate(45deg); }
.wl-growth-habit-delete-bottom { display:block; width:100%; margin-top:14px; padding:10px; border:1px solid color-mix(in srgb,#c95e59 45%,var(--wl-border)); border-radius:11px; background:transparent; color:#c95e59; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.wl-growth-habit-delete-bottom:hover { background:color-mix(in srgb,#c95e59 10%,transparent); }
.wl-growth-habit-main { grid-column:2; grid-row:1 / 4; min-width:0; }
.wl-growth-habit-title { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.wl-growth-habit-title strong { min-width:0; font-size:14px; line-height:1.45; }
.wl-growth-habit-title span { flex:0 0 auto; color:var(--wl-accent); font-size:11px; font-weight:800; }
.wl-growth-reward-item .wl-growth-redeem { min-width:64px; height:32px; padding:0 16px; border-radius:16px; font-size:13px; font-weight:700; border:1px solid color-mix(in srgb,var(--wl-accent) 55%,var(--wl-border)); background:color-mix(in srgb,var(--wl-accent) 10%,var(--wl-bg-card)); color:var(--wl-accent); }
.wl-growth-reward-item .wl-growth-redeem:hover:not(:disabled) { background:color-mix(in srgb,var(--wl-accent) 18%,var(--wl-bg-card)); }
.wl-growth-reward-item .wl-growth-redeem:disabled, .wl-growth-reward-item .wl-growth-redeem[disabled] { cursor:not-allowed; border-color:var(--wl-border); background:var(--wl-bg-hover); color:var(--wl-text-muted); opacity:1; }
.wl-growth-habit-progress { margin-top:8px; }
.wl-growth-habit-progress > i { display:block; height:5px; overflow:hidden; border-radius:99px; background:var(--wl-border-light); }
.wl-growth-habit-progress > i b { display:block; height:100%; border-radius:inherit; background:var(--wl-accent); }
.wl-growth-habit-progress small { display:block; margin-top:5px; color:var(--wl-text-muted); font-size:11px; line-height:1.35; }
/* 习惯打卡热力图：每个格子用与面板卡同语言的圆角节奏（var(--wl-radius-sm)=9px），
   + inset 顶光 + 柔阴影，跟外面 26px 玻璃圆角面板统一——告别直角小格子。
   gap 增到 4px，避免整片读作右角矩形块；hover 不用 1.15 大缩放（视觉太硬），
   改 1.06 + accent tint 即可。 */
.wl-growth-heatmap { display:grid; grid-template-columns:repeat(14,1fr); gap:4px; margin-top:9px; }
.wl-growth-heatmap i { display:block; aspect-ratio:1; min-width:0; border-radius:var(--wl-radius-sm); background:var(--wl-border-light); box-shadow:inset 0 1px 0 rgba(255,255,255,.45); cursor:pointer; transition:transform .12s ease, background .15s ease, box-shadow .15s ease; }
.wl-growth-heatmap i:hover { transform:scale(1.06); background:color-mix(in srgb,var(--wl-accent) 32%,var(--wl-border-light)); box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 2px 6px color-mix(in srgb,var(--wl-accent) 22%,transparent); }
.wl-growth-heatmap i.is-done { background:var(--wl-accent); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 2px 8px color-mix(in srgb,var(--wl-accent) 38%,transparent); }
.wl-growth-heatmap i.is-done:hover { background:color-mix(in srgb,var(--wl-accent) 80%,#fff); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 4px 12px color-mix(in srgb,var(--wl-accent) 48%,transparent); }
.wl-growth-field { display:grid; min-width:0; gap:4px; }
.wl-growth-field span, .wl-growth-reward-form label span { color:var(--wl-text-muted); font-size:10px; font-weight:700; }
.wl-growth-field-checkbox { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wl-growth-field-checkbox input[type="checkbox"] { position:relative; width:16px; height:16px; margin:0; flex-shrink:0; }
.wl-growth-field-checkbox span:last-child { font-size:12px; font-weight:600; color:var(--wl-text-secondary); }
.wl-growth-linked-autofocus { color:var(--wl-accent); }
.wl-growth-reward-panel { margin-bottom:16px; }
.wl-growth-goals-panel { margin-bottom:16px; }
.wl-growth-energy { display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:4px; }
.wl-growth-energy b { color:var(--wl-accent); font-size:25px; line-height:1; }
.wl-growth-energy span { color:var(--wl-text-secondary); font-size:12px; font-weight:700; }
.wl-growth-energy small { grid-column:1 / -1; margin-top:3px; color:var(--wl-text-muted); font-size:10px; }
.wl-growth-reward-form { display:grid; grid-template-columns:minmax(0,1fr) 112px auto; align-items:end; gap:8px; margin-bottom:10px; }
.wl-growth-reward-form input { box-sizing:border-box; width:100%; height:36px; padding:0 10px; border:1px solid var(--wl-border); border-radius:8px; background:var(--wl-bg-card); color:var(--wl-text); font:inherit; font-size:12px; }
.wl-growth-reward-form label { display:grid; gap:4px; }
.wl-growth-reward-list { display:grid; gap:5px; }
.wl-growth-reward-item { display:grid; grid-template-columns:minmax(0,1fr) auto 25px; align-items:center; gap:9px; padding:9px 0; border-top:1px solid var(--wl-border-light); }
.wl-growth-reward-item strong { display:block; font-size:13px; }
.wl-growth-reward-item small { display:block; margin-top:3px; color:var(--wl-text-muted); font-size:11px; }
.wl-growth-item:last-child { border-bottom:0; }
.wl-growth-toggle { display:grid; place-items:center; width:22px; height:22px; padding:0; border:1px solid color-mix(in srgb,var(--wl-accent) 45%,var(--wl-border)); border-radius:50%; background:var(--wl-bg-card); color:#fff; font-weight:800; cursor:pointer; }
.wl-growth-item.is-done .wl-growth-toggle { border-color:var(--wl-accent); background:var(--wl-accent); }
.wl-growth-item strong { display:block; font-size:14px; line-height:1.45; }
.wl-growth-item.is-done strong { color:var(--wl-text-muted); text-decoration:line-through; }
.wl-growth-item small, .wl-growth-linked { display:block; margin-top:3px; color:var(--wl-text-muted); font-size:11px; line-height:1.4; }
.wl-growth-linked { color:var(--wl-accent); }
.wl-growth-delete { width:23px; height:23px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--wl-text-muted); font-size:18px; line-height:1; cursor:pointer; }
.wl-growth-delete:hover { background:#fff0f0; color:#cc625e; }
.wl-growth-empty { margin:6px 0; color:var(--wl-text-muted); font-size:13px; line-height:1.6; }
.wl-growth-evidence-panel { margin-bottom:16px; }
.wl-growth-evidence-toggle { display:block; grid-column:1 / -1; width:-webkit-fit-content; width:fit-content; margin:12px auto 0; padding:6px 15px; border:1px solid color-mix(in srgb,var(--wl-accent) 32%,var(--wl-border)); border-radius:99px; background:var(--wl-bg-card); color:var(--wl-accent); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.wl-growth-evidence-toggle:hover { background:color-mix(in srgb,var(--wl-accent) 8%,var(--wl-bg-card)); }
.wl-growth-evidence-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 22px; }
.wl-growth-evidence-list article { display:flex; align-items:flex-start; gap:10px; padding:11px 0; border-top:1px solid var(--wl-border-light); }
.wl-growth-evidence-list article > div { min-width:0; flex:1; }
.wl-growth-evidence-list i { width:8px; height:8px; margin-top:6px; border-radius:50%; background:var(--wl-accent); }
.wl-growth-evidence-delete { width:23px; height:23px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--wl-text-muted); font-size:18px; line-height:1; cursor:pointer; }
.wl-growth-evidence-delete:hover { background:#fff0f0; color:#cc625e; }
.wl-growth-evidence-list strong { display:block; font-size:13px; }
.wl-growth-panel-hint { margin:-2px 0 13px; color:var(--wl-text-muted); font-size:12px; line-height:1.6; }
/* OKR 展示与评估：每个目标一张完整卡片（目标进度 + KR + 三栏评估）。 */
.wl-growth-goals-list { display:grid; grid-template-columns:1fr; gap:16px; }
/* 2026-08-22 大圆角 + 玻璃态已上移到 unified-ui.css 统一面板声明块。 */
.wl-growth-goal-card { padding:16px; border:1px solid var(--wl-border-light); background:var(--wl-bg-card); }
.wl-growth-goal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.wl-growth-goal-head strong { font-size:16px; line-height:1.35; }
.wl-growth-goal-head span { color:var(--wl-accent); font-size:18px; font-weight:800; }
.wl-growth-goal-progress { display:block; height:6px; margin:11px 0 7px; overflow:hidden; border-radius:99px; background:var(--wl-border-light); }
.wl-growth-goal-progress b { display:block; height:100%; border-radius:inherit; background:var(--wl-accent); }
.wl-growth-goal-meta { color:var(--wl-text-muted); font-size:11px; line-height:1.5; }
.wl-growth-goal-krs { display:grid; gap:7px; margin:13px 0 4px; padding:12px; border-radius:11px; background:var(--wl-bg-hover); }
.wl-growth-goal-kr { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.wl-growth-goal-kr-title { font-size:12px; color:var(--wl-text); }
.wl-growth-goal-kr b { font-size:13px; font-weight:800; white-space:nowrap; }
.wl-growth-goal-kr b small { color:var(--wl-text-muted); font-weight:500; }
.wl-growth-goal-edit { display:block; margin:10px 0 0 auto; padding:0; border:0; background:transparent; color:var(--wl-accent); font-size:12px; font-weight:700; cursor:pointer; }
/* 评估区：三栏（正常进度 / 落后或已修改 / 已完成）。 */
.wl-growth-eval-module { margin-top:14px; border-top:1px dashed var(--wl-border-light); padding-top:12px; }
.wl-growth-eval-section { margin-bottom:11px; }
.wl-growth-eval-section-head { display:flex; align-items:center; gap:9px; margin-bottom:8px; }
.wl-growth-eval-section-head strong { font-size:13px; }
.wl-growth-eval-section-head small { color:var(--wl-text-muted); font-size:11px; }
.wl-growth-eval-section-head .wl-growth-eval-add { margin-left:auto; padding:4px 9px; border:1px solid color-mix(in srgb,var(--wl-accent) 40%,var(--wl-border)); border-radius:8px; background:var(--wl-bg-card); color:var(--wl-accent); font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.wl-growth-eval-section.is-behind .wl-growth-eval-section-head strong { color:#c9752a; }
.wl-growth-eval-section.is-done .wl-growth-eval-section-head strong { color:#3a9d5d; }
.wl-growth-eval-empty { margin:0 0 2px; color:var(--wl-text-muted); font-size:11px; }
.wl-growth-eval-item { padding:9px 11px; border-radius:10px; background:var(--wl-bg-hover); }
.wl-growth-eval-item + .wl-growth-eval-item { margin-top:7px; }
.wl-growth-eval-item.is-abandoned { opacity:.72; }
.wl-growth-eval-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.wl-growth-eval-scope { font-size:12px; font-weight:700; color:var(--wl-text); }
.wl-growth-eval-score { margin-left:auto; color:var(--wl-accent); font-size:12px; font-weight:800; }
.wl-growth-eval-badge { padding:1px 7px; border-radius:99px; font-size:10px; font-weight:700; }
.wl-growth-eval-badge.is-unplanned { background:color-mix(in srgb,#6b7cff 16%,transparent); color:#5560d6; }
.wl-growth-eval-badge.is-abandoned { background:color-mix(in srgb,#c9752a 16%,transparent); color:#b3651f; }
.wl-growth-eval-note { margin:6px 0 0; color:var(--wl-text-secondary); font-size:12px; line-height:1.6; white-space:pre-wrap; word-break:break-word; }
.wl-growth-eval-actions { display:flex; gap:10px; margin-top:7px; }
.wl-growth-eval-actions button { padding:0; border:0; background:transparent; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.wl-growth-eval-edit { color:var(--wl-accent); }
.wl-growth-eval-delete { color:var(--wl-text-muted); }
/* 评估弹窗表单。 */
.wl-growth-eval-dialog .wl-growth-dialog-card { width:min(100%,520px); }
.wl-growth-eval-dialog label { display:block; margin:13px 0 6px; color:var(--wl-text-secondary); font-size:13px; font-weight:700; }
.wl-growth-eval-dialog select, .wl-growth-eval-dialog textarea, .wl-growth-eval-dialog input[type=number] { box-sizing:border-box; width:100%; padding:9px 11px; border:1px solid var(--wl-border); border-radius:9px; background:var(--wl-bg-hover); color:var(--wl-text); font:inherit; font-size:13px; outline:none; }
.wl-growth-eval-dialog select:focus, .wl-growth-eval-dialog textarea:focus, .wl-growth-eval-dialog input[type=number]:focus { border-color:var(--wl-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--wl-accent) 16%,transparent); }
.wl-growth-eval-dialog textarea { resize:vertical; min-height:80px; line-height:1.6; }
.wl-growth-seg-control { display:flex; gap:6px; flex-wrap:wrap; }
.wl-growth-seg-control button { flex:1; min-width:0; padding:8px 6px; border:1px solid var(--wl-border); border-radius:9px; background:var(--wl-bg-hover); color:var(--wl-text-secondary); font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.wl-growth-seg-control button.is-active { border-color:var(--wl-accent); background:color-mix(in srgb,var(--wl-accent) 12%,transparent); color:var(--wl-accent); }
.wl-growth-eval-score-row { display:flex; align-items:center; gap:10px; }
.wl-growth-eval-score-row input { width:90px; }
.wl-growth-eval-score-preview { color:var(--wl-accent); font-size:13px; font-weight:800; }
.wl-growth-eval-toggles { display:grid; gap:9px; margin-top:14px; }
.wl-growth-eval-toggles .wl-growth-toggle { display:flex; align-items:flex-start; gap:9px; padding:9px 11px; border:1px solid var(--wl-border-light); border-radius:10px; background:var(--wl-bg-hover); cursor:pointer; }
.wl-growth-eval-toggles .wl-growth-toggle span { font-size:12px; font-weight:700; color:var(--wl-text); }
.wl-growth-eval-toggles .wl-growth-toggle small { display:block; color:var(--wl-text-muted); font-size:10px; font-weight:400; }
.wl-growth-eval-toggles .wl-growth-toggle input { margin-top:2px; width:16px; height:16px; accent-color:var(--wl-accent); }
@media (max-width:640px) { .wl-growth-goal-card { padding:13px; } .wl-growth-seg-control { gap:5px; } .wl-growth-seg-control button { font-size:11px; padding:7px 4px; } }
.wl-growth-goal-edit:hover { text-decoration:underline; }
.wl-growth-okr-dialog .wl-growth-dialog-card { width:min(100%,760px); max-height:calc(100vh - 40px); overflow:auto; }
.wl-growth-habit-edit-form input, .wl-growth-habit-edit-form select, .wl-growth-backfill-dialog input, .wl-growth-okr-dialog input, .wl-growth-okr-dialog textarea, .wl-growth-okr-dialog select { box-sizing:border-box; width:100%; border:1px solid var(--wl-border); border-radius:9px; background:var(--wl-bg-hover); color:var(--wl-text); font:inherit; font-size:13px; outline:none; }
.wl-growth-habit-edit-form input, .wl-growth-habit-edit-form select, .wl-growth-backfill-dialog input { height:38px; padding:0 10px; }
.wl-growth-habit-edit-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:12px 0; }
.wl-growth-habit-edit-meta label { margin:0; }
.wl-growth-habit-edit-form > label:last-of-type { margin-top:12px; }
.wl-growth-okr-dialog input, .wl-growth-okr-dialog select { height:38px; padding:0 10px; }
.wl-growth-okr-dialog textarea { min-height:78px; padding:10px; resize:vertical; }
.wl-growth-okr-meta { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.wl-growth-okr-meta label { margin:0; }
.wl-growth-okr-edit-section { margin-top:16px; }
.wl-growth-okr-edit-section > div:first-child { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.wl-growth-okr-edit-section > div:first-child button { padding:0; border:0; background:transparent; color:var(--wl-accent); font-size:12px; font-weight:700; cursor:pointer; }
.wl-growth-okr-kr-row, .wl-growth-okr-action-row { display:grid; gap:7px; padding:9px 0; border-top:1px solid var(--wl-border-light); }
.wl-growth-okr-kr-row { grid-template-columns:minmax(110px,1.5fr) repeat(4,minmax(68px,1fr)) 22px; }
.wl-growth-okr-action-row { grid-template-columns:minmax(0,1fr) minmax(150px,.7fr) 22px; }
.wl-growth-okr-kr-row label { margin:0; color:var(--wl-text-muted); font-size:11px; font-weight:600; }
.wl-growth-okr-kr-row label input { margin-top:3px; }
.wl-growth-okr-kr-row button, .wl-growth-okr-action-row button { align-self:center; justify-self:center; padding:0; border:0 !important; background:transparent !important; box-shadow:none !important; color:var(--wl-accent) !important; font-size:15px; line-height:1; cursor:pointer; -webkit-appearance:none; appearance:none; outline:none; transition:opacity .15s ease; }
.wl-growth-okr-kr-row button:hover, .wl-growth-okr-action-row button:hover { opacity:.7; }
/* 关联 KR 下拉：等宽、文字不贴边、行高足够显示 descender */
.wl-growth-okr-action-row select, .wl-growth-okr-action-row .wl-global-select-trigger { box-sizing:border-box; width:100%; min-width:0; padding:10px 32px 10px 12px; border:1px solid var(--wl-border); border-radius:9px; background:var(--wl-bg-hover); color:var(--wl-text); font:inherit; font-size:13px; font-weight:400; line-height:1.5; }
.wl-growth-okr-action-row select { -webkit-appearance:none; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 10px center; }
/* 成长中心的确认、输入与状态反馈统一使用主题内组件，不依赖浏览器原生弹窗。 */
.wl-growth-dialog[hidden], .wl-growth-toast[hidden] { display:none!important; }
.wl-growth-dialog { position:fixed; z-index:9999; inset:0; display:grid; place-items:center; padding:20px; }
.wl-growth-dialog-backdrop { position:absolute; inset:0; background:rgba(31,35,42,.42); backdrop-filter:blur(3px); }
.wl-growth-dialog-card { position:relative; z-index:1; width:min(100%,500px); padding:25px; border:1px solid var(--wl-border-light); border-radius:20px; background:var(--wl-bg-card); box-shadow:0 24px 70px rgba(33,36,43,.24); }
.wl-growth-dialog-card > span { color:var(--wl-accent); font-size:11px; font-weight:800; letter-spacing:.11em; }
.wl-growth-dialog-card h2 { margin:6px 0 8px; color:var(--wl-text); font-size:22px; }
.wl-growth-dialog-card p { margin:0 0 18px; color:var(--wl-text-muted); font-size:13px; line-height:1.65; }
.wl-growth-dialog-card label { display:block; margin-bottom:7px; color:var(--wl-text-secondary); font-size:13px; font-weight:700; }
.wl-growth-dialog-card label em { color:var(--wl-text-muted); font-size:11px; font-style:normal; font-weight:400; }
.wl-growth-dialog-card textarea { box-sizing:border-box; display:block; width:100%; min-height:112px; padding:11px 12px; resize:vertical; border:1px solid var(--wl-border); border-radius:11px; background:var(--wl-bg-hover); color:var(--wl-text); font:inherit; font-size:14px; line-height:1.6; outline:none; }
.wl-growth-dialog-card textarea:focus { border-color:var(--wl-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--wl-accent) 16%,transparent); }
.wl-growth-dialog-close { position:absolute; top:11px; right:12px; display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--wl-text-muted); font-size:22px; line-height:1; cursor:pointer; }
.wl-growth-dialog-close:hover { background:var(--wl-bg-hover); color:var(--wl-text); }
.wl-growth-dialog-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }
.wl-btn-danger { border-color:#c95e59!important; background:#c95e59!important; color:#fff!important; }
.wl-btn-danger:hover { border-color:#ae4743!important; background:#ae4743!important; }
.wl-growth-recycle-list { display:grid; gap:0; max-height:min(48vh,420px); overflow:auto; border-top:1px solid var(--wl-border-light); }
.wl-growth-recycle-list article { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid var(--wl-border-light); }
.wl-growth-recycle-list article > div { min-width:0; }
.wl-growth-recycle-list strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--wl-text); font-size:14px; }
.wl-growth-recycle-list small { display:block; margin-top:4px; color:var(--wl-text-muted); font-size:11px; line-height:1.5; }
.wl-growth-habit-restore { flex:0 0 auto; padding:6px 10px; font-size:12px; }
.wl-growth-toast {  position:fixed; z-index:10000; left:50%; bottom:25px; max-width:calc(100vw - 32px); padding:10px 14px; transform:translateX(-50%); border-radius:10px; background:#3a3b3f; color:#fff; box-shadow:0 8px 25px rgba(0,0,0,.2); font-size:13px; line-height:1.5; }
.wl-growth-toast.is-error { background:#a54545; }
@media (max-width:700px) { .wl-growth-page { padding:20px 13px 42px; } .wl-growth-head { align-items:flex-start; flex-direction:column; } .wl-growth-head h1 { font-size:26px; } .wl-growth-overview { grid-template-columns:1fr 1fr; gap:10px; } .wl-growth-overview article { padding:13px; border-radius:14px; } .wl-growth-overview b { font-size:22px; } .wl-growth-overview p { font-size:10px; } .wl-growth-grid { grid-template-columns:1fr; } .wl-growth-inline-form, .wl-growth-reward-form { grid-template-columns:1fr; } .wl-growth-habit-form { grid-template-columns:1fr; gap:10px; } .wl-growth-habit-form > * { grid-column:1 / -1 !important; justify-self:stretch !important; } .wl-growth-habit-form .wl-btn { justify-self:stretch; width:100%; margin-top:4px; } .wl-growth-habit-form-head { display:flex; align-items:center; justify-content:flex-end; margin-bottom:6px; } .wl-growth-habit-form-head span { color:var(--wl-text-secondary); font-size:13px; font-weight:700; } .wl-growth-habit-form-close { padding:0; border:0; background:transparent; color:var(--wl-text-muted); font:inherit; font-size:13px; cursor:pointer; } .wl-growth-habit-form-close:hover { color:var(--wl-accent); } .wl-growth-habit-card { grid-template-columns:auto minmax(0,1fr); grid-template-rows:auto auto 1fr; align-items:start; gap:10px; position:relative; } .wl-growth-habit-actions { grid-column:1; grid-row:1; gap:6px; } /* 习惯卡片隐藏的编辑/删除按钮已移除（移动端） */ .wl-growth-habit-edit-toggle { grid-column:1; grid-row:3; align-self:end; display:inline-block; padding:0; margin-top:0; border:0; background:transparent; color:var(--wl-text-muted); font:inherit; font-size:11px; font-weight:500; cursor:pointer; } .wl-growth-habit-edit-toggle:hover { color:var(--wl-accent); } .wl-growth-habit-move { grid-column:1; grid-row:2; } .wl-growth-habit-main { grid-column:2; grid-row:1 / 4; } .wl-growth-habit-title { align-items:flex-start; flex-direction:column; gap:2px; padding-right:32px; } .wl-growth-habit-title span { margin-left:0; } .wl-growth-habit-edit-meta { grid-template-columns:1fr; } .wl-growth-evidence-list, .wl-growth-goals-list { grid-template-columns:1fr; } .wl-growth-panel-head { align-items:flex-start; } .wl-growth-habit-panel-actions { flex-wrap:wrap; justify-content:flex-end; } .wl-growth-panel-head > small { text-align:left; } .wl-growth-recycle-list article { align-items:flex-start; } .wl-growth-dialog { align-items:end; padding:12px; } .wl-growth-dialog-card { width:100%; padding:22px 18px; border-radius:18px; } .wl-growth-dialog-actions { justify-content:stretch; } .wl-growth-dialog-actions .wl-btn { flex:1; } .wl-growth-okr-dialog .wl-growth-dialog-card { max-height:calc(100vh - 24px); } .wl-growth-okr-meta, .wl-growth-okr-kr-row, .wl-growth-okr-action-row { grid-template-columns:1fr 1fr; } .wl-growth-okr-kr-row > input { grid-column:1 / -1; } .wl-growth-okr-kr-row > button, .wl-growth-okr-action-row > button { justify-self:end; } .wl-growth-okr-action-row > input { grid-column:1 / -1; } .wl-growth-okr-action-row select { grid-column:1 / 2; } }
@media (max-width:400px) { .wl-growth-overview { grid-template-columns:1fr; } }
