:root{--zm-pink:#e6187f;--zm-pink-600:#c8126b;--zm-teal:#19c2c2;--zm-teal-600:#129c9c;--zm-indigo:#3a1d9c;--zm-indigo-700:#2c1578;--zm-grad:linear-gradient(135deg, #3a1d9c 0%, #7a1aa0 55%, #e6187f 100%);--zm-grad-soft:linear-gradient(135deg, #f4f0ff 0%, #ffeef7 100%);--zm-bg:#f5f6fb;--zm-surface:#fff;--zm-border:#e8e8f0;--zm-text:#1c1b2e;--zm-text-soft:#6b6b88;--zm-muted:#9a9ab0;--zm-success:#16a673;--zm-danger:#e23b52;--zm-warning:#e89c2a;--zm-radius:14px;--zm-radius-sm:9px;--zm-shadow:0 8px 30px #28175a14;--zm-shadow-lg:0 18px 50px #28175a29;--zm-sidebar-w:264px;color:var(--zm-text);font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--zm-bg);color:var(--zm-text);-webkit-font-smoothing:antialiased}a{color:var(--zm-pink);text-decoration:none}.btn{border-radius:var(--zm-radius-sm);font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s,opacity .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--zm-grad);color:#fff;box-shadow:0 8px 20px #e6187f47}.btn-primary:hover:not(:disabled){box-shadow:0 10px 26px #e6187f66}.btn-ghost{border-color:var(--zm-border);color:var(--zm-text);background:#fff}.btn-ghost:hover:not(:disabled){border-color:var(--zm-pink);color:var(--zm-pink)}.btn-danger{color:var(--zm-danger);background:#fff;border-color:#f3c8cf}.btn-danger:hover:not(:disabled){background:var(--zm-danger);color:#fff;border-color:var(--zm-danger)}.btn-sm{padding:7px 12px;font-size:13px}.btn-icon{width:36px;height:36px;padding:8px}.field{flex-direction:column;gap:7px;display:flex}.field>label{color:var(--zm-text);font-size:13px;font-weight:600}.field .req{color:var(--zm-pink)}.input,.select,.textarea{border:1px solid var(--zm-border);border-radius:var(--zm-radius-sm);width:100%;font:inherit;color:var(--zm-text);background:#fff;padding:11px 13px;font-size:14px;transition:border .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--zm-pink);outline:none;box-shadow:0 0 0 4px #e6187f1f}.textarea{resize:vertical;min-height:96px}.field .hint{color:var(--zm-muted);font-size:12px}.field .error{color:var(--zm-danger);font-size:12px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.switch input{display:none}.switch .track{background:#d8d8e6;border-radius:999px;width:42px;height:24px;transition:background .2s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked+.track{background:var(--zm-teal)}.switch input:checked+.track:after{left:21px}.card{background:var(--zm-surface);border:1px solid var(--zm-border);border-radius:var(--zm-radius);box-shadow:var(--zm-shadow)}.badge{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-on{color:var(--zm-teal-600);background:#19c2c224}.badge-off{color:var(--zm-muted);background:#f0f0f5}.badge-pink{color:var(--zm-pink-600);background:#e6187f1f}.chip{background:var(--zm-grad-soft);color:var(--zm-indigo);border-radius:999px;align-items:center;padding:4px 11px;font-size:12px;font-weight:600;display:inline-flex}.spin{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spin-dark{border-color:#3a1d9c33;border-top-color:var(--zm-indigo)}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%) 0 0/400% 100%;border-radius:6px;animation:1.3s infinite sk}@keyframes sk{0%{background-position:100%}to{background-position:0}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid var(--zm-bg);background:#d6d6e4;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#bfbfd4}.toast-host[data-v-fe6de749]{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast[data-v-fe6de749]{border:1px solid var(--zm-border);min-width:240px;max-width:360px;box-shadow:var(--zm-shadow-lg);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.dot[data-v-fe6de749]{border-radius:50%;flex:none;width:9px;height:9px}.toast.success .dot[data-v-fe6de749]{background:var(--zm-success)}.toast.error .dot[data-v-fe6de749]{background:var(--zm-danger)}.toast.info .dot[data-v-fe6de749]{background:var(--zm-teal)}.toast-enter-active[data-v-fe6de749],.toast-leave-active[data-v-fe6de749]{transition:all .3s}.toast-enter-from[data-v-fe6de749],.toast-leave-to[data-v-fe6de749]{opacity:0;transform:translate(30px)}
