#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:solid 2px transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .spinner,.nprogress-custom-parent #nprogress .bar{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%}:root{--el-color-primary: #52c41a;--el-color-primary-light-3: #73d13d;--el-color-primary-light-5: #95de64;--el-color-primary-light-7: #d9f7be;--el-color-primary-light-9: #f6ffed;--el-color-primary-dark-2: #389e0d;--el-color-success: #52c41a;--el-color-warning: #faad14;--el-color-danger: #ff4d4f;--el-color-info: #1890ff;--el-text-color-primary: #333333;--el-text-color-regular: #666666;--el-text-color-secondary: #999999;--el-text-color-placeholder: #c0c4cc;--el-border-color: #e8e8e8;--el-border-color-light: #f0f0f0;--el-bg-color: #ffffff;--el-bg-color-page: #f5f5f5;--el-border-radius-base: 4px;--el-border-radius-small: 2px;--el-border-radius-round: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:14px;color:#333;background-color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#52c41a;text-decoration:none}a:hover{color:#73d13d}.el-button--primary{background-color:#52c41a;border-color:#52c41a}.el-button--primary:hover,.el-button--primary:focus{background-color:#73d13d;border-color:#73d13d}.el-button--primary:active{background-color:#389e0d;border-color:#389e0d}.el-button--default:hover,.el-button--default:focus{color:#52c41a;border-color:#95de64;background-color:#f6ffed}.el-input__wrapper{box-shadow:0 0 0 1px #e8e8e8 inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px #95de64 inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px #52c41a inset}.el-card{border:1px solid #f0f0f0;border-radius:8px;box-shadow:none}.el-card:hover{box-shadow:0 1px 2px #0000000d}.el-table{--el-table-header-bg-color: #fafafa;--el-table-row-hover-bg-color: #f6ffed}.el-table th.el-table__cell{font-weight:500;color:#333}.el-menu{border-right:none}.el-menu .el-menu-item:hover{background-color:#f6ffed}.el-menu .el-menu-item.is-active{color:#52c41a;background-color:#f6ffed}.el-menu .el-sub-menu__title:hover{background-color:#f6ffed}.el-tag--success{background-color:#f6ffed;color:#52c41a;border-color:#d9f7be}.el-pagination .el-pager li.is-active{background-color:#52c41a}.el-dialog{border-radius:8px}.el-dialog .el-dialog__header{padding:16px 20px;border-bottom:1px solid #f0f0f0;margin-right:0}.el-dialog .el-dialog__body{padding:20px}.el-dialog .el-dialog__footer{padding:12px 20px;border-top:1px solid #f0f0f0}.session-expired-dialog{width:min(420px,100vw - 24px);border-radius:14px;border:1px solid #dbeafe;box-shadow:0 18px 42px #0f172a29;overflow:hidden}.session-expired-dialog .el-message-box__header{padding:14px 18px 10px;background:linear-gradient(180deg,#f8fbff,#eef4ff);border-bottom:1px solid #dbeafe}.session-expired-dialog .el-message-box__title{color:#1e3a8a;font-size:15px;font-weight:700}.session-expired-dialog .el-message-box__content{padding:14px 18px 8px}.session-expired-dialog .el-message-box__message p{margin:0;color:#334155;font-size:14px;line-height:1.6;font-weight:500}.session-expired-dialog .el-message-box__btns{padding:10px 18px 16px;display:flex;justify-content:flex-end;gap:10px}.session-expired-dialog .el-button{min-width:90px;border-radius:9px;font-weight:600}.session-expired-dialog .el-button--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;box-shadow:0 6px 16px #2563eb3d}.session-expired-dialog .el-button--primary:hover{border-color:#1d4ed8;background:linear-gradient(135deg,#1d4ed8,#1e40af)}@media(max-width:480px){.hidden-xs{display:none!important}}@media(max-width:768px){.hidden-sm{display:none!important}}@media(min-width:769px){.hidden-md-up{display:none!important}}.visible-xs{display:none!important}@media(max-width:480px){.visible-xs{display:block!important}}.visible-sm{display:none!important}@media(max-width:768px){.visible-sm{display:block!important}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary,.text-success{color:#52c41a}.text-warning{color:#faad14}.text-danger{color:#ff4d4f}.text-secondary{color:#999}.bg-white{background-color:#fff}.bg-gray{background-color:#fafafa}.bg-primary-light{background-color:#f6ffed}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.p-8{padding:8px}.p-16{padding:16px}.p-24{padding:24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.animate-in{opacity:0;animation:fadeInUp .6s ease-out forwards}.animate-in-left{opacity:0;animation:fadeInLeft .6s ease-out forwards}.animate-in-right{opacity:0;animation:fadeInRight .6s ease-out forwards}.animate-in-scale{opacity:0;animation:scaleIn .5s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}#nprogress .bar{background:#52c41a;height:3px}#nprogress .peg{box-shadow:0 0 10px #52c41a,0 0 5px #52c41a}#nprogress .spinner-icon{border-top-color:#52c41a;border-left-color:#52c41a}.page-container{padding:16px}@media(max-width:768px){.page-container{padding:12px}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.page-header .page-title{font-size:18px;font-weight:500;color:#333}.search-form{background:#fff;padding:16px;border-radius:8px;margin-bottom:16px}.search-form .el-form-item{margin-bottom:16px}.search-form .el-form-item:last-child{margin-bottom:0}@media(max-width:768px){.search-form{padding:12px}.search-form .el-form-item{margin-bottom:12px}}.table-container{background:#fff;border-radius:8px;overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:12px}.pagination-container{display:flex;justify-content:flex-end;padding:16px}@media(max-width:768px){.pagination-container{justify-content:center}.pagination-container .el-pagination{flex-wrap:wrap;justify-content:center}}:root{--portal-accent-blue: #52c41a;--portal-accent-green: #10b981;--portal-accent-purple: #389e0d;--portal-accent-orange: #f59e0b;--portal-bg: #ffffff;--portal-card-bg: #ffffff;--portal-section-bg: #f8fafc;--portal-text-primary: #111827;--portal-text-secondary: #6b7280;--portal-text-muted: #9ca3af;--portal-border: #e5e7eb;--portal-border-light: #f3f4f6;--portal-radius-base: 8px;--portal-radius-lg: 12px;--portal-footer-bg: #1f2937;--portal-footer-text: #f9fafb;--portal-footer-text-secondary: #9ca3af;--portal-footer-border: #374151}.portal-page{min-height:100vh;display:flex;flex-direction:column;background:var(--portal-bg)}.portal-container{width:min(1200px,92%);margin:0 auto}
