.trend[data-v-7c63d2d6]{display:inline-flex;align-items:center;gap:2px;font-size:12px;font-weight:600;line-height:1;padding:3px 7px;border-radius:var(--radius)}.trend i[data-v-7c63d2d6]{font-size:11px}.trend--up[data-v-7c63d2d6]{color:var(--success);background:var(--success-soft)}.trend--down[data-v-7c63d2d6]{color:var(--danger);background:var(--danger-soft)}.dash-page[data-v-3c17de3e]{padding:24px;min-height:calc(100vh - 100px);background:linear-gradient(180deg,var(--bg-warm),var(--bg) 160px)}.page-header[data-v-3c17de3e]{margin-bottom:16px}.page-title[data-v-3c17de3e]{margin:0;font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-.3px}.page-desc[data-v-3c17de3e]{margin:6px 0 0;font-size:13px;color:var(--stone-500)}.page-card[data-v-3c17de3e]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.card-title[data-v-3c17de3e]{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:16px;display:flex;align-items:baseline;gap:8px}.card-sub[data-v-3c17de3e]{font-size:12px;font-weight:400;color:var(--stone-400)}.kpi-row[data-v-3c17de3e]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi-tile[data-v-3c17de3e]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;cursor:pointer;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out),border-color .15s var(--ease-out)}.kpi-tile[data-v-3c17de3e]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--stone-300)}.kpi-label[data-v-3c17de3e]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--stone-500)}.kpi-dot[data-v-3c17de3e]{width:6px;height:6px;border-radius:50%;background:var(--stone-300)}.kpi--primary .kpi-dot[data-v-3c17de3e]{background:var(--primary)}.kpi--warning .kpi-dot[data-v-3c17de3e]{background:var(--warning)}.kpi--danger .kpi-dot[data-v-3c17de3e]{background:var(--danger)}.kpi--success .kpi-dot[data-v-3c17de3e]{background:var(--success)}.kpi-body[data-v-3c17de3e]{display:flex;align-items:baseline;gap:3px;margin-top:8px}.kpi-num[data-v-3c17de3e]{font-size:28px;font-weight:700;line-height:1.1;color:var(--ink);letter-spacing:-.5px}.kpi-unit[data-v-3c17de3e]{font-size:12px;color:var(--stone-400);font-weight:600}.kpi-sub[data-v-3c17de3e]{margin-top:6px;font-size:12px;color:var(--stone-400)}.kpi-sub--hot[data-v-3c17de3e]{color:var(--danger);font-weight:600}.dash-grid[data-v-3c17de3e]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;margin-bottom:16px}.grid-main .page-card[data-v-3c17de3e]{height:100%;box-sizing:border-box}.grid-side[data-v-3c17de3e]{display:flex;flex-direction:column;gap:16px;min-width:0}.grid-side .alert-card[data-v-3c17de3e]{flex:1 1 auto}.proj-list[data-v-3c17de3e],.proj-row[data-v-3c17de3e]{display:flex;flex-direction:column}.proj-row[data-v-3c17de3e]{gap:8px;padding:13px 10px;border-radius:var(--radius);cursor:pointer;transition:background .15s var(--ease-out)}.proj-row[data-v-3c17de3e]:hover{background:var(--bg-warm)}.proj-row+.proj-row[data-v-3c17de3e]{border-top:1px solid var(--border-light)}.proj-line1[data-v-3c17de3e]{display:flex;align-items:center;gap:8px;min-width:0}.phase-badge[data-v-3c17de3e]{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;line-height:1.5}.phase--ending[data-v-3c17de3e]{background:var(--warning-soft);color:var(--warning)}.phase--ended[data-v-3c17de3e]{background:var(--stone-100);color:var(--stone-500)}.phase--ongoing[data-v-3c17de3e]{background:var(--primary-soft);color:var(--primary)}.proj-name[data-v-3c17de3e]{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lv-chip[data-v-3c17de3e]{flex-shrink:0;font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;color:#fff;background:var(--stone-400)}.lv-chip--l1[data-v-3c17de3e]{background:var(--lv-1)}.lv-chip--l2[data-v-3c17de3e]{background:var(--lv-2)}.lv-chip--l3[data-v-3c17de3e]{background:var(--lv-3)}.lv-chip--l4[data-v-3c17de3e]{background:var(--lv-4)}.type-chip[data-v-3c17de3e]{flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent)}.proj-line2[data-v-3c17de3e]{display:flex;align-items:center;gap:12px;min-width:0}.proj-progress[data-v-3c17de3e]{display:flex;align-items:center;gap:8px;flex:1;min-width:120px}.proj-progress .bar[data-v-3c17de3e]{flex:1;height:6px;border-radius:999px;background:var(--stone-100);overflow:hidden}.proj-progress .bar i[data-v-3c17de3e]{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .3s var(--ease-out)}.proj-progress .bar i.low[data-v-3c17de3e]{background:var(--warning)}.meta[data-v-3c17de3e]{font-size:12px;color:var(--stone-700);white-space:nowrap}.meta.muted[data-v-3c17de3e]{color:var(--stone-400)}.meta.hot[data-v-3c17de3e]{color:var(--danger);font-weight:600}.proj-date[data-v-3c17de3e]{margin-left:auto}.week-hero[data-v-3c17de3e]{display:flex;flex-direction:column;gap:2px}.week-main[data-v-3c17de3e]{display:flex;align-items:center;gap:6px}.week-num[data-v-3c17de3e]{font-size:26px;font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-.5px}.week-unit[data-v-3c17de3e]{font-weight:600;margin-right:4px}.week-sub[data-v-3c17de3e],.week-unit[data-v-3c17de3e]{font-size:12px;color:var(--stone-400)}.spark[data-v-3c17de3e]{display:flex;align-items:flex-end;gap:3px;height:52px;margin-top:14px}.spark-col[data-v-3c17de3e]{flex:1;height:100%;display:flex;align-items:flex-end}.spark-bar[data-v-3c17de3e]{width:100%;min-height:4px;border-radius:3px;background:var(--primary-light);opacity:.75;transition:opacity .15s var(--ease-out)}.spark-col:hover .spark-bar[data-v-3c17de3e]{opacity:1}.spark-bar.zero[data-v-3c17de3e]{background:var(--stone-200);opacity:1}.spark-bar.today[data-v-3c17de3e]{background:var(--primary)}.spark-axis[data-v-3c17de3e]{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--stone-400)}.week-stats[data-v-3c17de3e]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-light)}.ws-item[data-v-3c17de3e]{display:flex;flex-direction:column;gap:2px;position:relative}.ws-item b[data-v-3c17de3e]{font-size:16px;font-weight:700;color:var(--stone-700);line-height:1.2}.ws-item b i[data-v-3c17de3e]{font-style:normal}.ws-item b i[data-v-3c17de3e],.ws-item span[data-v-3c17de3e]{font-size:11px;color:var(--stone-400)}.alert-list[data-v-3c17de3e]{display:flex;flex-direction:column;gap:8px}.alert-line[data-v-3c17de3e]{display:flex;align-items:center;gap:10px;border-radius:var(--radius);padding:10px 12px;cursor:pointer;transition:filter .15s var(--ease-out)}.alert-line[data-v-3c17de3e]:hover{filter:brightness(.98)}.alert-line--danger[data-v-3c17de3e]{background:var(--danger-soft)}.alert-line--warn[data-v-3c17de3e]{background:var(--warning-soft)}.alert-ico[data-v-3c17de3e]{font-size:16px;flex-shrink:0}.alert-line--danger .alert-ico[data-v-3c17de3e]{color:var(--danger)}.alert-line--warn .alert-ico[data-v-3c17de3e]{color:var(--warning)}.alert-body[data-v-3c17de3e]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.alert-name[data-v-3c17de3e]{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-text[data-v-3c17de3e]{font-size:12px;color:var(--stone-500)}.alert-go[data-v-3c17de3e]{font-size:12px;color:var(--stone-400);flex-shrink:0}.empty-state[data-v-3c17de3e]{text-align:center;padding:28px 0 20px}.empty-icon[data-v-3c17de3e]{font-size:34px;color:var(--stone-300)}.empty-title[data-v-3c17de3e]{margin:10px 0 0;font-size:14px;font-weight:600;color:var(--stone-500)}.empty-desc[data-v-3c17de3e]{margin:6px 0 0;font-size:12px;color:var(--stone-400)}.empty-btn[data-v-3c17de3e]{display:inline-block;margin-top:12px;padding:7px 18px;border-radius:999px;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s var(--ease-out)}.empty-btn[data-v-3c17de3e]:hover{background:var(--primary-dark)}.ai-card .card-title[data-v-3c17de3e]{margin-bottom:12px}.ai-tools[data-v-3c17de3e]{margin-left:auto;display:flex;align-items:center;gap:10px}.ai-time[data-v-3c17de3e]{font-size:12px;color:var(--stone-400);font-weight:400}.ai-refresh[data-v-3c17de3e]{font-size:16px;color:var(--stone-500);cursor:pointer;transition:color .15s var(--ease-out)}.ai-refresh[data-v-3c17de3e]:hover{color:var(--primary)}.ai-refresh.spinning[data-v-3c17de3e]{color:var(--primary);animation:ai-rot-3c17de3e 1s linear infinite}@keyframes ai-rot-3c17de3e{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ai-content[data-v-3c17de3e]{font-size:13px;line-height:1.95;color:var(--stone-700);white-space:pre-wrap;word-break:break-word}.ai-pending[data-v-3c17de3e]{display:flex;align-items:center;gap:8px;padding:18px 0;font-size:13px;color:var(--stone-400)}.ai-pending i[data-v-3c17de3e]{font-size:16px}.ai-retry[data-v-3c17de3e]{cursor:pointer;color:var(--danger)}@media (max-width:1200px){.dash-grid[data-v-3c17de3e]{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}@media (max-width:1024px){.dash-grid[data-v-3c17de3e]{grid-template-columns:1fr}}@media (max-width:768px){.dash-page[data-v-3c17de3e]{padding:0 0 20px;min-height:calc(100dvh - 48px);background:var(--bg)}.page-header[data-v-3c17de3e]{margin-bottom:0;padding:10px 14px 12px;background:var(--card-bg);border-bottom:1px solid var(--border-light)}.page-title[data-v-3c17de3e]{display:none}.page-desc[data-v-3c17de3e]{margin:0;font-size:14px;color:var(--stone-700);font-weight:500}.kpi-row[data-v-3c17de3e]{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 14px 0;margin-bottom:10px}.kpi-tile[data-v-3c17de3e]{padding:14px}.kpi-num[data-v-3c17de3e]{font-size:24px}.dash-grid[data-v-3c17de3e]{padding:0 14px;gap:10px;margin-bottom:10px}.grid-side[data-v-3c17de3e]{gap:10px}.page-card[data-v-3c17de3e]{padding:16px}.proj-row[data-v-3c17de3e]{padding:12px 2px}.proj-line2[data-v-3c17de3e]{flex-wrap:wrap;gap:6px 10px}.proj-progress[data-v-3c17de3e]{min-width:100%;order:1}.proj-date[data-v-3c17de3e]{margin-left:0}.week-stats[data-v-3c17de3e]{grid-template-columns:repeat(2,1fr);row-gap:12px}.ai-card[data-v-3c17de3e]{margin:0 14px}.ai-card .card-title[data-v-3c17de3e]{flex-wrap:wrap;row-gap:4px}}