.page-load-notice[data-v-1a2f5924]{position:fixed;z-index:10000;right:20px;bottom:20px;width:min(480px,calc(100vw - 40px));padding:20px;border:1px solid #d9a341;border-radius:12px;background:#fffaf0;box-shadow:0 8px 30px #17203330;color:#533d16}.page-load-notice strong[data-v-1a2f5924]{font-size:16px}.page-load-notice p[data-v-1a2f5924]{margin:10px 0;font-size:var(--font-caption);line-height:1.6}.page-load-notice div[data-v-1a2f5924]{display:flex;flex-wrap:wrap;gap:8px}.page-load-notice button[data-v-1a2f5924]{padding:8px 12px;border:1px solid #cfa45c;border-radius:7px;background:#fff;cursor:pointer}.page-load-notice button[data-v-1a2f5924]:disabled{opacity:.6;cursor:wait}.reload-reason[data-v-1a2f5924]{font-weight:600}.feedback-toasts[data-v-398ace7c]{position:fixed;z-index:11000;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:auto;display:grid;gap:10px;pointer-events:none}.feedback-toast[data-v-398ace7c]{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;border:1px solid #b8d2ef;border-radius:12px;background:#f1f7ff;color:#164e87;box-shadow:0 8px 30px #162c4933;pointer-events:auto}.feedback-toast.error[data-v-398ace7c]{background:#fff4ef;border-color:#e9b09e;color:#a33020}.feedback-toast.success[data-v-398ace7c]{background:#eefaf4;border-color:#9bd0b3;color:#12623e}.feedback-toast p[data-v-398ace7c]{flex:1;min-width:0;margin:0;font-size:16px;line-height:1.65;overflow-wrap:anywhere;white-space:pre-line}.feedback-icon[data-v-398ace7c]{display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;width:22px;height:22px;margin-top:2px;flex:none;font-size:15px;font-weight:700}.feedback-toast button[data-v-398ace7c]{border:0;background:transparent;color:inherit;cursor:pointer;font-size:26px;line-height:1;width:32px;height:32px;flex:none;border-radius:6px}.feedback-toast button[data-v-398ace7c]:hover{background:#0000000a}.feedback-toast button[data-v-398ace7c]:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media print{.feedback-toasts[data-v-398ace7c]{display:none}}.initial-page-loading[data-v-a4e79e3b]{min-height:100vh;display:grid;place-items:center;padding:24px;color:#536075}:root{color:#172033;background:#f3f6fa;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #0b2545;--navy-2: #133a66;--blue: #2e74b5;--blue-2: #4b94d6;--green: #1b8b63;--amber: #d88a16;--red: #d84a4a;--violet: #7657c8;--ink: #172033;--muted: #6b7689;--line: #e2e8f0;--panel: #ffffff;--soft: #f6f8fb;--shadow: 0 10px 32px rgba(20, 42, 73, .07);--font-caption: .875rem;--font-control: .9375rem;--font-body: 1rem}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f3f6fa;font-size:var(--font-body);line-height:1.55}:where(small){font-size:var(--font-caption)}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.app-frame{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;padding:22px 16px 16px;display:flex;flex-direction:column;color:#dce8f5;background:linear-gradient(180deg,#091f3a,#0b294b 60%,#0a2441);box-shadow:8px 0 30px #051a3014}.brand{min-height:54px;padding:0 8px;display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,#4b9ee8,#286ca8);box-shadow:0 8px 20px #2e74b559}.brand-mark span{font-weight:800;font-size:18px}.brand strong{display:block;color:#fff;font-size:16px;letter-spacing:.03em}.brand small{display:block;margin-top:2px;color:#91a9c3;font-size:var(--font-caption)}.sidebar-close{display:none!important;margin-left:auto;color:#fff!important}.store-switcher{margin:22px 2px 16px;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(141,178,214,.15);border-radius:12px;background:#ffffff0e;cursor:pointer}.store-avatar{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;font-weight:700;color:#d7eaff;background:#4c97dd38}.store-switcher div{min-width:0;flex:1}.store-switcher select{display:block;width:100%;min-width:0;max-width:100%}.store-switcher small{display:block;color:#88a1bb;font-size:var(--font-caption)}.store-switcher strong{display:block;margin-top:2px;overflow:hidden;color:#edf6ff;font-size:var(--font-caption);white-space:nowrap;text-overflow:ellipsis}.main-nav{display:flex;flex-direction:column;gap:5px}.main-nav a{position:relative;min-height:40px;padding:8px 13px;display:flex;flex-shrink:0;align-items:center;gap:12px;border-radius:10px;color:#bdd0e2;font-size:var(--font-control);line-height:1.45;transition:.18s ease}.main-nav a:hover{color:#f1f7fd;background:#ffffff0e}.main-nav a.active{color:#fff;background:linear-gradient(90deg,#3f8fd84d,#2968a12e);box-shadow:inset 3px 0 #55a4e9}.main-nav a.active svg{color:#6ab5f3}.main-nav em{min-width:21px;height:20px;margin-left:auto;display:grid;place-items:center;border-radius:8px;color:#fff;background:#d45a54;font-size:var(--font-caption);font-style:normal}.sidebar-status{margin-top:auto;padding:13px;display:flex;align-items:center;gap:10px;border-radius:12px;background:#ffffff0d}.status-orbit{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(65,204,148,.32);border-radius:50%}.status-orbit span{width:9px;height:9px;border-radius:50%;background:#43d19a;box-shadow:0 0 0 5px #43d19a1f}.sidebar-status strong{display:block;color:#e8f4ff;font-size:var(--font-caption)}.sidebar-status small{display:block;margin-top:2px;color:#7894ae;font-size:var(--font-caption)}.version{margin:12px 0 0;color:#58738e;text-align:center;font-size:var(--font-caption)}.app-main{width:calc(100% - 248px);min-width:0;min-height:100vh;margin-left:248px}.topbar{position:sticky;top:0;z-index:20;height:76px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(216,225,235,.85);background:#ffffffe8;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.topbar-title{display:flex;align-items:center;gap:12px}.topbar-title h1{margin:0;color:#162239;font-size:20px;font-weight:750}.topbar-title p{margin:3px 0 0;color:#8b96a7;font-size:var(--font-caption)}.topbar-actions{display:flex;align-items:center;gap:10px}.global-search{width:280px;height:38px;padding:0 10px 0 12px;display:flex;align-items:center;gap:8px;border:1px solid #e1e7ef;border-radius:10px;color:#8a96a7;background:#f7f9fc}.global-search input{min-width:0;flex:1;border:0;outline:0;color:#25324a;background:transparent;font-size:var(--font-caption)}.global-search kbd{padding:2px 5px;border:1px solid #dce3ec;border-radius:5px;color:#98a1ae;background:#fff;font-size:var(--font-caption)}.icon-btn{width:38px;height:38px;padding:0;display:grid;place-items:center;border:1px solid #e0e6ed;border-radius:10px;background:#fff;cursor:pointer;transition:.18s}.icon-btn:hover{border-color:#bfd3e6;color:var(--blue);background:#f5f9fd}.has-dot{position:relative}.has-dot:after{content:"";position:absolute;top:7px;right:8px;width:6px;height:6px;border:2px solid white;border-radius:50%;background:#e14d4d}.notification-wrap{position:relative}.notification-popover{position:absolute;top:48px;right:-12px;width:330px;padding:8px;border:1px solid #dfe6ef;border-radius:14px;background:#fff;box-shadow:0 18px 50px #1a2b4329}.popover-head{padding:9px 10px 12px;display:flex;justify-content:space-between;border-bottom:1px solid #eef1f5}.popover-head strong{font-size:var(--font-caption)}.popover-head span{color:#8490a2;font-size:var(--font-caption)}.notification-popover button{width:100%;padding:11px 10px;display:flex;align-items:center;gap:9px;border:0;border-bottom:1px solid #f0f2f6;text-align:left;background:#fff;font-size:var(--font-caption);cursor:pointer}.notification-popover button:hover{background:#f7f9fc}.alert-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%}.alert-dot.danger{background:var(--red)}.alert-dot.warning{background:var(--amber)}.alert-dot.info{background:var(--blue)}.user-menu{height:44px;padding:4px 7px 4px 5px;display:flex;align-items:center;gap:8px;border:0;border-radius:12px;background:transparent;cursor:pointer}.user-menu:hover{background:#f5f7fa}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#3b83c6,#235b8e);font-size:var(--font-caption);font-weight:700}.user-menu strong,.user-menu small{display:block;text-align:left}.user-menu strong{font-size:var(--font-caption)}.user-menu small{margin-top:2px;color:#8b96a5;font-size:var(--font-caption)}.menu-trigger{display:none}.page-body{padding:24px 30px 40px}.page-stack{display:flex;flex-direction:column;gap:18px}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-intro h2{margin:0;color:#17243b;font-size:24px;letter-spacing:-.02em}.page-intro p{margin:6px 0 0;color:var(--muted);font-size:var(--font-caption);line-height:1.6}.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.btn{min-height:42px;padding:8px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;font-size:var(--font-control);line-height:1.45;font-weight:650;cursor:pointer;transition:.18s}.btn.primary{color:#fff;background:var(--blue);box-shadow:0 7px 18px #2e74b533}.btn.primary:hover{background:#25669f;transform:translateY(-1px)}.btn.secondary{border-color:#dce3ec;background:#fff}.btn.secondary:hover{border-color:#b8cce0;color:var(--blue);background:#f7fbff}.btn.danger{color:#b83b3b;border-color:#f0caca;background:#fff7f7}.btn.ghost{color:var(--blue);background:#eff6fc}.btn.small{min-height:36px;padding:6px 10px;font-size:var(--font-caption)}.select,.input{height:42px;min-width:0;max-width:100%;padding:0 11px;border:1px solid #dde4ec;border-radius:9px;outline:none;color:#334057;background:#fff;font-size:var(--font-body)}.select:focus,.input:focus{border-color:#7aafdc;box-shadow:0 0 0 3px #4893d31a}.input-with-icon{min-height:42px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid #dde4ec;border-radius:9px;background:#fff;color:#64748b}.input-with-icon input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:var(--font-body)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{min-height:112px;padding:17px;display:flex;align-items:flex-start;gap:13px;border:1px solid #e3e9f0;border-radius:14px;background:#fff;box-shadow:0 6px 20px #1a304e0b}.metric-icon{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px}.tone-blue .metric-icon{color:#2e74b5;background:#eaf3fb}.tone-green .metric-icon{color:#15855d;background:#e8f7f1}.tone-amber .metric-icon{color:#bf7510;background:#fff4df}.tone-violet .metric-icon{color:#7254bf;background:#f0ecfb}.metric-copy{min-width:0}.metric-copy>span{display:block;color:#778397;font-size:var(--font-caption)}.metric-copy>strong{display:block;margin:5px 0 4px;color:#19263d;font-size:25px;line-height:1}.metric-copy small{color:#8792a3;font-size:var(--font-caption)}.metric-copy small b{margin-right:4px;color:var(--green)}.panel{border:1px solid #e2e8ef;border-radius:14px;background:#fff;box-shadow:0 6px 22px #1f334e0a}.panel-header{min-height:58px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f4}.panel-header h3{margin:0;color:#1c2940;font-size:var(--font-body)}.panel-header p{margin:4px 0 0;color:#64748b;font-size:var(--font-caption)}.panel-body{padding:17px}.grid-2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:16px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.status-pill{width:fit-content;min-height:28px;padding:3px 9px;display:inline-flex;align-items:center;gap:5px;border-radius:999px;white-space:nowrap;font-size:var(--font-caption);line-height:1.4;font-weight:650}.status-pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.is-success{color:#157657;background:#e7f7f0}.status-pill.is-warning{color:#a5660d;background:#fff3dd}.status-pill.is-danger{color:#bd4242;background:#ffeded}.status-pill.is-info{color:#2d6fa8;background:#eaf3fb}.status-pill.is-neutral{color:#687487;background:#eef1f5}.data-toolbar{padding:14px 17px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f4}.toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.segmented{padding:3px;display:inline-flex;gap:2px;border-radius:9px;background:#f0f3f7}.segmented button{min-height:31px;padding:0 12px;border:0;border-radius:7px;color:#737f91;background:transparent;font-size:var(--font-caption);cursor:pointer}.segmented button.active{color:#245f94;background:#fff;box-shadow:0 2px 8px #142d4914;font-weight:650}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{padding:14px 16px;border-bottom:1px solid #e8edf3;color:#52627a;background:#f7f9fc;text-align:left;font-size:var(--font-body);line-height:1.6;font-weight:650}.data-table td{padding:16px;border-bottom:1px solid #edf1f5;color:#37445a;font-size:var(--font-body);line-height:1.6;vertical-align:middle}.data-table tbody tr{transition:.15s}.data-table tbody tr:hover{background:#f8fbfe}.data-table tbody tr:last-child td{border-bottom:0}.cell-main{display:flex;align-items:center;gap:9px}.cell-icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:#2e74b5;background:#edf5fc}.cell-main strong{display:block;color:#24324a;font-size:var(--font-caption)}.cell-main small{display:block;margin-top:3px;color:#909aa8;font-size:var(--font-caption)}.table-action{padding:5px 8px;border:0;border-radius:6px;color:var(--blue);background:transparent;font-size:var(--font-caption);cursor:pointer}.table-action:hover{background:#eaf3fb}.progress-line{width:88px;height:5px;overflow:hidden;border-radius:5px;background:#e9edf2}.progress-line span{display:block;height:100%;border-radius:inherit;background:var(--blue)}.progress-line.warning span{background:var(--amber)}.progress-line.danger span{background:var(--red)}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e1e8f0;border-radius:14px;background:#fff}.summary-item{position:relative;padding:16px 18px}.summary-item:not(:last-child):after{content:"";position:absolute;top:18px;right:0;bottom:18px;width:1px;background:#e7ebf1}.summary-item span{display:block;color:#7a8697;font-size:var(--font-caption)}.summary-item strong{display:block;margin-top:5px;font-size:20px}.summary-item small{color:#8b95a4;font-size:var(--font-caption)}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#2d6da6;background:#e9f3fb;font-weight:700;font-size:var(--font-caption)}.avatar.green{color:#18795a;background:#e6f6ef}.avatar.violet{color:#6c50b4;background:#f0ecfa}.avatar.amber{color:#a96b11;background:#fff3dd}.tag{padding:3px 7px;border-radius:6px;color:#576477;background:#eef2f6;font-size:var(--font-caption)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:22px;display:grid;place-items:center;background:#07142475;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-panel{width:100%;max-height:calc(100vh - 44px);overflow:auto;border-radius:16px;background:#fff;box-shadow:0 28px 80px #0b1f3740;animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.modal-panel>header{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9edf2}.modal-panel>header small{color:#8591a2;font-size:var(--font-caption)}.modal-panel>header h2{margin:3px 0 0;font-size:16px}.modal-content{padding:19px}.modal-panel>footer{padding:14px 19px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e9edf2;background:#fafbfd}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full{grid-column:1/-1}.form-field label{color:#59667a;font-size:var(--font-caption);font-weight:650}.form-field input,.form-field select,.form-field textarea{width:100%;padding:10px 11px;border:1px solid #dce3eb;border-radius:8px;outline:none;color:#25334b;background:#fff;font-size:var(--font-caption)}.form-field textarea{min-height:82px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#75a9d6;box-shadow:0 0 0 3px #2e74b514}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0714244d}.side-drawer{position:absolute;top:0;right:0;bottom:0;width:min(470px,92vw);display:flex;flex-direction:column;background:#fff;box-shadow:-20px 0 55px #1227402e;animation:drawer-in .22s ease}.side-drawer>header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf2}.side-drawer>header h2{margin:0;font-size:17px}.side-drawer>header p{margin:4px 0 0;color:#8490a0;font-size:var(--font-caption)}.drawer-body{padding:20px;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(20px);opacity:.7}}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.detail-item{padding:12px;border:1px solid #e7ebf0;border-radius:9px;background:#fafbfd}.detail-item span{display:block;color:#8490a1;font-size:var(--font-caption)}.detail-item strong{display:block;margin-top:4px;font-size:var(--font-caption)}.timeline{margin:18px 0 0;padding:0;list-style:none}.timeline li{position:relative;padding:0 0 17px 21px;color:#48556a;font-size:var(--font-caption)}.timeline li:before{content:"";position:absolute;left:3px;top:3px;width:7px;height:7px;border:2px solid white;border-radius:50%;background:#4b94d6;box-shadow:0 0 0 2px #cfe2f3}.timeline li:not(:last-child):after{content:"";position:absolute;left:7px;top:13px;bottom:1px;width:1px;background:#dce6ef}.timeline small{display:block;margin-top:4px;color:#8d98a6;font-size:var(--font-caption)}.soft-banner{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #d8e7f4;border-radius:12px;color:#335a7e;background:#eef6fc}.soft-banner.warning{color:#805810;border-color:#f0dfb8;background:#fff8e9}.soft-banner.danger{color:#8e3e3e;border-color:#f0cccc;background:#fff2f2}.soft-banner strong{display:block;font-size:var(--font-caption)}.soft-banner p{margin:3px 0 0;opacity:.8;font-size:var(--font-caption)}.empty-box{min-height:220px;display:grid;place-items:center;color:#8b96a4;text-align:center}@media(max-width:1180px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.global-search{width:220px}}@media(max-width:900px){.sidebar{transform:translate(-100%);transition:transform .23s ease}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:grid!important}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#07142461}.app-main{width:100%;margin-left:0}.menu-trigger{display:grid}.global-search{display:none}.page-body{padding:20px}.topbar{padding:0 20px}.summary-strip{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(2):after{display:none}.summary-item:nth-child(-n+2){border-bottom:1px solid #e7ebf1}}@media(max-width:640px){.page-body{padding:16px 13px 28px}.topbar{height:68px;padding:0 13px}.topbar-title h1{font-size:17px}.topbar-title p,.user-menu>span:not(.user-avatar),.user-menu>svg{display:none}.metrics-grid,.grid-equal,.grid-3{grid-template-columns:1fr}.page-intro{align-items:flex-start;flex-direction:column}.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:1}.metric-card{min-height:98px}.data-toolbar{align-items:stretch;flex-direction:column}.toolbar-group{flex-wrap:wrap}.input-with-icon{flex:1}.form-grid,.detail-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.notification-popover{position:fixed;top:65px;right:10px;left:10px;width:auto}}
