.login-wrap[data-v-8458a339]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--paper)}.login-card[data-v-8458a339]{display:flex;flex-direction:column;gap:10px;width:min(360px,90vw);padding:26px;background:var(--card);border:1px solid var(--line);border-radius:12px}.login-card h3[data-v-8458a339]{margin:0 0 6px}.login-card .hint[data-v-8458a339]{margin:0;font-size:13px;color:var(--muted)}.login-card input[data-v-8458a339]{padding:9px 11px;border:1px solid var(--line);border-radius:6px;font-size:14px}.login-card input[data-v-8458a339]:focus{border-color:var(--brass);outline:none}.login-card button[data-v-8458a339]{padding:9px;border:none;border-radius:6px;cursor:pointer;font-weight:700}.login-card button[type=submit][data-v-8458a339]{background:var(--brass);color:var(--ink)}.login-card button[data-v-8458a339]:disabled{opacity:.6}.login-card .err[data-v-8458a339]{color:var(--up);font-size:13px}.combobox[data-v-b84a130f]{width:100%;flex:1;min-width:120px}.cb-shell[data-v-b84a130f]{display:flex;align-items:center;gap:8px;background:var(--card, #FFFFFF);border:1px solid var(--line, #D9DFDD);border-radius:8px;padding:7px 11px;transition:border-color .12s;cursor:text}.cb-shell[data-v-b84a130f]:focus-within{border-color:var(--brass, #B8863B);box-shadow:0 0 0 3px #b8863b1a}.cb-icon[data-v-b84a130f]{display:inline-flex;align-items:center;justify-content:center;color:var(--muted, #5E6E76);flex-shrink:0;line-height:1}.cb-input[data-v-b84a130f]{flex:1;border:none;outline:none;background:transparent;color:var(--ink, #1C2B33);font-size:13px;min-width:0;font-variant-numeric:tabular-nums}.cb-input[data-v-b84a130f]::placeholder{color:#9aa8ae}.cb-list[data-v-b84a130f]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;margin:0;padding:4px;list-style:none;max-height:300px;overflow:auto;background:#fff;border:1px solid var(--line, #D9DFDD);border-radius:10px;box-shadow:0 10px 30px #1c2b331f;font-size:13px}.cb-head[data-v-b84a130f]{padding:6px 10px 4px;font-size:11px;letter-spacing:.04em;color:#9aa8ae;cursor:default}.cb-list li[data-v-b84a130f]:not(.cb-head):not(.cb-empty){display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;cursor:pointer}.cb-list li:not(.cb-head):not(.cb-empty).active[data-v-b84a130f]{background:#eff3f2}.cb-sym[data-v-b84a130f]{font-family:Cascadia Mono,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--ink, #1C2B33);min-width:58px;flex-shrink:0}.cb-name[data-v-b84a130f]{flex:1;color:#5e6e76;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-mkt[data-v-b84a130f]{font-size:11px;color:#9aa8ae;flex-shrink:0}.cb-empty[data-v-b84a130f]{padding:10px 12px;color:#9aa8ae;cursor:default}.os[data-v-12066a17]{display:flex;flex:1}.os-trigger[data-v-12066a17]{flex:1;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:var(--ink, #1C2B33);font-size:13px;padding:0 1px;-webkit-user-select:none;user-select:none}.os-value[data-v-12066a17]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.os-caret[data-v-12066a17]{opacity:.55;flex-shrink:0}.os-list[data-v-12066a17]{position:absolute;top:calc(100% + 6px);left:0;z-index:40;margin:0;padding:4px;list-style:none;overflow-x:auto;width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line, #D9DFDD);border-radius:10px;box-shadow:0 10px 30px #1c2b331f;font-size:13px}.os-list li[data-v-12066a17]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer}.os-list li.active[data-v-12066a17]{background:#eff3f2;color:var(--ink, #1C2B33)}.os-name[data-v-12066a17]{flex:1;color:#5e6e76}.os-list li.active .os-name[data-v-12066a17]{color:var(--ink, #1C2B33)}.os-check[data-v-12066a17]{color:var(--brass, #B8863B);font-size:12px}.page-sub[data-v-afc3b8b4]{margin:4px 0 14px;font-size:13px;color:var(--muted)}.toolbar[data-v-afc3b8b4]{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .grp[data-v-afc3b8b4]{flex:1;min-width:220px}.grp[data-v-afc3b8b4]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:5px 9px;white-space:nowrap;transition:border-color .12s;position:relative}.grp[data-v-afc3b8b4]:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px #b8863b1a}.grp .os[data-v-afc3b8b4],.grp .combobox[data-v-afc3b8b4]{flex:1;min-width:0}.grp .combobox[data-v-afc3b8b4] .cb-shell{border:none;background:transparent;padding:0;border-radius:0;box-shadow:none}.grp .combobox[data-v-afc3b8b4] .cb-shell:focus-within{border:none;box-shadow:none}.grp .num[data-v-afc3b8b4]{width:40px;text-align:center;font-variant-numeric:tabular-nums;border:none;outline:none;background:transparent;color:var(--ink);font-size:13px;padding:0 2px}.grp.toggles[data-v-afc3b8b4]{padding:4px 7px;gap:4px}.gtx[data-v-afc3b8b4]{font-size:12px;color:var(--muted);letter-spacing:.03em;white-space:nowrap}.add[data-v-afc3b8b4]{padding:8px 14px;border:1px solid var(--line);background:var(--card);border-radius:6px;cursor:pointer;font-size:13px;color:var(--muted)}.add[data-v-afc3b8b4]:hover{color:var(--ink);border-color:var(--ink)}.run[data-v-afc3b8b4]{padding:8px 18px;border:none;border-radius:6px;background:var(--brass);color:var(--ink);cursor:pointer;font-weight:700;font-size:13px}.run[data-v-afc3b8b4]:hover{background:var(--brass-deep);color:var(--paper)}.run[data-v-afc3b8b4]:disabled{opacity:.6}.gen-bar[data-v-afc3b8b4]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:14px}.gen-bar .grp[data-v-afc3b8b4]{flex:0 0 auto}.gen-checks[data-v-afc3b8b4]{display:inline-flex;gap:4px;flex-wrap:wrap}.gen-bar .chip[data-v-afc3b8b4]{padding:2px 7px;font-size:12px}.gen-bar .grp .gen-num[data-v-afc3b8b4]{width:40px;padding:0 2px;text-align:center;font-variant-numeric:tabular-nums;border:none;outline:none;background:transparent;color:var(--ink);font-size:13px}.gen-bar .grp .seg[data-v-afc3b8b4]{display:inline-flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}.gen-bar .grp .seg-btn[data-v-afc3b8b4]{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:3px 8px;line-height:1.3}.gen-bar .grp .seg-btn.on[data-v-afc3b8b4]{background:#b8863b29;color:var(--brass-deep);font-weight:700}.gen-bar .grp .seg-btn[data-v-afc3b8b4]:not(.on):hover{color:var(--ink)}.gen-bar .run[data-v-afc3b8b4]{padding:7px 18px;margin-left:auto;flex-shrink:0}.gen-msg[data-v-afc3b8b4]{font-size:12px;color:var(--muted);white-space:nowrap}.conf-list[data-v-afc3b8b4]{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.conf-group[data-v-afc3b8b4]{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.conf-head[data-v-afc3b8b4]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.idx[data-v-afc3b8b4]{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.03em}.label-input[data-v-afc3b8b4]{flex:1;padding:4px 8px;border:1px solid var(--line);border-radius:5px;font-size:12px}.del[data-v-afc3b8b4]{border:none;background:transparent;cursor:pointer;color:var(--muted);font-size:14px}.del[data-v-afc3b8b4]:hover{color:var(--up)}.del[data-v-afc3b8b4]:disabled{opacity:.3;cursor:default}.conf-fields[data-v-afc3b8b4]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.conf-fields .grp[data-v-afc3b8b4]:not(.toggles):not(.numgrp){flex:1 1 0;min-width:150px}.conf-fields .grp.toggles[data-v-afc3b8b4],.conf-fields .grp.numgrp[data-v-afc3b8b4]{flex:0 0 auto}.chip[data-v-afc3b8b4]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;color:var(--muted);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s,background .12s}.chip[data-v-afc3b8b4]:hover{color:var(--ink)}.chip[data-v-afc3b8b4]:has(input:checked){color:var(--ink);background:#b8863b1f}.chip input[data-v-afc3b8b4]{accent-color:var(--brass);margin:0}.err[data-v-afc3b8b4]{color:var(--up);font-size:13px}.result-title[data-v-afc3b8b4]{margin:6px 0 10px;font-size:16px}.empty[data-v-afc3b8b4]{color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:24px;text-align:center;font-size:13px}.cmp[data-v-afc3b8b4]{border-collapse:collapse;width:100%;font-size:12.5px}.cmp th[data-v-afc3b8b4],.cmp td[data-v-afc3b8b4]{border-bottom:1px solid var(--line);padding:8px 10px;text-align:right;white-space:nowrap}.cmp th[data-v-afc3b8b4]{background:var(--card);color:var(--muted);font-weight:400;font-size:12px;position:sticky;top:0}.cmp td.lbl[data-v-afc3b8b4],.cmp th[data-v-afc3b8b4]:first-child{text-align:left;font-weight:700;color:var(--ink)}.cmp .num[data-v-afc3b8b4]{font-family:var(--font-num);font-variant-numeric:tabular-nums}.cmp .up[data-v-afc3b8b4]{color:var(--up)}.cmp .down[data-v-afc3b8b4]{color:var(--down)}.progress[data-v-bd1f56b6]{margin:16px 0}.meta[data-v-bd1f56b6]{display:flex;justify-content:space-between;margin-bottom:6px;font-size:13px;color:var(--muted)}.stage[data-v-bd1f56b6]{color:var(--ink)}.track[data-v-bd1f56b6]{height:8px;background:#e3e8e6;border-radius:4px;overflow:hidden}.bar[data-v-bd1f56b6]{height:100%;background:var(--brass);transition:width .3s}.gauge[data-v-52e8a099]{display:block;width:100%;height:auto}.tick[data-v-52e8a099]{font-size:11px;fill:var(--muted)}.anchor-label[data-v-52e8a099]{font-size:12px;fill:var(--brass-deep);letter-spacing:.2em}.zone-label[data-v-52e8a099]{font-size:11px;fill:var(--muted);letter-spacing:.08em}.value[data-v-52e8a099]{font-size:15px;font-weight:700;fill:var(--ink)}.base-chart[data-v-ad17b615]{min-width:0}.toolbar[data-v-d5b9dce0]{display:flex;align-items:center;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px}.tbar-line[data-v-d5b9dce0]{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;flex:1}.grp[data-v-d5b9dce0]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:5px 9px;white-space:nowrap;transition:border-color .12s;position:relative}.grp[data-v-d5b9dce0]:focus-within{border-color:var(--brass);box-shadow:0 0 0 3px #b8863b1a}.tbar-line .grp[data-v-d5b9dce0]:not(.toggles):not(.numgrp){flex:1 1 0}.tbar-line .grp.toggles[data-v-d5b9dce0],.tbar-line .grp.numgrp[data-v-d5b9dce0]{flex:0 0 auto}.tbar-line .grp .combobox[data-v-d5b9dce0],.tbar-line .grp .os[data-v-d5b9dce0]{flex:1;min-width:0}.tbar-line .grp .combobox[data-v-d5b9dce0] .cb-shell{border:none;background:transparent;padding:0;border-radius:0;box-shadow:none}.tbar-line .grp .combobox[data-v-d5b9dce0] .cb-shell:focus-within{border:none;box-shadow:none}.gtx[data-v-d5b9dce0]{font-size:12px;color:var(--muted);letter-spacing:.03em;white-space:nowrap}.grp select[data-v-d5b9dce0],.grp .num[data-v-d5b9dce0]{border:none;outline:none;background:transparent;color:var(--ink);font-size:13px;padding:0 1px}.grp select[data-v-d5b9dce0]{cursor:pointer;width:100%}.grp .num[data-v-d5b9dce0]{width:40px;text-align:center;font-variant-numeric:tabular-nums}.grp.numgrp .num[data-v-d5b9dce0]{padding:0 2px}.grp.toggles[data-v-d5b9dce0]{padding:4px 7px;gap:4px}.chip[data-v-d5b9dce0]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:4px;color:var(--muted);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s,background .12s}.chip[data-v-d5b9dce0]:hover{color:var(--ink)}.chip[data-v-d5b9dce0]:has(input:checked){color:var(--ink);background:#b8863b1f}.chip input[data-v-d5b9dce0]{accent-color:var(--brass);margin:0}.run[data-v-d5b9dce0]{padding:8px 28px;border:none;border-radius:6px;cursor:pointer;background:var(--brass);color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.05em;flex-shrink:0}.run[data-v-d5b9dce0]:hover:not(:disabled){background:var(--brass-deep);color:#fff}.run[data-v-d5b9dce0]:disabled{opacity:.55;cursor:default}.err[data-v-d5b9dce0]{color:var(--up)}.result[data-v-d5b9dce0]{margin-top:20px}.result h3[data-v-d5b9dce0]{margin-bottom:10px}.metric-strip[data-v-d5b9dce0]{display:flex;gap:8px;flex-wrap:nowrap;margin-bottom:18px}.stat[data-v-d5b9dce0]{flex:1 1 0;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:6px;padding:8px 6px;text-align:center}.stat .label[data-v-d5b9dce0]{display:block;font-size:12px;color:var(--muted);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat .value[data-v-d5b9dce0]{font-weight:700;white-space:nowrap;line-height:1.2}.stat.main[data-v-d5b9dce0]{background:var(--ink);border-color:var(--ink)}.stat.main .label[data-v-d5b9dce0]{color:var(--brass)}.stat.main .value[data-v-d5b9dce0]{color:var(--paper)}.signal-card[data-v-d5b9dce0]{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.sig-head[data-v-d5b9dce0]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sig-head h4[data-v-d5b9dce0]{margin:0}.trend-badge[data-v-d5b9dce0]{font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;border:1px solid;letter-spacing:.04em}.trend-badge.up[data-v-d5b9dce0]{color:var(--up);background:var(--up-bg);border-color:var(--up)}.trend-badge.down[data-v-d5b9dce0]{color:var(--down);background:var(--down-bg);border-color:var(--down)}.trend-badge.flat[data-v-d5b9dce0]{color:var(--hold);background:var(--hold-bg);border-color:var(--hold)}.sig-date[data-v-d5b9dce0]{font-size:13px;color:var(--muted)}.kv[data-v-d5b9dce0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 24px;margin:12px 0}.kv .row[data-v-d5b9dce0]{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line);padding:4px 0}.kv .k[data-v-d5b9dce0]{color:var(--muted);font-size:13px}.kv .v[data-v-d5b9dce0]{font-weight:700}.action[data-v-d5b9dce0]{margin-top:12px;padding:12px 14px;border-radius:6px;border:1px solid}.action strong[data-v-d5b9dce0]{font-size:16px;letter-spacing:.04em}.action .why[data-v-d5b9dce0]{margin-top:4px;font-size:13px;color:var(--muted)}.action .prices[data-v-d5b9dce0]{display:flex;gap:20px;flex-wrap:wrap;margin-top:6px;font-size:13px;color:var(--muted)}.action .prices b[data-v-d5b9dce0]{color:var(--ink)}.action.buy[data-v-d5b9dce0]{background:var(--up-bg);border-color:var(--up)}.action.buy strong[data-v-d5b9dce0]{color:var(--up)}.action.sell[data-v-d5b9dce0]{background:var(--down-bg);border-color:var(--down)}.action.sell strong[data-v-d5b9dce0]{color:var(--down)}.action.hold[data-v-d5b9dce0]{background:var(--hold-bg);border-color:var(--hold)}.action.hold strong[data-v-d5b9dce0]{color:var(--hold)}.fig[data-v-d5b9dce0]{margin:12px 0;padding:12px 14px 8px;background:var(--card);border:1px solid var(--line);border-radius:10px}.fig figcaption[data-v-d5b9dce0]{font-size:12px;color:var(--muted);text-align:center;margin-top:6px}table.trades[data-v-d5b9dce0]{border-collapse:collapse;margin:8px 0;width:100%}.trades td[data-v-d5b9dce0],.trades th[data-v-d5b9dce0]{border:1px solid var(--line);padding:5px 10px;text-align:right}.trades th[data-v-d5b9dce0]{background:#edf1ef;font-weight:400;color:var(--muted)}.trades td[data-v-d5b9dce0]:first-child,.trades th[data-v-d5b9dce0]:first-child{text-align:left}.factors[data-v-d5b9dce0]{list-style:none;margin:8px 0 0;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px}.factors li[data-v-d5b9dce0]{display:flex;align-items:center;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line)}.factors li[data-v-d5b9dce0]:last-child{border-bottom:none}.fname[data-v-d5b9dce0]{width:6.5em;flex-shrink:0;font-size:13px;color:var(--ink);text-align:left;letter-spacing:.02em}.ftrack[data-v-d5b9dce0]{flex:1;height:14px;background:#e9edeb;border-radius:7px;overflow:hidden}.fbar[data-v-d5b9dce0]{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,var(--brass-deep),var(--brass));transition:width .4s ease}.fval[data-v-d5b9dce0]{width:5.5em;flex-shrink:0;font-size:13px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.wl-add[data-v-0b3666ff]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.wl-combo[data-v-0b3666ff]{position:relative;flex:1;min-width:220px}.wl-add button.add-wl[data-v-0b3666ff],.wl-add button.run-wl[data-v-0b3666ff]{padding:7px 14px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700}.wl-add button.add-wl[data-v-0b3666ff]{background:var(--brass);color:var(--ink)}.wl-add button.run-wl[data-v-0b3666ff]{background:var(--ink);color:var(--paper)}.wl-add button[data-v-0b3666ff]:hover{opacity:.9}.wl-msg[data-v-0b3666ff]{color:var(--muted);font-size:13px}.wl-table[data-v-0b3666ff]{border-collapse:collapse;width:100%;font-size:13px}.wl-table th[data-v-0b3666ff],.wl-table td[data-v-0b3666ff]{border:1px solid var(--line);padding:6px 8px;text-align:right;white-space:nowrap}.wl-table th[data-v-0b3666ff]{background:#edf1ef;font-weight:400;color:var(--muted)}.wl-table td[data-v-0b3666ff]:nth-child(2){text-align:left}.wl-table tbody tr[data-v-0b3666ff]{cursor:pointer}.wl-table tbody tr[data-v-0b3666ff]:hover{background:#f4f7f6}.trend-badge[data-v-0b3666ff]{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid}.trend-badge.up[data-v-0b3666ff]{color:var(--up);background:var(--up-bg);border-color:var(--up)}.trend-badge.down[data-v-0b3666ff]{color:var(--down);background:var(--down-bg);border-color:var(--down)}.trend-badge.flat[data-v-0b3666ff]{color:var(--hold);background:var(--hold-bg);border-color:var(--hold)}.tact[data-v-0b3666ff]{font-weight:700}.tact.buy[data-v-0b3666ff]{color:var(--up)}.tact.sell[data-v-0b3666ff]{color:var(--down)}.tact.hold[data-v-0b3666ff]{color:var(--hold)}.wl-table .del[data-v-0b3666ff],.wl-table .hist-btn[data-v-0b3666ff]{border:none;background:transparent;cursor:pointer;font-size:12px}.wl-table .hist-btn[data-v-0b3666ff]{color:var(--brass-deep)}.wl-table .del[data-v-0b3666ff]{color:var(--muted);margin-left:6px}.wl-table .del[data-v-0b3666ff]:hover{color:var(--up)}.wl-empty[data-v-0b3666ff]{color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:24px;text-align:center}.modal[data-v-0b3666ff]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c2b3366;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-0b3666ff]{background:var(--paper);border-radius:12px;padding:18px;width:min(760px,92vw);box-shadow:0 20px 60px #00000040}.modal-card header[data-v-0b3666ff]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.modal-card h4[data-v-0b3666ff]{margin:0}.modal-card .close[data-v-0b3666ff]{border:none;background:transparent;cursor:pointer;font-size:16px;color:var(--muted)}.hist-empty[data-v-0b3666ff]{color:var(--muted);text-align:center;padding:30px}.page-head[data-v-3fee3121]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px}.page-head h2[data-v-3fee3121]{margin:0;font-size:20px;letter-spacing:.02em}.page-sub[data-v-3fee3121]{margin:3px 0 0;font-size:12px;color:var(--muted);letter-spacing:.04em}.count-badge[data-v-3fee3121]{font-size:12px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 12px;white-space:nowrap}.add-card[data-v-3fee3121]{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:16px}.add-title[data-v-3fee3121]{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:.02em}.add-form[data-v-3fee3121]{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.field[data-v-3fee3121]{display:flex;flex-direction:column;gap:4px}.field label[data-v-3fee3121]{font-size:11px;color:var(--muted);letter-spacing:.05em}.field input[data-v-3fee3121],.field select[data-v-3fee3121]{padding:8px 11px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--paper);min-width:170px;color:var(--ink)}.field input[data-v-3fee3121]:focus,.field select[data-v-3fee3121]:focus{border-color:var(--brass);outline:none}.field input[type=email][data-v-3fee3121]{min-width:220px}.btn-add[data-v-3fee3121]{padding:9px 20px;border:none;border-radius:6px;background:var(--brass);color:var(--ink);cursor:pointer;font-weight:700;font-size:13px;height:35px}.btn-add[data-v-3fee3121]:hover{background:var(--brass-deep);color:var(--paper)}.btn-add[data-v-3fee3121]:disabled{opacity:.6;cursor:default}.msg[data-v-3fee3121]{color:var(--down);font-size:13px;margin:0 0 12px}.msg.err[data-v-3fee3121]{color:var(--up)}.table-wrap[data-v-3fee3121]{overflow-x:auto}.user-table[data-v-3fee3121]{border-collapse:collapse;width:100%;font-size:13px}.user-table th[data-v-3fee3121],.user-table td[data-v-3fee3121]{border-bottom:1px solid var(--line);padding:11px 12px;text-align:left}.user-table thead th[data-v-3fee3121]{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:.05em;border-bottom:2px solid var(--line);white-space:nowrap}.user-table tbody tr[data-v-3fee3121]:hover{background:var(--paper)}.th-act[data-v-3fee3121],.cell-anchored[data-v-3fee3121]{text-align:right;white-space:nowrap}.cell-anchored.right[data-v-3fee3121]{text-align:right}.cell-user[data-v-3fee3121]{display:flex;align-items:center;gap:10px}.avatar[data-v-3fee3121]{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;color:var(--muted);background:var(--hold-bg)}.avatar.admin[data-v-3fee3121]{color:var(--brass-deep);background:#b8863b24}.email[data-v-3fee3121]{font-family:var(--font-num);font-variant-numeric:tabular-nums}.me[data-v-3fee3121]{margin-left:6px;font-size:11px;color:var(--brass-deep);background:#b8863b1f;padding:1px 7px;border-radius:999px}.role-tag[data-v-3fee3121]{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid;white-space:nowrap}.role-tag.admin[data-v-3fee3121]{color:var(--brass-deep);border-color:var(--brass);background:#b8863b14}.role-tag.user[data-v-3fee3121]{color:var(--hold);border-color:var(--line);background:var(--hold-bg)}.badge[data-v-3fee3121]{font-size:12px;padding:2px 9px;border-radius:999px;border:1px solid;white-space:nowrap}.badge.on[data-v-3fee3121]{color:var(--down);border-color:#256d5140;background:var(--down-bg)}.badge.off[data-v-3fee3121]{color:var(--up);border-color:#c2372f40;background:var(--up-bg)}.chg[data-v-3fee3121]{color:var(--muted)}.cell-anchored.right[data-v-3fee3121]{display:flex;gap:8px;justify-content:flex-end}.act[data-v-3fee3121]{border:1px solid var(--line);background:var(--card);cursor:pointer;padding:6px 13px;border-radius:6px;font-size:12px;color:var(--muted);transition:all .12s;white-space:nowrap}.act[data-v-3fee3121]:hover{color:var(--ink);border-color:var(--ink);background:var(--paper)}.modal[data-v-3fee3121]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c2b3366;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card[data-v-3fee3121]{background:var(--card);border-radius:12px;padding:20px;width:min(400px,92vw);box-shadow:0 20px 60px #00000040}.modal-card header[data-v-3fee3121]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-card h4[data-v-3fee3121]{margin:0;font-size:16px}.modal-card .close[data-v-3fee3121]{border:none;background:transparent;cursor:pointer;font-size:16px;color:var(--muted)}.modal-user[data-v-3fee3121]{margin:0 0 12px;font-size:13px;color:var(--muted);font-family:var(--font-num)}.form[data-v-3fee3121]{display:flex;flex-direction:column;gap:10px}.form input[data-v-3fee3121]{padding:9px 11px;border:1px solid var(--line);border-radius:6px;font-size:13px;background:var(--paper)}.form input[data-v-3fee3121]:focus{border-color:var(--brass);outline:none}.form .ok[data-v-3fee3121]{padding:10px;border:none;border-radius:6px;background:var(--brass);color:var(--ink);cursor:pointer;font-weight:700;margin-top:4px}.form .ok[data-v-3fee3121]:hover{background:var(--brass-deep);color:var(--paper)}.hint[data-v-3fee3121]{color:var(--muted);font-size:12px;margin:10px 0 0}.app[data-v-2159b5ba]{max-width:1200px;margin:0 auto;padding:20px 20px 48px}.app-header[data-v-2159b5ba]{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap;padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid var(--line)}.brand[data-v-2159b5ba]{flex-shrink:0}.brand h1[data-v-2159b5ba]{margin:0;font-size:21px;letter-spacing:.05em;line-height:1.1;font-weight:700;color:var(--ink)}.brand .sub[data-v-2159b5ba]{margin:3px 0 0;font-size:11px;color:var(--muted);letter-spacing:.16em}nav[data-v-2159b5ba]{display:flex;gap:2px;flex-wrap:wrap;align-items:flex-end}nav button[data-v-2159b5ba]{position:relative;padding:4px 14px 12px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--muted);letter-spacing:.04em;line-height:1.3}nav button[data-v-2159b5ba]:hover{color:var(--ink)}nav button.active[data-v-2159b5ba]{color:var(--ink);font-weight:600}nav button.active[data-v-2159b5ba]:after{content:"";position:absolute;left:50%;transform:translate(-50%);bottom:0;width:16px;height:3px;border-radius:2px;background:var(--brass)}.account[data-v-2159b5ba]{margin-left:auto;display:flex;align-items:center;gap:14px;padding-bottom:8px}.account .who[data-v-2159b5ba]{font-size:12px;color:var(--muted);font-family:var(--font-num);letter-spacing:.02em}.account .who[data-v-2159b5ba]:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brass);margin-right:8px;vertical-align:middle}.logout[data-v-2159b5ba]{border:none;background:transparent;cursor:pointer;font-size:12px;color:var(--muted);letter-spacing:.06em;padding:0;line-height:1.4}.logout[data-v-2159b5ba]:hover{color:var(--up)}*{box-sizing:border-box}:root{--paper: #F3F5F4;--card: #FFFFFF;--ink: #1C2B33;--muted: #5E6E76;--line: #D9DFDD;--brass: #B8863B;--brass-deep: #8F6A28;--up: #C2372F;--up-bg: #FBEAE9;--down: #256D51;--down-bg: #E8F3EE;--hold: #64707C;--hold-bg: #EEF1F3;--font-ui: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;--font-num: "Cascadia Mono", Consolas, ui-monospace, monospace}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);line-height:1.55}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.table-scroll{overflow-x:auto}.table-scroll table{min-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
