:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:#18201d;background:#f3f5f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #18201d;--muted: #68736e;--line: #dfe5e2;--soft: #f3f5f4;--surface: #fff;--primary: #176b5b;--primary-deep: #0e4f43;--accent: #d49338;--danger: #b94545;--radius: 8px;--shadow: 0 12px 30px rgba(24, 32, 29, .08);--el-color-primary: #176b5b;--el-color-primary-light-3: #5d968a;--el-color-primary-light-5: #8bb5ac;--el-color-primary-light-7: #bad3cd;--el-color-primary-light-8: #d1e2de;--el-color-primary-light-9: #e8f0ee;--el-color-primary-dark-2: #125649;--el-border-radius-base: 6px}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%}.admin-shell{min-height:100vh;background:var(--soft)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:236px;display:flex;flex-direction:column;color:#ecf2f0;background:#17231f;transition:width .22s ease;overflow:hidden}.sidebar.collapsed{width:72px}.brand{height:76px;padding:0 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.brand-mark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;color:#fff;background:#2b806f;border:1px solid rgba(255,255,255,.16);border-radius:7px;font:600 18px/1 serif}.brand-copy{display:grid;gap:4px}.brand-copy strong{font-size:16px;letter-spacing:2px}.brand-copy small{color:#8fa29b;font-size:9px;letter-spacing:1.2px}.sidebar-nav{flex:1;overflow-y:auto;padding:18px 10px}.nav-group-label{padding:14px 11px 7px;color:#748a82;font-size:11px;font-weight:600}.nav-item{min-height:42px;margin:3px 0;padding:0 12px;display:flex;align-items:center;gap:12px;border-radius:6px;color:#b8c5c1;font-size:14px;white-space:nowrap;transition:.18s ease}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.router-link-active{color:#fff;background:#276f61;box-shadow:inset 3px 0 #e2b767}.nav-item .el-icon{flex:0 0 18px;font-size:18px}.sidebar-foot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}.collapse-button{width:100%;height:40px;padding:0 10px;display:flex;align-items:center;gap:12px;border:0;border-radius:6px;color:#91a39d;background:transparent;cursor:pointer}.collapse-button:hover{color:#fff;background:#ffffff0f}.admin-main{min-height:100vh;margin-left:236px;transition:margin-left .22s ease}.sidebar.collapsed+.admin-main{margin-left:72px}.topbar{height:76px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#ffffffed;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar h1{margin:2px 0 0;font-size:20px;line-height:1.2;font-weight:650}.page-context{color:#8b9691;font-size:11px}.topbar-actions{display:flex;align-items:center;gap:12px}.user-button{height:48px;padding:0 7px;display:flex;align-items:center;gap:9px;border:0;color:var(--ink);background:transparent;cursor:pointer}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#c17c32;font-size:13px}.user-summary{min-width:94px;display:grid;gap:2px;text-align:left}.user-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.user-summary small{color:var(--muted);font-size:11px}.mobile-menu-button{display:none!important}.page-stage{width:100%;max-width:1600px;min-height:calc(100vh - 76px);margin:auto;padding:26px 28px 24px;display:flex;flex-direction:column}.system-version{margin-top:auto;padding-top:36px;color:#929c98;font:10px/1.4 SFMono-Regular,Consolas,monospace;text-align:center}.system-version span{padding:0 4px;color:#bac1be}.page-enter-active,.page-leave-active{transition:opacity .16s ease,transform .16s ease}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}.page-heading{margin-bottom:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.page-heading h2{margin:0 0 6px;font-size:23px;font-weight:650}.page-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 10px #18201d06}.panel-head{min-height:58px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:15px}.panel-body{padding:20px}.toolbar{margin-bottom:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar-group{display:flex;gap:10px;flex-wrap:wrap}.subtle{color:var(--muted)}.mono{font-family:SFMono-Regular,Consolas,monospace}.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#98a39f}.status-dot.good{background:#2a9b6a;box-shadow:0 0 0 4px #2a9b6a1f}.status-dot.warn{background:#d99734;box-shadow:0 0 0 4px #d997341f}.status-dot.bad{background:#c44f4f;box-shadow:0 0 0 4px #c44f4f1f}.empty-state{min-height:240px;display:grid;place-items:center;color:var(--muted);text-align:center}.mobile-brand{height:68px;padding:0 10px;display:flex;align-items:center;gap:12px}.mobile-nav{padding-top:8px}@media(max-width:920px){.sidebar{display:none}.admin-main,.sidebar.collapsed+.admin-main{margin-left:0}.mobile-menu-button{display:inline-flex!important}.topbar{height:68px;padding:0 16px}.page-context{display:none}.topbar h1{font-size:18px}.page-stage{min-height:calc(100vh - 68px);padding:18px 16px 36px}.mobile-drawer .el-drawer__body{padding:0 10px;color:#ecf2f0;background:#17231f}}@media(max-width:600px){.auth-workspace,.auth-card,.auth-card .el-form,.auth-card .el-form-item,.auth-card .el-form-item__content{min-width:0;max-width:100%}.quick-create span{display:none}.quick-create{width:36px;padding:0!important}.user-summary,.user-button>.el-icon{display:none}.topbar-actions{gap:2px}.page-heading{align-items:flex-start;flex-direction:column}.panel-body{padding:15px}.el-dialog{--el-dialog-width: calc(100vw - 24px) !important}}
