.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);background-color:var(--el-message-bg-color);width:max-content;max-width:calc(100% - 32px);transition:opacity var(--el-transition-duration),transform .4s,top .4s,bottom .4s;padding:var(--el-message-padding);align-items:center;gap:8px;display:flex;position:fixed}.el-message.is-left{left:16px}.el-message.is-right{right:16px}.el-message.is-center{left:50%;transform:translate(-50%)}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--primary{--el-message-bg-color:var(--el-color-primary-light-9);--el-message-border-color:var(--el-color-primary-light-8);--el-message-text-color:var(--el-color-primary)}.el-message--primary .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--primary{color:var(--el-message-text-color)}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0}.el-message-fade-enter-from.is-left,.el-message-fade-enter-from.is-right,.el-message-fade-leave-to.is-left,.el-message-fade-leave-to.is-right{transform:translateY(-100%)}.el-message-fade-enter-from.is-left.is-bottom,.el-message-fade-enter-from.is-right.is-bottom,.el-message-fade-leave-to.is-left.is-bottom,.el-message-fade-leave-to.is-right.is-bottom{transform:translateY(100%)}.el-message-fade-enter-from.is-center,.el-message-fade-leave-to.is-center{transform:translate(-50%,-100%)}.el-message-fade-enter-from.is-center.is-bottom,.el-message-fade-leave-to.is-center.is-bottom{transform:translate(-50%,100%)}: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-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);max-width:var(--el-messagebox-width);width:100%;padding:var(--el-messagebox-padding-primary);vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-messagebox-box-shadow);text-align:left;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;overflow-wrap:break-word;display:inline-block;position:relative;overflow:hidden}.el-message-box:focus{outline:none!important}.is-message-box .el-overlay-message-box{text-align:center;padding:16px;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.is-message-box .el-overlay-message-box:after{content:"";vertical-align:middle;width:0;height:100%;display:inline-block}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size,16px))}.el-message-box__title{font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height);color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{width:40px;height:40px;font-size:var(--el-message-close-size,16px);cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;right:0}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;gap:12px;display:flex}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--primary{--el-messagebox-color:var(--el-color-primary);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{min-width:0;margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{padding-top:var(--el-messagebox-padding-primary);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.el-message-box--center .el-message-box__title{justify-content:center;align-items:center;gap:6px;display:flex}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.el-message-box-parent--hidden{overflow:hidden}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0)}}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{z-index:2000;background-color:var(--el-mask-color);transition:opacity var(--el-transition-duration);margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size)) / 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size)) / 2);text-align:center;width:100%;position:absolute;top:50%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);animation:2s linear infinite loading-rotate;display:inline}.el-loading-spinner .path{stroke-dasharray:90 150;stroke-dashoffset:0;stroke-width:2px;stroke:var(--el-color-primary);stroke-linecap:round;animation:1.5s ease-in-out infinite loading-dash}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-dash{0%{stroke-dasharray:1 200;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-40px}to{stroke-dasharray:90 150;stroke-dashoffset:-120px}}:root{font-family:Plus Jakarta Sans,PingFang SC,Microsoft YaHei,sans-serif;color:#1d2b25;background:#f1f1eb;--el-color-primary: #245b43;--forest: #163d2e;--gold: #bd8741;--muted: #718079;--line: #dfe2da}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f1f1eb}button,input{font:inherit}.shell{min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 18px 20px;display:flex;flex-direction:column;background:var(--forest);color:#f6f1e4}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px;border-bottom:1px solid #ffffff1c}.brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:13px;background:linear-gradient(145deg,#d0a45e,#a66d2d);color:#fff;font:22px "Noto Serif SC",serif;box-shadow:inset 0 1px #fff6}.brand strong{display:block;font:17px "Noto Serif SC",serif;letter-spacing:1px}.brand small{display:block;margin-top:3px;font-size:8px;letter-spacing:1.7px;color:#a8bcb2}.sidebar .el-menu{padding-top:24px;border:0;background:transparent}.sidebar .el-menu{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar .el-menu-item{height:57px;margin-bottom:6px;border-radius:12px;color:#aebfb6}.sidebar .el-menu-item:hover{background:#ffffff0b;color:#fff}.sidebar .el-menu-item.is-active{background:#f7f4e9;color:var(--forest)}.sidebar .el-menu-item .el-icon{font-size:19px}.sidebar .el-menu-item span b,.sidebar .el-menu-item span small{display:block;line-height:1.3}.sidebar .el-menu-item span b{font-size:13px}.sidebar .el-menu-item span small{margin-top:3px;font-size:9px;letter-spacing:1px;opacity:.62}.sidebar-foot{margin-top:auto;padding:16px 8px 0;border-top:1px solid #ffffff1c}.sidebar-foot .el-button{margin-left:-15px;color:#aebfb6}.environment{margin-bottom:9px;overflow:hidden;color:#b7c7bf;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.environment i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#6bce8e;box-shadow:0 0 0 4px #6bce8e1d}.topbar{height:92px;padding:0 38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbded6;background:#f7f6f1e8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.kicker{display:block;margin-bottom:4px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:2.4px}.topbar h1,.section-head h2,.login-card h2{margin:0;font-family:"Noto Serif SC",serif}.topbar h1{font-size:25px}.operator{display:flex;align-items:center;gap:10px}.operator span b,.operator span small{display:block}.operator span b{font-size:12px}.operator span small{margin-top:2px;color:var(--muted);font-size:10px}.operator .el-avatar{background:#d9e4dc;color:var(--forest)}.content{width:100%;max-width:1500px;margin:auto;padding:34px 38px 60px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2{margin-bottom:6px;font-size:22px}.section-head p{margin:0;color:var(--muted);font-size:12px}.head-actions{display:flex;gap:10px}.file-button{height:32px;padding:0 15px;display:inline-flex;align-items:center;border:1px solid var(--el-color-primary);border-radius:4px;background:var(--el-color-primary);color:#fff;font-size:12px;cursor:pointer}.file-button input{display:none}.head-actions .el-select{width:150px}.page-body{min-height:240px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-card{position:relative;min-height:164px;overflow:hidden;padding:21px;border:1px solid #e0e2dc;border-radius:17px;background:#faf9f5;color:#1d2b25;text-align:left;cursor:pointer;box-shadow:0 5px 20px #1f35290b}.metric-card:nth-child(2){background:#f5eee2}.metric-card:nth-child(3){background:#edf3ed}.metric-card:nth-child(4){background:#f4ecea}.metric-card:before{content:"";position:absolute;top:-45px;right:-35px;width:100px;height:100px;border-radius:50%;background:#163d2e0c}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card span{font-size:11px}.metric-card strong{display:block;margin:10px 0 5px;font:37px "Noto Serif SC",serif}.metric-card small,.metric-card i{font-size:10px}.metric-card i{position:absolute;right:19px;bottom:19px;color:var(--forest);font-style:normal;font-weight:700}.metric-card.static{min-height:125px;cursor:default}.metric-card.static strong{font-size:26px}.report-grid{grid-template-columns:repeat(4,1fr)}.trend-card{margin-top:16px;border-radius:17px;background:#faf9f5}.role-tag{margin:3px 5px 3px 0}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-top:16px}.dashboard-grid .el-card{border-radius:17px;background:#faf9f5}.panel-title{font:16px "Noto Serif SC",serif}.task-row{display:grid;grid-template-columns:1fr 45px 50px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:12px}.task-row:first-child{border-top:0}.task-row>b{font:18px "Noto Serif SC",serif}.assurance{margin:0;padding:0;list-style:none}.assurance li{padding:11px 0;color:#315e47;font-size:12px;border-top:1px solid var(--line)}.assurance li:first-child{border-top:0}.el-table{--el-table-bg-color: #faf9f5;--el-table-tr-bg-color: #faf9f5;border:1px solid var(--line);border-radius:15px;overflow:hidden}.el-table b,.el-table small{display:block}.el-table small{margin-top:4px;color:var(--muted);font-size:10px}.el-table .danger{color:#b44f43}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.product-card{border-radius:17px;background:#faf9f5}.product-icon{display:flex;justify-content:space-between;align-items:center}.product-icon>.el-icon{width:42px;height:42px;border-radius:12px;background:#e7ede7;color:var(--forest);font-size:20px}.product-card h3{margin:16px 0 4px;font:17px "Noto Serif SC",serif}.product-card p{margin:0;color:var(--muted);font-size:11px}.price{display:block;margin:14px 0;font-size:20px}.stock-row{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:13px;padding:13px 0;border-top:1px solid var(--line)}.stock-row span{text-align:center;border-right:1px solid var(--line)}.stock-row span:last-child{border:0}.stock-row b,.stock-row small{display:block}.stock-row b{font-size:16px}.stock-row small{color:var(--muted);font-size:9px}.full-button{width:100%}.login-page{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#f6f4ed}.login-visual{position:relative;overflow:hidden;padding:12vh 9vw;background:radial-gradient(circle at 68% 28%,#3d7158 0,#1d4a37 30%,#112f24 76%);color:#fff}.seal{display:grid;place-items:center;width:62px;height:62px;border:1px solid #d7ad6b;border-radius:50%;color:#edc47f;font:30px "Noto Serif SC",serif}.light{margin-top:12vh;color:#d3ad6b}.login-visual h1{margin:15px 0;font:clamp(34px,4vw,62px)/1.35 "Noto Serif SC",serif}.login-visual>p:last-of-type{color:#b9cdc3}.login-points{position:absolute;left:9vw;bottom:8vh;display:flex;gap:38px}.login-points span{color:#a9c1b5;font-size:11px}.login-points b{display:block;margin-bottom:3px;color:#fff;font-size:13px}.login-card{align-self:center;width:min(380px,82%);margin:auto}.login-card h2{margin:7px 0;font-size:29px}.login-card>.muted{margin:0 0 28px;color:var(--muted);font-size:11px;line-height:1.7}.login-card code{padding:2px 5px;border-radius:4px;background:#eef0eb}.login-card .el-form-item{display:block;margin-bottom:19px}.login-card .el-form-item__label{height:auto;margin-bottom:7px;font-size:11px;font-weight:700}.login-button{width:100%;height:46px;margin-top:22px}.login-card>small{display:block;margin-top:16px;color:var(--muted);font-size:9px;text-align:center}.mobile-brand{display:none}@media(max-width:1050px){.sidebar{width:82px!important;padding:24px 12px}.brand{justify-content:center;padding:0 0 24px}.brand>div,.sidebar .el-menu-item span,.sidebar-foot{display:none}.sidebar .el-menu-item{justify-content:center;padding:0}.metric-grid,.product-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.catalog-dialog{display:flex;width:calc(100vw - 24px)!important;max-height:92vh;margin:4vh auto!important;flex-direction:column}.catalog-dialog .el-dialog__body{min-height:0;overflow-y:auto;padding:12px 16px}.catalog-dialog .el-dialog__footer{flex:none;padding:12px 16px 16px}.login-page{display:block;padding:40px 0}.login-visual{display:none}.login-card{width:min(390px,88%);padding-top:8vh}.mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:48px}.sidebar{position:fixed;z-index:10;top:auto;bottom:0;width:100%!important;height:70px;padding:7px 10px}.sidebar .brand,.sidebar-foot{display:none}.sidebar .el-menu{display:flex;padding:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.sidebar .el-menu::-webkit-scrollbar{display:none}.sidebar .el-menu-item{flex:0 0 78px;flex-direction:column;gap:2px;height:55px;margin:0}.sidebar .el-menu-item .el-icon{margin-right:0}.sidebar .el-menu-item span{display:block;max-width:70px}.sidebar .el-menu-item span b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.sidebar .el-menu-item span small{display:none}.topbar{height:74px;padding:0 18px}.operator span{display:none}.content{padding:24px 16px 100px}.section-head{align-items:flex-start;flex-direction:column}.head-actions{width:100%}.head-actions .el-select{flex:1}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:145px;padding:17px}.dashboard-grid,.product-grid{grid-template-columns:1fr}}
