.admin-activity { min-width: 0; letter-spacing: 0; }
.activity-empty {padding:36px 24px;border:1px dashed var(--border);border-radius:8px;max-width:640px;line-height:1.8}
.activity-check-row {display:grid;grid-template-columns:1fr 2fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.activity-check-row small {grid-column:2;color:var(--muted)}
.admin-activity td button {margin:3px}
@media (max-width: 600px) {
 .admin-activity .table-wrap {overflow:visible;border:0;background:transparent}
 .admin-activity .table-wrap table,.admin-activity .table-wrap tbody {display:block;width:100%;min-width:0}
 .admin-activity .table-wrap thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .admin-activity .table-wrap tbody tr {display:block;margin-bottom:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
 .admin-activity .table-wrap tbody td {display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:9px 0;border:0;min-width:0;white-space:normal;overflow-wrap:anywhere}
 .admin-activity .table-wrap tbody td::before {content:attr(data-label);color:var(--muted);font-size:12px;font-weight:400}
 .admin-activity .table-wrap tbody td > * {grid-column:2}
 .admin-activity .table-wrap tbody td:last-child {display:flex;flex-wrap:wrap;gap:6px;padding-top:14px;border-top:1px solid var(--border)}
 .admin-activity .table-wrap tbody td:last-child::before {width:100%;margin-bottom:2px}
 .admin-activity .table-wrap td button {margin:0;min-height:44px}
}
.admin-activity textarea {width:100%;margin-top:8px;font:inherit;padding:10px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;resize:vertical}
.admin-activity #activity-review {max-width:620px;width:calc(100% - 24px);max-height:90vh;overflow:auto}
.activity-boundary { color: var(--muted); font-size: 12px; margin-bottom: 18px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.activity-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--border); margin-bottom: 24px; }
.activity-tabs button { flex-shrink: 0; background: transparent; color: var(--muted); min-height: 44px; padding: 10px 14px; border-bottom: 2px solid transparent; font-weight: 600; }
.activity-tabs .active { color: var(--green); border-bottom-color: var(--green); }
.activity-tabs b { font-size: 11px; margin-left: 4px; font-variant-numeric: tabular-nums; }
.admin-activity .editor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; align-items: start; }
.admin-activity .activity-editor, .admin-activity .activity-summary { min-width: 0; }
.admin-activity .activity-summary { border-left: 1px solid var(--border); padding-left: 24px; position: sticky; top: 24px; }
.admin-activity .panel-title { padding: 0 0 18px; margin-bottom: 18px; }
.admin-activity .field { margin: 0; min-width: 0; }
.admin-activity .field > span { display: block; }
.admin-activity .field select { display: block; width: 100%; margin-top: 8px; }
.admin-activity .small, .admin-activity .reward p { font-size: 12px; color: var(--muted); line-height: 1.8; font-weight: 400; }
.admin-activity .space, .admin-activity .details { margin-top: 22px; }
.admin-activity .tight { margin-top: 12px; }
.admin-activity .two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-activity .separator { border-top: 1px solid var(--border); margin: 26px 0; }
.admin-activity .section-title { display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.admin-activity h3 { font-size: 14px; }
.admin-activity .reward-grid, .admin-activity .caps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.admin-activity .reward { border: 1px solid var(--border); background: var(--surface); border-radius: 8px; padding: 14px; margin: 0; }
.admin-activity .reward > span { font-size: 12px; }
.admin-activity .number { display: flex; align-items: center; gap: 6px; margin: 12px 0; }
.admin-activity .number input { font-size: 24px; font-weight: 600; color: var(--green); margin: 0; min-width: 0; padding: 8px; }
.admin-activity .number > span { font-size: 12px; }
.admin-activity .input-unit { position: relative; }
.admin-activity .input-unit input { padding-right: 30px; }
.admin-activity .input-unit em { position: absolute; right: 12px; top: 13px; font-style: normal; font-size: 12px; color: var(--muted); }
.admin-activity .rule-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.admin-activity .rule-step { min-width: 0; }
.admin-activity .step-dot { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid var(--green); border-radius: 50%; color: var(--green); font-size: 12px; margin-bottom: 12px; }
.admin-activity .rule-step strong { display: block; font-size: 12px; margin-bottom: 6px; }
.admin-activity .rule-step p { font-size: 12px; color: var(--muted); line-height: 1.8; }
.admin-activity .rule-note { background: var(--soft); border-left: 3px solid var(--green); padding: 14px; font-size: 12px; line-height: 1.8; display: flex; gap: 10px; }
.admin-activity .rule-note svg { width: 16px; height: 16px; flex-shrink: 0; fill: none; stroke: currentColor; margin-top: 3px; }
.admin-activity .status { display: inline-block; font-size: 12px; color: var(--muted); padding: 3px 7px; background: var(--soft); border-radius: 4px; }
.admin-activity .status.ok { color: var(--green); }
.admin-activity .status.warn, .admin-activity .status.reject { color: var(--danger); }
.admin-activity .advanced { display: grid; gap: 18px; padding-top: 18px; }
.admin-activity summary { color: var(--green); cursor: pointer; min-height: 32px; font-weight: 600; }
.admin-activity .validation { color: var(--danger); line-height: 1.8; margin-top: 18px; font-size: 13px; }
.admin-activity .member-card { font-size: 13px; line-height: 1.8; }
.admin-activity .member-card strong { display: block; color: var(--green); font-size: 24px; margin: 8px 0 14px; }
.admin-activity .preview-label { font-size: 12px; color: var(--muted); margin-bottom: 12px; }
.admin-activity .member-divider { border-top: 1px solid var(--border); margin: 16px 0; }
.admin-activity .preview-list { display: grid; gap: 14px; margin: 24px 0; }
.admin-activity .preview-row { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; }
.admin-activity .preview-row b { text-align: right; font-weight: 600; }
.admin-activity .budget { border-top: 1px solid var(--border); padding-top: 18px; }
.admin-activity .budget strong { display: inline-block; color: var(--green); font-size: 24px; font-variant-numeric: tabular-nums; margin: 8px 0; }
.admin-activity .preview-bottom { color: var(--muted); font-size: 12px; line-height: 1.8; border-top: 1px solid var(--border); margin-top: 20px; padding-top: 18px; }
.admin-activity .filters { display: flex; gap: 8px; margin-bottom: 18px; }
.admin-activity .filter, .admin-activity .btn:not(.primary):not(.danger) { min-height: 40px; border: 1px solid var(--border); border-radius: 6px; padding: 8px 12px; background: var(--surface); color: var(--green); }
.admin-activity .filter.active { border-color: var(--green); background: var(--soft); }
.admin-activity .page-copy, .admin-activity .list-note { color: var(--muted); line-height: 1.8; font-size: 13px; margin-bottom: 18px; }
.admin-activity .legend { display: flex; gap: 24px; margin-bottom: 18px; font-size: 13px; }
.admin-activity .legend b { color: var(--green); }
.admin-activity .table-wrap { border-radius: 8px; }
.admin-activity dialog { width: min(640px, calc(100% - 32px)); border-radius: 8px; }
.admin-activity .dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.admin-activity .dialog-head .close { width: 36px; height: 36px; border-radius: 6px; color: var(--muted); background: var(--soft); font-size: 24px; }
.admin-activity .dialog-footer { display: flex; gap: 10px; justify-content: flex-end; margin-top: 24px; flex-wrap: wrap; }
.admin-activity .diff { min-width: 0; table-layout: fixed; margin: 18px 0; font-size: 12px; }
.admin-activity .diff th, .admin-activity .diff td { padding: 10px 8px; white-space: normal; }
.admin-activity textarea { display: block; width: 100%; font: inherit; min-height: 84px; margin-top: 8px; padding: 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: inherit; resize: vertical; }
.admin-activity .confirm { display: flex; gap: 10px; align-items: flex-start; line-height: 1.8; margin: 18px 0; }
.admin-activity .confirm input { width: 18px; height: 18px; margin: 3px 0 0; flex-shrink: 0; accent-color: var(--green); }
@media (max-width: 1200px) { .admin-activity .editor-grid { grid-template-columns: minmax(0, 1fr); } .admin-activity .activity-summary { position: static; border-left: 0; border-top: 1px solid var(--border); padding: 24px 0 0; } }
@media (max-width: 600px) { .admin-activity .two { grid-template-columns: 1fr; } .admin-activity .rule-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } .admin-activity .reward-grid { gap: 6px; } .admin-activity .reward { padding: 10px 7px; } .admin-activity .reward > span { display: block; min-height: 36px; font-size: 11px; } .admin-activity .reward p { font-size: 11px; } .admin-activity .number input { font-size: 22px; padding: 6px; } .admin-activity .caps { gap: 8px; } .admin-activity .caps label { font-size: 11px; } .admin-activity .caps input { padding-left: 8px; } .admin-activity .section-heading .actions { width: 100%; } .admin-activity .section-heading .actions button { flex: 1; min-height: 44px; padding: 8px; font-size: 12px; } .activity-tabs button { padding: 10px; font-size: 12px; } }
