html{height:100%;overflow:hidden}body{height:100%;margin:0;padding:0;overflow-x:hidden;overflow-y:auto;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.ant-card,.ant-pro-card,.reg-steps-card,.reg-choice-card,.reg-form-card,.reg-form-card-sm,.reg-nested-card,.portal-home .mb-card{box-shadow:0 1px 2px #0f172a0a,0 2px 10px #0f172a0f;animation:card-breathe 5s ease-in-out infinite;transition:box-shadow .3s ease}.ant-card:hover,.ant-pro-card:hover,.reg-steps-card:hover,.reg-choice-card:hover,.reg-form-card:hover,.reg-form-card-sm:hover,.reg-nested-card:hover,.portal-home .mb-card:hover{animation:none;box-shadow:0 4px 12px #0f172a14,0 8px 24px #0f172a1f}@keyframes card-breathe{0%,to{box-shadow:0 1px 2px #0f172a0a,0 2px 10px #0f172a0f}50%{box-shadow:0 3px 8px #0f172a14,0 10px 26px #0f172a1a}}@media(prefers-reduced-motion:reduce){.ant-card,.ant-pro-card,.reg-steps-card,.reg-choice-card,.reg-form-card,.reg-form-card-sm,.reg-nested-card,.portal-home .mb-card{animation:none}}.lab-kpi-card,.tender-board-card{position:relative;transition:transform .25s ease,box-shadow .25s ease}.lab-kpi-card:hover,.tender-board-card:hover{transform:scale(1.04);z-index:2;box-shadow:0 8px 20px #1677ff29}.ant-table-tbody>tr:nth-child(2n)>td{background:#fafbfc}.ant-table-tbody>tr:hover>td{background:#f0f5ff!important}.ant-modal-body{overflow-x:hidden}.ant-modal-body .ant-table-content,.ant-modal-body .ant-table-body{overflow-x:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#c3ccd6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a6b1be}::-webkit-scrollbar-track{background:transparent}.ant-pro-sider{scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.35) transparent}.ant-pro-sider ::-webkit-scrollbar{width:4px;height:4px}.ant-pro-sider ::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:4px}.ant-pro-sider ::-webkit-scrollbar-thumb:hover{background:#94a3b88c}.ant-pro-sider ::-webkit-scrollbar-track{background:transparent}.ant-pro-sider .ant-menu-light .ant-menu-item-selected{background-color:#1677ff24;color:#1677ff}.ant-pro-sider .ant-menu-light .ant-menu-item:not(.ant-menu-item-selected):hover,.ant-pro-sider .ant-menu-light .ant-menu-submenu-title:hover{background-color:#1677ff0f}.ant-pro-sider .ant-menu-submenu .ant-menu-item{font-size:16px}a{transition:color .2s}.ant-pro-table{background:transparent}.ql-editor .ql-indent-1{padding-left:0!important;text-indent:2em}.ql-editor .ql-indent-2{padding-left:0!important;text-indent:4em}.ql-editor img{max-width:100%;height:auto}.ql-editor p{margin:.75em 0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:.9em 0 .45em;line-height:1.4;font-weight:600}.markdown-body h1{font-size:22px}.markdown-body h2{font-size:19px}.markdown-body h3{font-size:17px}.markdown-body h4{font-size:15px}.markdown-body p{margin:.6em 0}.markdown-body ul,.markdown-body ol{margin:.6em 0;padding-left:1.6em}.markdown-body li{margin:.25em 0}.markdown-body blockquote{margin:.8em 0;padding:.25em 1em;color:#666;border-left:3px solid #d9d9d9;background:#fafafa;border-radius:0 4px 4px 0}.markdown-body code{padding:.15em .4em;font-size:.9em;color:#c0392b;background:#f5f5f5;border-radius:4px}.markdown-body pre{margin:.8em 0;padding:.8em 1em;background:#282c34;color:#e6e6e6;border-radius:8px;overflow:auto}.markdown-body pre code{padding:0;color:inherit;background:transparent}.markdown-body table{width:100%;margin:.8em 0;border-collapse:collapse;font-size:13px}.markdown-body th,.markdown-body td{padding:8px 10px;border:1px solid #e8e8e8;text-align:left}.markdown-body th{background:#fafafa;font-weight:600}.markdown-body hr{margin:1em 0;border:none;border-top:1px solid #eee}.markdown-body a{color:#1677ff}.markdown-body img{max-width:100%;height:auto;border-radius:6px}@keyframes drift1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(60px,-80px) scale(1.15)}50%{transform:translate(120px,-20px) scale(.95)}75%{transform:translate(40px,-100px) scale(1.08)}}@keyframes drift2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-70px,-50px) scale(1.1)}66%{transform:translate(-30px,-90px) scale(.9)}}@keyframes drift3{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(50px,-70px) rotate(8deg)}}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.25);opacity:.08}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes line-shimmer{0%{left:-100%}to{left:100%}}@keyframes enter-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes enter-left{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes enter-scale{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes badge-glow{0%,to{box-shadow:0 0 20px #1677ff26,0 0 60px #1677ff0d}50%{box-shadow:0 0 30px #1677ff4d,0 0 80px #1677ff1a}}.login-page{display:flex;height:100vh;overflow:hidden;background:#080c17;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.login-brand{flex:0 0 61.8%;position:relative;background:#0a0f1f;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,black 30%,transparent 70%);mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,black 30%,transparent 70%)}.login-brand:after{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,rgba(100,160,255,.4),transparent)}.login-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}.login-orb--blue{width:420px;height:420px;background:#1677ff1f;top:-120px;right:-120px;animation:drift1 16s ease-in-out infinite}.login-orb--indigo{width:320px;height:320px;background:#4338ca1a;bottom:-100px;left:-80px;animation:drift2 14s ease-in-out infinite}.login-orb--cyan{width:200px;height:200px;background:#06b6d414;top:40%;left:50%;animation:drift3 18s ease-in-out infinite}.logo-wrapper{position:relative;z-index:2;margin-bottom:40px}.logo-ring{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:22px;border:1.5px solid rgba(255,255,255,.06)}.logo-ring:nth-child(2){top:-36px;right:-36px;bottom:-36px;left:-36px;border-radius:28px;border-color:#ffffff08}.logo-pulse{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:20px;background:#1677ff14;animation:pulse-ring 3s ease-in-out infinite}.logo-inner{position:relative;z-index:3;width:200px;min-height:64px;border-radius:16px;background:linear-gradient(145deg,#1677ff26,#1677ff0a);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;padding:16px;animation:badge-glow 3s ease-in-out infinite}.brand-text{position:relative;z-index:2;text-align:center}.brand-name{font-size:34px;font-weight:700;color:#fff;letter-spacing:3px;margin:0 0 14px;background:linear-gradient(135deg,#e8f0ff,#a0c4ff,#e8f0ff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 4s ease-in-out infinite}.brand-subtitle{font-size:15px;color:#fff6;margin:0 0 40px;line-height:1.8;letter-spacing:1px}.brand-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);font-size:12px;color:#ffffff59;letter-spacing:2px}.brand-badge-dot{width:6px;height:6px;border-radius:50%;background:#1677ff;box-shadow:0 0 8px #1677ff99}.login-form-panel{flex:1 1 38.2%;display:flex;justify-content:center;align-items:center;background:#0d1117;position:relative}.login-form-panel:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(22,119,255,.04) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.form-container{position:relative;z-index:1;width:100%;max-width:440px;padding:0 20px}.form-header{margin-bottom:36px}.form-header-icon{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:18px;background:linear-gradient(135deg,#1677ff1f,#1677ff0a);border:1px solid rgba(22,119,255,.1);margin-bottom:20px;color:#4096ff;font-size:20px}.form-header h2{font-size:28px;font-weight:700;color:#e8ecf1;margin:0 0 8px;letter-spacing:.5px}.form-header p{font-size:14px;color:#5a6070;margin:0}.form-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:36px 32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-card .ant-form-item{margin-bottom:22px}.form-card .ant-input-affix-wrapper{background:#ffffff08!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;height:50px!important;padding:0 16px!important;transition:all .25s!important}.form-card .ant-input-affix-wrapper:hover{border-color:#ffffff26!important;background:#ffffff0d!important}.form-card .ant-input-affix-wrapper:focus-within,.form-card .ant-input-affix-wrapper-focused{border-color:#1677ff66!important;background:#ffffff0a!important;box-shadow:0 0 0 3px #1677ff14!important}.form-card .ant-input{background:transparent!important;color:#e8ecf1!important;font-size:15px!important}.form-card .ant-input::placeholder{color:#3a4050!important}.form-card .ant-input-prefix{color:#4a5060!important;margin-right:12px!important}.form-card .ant-input-suffix{color:#4a5060!important}.login-btn{width:100%;height:50px;border-radius:12px;font-size:16px;font-weight:600;letter-spacing:2px;border:none;background:linear-gradient(135deg,#1677ff,#0958d9);color:#fff;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #1677ff40,0 1px 3px #1677ff1a}.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #1677ff66,0 2px 6px #1677ff33;background:linear-gradient(135deg,#4096ff,#1677ff)}.login-btn:active{transform:translateY(0)}.login-btn:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s}.login-btn:hover:after{left:100%}.login-btn.loading{pointer-events:none;opacity:.7}.form-footer{text-align:center;margin-top:28px;font-size:12px;color:#3a4050;letter-spacing:1.5px}.anim-brand{opacity:0;animation:enter-left .9s cubic-bezier(.16,1,.3,1) forwards}.anim-form-header{opacity:0;animation:enter-up .7s cubic-bezier(.16,1,.3,1) .15s forwards}.anim-form-card{opacity:0;animation:enter-scale .7s cubic-bezier(.16,1,.3,1) .3s forwards}.anim-form-footer{opacity:0;animation:enter-up .6s cubic-bezier(.16,1,.3,1) .5s forwards}@media(max-width:768px){.login-brand{display:none}.login-form-panel{flex:1 1 100%}}.logo-upload-item .logo-preview{width:102px;height:102px;object-fit:contain;border-radius:6px}.logo-upload-item .logo-clear{display:inline-block;margin-top:4px;font-size:12px;color:#999;cursor:pointer}.logo-upload-item .logo-clear:hover{color:#ff4d4f}/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.ant-card.visit-stats-card{position:relative;border-bottom:4px solid #1677ff;transition:transform .25s ease,box-shadow .25s ease,border-bottom-width .25s ease}.ant-card.visit-stats-card:hover{z-index:1;transform:translateY(-16px) scale(1.02);box-shadow:0 10px 20px #1677ff1a,0 22px 46px #1677ff33;border-bottom-width:6px}.portal-layout-nav{display:flex;align-items:center;justify-content:space-between;height:80px;padding:0 40px;border-bottom:1px solid #f0f0f0;background:#fff;box-shadow:0 2px 12px #0000000f}.portal-layout-nav-brand{display:flex;align-items:center;gap:10px;margin-right:32px;white-space:nowrap}.portal-layout-nav-brand-name{font-size:22px;font-weight:700;color:#1f2329}.portal-layout-nav-menu{display:flex;list-style:none;margin:0;padding:0;height:100%;flex:1}.portal-layout-nav-menu li{display:flex;align-items:center;padding:0 20px;height:100%;cursor:pointer;font-size:16px;color:#666;border-top:4px solid transparent;transition:all .2s}.portal-layout-nav-menu li:hover,.portal-layout-nav-menu li.active{color:#1668dc;background:#1668dc14;border-top-color:#1668dc}.portal-layout-nav-right{display:flex;align-items:center;gap:10px}.portal-layout-nav-phone{color:#444;font-size:15px;margin-right:6px}.portal-layout-footer-main{display:flex;justify-content:space-between;padding:28px 40px 16px}.portal-layout-footer-brand{display:flex;flex-direction:column;align-items:center;color:#ccc}.portal-layout-footer-qr{width:100px;height:100px;background:#ffffff14;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#888;font-size:12px;margin-bottom:10px}.portal-layout-footer-title{font-size:18px;color:#fff;padding-bottom:8px;margin-bottom:8px;border-bottom:3px solid #4c525e;width:170px;position:relative}.portal-layout-footer-title:after{content:"";position:absolute;bottom:-2px;left:0;width:80%;height:2px;background:#1668dc}.portal-layout-footer-links{list-style:none;padding:0;margin:0}.portal-layout-footer-links li{color:#ccc;font-size:13px;line-height:28px;cursor:pointer;transition:color .2s}.portal-layout-footer-links li:hover{color:#fff}.portal-layout-footer-divider{height:1px;background:#4c525e;margin:0 40px}.portal-layout-footer-bar{background:#111;height:50px;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px;gap:12px}.reg-success{max-width:600px;margin:60px auto;padding:0 20px}.reg-container{padding:30px 40px 40px}.reg-steps-card{margin-bottom:24px}.reg-token-bar{background:#f6f8fa;border:1px solid #e8e8e8;border-radius:8px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;margin:16px 0}.reg-token-bar code{color:#1668dc;font-size:15px}.reg-agreement{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:24px;max-height:320px;overflow:auto;font-size:14px;line-height:2;color:#555;margin-bottom:24px}.reg-choice-card{text-align:center;box-shadow:0 2px 8px #0000001a;border-radius:8px;cursor:pointer}.reg-choice-card .ant-card-body{padding:40px 30px}.reg-choice-icon{font-size:64px;margin-bottom:20px}.reg-choice-title{font-size:18px;margin-bottom:8px}.reg-choice-desc{color:#999;margin-bottom:24px}.reg-form-card{max-width:800px;margin:0 auto}.reg-form-card-sm{max-width:500px;margin:0 auto}.reg-step-nav,.reg-bottom-link{text-align:center;margin-top:24px}.reg-nested-card{margin-bottom:12px;background:#fafafa}.reg-hint{margin-top:4px;color:#999;font-size:12px}.reg-upload-ok{margin-top:8px;color:#52c41a;font-size:13px}.portal-content{padding:24px 40px 40px}.portal-banner{border-radius:8px;overflow:hidden;margin-bottom:16px}.portal-banner{aspect-ratio:4 / 3}.portal-banner .ant-carousel{height:100%}.portal-banner .slick-slider,.portal-banner .slick-list,.portal-banner .slick-track,.portal-banner .slick-slide,.portal-banner .slick-slide>div{height:100%}.portal-banner-img{width:100%;height:100%;object-fit:cover;display:block}.portal-home .ant-carousel .slick-dots li button{width:20px;height:20px;border-radius:50%;border:1px solid #b7b7b7}.portal-home .ant-carousel .slick-dots li.slick-active button{background:#006eb3;border:none}.announcement-header{display:flex;justify-content:space-between;background:#f9f9f9;padding:8px 24px;font-weight:700;color:#403938;margin-bottom:8px}.announcement-empty{text-align:center;padding:40px;color:#999;font-size:14px}.announcement-item{cursor:pointer;padding:8px 0;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;width:100%}.announcement-item .title{flex:1;color:#303133;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-item .date{width:90px;text-align:right;font-size:12px;color:#909299}.integrity-box{background:#fff;padding:14px;margin-bottom:16px;border-radius:8px}.integrity-box-inner{background:#edf5fc;padding:13px;border-radius:6px;display:flex;align-items:center;justify-content:space-between}.quick-entry{display:flex;align-items:center;width:48%;color:#fff;padding:12px;margin-bottom:10px;border-radius:6px;cursor:pointer;transition:transform .2s,box-shadow .2s,opacity .2s}.quick-entry:hover{opacity:.95;transform:translateY(-3px);box-shadow:0 6px 16px #0000002e}.quick-entry-icon{font-size:24px;margin-right:10px}.quick-entry-label{font-size:14px}.quick-entry-en{font-size:11px;opacity:.75}.portal-home .mb-card{margin-bottom:16px;transition:box-shadow .2s}.portal-home .mb-card:hover{box-shadow:0 4px 16px #00000014}
