:root{--brand-primary: #1fa97b;--brand-primary-bright: #33cc99;--brand-primary-deep: #127a5c;--brand-primary-deeper: #0c5a44;--brand-primary-light: #33cc99;--brand-primary-lighter: #7fe8c6;--brand-primary-soft: #e9fbf4;--brand-accent: #ff6600;--brand-accent-light: #ff9a57;--brand-accent-soft: #fff0e6;--brand-gold: #f6c11d;--brand-gold-light: #ffd964;--brand-gold-soft: #fef8de;--brand-ink: #15201c;--brand-text: #4c5f58;--brand-text-weak: #8b9c95;--brand-line: #e6eee9;--brand-bg: #f4f8f6;--brand-grad: linear-gradient(135deg, #127a5c 0%, #1fa97b 46%, #33cc99 100%);--brand-grad-bright: linear-gradient(135deg, #1fa97b 0%, #33cc99 52%, #7fe8c6 100%);--brand-grad-warm: linear-gradient(135deg, #ff6600 0%, #ff9a57 100%);--brand-grad-gold: linear-gradient(135deg, #d9a400 0%, #f6c11d 100%);--brand-sidebar: #0e3a35;--brand-shadow: 0 4px 16px rgba(31, 169, 123, .1);--brand-shadow-accent: 0 4px 16px rgba(255, 102, 0, .12);--el-color-primary: #1fa97b;--el-color-primary-light-3: #62c3a3;--el-color-primary-light-5: #8fd4bd;--el-color-primary-light-7: #bce5d6;--el-color-primary-light-8: #d2eee3;--el-color-primary-light-9: #e9fbf4;--el-color-primary-dark-2: #178763}*{box-sizing:border-box}:root{--el-font-size-base: 15px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px}html,body,#app{height:100%;margin:0;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--brand-bg, #f5f7fa)}.el-table,.el-table th.el-table__cell{font-size:15px}.el-tag{font-size:13px}.el-pagination{font-size:14px}.el-tabs__item{font-size:15px}.el-dialog__title{font-size:17px}.el-message,.el-message-box__message,.el-alert__title,.el-alert__description,.el-descriptions__label,.el-descriptions__content,.el-dropdown-menu__item,.el-loading-text{font-size:15px}.el-empty__description p{font-size:14px}.el-menu--popup .el-menu-item{font-size:15px}.brand{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#1fa97b,#7fe8c6);color:#fff;font-weight:700;font-size:17px;flex:none}.brand-logo-lg{width:52px;height:52px;border-radius:14px;font-size:26px}.brand-logo-img{width:34px;height:34px;border-radius:9px;object-fit:cover;background:#fff;flex:none}.brand-logo--default{object-fit:contain;padding:2px}.brand-logo--img{object-fit:contain;background:transparent}.brand-title{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.brand-sub{color:#ffffff8c;font-size:12px;line-height:1.3}.app-header{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 20px;background:#fff;border-bottom:1px solid #eef1f5;position:sticky;top:0;z-index:10}.app-header .title{font-size:16px;font-weight:600}.app-content{padding:16px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:64px;padding:40px;background:radial-gradient(1100px 600px at 12% 18%,#e9fbf4 0%,transparent 60%),radial-gradient(900px 500px at 88% 82%,#fff0e6 0%,transparent 58%),#f4f7f6;flex-wrap:wrap}.login-brand{max-width:420px}.login-brand h1{margin:18px 0 8px;font-size:28px;line-height:1.3;color:#1f2733}.login-brand p{margin:0;color:#7a8699;font-size:13px}.login-brand .login-slogan{margin:10px 0 12px;font-size:15px;font-weight:700;letter-spacing:2px;color:var(--brand-primary-deep, #127a5c)}.login-back{display:inline-block;margin-top:22px;font-size:13px;color:var(--brand-primary, #1fa97b);text-decoration:none}.login-back:hover{color:var(--brand-primary-deep, #127a5c)}.login-card{width:380px;box-shadow:0 12px 40px #1fa97b1a;border-radius:10px;background:#fff;padding:24px}.login-demo{margin-top:18px;padding-top:14px;border-top:1px dashed #e6ebf2}.demo-item{display:block;width:100%;text-align:left;border:none;background:none;padding:4px 0;cursor:pointer;font-size:13px;color:#41506b}.demo-item:hover{color:#1fa97b}code{padding:1px 5px;border-radius:4px;background:#f2f4f8;font-size:12px}.card-title{display:flex;flex-direction:column;gap:2px}.card-title .hint{font-size:13px;font-weight:400;color:#9099a8}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar .spacer{flex:1}.muted{color:#9099a8}
