.ops-toast-stack{position:fixed;top:20px;right:20px;z-index:10000;width:min(390px,calc(100vw - 32px));display:flex;flex-direction:column;gap:10px;pointer-events:none}.ops-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--ops-border, #e2e8f0);border-radius:14px;color:var(--ops-text, #0f172a);background:color-mix(in srgb,var(--ops-card-bg, #fff) 94%,transparent);box-shadow:0 18px 45px #0f172a2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ops-toast-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--ops-primary, #4263eb)}.ops-toast-success .ops-toast-icon{background:var(--ops-success, #10b981)}.ops-toast-error .ops-toast-icon{background:var(--ops-danger, #ef4444)}.ops-toast-warning .ops-toast-icon{background:var(--ops-warning, #f59e0b)}.ops-toast-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ops-toast-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.ops-toast-copy strong{font-size:13px}.ops-toast-copy span{font-size:13px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.ops-toast-close{padding:0 2px;border:0;background:transparent;color:var(--ops-text-tertiary, #94a3b8);cursor:pointer;font-size:20px;line-height:1}.ops-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;place-items:center;padding:20px;background:#080f1e85;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.ops-dialog-card{position:relative;width:min(460px,100%);box-sizing:border-box;padding:26px;border:1px solid color-mix(in srgb,var(--ops-border, #e2e8f0) 78%,transparent);border-radius:20px;background:var(--ops-card-bg, #fff);color:var(--ops-text, #0f172a);box-shadow:0 28px 80px #0208174d}.ops-dialog-close{position:absolute;top:16px;right:17px;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--ops-text-tertiary, #94a3b8);cursor:pointer;font-size:22px}.ops-dialog-close:hover{background:var(--ops-bg-subtle, #f1f5f9);color:var(--ops-text, #0f172a)}.ops-dialog-symbol{width:44px;height:44px;display:grid;place-items:center;margin-bottom:17px;border-radius:14px;color:var(--ops-primary, #4263eb);background:var(--ops-primary-subtle, #eef2ff)}.ops-dialog-symbol.tone-danger{color:var(--ops-danger, #ef4444);background:var(--ops-danger-subtle, #fef2f2)}.ops-dialog-symbol svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ops-dialog-heading h3{margin:0;padding-right:30px;font-size:19px;letter-spacing:-.01em}.ops-dialog-heading p{margin:8px 0 0;color:var(--ops-text-secondary, #475569);font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.ops-dialog-input{width:100%;min-height:104px;box-sizing:border-box;margin-top:18px;padding:12px 13px;resize:vertical;border:1px solid var(--ops-border, #dbe2ea);border-radius:12px;outline:none;background:var(--ops-bg, #fff);color:var(--ops-text, #0f172a);font:inherit;font-size:14px;line-height:1.55;transition:border-color .15s,box-shadow .15s}.ops-dialog-input:focus{border-color:var(--ops-primary, #4263eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--ops-primary, #4263eb) 16%,transparent)}.ops-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ops-dialog-button{min-width:88px;min-height:40px;padding:9px 17px;border:0;border-radius:11px;cursor:pointer;font-weight:600;font-size:13px;transition:transform .15s,filter .15s,background .15s}.ops-dialog-button:hover{filter:brightness(.97);transform:translateY(-1px)}.ops-dialog-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.ops-dialog-button.secondary{border:1px solid var(--ops-border, #e2e8f0);background:transparent;color:var(--ops-text-secondary, #475569)}.ops-dialog-button.primary{background:linear-gradient(135deg,var(--ops-primary, #4263eb),#6d5ce8);color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--ops-primary, #4263eb) 25%,transparent)}.ops-dialog-button.danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 8px 18px #ef44443d}.ops-toast-enter-active,.ops-toast-leave-active,.ops-dialog-enter-active,.ops-dialog-leave-active{transition:opacity .18s ease,transform .18s ease}.ops-toast-enter-from,.ops-toast-leave-to{opacity:0;transform:translate(16px)}.ops-dialog-enter-from,.ops-dialog-leave-to{opacity:0}.ops-dialog-enter-from .ops-dialog-card,.ops-dialog-leave-to .ops-dialog-card{transform:translateY(12px) scale(.98)}.ops-dialog-card{transition:transform .18s ease}@media (max-width: 640px){.ops-toast-stack{top:12px;right:16px}.ops-dialog-backdrop{align-items:end;padding:12px}.ops-dialog-card{width:100%;padding:22px 18px 18px;border-radius:20px}.ops-dialog-actions{margin-top:20px}.ops-dialog-button{flex:1;min-height:46px}}:root{--ops-bg: #ffffff;--ops-bg-subtle: #f7f8fa;--ops-card-bg: #ffffff;--ops-sidebar-bg: #1e293b;--ops-sidebar-hover: #334155;--ops-sidebar-text: #94a3b8;--ops-sidebar-active: #ffffff;--ops-primary: #4270ED;--ops-primary-subtle: rgba(66,112,237,.08);--ops-success: #10b981;--ops-success-subtle: rgba(16,185,129,.08);--ops-warning: #f59e0b;--ops-warning-subtle: rgba(245,158,11,.08);--ops-danger: #ef4444;--ops-danger-subtle: rgba(239,68,68,.08);--ops-text: #1e293b;--ops-text-secondary: #64748b;--ops-text-tertiary: #94a3b8;--ops-border: #e2e8f0;--ops-shadow-sm: 0 1px 3px rgba(0,0,0,.06);--ops-shadow-md: 0 4px 12px rgba(0,0,0,.08);--ops-radius: 8px;--ops-radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ops-text);background:var(--ops-bg);line-height:1.5}#app{height:100%}.admin-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-card-bg);color:var(--ops-text);font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.admin-btn:hover{box-shadow:var(--ops-shadow-sm)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:var(--ops-primary);color:#fff;border-color:var(--ops-primary)}.admin-btn-primary:hover{background:#3b5fd4}.admin-btn-danger{color:var(--ops-danger);border-color:var(--ops-danger)}.admin-btn-danger:hover{background:var(--ops-danger-subtle)}.admin-btn-ghost{border-color:transparent;background:transparent}.admin-btn-ghost:hover{background:var(--ops-bg-subtle)}.admin-btn-sm{padding:4px 10px;font-size:12px}.admin-input,.admin-select{padding:8px 12px;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:var(--ops-card-bg);color:var(--ops-text);font-size:13px;outline:none;transition:border-color .15s}.admin-input:focus,.admin-select:focus{border-color:var(--ops-primary)}.admin-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.admin-card{background:var(--ops-card-bg);border:1px solid var(--ops-border);border-radius:var(--ops-radius-lg);padding:20px}.admin-page-title{font-size:18px;font-weight:700;color:var(--ops-text);margin-bottom:16px}.admin-loading{display:flex;justify-content:center;padding:40px 0}.admin-spinner{width:24px;height:24px;border:2px solid var(--ops-border);border-top-color:var(--ops-primary);border-radius:50%;animation:spin .6s linear infinite}.admin-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 0;color:var(--ops-text-tertiary);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}
