.app-modal[data-v-dc0dde10]{position:fixed;inset:0;margin:auto;padding:0;width:min(680px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:min(900px,calc(100dvh - 64px));border:1px solid #e2ebe5;border-radius:16px;color:#172b3c;background:#fff;box-shadow:0 24px 90px #102a2330;overflow:hidden}.app-modal[open][data-v-dc0dde10]{display:flex;flex-direction:column}.app-modal-wide[data-v-dc0dde10]{width:min(1040px,calc(100vw - 40px))}.app-modal[data-v-dc0dde10]::backdrop{background:#102a2380;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer-header[data-v-dc0dde10],.drawer-footer[data-v-dc0dde10]{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;flex-shrink:0}.drawer-header[data-v-dc0dde10]{border-bottom:1px solid #e5ecef}.drawer-header h2[data-v-dc0dde10]{margin:0;font-size:21px;overflow-wrap:anywhere}.drawer-body[data-v-dc0dde10]{padding:24px;overflow:auto;min-height:0;overscroll-behavior:contain}.drawer-footer[data-v-dc0dde10]{justify-content:flex-end;border-top:1px solid #e5ecef;flex-wrap:wrap;background:#fbfdfc}@media(max-width:600px){.app-modal[data-v-dc0dde10]{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:12px}.drawer-header[data-v-dc0dde10],.drawer-footer[data-v-dc0dde10]{padding:16px}.drawer-body[data-v-dc0dde10]{padding:18px 16px}.drawer-header h2[data-v-dc0dde10]{font-size:18px}}.download-settings[data-v-0e7edb81]{display:grid;gap:16px;line-height:1.7}.download-settings p[data-v-0e7edb81]{margin:0}.download-settings button[data-v-0e7edb81]{justify-self:start}.password-grid[data-v-d383eb34]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.password-control[data-v-d383eb34]{position:relative;display:block;min-width:0}.password-control input[data-v-d383eb34]{width:100%;padding-right:42px}.password-control button[data-v-d383eb34]{display:grid;place-items:center;position:absolute;right:5px;top:5px;width:32px;height:32px;padding:0;background:transparent;border:0;border-radius:4px;color:#718096}.password-control button[data-v-d383eb34]:hover{background:#edf7f3;color:#00855e}.password-hint[data-v-d383eb34]{margin-top:8px!important}.password-mismatch[data-v-d383eb34]{margin:8px 0 0;color:#b33c2f;font-size:13px}@media(max-width:600px){.password-grid[data-v-d383eb34]{grid-template-columns:1fr;gap:16px}}.change-password-form p[data-v-c23e958c]{margin:0 0 18px;line-height:1.7}.change-password-form fieldset[data-v-c23e958c]{min-width:0;margin:0;padding:0;border:0}.current-password-field[data-v-c23e958c]{margin-bottom:20px}.current-password-control[data-v-c23e958c]{position:relative;display:block}.current-password-control input[data-v-c23e958c]{width:100%;padding-right:42px}.current-password-control button[data-v-c23e958c]{display:grid;place-items:center;position:absolute;right:5px;top:5px;width:32px;height:32px;padding:0;background:transparent;border:0;border-radius:4px;color:#718096}.current-password-control button[data-v-c23e958c]:hover{background:#edf7f3;color:#00855e}:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#101b30;background:#f3f6f8;font-size:14px;line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #00875b;--primary-hover: #006f4c;--primary-soft: #e2f3ec;--surface: #fff;--workspace: #f3f6f8;--text: #101b30;--muted: #5c6878;--border: #dbe2e9;--radius: 6px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{color:inherit}button:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.55}button,a{touch-action:manipulation}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #73bda4;outline-offset:3px}h1,h2,h3,p{margin-top:0}button svg,a svg{flex:0 0 auto}input,select,textarea{min-height:38px;padding:7px 11px;border:1px solid #cfd8e2;border-radius:5px;color:var(--text);background:#fff;max-width:100%}input::placeholder,textarea::placeholder{color:#87909c}input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;accent-color:var(--primary);vertical-align:middle}textarea{min-height:90px;resize:vertical}table{border-collapse:collapse}.muted{color:var(--muted)}.primary,.secondary,.link-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5;transition:background .15s,border-color .15s}.primary,.secondary{border-radius:5px;padding:8px 17px;min-height:38px;font-weight:500;white-space:nowrap}.primary{color:#fff;background:var(--primary);border:1px solid var(--primary)}.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);text-decoration:none}.secondary{border:1px solid #cfd8e2;background:#fff;color:#354457}.secondary:hover:not(:disabled){background:#f4f7f9;text-decoration:none}.link-button{background:transparent;color:var(--primary);border:0;padding:4px 0}.link-button:hover:not(:disabled){text-decoration:underline}.icon-button{width:38px;height:38px;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:#425166}.icon-button:hover:not(:disabled){background:#edf2f5}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;background:var(--primary-soft);color:#006b48;padding:2px 8px;font-size:12px;font-weight:500;white-space:nowrap}.notice,.error{border-radius:5px;padding:11px 14px;font-size:13px;overflow-wrap:anywhere}.notice{background:#fff9eb;color:#80612b;border:1px solid #ecdfbe}.error{background:#fff2f1;color:#a53731;border:1px solid #f0ceca}.empty-state{padding:56px 24px;text-align:center;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;padding:16px 22px;border-top:1px solid var(--border);color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>label{font-weight:500;font-size:13px}.field small{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-heading h1,h1.page-heading{font-size:28px;line-height:1.4;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.page-description{color:#566477;font-size:15px;margin:0;font-weight:400}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border)}.filters .field{min-width:130px}.table-wrap{overflow-x:auto;width:100%}.data-table{width:100%;text-align:left;font-size:14px}.data-table th{background:#f3f6f8;color:#233044;font-weight:500;padding:13px 18px;white-space:nowrap}.data-table td{padding:17px 18px;border-bottom:1px solid #e6ebf0;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfc}.data-table img{object-fit:cover;border-radius:5px}.drawer-backdrop{position:fixed;inset:0;z-index:60;background:#0b172b66;display:flex;justify-content:flex-end}.drawer{width:min(680px,100%);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-10px 0 35px #0b172b1c}.drawer-header,.drawer-footer{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.drawer-header{border-bottom:1px solid var(--border)}.drawer-header h2{font-size:20px;margin:0}.drawer-body{padding:24px;flex:1;overflow-y:auto}.drawer-footer{border-top:1px solid var(--border);justify-content:flex-end}.brand{display:flex;gap:12px;align-items:center;color:#0a1d36}.brand-symbol{width:40px;height:38px;display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:4px}.brand strong{display:block;font-size:26px;line-height:1.25;letter-spacing:1px}.brand small{display:block;margin-top:3px;color:#57677c;font-size:12px}.workspace{min-height:100dvh}.sidebar{width:236px;position:fixed;top:0;left:0;bottom:0;z-index:40;background:#fff;border-right:1px solid var(--border);overflow-y:auto}.sidebar-brand{height:91px;padding:17px 23px;display:flex;align-items:center;justify-content:space-between}.sidebar nav{padding:0 9px 28px}.nav-group{margin-bottom:24px}.nav-group h2{margin:10px 14px 9px;font-size:14px;font-weight:500;color:#46556a}.nav-item{display:flex;line-height:1.4;align-items:center;gap:14px;min-height:44px;padding:9px 20px;margin-bottom:3px;border-radius:4px;color:#172335;font-size:15px;border-left:2px solid transparent}.nav-item svg{color:#526276}.nav-item:hover{background:#f4f7f8;text-decoration:none}.nav-item.router-link-active{border-left-color:var(--primary);background:var(--primary-soft);color:#00724d;font-weight:600}.nav-item.router-link-active svg{color:var(--primary)}.nav-empty{padding:20px 14px}.workspace-body{margin-left:236px;min-width:0}.topbar{height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e4e9ef;background:#fff}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:14px;color:#566477;white-space:nowrap}.breadcrumb strong{color:#172337;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.account-menu{position:relative}.account-trigger{display:flex;align-items:center;gap:12px;padding:4px;border:0;background:transparent;cursor:pointer;border-radius:5px}.account-trigger:hover{background:#f6f8fa}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:var(--primary);font-size:18px}.account-name{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-popover{position:absolute;top:calc(100% + 2px);right:0;width:178px;border:1px solid var(--border);border-radius:6px;background:#fff;box-shadow:0 5px 18px #162a4326;padding:6px;z-index:50}.account-popover button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:4px;background:#fff;padding:10px 12px;text-align:left}.account-popover button:hover,.account-popover button:focus-visible{background:#f0f6f3}.workspace-content{padding:30px 32px 48px;max-width:1920px;margin:0 auto;outline:none}.demo-notice{display:flex;align-items:center;gap:10px;font-size:12px;color:#627166;margin-bottom:20px}.shell-state{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:15px;padding:32px;color:var(--muted)}.shell-state p{margin-bottom:0}.initial-loading{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:var(--muted)}.forbidden-view{margin:48px auto;max-width:640px;padding:54px 40px;text-align:center}.forbidden-icon{display:inline-grid;place-items:center;background:#eaf2ef;color:var(--primary);width:70px;height:70px;border-radius:50%;margin-bottom:24px}.forbidden-view h1{font-size:23px;margin-bottom:12px}.forbidden-view p{color:var(--muted);line-height:1.9;max-width:450px;margin:0 auto 26px}.forbidden-view .actions{justify-content:center}.skip-link{position:fixed;top:-100px;left:250px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:8px}.mobile-only{display:none}.login-page{display:grid;grid-template-columns:46% 54%;min-height:100dvh;background:#fff}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px 30px;background:#0d493a;color:#fff;overflow:hidden}.brand-light{color:#fff}.brand-light small{color:#bdd6cd}.brand-light .brand-symbol{background:#fff;color:#096345}.login-brand-copy{padding:70px 0 100px}.login-brand-copy h1{font-size:clamp(32px,3.1vw,48px);font-weight:600;line-height:1.65;letter-spacing:1px;margin-bottom:24px}.login-brand-copy p{font-size:16px;line-height:2;color:#cae0d8;margin-bottom:38px}.brand-rule{width:46px;height:3px;background:#66b195;margin-bottom:20px}.login-brand-copy>span{color:#a9c9bd;font-size:12px;letter-spacing:2px}.login-brand-footer{font-size:12px;color:#a9c9bd;margin-bottom:0}.login-form-panel{position:relative;display:flex;align-items:center;justify-content:center;min-height:680px;padding:72px 48px}.login-form-wrap{width:100%;max-width:372px;margin-top:-15px}.login-form-wrap h2{font-size:30px;font-weight:600;margin-bottom:10px;letter-spacing:-.5px}.login-description{color:#728092;font-size:14px;margin-bottom:36px}.login-form{display:flex;flex-direction:column;gap:22px}.login-form .field>label{font-size:14px}.login-form input{height:46px;width:100%}.password-field{position:relative}.password-field input{padding-right:48px}.password-field .icon-button{position:absolute;right:5px;top:4px}.login-submit{width:100%;min-height:46px;margin-top:8px}.login-submit svg:last-child{margin-left:auto}.login-submit span{margin:0 auto}.login-help{font-size:12px;color:#7b8796;line-height:1.9;margin-top:26px}.login-footer{position:absolute;bottom:28px;font-size:12px;color:#8c96a2;margin:0}.login-mobile-brand{display:none}.connection-retry{align-self:center;font-size:13px}.spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1440px){:root{font-size:15px}.sidebar{width:248px}.workspace-body{margin-left:248px}.sidebar-brand{height:94px;padding-left:28px}.nav-group{margin-bottom:26px}.nav-group h2{font-size:18px}.nav-item{min-height:46px;font-size:20px}.breadcrumb,.account-trigger,.account-popover button{font-size:18px}.brand strong{font-size:28px}.brand small{font-size:14px}.page-heading h1,h1.page-heading{font-size:32px}.page-description{font-size:17px}.data-table{font-size:16px}.data-table th{padding-top:15px;padding-bottom:15px}.data-table td{padding-top:18px;padding-bottom:18px}}@media(max-width:1100px){.topbar{padding:0 20px}.breadcrumb{display:none}.workspace-content{padding:25px 22px}.login-brand-panel{padding-left:34px;padding-right:30px}}@media(max-width:760px){.mobile-only{display:inline-flex}.desktop-only{display:none}.sidebar{transform:translate(-100%);transition:transform .18s;width:264px;visibility:hidden}.sidebar-open{transform:translate(0);visibility:visible}.sidebar-brand{padding:20px 16px}.sidebar-brand .brand{gap:9px}.navigation-backdrop{position:fixed;inset:0;z-index:35;background:#0b172b66;border:0}.workspace-body{margin-left:0}.topbar{min-height:66px;height:auto;padding:10px 12px;gap:8px}.topbar-actions{gap:7px;min-width:0}.refresh-session{width:30px;flex-shrink:0}.account-trigger{gap:4px;padding:0}.account-name{display:none}.avatar{width:32px;height:32px;font-size:16px}.workspace-content{padding:22px 16px 32px}.page-heading{margin-bottom:18px}.page-heading h1,h1.page-heading{font-size:25px}.page-description{font-size:13px}.filters{padding:16px;gap:12px}.filters .field{flex:1 1 140px}.data-table{font-size:13px}.data-table th,.data-table td{padding:12px}.form-grid{grid-template-columns:1fr}.pagination{padding:14px;gap:8px}.demo-notice{align-items:flex-start}.forbidden-view{padding:35px 22px;margin-top:24px}.forbidden-view h1{font-size:21px}.drawer-header,.drawer-body,.drawer-footer{padding:18px}.login-page{display:block}.login-brand-panel{display:none}.login-form-panel{display:flex;flex-direction:column;justify-content:flex-start;min-height:100dvh;padding:32px 26px 90px}.login-mobile-brand{display:block;align-self:flex-start;margin-bottom:56px}.login-form-wrap{margin:0;max-width:400px}.login-form-wrap h2{font-size:27px}.login-description{margin-bottom:30px}.login-footer{bottom:24px}.skip-link{left:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
