:root{--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-indigo: #4f46e5;--ink: #0f172a;--muted: #64748b;--label: #475569;--hairline: rgba(148, 163, 184, .2);--radius-lg: 16px;--radius-md: 12px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 12px 30px -20px rgba(15, 23, 42, .3), 0 4px 12px -10px rgba(15, 23, 42, .14);--el-color-primary: #2563eb;--el-color-primary-light-3: #6692f1;--el-color-primary-light-5: #92b1f5;--el-color-primary-light-7: #bed0f9;--el-color-primary-light-8: #d3dffb;--el-color-primary-light-9: #e9effd;--el-color-primary-dark-2: #1d4fbc;--el-border-radius-base: 6px;--el-text-color-primary: #0f172a;--el-text-color-regular: #334155;--el-table-header-bg-color: #f8fafc;--el-table-header-text-color: #475569;--el-table-row-hover-bg-color: #eff4ff;--el-table-border-color: rgba(148, 163, 184, .18);--el-card-border-radius: 14px;--el-card-border-color: rgba(148, 163, 184, .16)}:root{--app-surface-border: rgba(148, 163, 184, .2);--app-filter-bg: rgba(239, 244, 255, .7)}.app-shell{width:100%;min-height:100vh;background:radial-gradient(900px 480px at 100% -6%,rgba(79,70,229,.06),transparent 60%),radial-gradient(760px 420px at -4% 0%,rgba(37,99,235,.06),transparent 55%),linear-gradient(180deg,#f8fafc,#eef2f8);overflow-x:hidden}.page-shell{width:100%;max-width:none;margin:0;padding:16px 20px 32px;box-sizing:border-box}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px 18px;border-radius:14px;border:1px solid var(--hairline, rgba(148, 163, 184, .2));background:#ffffffd1;box-shadow:var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .06));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-head h1{margin:0;font-size:18px;font-weight:650;letter-spacing:.2px;color:#0f172a}.search-filter{margin-bottom:14px;padding:14px 16px;border-radius:14px;border:1px solid var(--hairline, rgba(148, 163, 184, .2));background:var(--app-filter-bg);box-shadow:var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .06));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.button-container{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@media(max-width:768px){.page-shell{padding:12px 12px 24px;max-width:100%;overflow-x:hidden}.page-shell .el-card{overflow:hidden}.page-shell .el-table{font-size:13px}.page-head:not(.page-head--ops){flex-direction:column;align-items:stretch}.page-head:not(.page-head--ops) h1{font-size:16px}.page-head--sub{flex-direction:column;align-items:stretch;padding:8px 10px;margin-bottom:10px}.page-head--sub .head-left,.page-head--sub .button-container{width:100%}.page-head--sub .button-container{justify-content:flex-start;gap:6px}.page-head--sub .button-container .el-button{min-height:32px;padding:5px 12px;font-size:13px}.page-head--sub.page-head--compact-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 8px}.page-head--sub.page-head--compact-toolbar .head-left{flex:1 1 auto;width:auto;min-width:0}.page-head--sub.page-head--compact-toolbar .button-container,.page-head--sub.page-head--compact-toolbar .head-actions-slot{flex:0 0 auto;width:auto;margin-left:auto}.page-head--sub.page-head--compact-toolbar .button-container--scroll{flex:1 1 100%;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.page-head--sub.page-head--compact-toolbar .button-container--scroll::-webkit-scrollbar{display:none}.page-head--sub.page-head--compact-toolbar .button-container--scroll .el-button{flex:0 0 auto;min-width:unset}.page-head--sub .head-title-block{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}.page-head--sub .head-title-block h1{margin:0;font-size:15px;line-height:1.3;word-break:break-all}.page-head--sub .head-back-btn.el-button.is-link{padding:0 4px;font-size:13px;flex-shrink:0}.search-filter .el-row{row-gap:10px}.search-filter .filter-actions-col{display:flex;align-items:stretch}.search-filter .filter-actions{width:100%}.search-filter .filter-actions .el-button{flex:1;min-height:36px}.manage-toolbar{flex-direction:column;align-items:stretch}.manage-toolbar .toolbar-input{width:100%!important}.manage-toolbar .toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;width:100%}.manage-toolbar .toolbar-actions .el-button{flex:1;min-width:calc(50% - 4px);margin:0}.auth-form .el-form-item{margin-bottom:16px}.auth-form .demo-btns{display:flex;flex-direction:column;gap:8px;width:100%}.auth-form .demo-btns .el-button{width:100%;margin:0}.auth-form .sms-row{flex-direction:column;align-items:stretch}.auth-form .sms-row .el-button{width:100%}}.responsive-mobile-only{display:none}.responsive-desktop-only{display:block}@media(max-width:768px){.responsive-mobile-only{display:block}.responsive-desktop-only{display:none!important}}@media(max-width:1024px)and (hover:none)and (pointer:coarse){.responsive-mobile-only{display:block}.responsive-desktop-only{display:none!important}}.table-scroll-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dialog-footer--mobile{display:flex;width:100%;gap:8px}.dialog-footer--mobile .el-button{flex:1;margin:0;min-height:40px}.manage-card-list{list-style:none;margin:0;padding:0}.manage-card{padding:12px 0;border-bottom:1px solid #e2e8f0}.manage-card:last-child{border-bottom:none}.manage-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.manage-card__title{flex:1;min-width:0;font-size:15px;font-weight:600;color:#0f172a;word-break:break-word}.manage-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;color:#64748b;margin-bottom:4px}.manage-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;width:100%}.manage-card__actions .el-button{flex:1;min-width:calc(50% - 4px);margin:0}.manage-card-empty{padding:24px 0;text-align:center;color:#94a3b8;font-size:14px}.app-dialog--mobile.el-dialog.is-fullscreen .el-dialog__header{padding:12px 14px 8px}.app-dialog--mobile.el-dialog.is-fullscreen .el-dialog__body{padding:8px 14px 12px;max-height:calc(100vh - 120px);overflow-y:auto}.app-dialog--mobile.el-dialog.is-fullscreen .el-dialog__footer{padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px))}.app-dialog--mobile .el-form-item{margin-bottom:14px}.app-dialog--mobile .el-select,.app-dialog--mobile .el-input,.app-dialog--mobile .el-input-number{width:100%!important}.page-shell .el-card{border:1px solid var(--el-card-border-color, rgba(148, 163, 184, .16));box-shadow:0 10px 28px -22px #0f172a40,0 1px 2px #0f172a0d}.page-shell .el-card>.el-card__header{border-bottom:1px solid rgba(148,163,184,.16);font-weight:600;color:#0f172a}.page-shell .el-table th.el-table__cell{font-weight:600}.brand-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--brand-600, #2563eb),var(--brand-indigo, #4f46e5));color:#fff;font-size:16px;font-weight:800;line-height:1;box-shadow:0 8px 16px -9px #2563eb99;-webkit-user-select:none;user-select:none}.app-shell .page-head .nav-link{padding:7px 14px;color:#64748b;background:#f1f5f9;border-radius:9px;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.app-shell .page-head .nav-link:hover{color:var(--brand-700, #1d4ed8);background:#e5edff}.app-shell .page-head .nav-link.nav-link--active{color:#fff;font-weight:600;background:linear-gradient(135deg,var(--brand-600, #2563eb),var(--brand-indigo, #4f46e5));box-shadow:0 8px 16px -10px #2563eb99}@media(max-width:768px){.brand-mark{width:26px;height:26px;border-radius:8px;font-size:14px}}.auth-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;overflow:hidden;background:radial-gradient(1100px 620px at 12% -10%,rgba(79,70,229,.12),transparent 60%),radial-gradient(920px 560px at 110% 10%,rgba(37,99,235,.12),transparent 55%),linear-gradient(160deg,#eef2ff,#f8fafc 46%,#eff6ff)}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(420px 420px at 84% 90%,rgba(37,99,235,.09),transparent 70%),radial-gradient(360px 360px at 4% 84%,rgba(99,102,241,.09),transparent 70%)}.auth-card{position:relative;z-index:1;width:min(440px,100%);box-sizing:border-box;padding:36px 34px 30px;border-radius:20px;background:#fffffff2;border:1px solid rgba(148,163,184,.18);box-shadow:0 1px #ffffffb3 inset,0 26px 60px -30px #0f172a61,0 10px 24px -18px #0f172a33;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(max-width:480px){.auth-card{padding:26px 20px 22px;border-radius:16px}}.auth-head{margin-bottom:22px}.auth-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}.auth-logo{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;font-size:22px;font-weight:800;letter-spacing:.5px;box-shadow:0 10px 20px -10px #2563eba6;-webkit-user-select:none;user-select:none}.auth-wordmark{display:flex;align-items:baseline;gap:6px;font-size:17px;font-weight:700;color:#0f172a;letter-spacing:.2px}.auth-wordmark small{font-size:11px;font-weight:600;color:#94a3b8;letter-spacing:1.5px}.auth-lang{margin-left:auto}.auth-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;font-size:22px;line-height:1.25;font-weight:700;color:#0f172a}.auth-subtitle{margin:8px 0 0;font-size:14px;line-height:1.5;color:#64748b}.auth-chip{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:#4f46e5;background:#4f46e51a;border:1px solid rgba(79,70,229,.22)}.auth-form{margin-top:2px}.auth-form .el-form-item{margin-bottom:16px}.auth-form .el-form-item__label{font-weight:500;color:#475569;padding-bottom:4px;line-height:1.4}.auth-form .el-input__wrapper{border-radius:10px;padding:3px 12px;box-shadow:0 0 0 1px #94a3b861 inset;transition:box-shadow .15s ease}.auth-form .el-input__wrapper:hover{box-shadow:0 0 0 1px #64748b8c inset}.auth-form .el-input__wrapper.is-focus{box-shadow:0 0 0 1px #4f46e5 inset,0 0 0 3px #4f46e524}.auth-form .sms-row .el-button,.auth-form .code-row .el-button{border-radius:10px;white-space:nowrap}.auth-mode{margin-bottom:18px}.auth-mode .el-radio-group{display:flex;width:100%;gap:0;padding:4px;border-radius:12px;background:#f1f5f9}.auth-mode .el-radio-button{flex:1}.auth-mode .el-radio-button__inner{width:100%;padding:8px 10px;border:none!important;border-radius:8px!important;background:transparent;box-shadow:none!important;color:#64748b;font-weight:500;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.auth-mode .el-radio-button__inner:hover{color:#334155}.auth-mode .el-radio-button.is-active .el-radio-button__inner,.auth-mode .el-radio-button__original-radio:checked+.el-radio-button__inner{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0f172a24!important}.auth-actions{margin-top:4px}.auth-submit.el-button{width:100%;height:44px;border:none;border-radius:10px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 12px 24px -14px #2563ebbf;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.auth-submit.el-button:hover{filter:brightness(1.05);box-shadow:0 16px 30px -14px #2563ebcc}.auth-submit.el-button:active{transform:translateY(1px)}.auth-submit.el-button.is-loading{filter:none}.auth-remember{margin-bottom:16px}.auth-remember .el-checkbox__label{color:#475569}.auth-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:16px}.auth-link{color:#4f46e5;font-size:14px;font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-note{margin:14px 0 0;font-size:13px;line-height:1.55;color:#64748b}.auth-note code{padding:2px 6px;border-radius:4px;background:#f1f5f9}.auth-alert{margin-top:14px}.auth-alert .el-alert{border-radius:10px}.page-back-footer[data-v-725a0a99]{flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--app-surface-border, rgba(148, 163, 184, .35));background:#ffffffe0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-back-btn[data-v-725a0a99]{min-width:120px;min-height:40px}html,body,#app{margin:0;min-height:100vh}.app-root{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1 1 auto;width:100%;min-height:0}.wrap[data-v-46fe45f3]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));box-sizing:border-box}.card[data-v-46fe45f3]{width:min(640px,100%)}.form[data-v-46fe45f3]{margin-top:16px}.sms-row[data-v-46fe45f3]{width:100%;display:flex;gap:8px}.card-head[data-v-46fe45f3]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.head-actions[data-v-46fe45f3]{display:flex;flex-wrap:wrap;gap:4px 8px}@media(max-width:768px){.card-head[data-v-46fe45f3],.head-actions[data-v-46fe45f3]{flex-direction:column;align-items:stretch}.head-actions .el-button[data-v-46fe45f3]{margin:0;justify-content:flex-start}.form[data-v-46fe45f3] .el-form-item:last-child{display:flex;flex-direction:column;gap:8px}.form[data-v-46fe45f3] .el-form-item:last-child .el-button{width:100%;margin:0}}.hint[data-v-46fe45f3]{margin:10px 0 0;font-size:13px;color:#64748b;line-height:1.5}.page-head--ops[data-v-64839d7e]{flex-direction:column;align-items:stretch;gap:10px}.ops-head-top[data-v-64839d7e]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.ops-head-title[data-v-64839d7e]{margin:0;font-size:17px;font-weight:600;color:#0f172a;line-height:1.3;flex:1;min-width:0}.ops-head-user[data-v-64839d7e]{display:flex;align-items:center;gap:6px;flex-shrink:0}.nav[data-v-64839d7e]{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 4px;margin:0 -2px}.nav[data-v-64839d7e]::-webkit-scrollbar{display:none}.nav-link[data-v-64839d7e]{flex-shrink:0;padding:6px 12px;font-size:14px;color:#64748b;text-decoration:none;white-space:nowrap;border-radius:8px;background:#f1f5f9e6}.nav-link[data-v-64839d7e]:hover{color:#2563eb;background:#dbeafee6}.nav-link--active[data-v-64839d7e]{color:#1d4ed8;font-weight:600;background:#dbeafe}.ops-head-actions[data-v-64839d7e]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ops-head-actions .el-button[data-v-64839d7e]{margin:0}.account[data-v-64839d7e]{font-size:13px;color:#475569;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-debug-banner[data-v-64839d7e],.defer-banner[data-v-64839d7e]{margin-bottom:12px}.ops-head-title-short[data-v-64839d7e]{display:none}.defer-banner--mobile[data-v-64839d7e] .el-alert__title{font-size:13px;line-height:1.45}.defer-banner--mobile[data-v-64839d7e] .el-alert__content{padding-top:4px}@media(max-width:768px){.page-head--ops[data-v-64839d7e]{padding:8px 10px;gap:6px}.ops-head-top[data-v-64839d7e]{gap:6px}.ops-head-title-full[data-v-64839d7e]{display:none}.ops-head-title-short[data-v-64839d7e]{display:inline}.ops-head-title[data-v-64839d7e]{font-size:15px}.ops-head-user .account[data-v-64839d7e]{max-width:72px;font-size:12px}.ops-head-menu[data-v-64839d7e]{flex-shrink:0}.nav-link[data-v-64839d7e]{min-height:34px;display:inline-flex;align-items:center;padding:6px 12px;font-size:14px}.defer-banner[data-v-64839d7e]{margin-bottom:10px}.defer-banner--mobile[data-v-64839d7e]{padding:8px 10px}.erp-debug-banner[data-v-64839d7e]{display:none}}@media(min-width:769px){.page-head--ops[data-v-64839d7e]{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 16px}.ops-head-top[data-v-64839d7e]{flex:1 1 auto;min-width:200px}.ops-head-title[data-v-64839d7e]{font-size:18px}.nav[data-v-64839d7e]{flex:1 1 100%;order:3;flex-wrap:wrap;overflow:visible;padding:0;margin:0}.nav-link[data-v-64839d7e]{padding:0;background:transparent}.nav-link[data-v-64839d7e]:hover,.nav-link--active[data-v-64839d7e]{background:transparent}.ops-head-actions[data-v-64839d7e]{flex:0 0 auto;order:2;flex-wrap:nowrap;margin-left:auto}.account[data-v-64839d7e]{max-width:140px}}
