.toast-host[data-v-8538519a]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(92vw,460px)}.toast[data-v-8538519a]{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);font-size:13px;line-height:1.55;cursor:pointer}.toast-dot[data-v-8538519a]{width:7px;height:7px;border-radius:50%;margin-top:6px;flex-shrink:0}.toast-text[data-v-8538519a]{flex:1;word-break:break-word}.toast-success[data-v-8538519a]{border-color:var(--down-border)}.toast-success .toast-dot[data-v-8538519a]{background:var(--down)}.toast-error[data-v-8538519a]{border-color:var(--up-border)}.toast-error .toast-dot[data-v-8538519a]{background:var(--up)}.toast-info[data-v-8538519a]{border-color:var(--brand-border)}.toast-info .toast-dot[data-v-8538519a]{background:var(--brand)}.toast-enter-active[data-v-8538519a],.toast-leave-active[data-v-8538519a]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-8538519a],.toast-leave-to[data-v-8538519a]{opacity:0;transform:translateY(-10px)}:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fafbfc;--surface-3: #f2f4f7;--border: #e6e9ee;--border-strong: #d5dae2;--text: #101828;--text-2: #475467;--text-3: #8b95a5;--text-inverse: #ffffff;--brand: #2c6bed;--brand-hover: #1e5ad6;--brand-soft: #eef4ff;--brand-border: #cfe0ff;--up: #d92d20;--up-soft: #fef3f2;--up-border: #fecdc9;--down: #079455;--down-soft: #ecfdf3;--down-border: #a9e5c3;--warn: #b54708;--warn-soft: #fffaeb;--warn-border: #fedf89;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 1px 3px rgba(16, 24, 40, .08), 0 8px 24px -10px rgba(16, 24, 40, .12);--shadow-lg: 0 4px 8px rgba(16, 24, 40, .06), 0 24px 48px -16px rgba(16, 24, 40, .18);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,figure{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}::selection{background:#d7e4ff}.page-title{font-size:20px;font-weight:650;letter-spacing:-.01em}.page-subtitle{color:var(--text-2);font-size:13px;margin-top:4px}.section-title{font-size:15px;font-weight:620}.muted{color:var(--text-3)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.page{max-width:1160px;margin:0 auto;padding:24px 20px 64px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.grow{flex:1;min-width:0}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.card-body{padding:20px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:13px;font-weight:550;color:var(--text-2)}.hint{font-size:12px;color:var(--text-3)}.input,.select{width:100%;height:40px;padding:0 12px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input::placeholder{color:var(--text-3)}.input:disabled,.select:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.input-error{border-color:var(--up)}.input-error:focus{box-shadow:0 0 0 3px var(--up-soft)}.field-error{font-size:12px;color:var(--up)}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:34px}.input-group-prefix{position:absolute;left:12px;color:var(--text-3);font-size:14px;pointer-events:none}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:var(--radius);background:var(--surface);color:var(--text);font-weight:550;font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-default{border-color:var(--border-strong)}.btn-default:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:var(--up);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:#b42318}.btn-ghost{background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-block{width:100%}.btn-link{background:none;border:none;padding:0;color:var(--brand);cursor:pointer;font-weight:550}.btn-link:hover:not(:disabled){text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:550;border:1px solid transparent;white-space:nowrap}.badge-neutral{background:var(--surface-3);color:var(--text-2);border-color:var(--border)}.badge-success{background:var(--down-soft);color:var(--down);border-color:var(--down-border)}.badge-danger{background:var(--up-soft);color:var(--up);border-color:var(--up-border)}.badge-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.badge-info{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.badge-credit{background:var(--up-soft);color:var(--up);border-color:var(--up-border)}.badge-debit{background:var(--down-soft);color:var(--down);border-color:var(--down-border)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:550;color:var(--text-3);font-size:12px;letter-spacing:.02em;padding:10px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .right{text-align:right}.table-actions{display:flex;gap:8px;justify-content:flex-end}.empty{padding:48px 20px;text-align:center;color:var(--text-3);font-size:13px}.empty-title{color:var(--text-2);font-weight:550;margin-bottom:4px}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,#edf0f4 37%,var(--surface-3) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--radius-sm);height:14px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius);font-size:13px;border:1px solid transparent;line-height:1.6}.alert-error{background:var(--up-soft);border-color:var(--up-border);color:#912018}.alert-success{background:var(--down-soft);border-color:var(--down-border);color:#05603a}.alert-warn{background:var(--warn-soft);border-color:var(--warn-border);color:#93370d}.alert-info{background:var(--brand-soft);border-color:var(--brand-border);color:#194185}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-2);flex-wrap:wrap}.pagination-controls{display:flex;align-items:center;gap:6px}.page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);cursor:pointer}.page-btn:hover:not(:disabled){background:var(--surface-3)}.page-btn:disabled{opacity:.45;cursor:not-allowed}.page-btn.active{background:var(--brand);border-color:var(--brand);color:var(--text-inverse)}.text-up{color:var(--up)}.text-down{color:var(--down)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
