:root{--cg-color-text: #111827;--cg-color-text-secondary: #334155;--cg-color-muted: #64748b;--cg-color-subtle: #94a3b8;--cg-color-inverse: #ffffff;--cg-color-bg: #f5f7fb;--cg-color-surface: #ffffff;--cg-color-surface-muted: #f8fafc;--cg-color-border: #dbe3ee;--cg-color-border-strong: #cbd5e1;--cg-color-primary: #1d5fd1;--cg-color-primary-hover: #174ea6;--cg-color-primary-soft: #edf4ff;--cg-color-success: #14804a;--cg-color-success-soft: #eaf7ef;--cg-color-warning: #9a5a00;--cg-color-warning-soft: #fff6df;--cg-color-danger: #b42318;--cg-color-danger-soft: #fff1f0;--cg-radius-sm: 4px;--cg-radius-md: 6px;--cg-radius-lg: 8px;--cg-radius-pill: 999px;--cg-control-height-sm: 32px;--cg-control-height: 36px;--cg-control-height-lg: 40px;--cg-page-padding-x: 32px;--cg-page-padding-y: 20px;--cg-panel-padding: 18px;--cg-shadow-panel: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .04);--cg-shadow-popover: 0 14px 34px rgba(15, 23, 42, .12);--theme_text-primary: var(--cg-color-text);--theme_text-secondary: var(--cg-color-text-secondary);--theme_text-weak: var(--cg-color-muted);--theme_text-muted: var(--cg-color-muted);--theme_text-strong: var(--cg-color-text);--theme_text-spotlight: var(--cg-color-inverse);--theme_accent-primary: var(--cg-color-primary);--theme_accent-secondary: var(--cg-color-primary-hover);--theme_accent-soft: var(--cg-color-primary-soft);--theme_accent-soft-strong: #dceafe;--theme_canvas: var(--cg-color-bg);--theme_surface-primary: var(--cg-color-surface);--theme_surface-secondary: var(--cg-color-surface-muted);--theme_border: var(--cg-color-border);--theme_success-text: var(--cg-color-success);--theme_shadow-blue: 0 0 0 1px rgba(29, 95, 209, .14), 0 2px 6px rgba(29, 95, 209, .18);--theme_shadow-soft: var(--cg-shadow-panel);color:var(--cg-color-text);background:var(--cg-color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;line-height:1.5;font-weight:400;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:0;color:var(--theme_text-primary);background:var(--theme_canvas)}a{color:inherit;text-decoration:none}.page-shell{position:relative;min-height:100vh;background:var(--theme_canvas)}.page-shell:before{display:none}.login-page{display:flex;align-items:center;justify-content:center;padding:24px}.login-shell{width:min(440px,100%)}.login-kicker,.content-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--theme_accent-primary);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}.content-eyebrow{margin-bottom:10px}.login-title{margin:0;max-width:620px;font-family:inherit;font-size:32px;line-height:1.18;font-weight:700;letter-spacing:0}.login-subtitle{margin:12px 0 0;max-width:540px;color:var(--theme_text-weak);font-size:14px;line-height:1.65}.login-points{display:grid;gap:12px;margin-top:24px}.login-point{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:14px 16px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-surface);box-shadow:var(--cg-shadow-panel)}.login-point strong{display:block;margin-bottom:6px;font-size:17px;font-weight:600;letter-spacing:.1px}.login-point p{margin:0;color:var(--theme_text-weak);font-size:14px;line-height:1.72}.login-point-index{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--cg-radius-lg);background:var(--cg-color-primary);color:var(--theme_text-spotlight);font-size:13px;font-weight:700;letter-spacing:0;box-shadow:var(--theme_shadow-blue)}.login-card{padding:28px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-primary);box-shadow:var(--cg-shadow-panel)}.login-card-top{margin-bottom:24px}.login-brand-line{display:flex;align-items:center;gap:14px}.login-form-title{margin:0;font-size:24px;font-weight:700;line-height:1.15;letter-spacing:0}.login-form-subtitle{margin:12px 0 0;color:var(--theme_text-weak);font-size:15px;line-height:1.66}.dashboard-layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.dashboard-sidebar{position:sticky;top:0;align-self:start;height:100vh;padding:20px 14px;border-right:1px solid var(--cg-color-border);background:var(--theme_surface-primary);color:var(--theme_text-primary);display:flex;flex-direction:column}.sidebar-top{margin-bottom:18px}.dashboard-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}.dashboard-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:36px;flex-shrink:0}.dashboard-brand-logo{display:block;width:100%;height:100%;object-fit:contain}.dashboard-brand-title{font-size:20px;line-height:1.2;font-weight:600;letter-spacing:0}.dashboard-brand-subtitle{margin-top:6px;color:var(--theme_text-weak);font-size:13px;letter-spacing:0}.sidebar-user-card{padding:16px 18px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:linear-gradient(180deg,#fffffff5,#f6faffeb);box-shadow:var(--theme_shadow-soft)}.sidebar-user-label,.sidebar-section-label{color:#516074e0;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none}.sidebar-user-name{margin-top:8px;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0}.sidebar-user-meta{margin-top:6px;color:var(--theme_text-weak);font-size:13px;line-height:1.5}.sidebar-section-label{margin:6px 6px 12px}.sidebar-menu.el-menu{border-right:none}.sidebar-menu .el-menu-item{height:40px;margin-bottom:4px;border-radius:var(--cg-radius-lg);font-size:14px;font-weight:500;letter-spacing:0}.sidebar-menu .el-menu-item:hover{background:#1b61c914;color:var(--theme_text-primary)}.sidebar-menu .el-menu-item.is-active{background:#1b61c91a;color:var(--theme_text-primary);font-weight:600}.sidebar-footer{margin-top:auto;padding:16px 6px 6px}.sidebar-footer-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--cg-radius-lg);background:#1b61c914;color:var(--theme_accent-primary);font-size:12px;font-weight:600;letter-spacing:0}.sidebar-footer-text{margin:12px 0 0;color:var(--theme_text-weak);font-size:13px;line-height:1.64}.dashboard-main{width:100%;padding:var(--cg-page-padding-y) var(--cg-page-padding-x) 36px}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-actions,.header-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-inline-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.header-badge{display:inline-flex;align-items:center;height:var(--cg-control-height-sm);padding:0 12px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:#ffffffe0;color:#181d26db;font-size:13px;font-weight:500;letter-spacing:0}.dashboard-panel,.filter-panel,.table-panel{border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-primary);box-shadow:var(--cg-shadow-panel)}.dashboard-panel{padding:var(--cg-panel-padding)}.stack-panel{display:flex;flex-direction:column;gap:18px}.filter-panel{padding:var(--cg-panel-padding);margin-bottom:16px}.table-panel{padding:var(--cg-panel-padding)}.product-switch-strip{margin-bottom:12px}.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading{margin:0;font-size:20px;font-weight:700;line-height:1.2;letter-spacing:0}.panel-subtitle{margin:8px 0 0;color:var(--theme_text-weak);font-size:14px;line-height:1.64;letter-spacing:0}.audit-log-list-heading{align-items:center}.audit-log-mode-switch{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px;padding:3px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-md);background:var(--theme_surface-secondary)}.audit-log-mode-button{min-width:74px;height:28px;padding:0 12px;border:0;border-radius:calc(var(--cg-radius-md) - 2px);background:transparent;color:var(--theme_text-secondary);font-size:13px;font-weight:600;line-height:1;letter-spacing:0;cursor:pointer;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.audit-log-mode-button:hover{color:var(--theme_text-primary);background:#1b61c90f}.audit-log-mode-button.is-active{background:var(--theme_surface-primary);color:var(--theme_accent-primary);box-shadow:0 1px 2px #0f172a14}.entity-note{padding:12px 14px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-secondary);color:#181d26c7;font-size:13px;line-height:1.68}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.metric-card{padding:18px;border-radius:var(--cg-radius-lg);border:1px solid var(--cg-color-border);background:var(--theme_surface-primary);box-shadow:var(--cg-shadow-panel)}.metric-label{color:var(--theme_text-weak);font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}.metric-value{margin-top:10px;font-size:32px;font-weight:600;line-height:1;letter-spacing:0;color:var(--theme_text-primary)}.metric-caption{margin-top:12px;color:var(--theme_text-weak);font-size:13px;line-height:1.55}.dashboard-review-list,.admin-user-list,.audit-log-list,.panel-skeleton-stack{display:grid;gap:12px}.panel-skeleton-card{display:grid;gap:10px;padding:16px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:#f8fafceb}.panel-skeleton-line{height:12px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0e6,#f1f5f9,#e2e8f0e6);background-size:200% 100%;animation:panel-skeleton-shimmer 1.2s ease-in-out infinite}.panel-skeleton-line.is-short{width:28%}.panel-skeleton-line.is-medium{width:62%}.workspace-empty-state{display:grid;gap:10px;justify-items:start;padding:8px 0 4px}.workspace-empty-title{font-size:16px;font-weight:600;line-height:1.4;color:var(--theme_text-primary)}.workspace-empty-copy{margin:0;max-width:560px;color:var(--theme_text-weak);font-size:14px;line-height:1.68}.workspace-empty-actions{display:flex;flex-wrap:wrap;gap:10px}.inline-field-error{margin-top:8px;color:#c2410c;font-size:13px;line-height:1.5}@keyframes panel-skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.dashboard-review-card,.admin-user-card,.audit-log-card{padding:14px 16px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-surface-muted)}.dashboard-review-top,.admin-user-top,.audit-log-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-review-time,.audit-log-time{font-size:13px;font-weight:600;line-height:1.5}.dashboard-review-product,.admin-user-username,.audit-log-action{margin-top:6px;color:var(--theme_text-weak);font-size:13px;line-height:1.55}.dashboard-review-meta,.review-mobile-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;color:var(--theme_text-weak);font-size:12px;line-height:1.5}.dashboard-review-content,.audit-log-detail{margin-top:10px;font-size:14px;line-height:1.68;word-break:break-word}.dashboard-review-status,.admin-user-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.dashboard-review-status.is-reviewed,.admin-user-status{background:#00640014;color:var(--theme_success-text)}.dashboard-review-status.is-hidden,.admin-user-status.is-inactive{background:#181d2614;color:#181d26b8}.dashboard-review-status.is-new{background:#1b61c914;color:var(--theme_accent-secondary)}.admin-user-name{font-size:15px;font-weight:600;line-height:1.4}.admin-user-meta,.audit-log-meta{display:grid;gap:8px;margin-top:12px}.admin-user-meta div,.audit-log-meta div{display:grid;gap:4px;font-size:13px;line-height:1.6}.admin-user-meta span,.audit-log-meta span{color:var(--theme_text-weak);font-size:12px;font-weight:600}.admin-user-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.admin-user-actions-inline{margin-top:0}.product-legacy-cell{display:grid;gap:4px;min-width:0;line-height:1.45}.product-legacy-cell span,.product-legacy-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-legacy-cell small{color:var(--theme_text-weak);font-size:12px;font-weight:600}.audit-pagination-row{display:flex;justify-content:flex-end;margin-top:16px}.content-title{margin:0;font-family:inherit;font-size:32px;line-height:1.18;font-weight:700;letter-spacing:0}.content-subtitle{margin:10px 0 0;max-width:780px;color:var(--theme_text-weak);font-size:14px;line-height:1.65;letter-spacing:0}.filter-panel .el-form,.dashboard-panel .el-form{width:100%}.filter-panel .el-form--inline{display:flex;gap:10px 12px;flex-wrap:wrap}.filter-panel .el-form--inline .el-form-item{margin-right:0;margin-bottom:14px}.table-panel .el-table,.dashboard-panel .el-table{border-radius:var(--cg-radius-lg);overflow:hidden}.reviews-table .el-table__cell{vertical-align:top}.review-record-cell,.review-content-cell,.review-state-cell{display:flex;flex-direction:column;gap:8px}.review-record-primary,.review-content-main{font-size:14px;font-weight:600;line-height:1.55}.review-record-meta,.review-subline,.review-remark-preview,.review-mobile-record{color:var(--theme_text-weak);font-size:13px;line-height:1.55}.review-subline,.review-remark-preview{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.review-subline,.review-remark-preview{-webkit-line-clamp:2}.state-pill{display:inline-flex;align-items:center;align-self:flex-start;min-height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:0}.state-pill.is-new{background:#1b61c914;color:var(--theme_accent-secondary)}.state-pill.is-reviewed{background:#00640014;color:var(--theme_success-text)}.state-pill.is-hidden{background:#181d2614;color:#181d26c2}.state-pill.is-featured{background:#1b61c91f;color:var(--theme_accent-primary)}.state-pill.is-neutral{background:#181d260f;color:#181d2699}.review-action-cell{display:flex;flex-wrap:wrap;gap:10px 14px}.review-mobile-list{display:grid;gap:14px}.review-mobile-card{padding:18px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-primary)}.review-mobile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.review-mobile-time{font-size:15px;font-weight:600;line-height:1.35}.review-mobile-badges{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.el-alert{border-radius:var(--cg-radius-lg);border:1px solid var(--cg-color-border)}.el-button{height:var(--cg-control-height);padding:0 14px;border-radius:var(--cg-radius-lg);font-weight:600;letter-spacing:0}.el-button--small{height:var(--cg-control-height-sm);padding:0 12px;border-radius:var(--cg-radius-md);font-size:13px}.el-button--primary{border-color:var(--cg-color-primary);background:var(--cg-color-primary)}.el-button--primary:hover,.el-button--primary:focus{border-color:var(--cg-color-primary-hover);background:var(--cg-color-primary-hover)}.el-button--default,.el-button--info{border-color:var(--cg-color-border);background:var(--cg-color-surface);color:var(--theme_text-primary)}.el-button.is-link{height:auto;padding:0;color:var(--theme_accent-primary)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner,.el-input-number,.el-input-number .el-input__wrapper{border-radius:var(--cg-radius-lg)}.el-input__wrapper,.el-select__wrapper,.el-input-number .el-input__wrapper{min-height:var(--cg-control-height);padding-left:12px;padding-right:12px;box-shadow:0 0 0 1px var(--cg-color-border) inset}.el-input__wrapper.is-focus,.el-select__wrapper.is-focused,.el-textarea__inner:focus{box-shadow:0 0 0 1px #1d5fd18c inset,0 0 0 3px #1d5fd11a}.el-textarea__inner{min-height:96px;padding:12px 14px;line-height:1.65;box-shadow:0 0 0 1px var(--cg-color-border) inset}.el-switch{--el-switch-on-color: var(--theme_accent-primary)}.el-table{color:var(--theme_text-primary)}.el-table:before{display:none}.el-table th.el-table__cell{height:42px;background:#f8fafcf5;color:#181d26b8;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}.el-table td.el-table__cell,.el-table th.el-table__cell{border-bottom-color:#e0e2e6d1}.el-table tr{background:#ffffffe0}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#f8fafceb}.el-pagination{gap:8px}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{min-width:var(--cg-control-height-sm);height:var(--cg-control-height-sm);border-radius:var(--cg-radius-md);background:#ffffffeb;border:1px solid rgba(224,226,230,.92);color:var(--theme_text-primary)}.el-pagination.is-background .el-pager li.is-active{border-color:#1b61c933;background:#1b61c91a;color:var(--theme_accent-primary)}.el-dialog{border-radius:var(--cg-radius-lg);background:#fffffffa;box-shadow:var(--cg-shadow-popover)}.el-dialog__header{margin-right:0;padding:20px 22px 0}.el-dialog__body{padding:18px 22px}.el-dialog__footer{padding:0 22px 22px}.el-dialog__title{color:var(--theme_text-primary);font-size:20px;font-weight:700;letter-spacing:0}.el-descriptions{--el-descriptions-table-border: rgba(224, 226, 230, .9)}.el-descriptions__label.el-descriptions__cell{color:#181d26b8;background:#f8fafcf5;font-weight:600;letter-spacing:.08px}.el-descriptions__content.el-descriptions__cell{line-height:1.72}.mobile-nav-bar,.mobile-nav-overlay{display:none}.mobile-drawer-enter-active,.mobile-drawer-leave-active{transition:opacity .22s cubic-bezier(.22,1,.36,1)}.mobile-drawer-enter-active .mobile-nav-drawer,.mobile-drawer-leave-active .mobile-nav-drawer{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s ease}.mobile-drawer-enter-from,.mobile-drawer-leave-to{opacity:0}.mobile-drawer-enter-from .mobile-nav-drawer,.mobile-drawer-leave-to .mobile-nav-drawer{opacity:.96;transform:translate(calc(-100% - 20px))}.mobile-nav-button,.mobile-nav-close{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-primary);color:var(--theme_text-primary);cursor:pointer}.mobile-nav-button{width:var(--cg-control-height-lg);height:var(--cg-control-height-lg);padding:0;flex-direction:column;gap:4px;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.mobile-nav-button span{width:18px;height:2px;border-radius:999px;background:currentColor}.mobile-nav-title{display:flex;align-items:center;gap:12px}.mobile-nav-title-text{font-size:20px;font-weight:600}.mobile-nav-close{width:var(--cg-control-height-lg);height:var(--cg-control-height-lg);font-size:24px;line-height:1;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.mobile-nav-bar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.mobile-nav-title{min-width:0;justify-self:center}.mobile-user-trigger{display:inline-flex;align-items:center;justify-content:center;width:var(--cg-control-height-lg);height:var(--cg-control-height-lg);padding:0;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-primary);color:var(--theme_text-primary);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease}.mobile-nav-drawer-brand{display:flex;align-items:center;gap:12px}.dashboard-brand{margin-bottom:18px}.dashboard-brand-title{font-size:20px;font-weight:600}.sidebar-user-area{margin-top:auto;padding-top:16px;border-top:1px solid rgba(224,226,230,.9)}.sidebar-user-trigger{display:flex;width:100%;align-items:center;gap:12px;padding:12px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:#f8fafcf5;color:var(--theme_text-primary);text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.sidebar-user-trigger-copy{display:grid;min-width:0;gap:4px}.sidebar-user-trigger:hover,.mobile-nav-button:hover,.mobile-nav-close:hover,.mobile-user-trigger:hover{border-color:#1b61c933;background:#1b61c90a;box-shadow:0 10px 22px #1b61c914;transform:translateY(-1px)}.sidebar-user-trigger:focus-visible,.mobile-nav-button:focus-visible,.mobile-nav-close:focus-visible,.mobile-user-trigger:focus-visible,.user-menu-item:focus-visible,.product-tab-button:focus-visible,.audit-log-mode-button:focus-visible,.pill-action:focus-visible,.review-card-clickable:focus-visible{outline:none;border-color:#1b61c966;box-shadow:0 0 0 1px #1b61c966,0 0 0 4px #1b61c91a}.sidebar-user-trigger-name{font-size:15px;font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.sidebar-user-trigger-role{color:var(--theme_text-weak);font-size:12px;line-height:1.4}.user-menu-anchor{position:relative}.user-menu-anchor-mobile{justify-self:end}.user-menu-panel-enter-active,.user-menu-panel-leave-active{transition:opacity .16s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.user-menu-panel-enter-from,.user-menu-panel-leave-to{opacity:0;transform:translateY(-6px) scale(.985)}.user-menu-flyout{position:absolute;z-index:40;width:min(260px,calc(100vw - 24px))}.user-menu-flyout-mobile{top:calc(100% + 10px);right:0}.user-menu-flyout-sidebar{bottom:calc(100% + 12px);left:0}.user-menu-card{display:grid;gap:10px;padding:14px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:#fffffffa;box-shadow:var(--cg-shadow-popover)}.user-menu-profile{display:flex;align-items:center;gap:12px}.user-menu-profile-copy{display:grid;min-width:0;gap:4px}.user-menu-profile-name{font-size:16px;font-weight:600;line-height:1.3}.user-menu-profile-subtitle{color:var(--theme_text-weak);font-size:12px;line-height:1.4}.user-avatar-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-size:14px;font-weight:700;line-height:1;flex-shrink:0}.user-avatar-badge.is-large{width:42px;height:42px;font-size:18px}.user-menu-actions{display:grid;gap:6px}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:var(--cg-radius-md);background:transparent;color:var(--theme_text-primary);font-size:14px;line-height:1.4;text-align:left;cursor:pointer}.user-menu-item svg{width:18px;height:18px;flex-shrink:0}.user-menu-item:hover{background:#1b61c914}.user-menu-item.is-danger{color:#b42318}.user-menu-item.is-danger:hover{background:#b4231814}.user-settings-list{display:grid;gap:12px}.user-settings-item{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid rgba(224,226,230,.82)}.user-settings-item:last-child{padding-bottom:0;border-bottom:none}.user-settings-label{color:var(--theme_text-weak);font-size:12px;font-weight:600;line-height:1.4}.user-settings-value{font-size:14px;line-height:1.65;word-break:break-all}.user-settings-trusted-devices{gap:10px}.user-settings-empty{color:var(--theme_text-weak);font-size:13px;line-height:1.5}.trusted-device-list{display:grid;gap:8px}.trusted-device-row{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:10px;align-items:center;padding:10px;border:1px solid rgba(224,226,230,.86);border-radius:8px;background:#f8fafceb}.trusted-device-row.is-revoked{opacity:.62}.trusted-device-copy{min-width:0}.trusted-device-name{overflow:hidden;color:var(--theme_text-primary);font-size:13px;font-weight:700;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.trusted-device-meta{margin-top:3px;color:var(--theme_text-weak);font-size:12px;line-height:1.45}.trusted-device-revoke{width:56px;height:28px;border:1px solid rgba(180,35,24,.18);border-radius:6px;background:#b423180f;color:#b42318;font-size:12px;font-weight:700;cursor:pointer}.trusted-device-revoke:disabled{cursor:not-allowed;opacity:.55}.reviews-workspace-panel{display:flex;flex-direction:column;gap:14px}.reviews-workspace-panel>.panel-heading-row{margin-bottom:0}.product-tab-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.product-tab-row-inline{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.product-tab-button{flex:0 0 auto;min-width:86px;height:var(--cg-control-height-sm);padding:0 12px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:#ffffffeb;color:var(--theme_text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.product-tab-button:hover{border-color:#1b61c938;background:#1b61c90d}.product-tab-button.is-active{border-color:#1b61c938;background:#1b61c91a;color:var(--theme_accent-primary);font-weight:600}.reviews-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.reviews-toolbar-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.reviews-filter-field,.reviews-filter-actions{display:grid;gap:6px;min-width:0}.reviews-filter-label{color:var(--theme_text-weak);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:0}.reviews-filter-control{width:100%;min-width:0}.reviews-filter-keyword{width:100%}.reviews-toolbar-pagination{display:flex;align-items:center;justify-content:flex-end;min-width:0}.reviews-toolbar-pagination-row{width:100%;padding-top:4px}.reviews-toolbar .el-pagination{flex-wrap:wrap;justify-content:flex-end}.reviews-toolbar .el-input--small .el-input__wrapper,.reviews-toolbar .el-select--small .el-select__wrapper,.audit-filter-form .el-input__wrapper,.audit-filter-form .el-select__wrapper{min-height:var(--cg-control-height-sm);border-radius:var(--cg-radius-md)}.reviews-toolbar .el-button.el-button--small,.audit-filter-form .el-button{height:var(--cg-control-height-sm);padding:0 12px;border-radius:var(--cg-radius-md)}.reviews-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.review-list-table .el-table__row{cursor:pointer}.review-list-table td.el-table__cell{padding-top:10px;padding-bottom:10px}.review-list-table .el-table__row:hover>td.el-table__cell{background:#1b61c90a!important}.review-list-table td.el-table__cell .cell{width:100%;display:flex;align-items:center;overflow:hidden}.review-comment-cell{display:flex;align-items:flex-start;width:100%;min-width:0;min-height:44px;padding-right:8px}.review-list-meta-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#1b61c914;color:var(--theme_accent-secondary);font-size:12px;font-weight:700;line-height:1}.review-list-table .review-content-main{min-height:3.1em;line-height:1.55;-webkit-line-clamp:2}.review-content-main{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:normal;word-break:break-word}.review-card-clickable{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.review-card-clickable:hover{border-color:#1b61c92e;box-shadow:#0f172a0d 0 6px 18px}.pill-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--cg-control-height-sm);max-width:100%;padding:0 12px;border:1px solid transparent;border-radius:var(--cg-radius-md);background:#ffffffeb;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,opacity .18s ease}.pill-action:disabled{opacity:.58;cursor:not-allowed}.pill-action.is-new{background:#1b61c914;color:var(--theme_accent-secondary)}.pill-action.is-reviewed{background:#00640014;color:var(--theme_success-text)}.pill-action.is-hidden{background:#181d2614;color:#181d26b8}.pill-action.is-featured{background:#1b61c91f;color:var(--theme_accent-primary)}.pill-action.is-neutral{background:#181d260f;color:#181d2699}.pill-action.is-manage{background:#1b61c914;color:var(--theme_accent-secondary)}.pill-action.is-stop{background:#b453091a;color:#9a3412}.pill-action.is-enable{background:#00640014;color:var(--theme_success-text)}.pill-action.is-delete{background:#b91c1c14;color:#b91c1c}.review-feature-trigger{width:88px;min-width:88px}.review-feature-trigger-detail{width:auto;min-width:128px}.review-mobile-card .review-content-main{margin-top:10px}.review-mobile-badges{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.review-detail-dialog .el-dialog,.admin-user-dialog .el-dialog{overflow:hidden;border-radius:var(--cg-radius-lg)}.review-detail-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}.review-detail-actions{display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:flex-start;gap:10px;min-width:0}.review-detail-action-button{min-height:36px;padding:0 14px}.review-detail-close-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--cg-color-border-strong);border-radius:var(--cg-radius-lg);background:#fffffff5;color:#181d26b8;font-size:26px;line-height:1;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.review-detail-close-button:hover{border-color:#1b61c93d;background:#1b61c90f;color:var(--theme_accent-primary);box-shadow:0 8px 18px #1b61c91f}.review-detail-close-button:focus-visible{outline:none;border-color:#1b61c966;box-shadow:0 0 0 1px #1b61c966,0 0 0 4px #1b61c91a}.review-detail-body{display:flex;flex-direction:column;gap:18px}.review-detail-section{display:grid;gap:12px;padding:18px 20px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--theme_surface-secondary)}.review-detail-section-title{margin-bottom:0;font-size:16px;font-weight:600;line-height:1.35}.review-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}.review-detail-section-head .review-detail-section-title,.review-detail-primary-id .review-detail-section-title,.review-detail-id-row .review-detail-section-title,.review-detail-comment-section .review-detail-section-title{margin-bottom:0}.review-detail-id-row{display:grid;gap:12px}.review-detail-id-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.review-detail-id-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--theme_text-weak);font-size:12px;font-weight:500;line-height:1.5}.review-detail-id-meta span:not(:first-child):before{content:"";display:inline-block;width:1px;height:10px;margin-right:12px;vertical-align:-1px;background:#94a3b8b3}.review-detail-primary-id,.review-detail-primary-content{display:grid;gap:12px}.review-detail-primary-id{margin-bottom:0}.review-detail-comment-section{display:grid;gap:12px}.dashboard-panel>.review-detail-primary-id,.dashboard-panel>.review-detail-comment-section{margin-bottom:18px}.review-detail-id-label{color:var(--theme_text-weak);font-size:12px;font-weight:600;line-height:1.4}.review-detail-id-value{font-size:14px;font-weight:600;line-height:1.45;word-break:break-all}.review-detail-content,.review-detail-readonly{padding:14px 16px;border:1px solid rgba(224,226,230,.88);border-radius:8px;background:#f8fafcd1;color:var(--theme_text-primary);font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.review-detail-grid{display:grid;gap:16px 20px}.review-detail-grid-basic{grid-template-columns:repeat(4,minmax(0,1fr))}.review-detail-grid-support{grid-template-columns:repeat(3,minmax(0,1fr))}.review-detail-grid-item{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-surface)}.review-detail-grid-label{color:var(--theme_text-weak);font-size:12px;font-weight:600;line-height:1.4}.review-detail-grid-value{font-size:14px;line-height:1.7;word-break:break-all}.review-detail-images{display:grid;gap:12px;margin-top:16px}.review-detail-image-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-detail-image-item{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);background:var(--cg-color-surface)}.review-detail-image-preview{display:block;aspect-ratio:4 / 3;overflow:hidden;border:1px solid rgba(224,226,230,.92);border-radius:8px;background:#f6f7f9}.review-detail-image-preview img{width:100%;height:100%;display:block;object-fit:cover}.review-detail-image-fallback,.review-detail-image-empty{display:grid;min-height:96px;place-items:center;padding:12px;border:1px dashed rgba(147,155,170,.75);border-radius:8px;color:var(--theme_text-weak);font-size:13px;line-height:1.5;text-align:center;background:#f8fafcc2}.review-detail-image-meta{display:grid;gap:4px;min-width:0}.review-detail-image-name{color:var(--theme_text-strong);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.review-operation-history{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(224,226,230,.86)}.review-operation-history-item{position:relative;display:grid;gap:4px;padding:12px 0 12px 18px;border-bottom:1px solid rgba(224,226,230,.86)}.review-operation-history-item:before{content:"";position:absolute;top:20px;left:2px;width:7px;height:7px;border-radius:999px;background:var(--theme_accent-primary)}.review-operation-history-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-width:0}.review-operation-action{color:var(--theme_text-primary);font-size:14px;font-weight:600;line-height:1.4}.review-operation-description{flex:1 1 260px;min-width:0;color:var(--theme_text-primary);font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.review-operation-time{color:var(--theme_text-weak);font-size:12px;line-height:1.5}.review-operation-time{flex:0 0 auto}.review-operation-meta{min-width:0;color:var(--theme_text-weak);font-size:12px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.review-operation-detail{color:var(--theme_text-strong);font-size:13px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:1180px){.review-detail-grid-basic{grid-template-columns:repeat(3,minmax(0,1fr))}.review-detail-grid-support,.review-detail-image-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.feature-inline-dropdown.el-popper{padding:6px;border:1px solid var(--cg-color-border);border-radius:var(--cg-radius-lg);box-shadow:var(--cg-shadow-popover)}.feature-inline-dropdown .el-dropdown-menu{padding:0}.feature-inline-dropdown .el-dropdown-menu__item{min-width:110px;min-height:38px;padding:8px 12px;border-radius:10px;color:var(--theme_text-strong);line-height:1.4}.feature-inline-dropdown .el-dropdown-menu__item:not(.is-disabled):focus{background:#1b61c90f;color:var(--theme_accent-primary)}.feature-level-option.is-active{background:#1b61c91a;color:var(--theme_accent-primary);font-weight:600}.audit-filter-form{width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) 180px auto;gap:10px 12px;align-items:end}.audit-filter-form .el-form-item,.audit-filter-item{margin-right:0;margin-bottom:0}.audit-filter-actions .el-form-item__content{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.admin-role-help{margin-top:8px;color:var(--cg-color-muted);font-size:13px;line-height:1.7}.admin-field-hint{margin-top:8px;color:var(--cg-color-muted);font-size:12px;line-height:1.6}.admin-switch-field{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:8px}.admin-switch-hint{margin-top:0}.product-switch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 18px}.product-switch-grid label{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(203,213,225,.82);border-radius:10px;background:#f8fafcdb;color:var(--theme_text-strong);font-size:13px;font-weight:700}.product-switch-grid input{width:16px;height:16px;margin:0;accent-color:var(--theme_accent-primary)}.admin-user-dialog-footer{display:flex;justify-content:flex-end;gap:10px}.review-detail-dialog .el-dialog{display:flex;max-width:calc(100vw - 32px);max-height:calc(100vh - 40px);flex-direction:column}.review-detail-dialog .el-dialog__header{position:sticky;top:0;z-index:2;padding:14px 20px;background:linear-gradient(180deg,#f8fafcfa,#fffffffa);border-bottom:1px solid rgba(224,226,230,.92)}.review-detail-dialog .el-dialog__body{flex:1 1 auto;overflow-y:auto;padding:16px 20px 20px}.admin-user-dialog .el-dialog__header{position:relative;padding:20px 20px 16px;background:linear-gradient(180deg,#f8fafcfa,#fffffffa);border-bottom:1px solid var(--cg-color-border)}.admin-user-dialog .el-dialog__title{font-size:20px;font-weight:600;line-height:1.2}.admin-user-dialog .el-dialog__headerbtn{top:16px;right:16px;width:var(--cg-control-height);height:var(--cg-control-height);border:1px solid var(--cg-color-border-strong);border-radius:var(--cg-radius-lg);background:#fffffff5;color:var(--theme_text-strong);transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.admin-user-dialog .el-dialog__headerbtn:hover{border-color:#1b61c940;background:#1b61c914;color:var(--theme_accent-primary);box-shadow:0 8px 18px #1b61c91f}.admin-user-dialog .el-dialog__close{font-size:18px;font-weight:700}.admin-user-dialog .el-dialog__body{padding-top:16px}.admin-user-action-button{min-width:68px}.admin-password-field{position:relative;width:100%}.admin-password-field .el-input{width:100%}.admin-password-field .el-input__wrapper{width:100%;min-height:var(--cg-control-height);padding-right:46px}.admin-password-field .el-input__inner{width:100%;padding-right:42px}.admin-password-toggle{position:absolute;top:50%;right:10px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--cg-radius-md);background:transparent;color:#475569eb;cursor:pointer;transform:translateY(-50%);transition:background-color .18s ease,color .18s ease}.admin-password-toggle:hover{background:#1b61c914;color:var(--theme_accent-primary)}.admin-password-toggle:focus-visible{outline:none;background:#1b61c91a;box-shadow:0 0 0 2px #1b61c92e}.admin-password-toggle svg{width:18px;height:18px}@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.dashboard-layout{display:block}.dashboard-sidebar{display:none}.mobile-nav-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid rgba(224,226,230,.9);background:var(--theme_surface-primary)}.mobile-nav-overlay{position:fixed;inset:0;z-index:30;display:block;background:#0f172a4d}.mobile-nav-drawer{width:min(280px,82vw);height:100%;padding:20px 16px;border-right:1px solid rgba(224,226,230,.9);background:var(--theme_surface-primary)}.mobile-nav-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dashboard-main{padding:20px 16px 32px}.metric-card{padding:18px 16px}.metric-value{margin-top:10px;font-size:28px}.metric-caption{margin-top:8px;font-size:12px}.sidebar-menu .el-menu-item{margin-bottom:6px}.reviews-toolbar{grid-template-columns:1fr}.reviews-toolbar-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.reviews-toolbar-pagination,.reviews-toolbar .el-pagination{justify-content:flex-start}.audit-filter-form{grid-template-columns:minmax(0,1fr) 180px}.audit-filter-actions{grid-column:1 / -1}.audit-filter-actions .el-form-item__content{justify-content:flex-start}}@media(max-width:768px){.login-page,.dashboard-main{padding-left:16px;padding-right:16px}.dashboard-main{padding:16px}.dashboard-header,.panel-heading-row{flex-direction:column;align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-panel,.filter-panel,.table-panel{padding:16px;border-radius:var(--cg-radius-lg)}.login-card{padding:24px 20px}.metric-card{padding:14px 12px;border-radius:var(--cg-radius-lg)}.metric-label{font-size:12px;letter-spacing:0}.metric-value{font-size:24px;letter-spacing:0}.metric-caption{display:none}.review-mobile-top{flex-direction:column}.review-mobile-badges{align-items:flex-start}.mobile-nav-title-text{font-size:18px}.mobile-user-trigger{width:44px}.product-tab-button{min-width:74px;padding:0 12px;justify-content:center}.product-tab-row-inline{gap:6px}.audit-log-mode-switch{width:100%}.audit-log-mode-button{flex:1 1 0}.reviews-toolbar{gap:12px}.reviews-toolbar-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-filter-control,.reviews-filter-keyword{width:100%}.review-detail-actions{gap:8px}.review-detail-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;position:relative;padding:12px;border-radius:var(--cg-radius-lg);overflow:hidden;isolation:isolate}.review-detail-toolbar:before{content:"";position:absolute;inset:0;border:1px solid rgba(224,226,230,.74);border-radius:inherit;background:linear-gradient(180deg,#f8fafcf5,#f8fafce0 62%,#f8fafc94);box-shadow:0 14px 28px #0f306a1f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:none;z-index:0}.review-detail-actions,.review-detail-close-button{position:relative;z-index:1}.review-detail-action-button{flex:0 1 auto;min-height:34px;padding:0 12px}.review-detail-dialog .el-dialog{width:calc(100vw - 24px)!important}.review-detail-dialog .el-dialog__body{padding:14px 16px 16px}.review-detail-section{padding:14px;border-radius:var(--cg-radius-lg)}.review-detail-grid-basic,.review-detail-image-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-review-top,.admin-user-top,.audit-log-top{flex-direction:column;align-items:flex-start}.audit-pagination-row{justify-content:flex-start}.audit-filter-form{grid-template-columns:1fr;gap:10px}.filter-panel .panel-subtitle{margin-top:4px;font-size:13px;line-height:1.55}.audit-filter-form .el-form-item__label{padding-bottom:6px;font-size:13px;line-height:1.4}.audit-filter-form .el-input,.audit-filter-form .el-select{width:100%!important}.audit-filter-actions .el-form-item__content{width:100%}.audit-filter-actions .el-button{flex:1 1 0;min-height:36px;min-width:0}.admin-user-dialog .el-dialog,.review-detail-dialog .el-dialog{display:flex;flex-direction:column}.admin-user-dialog .el-dialog__header,.review-detail-dialog .el-dialog__header{position:sticky;top:0;z-index:2}.admin-user-dialog .el-dialog__header{background:var(--theme_surface-primary)}.review-detail-dialog .el-dialog__header{padding:12px 16px 0;background:transparent;border-bottom:none}.admin-user-dialog .el-dialog__body,.review-detail-dialog .el-dialog__body{flex:1 1 auto;overflow-y:auto}.review-feature-trigger-detail{min-width:0}.admin-user-dialog-footer{flex-direction:column-reverse}.admin-user-dialog .el-dialog__footer{position:sticky;bottom:0;z-index:2;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--theme_surface-primary);border-top:1px solid rgba(224,226,230,.9)}.admin-user-dialog-footer .el-button{width:100%;margin-left:0!important}.admin-user-dialog .el-row{margin-left:0!important;margin-right:0!important}.admin-user-dialog .el-col{padding-left:0!important;padding-right:0!important}.admin-role-help{font-size:12px;line-height:1.55}.admin-switch-field{gap:6px}.product-switch-grid{grid-template-columns:1fr}}
