.toast[data-v-f51e47b8]{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:100;padding:10px 22px;border-radius:8px;color:#fff;font-size:14px;box-shadow:0 4px 14px #0003}.toast.ok[data-v-f51e47b8]{background:var(--ok)}.toast.err[data-v-f51e47b8]{background:var(--danger)}.fade-enter-active[data-v-f51e47b8],.fade-leave-active[data-v-f51e47b8]{transition:opacity .3s}.fade-enter-from[data-v-f51e47b8],.fade-leave-to[data-v-f51e47b8]{opacity:0}.term[data-v-95694ece]{border-bottom:1px dotted var(--brand);cursor:help;position:relative}.tip[data-v-95694ece]{position:absolute;left:0;top:130%;z-index:50;width:300px;background:#1f2937;color:#f9fafb;font-size:13px;line-height:1.6;padding:10px 12px;border-radius:8px;font-weight:400;box-shadow:0 4px 12px #00000040}.modal[data-v-722317a2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:60;display:flex;align-items:center;justify-content:center}.grid[data-v-722317a2]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wrap[data-v-f91d2faa]{display:grid;grid-template-columns:380px 1fr;gap:16px;align-items:start}.grid[data-v-f91d2faa]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.layout[data-v-4bf2f003]{display:flex;min-height:100vh}aside[data-v-4bf2f003]{width:190px;background:#111827;color:#d1d5db;padding:18px 12px;display:flex;flex-direction:column;flex-shrink:0}.logo[data-v-4bf2f003]{font-size:20px;font-weight:800;color:#fff;padding:4px 10px 18px}.logo span[data-v-4bf2f003]{color:#60a5fa}nav[data-v-4bf2f003]{display:flex;flex-direction:column;gap:4px}nav button[data-v-4bf2f003]{background:none;border:none;color:#d1d5db;text-align:left;padding:9px 12px;border-radius:8px;font-size:14px}nav button[data-v-4bf2f003]:hover{background:#1f2937}nav button.active[data-v-4bf2f003]{background:#2563eb;color:#fff;font-weight:600}.lang[data-v-4bf2f003]{margin-top:18px;padding:0 4px}.lang select[data-v-4bf2f003]{background:#1f2937;color:#d1d5db;border-color:#374151}.user[data-v-4bf2f003]{margin-top:14px;padding:10px 6px 0;border-top:1px solid #1f2937}.user .who[data-v-4bf2f003]{font-size:11px;color:#9ca3af;line-height:1.5;margin-bottom:8px}.user .who b[data-v-4bf2f003]{color:#e5e7eb;font-size:13px}.user .logout[data-v-4bf2f003]{width:100%;background:#1f2937;border:1px solid #374151;color:#d1d5db;padding:7px;border-radius:8px;font-size:13px}.user .logout[data-v-4bf2f003]:hover{background:#374151;color:#fff}.foot[data-v-4bf2f003]{margin-top:auto;font-size:11px;color:#6b7280;padding:10px}main[data-v-4bf2f003]{flex:1;padding:22px 26px;min-width:0}:root{--bg: #f5f7fa;--card: #ffffff;--line: #e3e8ef;--text: #1f2937;--muted: #6b7280;--brand: #2563eb;--brand-weak: #dbeafe;--urgent: #dc2626;--high: #ea580c;--medium: #2563eb;--low: #6b7280;--ok: #16a34a;--warn: #d97706;--danger: #dc2626;--delay: #fca5a5;--ghost: #cbd5e1}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Noto Sans TC,sans-serif;background:var(--bg);color:var(--text)}button{font-family:inherit;cursor:pointer}.btn{border:1px solid var(--line);background:var(--card);padding:6px 14px;border-radius:6px;font-size:14px}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{opacity:.9;color:#fff}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}input,select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:14px;font-family:inherit;width:100%}label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);font-weight:600;font-size:13px;border-bottom:2px solid var(--line);padding:8px 10px}td{border-bottom:1px solid var(--line);padding:8px 10px}.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.chip.p1{background:#fee2e2;color:var(--urgent)}.chip.p2{background:#ffedd5;color:var(--high)}.chip.p3{background:var(--brand-weak);color:var(--medium)}.chip.p4{background:#f3f4f6;color:var(--low)}.empty{text-align:center;padding:48px 24px;color:var(--muted)}.empty h3{color:var(--text)}.delta-pos{color:var(--danger);font-weight:700}.delta-neg{color:var(--ok);font-weight:700}
