.toast-enter-active,.toast-leave-active{transition:opacity .2s,transform .2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}:root{--navy-900: #0b1626;--navy-800: #16233a;--navy-700: #1f3049;--navy-600: #2c405c;--navy-500: #3d5473;--ink: #0e1a2b;--body: #33415a;--muted: #5e6b84;--placeholder: #67748d;--faint: #868fa0;--line: #dbe2ec;--line-strong: #c8d1de;--line-soft: #eaeff5;--line-field: #8494a9;--bg: #f5f7fa;--bg-sunken: #eef2f7;--card: #ffffff;--row-hover: #f7f9fc;--row-active: #edf1f6;--accent: #0d7383;--accent-dark: #0a5e6b;--accent-light: #4fb8c2;--accent-soft: #e3f0f2;--accent-ring: rgba(13, 115, 131, .18);--on-navy: #ffffff;--on-navy-2: #a8b4c6;--on-navy-3: #7c8ba0;--on-navy-line: rgba(255, 255, 255, .1);--on-navy-hover: rgba(255, 255, 255, .06);--on-navy-active: rgba(255, 255, 255, .09);--on-navy-card: rgba(255, 255, 255, .07);--on-navy-card-line: rgba(255, 255, 255, .12);--nav-badge-bg: rgba(255, 255, 255, .16);--ok: #106b4c;--ok-soft: #e6f3ed;--warn: #a45b08;--warn-soft: #fbf1df;--warn-solid: #d97706;--danger: #b42318;--danger-hover: #971a11;--danger-soft: #fbecea;--brand: var(--accent);--brand-dark: var(--accent-dark);--brand-soft: var(--accent-soft);--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(11, 22, 38, .04);--shadow-md: 0 4px 12px -4px rgba(11, 22, 38, .1);--shadow-lg: 0 16px 40px -12px rgba(11, 22, 38, .2);--shadow-focus: 0 0 0 3px var(--accent-ring);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;--side-w: 240px;--top-h: 56px;--content-max: 1280px;--page-pad: 24px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.65}h1,h2,h3,h4{color:var(--ink);margin:0;letter-spacing:0;line-height:1.35}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}.side :focus-visible,.auth-brand :focus-visible{outline-color:var(--accent-light)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:9px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);font-weight:500;font-size:13.5px;transition:background-color .14s ease,border-color .14s ease,color .14s ease;white-space:nowrap}.btn:hover{border-color:var(--muted);background:var(--row-hover)}.btn:disabled{background:var(--bg-sunken);border-color:var(--line);color:var(--muted);cursor:not-allowed}.btn-primary{background:var(--navy-800);border-color:var(--navy-800);color:#fff}.btn-primary:hover{background:var(--navy-700);border-color:var(--navy-700)}.btn-ghost{background:transparent;border-color:transparent;color:var(--body)}.btn-ghost:hover{background:var(--bg-sunken);border-color:transparent}.btn-sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:var(--radius-sm);position:relative}.btn-sm:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:32px}.btn-xs{height:26px;padding:0 9px;font-size:11.5px;border-radius:var(--radius-xs);font-weight:500;position:relative}.btn-xs:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:32px}.input-xs{height:32px;padding:0 9px;font-size:12px;border-radius:var(--radius-sm)}.btn-danger{color:var(--danger);border-color:var(--danger-soft);background:var(--card)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-size:12.5px;font-weight:500;color:var(--body)}.input,.select,.textarea,.chip-input{width:100%;height:36px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line-field);background:var(--card);outline:none;transition:border-color .15s ease;color:var(--ink)}.input:hover,.select:hover,.textarea:hover,.chip-input:hover{border-color:var(--muted)}.input::placeholder,.textarea::placeholder{color:var(--placeholder)}.input:focus,.select:focus,.textarea:focus,.chip-input:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0;box-shadow:0 0 0 4px var(--accent-ring)}.textarea{height:auto;min-height:84px;padding:10px 12px;line-height:1.6;resize:vertical}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235E6B84' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}.field-hint{font-size:12px;color:var(--muted)}.field-error{font-size:12px;color:var(--danger)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.card-pad{padding:18px 20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-title{font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:0}.card-sub{font-size:12px;color:var(--muted);margin-top:2px}.badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:20px;padding:0 6px;border-radius:var(--radius-xs);font-size:11.5px;font-weight:500;background:var(--bg-sunken);color:var(--muted);white-space:nowrap}.badge.stage{height:auto;padding:0;gap:6px;background:transparent;border-radius:0;font-size:13px;font-weight:500}.badge.stage:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}.badge.stage.intent{color:var(--accent-dark)}.badge.stage.deal{color:var(--ok)}.badge.stage.deal:before{background:var(--ok)}.badge.stage.lost{color:var(--muted)}.badge.stage.lost:before{background:var(--faint)}.badge.intent{background:var(--accent-soft);color:var(--accent-dark)}.badge.deal{background:var(--ok-soft);color:var(--ok)}.badge.lost{background:var(--bg-sunken);color:var(--muted)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.a,.badge.b,.badge.c,.badge.d{height:18px;min-width:18px;padding:0 5px;font-size:11.5px;border-radius:var(--radius-xs)}.badge.a{background:var(--navy-800);color:#fff}.badge.b{background:var(--line);color:var(--navy-700)}.badge.c{background:var(--bg-sunken);color:var(--navy-600)}.badge.d{background:transparent;border:1px solid var(--line);color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:12px}.empty{padding:44px 20px;text-align:center;color:var(--muted);font-size:13px}.empty strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}.divider{height:1px;background:var(--line);margin:14px 0}.row{display:flex;align-items:center;gap:8px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b16266b;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .16s ease}.modal{width:100%;max-width:520px;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:88vh;display:flex;flex-direction:column;animation:pop .18s ease}.modal-head{padding:18px 22px 14px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-body{padding:18px 22px;overflow:auto}.modal-foot{padding:14px 22px 18px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line)}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;justify-content:flex-end;background:#0b162657;animation:fade .16s ease}.drawer{width:560px;max-width:94vw;background:var(--card);height:100%;overflow:auto;box-shadow:-20px 0 60px -30px #0b162666;animation:slide .2s ease}.icon-btn{width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:background-color .14s ease,color .14s ease}.icon-btn:hover{background:var(--bg-sunken);color:var(--ink)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:translateY(8px) scale(.99);opacity:0}}@keyframes slide{0%{transform:translate(24px);opacity:.6}}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th{text-align:left;font-size:11.5px;font-weight:500;color:var(--muted);padding:0 12px 8px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card)}.table td{height:48px;padding:6px 12px;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.5}.table tbody tr{transition:background-color .12s ease;cursor:pointer}.table tbody tr:hover{background:var(--row-hover)}.table tbody tr.is-active{background:var(--row-active)}.table tbody tr:last-child td{border-bottom:none}.side-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 11px;border-radius:var(--radius-sm);color:var(--on-navy-2);font-weight:500;font-size:13.5px;cursor:pointer;transition:background-color .14s ease,color .14s ease;position:relative}.side-item:hover{background:var(--on-navy-hover);color:var(--on-navy)}.side-item.active{background:var(--on-navy-active);color:var(--on-navy);font-weight:600}.side-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:18px;border-radius:1px;background:var(--accent-light)}.side-item svg{flex:0 0 auto}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:var(--navy-800);color:#fff;padding:10px 18px;border-radius:var(--radius-sm);font-size:13px;z-index:200;box-shadow:var(--shadow-lg);animation:pop .18s ease}.toast.error{background:var(--danger)}@media (max-width: 860px){.modal{max-width:100%}}
