:root{--el-color-white:#fff;--el-color-black:#000;--el-color-primary-rgb:64, 158, 255;--el-color-success-rgb:103, 194, 58;--el-color-warning-rgb:230, 162, 60;--el-color-danger-rgb:245, 108, 108;--el-color-error-rgb:245, 108, 108;--el-color-info-rgb:144, 147, 153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier), opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#fff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#fff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#fff;--el-box-shadow:0px 12px 32px 4px #0000000a, 0px 8px 20px #00000014;--el-box-shadow-light:0px 0px 12px #0000001f;--el-box-shadow-lighter:0px 0px 6px #0000001f;--el-box-shadow-dark:0px 16px 48px 16px #00000014, 0px 12px 32px #0000001f, 0px 8px 16px -8px #00000029;--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:#000c;--el-overlay-color-light:#000000b3;--el-overlay-color-lighter:#00000080;--el-mask-color:#ffffffe6;--el-mask-color-extra-light:#ffffff4d;--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;fill:currentColor;width:1em;height:1em;color:var(--color);line-height:1em;font-size:inherit;justify-content:center;align-items:center;display:inline-flex;position:relative}.el-icon.is-loading{animation:2s linear infinite rotating}.el-icon svg{width:1em;height:1em}.el-overlay{z-index:2000;background-color:var(--el-overlay-color-lighter);height:100%;position:fixed;inset:0;overflow:auto}.el-overlay .el-overlay-root{height:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color);position:fixed;top:0;left:0}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;padding:var(--el-dialog-padding-primary);width:var(--el-dialog-width,50%);overflow-wrap:break-word;position:relative}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{margin:0;position:fixed;inset:0;overflow:auto}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size,16px))}.el-dialog__headerbtn{cursor:pointer;width:48px;height:48px;font-size:var(--el-message-close-size,16px);background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding-top:var(--el-dialog-padding-primary);text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-modal-dialog.is-penetrable{pointer-events:none}.el-modal-dialog.is-penetrable .el-dialog{pointer-events:auto}.el-overlay-dialog{position:fixed;inset:0;overflow:auto}.el-overlay-dialog.is-closing .el-dialog{pointer-events:none}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:#ffffff80;--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);white-space:nowrap;cursor:pointer;height:32px;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;line-height:1;font-weight:var(--el-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);outline:none;justify-content:center;align-items:center;transition:all .1s;display:inline-flex}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:none}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:8px 15px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";border-radius:inherit;background-color:var(--el-mask-color-extra-light);position:absolute;inset:-1px}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-dashed{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary);border-style:dashed}.el-button.is-circle{border-radius:50%;width:32px;padding:8px}.el-button.is-text{color:var(--el-button-text-color);background-color:#0000;border:0 solid #0000}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset,outline}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{color:var(--el-button-text-color);background:0 0;border-color:#0000;height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button.is-link:not(.is-disabled):hover{background-color:#0000;border-color:#0000}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);background-color:#0000;border-color:#0000}.el-button--text{color:var(--el-color-primary);background:0 0;border-color:#0000;padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:#0000!important;border-color:#0000!important}.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);background-color:#0000;border-color:#0000}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);background-color:#0000;border-color:#0000}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-plain,.el-button--primary.is-text,.el-button--primary.is-link{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:hover,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--primary.is-dashed{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-text-color:var(--el-color-primary-dark-2);--el-button-active-bg-color:var(--el-color-primary-light-9);--el-button-active-border-color:var(--el-color-primary-dark-2)}.el-button--primary.is-dashed.is-disabled,.el-button--primary.is-dashed.is-disabled:hover,.el-button--primary.is-dashed.is-disabled:focus,.el-button--primary.is-dashed.is-disabled:active{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-plain,.el-button--success.is-text,.el-button--success.is-link{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:hover,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:active,.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--success.is-dashed{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-success);--el-button-hover-bg-color:var(--el-color-success-light-9);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-text-color:var(--el-color-success-dark-2);--el-button-active-bg-color:var(--el-color-success-light-9);--el-button-active-border-color:var(--el-color-success-dark-2)}.el-button--success.is-dashed.is-disabled,.el-button--success.is-dashed.is-disabled:hover,.el-button--success.is-dashed.is-disabled:focus,.el-button--success.is-dashed.is-disabled:active{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-plain,.el-button--warning.is-text,.el-button--warning.is-link{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:hover,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--warning.is-dashed{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-warning);--el-button-hover-bg-color:var(--el-color-warning-light-9);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-text-color:var(--el-color-warning-dark-2);--el-button-active-bg-color:var(--el-color-warning-light-9);--el-button-active-border-color:var(--el-color-warning-dark-2)}.el-button--warning.is-dashed.is-disabled,.el-button--warning.is-dashed.is-disabled:hover,.el-button--warning.is-dashed.is-disabled:focus,.el-button--warning.is-dashed.is-disabled:active{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-plain,.el-button--danger.is-text,.el-button--danger.is-link{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:hover,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--danger.is-dashed{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-danger);--el-button-hover-bg-color:var(--el-color-danger-light-9);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-text-color:var(--el-color-danger-dark-2);--el-button-active-bg-color:var(--el-color-danger-light-9);--el-button-active-border-color:var(--el-color-danger-dark-2)}.el-button--danger.is-dashed.is-disabled,.el-button--danger.is-dashed.is-disabled:hover,.el-button--danger.is-dashed.is-disabled:focus,.el-button--danger.is-dashed.is-disabled:active{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-plain,.el-button--info.is-text,.el-button--info.is-link{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:hover,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:active,.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--info.is-dashed{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-info);--el-button-hover-bg-color:var(--el-color-info-light-9);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-text-color:var(--el-color-info-dark-2);--el-button-active-bg-color:var(--el-color-info-light-9);--el-button-active-border-color:var(--el-color-info-dark-2)}.el-button--info.is-dashed.is-disabled,.el-button--info.is-dashed.is-disabled:hover,.el-button--info.is-dashed.is-disabled:focus,.el-button--info.is-dashed.is-disabled:active{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:5px 11px;font-size:12px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}:root{--ink: #183c32;--ink-deep: #102b25;--paper: #f4f0e6;--paper-light: #fbf8f0;--sun: #f2b744;--brick: #c45a3d;--mint: #9fb9a9;--line: rgba(24, 60, 50, .16);--shadow: 0 18px 50px rgba(16, 43, 37, .12);--display: "Songti SC", "STSong", "Noto Serif SC", serif;--body: "LXGW WenKai", "Kaiti SC", "STKaiti", sans-serif;font-family:var(--body);color:var(--ink-deep);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}a{color:inherit;text-decoration:none}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(24,60,50,.15) .55px,transparent .55px);background-size:5px 5px;z-index:100}.app-shell{min-height:100vh}.topbar{height:76px;padding:0 max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f4f0e6db;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}.wordmark{display:flex;align-items:center;gap:11px}.wordmark-seal{width:38px;height:38px;display:grid;place-items:center;background:var(--ink);color:var(--paper-light);border-radius:3px 10px 3px 3px;font:700 22px var(--display);transform:rotate(-2deg)}.wordmark b{display:block;font:700 20px var(--display);letter-spacing:.15em}.wordmark small{display:block;color:#60756d;margin-top:1px;letter-spacing:.06em}.topbar-actions{display:flex;align-items:center;gap:10px}.student-chip{padding:7px 13px;border:1px solid var(--line);border-radius:99px;font-size:13px}.page-frame{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:56px 0 120px}.bottom-nav{display:none}.page-enter{animation:rise-in .55s cubic-bezier(.2,.75,.25,1) both}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}}.eyebrow,.card-kicker{margin:0 0 12px;font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;color:var(--brick)}.page-title{max-width:700px;margin-bottom:38px}.page-title h1{margin:0 0 10px;font:700 clamp(36px,5vw,62px)/1.08 var(--display);letter-spacing:-.04em}.page-title>p:last-child{margin:0;color:#64766f;font-size:16px;line-height:1.8}.page-title--row{max-width:none;display:flex;justify-content:space-between;align-items:flex-end}.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);overflow:hidden;position:relative}.login-grain{position:absolute;inset:0;opacity:.13;background:repeating-linear-gradient(99deg,transparent 0 18px,rgba(255,255,255,.08) 19px,transparent 20px)}.login-story{min-height:100vh;padding:clamp(38px,7vw,100px);display:flex;flex-direction:column;justify-content:center;color:var(--paper-light);position:relative}.login-mark{position:absolute;top:42px;left:clamp(38px,7vw,100px);font:600 11px ui-monospace,monospace;letter-spacing:.18em;color:#b9c9c2}.login-mark span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:9px;border:1px solid var(--sun);color:var(--sun);font:700 19px var(--display)}.login-story .eyebrow{color:var(--sun)}.login-story h1{margin:0;font:700 clamp(54px,7vw,104px)/.98 var(--display);letter-spacing:-.07em}.login-story h1 em{color:var(--sun);font-style:normal}.login-lead{max-width:560px;margin:34px 0 0;color:#c5d2cc;line-height:1.9;font-size:17px}.spine-stack{width:min(510px,80%);display:grid;gap:5px;margin-top:58px;transform:rotate(-2deg)}.spine-stack i{height:22px;display:flex;align-items:center;padding:0 14px;font:700 9px ui-monospace,monospace;letter-spacing:.22em;font-style:normal;background:#d8d0bb;color:var(--ink)}.spine-stack i:nth-child(2){width:86%;margin-left:12%;background:var(--brick);color:#fff}.spine-stack i:nth-child(3){width:72%;margin-left:4%;background:var(--sun)}.login-panel{display:grid;place-items:center;padding:40px;background:var(--paper);position:relative}.login-panel:before{content:"";position:absolute;inset:22px;border:1px solid var(--line)}.login-card{width:min(440px,100%);position:relative;z-index:1;padding:52px;background:var(--paper-light);box-shadow:var(--shadow);border-top:5px solid var(--brick)}.login-card h2{font:700 36px var(--display);margin:0 0 8px}.login-card>p:not(.card-kicker):not(.privacy-note){margin:0 0 32px;color:#65746f}.login-card label{display:block;margin:0 0 8px;font-weight:700;font-size:13px}.login-card form{display:grid;gap:18px}.login-card .el-input__wrapper{border-radius:3px;box-shadow:0 0 0 1px var(--line) inset;background:#fff}.ink-button.el-button{width:100%;border-radius:3px;background:var(--ink);border-color:var(--ink);font-weight:700}.ink-button.el-button:hover{background:var(--brick);border-color:var(--brick);transform:translateY(-1px)}.privacy-note{margin:28px 0 0!important;display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#76817d!important}.ticket-notch{position:absolute;top:52%;width:20px;height:20px;border-radius:50%;background:var(--paper)}.ticket-notch--left{left:-10px}.ticket-notch--right{right:-10px}.login-simple{min-height:100vh;padding:28px;display:grid;place-items:center;background:#f5f3ec}.login-simple__card{width:min(430px,100%);border:1px solid var(--line);background:#fffdf8}.login-simple__brand{min-height:104px;padding:24px 30px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.login-simple__brand>span{width:46px;height:46px;display:grid;place-items:center;border-radius:5px;background:var(--ink);color:#fff;font:700 24px var(--display)}.login-simple__brand h1{margin:0;font:700 25px var(--display);letter-spacing:.03em}.login-simple__brand p{margin:3px 0 0;color:#718079;font-size:13px}.login-simple__body{padding:34px 30px 30px}.login-simple__body h2{margin:0 0 7px;font:700 28px var(--display)}.login-simple__body>p{margin:0 0 28px;color:#687871}.login-simple__body form{display:grid;gap:14px}.login-simple__body label{font-size:13px;font-weight:700}.login-simple__body .el-input__wrapper{border-radius:3px;background:#fff}.login-simple__body .privacy-note{margin:22px 0 0!important}.hero-card{min-height:440px;padding:clamp(38px,6vw,74px);display:flex;align-items:center;justify-content:space-between;gap:40px;overflow:hidden;background:var(--ink);color:var(--paper-light);border-radius:3px 54px 3px 3px;position:relative}.hero-card:before{content:"262";position:absolute;right:-10px;bottom:-74px;font:800 260px/1 var(--display);color:#ffffff09}.hero-copy{max-width:630px;position:relative;z-index:2}.hero-copy .eyebrow{color:var(--sun)}.hero-copy h1{margin:0;font:700 clamp(42px,6vw,75px)/1.02 var(--display);letter-spacing:-.055em}.hero-copy h1 span{color:var(--sun)}.hero-copy>p:not(.eyebrow){max-width:570px;margin:24px 0 28px;color:#c2d0ca;line-height:1.8}.sun-button.el-button{background:var(--sun);color:var(--ink-deep);border:0;border-radius:3px;font-weight:800;padding-inline:24px}.sun-button.el-button:hover{background:#ffca60;transform:translateY(-2px)}.hero-book{width:210px;height:285px;position:relative;flex:0 0 auto;transform:rotate(7deg);filter:drop-shadow(-18px 25px 17px rgba(0,0,0,.22))}.hero-book__cover{height:100%;padding:25px;display:flex;flex-direction:column;background:var(--brick);border-radius:2px 12px 4px 2px;border-left:10px solid #8e3827;position:relative;z-index:2}.hero-book__cover span{font:800 57px/1 var(--display);color:var(--sun)}.hero-book__cover b{margin-top:auto;font:800 23px/1.1 ui-monospace,monospace}.hero-book__cover small{margin-top:12px;font:700 8px ui-monospace,monospace;letter-spacing:.15em}.hero-book__pages{position:absolute;left:10px;right:-8px;bottom:-8px;height:15px;background:repeating-linear-gradient(#e7ddc4 0 2px,#bbb39d 3px 3px);transform:skew(40deg)}.catalog-alert{margin-top:20px;border:1px solid #e2c47f;background:#fff6d9}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:30px 0 76px;border:1px solid var(--line);background:var(--paper-light)}.stat-grid article{padding:25px 28px;border-right:1px solid var(--line)}.stat-grid article:last-child{border:0}.stat-grid article.accent{background:#e9f0eb}.stat-grid small,.stat-grid span{display:block;color:#667871}.stat-grid strong{display:inline-block;margin:7px 7px 3px 0;font:700 38px var(--display)}.section-block{margin-top:62px}.section-heading{display:flex;align-items:flex-end;gap:24px;margin-bottom:24px}.section-heading h2{margin:0;font:700 32px var(--display)}.section-heading .rule{flex:1;height:1px;background:var(--line);margin-bottom:8px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.steps-grid article{padding:30px;border-right:1px solid var(--line);position:relative}.steps-grid article:last-child{border:0}.steps-grid article>span{position:absolute;top:14px;right:18px;font:700 11px ui-monospace,monospace;color:var(--brick)}.steps-grid .el-icon{font-size:28px;color:var(--brick)}.steps-grid h3{font:700 22px var(--display);margin:28px 0 8px}.steps-grid p{color:#64756f;line-height:1.7;margin:0}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:24px;align-items:stretch}.scanner-card{min-height:460px;background:var(--ink-deep);color:#fff;overflow:hidden;position:relative}.camera-idle{height:100%;min-height:460px;padding:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 43%,#285348,var(--ink-deep) 65%)}.camera-idle h2{font:700 31px var(--display);margin:30px 0 7px}.camera-idle p{color:#bacbc4;max-width:400px;line-height:1.7;margin:0 0 25px}.camera-idle small{display:flex;align-items:center;gap:5px;margin-top:20px;color:#8ca59c}.barcode-art{display:flex;gap:4px;align-items:center;height:88px;padding:10px 16px;border:1px solid rgba(255,255,255,.2)}.barcode-art i{width:2px;height:55px;background:var(--paper)}.barcode-art i:nth-child(3n){width:5px}.barcode-art i:nth-child(4n){height:68px}.barcode-art i:nth-child(5n){width:3px;height:45px}.video-wrap,.video-wrap video{width:100%;min-height:460px;height:100%}.video-wrap video{display:block;object-fit:cover}.scan-frame{position:absolute;inset:20% 12%;border:2px solid rgba(255,255,255,.85);border-radius:10px;box-shadow:0 0 0 999px #05141073}.scan-frame:after{content:"";position:absolute;left:4%;right:4%;top:50%;height:2px;background:var(--sun);box-shadow:0 0 12px var(--sun);animation:scanline 2s ease-in-out infinite}.scan-frame span{position:absolute;left:50%;bottom:-46px;transform:translate(-50%);white-space:nowrap;font-size:13px}.scan-frame i{position:absolute;inset:-3px;border:5px solid transparent;border-top-color:var(--sun);border-bottom-color:var(--sun);border-radius:10px}.close-camera{position:absolute;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:50%;color:#fff;background:#0000008c;font-size:20px}@keyframes scanline{0%,to{transform:translateY(-80px)}50%{transform:translateY(80px)}}.manual-card{padding:38px;background:var(--paper-light);border:1px solid var(--line);position:relative}.manual-number{position:absolute;top:-18px;left:30px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--brick);color:#fff;font-weight:700}.manual-card h2{font:700 27px var(--display);margin:0 0 10px}.manual-card>p:not(.card-kicker){color:#687972;line-height:1.7}.manual-card form{display:grid;gap:12px;margin-top:30px}.manual-card .el-button{width:100%}.scan-receipt{margin-top:24px;padding:20px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#e5eee8;border-left:4px solid #4e8e6d}.scan-receipt>.el-icon{font-size:28px;color:#4e8e6d}.scan-receipt div *{display:block}.scan-receipt strong{font-family:var(--display);font-size:18px}.scan-receipt small,.scan-receipt span{color:#698078;font-size:12px}.scan-receipt>b{font:700 26px var(--display)}.cover-dialog-copy{display:flex;gap:15px;align-items:flex-start;color:#60736c;line-height:1.7}.cover-dialog-copy .el-icon{color:var(--brick);font-size:30px;flex:none}.cover-dialog-copy p{margin:0}.file-picker{margin-top:20px;min-height:110px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;border:1px dashed #9bada6;background:#f7f5ed;cursor:pointer}.file-picker input{position:absolute;opacity:0;pointer-events:none}.file-picker .el-icon{font-size:25px;color:var(--brick)}.dialog-hint{margin:-5px 0 18px;color:#65766f;line-height:1.7}.dialog-hint code{padding:2px 5px;border-radius:3px;background:#edf0ec;color:var(--ink);font:12px ui-monospace,monospace}.candidate-list,.variant-options{display:grid;gap:10px}.candidate-list button,.variant-options button{width:100%;border:1px solid var(--line);background:var(--paper-light);color:var(--ink-deep);cursor:pointer;text-align:left;transition:border-color .2s,transform .2s}.candidate-list button{min-height:74px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px}.candidate-list button:hover,.variant-options button:hover{border-color:var(--ink);transform:translateY(-1px)}.candidate-list span,.candidate-list span>*{display:block}.candidate-list b{font:700 16px var(--display)}.candidate-list small{margin-top:5px;color:#7b8983;font:10px ui-monospace,monospace}.candidate-list em{flex:none;padding:4px 7px;border-radius:99px;background:#e2ece6;color:#47705d;font-size:11px;font-style:normal}.variant-options button{min-height:84px;padding:12px 16px 12px 12px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px}.variant-options button>i{width:42px;height:58px;border-radius:2px 7px 2px 2px;background:var(--volume-color);box-shadow:inset 6px 0 #0000002b}.variant-options span>*{display:block}.variant-options b{font:700 19px var(--display)}.variant-options small{margin-top:5px;color:#78867f}.book-total{display:flex;align-items:baseline;gap:5px}.book-total strong{font:700 60px/1 var(--display);color:var(--brick)}.book-total span{color:#6b7c75}.shelf-list{display:grid;gap:12px}.shelf-item{padding:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:var(--paper-light);border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.shelf-item:hover{transform:translateY(-2px);box-shadow:0 12px 25px #14302914}.book-cover{width:78px;height:104px;flex:none;overflow:hidden;background:var(--brick);box-shadow:-5px 7px #dacfb9;position:relative}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover__fallback{width:100%;height:100%;padding:10px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;border-left:6px solid rgba(0,0,0,.22)}.book-cover__fallback span{font:700 35px var(--display);color:var(--sun)}.book-cover__fallback small{font:700 8px ui-monospace,monospace;letter-spacing:.13em}.book-cover__volume{position:absolute;top:5px;right:5px;width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 2px 7px #00000038;font:800 12px var(--display)}.book-cover--small{width:58px;height:78px}.book-cover--small .book-cover__fallback span{font-size:24px}.book-cover--small .book-cover__volume{top:3px;right:3px;width:20px;height:20px;font-size:10px}.shelf-item__info h2{margin:5px 0;font:700 22px var(--display)}.shelf-item__info p{margin:0 0 6px;color:#677a72}.shelf-item__info p span{margin:0 7px}.shelf-item__info small{color:#89958f;font:11px ui-monospace,monospace}.tiny-tag{display:inline-block;padding:3px 7px;background:#fff0c9;color:#855a07;font-size:10px;border-radius:2px}.quantity-control{display:grid;gap:6px;justify-items:end}.quantity-control label{font-size:12px;color:#73827c}.volume-label{display:inline-block;margin-left:9px;padding:3px 7px;vertical-align:middle;border:1px solid var(--line);border-radius:99px;color:#557067;font:700 11px var(--body)}.finish-panel{margin-top:30px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:#fff}.finish-panel>div{display:flex;align-items:center;gap:16px}.finish-panel>div>.el-icon{font-size:32px;color:var(--sun)}.finish-panel span *{display:block}.finish-panel small{color:#acbeb7;margin-top:4px}.not-finalized{padding:40px;display:flex;align-items:center;gap:25px;background:var(--paper-light);border:1px solid var(--line)}.not-finalized .big-glyph{width:75px;height:75px;display:grid;place-items:center;background:var(--brick);color:#fff;font:700 38px var(--display);transform:rotate(-3deg)}.not-finalized div{flex:1}.not-finalized h2{font:700 25px var(--display);margin:0}.not-finalized p{color:#687971;margin:7px 0 0}.result-summary{min-height:160px;padding:30px 35px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;background:#fff4d8;border:1px solid #e6c673;position:relative}.result-summary.complete{background:#e4eee8;border-color:#93b4a1}.result-summary__stamp{width:80px;height:80px;display:grid;place-items:center;border:2px dashed var(--brick);border-radius:50%;color:var(--brick);transform:rotate(-8deg)}.complete .result-summary__stamp{border-color:#3f8061;color:#3f8061}.result-summary__stamp .el-icon{font-size:42px}.result-summary small{color:#7d8174}.result-summary h2{margin:4px 0;font:700 29px var(--display)}.result-summary p{margin:0;color:#68756d}.receipt-id{align-self:start;font:700 10px ui-monospace,monospace;letter-spacing:.15em;color:#9b8660}.missing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.missing-card{padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:var(--paper-light);border:1px solid var(--line)}.missing-card h3{font:700 18px var(--display);margin:0 0 4px}.missing-card small{color:#8a9691;font:10px ui-monospace,monospace}.missing-card p{margin:9px 0 0;color:var(--brick);font-weight:700;font-size:13px}.match-list{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.match-ticket{min-height:145px;padding:25px;display:grid;grid-template-columns:95px 1fr auto;align-items:center;gap:18px;color:#fff;background:var(--brick);position:relative;overflow:hidden}.match-ticket:after{content:"";position:absolute;top:-10px;bottom:-10px;left:110px;border-left:2px dashed rgba(255,255,255,.35)}.match-ticket--donor{background:var(--ink)}.match-ticket__role{font:700 15px var(--display);text-align:center}.match-ticket small{font:700 9px ui-monospace,monospace;opacity:.68}.match-ticket h3{margin:5px 0 12px;font:700 20px var(--display)}.match-ticket p{margin:0;opacity:.9}.match-ticket .el-icon{font-size:24px}.gender-dialog .el-dialog__body>p{margin:0 0 20px;color:#61736b;line-height:1.7}.gender-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gender-options button{min-height:104px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:4px;background:var(--paper-light);color:var(--ink);cursor:pointer}.gender-options button:hover{border-color:var(--ink);background:#e9efeb}.gender-options b{font:700 21px var(--display)}.gender-options span{color:#708079;font-size:12px}.admin-entry.el-button{color:var(--ink);font-weight:700}.admin-page{--admin-line: rgba(20,43,37,.14)}.admin-unlock{width:min(460px,100%);margin:7vh auto 0;padding:45px 42px 30px;background:#fffdf8;border:1px solid var(--admin-line);border-top:5px solid var(--ink);box-shadow:var(--shadow);text-align:center}.admin-unlock__mark{width:68px;height:68px;margin:-82px auto 28px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--sun);box-shadow:0 0 0 8px var(--paper)}.admin-unlock__mark .el-icon{font-size:29px}.admin-unlock h1{margin:0 0 10px;font:700 31px var(--display)}.admin-unlock>p:not(.eyebrow){margin:0 auto 25px;color:#66776f;line-height:1.75}.admin-unlock form{display:grid;gap:12px;margin-bottom:12px}.admin-head{margin-bottom:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:34px}.admin-head h1{margin:0 0 9px;font:700 clamp(34px,5vw,58px)/1.05 var(--display);letter-spacing:-.045em}.admin-head>div:first-child>p:last-child{margin:0;color:#66776f}.admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.data-freshness{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#6d7d76;font-size:12px}.data-freshness i{width:7px;height:7px;border-radius:50%;background:#3f8b65;box-shadow:0 0 0 4px #3f8b651f}.admin-metrics{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--admin-line);background:#fffdf8}.admin-metrics article{min-width:0;padding:21px 18px;border-right:1px solid var(--admin-line)}.admin-metrics article:last-child{border:0}.admin-metrics article.alert{color:#a73f2a;background:#fff0e9}.admin-metrics small{display:block;color:#708078;font-size:11px}.admin-metrics strong{display:inline-block;margin:6px 5px 0 0;font:700 34px/1 var(--display)}.admin-metrics span{color:#718078;font-size:12px}.attention-strip{margin:14px 0 30px;padding:14px 18px;display:flex;align-items:center;gap:13px;background:#fff0d1;border-left:4px solid var(--sun)}.attention-strip.clear{background:#e6efe9;border-color:#4c8b6a}.attention-strip>.el-icon{flex:none;font-size:24px;color:#a86512}.attention-strip.clear>.el-icon{color:#3f7d5e}.attention-strip div>*{display:block}.attention-strip b{font-size:14px}.attention-strip span{margin-top:3px;color:#746c59;font-size:12px}.admin-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--ink)}.admin-tabs button{flex:none;min-width:145px;padding:14px 18px;border:0;border-right:1px solid var(--admin-line);background:transparent;color:#66766f;cursor:pointer;text-align:left;font-weight:700}.admin-tabs button span{margin-left:5px;color:#8b9791;font:10px ui-monospace,monospace}.admin-tabs button.active{background:var(--ink);color:#fff}.admin-tabs button.active span{color:var(--sun)}.admin-board{min-height:390px;background:#fffdf8;border:1px solid var(--admin-line);border-top:0}.admin-toolbar{padding:16px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--admin-line)}.admin-toolbar .el-input{max-width:390px}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}.admin-table th{padding:12px 15px;background:#eef0ea;color:#697870;text-align:left;font-size:11px;letter-spacing:.04em}.admin-table td{padding:14px 15px;border-top:1px solid var(--admin-line);vertical-align:middle}.admin-table tbody tr:hover{background:#f7f3e9}.admin-table td>b,.admin-table td>small{display:block}.admin-table td>small{margin-top:4px;color:#85918c;font-size:10px}.admin-table td small em{margin-left:7px;padding:2px 5px;background:#e6ece8;color:#49685b;font-style:normal}.admin-table code{color:#345649;font:11px ui-monospace,monospace}.admin-table .danger,.book-audit-list .danger{color:#b74730;font-weight:800}.status-pill{display:inline-block;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800}.status-pill.not_started{background:#ecebe6;color:#707872}.status-pill.draft{background:#fff0cb;color:#8c6012}.status-pill.finalized{background:#dfede5;color:#357056}.book-audit-list{display:grid}.book-audit-list article{min-width:0;padding:15px 18px;display:grid;grid-template-columns:auto minmax(220px,1.4fr) minmax(430px,2fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--admin-line)}.book-audit-list article:last-child{border-bottom:0}.book-audit-name b,.book-audit-name small{display:block}.book-audit-name b{font:700 16px var(--display)}.book-audit-name b span{color:#487060}.book-audit-name small{margin-top:5px;color:#85918c;font:10px ui-monospace,monospace}.book-audit-list dl{margin:0;display:grid;grid-template-columns:repeat(5,1fr)}.book-audit-list dl div{padding:0 12px;border-left:1px solid var(--admin-line)}.book-audit-list dt{color:#77857f;font-size:10px}.book-audit-list dd{margin:4px 0 0;font:700 20px var(--display)}.cover-state{padding:4px 7px;background:#fff0df;color:#a35a25;font-size:10px}.cover-state.done{background:#dfede5;color:#347056}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{min-height:58px;padding:12px 18px;display:grid;grid-template-columns:90px 95px 1fr 110px;gap:15px;align-items:center;border-bottom:1px solid var(--admin-line)}.activity-list time,.activity-origin small{color:#7c8983;font:10px ui-monospace,monospace}.activity-list span{color:#426555;font-size:12px;font-weight:800}.activity-list b{font-size:13px}.activity-origin{min-width:110px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.activity-origin code{padding:2px 5px;background:#e6ece8;color:#49685b;font:9px ui-monospace,monospace;white-space:nowrap}.el-button,.el-input__wrapper,.el-dialog,.el-alert,.el-tag{--el-border-radius-base: 3px}.el-button{transition:all .2s ease}.el-button--primary{--el-button-bg-color: var(--ink);--el-button-border-color: var(--ink);--el-button-hover-bg-color: #285848;--el-button-hover-border-color: #285848}.el-message-box{max-width:calc(100vw - 32px)}@media(max-width:820px){.login-page{grid-template-columns:1fr;background:var(--paper)}.login-story{min-height:390px;padding:76px 28px 38px}.login-mark{top:24px;left:28px}.login-story h1{font-size:clamp(48px,15vw,68px)}.login-lead{font-size:14px;margin-top:22px}.spine-stack{display:none}.login-panel{padding:28px 20px 55px}.login-panel:before{inset:10px}.login-card{padding:35px 26px}.login-simple{padding:18px}.login-simple__brand{padding:22px}.login-simple__body{padding:30px 22px 24px}.topbar{height:64px;padding:0 18px}.wordmark small,.student-chip{display:none}.page-frame{width:calc(100% - 32px);padding:34px 0 105px}.bottom-nav{position:fixed;z-index:60;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:66px;padding:6px;display:grid;grid-template-columns:repeat(var(--nav-count,4),1fr);background:#102b25f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px 8px 20px 20px;box-shadow:0 10px 30px #0d231d47}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#a9bbb4;font-size:10px;border-radius:5px}.nav-link .el-icon{font-size:20px}.nav-link.router-link-exact-active{background:var(--sun);color:var(--ink-deep);font-weight:800}.hero-card{min-height:465px;padding:38px 26px;border-radius:2px 36px 2px 2px;align-items:flex-start}.hero-copy h1{font-size:44px}.hero-book{position:absolute;width:114px;height:155px;right:21px;bottom:26px;opacity:.85}.hero-book__cover{padding:12px;border-left-width:6px}.hero-book__cover span{font-size:30px}.hero-book__cover b{font-size:12px}.hero-book__cover small{font-size:5px}.stat-grid{grid-template-columns:repeat(2,1fr);margin-bottom:50px}.stat-grid article{border-bottom:1px solid var(--line);padding:19px}.stat-grid article:nth-child(2){border-right:0}.stat-grid article:nth-child(3),.stat-grid article:nth-child(4){border-bottom:0}.steps-grid{grid-template-columns:1fr}.steps-grid article{border-right:0;border-bottom:1px solid var(--line);padding:25px 12px}.steps-grid article:last-child{border:0}.scanner-layout{grid-template-columns:1fr}.scanner-card,.camera-idle,.video-wrap,.video-wrap video{min-height:390px}.camera-idle{padding:28px}.manual-card{padding:30px 24px}.page-title--row{align-items:flex-start}.book-total strong{font-size:45px}.shelf-item{grid-template-columns:auto 1fr;gap:16px;padding:16px}.quantity-control{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;justify-items:start;width:100%;border-top:1px solid var(--line);padding-top:14px}.quantity-control .el-input-number{justify-self:end}.finish-panel{align-items:stretch;flex-direction:column}.not-finalized{flex-wrap:wrap;padding:26px}.not-finalized .big-glyph{width:58px;height:58px}.not-finalized div{min-width:calc(100% - 90px)}.not-finalized .el-button{width:100%}.result-summary{grid-template-columns:auto 1fr;padding:24px}.result-summary__stamp{width:60px;height:60px}.result-summary__stamp .el-icon{font-size:31px}.receipt-id{position:absolute;top:13px;right:13px}.result-summary p{font-size:13px}.missing-grid,.match-list{grid-template-columns:1fr}.match-ticket{grid-template-columns:80px 1fr auto}.match-ticket:after{left:95px}.admin-entry.el-button{display:none}.admin-unlock{margin-top:8vh;padding:42px 24px 25px}.admin-head{align-items:flex-start;flex-direction:column;gap:20px}.admin-actions{width:100%;justify-content:flex-start}.data-freshness{justify-content:flex-start}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-metrics article{border-bottom:1px solid var(--admin-line)}.admin-metrics article:nth-child(2n){border-right:0}.attention-strip{align-items:flex-start}.admin-tabs button{min-width:125px;padding-inline:14px}.admin-toolbar{align-items:stretch;flex-direction:column}.admin-toolbar .el-input{max-width:none}.book-audit-list article{grid-template-columns:auto 1fr auto;align-items:start}.book-audit-list dl{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--admin-line)}.book-audit-list dl div{padding:0 7px;text-align:center}.activity-list li{grid-template-columns:72px 75px 1fr;gap:8px}.activity-origin{grid-column:3;min-width:0;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
