.log-fab[data-v-dd16aaad]{position:fixed;right:26px;bottom:26px;width:52px;height:52px;border:none;border-radius:50%;background:linear-gradient(135deg,#2b50e0,#5f7cf0);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 26px #2b50e066;z-index:40;transition:transform .18s ease,box-shadow .18s ease}.log-fab[data-v-dd16aaad]:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 32px #2b50e073}.fab-badge[data-v-dd16aaad]{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#d64545;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.log-panel[data-v-dd16aaad]{position:fixed;right:26px;bottom:26px;width:min(680px,calc(100vw - 40px));height:min(480px,calc(100vh - 60px));background:#0f1420;border-radius:16px;box-shadow:0 24px 60px #060a1880;display:flex;flex-direction:column;overflow:hidden;z-index:40}.lp-head[data-v-dd16aaad]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.07)}.lp-title[data-v-dd16aaad]{color:#e8ecf8;font-size:13.5px;font-weight:700}.lp-sub[data-v-dd16aaad]{color:#6f7a94;font-size:11.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-actions[data-v-dd16aaad]{display:flex;gap:4px}.lp-body[data-v-dd16aaad]{flex:1;overflow-y:auto;padding:10px 14px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.7}.lp-row[data-v-dd16aaad]{display:flex;gap:10px;padding:3px 0;border-bottom:1px dashed rgba(255,255,255,.05)}.lp-time[data-v-dd16aaad]{color:#5c6784;flex:none}.lp-level[data-v-dd16aaad]{flex:none;width:34px;font-weight:700}.lv-success .lp-level[data-v-dd16aaad]{color:#34d399}.lv-error .lp-level[data-v-dd16aaad]{color:#f87171}.lv-warning .lp-level[data-v-dd16aaad]{color:#fbbf24}.lv-info .lp-level[data-v-dd16aaad]{color:#60a5fa}.lp-email[data-v-dd16aaad]{color:#8b95ad;flex:none;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-msg[data-v-dd16aaad]{color:#c9d2e6;word-break:break-all;min-width:0}.lp-empty[data-v-dd16aaad]{text-align:center;color:#5c6784;padding:40px 0}.log-pop-enter-active[data-v-dd16aaad],.log-pop-leave-active[data-v-dd16aaad]{transition:opacity .18s ease,transform .18s ease}.log-pop-enter-from[data-v-dd16aaad],.log-pop-leave-to[data-v-dd16aaad]{opacity:0;transform:translateY(16px) scale(.97)}@media(max-width:640px){.log-panel[data-v-dd16aaad]{right:12px;bottom:90px;width:calc(100vw - 24px);height:min(420px,calc(100vh - 130px))}.log-fab[data-v-dd16aaad]{right:16px;bottom:88px}}.app[data-v-8627f970]{min-height:100vh;background:var(--cream);font-family:var(--sans);padding-bottom:110px;position:relative;overflow-x:hidden}.app.login-page[data-v-8627f970]{height:100vh;height:100dvh;min-height:0;padding-bottom:0;background:#0d0f1e;overflow:hidden}.app.login-page>.bg-decor[data-v-8627f970]{display:none}.bg-decor[data-v-8627f970]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.bg-glow[data-v-8627f970]{position:absolute;top:-180px;left:50%;transform:translate(-50%);width:900px;height:420px;background:radial-gradient(ellipse,rgba(43,80,224,.12),transparent 70%)}.blob[data-v-8627f970]{position:absolute;border-radius:50%;filter:blur(6px)}.b1[data-v-8627f970]{width:420px;height:420px;left:-140px;top:8%;background:radial-gradient(circle,rgba(43,80,224,.16),transparent 70%)}.b2[data-v-8627f970]{width:360px;height:360px;right:-120px;top:18%;background:radial-gradient(circle,rgba(14,147,211,.14),transparent 70%)}.b3[data-v-8627f970]{width:320px;height:320px;left:42%;bottom:-110px;background:radial-gradient(circle,rgba(23,160,94,.1),transparent 70%)}.topbar[data-v-8627f970]{position:sticky;top:0;z-index:20;display:none;background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.topbar-inner[data-v-8627f970]{width:min(100%,var(--gp-content-max));margin:0 auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.top-brand[data-v-8627f970]{display:flex;align-items:center;gap:10px}.top-mark[data-v-8627f970]{display:block;border-radius:9px;flex-shrink:0;box-shadow:0 4px 10px -3px #2b50e080;transition:transform .3s var(--ease)}.top-brand:hover .top-mark[data-v-8627f970]{transform:scale(1.06) rotate(-3deg)}.top-name[data-v-8627f970]{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.01em;color:var(--ink)}.top-tag[data-v-8627f970]{font-size:9.5px;font-weight:700;letter-spacing:.14em;color:var(--terra);background:var(--terra-soft);padding:3px 9px 2px;border-radius:999px;margin-left:2px;transform:translateY(-1px)}.top-exit[data-v-8627f970]{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:6px 14px;background:transparent;color:var(--ink-3);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:var(--t)}.top-exit[data-v-8627f970]:hover{color:var(--red);background:var(--red-soft);border-color:#d6454533}@media(min-width:900px){.topbar[data-v-8627f970]{display:block}.content[data-v-8627f970]{padding-top:28px}}.content[data-v-8627f970]{position:relative;z-index:1;width:min(100%,var(--gp-content-max));margin:0 auto;padding:32px 28px}.page-fade-enter-active[data-v-8627f970],.page-fade-leave-active[data-v-8627f970]{transition:opacity .2s var(--ease),transform .2s var(--ease)}.page-fade-enter-from[data-v-8627f970]{opacity:0;transform:translateY(10px)}.page-fade-leave-to[data-v-8627f970]{opacity:0;transform:translateY(-6px)}.dock-wrap[data-v-8627f970]{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:0 16px max(16px,env(safe-area-inset-bottom));z-index:30;pointer-events:none}.dock-wrap[data-v-8627f970]:before{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;background:linear-gradient(180deg,#f6f8fc00,#f6f8fcd1 55%,#f6f8fcfa);pointer-events:none}.dock[data-v-8627f970]{--dock-item-w: 62px;--dock-gap: 2px;--dock-pad: 7px;width:min(100%,calc(var(--dock-item-w) * 4 + var(--dock-gap) * 3 + var(--dock-pad) * 2));position:relative;display:flex;gap:var(--dock-gap);padding:var(--dock-pad);background:#ffffffb8;backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);border-radius:24px;box-shadow:0 20px 48px -16px #10182838,0 2px 6px #1018280a,inset 0 1px #fffffff2;border:1px solid rgba(255,255,255,.85);pointer-events:auto}.dock-pill[data-v-8627f970]{position:absolute;top:var(--dock-pad);left:var(--dock-pad);width:var(--dock-item-w);height:54px;border-radius:17px;background:linear-gradient(135deg,#5f7cf0,#2b50e0 55%,#1e3cc0);box-shadow:0 10px 22px -6px #2b50e073;transform:translate(calc(var(--dock-index) * (var(--dock-item-w) + var(--dock-gap))));transition:transform .4s var(--gp-ease-spring)}.dock-item[data-v-8627f970]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--dock-item-w);height:54px;gap:3px;padding:0;border:none;border-radius:17px;background:transparent;font-family:inherit;cursor:pointer;color:var(--ink-4);transition:color .22s var(--ease)}.dock-item[data-v-8627f970]:hover:not(.active){color:var(--terra)}.dock-item.active[data-v-8627f970]{color:#fff}.dock-item[data-v-8627f970]:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.dock-icon[data-v-8627f970]{transition:transform .34s cubic-bezier(.34,1.4,.5,1)}.dock-item.active .dock-icon[data-v-8627f970]{transform:translateY(-1px) scale(1.1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.dock-item:hover:not(.active) .dock-icon[data-v-8627f970]{transform:translateY(-2px) scale(1.05)}.dock-label[data-v-8627f970]{font-size:10px;font-weight:650;letter-spacing:.04em;opacity:.85}.dock-item.active .dock-label[data-v-8627f970]{opacity:1}@media(max-width:960px){.content[data-v-8627f970]{padding:24px 16px}}@media(max-width:560px){.app[data-v-8627f970]{padding-bottom:96px}.content[data-v-8627f970]{padding:20px 12px 18px}.dock-wrap[data-v-8627f970]{padding-left:8px;padding-right:8px}.dock[data-v-8627f970]{--dock-item-w: clamp(54px, calc((100vw - 36px)/4) , 66px);--dock-gap: 0px;--dock-pad: 5px;width:100%;justify-content:space-between}.dock-pill[data-v-8627f970],.dock-item[data-v-8627f970]{width:var(--dock-item-w);height:48px;border-radius:14px}.dock-icon[data-v-8627f970]{font-size:18px}.dock-label[data-v-8627f970]{font-size:9px}}:root{--cream: #f6f8fc;--cream-2: #edf1f9;--cream-3: #e2e8f4;--cream-4: #c9d3e8;--ink: #101828;--ink-2: #2a3548;--ink-3: #5b6779;--ink-4: #98a2b3;--terra: #2b50e0;--terra-2: #1e3cc0;--terra-light: #5f7cf0;--terra-soft: rgba(43, 80, 224, .1);--sage: #17a05e;--sage-soft: rgba(23, 160, 94, .1);--sky: #0e93d3;--sky-soft: rgba(14, 147, 211, .1);--gold: #e8a417;--gold-soft: rgba(232, 164, 23, .12);--red: #d64545;--red-soft: rgba(214, 69, 69, .09);--border: rgba(16, 24, 40, .09);--border-2: rgba(16, 24, 40, .16);--r-s: 8px;--r: 12px;--r-l: 16px;--r-xl: 24px;--r-2xl: 32px;--sh1: 0 1px 3px rgba(16, 24, 40, .05);--sh2: 0 4px 16px rgba(16, 24, 40, .07);--sh3: 0 16px 48px rgba(16, 24, 40, .1);--sh-terra: 0 4px 16px rgba(43, 80, 224, .28);--sh-terra-lg: 0 8px 24px rgba(43, 80, 224, .32);--nav-h: 64px;--sidebar-w: 240px;--ease: cubic-bezier(.4, 0, .2, 1);--t: all .2s var(--ease);--sans: "DM Sans", -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--serif: "DM Serif Display", Georgia, "Songti SC", "SimSun", serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--gp-primary: var(--terra);--gp-primary-hover: #3d63e8;--gp-primary-pressed: var(--terra-2);--gp-primary-soft: var(--terra-soft);--gp-primary-line: rgba(43, 80, 224, .22);--gp-gradient: linear-gradient(135deg, #5f7cf0 0%, #2b50e0 100%);--gp-gradient-soft: linear-gradient(135deg, rgba(43, 80, 224, .1) 0%, rgba(14, 147, 211, .07) 100%);--gp-success: var(--sage);--gp-success-soft: var(--sage-soft);--gp-warning: var(--gold);--gp-warning-soft: var(--gold-soft);--gp-danger: var(--red);--gp-danger-soft: var(--red-soft);--gp-bg: var(--cream);--gp-bg-deep: var(--cream-2);--gp-surface: #ffffff;--gp-surface-2: var(--cream-2);--gp-surface-3: var(--cream-3);--gp-border: var(--border);--gp-border-strong: var(--border-2);--gp-text-1: var(--ink);--gp-text-2: var(--ink-3);--gp-text-3: var(--ink-4);--gp-radius-xs: 6px;--gp-radius-sm: var(--r-s);--gp-radius: var(--r);--gp-radius-lg: var(--r-l);--gp-radius-xl: var(--r-xl);--gp-shadow-xs: var(--sh1);--gp-shadow-sm: var(--sh1);--gp-shadow: var(--sh2);--gp-shadow-lg: var(--sh3);--gp-shadow-brand: var(--sh-terra);--gp-content-max: 1400px;--gp-page-gap: 20px;--gp-card-padding: 22px;--gp-ease: var(--ease);--gp-ease-out: var(--ease);--gp-ease-spring: cubic-bezier(.34, 1.32, .5, 1);--ink-soft: var(--ink-3);--muted: var(--ink-3);--line: var(--border);--bg-soft: var(--cream-2);--faint: var(--ink-4);--surface-rgb: 255 255 255;--text-secondary: var(--ink-3);--text-muted: var(--ink-4);--accent: var(--terra);--accent-soft: var(--terra-soft)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html body{font-size:15px;line-height:1.55}h1,h2,h3,h4{font-weight:600;color:var(--ink)}button,a,.n-button{cursor:pointer}.page{width:100%;min-height:100%;margin:0 auto}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .2s var(--ease)}.page-fade-leave-to{opacity:0}@media(prefers-reduced-motion:reduce){.page-fade-enter-active,.page-fade-leave-active{transition:none}}html{overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--cream-4) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--cream-2)}::-webkit-scrollbar-thumb{background:var(--cream-4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--terra)}*{scrollbar-width:thin;scrollbar-color:var(--cream-4) transparent}input::-ms-reveal,input::-ms-clear{display:none}::selection{background:#2b50e029}:focus-visible{outline:2px solid var(--terra);outline-offset:2px}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-h1{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.4px;line-height:1.2;margin:0 0 4px;color:var(--ink)}.page-sub{font-size:14px;color:var(--ink-3);margin:0}.page-sub b{color:var(--terra);font-weight:700}.micro-label{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-4)}.time-cell,.mono-num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--sh1);transition:var(--t)}.card:hover{box-shadow:var(--sh2)}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-active{background:var(--sage-soft);color:var(--sage);border:1px solid rgba(23,160,94,.22)}.badge-inactive{background:var(--red-soft);color:var(--red);border:1px solid rgba(214,69,69,.2)}.badge-accent{background:var(--terra-soft);color:var(--terra);border:1px solid rgba(43,80,224,.22)}.badge-neutral{background:var(--cream-2);color:var(--ink-3);border:1px solid var(--border)}.action-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:var(--t)}.action-btn:hover{background:var(--cream-2)}.empty-state{text-align:center;padding:56px 24px;color:var(--ink-4)}.spinner{width:26px;height:26px;border:2px solid var(--terra-soft);border-top-color:var(--terra);border-radius:50%;animation:spin .7s linear infinite}.loading-wrap{display:flex;align-items:center;justify-content:center;padding:60px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-in{animation:fadeInUp .55s var(--ease) both}.n-data-table{width:100%;border-radius:0;overflow:hidden;background:transparent}.n-data-table .n-data-table-th{font-weight:700!important;font-size:11px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4)!important;background:var(--cream-2)!important;border-bottom:1px solid var(--border)!important;padding:13px 20px!important;white-space:nowrap}.n-data-table .n-data-table-th:hover{background:var(--cream-3)!important}.n-data-table .n-data-table-td{border-bottom:1px solid var(--border)!important;color:var(--ink-2);font-size:13px;padding:13px 20px!important;vertical-align:middle;transition:background .15s var(--ease)}.n-data-table .n-data-table-tr:last-child .n-data-table-td{border-bottom:none!important}.n-data-table .n-data-table-tr:hover .n-data-table-td{background:var(--cream)!important}.n-data-table .n-data-table-tr--checked .n-data-table-td{background:#2b50e00e!important}.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{border-left:none!important;border-right:none!important}.n-data-table .n-data-table-td:first-child{color:var(--ink);font-weight:600}.n-data-table .n-data-table-empty{padding:0!important}@media(max-width:640px){.n-data-table .n-data-table-th,.n-data-table .n-data-table-td{padding-left:13px!important;padding-right:13px!important}}.ch-tags{display:flex;flex-wrap:wrap;gap:4px}.gp-bool{color:var(--ink-4)}.gp-bool--yes{color:var(--sage)}.gp-bool--no{color:var(--red)}.gp-actions{display:inline-flex;gap:2px;align-items:center;justify-content:flex-end}.gp-actions .n-button{color:var(--ink-3);box-shadow:none!important}.gp-actions .n-button:not(.n-button--disabled):hover{color:var(--terra);background:var(--terra-soft);box-shadow:none!important;transform:none!important}.gp-actions .n-button--error-type{color:var(--red)}.gp-actions .n-button--error-type:not(.n-button--disabled):hover{color:var(--red);background:var(--red-soft)}.count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:1px 9px;border-radius:999px;background:var(--terra-soft);color:var(--terra);font-size:12.5px;font-weight:700;line-height:20px;font-variant-numeric:tabular-nums}.count-chip.is-zero{background:var(--cream-2);color:var(--ink-4)}.quota-text{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.02em}.n-button{transition:var(--t);font-weight:600}.n-button--primary-type:not(.n-button--disabled){box-shadow:var(--sh-terra)}.n-button--primary-type:not(.n-button--disabled):hover{box-shadow:var(--sh-terra-lg);transform:translateY(-1px)}.n-button:active:not(.n-button--disabled){transform:translateY(0)}.n-modal-mask{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#10182873!important}.n-card{border-radius:var(--r-xl)!important;box-shadow:var(--sh3)!important;border:1px solid var(--border)}.n-card>.n-card-header{padding:22px 26px 12px!important}.n-card>.n-card-header .n-card-header__main{font-weight:700;font-size:16px;letter-spacing:-.2px;color:var(--ink)}.n-drawer{box-shadow:var(--sh3)}.n-input.n-input--focus{box-shadow:0 0 0 3px var(--terra-soft)}.n-base-select-menu{border-radius:var(--r)!important;box-shadow:var(--sh3)!important}.n-popover{border-radius:var(--r)!important}.table-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:56px 24px;text-align:center}.table-empty .empty-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;margin-bottom:12px;background:var(--terra-soft);color:var(--terra)}.table-empty p{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.table-empty span{font-size:13px;color:var(--ink-4);max-width:340px;line-height:1.6}
