:root{--app-bg: #f4f8f5;--app-surface: #ffffff;--app-surface-soft: #f8fcf9;--app-border: #d7e7dc;--app-text: #16281f;--app-text-secondary: #5f7268;--app-primary: #1e8c4c;--app-primary-soft: #e9f8ef;--app-radius-xl: 24px;--app-pagination-bg: #eaf5ef;--app-pagination-border: #d7e8de;--app-pagination-item-border: #e1eee6;--app-pagination-text: #1a1918;--app-pagination-text-secondary: #6d6c6a;--app-pagination-active: #3d8a5a;--resource-border: #d7e8de;--resource-border-strong: #cfe3d7;--resource-soft-primary: #e9f8ef;--resource-soft-danger: #fdecec;--resource-danger: #d54f4f;--resource-control-height: 40px;--resource-action-height: 32px;--resource-radius-md: 8px;--resource-radius-sm: 6px;--app-button-height-md: 40px;--app-button-height-sm: 32px;--app-button-radius-md: 8px;--app-button-radius-sm: 6px;--app-button-shadow-primary: 0 12px 24px rgba(61, 138, 90, .18);--app-button-primary-hover: #34774d;--app-button-primary-active: #2d6944}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--app-text);background:radial-gradient(circle at 0% 0%,#eef8f2,#f4f8f5 45%,#f8fbf9)}a{color:inherit;text-decoration:none}.page-card{border-radius:16px;border:1px solid var(--app-border);background:var(--app-surface);padding:24px}.page-title{margin:0;font-size:24px;font-weight:700}.page-subtitle{margin:8px 0 0;color:var(--app-text-secondary)}.app-table-pagination{border-radius:12px;border:1px solid var(--app-pagination-border);background:var(--app-pagination-bg);padding:12px 14px}.app-table-pagination__info{color:var(--app-pagination-text-secondary)}.app-table-pagination__control{--el-pagination-bg-color: var(--app-surface);--el-pagination-button-bg-color: var(--app-surface);--el-pagination-button-color: var(--app-pagination-text);--el-pagination-hover-color: var(--app-pagination-active);--el-pagination-button-disabled-color: #9aa7a0;--el-pagination-button-disabled-bg-color: var(--app-surface);--el-pagination-border-radius: 8px;--el-color-primary: var(--app-pagination-active);--el-color-white: #fff;--el-disabled-bg-color: var(--app-surface);gap:8px}.app-table-pagination__control.is-background .btn-prev,.app-table-pagination__control.is-background .btn-next,.app-table-pagination__control.is-background .el-pager li{min-width:36px;height:32px;margin:0;border:1px solid var(--app-pagination-item-border);border-radius:8px;background-color:var(--app-surface);color:var(--app-pagination-text);font-weight:600;box-shadow:none}.app-table-pagination__control.is-background .btn-prev,.app-table-pagination__control.is-background .btn-next{padding:0 12px}.app-table-pagination__control.is-background .btn-prev:disabled,.app-table-pagination__control.is-background .btn-next:disabled,.app-table-pagination__control.is-background .btn-prev.is-disabled,.app-table-pagination__control.is-background .btn-next.is-disabled,.app-table-pagination__control.is-background .el-pager li.is-disabled{border-color:var(--app-pagination-item-border);background-color:var(--app-surface);color:#9aa7a0}.app-table-pagination__control.is-background .el-pager li{color:#1a1918}.app-table-pagination__control.is-background .el-pager li:not(.is-active):hover,.app-table-pagination__control.is-background .btn-prev:not(:disabled):hover,.app-table-pagination__control.is-background .btn-next:not(:disabled):hover{border-color:var(--app-pagination-border);background-color:var(--app-surface);color:var(--app-pagination-active)}.app-table-pagination__control.is-background .el-pager li.is-active{border-color:var(--app-pagination-active);background-color:var(--app-pagination-active);color:#fff;font-weight:700}.resource-page{display:flex;flex-direction:column;gap:16px}.resource-page-intro{display:flex;flex-direction:column}.resource-page-intro .page-title{font-size:28px}.resource-filter-shell{display:flex;flex-direction:column;gap:14px;padding:16px 20px}.resource-filter-shell--dense{gap:12px}.resource-filter-shell__stats,.resource-filter-shell__filters,.resource-filter-shell__actions{width:100%}.resource-filter-shell__actions{display:flex;justify-content:flex-end}.resource-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.resource-stat-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--resource-border-strong);border-radius:14px;background:var(--app-surface)}.resource-stat-card--primary{border-color:transparent;background:var(--resource-soft-primary)}.resource-stat-card--danger .resource-stat-card__value{color:var(--resource-danger)}.resource-stat-card__label{font-size:14px;font-weight:500;color:var(--app-text-secondary)}.resource-stat-card__value{font-size:26px;line-height:1.1;color:var(--app-text)}.resource-stat-card__hint{font-size:14px;color:var(--app-text-secondary)}.resource-stat-card--primary .resource-stat-card__value,.resource-stat-card--primary .resource-stat-card__hint{color:var(--app-primary)}.resource-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.resource-filter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:flex-end}.resource-filter-control .el-input__wrapper,.resource-filter-control .el-select__wrapper{min-height:var(--resource-control-height);border-radius:var(--resource-radius-md);box-shadow:0 0 0 1px var(--resource-border) inset}.app-button{min-width:88px;font-weight:600}.el-button.app-button{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.el-button.app-button:hover:not(.is-disabled),.el-button.app-button:focus-visible{transform:translateY(-1px)}.app-button--md{height:var(--app-button-height-md);padding:0 16px;border-radius:var(--app-button-radius-md);font-size:16px}.app-button--sm{min-width:auto;height:var(--app-button-height-sm);padding:0 12px;border-radius:var(--app-button-radius-sm);font-size:15px}.app-button--block{width:100%}.el-button.app-button--primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff;box-shadow:var(--app-button-shadow-primary)}.el-button.app-button--primary:hover:not(.is-disabled),.el-button.app-button--primary:focus-visible{border-color:var(--app-button-primary-hover);background:var(--app-button-primary-hover);color:#fff}.el-button.app-button--primary:active:not(.is-disabled){border-color:var(--app-button-primary-active);background:var(--app-button-primary-active);color:#fff}.el-button.app-button--secondary{border-color:var(--resource-border);background:var(--app-surface);color:var(--app-text);box-shadow:none}.el-button.app-button--secondary:hover:not(.is-disabled),.el-button.app-button--secondary:focus-visible{border-color:var(--app-primary);background:var(--app-surface);color:var(--app-primary)}.el-button.app-button--soft{border-color:var(--resource-border);background:var(--resource-soft-primary);color:var(--app-primary);box-shadow:none;font-weight:700}.el-button.app-button--soft:hover:not(.is-disabled),.el-button.app-button--soft:focus-visible{border-color:var(--app-primary);background:var(--resource-soft-primary);color:var(--app-primary)}.el-button.app-button.is-disabled,.el-button.app-button.is-disabled:hover{transform:none;box-shadow:none}.toolbar-icon-button,.row-icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--app-primary);cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease}.toolbar-icon-button:hover:not(:disabled),.row-icon-button:hover:not(:disabled){border-color:var(--resource-border-strong);background:var(--app-primary-soft)}.toolbar-icon-button:disabled,.row-icon-button:disabled{cursor:not-allowed;opacity:.4}.toolbar-icon-button--danger,.row-icon-button--danger{color:var(--resource-danger)}.toolbar-icon-button--danger:hover:not(:disabled),.row-icon-button--danger:hover:not(:disabled){border-color:#fecaca;background:var(--resource-soft-danger)}.venues-filter-actions>.el-button,.filter-grid__buttons>.el-button,.filter-card__actions>.el-button,.module-toolbar>.el-button,.panel-actions>.el-button,.nvr-filter-card__actions>.el-button,.nvr-drawer__cta>.el-button,.code-row>.el-button,.state-card .actions>.el-button,.auth-shell .full.el-button{min-width:88px;height:var(--app-button-height-md);padding:0 16px;border-radius:var(--app-button-radius-md);font-size:16px;font-weight:600;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.venues-filter-actions>.el-button:hover:not(.is-disabled),.filter-grid__buttons>.el-button:hover:not(.is-disabled),.filter-card__actions>.el-button:hover:not(.is-disabled),.module-toolbar>.el-button:hover:not(.is-disabled),.panel-actions>.el-button:hover:not(.is-disabled),.nvr-filter-card__actions>.el-button:hover:not(.is-disabled),.nvr-drawer__cta>.el-button:hover:not(.is-disabled),.code-row>.el-button:hover:not(.is-disabled),.state-card .actions>.el-button:hover:not(.is-disabled),.auth-shell .full.el-button:hover:not(.is-disabled){transform:translateY(-1px)}.venues-filter-actions>.el-button:not(.el-button--primary):not(.el-button--success),.filter-grid__buttons>.el-button:not(.el-button--primary):not(.el-button--success),.filter-card__actions>.el-button:not(.el-button--primary):not(.el-button--success),.module-toolbar>.el-button:not(.el-button--primary):not(.el-button--success),.panel-actions>.el-button:not(.el-button--primary):not(.el-button--success),.nvr-filter-card__actions>.el-button:not(.el-button--primary):not(.el-button--success),.nvr-drawer__cta>.el-button:not(.el-button--primary):not(.el-button--success),.code-row>.el-button:not(.el-button--primary):not(.el-button--success),.state-card .actions>.el-button:not(.el-button--primary):not(.el-button--success),.auth-shell .full.el-button:not(.el-button--primary):not(.el-button--success){border-color:var(--resource-border);background:var(--app-surface);color:var(--app-text);box-shadow:none}.venues-filter-actions>.el-button.el-button--primary,.venues-filter-actions>.el-button.el-button--success,.filter-grid__buttons>.el-button.el-button--primary,.filter-grid__buttons>.el-button.el-button--success,.filter-card__actions>.el-button.el-button--primary,.filter-card__actions>.el-button.el-button--success,.module-toolbar>.el-button.el-button--primary,.module-toolbar>.el-button.el-button--success,.panel-actions>.el-button.el-button--primary,.panel-actions>.el-button.el-button--success,.nvr-filter-card__actions>.el-button.el-button--primary,.nvr-filter-card__actions>.el-button.el-button--success,.nvr-drawer__cta>.el-button.el-button--primary,.nvr-drawer__cta>.el-button.el-button--success,.code-row>.el-button.el-button--primary,.state-card .actions>.el-button.el-button--primary,.auth-shell .full.el-button.el-button--primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff;box-shadow:var(--app-button-shadow-primary)}.venues-filter-actions>.el-button.el-button--primary:hover:not(.is-disabled),.venues-filter-actions>.el-button.el-button--success:hover:not(.is-disabled),.filter-grid__buttons>.el-button.el-button--primary:hover:not(.is-disabled),.filter-grid__buttons>.el-button.el-button--success:hover:not(.is-disabled),.filter-card__actions>.el-button.el-button--primary:hover:not(.is-disabled),.filter-card__actions>.el-button.el-button--success:hover:not(.is-disabled),.module-toolbar>.el-button.el-button--primary:hover:not(.is-disabled),.module-toolbar>.el-button.el-button--success:hover:not(.is-disabled),.panel-actions>.el-button.el-button--primary:hover:not(.is-disabled),.panel-actions>.el-button.el-button--success:hover:not(.is-disabled),.nvr-filter-card__actions>.el-button.el-button--primary:hover:not(.is-disabled),.nvr-filter-card__actions>.el-button.el-button--success:hover:not(.is-disabled),.nvr-drawer__cta>.el-button.el-button--primary:hover:not(.is-disabled),.nvr-drawer__cta>.el-button.el-button--success:hover:not(.is-disabled),.code-row>.el-button.el-button--primary:hover:not(.is-disabled),.state-card .actions>.el-button.el-button--primary:hover:not(.is-disabled),.auth-shell .full.el-button.el-button--primary:hover:not(.is-disabled){border-color:var(--app-button-primary-hover);background:var(--app-button-primary-hover);color:#fff}.venues-filter-summary>.el-button,.filter-summary>.el-button{min-width:auto;height:var(--app-button-height-sm);padding:0 12px;border:1px solid var(--resource-border);border-radius:var(--app-button-radius-sm);background:var(--resource-soft-primary);color:var(--app-primary);font-size:15px;font-weight:700}.venues-filter-summary>.el-button:hover:not(.is-disabled),.filter-summary>.el-button:hover:not(.is-disabled){border-color:var(--app-primary);background:var(--resource-soft-primary);color:var(--app-primary)}.row-actions,.table-actions,.venue-actions,.nvr-row-actions{display:flex;flex-wrap:wrap;gap:8px}.row-actions>.el-button,.table-actions>.el-button,.venue-actions>.el-button,.nvr-row-actions>.el-button{min-width:auto;height:var(--app-button-height-sm);margin-left:0;padding:0 12px;border:1px solid var(--resource-border);border-radius:var(--app-button-radius-sm);background:var(--app-surface);color:var(--app-text);font-size:15px;font-weight:600}.row-actions>.el-button:hover:not(.is-disabled),.table-actions>.el-button:hover:not(.is-disabled),.venue-actions>.el-button:hover:not(.is-disabled),.nvr-row-actions>.el-button:hover:not(.is-disabled){border-color:var(--app-primary);background:var(--app-surface);color:var(--app-primary)}.row-actions>.el-button.el-button--primary,.table-actions>.el-button.el-button--primary,.venue-actions>.el-button.el-button--primary,.nvr-row-actions>.el-button.el-button--primary,.row-actions>.el-button.el-button--success,.table-actions>.el-button.el-button--success,.venue-actions>.el-button.el-button--success,.nvr-row-actions>.el-button.el-button--success,.row-actions>.el-button.el-button--warning,.table-actions>.el-button.el-button--warning,.venue-actions>.el-button.el-button--warning,.nvr-row-actions>.el-button.el-button--warning{background:var(--resource-soft-primary);color:var(--app-primary);font-weight:700}.row-actions>.el-button.el-button--danger,.table-actions>.el-button.el-button--danger,.venue-actions>.el-button.el-button--danger,.nvr-row-actions>.el-button.el-button--danger{border-color:#f2c9c9;background:var(--resource-soft-danger);color:var(--resource-danger);font-weight:700}.el-dialog__footer .el-button{min-width:88px;height:var(--app-button-height-md);padding:0 16px;border-radius:var(--app-button-radius-md);font-size:16px;font-weight:600}.el-dialog__footer .el-button:not(.el-button--primary):not(.el-button--success){border-color:var(--resource-border);background:var(--app-surface);color:var(--app-text)}.el-dialog__footer .el-button.el-button--primary,.el-dialog__footer .el-button.el-button--success{border-color:var(--app-primary);background:var(--app-primary);color:#fff;box-shadow:var(--app-button-shadow-primary)}.el-message-box{width:min(420px,100vw - 32px);border-radius:18px;border:1px solid var(--app-border);padding:0;overflow:hidden;box-shadow:0 24px 60px #14231c2e}.el-message-box__header{padding:20px 20px 0}.el-message-box__title{font-size:18px;font-weight:700;color:var(--app-text)}.el-message-box__content{padding:14px 20px 20px}.el-message-box__container{align-items:flex-start;gap:12px}.el-message-box__status{position:static;margin-top:2px;font-size:22px!important}.el-message-box__message{color:var(--app-text-secondary);font-size:16px;line-height:1.7}.el-message-box__btns{padding:0 20px 20px;gap:10px}.el-message-box__btns .el-button{min-width:88px;height:var(--app-button-height-md);margin-left:0;padding:0 16px;border-radius:var(--app-button-radius-md);font-size:16px;font-weight:600}.el-message-box__btns .el-button:not(.el-button--primary):not(.el-button--success):not(.el-button--warning):not(.el-button--danger){border-color:var(--resource-border);background:var(--app-surface);color:var(--app-text)}.el-message-box__btns .el-button.el-button--primary,.el-message-box__btns .el-button.el-button--success,.el-message-box__btns .el-button.el-button--warning,.el-message-box__btns .el-button.el-button--danger{border-color:var(--app-primary);background:var(--app-primary);color:#fff;box-shadow:var(--app-button-shadow-primary)}.resource-top-button{min-width:88px;height:var(--app-button-height-md);border-radius:var(--app-button-radius-md);font-weight:600}.resource-top-button--primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff;box-shadow:var(--app-button-shadow-primary)}.resource-top-button--outline{border-color:var(--resource-border);background:var(--app-surface);color:var(--app-text)}.resource-top-button--create{min-width:116px}.resource-summary-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--resource-border);border-radius:10px;background:var(--resource-soft-primary)}.resource-summary-bar__text{font-size:14px;font-weight:500;color:var(--app-text-secondary)}.resource-summary-bar__action{display:inline-flex;align-items:center;justify-content:center;height:var(--resource-action-height);padding:0 10px;border:1px solid var(--resource-border);border-radius:var(--resource-radius-sm);background:var(--app-surface);color:var(--app-primary);font-size:14px;font-weight:600;cursor:pointer}@media (max-width: 1280px){.resource-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.resource-filter-shell__actions,.resource-summary-bar,.resource-filter-actions{justify-content:stretch}.resource-summary-bar,.resource-filter-actions{flex-direction:column;align-items:stretch}}@media (max-width: 720px){.resource-stats-grid{grid-template-columns:1fr}}
