:root{--deer-primary: #4a7c59;--deer-primary-light: #6b9b78;--deer-primary-soft: #e8ede5;--deer-primary-dark: #2f4f2f;--deer-accent: #c4a77d;--deer-brown: #c4a77d;--deer-antler: #c4a77d;--deer-gold: #d4af37;--deer-gold-deep: #b8962e;--deer-bg: #f5f0e8;--deer-surface: #fafaf7;--deer-text: #2c2c2c;--deer-muted: #6b6b6b;--deer-border: #d9e0d5;--deer-radius: 12px;--deer-radius-sm: 8px;--deer-radius-lg: 16px;--deer-radius-pill: 9999px;--deer-shadow: 0 4px 16px rgba(0, 0, 0, .06);--deer-shadow-lg: 0 8px 32px rgba(0, 0, 0, .08);--deer-shadow-float: 0 8px 24px rgba(74, 124, 89, .15);--deer-success: #52c41a;--deer-warning: #faad14;--deer-danger: #f5222d;--deer-info: #1890ff;--deer-sidebar: #2f4f2f;--deer-sidebar-active: #4a7c59;--el-color-primary: var(--deer-primary);--el-color-primary-light-3: #6b9b78;--el-color-primary-light-5: #8bb396;--el-color-primary-light-7: #b5cebc;--el-color-primary-light-8: #d0e0d5;--el-color-primary-light-9: var(--deer-primary-soft);--el-color-primary-dark-2: var(--deer-primary-dark);--el-color-success: var(--deer-success);--el-color-warning: var(--deer-warning);--el-color-danger: var(--deer-danger);--el-color-info: var(--deer-info);--el-border-radius-base: 8px;--el-bg-color-page: var(--deer-bg);--el-fill-color-blank: var(--deer-surface);--el-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{min-height:100vh;color:var(--deer-text);background:var(--deer-bg);font-family:var(--el-font-family);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}html:has(.login-page),body:has(.login-page),body:has(.login-page) #app{overflow:auto;height:auto;min-height:100%}a{text-decoration:none;color:var(--deer-primary)}.page-title{margin:0 0 4px;color:var(--deer-text);font-size:18px;font-weight:700;letter-spacing:.02em;line-height:28px}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filter-card{margin-bottom:16px}.filter-card.el-card,.settings-card.el-card{border:1px solid var(--deer-border);border-radius:var(--deer-radius);background:var(--deer-surface)}.el-card{--el-card-border-radius: var(--deer-radius);--el-card-bg-color: var(--deer-surface);border-color:var(--deer-border);background:var(--deer-surface);box-shadow:var(--deer-shadow)}.el-dialog{--el-dialog-border-radius: 16px;--el-dialog-bg-color: var(--deer-surface)}.el-button--primary{--el-button-bg-color: var(--deer-primary);--el-button-border-color: var(--deer-primary);border-radius:var(--deer-radius-pill)}.el-button--primary.is-plain{border-radius:var(--deer-radius)}.el-input__wrapper,.el-textarea__inner{border-radius:var(--deer-radius-sm)!important}.el-select .el-select__wrapper{border-radius:var(--deer-radius-sm)}.clickable-card{cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s ease}.clickable-card:hover{transform:translateY(-2px);box-shadow:var(--deer-shadow-float)}.status-tag{font-weight:500;border-radius:999px}.package-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.package-card{border:1px solid var(--deer-border);border-radius:var(--deer-radius);padding:12px;cursor:pointer;background:var(--deer-surface);transition:border-color .15s ease,box-shadow .15s ease}.package-card:hover{border-color:var(--deer-primary-light)}.package-card.is-active{border-color:var(--deer-gold);box-shadow:var(--deer-shadow-lg);background:color-mix(in srgb,var(--deer-gold) 8%,var(--deer-surface))}.package-card .pkg-name{font-weight:600;color:var(--deer-text);margin-bottom:4px}.package-card .pkg-meta{font-size:12px;color:var(--deer-muted)}.deer-table-panel{width:100%;background:var(--deer-surface);border:1px solid var(--deer-border);border-radius:var(--deer-radius);padding:0;overflow:hidden;box-shadow:var(--deer-shadow)}.deer-table-panel .el-table{width:100%!important;--el-table-header-bg-color: var(--deer-primary-soft);--el-table-row-hover-bg-color: color-mix(in srgb, var(--deer-primary) 6%, var(--deer-surface));--el-table-bg-color: var(--deer-surface);--el-table-tr-bg-color: var(--deer-surface)}.deer-table-panel .el-table th.el-table__cell{font-weight:600;color:var(--deer-text);white-space:nowrap}.deer-table-panel .el-table .cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.el-table .cell-datetime{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.el-table{width:100%!important}.el-table .cell{overflow:hidden;text-overflow:ellipsis}.el-table th.el-table__cell>.cell{white-space:nowrap}.el-table .col-status .cell{display:flex;justify-content:center;align-items:center}.el-table .status-tag{max-width:100%}.el-table .table-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 2px;max-width:100%;vertical-align:middle}.el-table .table-actions .el-button.is-link,.el-table .el-button.is-link{padding:2px 6px;margin-left:0!important;height:auto;font-weight:500}.el-table .el-button.is-link+.el-button.is-link{margin-left:0!important}.el-table .el-dropdown,.el-table .el-dropdown .el-button.is-link{vertical-align:middle}.pager{margin-top:16px;justify-content:flex-end}.page-hint{margin:0 0 12px;color:var(--deer-muted);font-size:13px}.table-empty-tip{padding:24px;text-align:center;color:var(--deer-muted)}.amount-income{color:var(--deer-success);font-weight:600}.amount-expense{color:var(--deer-danger);font-weight:600}.amount-gold{color:var(--deer-gold);font-weight:700}.module-antler{--module-accent: var(--deer-antler)}.module-gold{--module-accent: var(--deer-gold)}.deer-kpi-card{background:var(--deer-surface);border:1px solid var(--deer-border);border-radius:var(--deer-radius);box-shadow:var(--deer-shadow);padding:16px 20px}.deer-kpi-card .kpi-value{font-size:24px;font-weight:700;line-height:32px;color:var(--deer-text)}.deer-kpi-card .kpi-label{font-size:12px;color:var(--deer-muted);margin-top:4px}.deer-adoption-detail .el-steps{--el-color-primary: var(--deer-primary)}.deer-adoption-detail .el-step__title.is-process,.deer-adoption-detail .el-step__title.is-finish{color:var(--deer-primary-dark);font-weight:600}.deer-admin-card{border:1px solid var(--deer-border);border-radius:var(--deer-radius-lg);box-shadow:var(--deer-shadow)}.deer-admin-card :deep(.el-card__header){border-bottom-color:var(--deer-border);background:color-mix(in srgb,var(--deer-primary-soft) 35%,var(--deer-surface))}.deer-adoption-detail .el-descriptions__label{color:var(--deer-muted);font-weight:500}.filter-card{margin-bottom:16px;border:1px solid var(--deer-border);border-radius:var(--deer-radius-lg);box-shadow:var(--deer-shadow)}.filter-card :deep(.el-card__body){padding-bottom:8px}@media (max-width: 768px){.page-toolbar{align-items:flex-start}}body.deer-compact{font-size:13px}body.deer-compact .page-title{font-size:16px}body.deer-compact .deer-table-panel .el-table .cell{line-height:1.3}body.deer-gray{filter:grayscale(1)}body.deer-weak{filter:invert(.02) hue-rotate(15deg) saturate(.65)}body.deer-gray.deer-weak{filter:grayscale(1) saturate(.55) hue-rotate(15deg)}.tags-view[data-v-6ed0175c]{display:flex;align-items:center;gap:2px;background:var(--deer-surface, #fff);border-bottom:1px solid var(--deer-border);padding:4px 8px;min-height:40px;flex-shrink:0;z-index:40}.tags-view.fixed[data-v-6ed0175c]{position:sticky;top:0;z-index:45}.nav-btn[data-v-6ed0175c]{flex-shrink:0;color:var(--deer-muted);padding:4px}.nav-btn[data-v-6ed0175c]:disabled{opacity:.35}.tags-scroll[data-v-6ed0175c]{display:flex;flex:1;gap:6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0;scroll-behavior:smooth}.tags-scroll[data-v-6ed0175c]::-webkit-scrollbar{display:none;height:0}.tag-item[data-v-6ed0175c]{display:inline-flex;align-items:center;gap:4px;max-width:160px;padding:4px 10px;border-radius:6px;border:1px solid var(--deer-border);background:#f7fbfa;color:var(--deer-muted);font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s ease;-webkit-user-select:none;user-select:none}.tag-item[data-v-6ed0175c]:hover{color:var(--deer-primary);border-color:var(--deer-primary-light)}.tag-item.active[data-v-6ed0175c]{color:#fff;background:var(--deer-primary);border-color:var(--deer-primary)}.tag-icon[data-v-6ed0175c]{font-size:12px;flex-shrink:0}.tag-title[data-v-6ed0175c]{overflow:hidden;text-overflow:ellipsis}.tag-close[data-v-6ed0175c]{font-size:12px;border-radius:50%;padding:1px}.tag-close[data-v-6ed0175c]:hover{background:#0000001f}.tag-item.active .tag-close[data-v-6ed0175c]:hover{background:#ffffff40}.tags-more[data-v-6ed0175c]{flex-shrink:0;color:var(--deer-muted)}.tag-context-menu{position:fixed;z-index:4000;margin:0;padding:6px 0;min-width:148px;list-style:none;background:#fff;border:1px solid var(--deer-border);border-radius:8px;box-shadow:0 8px 24px #0000001f}.tag-context-menu li{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;color:var(--deer-text);cursor:pointer}.tag-context-menu li:hover:not(.divider):not(.disabled){background:var(--deer-primary-soft);color:var(--deer-primary)}.tag-context-menu li.disabled{color:var(--deer-border);cursor:not-allowed}.tag-context-menu li.divider{height:1px;padding:0;margin:4px 0;background:var(--deer-border, #ebeef5);cursor:default}.hint[data-v-9b85d57b]{margin:0 0 16px;color:var(--deer-muted);font-size:13px;line-height:1.5}.section[data-v-9b85d57b]{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--deer-border)}.section[data-v-9b85d57b]:last-of-type{border-bottom:none}.section-title[data-v-9b85d57b]{margin-bottom:10px;font-weight:650;font-size:14px;color:var(--deer-text)}.subsection-label[data-v-9b85d57b]{margin-bottom:8px;font-size:13px;color:var(--deer-muted)}.preset-grid[data-v-9b85d57b]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.preset-item[data-v-9b85d57b]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--deer-border);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.preset-item[data-v-9b85d57b]:hover,.preset-item.active[data-v-9b85d57b]{border-color:var(--deer-primary);box-shadow:0 0 0 2px var(--deer-primary-soft)}.swatch[data-v-9b85d57b]{width:28px;height:28px;border-radius:50%}.label[data-v-9b85d57b]{font-size:12px;color:var(--deer-muted)}.switch-row[data-v-9b85d57b]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed var(--deer-border);font-size:13px}.switch-row[data-v-9b85d57b]:last-child{border-bottom:none}.footer[data-v-9b85d57b]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:12px;position:sticky;bottom:0;background:#fff}.deer-watermark[data-v-0fb9b69a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;pointer-events:none;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(6,1fr);opacity:.12}.deer-watermark__item[data-v-0fb9b69a]{display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-24deg);font-size:14px;line-height:1.5;color:var(--deer-text, #2c2c2c);-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-layout[data-v-2770c105]{height:100vh;max-height:100vh;overflow:hidden;background:var(--deer-bg, #f5f0e8)}.nav-progress[data-v-2770c105]{position:fixed;top:0;left:0;height:3px;width:0;z-index:3000;pointer-events:none;background:linear-gradient(90deg,var(--deer-primary, #d4af37),#6ea56e);border-radius:0 2px 2px 0}.nav-progress.is-done[data-v-2770c105]{width:100%;animation:none;transition:opacity .3s ease .05s;opacity:0}@keyframes nav-progress-grow-2770c105{0%{width:0}to{width:92%}}.nav-progress[data-v-2770c105]:not(.is-done){animation:nav-progress-grow-2770c105 10s cubic-bezier(.12,.4,.2,1) forwards}.sidebar[data-v-2770c105]{display:flex;flex-direction:column;height:100%;max-height:100vh;z-index:100;border-radius:0 16px 16px 0;background:radial-gradient(120% 60% at 0% 0%,rgba(255,255,255,.1),transparent 55%),linear-gradient(180deg,color-mix(in srgb,var(--deer-sidebar) 92%,#4a7c59) 0%,var(--deer-sidebar, #2f4f2f) 48%,color-mix(in srgb,var(--deer-sidebar) 88%,#000) 100%);box-shadow:2px 0 16px #2f4f2f1f;transition:width .2s ease,background .2s ease;overflow:hidden;flex-shrink:0}.sidebar.fixed[data-v-2770c105]{position:sticky;left:0;top:0}.sidebar-light .sidebar[data-v-2770c105]{background:linear-gradient(180deg,#fafaf7,#e8ede5);box-shadow:1px 0 0 var(--deer-border),2px 0 12px #0000000a;border-radius:0 16px 16px 0}.brand[data-v-2770c105]{display:flex;align-items:center;gap:12px;padding:18px 16px 16px;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);white-space:nowrap;flex-shrink:0}.sidebar-light .brand[data-v-2770c105]{color:var(--deer-text);border-bottom-color:var(--deer-border)}.brand.collapsed[data-v-2770c105]{justify-content:center;padding:18px 8px}.brand-mark[data-v-2770c105]{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:999px;background:#d4af3738;font-size:20px;flex-shrink:0}.sidebar-light .brand-mark[data-v-2770c105]{background:var(--deer-primary-soft)}.brand-copy[data-v-2770c105]{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-text[data-v-2770c105]{font-size:15px;font-weight:650;letter-spacing:.02em;line-height:1.2}.brand-sub[data-v-2770c105]{font-size:11px;color:var(--deer-sidebar-muted, rgba(215, 239, 239, .72));font-weight:500}.sidebar-scroll[data-v-2770c105]{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.menu-empty[data-v-2770c105]{padding:24px 16px;color:var(--deer-sidebar-muted, rgba(215, 239, 239, .72));font-size:13px;text-align:center}.el-menu[data-v-2770c105]{border-right:none;background:transparent;padding:8px 0 16px}[data-v-2770c105] .el-menu-item,[data-v-2770c105] .el-sub-menu__title{margin:2px 8px;border-radius:12px;height:48px;line-height:48px}.compact[data-v-2770c105] .el-menu-item,.compact[data-v-2770c105] .el-sub-menu__title{height:40px;line-height:40px}[data-v-2770c105] .el-menu-item.is-active{background:#ffffff1f!important;box-shadow:inset 4px 0 #d4af37}.sidebar-light[data-v-2770c105] .el-menu-item.is-active{box-shadow:none}[data-v-2770c105] .el-sub-menu__title:hover,[data-v-2770c105] .el-menu-item:hover{background:#ffffff1a!important}.sidebar-light[data-v-2770c105] .el-sub-menu__title:hover,.sidebar-light[data-v-2770c105] .el-menu-item:hover{background:var(--deer-primary-soft)!important}.workspace[data-v-2770c105]{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.workspace-top[data-v-2770c105]{flex-shrink:0;z-index:50}.workspace-top.sticky[data-v-2770c105]{position:sticky;top:0}.header[data-v-2770c105]{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--deer-surface, #fafaf7) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--deer-border, #d9e0d5);min-height:56px;height:auto;padding:0 16px 0 8px;flex-shrink:0;gap:8px;flex-wrap:wrap}.header.header-dark[data-v-2770c105]{background:var(--deer-sidebar);border-bottom-color:color-mix(in srgb,var(--deer-sidebar) 82%,#000);color:#e8ede5}.header.header-dark .collapse-btn[data-v-2770c105],.header.header-dark .theme-btn[data-v-2770c105],.header.header-dark .profile-btn[data-v-2770c105]{color:#e8ede5}.header.header-dark[data-v-2770c105] .el-breadcrumb__inner,.header.header-dark[data-v-2770c105] .el-breadcrumb__separator{color:#c9d6c9!important}.header.header-primary[data-v-2770c105]{background:var(--deer-primary);border-bottom-color:transparent;color:#fff}.header.header-primary .collapse-btn[data-v-2770c105],.header.header-primary .theme-btn[data-v-2770c105],.header.header-primary .profile-btn[data-v-2770c105]{color:#fff}.header.header-primary[data-v-2770c105] .el-breadcrumb__inner,.header.header-primary[data-v-2770c105] .el-breadcrumb__separator{color:#ffffffd9!important}.header-left[data-v-2770c105]{display:flex;align-items:center;gap:4px;min-width:0}.collapse-btn[data-v-2770c105],.theme-btn[data-v-2770c105]{margin-right:4px;color:var(--deer-muted)}.header-actions[data-v-2770c105]{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}.profile-btn[data-v-2770c105]{color:var(--deer-text);font-weight:500}.main[data-v-2770c105]{flex:1;min-height:0;min-width:0;overflow-x:auto;overflow-y:auto;background:radial-gradient(70% 40% at 100% 0%,color-mix(in srgb,var(--deer-primary) 10%,transparent),transparent 55%),linear-gradient(180deg,var(--deer-bg, #f5f0e8) 0%,var(--deer-primary-soft, #e8ede5) 120%),var(--deer-bg, #f5f0e8);padding:0;width:100%}.main.main-fill[data-v-2770c105]{display:flex;flex-direction:column;overflow:hidden}.main-inner[data-v-2770c105]{min-height:100%;box-sizing:border-box}.main-inner.inner-fill[data-v-2770c105]{flex:1;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%;margin:0;padding:12px 16px 16px}.page-fill[data-v-2770c105] .iot-map-page{flex:1;min-height:0}.main-inner.padded[data-v-2770c105]{padding:16px 20px 24px}.compact .main-inner.padded[data-v-2770c105]{padding:12px 14px 18px}.admin-layout:not(.content-fill) .main-inner[data-v-2770c105]{max-width:1280px;margin:0 auto;padding:16px 20px 24px}.page-fade-enter-active[data-v-2770c105],.page-fade-leave-active[data-v-2770c105]{transition:opacity .18s ease}.page-fade-enter-from[data-v-2770c105],.page-fade-leave-to[data-v-2770c105]{opacity:0}@media (max-width: 768px){.sidebar[data-v-2770c105]{position:fixed;z-index:200;height:100vh}.main-inner.padded[data-v-2770c105]{padding:12px}.brand-sub[data-v-2770c105],.header-left[data-v-2770c105] .el-breadcrumb{display:none}}
