.toasts[data-v-08e164c3]{position:fixed;right:18px;bottom:18px;z-index:1400;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.toast[data-v-08e164c3]{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:240px;max-width:380px;padding:12px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-left:3px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);color:var(--c-text)}.toast.success[data-v-08e164c3]{border-left-color:var(--c-success)}.toast.error[data-v-08e164c3]{border-left-color:var(--c-danger)}.toast.info[data-v-08e164c3]{border-left-color:var(--c-info)}.toast.warning[data-v-08e164c3]{border-left-color:var(--c-warning)}.toast-ico[data-v-08e164c3]{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff}.toast.success .toast-ico[data-v-08e164c3]{background:var(--c-success)}.toast.error .toast-ico[data-v-08e164c3]{background:var(--c-danger)}.toast.info .toast-ico[data-v-08e164c3]{background:var(--c-info)}.toast.warning .toast-ico[data-v-08e164c3]{background:var(--c-warning)}.toast-msg[data-v-08e164c3]{line-height:1.4}.toast-enter-active[data-v-08e164c3],.toast-leave-active[data-v-08e164c3]{transition:all .24s var(--ease)}.toast-enter-from[data-v-08e164c3]{opacity:0;transform:translate(30px) scale(.96)}.toast-leave-to[data-v-08e164c3]{opacity:0;transform:translate(30px)}.toast-move[data-v-08e164c3]{transition:transform .24s var(--ease)}:root,:root[data-theme=light]{--c-bg: #f4f6fa;--c-surface: #ffffff;--c-surface-2: #f1f3f8;--c-surface-3: #e9edf4;--c-border: #e2e6ee;--c-border-strong: #cfd6e2;--c-text: #161a22;--c-text-dim: #5a6473;--c-text-faint: #939cab;--c-primary: #4f46e5;--c-primary-hover: #4338ca;--c-primary-soft: #ecebfd;--c-primary-text: #4f46e5;--c-on-primary: #ffffff;--c-success: #10b981;--c-success-soft: #e6f7f0;--c-success-text: #047857;--c-danger: #ef4444;--c-danger-soft: #fdecec;--c-danger-text: #b91c1c;--c-warning: #f59e0b;--c-warning-soft: #fef3e2;--c-warning-text: #b45309;--c-info: #0ea5e9;--c-info-soft: #e6f4fb;--shadow: 0 8px 30px rgba(23, 31, 51, .1);--shadow-sm: 0 1px 3px rgba(23, 31, 51, .08);--shadow-pop: 0 12px 40px rgba(23, 31, 51, .16);--ring: 0 0 0 3px var(--c-primary-soft)}:root[data-theme=dark]{--c-bg: #0d1017;--c-surface: #151a22;--c-surface-2: #1c222c;--c-surface-3: #232b37;--c-border: #262e3a;--c-border-strong: #38424f;--c-text: #e8edf4;--c-text-dim: #9aa6b6;--c-text-faint: #64707f;--c-primary: #6366f1;--c-primary-hover: #7c7ff2;--c-primary-soft: #1e2140;--c-primary-text: #a5b4fc;--c-on-primary: #ffffff;--c-success: #22c55e;--c-success-soft: #10241a;--c-success-text: #4ade80;--c-danger: #ef4444;--c-danger-soft: #2a1414;--c-danger-text: #f87171;--c-warning: #f59e0b;--c-warning-soft: #2a2010;--c-warning-text: #fbbf24;--c-info: #38bdf8;--c-info-soft: #10222c;--shadow: 0 10px 34px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-pop: 0 16px 46px rgba(0, 0, 0, .6);--ring: 0 0 0 3px var(--c-primary-soft)}:root{--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-num: "Inter", ui-monospace, "SF Mono", monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 34px;--r-sm: 7px;--r-md: 11px;--r-lg: 16px;--r-xl: 20px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--dur: .17s;--ease: cubic-bezier(.4, 0, .2, 1);color-scheme:light dark}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:1.5;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.card,.toast,input,select,textarea,.badge{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--fs-md);color:var(--c-text);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-sm);padding:9px 11px;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}input::placeholder{color:var(--c-text-faint)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border-radius:10px}::-webkit-scrollbar-track{background:transparent}.muted{color:var(--c-text-dim)}.faint{color:var(--c-text-faint)}.row{display:flex;align-items:center;gap:var(--sp-2)}.col{display:flex;flex-direction:column}.spacer{flex:1}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;padding:3px 9px;border-radius:999px;background:var(--c-surface-2);color:var(--c-text-dim);border:1px solid var(--c-border)}.badge.on{background:var(--c-success-soft);color:var(--c-success-text);border-color:transparent}.badge.off{background:var(--c-surface-2);color:var(--c-text-faint)}.badge.info{background:var(--c-info-soft);color:var(--c-info);border-color:transparent}.badge.warn{background:var(--c-warning-soft);color:var(--c-warning-text);border-color:transparent}.badge.accent{background:var(--c-primary-soft);color:var(--c-primary-text);border-color:transparent}.cab-badge{font-weight:700;letter-spacing:.02em}.fl-tip{position:absolute;top:0;left:0;z-index:1000;max-width:280px;display:none;padding:10px 12px;background:var(--c-surface-2);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow);font-size:var(--fs-sm);opacity:0;transform:translateY(2px);transition:opacity .14s var(--ease),transform .14s var(--ease);pointer-events:none}.fl-tip.is-open{opacity:1;transform:translateY(0)}.fl-tip-title{font-weight:600;color:var(--c-text);margin-bottom:3px}.fl-tip-body{color:var(--c-text-dim);line-height:1.45}.fl-tip-arrow{position:absolute;width:8px;height:8px;background:var(--c-surface-2);border-left:1px solid var(--c-border-strong);border-top:1px solid var(--c-border-strong);transform:rotate(45deg)}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:transform .22s var(--ease),opacity .22s var(--ease)}.slide-up-leave-active{transition:transform .16s var(--ease),opacity .16s var(--ease)}.slide-up-enter-from{transform:translateY(12px);opacity:0}.slide-up-leave-to{transform:translateY(8px);opacity:0}.modal-enter-active,.modal-leave-active{transition:opacity .18s var(--ease)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .fl-modal-card{animation:pop-in .22s var(--ease)}.list-enter-active{transition:opacity .22s var(--ease),transform .22s var(--ease)}.list-enter-from{opacity:0;transform:translateY(6px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{transform:scale(.96) translateY(6px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--c-surface) 25%,var(--c-surface-2) 50%,var(--c-surface) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--r-sm)}.spin{animation:spin .7s linear infinite}
