:root{--ink: #0f172a;--ink-soft: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--primary: #2563eb;--primary-deep: #1d4ed8;--primary-soft: #eff6ff;--accent: #d97706;--danger: #dc2626;--danger-soft: #fef2f2;--nav: #ffffff;--nav-soft: #f8fafc;--radius: 14px;--radius-sm: 10px;--shadow-card: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px -24px rgba(15, 23, 42, .28);--font: "PingFang SC", "Noto Sans SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;--el-color-primary: #2563eb;--el-color-primary-light-3: #5b93f5;--el-color-primary-light-5: #8bb6f8;--el-color-primary-light-7: #bcd4fb;--el-color-primary-light-8: #d5e4fd;--el-color-primary-light-9: #eff6ff;--el-color-primary-dark-2: #1d4ed8;--el-color-success: #059669;--el-color-warning: #d97706;--el-color-danger: #dc2626;--el-border-radius-base: 9px;--el-font-family: var(--font)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4,p{margin:0}.page{padding:26px 30px 48px;max-width:1280px;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:700;margin-bottom:4px}.page-title{font-size:24px;letter-spacing:-.02em;font-weight:650;color:var(--ink)}.page-subtitle{color:var(--muted);font-size:13px;margin-top:4px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.card-pad{padding:20px}.surface-soft{background:var(--surface-soft)}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:SFMono-Regular,Consolas,monospace;letter-spacing:.02em}.strong{font-weight:600}.divider{height:1px;background:var(--line);margin:16px 0}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.filter-bar .el-input{width:240px}.filter-bar .el-select{width:150px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card{padding:18px 20px;position:relative;overflow:hidden}.stat-label{color:var(--muted);font-size:12px;letter-spacing:.04em}.stat-value{font-size:28px;font-weight:650;margin-top:6px;letter-spacing:-.03em}.stat-foot{font-size:12px;color:var(--muted);margin-top:8px}.stat-accent{position:absolute;top:0;left:0;width:3px;height:100%;background:var(--primary)}.stat-accent.warn{background:var(--accent)}.stat-accent.danger{background:var(--danger)}.section-title{font-size:16px;font-weight:600;margin-bottom:12px}.empty-state{padding:48px 20px;text-align:center;color:var(--muted)}.empty-state .empty-mark{width:56px;height:56px;border-radius:16px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;margin:0 auto 14px;font-size:22px;font-weight:700}.tag-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:1px;background:currentColor}.status-tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:500;line-height:1.7}.status-in{background:var(--primary-soft);color:var(--primary-deep)}.status-out{background:#fff4e5;color:#9a4b00}.status-warn{background:#fdf2e3;color:#9a4b00}.status-danger{background:var(--danger-soft);color:var(--danger)}.status-muted{background:#f1f5f9;color:#475569}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.asset-card{padding:18px;transition:border-color .18s ease,transform .18s ease;cursor:pointer}.asset-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.asset-code{font-size:12px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace}.asset-name{font-size:16px;font-weight:600;margin:4px 0 10px;color:var(--ink)}.asset-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:12px}.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.quick-link{padding:18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:border-color .18s ease;color:var(--ink)}.quick-link:hover{border-color:var(--primary)}.quick-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-deep);font-size:19px;flex-shrink:0}.quick-title{font-weight:600;font-size:14px}.quick-sub{font-size:12px;color:var(--muted);margin-top:1px}.el-button{font-weight:500}.el-button--primary{box-shadow:0 6px 16px -12px #2563ebcc}.el-table{--el-table-border-color: var(--line);--el-table-header-bg-color: #f8fafc;--el-table-row-hover-bg-color: #f8fbff}.el-table th.el-table__cell{color:var(--ink-soft);font-weight:600;background:#f8fafc}.el-dialog{border-radius:var(--radius)}.el-dialog__title{font-weight:600}.el-form-item__label{color:var(--ink-soft)}.descriptions .el-descriptions__label{color:var(--muted)}.pagination-bar{display:flex;justify-content:flex-end;margin-top:16px;max-width:100%}.pagination-bar .el-pagination{max-width:100%}@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding:18px 16px 96px}.page-title{font-size:21px}.filter-bar .el-input{width:100%}.filter-bar .el-select{width:calc(50% - 5px)}.filter-bar{gap:8px}.filter-bar>.el-button{flex:1;min-height:44px}.card-pad{padding:16px}.el-input__inner,.el-textarea__inner{font-size:16px!important}.el-select__wrapper{min-height:44px;font-size:16px}.el-button,.el-button.is-small{min-height:44px}.el-dialog{width:calc(100% - 24px)!important;margin-top:8vh}.pagination-bar{justify-content:center;overflow-x:auto}.pagination-bar .el-pagination{flex-wrap:wrap;justify-content:center;row-gap:6px}.table-desktop{display:none!important}.cards-mobile{display:flex!important}}@media(min-width:901px){.cards-mobile{display:none!important}}@media print{.no-print{display:none!important}body{background:#fff}}
