:root { --primary: #6845ce; --primary-dark: #5130ae; --primary-soft: #f0eafc; --ink: #292337; --muted: #81778e; --line: #ebe6f0; --shadow: 0 8px 32px rgba(46, 31, 70, .04); color: var(--ink); background: #f7f5fa; font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; font-synthesis: none; }
.feedback-workspace { margin-top: 24px; }
.feedback-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.feedback-page-heading h2 { font-size: 24px; }
.feedback-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.feedback-panel { padding: 24px; }
.feedback-filters { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; }
.feedback-filters label { display: flex; flex-direction: column; gap: 8px; font-size: 12px; color: #867892; min-width: 130px; }
.feedback-filters .search-label { flex: 1; min-width: 180px; }
.feedback-message { min-height: 20px; margin: 20px 0 8px; color: #9689A1; font-size: 12px; }
.feedback-table { min-width: 950px; }
.feedback-table td { vertical-align: top; }
.feedback-table th:nth-child(1) { width: 15%; }.feedback-table th:nth-child(2) { width: 15%; }.feedback-table th:nth-child(3) { width: 10%; }.feedback-table th:nth-child(4) { width: 25%; }.feedback-table th:nth-child(5) { width: 10%; }.feedback-table th:nth-child(6) { width: 14%; }.feedback-table th:nth-child(7) { width: 11%; }
.feedback-panel .table-wrap { overflow-x: auto; }
.feedback-cell-title, .feedback-cell-muted { display: block; overflow-wrap: anywhere; }
.feedback-cell-muted { color: #9A8BA6; font-size: 11px; line-height: 1.7; margin-top: 6px; }
.feedback-excerpt { min-width: 180px; max-width: 340px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; }
.feedback-activity-cell { min-width: 140px; max-width: 220px; overflow-wrap: anywhere; }
.feedback-state { display: inline-block; padding: 6px 10px; border-radius: 9px; white-space: nowrap; font-size: 11px; }
.feedback-state.pending { color: #A07330; background: #FFF3D9; }
.feedback-state.processing { color: #8051BC; background: #F0E7FC; }
.feedback-state.resolved { color: #358877; background: #E8F6F0; }
.feedback-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; color: #988AA3; font-size: 12px; }
.feedback-dialog { width: min(680px, calc(100vw - 32px)); max-height: 88vh; overflow-y: auto; padding: 28px; border: 1px solid #E5DCEF; border-radius: 22px; color: var(--ink); }
.feedback-dialog::backdrop { background: rgba(41, 30, 53, .35); backdrop-filter: blur(3px); }
.feedback-detail { margin: 22px 0; padding: 22px; border: 1px solid #EDE4F4; border-radius: 16px; background: #FAF7FD; }
.feedback-detail-field + .feedback-detail-field { margin-top: 18px; }
.feedback-detail-label { color: #9B89AB; font-size: 11px; }
.feedback-detail-value { margin-top: 6px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: 13px; }
.feedback-history { margin-top: 22px; color: #8C799C; font-size: 12px; }
.feedback-history summary { cursor: pointer; }
.feedback-history-item { margin-top: 16px; padding: 16px; border-radius: 12px; background: #F8F5FB; line-height: 1.8; }
@media (max-width: 800px) { .feedback-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.feedback-panel { padding: 18px; }.topbar-actions { flex-wrap: wrap; }.feedback-filters label { flex: 1; }.feedback-page-heading h2 { font-size: 21px; } }
@media (max-width: 720px) { .feedback-panel .feedback-table { min-width: 0; }.feedback-table tbody tr { grid-template-columns: 1fr; gap: 12px; }.feedback-table td { grid-column: 1; }.feedback-table .feedback-cell-title { font-size: 14px; color: #51425F; }.feedback-table .feedback-excerpt { max-width: 100%; min-width: 0; padding: 12px; background: #F8F5FC; border-radius: 12px; }.feedback-table .feedback-activity-cell { max-width: 100%; }.feedback-stats .stat-card:first-child { grid-column: auto; display: block; }.feedback-stats .stat-card:first-child strong { margin-top: 12px; } }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
button:disabled { cursor: not-allowed; opacity: .6; }
h1, h2, p { margin: 0; }
h1 { font-size: 27px; letter-spacing: -.03em; font-weight: 750; }
h2 { font-size: 17px; line-height: 1.5; font-weight: 700; }
.eyebrow { margin-bottom: 6px; color: #998aa9; font-size: 10px; font-weight: 600; letter-spacing: .045em; }
.muted { color: var(--muted); line-height: 1.7; font-size: 13px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 39px; padding: 9px 16px; border: 1px solid transparent; border-radius: 11px; font-size: 12px; font-weight: 650; white-space: nowrap; transition: background .16s, border-color .16s, box-shadow .16s; }
.button.primary { color: white; background: linear-gradient(120deg, #7752d6, #6340c2); box-shadow: 0 4px 10px rgba(104, 69, 206, .13); }
.button.primary:hover { background: #5934b6; }
.button.danger { color: white; background: #a23f4b; }
.button.danger:hover { background: #88313c; }
.button.secondary { color: #6b49b8; border-color: #e5dbf3; background: #f2ecfb; }
.button.secondary:hover { background: #eae0f8; }
.button.ghost { color: #847590; border-color: #e8e2ee; background: #fff; }
.button.ghost:hover { color: #6542b4; background: #faf7fe; border-color: #d9cbee; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid #e9def7; border-radius: 10px; color: #8261bc; background: #f8f3fe; font-size: 23px; line-height: 1; }
.button-row { display: flex; gap: 8px; }
:focus-visible { outline: 3px solid rgba(135, 103, 208, .3); outline-offset: 2px; }
.brand-mark { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 28px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #9571dc, #6541c5); box-shadow: 0 9px 21px rgba(105, 65, 192, .14); font-size: 25px; font-weight: 700; }
.brand-mark.compact { width: 43px; height: 43px; margin: 0; border-radius: 13px; font-size: 19px; }
.login-shell { position: relative; min-height: 100vh; display: grid; place-items: center; overflow: hidden; padding: 40px 20px; background: radial-gradient(ellipse at 20% 20%, #ede3ff, transparent 50%), radial-gradient(ellipse at 88% 80%, #ffe6d4, transparent 50%), #fcfaff; }
.login-card { position: relative; width: min(450px, 100%); padding: 38px; border: 1px solid rgba(255,255,255,.8); border-radius: 27px; background: rgba(255,255,255,.94); box-shadow: 0 20px 80px rgba(103, 72, 143, .1); }
.login-card h1 { margin: 10px 0; font-size: 29px; }
.login-card .stack { gap: 10px; }
.login-card .button { width: 100%; margin-top: 8px; min-height: 45px; }
.login-card .error { min-height: 18px; margin: 16px 0 0; }
.login-help { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); color: #96849f; font-size: 11px; line-height: 1.75; }
.login-help summary { cursor: pointer; }
.login-help p { margin-top: 9px; }
.login-decoration { position: absolute; left: max(5%, calc(50% - 550px)); top: 22%; width: 260px; height: 290px; transform: rotate(-12deg); opacity: .7; pointer-events: none; }
.decoration-orbit { position: absolute; width: 260px; height: 260px; border: 1px solid #d6c6ec; border-radius: 50%; }
.decoration-gift { position: absolute; left: 52px; top: 52px; display: grid; place-items: center; width: 156px; height: 156px; border-radius: 40px; color: #a36841; background: linear-gradient(135deg, #ffe4c6, #f6bf9c); box-shadow: 14px 18px 25px rgba(167, 109, 65, .1); font-size: 62px; font-weight: 650; }
.decoration-dot { position: absolute; width: 18px; height: 18px; border-radius: 5px; background: #b4a0d7; }
.decoration-dot.one { top: 20px; right: 28px; }.decoration-dot.two { bottom: 0; left: 26px; width: 12px; height: 12px; background: #ddb875; }
.dashboard { width: min(1720px, 100%); margin: 0 auto; padding: 28px 30px 48px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand-lockup { display: flex; align-items: center; gap: 14px; }
.topbar .eyebrow { margin-bottom: 3px; }
.topbar-actions { display: flex; align-items: center; gap: 13px; }
.pill { display: flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid #e0ece4; border-radius: 9px; color: #739580; background: #f5faf6; font-size: 10px; }
.pill i { width: 5px; height: 5px; border-radius: 50%; background: #77ab8b; }
.dashboard-intro { display: flex; align-items: center; justify-content: space-between; margin: 18px 0 22px; color: #8c8098; font-size: 12px; line-height: 1.7; }
.workspace-label { color: #a998b6; font-size: 11px; }
.activity-overview-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.activity-overview-heading h2 { font-size: 24px; }
.activity-overview-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.activity-overview-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); gap: 20px; }
.activity-overview-card { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; }
.activity-overview-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-bottom: 18px; font-size: 12px; }
.activity-overview-type { color: #786a83; }
.activity-overview-state { padding: 5px 9px; border-radius: 8px; white-space: nowrap; }
.activity-overview-state.open { color: #3d7b65; background: #eaf5ed; }
.activity-overview-state.paused { color: #8c7040; background: #fcf4e2; }
.activity-overview-card h3 { margin: 0 0 12px; font-size: 19px; line-height: 1.5; overflow-wrap: anywhere; }
.activity-overview-description { color: var(--muted); font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; white-space: pre-wrap; }
.activity-overview-meta { margin: 18px 0 22px; color: #786a83; font-size: 12px; line-height: 1.7; }
.activity-overview-card > .button { margin-top: auto; }
.topbar-actions { flex-wrap: wrap; }
@media (max-width: 720px) { .topbar { align-items: flex-start; flex-direction: column; }.activity-overview-heading { align-items: flex-start; flex-direction: column; }.activity-overview-card { padding: 20px; }.activity-overview-list { gap: 14px; } }
.stats-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; margin-bottom: 24px; }
.stat-card { position: relative; padding: 19px 20px 16px; border: 1px solid #ece5f3; border-radius: 17px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.stat-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.stat-heading > span { color: #8b7d99; font-size: 11px; font-weight: 500; }
.stat-heading i { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; font-size: 12px; font-style: normal; font-weight: 650; }
.stat-card strong { display: block; margin-bottom: 8px; font-size: 35px; font-weight: 750; letter-spacing: -.045em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat-card small { color: #a093ad; font-size: 10px; }
.stat-card.violet { background: linear-gradient(120deg, #f2ebff, #faf7ff); border-color: #e6daf8; }.violet .stat-heading i { color: #8963c9; background: #e5d8fa; }.violet strong { color: #6742b7; }
.coral .stat-heading i { color: #cb8863; background: #fff0e5; }.coral strong { color: #ba7957; }
.amber .stat-heading i { color: #b08d47; background: #fcf4e2; }.amber strong { color: #ab853b; }
.teal .stat-heading i { color: #659c85; background: #eaf5ed; }.teal strong { color: #4f9376; }
.blue .stat-heading i { color: #7891c0; background: #ecf1fb; }.blue strong { color: #6889b8; }
.workspace { display: grid; grid-template-columns: 236px minmax(0, 1fr); align-items: start; gap: 20px; }
.panel { min-width: 0; border: 1px solid #eae4f0; border-radius: 19px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.activity-panel { position: sticky; top: 20px; padding: 20px 16px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.activity-panel h2 { font-size: 14px; }
.stack { display: grid; gap: 14px; margin-top: 24px; }
.stack.compact { padding: 14px; margin: 18px 0 8px; border: 1px solid #e9e0f3; border-radius: 13px; background: #fcfaff; }
.field-help { color: #9886a3; font-size: 10px; font-weight: 400; line-height: 1.5; }
.admin-level-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.admin-level-button { min-height: 32px; padding: 6px; border: 1px solid #e9e3ef; border-radius: 9px; color: #ada2b7; background: #f5f2f8; font-size: 11px; font-weight: 650; cursor: pointer; }
.admin-level-button.on { border-color: #d7c6f0; color: #7853b4; background: #efe6fb; }
label { display: grid; gap: 7px; color: #89768f; font-size: 11px; font-weight: 550; }
input, textarea, select { width: 100%; min-width: 0; min-height: 39px; padding: 9px 11px; border: 1px solid #e8e1ef; border-radius: 10px; color: #554364; background: #fff; font-size: 12px; outline: none; }
textarea { min-height: 77px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #b2a4bd; }
input:focus, textarea:focus, select:focus { border-color: #b69bdc; box-shadow: 0 0 0 3px #f3ebfc; }
.activity-list { display: grid; gap: 8px; margin-top: 19px; }
.activity-item { position: relative; width: 100%; padding: 13px 12px; border: 1px solid #ede7f2; border-radius: 12px; color: #73617e; background: #fff; text-align: left; }
.activity-item:hover { border-color: #d7c5ed; background: #fdfbff; }
.activity-item.active { border-color: #ddd0ef; color: #7855b7; background: #f3ecfc; }
.activity-item strong, .activity-item span { display: block; }
.activity-item strong { margin-bottom: 5px; font-size: 12px; line-height: 1.6; font-weight: 650; }
.activity-item span { color: #ac99bb; font-size: 10px; line-height: 1.6; }
.activity-item.active span { color: #a68bbc; }
.sidebar-note { display: flex; align-items: flex-start; gap: 8px; margin: 21px 3px 2px; padding-top: 18px; border-top: 1px dashed #e8dfef; color: #a897b5; font-size: 10px; line-height: 1.9; }
.sidebar-note-icon { display: grid; place-items: center; width: 14px; height: 14px; margin-top: 4px; border: 1px solid #c4b5d0; border-radius: 50%; flex: 0 0 auto; font-size: 9px; }
.claims-heading { padding: 22px 24px; border-bottom: 1px solid #f0eaf5; align-items: flex-start; }
.claims-heading .eyebrow { margin-bottom: 4px; }
.claims-heading h2 { font-size: 17px; }
.result-summary { margin-top: 7px; color: #a491b2; font-size: 11px; line-height: 1.6; }
.claims-actions { display: flex; gap: 8px; flex: 0 0 auto; padding-top: 8px; }
.activity-settings { margin: 18px 24px 0; padding: 17px; border: 1px solid #e8ddf2; border-radius: 14px; background: #fcfaff; }
.mount-path { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; padding-bottom: 17px; border-bottom: 1px solid #e8deef; }
.mount-path div { min-width: 0; }.mount-path span { display: block; margin-bottom: 6px; color: #9278a2; font-size: 10px; }.mount-path code { display: block; color: #85649d; font-size: 11px; overflow-wrap: anywhere; }
.level-config { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(235px, 1.4fr) auto; align-items: center; gap: 15px; }
.level-config strong, .level-config > div:first-child span { display: block; }.level-config strong { margin-bottom: 5px; color: #806291; font-size: 12px; }.level-config > div:first-child span { color: #ae96bc; font-size: 10px; line-height: 1.7; }
.filters { display: grid; grid-template-columns: 104px 112px minmax(155px, 1fr) auto; gap: 10px; align-items: end; padding: 20px 24px; background: #fefcff; border-bottom: 1px solid #eee7f3; }
.filter-actions { display: flex; align-items: center; gap: 7px; }
.notice { padding: 0 24px; color: #7f64aa; font-size: 11px; line-height: 1.7; }.notice:empty { display: none; }.notice:not(:empty) { padding: 10px 24px; background: #faf6ff; }
.error, .notice.error { color: #bb6077; font-size: 12px; line-height: 1.7; }
.table-wrap { overflow-x: auto; }
table { width: 100%; min-width: 840px; border-collapse: collapse; table-layout: fixed; }
th { padding: 13px 15px; color: #a58bb5; background: #fbf8fd; font-size: 10px; font-weight: 550; text-align: left; border-bottom: 1px solid #ece3f3; }
th:nth-child(1) { width: 19%; }th:nth-child(2) { width: 9%; }th:nth-child(3) { width: 25%; }th:nth-child(4) { width: 17%; }th:nth-child(5) { width: 19%; }th:nth-child(6) { width: 11%; }
td { padding: 17px 15px; border-bottom: 1px solid #f0eaf5; vertical-align: top; color: #877394; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
tbody tr:hover { background: #fdfaff; }
tbody tr:last-child td { border-bottom: 0; }
.cell-primary { display: block; margin-bottom: 4px; color: #695275; font-weight: 650; line-height: 1.6; }
.cell-secondary { display: block; color: #a18aad; font-size: 10px; line-height: 1.8; }
.fan-lockup { display: flex; align-items: flex-start; gap: 9px; }.fan-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 29px; height: 29px; border-radius: 10px; color: #9673c1; background: #f0e5fc; font-size: 12px; font-weight: 550; }.fan-lockup > div { min-width: 0; }
.level-tag { display: inline-flex; padding: 4px 9px; border: 1px solid #eed6bd; border-radius: 9px; color: #b98a53; background: #fff6e9; font-size: 11px; font-weight: 650; white-space: nowrap; }
.status-badge { display: inline-flex; align-items: center; gap: 5px; width: fit-content; padding: 3px 8px; margin-bottom: 6px; border-radius: 7px; color: #b08a45; background: #fff6e4; font-size: 10px; font-weight: 600; }.status-badge::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.status-badge.approved { color: #669b84; background: #eff8f1; }.status-badge.rejected { color: #bf8494; background: #fdf1f5; }.status-badge.shipped { color: #7d99c1; background: #f0f4fd; }
.gift-controls { display: grid; gap: 7px; }
.gift-controls .button { min-height: 28px; width: fit-content; padding: 4px 11px; border-radius: 8px; font-size: 10px; }
.empty-state { min-height: 300px; display: grid; place-content: center; gap: 8px; color: #b09bbb; text-align: center; font-size: 12px; }.empty-state strong { color: #8e6ea2; font-size: 14px; }.empty-icon { margin-bottom: 9px; font-size: 36px; color: #b699cd; }
.claim-dialog { width: min(540px, calc(100vw - 28px)); max-height: calc(100vh - 40px); margin: auto; padding: 26px; border: 1px solid #e2d3ee; border-radius: 23px; color: var(--ink); background: #fff; box-shadow: 0 25px 110px rgba(71, 44, 100, .24); overflow: auto; }
.claim-dialog::backdrop { background: rgba(37, 24, 51, .36); }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 23px; }
.dialog-heading h2 { font-size: 23px; }.dialog-heading .eyebrow { color: #a080b2; }
.dialog-recipient { margin-bottom: 24px; padding: 17px; border: 1px solid #eee4f7; border-radius: 13px; background: #fcf8ff; }
.dialog-recipient strong, .dialog-recipient span { display: block; }.dialog-recipient strong { margin-bottom: 6px; color: #755088; font-size: 13px; }.dialog-recipient span { color: #a080af; font-size: 12px; }.dialog-recipient p { margin-top: 8px; color: #b09aba; font-size: 11px; line-height: 1.8; }
.dialog-fields { display: grid; gap: 15px; margin-top: 19px; }
.dialog-hint { margin: 20px 0 13px; color: #aa97b7; font-size: 11px; line-height: 1.8; }
.dialog-footer { display: flex; justify-content: flex-end; gap: 9px; padding-top: 19px; border-top: 1px solid #f0e5f7; margin-top: 20px; }
@media (max-width: 1140px) { .workspace { grid-template-columns: 210px minmax(0, 1fr); gap: 16px; }.claims-heading { flex-direction: column; gap: 12px; }.claims-actions { padding-top: 0; }.filters { grid-template-columns: 1fr 1fr; }.level-config { grid-template-columns: 1fr; } }
@media (max-width: 1140px) { .dashboard { padding: 22px; }.workspace { grid-template-columns: 1fr; }.activity-panel { position: static; }.activity-list { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }.sidebar-note { display: none; }.stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.claims-heading { flex-direction: row; } }
@media (min-width: 721px) and (max-width: 900px) { table { min-width: 0; } th, td { padding-left: 10px; padding-right: 10px; } .claims-heading { flex-direction: column; } }
@media (max-width: 720px) { .dashboard { padding: 18px 14px 30px; }.topbar .eyebrow { font-size: 9px; }.topbar h1 { font-size: 23px; }.brand-mark.compact { width: 37px; height: 37px; border-radius: 11px; }.brand-lockup { gap: 10px; }.topbar-actions { gap: 7px; }.topbar-actions .button { min-height: 32px; padding: 7px 9px; font-size: 10px; }.pill { display: none; }.workspace-label { display: none; }.dashboard-intro { margin: 15px 0 17px; font-size: 11px; }.stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }.stat-card { padding: 15px; }.stat-card strong { font-size: 30px; }.stat-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: center; }.stat-card:first-child .stat-heading { margin: 0; }.stat-card:first-child .stat-heading i { display: none; }.stat-card:first-child strong { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 35px; }.stat-card:first-child small { margin-top: 5px; }.activity-panel { padding: 17px; }.activity-list { margin-top: 13px; }.claims-heading { padding: 19px 17px; flex-direction: column; }.claims-heading h2 { font-size: 16px; }.claims-actions { width: 100%; justify-content: flex-end; }.filters { padding: 16px 17px; }.search-label { grid-column: 1 / -1; }.filter-actions { grid-column: 1 / -1; justify-content: flex-end; }.activity-settings { margin: 15px 17px 0; padding: 13px; }.mount-path { align-items: flex-start; flex-direction: column; }.notice:not(:empty) { padding: 10px 17px; }.table-wrap { overflow: visible; background: #fcfaff; }table { min-width: 0; display: block; }thead { display: none; }tbody { display: grid; gap: 12px; padding: 14px; }tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 15px; border: 1px solid #e9dfef; border-radius: 14px; background: #fff; }td { display: block; padding: 0; border: 0; }.fan-cell { grid-column: 1; }.level-cell { grid-column: 2; margin-left: 12px; }.fan-avatar { width: 31px; height: 31px; }.fan-cell .cell-primary { color: #745187; font-size: 12px; }.address-cell { grid-column: 1 / -1; margin: 14px 0 10px; padding: 12px; border-radius: 10px; background: #fcf8fe; }.note-cell { grid-column: 1 / -1; margin: 0 0 12px; color: #ae90bb; font-size: 10px; }.controls-cell { grid-column: 1 / -1; padding-top: 12px; border-top: 1px solid #f0e6f6; }.gift-controls { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }.gift-controls .cell-secondary { display: none; }.gift-controls .status-badge { margin: 0; }.gift-controls .button { margin-left: auto; min-height: 32px; padding: 5px 14px; }.date-cell { display: none; }.empty-state { min-height: 230px; background: #fff; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Soft surfaces, with stronger text contrast for names, addresses and actions. */
:root { --muted: #71677c; }
.eyebrow, .topbar .eyebrow { color: #7e6e8a; font-size: 11px; }
.dashboard-intro, .result-summary { color: #7e6f8a; }
.stat-heading > span, .stat-card small { color: #786a83; }
.activity-item strong { font-size: 13px; }
.activity-item span, .activity-item.active span, .sidebar-note { color: #83718f; }
.field-help, .level-config > div:first-child span, .mount-path span { color: #806a8f; }
label { color: #75627f; font-size: 12px; }
input::placeholder, textarea::placeholder { color: #8e7f99; }
.button.ghost { color: #796687; }
th { color: #806a90; font-size: 11px; }
td { color: #75627f; font-size: 12px; }
.cell-primary { color: #51425f; }
.cell-secondary { color: #7b6887; font-size: 11px; }
.level-tag { color: #905c24; }
.status-badge { color: #8a611e; font-size: 11px; }
.status-badge.approved { color: #2b7858; }
.status-badge.rejected { color: #9e4864; }
.status-badge.shipped { color: #3c66a3; }
.gift-controls .button { font-size: 11px; }
.dialog-recipient strong { color: #654178; }
.dialog-recipient span, .dialog-recipient p, .dialog-hint { color: #80658e; }
.empty-state { color: #897194; }
@media (max-width: 720px) {
  .fan-cell .cell-primary { color: #5c3c70; font-size: 13px; }
  .note-cell { color: #856790; font-size: 11px; }
  .gift-controls .button { min-height: 42px; }
}

.claims-actions, .shipping-toolbar-actions { flex-wrap: wrap; }
.filters { grid-template-columns: 100px 110px 150px minmax(155px, 1fr) auto; }
.shipping-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 24px; border-bottom: 1px solid #eee7f3; background: #fffcf6; }
.shipping-toolbar > span { color: #92734a; font-size: 12px; }
.shipping-toolbar-actions { display: flex; gap: 8px; }
.selection-heading, .selection-cell { text-align: center; }
.selection-heading input, .selection-cell input { width: 17px; height: 17px; min-height: 0; padding: 0; margin: 4px 0; accent-color: #6845ce; cursor: pointer; }
.claims-panel th:nth-child(1) { width: 4%; }.claims-panel th:nth-child(2) { width: 18%; }.claims-panel th:nth-child(3) { width: 8%; }.claims-panel th:nth-child(4) { width: 23%; }.claims-panel th:nth-child(5) { width: 16%; }.claims-panel th:nth-child(6) { width: 20%; }.claims-panel th:nth-child(7) { width: 11%; }
.selection-cell { padding-left: 8px; padding-right: 8px; }
.after-sale-badge { display: inline-block; padding: 4px 8px; border-radius: 8px; color: #845820; background: #fff0d4; font-size: 11px; line-height: 1.6; }
.after-sales-panel { margin-top: 25px; padding-top: 24px; border-top: 1px solid #e8dfef; }
.after-sales-panel h3 { margin: 0 0 17px; color: #714e28; font-size: 17px; }
.admin-after-sale-card, .new-after-sale-form { margin-top: 15px; padding: 17px; border: 1px solid #eedcbf; border-radius: 14px; background: #fffcf6; }
.admin-after-sale-card .section-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 14px; color: #795227; font-size: 13px; }
.after-sale-detail { display: grid; gap: 5px; margin-bottom: 13px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; }
.after-sale-detail strong { color: #8b765b; font-weight: 500; }.after-sale-detail span { color: #66513a; }
.after-sale-edit-form { display: grid; gap: 13px; margin-top: 18px; }.after-sale-edit-form .button-row { flex-wrap: wrap; }.after-sale-edit-form > strong { color: #7b552c; font-size: 13px; }
.shipping-dialog { width: min(900px, calc(100vw - 28px)); max-height: calc(100vh - 40px); padding: 26px; margin: auto; border: 1px solid #e2d3ee; border-radius: 23px; background: #fff; box-shadow: 0 25px 110px rgba(71, 44, 100, .24); overflow: auto; }
.shipping-dialog::backdrop { background: rgba(37, 24, 51, .36); }
#shipping-upload-fields { display: grid; gap: 14px; margin-top: 18px; }#shipping-paste { min-height: 110px; }
.shipping-options { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; margin: 20px 0; }
.overwrite-option { display: flex; align-items: center; gap: 10px; }.overwrite-option input { width: 17px; height: 17px; min-height: 0; margin: 0; accent-color: #6845ce; }
.shipping-preview-action { display: flex; align-items: center; gap: 13px; margin-top: 20px; }.shipping-preview-action > span { color: #92829e; font-size: 11px; }
.shipping-summary { margin: 15px 0; color: #745099; font-size: 12px; line-height: 1.8; }
.shipping-table-wrap { max-height: 350px; overflow: auto; border: 1px solid #e9e0f0; border-radius: 12px; }
.shipping-table { width: 100%; min-width: 520px; table-layout: auto; }
.shipping-table th, .shipping-table td { padding: 11px 13px; width: auto !important; }
.shipping-table thead { position: sticky; top: 0; z-index: 1; }.shipping-table th { background: #f7f1fc; }
.shipping-table td strong { display: block; color: #65506f; font-size: 12px; font-weight: 600; }
.shipping-table .error td, .shipping-table .failed td { background: #fff3f4; }.shipping-table .error td:last-child strong, .shipping-table .failed td:last-child strong { color: #aa4358; }
.shipping-table .ready td:last-child strong, .shipping-table .saved td:last-child strong { color: #34785a; }
#shipping-error { margin: 13px 0; }
@media (max-width: 1250px) { .filters { grid-template-columns: 1fr 1fr 1fr; }.search-label { grid-column: 1 / 3; }.shipping-toolbar { align-items: flex-start; flex-direction: column; } }
@media (max-width: 720px) {
  .filters { grid-template-columns: 1fr 1fr; }.filters label:has(select[name="afterSales"]) { grid-column: 1 / -1; }
  .shipping-toolbar { padding: 15px 17px; }.shipping-toolbar-actions { width: 100%; }.shipping-toolbar-actions .button { flex: 1; min-height: 42px; }
  #claims-body tr { grid-template-columns: 23px minmax(0, 1fr) auto; gap: 0 8px; }.selection-cell { grid-column: 1; grid-row: 1; padding: 0; }.fan-cell { grid-column: 2; grid-row: 1; }.level-cell { grid-column: 3; grid-row: 1; margin-left: 0; }
  .shipping-dialog { padding: 20px 16px; }.shipping-options { grid-template-columns: 1fr; }
  .shipping-table { display: table; min-width: 500px; }.shipping-table thead { display: table-header-group; }.shipping-table tbody { display: table-row-group; padding: 0; }.shipping-table tr { display: table-row; }.shipping-table td { display: table-cell; }
}
.activity-dialog { width: min(720px,calc(100vw - 28px)); max-height: calc(100vh - 40px); margin: auto; padding: 28px; border: 1px solid #E3D8EC; border-radius: 24px; background: #fff; overflow: auto; box-shadow: 0 25px 100px rgba(50,26,79,.24); }
.activity-dialog::backdrop { background: rgba(37,24,51,.36); }
.activity-dialog .stack { gap: 18px; }.activity-dialog .dialog-heading { margin-bottom: 4px; }.activity-dialog textarea { min-height: 88px; }
.question-heading, .activity-settings-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; }.question-heading h3 { font-size: 16px; margin: 0; }.activity-settings-heading { margin-bottom: 19px; color: #8B729E; font-size: 12px; }
.question-editor { display: grid; grid-template-columns: minmax(0,1fr) 135px auto auto; align-items: end; gap: 12px; padding: 17px; margin: 14px 0; border: 1px solid #E9DDF3; border-radius: 15px; background: #FCF9FF; }.question-editor > label { min-width: 0; }
.question-required, .activity-enabled { display: flex; align-items: center; gap: 8px; }.question-required { padding-bottom: 12px; white-space: nowrap; }
.question-required input, .activity-enabled input { width: 17px; height: 17px; min-height: 0; margin: 0; padding: 0; accent-color: #6845CE; }
.activity-meta { color: #9986A8 !important; font-size: 11px !important; }.activity-item { white-space: normal; overflow-wrap: anywhere; }
.registration-answer-line { display: flex; flex-direction: column; gap: 3px; margin: 0 0 12px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.7; }.registration-answer-line strong { color: #9784A3; font-size: 11px; font-weight: 500; }.registration-answer-line span { color: #695175; }
.edit-registration-answers { margin-top: 20px; }.edit-registration-answers .registration-answer-line { font-size: 14px; }
.general-tag { color: #7860AD; background: #F1EBFE; }.activity-row-title { margin-top: 8px; overflow-wrap: anywhere; }
.status-badge.completed { color: #34785A; background: #E7F5ED; }
.receipt-badge { width: fit-content; padding: 4px 9px; border-radius: 8px; font-size: 11px; font-weight: 650; }
.progress-refresh { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 24px; border-bottom: 1px solid #EEE7F3; color: #8D7697; font-size: 11px; line-height: 1.7; }.progress-refresh .button { min-height: 32px; white-space: nowrap; }
.receipt-badge.pending { color: #9A661F; background: #FFF2D8; }.receipt-badge.received { color: #2E795A; background: #E9F6EE; }
.receipt-followup { color: #847285; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.edit-receipt-summary { display: grid; gap: 10px; margin-top: 14px; padding: 14px; border: 1px solid #E2EDE5; border-radius: 14px; background: #F8FBF8; }
.receipt-detail { display: grid; gap: 5px; font-size: 12px; line-height: 1.7; }.receipt-detail strong { color: #916323; }.receipt-detail.received strong { color: #34775B; }.receipt-detail span { color: #766B78; }
.filters { grid-template-columns: repeat(5, minmax(90px, 1fr)); }.filters .search-label { grid-column: 1 / 5; }.filters .filter-actions { grid-column: 5; }
@media (max-width: 1250px) { .filters { grid-template-columns: repeat(3, minmax(100px, 1fr)); }.filters .search-label { grid-column: 1 / 3; }.filters .filter-actions { grid-column: 3; } }
@media (max-width: 720px) { .filters { grid-template-columns: 1fr 1fr; }.filters .search-label, .filters .filter-actions { grid-column: 1 / -1; }.receipt-followup { width: 100%; } }
@media (max-width: 720px) { .activity-dialog { padding: 22px 16px; }.question-editor { grid-template-columns: minmax(0,1fr) 110px; padding: 14px; gap: 10px; }.question-required { padding-bottom: 0; }.question-editor > button { min-height: 36px; }.activity-settings-heading { align-items: flex-start; }.activity-row-title { max-width: 125px; font-size: 10px; } }
[hidden] { display: none !important; }
.operation-card { padding: 14px; margin: 12px 0; border: 1px solid #e5ddf3; border-radius: 14px; background: #faf8ff; overflow-wrap: anywhere; }
.operation-card p { margin: 8px 0; }
.account-scope { display: grid; gap: 8px; max-height: 210px; overflow: auto; }
.scope-option { display: flex; align-items: center; gap: 8px; }
.scope-option input { width: auto; }
.follow-up-form { margin: 16px 0; }
.history-details { margin-top: 20px; }
.audit-line { font-size: 13px; line-height: 1.7; border-bottom: 1px solid #ede6f6; padding: 10px 0; overflow-wrap: anywhere; }
#audit-list { max-height: 380px; overflow: auto; }
.douyin-login-section{margin-top:24px;display:grid;gap:12px}.douyin-login-section h2{font-size:20px;margin:0}.douyin-login-section p{margin:0;line-height:1.65}.douyin-ticket{display:grid;gap:12px;background:#f4eefd;border:1px solid #e1d3f6;border-radius:16px;padding:20px;text-align:center}.douyin-ticket strong{font-size:28px;letter-spacing:3px;color:#57349e;overflow-wrap:anywhere}.douyin-login-section .button{width:100%}.audit-line{overflow-wrap:anywhere}.account-identity{font-family:monospace;overflow-wrap:anywhere;font-size:12px}
.review-data-banner { margin: 0 0 22px; padding: 14px 18px; border: 1px solid #efdaa9; border-radius: 14px; color: #855416; background: #fff6df; font-size: 14px; }
.review-data-banner[hidden] { display: none; }
