.admin-wrap { padding: 2rem 0 4rem; max-width: 72rem; }
.admin-header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 1.5rem; }
.admin-card { max-width: 24rem; margin: 3rem auto; padding: 1.5rem; border: 1px solid var(--line, #dde3ea); border-radius: 12px; }
.admin-form .field { margin-bottom: 1rem; }

.admin-toolbar { display: flex; align-items: center; gap: 0.6rem; margin: 1rem 0; flex-wrap: wrap; }
.admin-toolbar .field-input { width: auto; }

.admin-stats { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1rem 0 1.5rem; }
.admin-stat { padding: 0.75rem 1rem; border: 1px solid var(--line, #dde3ea); border-radius: 10px; min-width: 9rem; }
.admin-stat b { display: block; font-size: 1.3rem; }

.admin-tabs { display: flex; gap: 0.5rem; border-bottom: 1px solid var(--line, #dde3ea); margin-bottom: 1rem; }
.tab-btn { padding: 0.6rem 1rem; border: none; background: none; cursor: pointer; font: inherit; font-weight: 600; color: var(--ink-soft, #667); border-bottom: 2px solid transparent; }
.tab-btn.is-active { color: var(--ink, #14233a); border-bottom-color: var(--accent, #ffc531); }

.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.admin-table th, .admin-table td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px solid var(--line, #eef1f5); white-space: nowrap; }
.admin-table td.wrap-cell { white-space: normal; }
.admin-table tbody tr:hover { background: var(--surface-hover, #f7f9fb); }

.admin-pager { display: flex; align-items: center; gap: 0.75rem; margin: 1rem 0; }

.badge { display: inline-block; padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.8rem; font-weight: 600; }
.badge-paid, .badge-active { background: #e4f6ea; color: #1b7a3d; }
.badge-pending, .badge-manual { background: #fff4d6; color: #8a5a00; }
.badge-processing { background: #e6eefc; color: #1a4fa0; }
.badge-failed, .badge-error { background: #fde8e8; color: #a41c1c; }

.row-btn { border: 1px solid var(--line, #dde3ea); background: none; border-radius: 6px; padding: 0.25rem 0.55rem; font: inherit; font-size: 0.82rem; cursor: pointer; margin-right: 0.3rem; }
.row-btn:hover { background: var(--surface-hover, #f7f9fb); }

.admin-h2 { font-size: 1.15rem; margin: 1.75rem 0 0.6rem; }
.admin-form-wide { max-width: 36rem; }
.admin-form .btn { margin-top: 0.25rem; }
.admin-radios { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.radio-card { display: flex; gap: 0.7rem; align-items: flex-start; padding: 0.7rem 0.85rem; margin-bottom: 0.5rem; border: 1px solid var(--line, #dde3ea); border-radius: 10px; cursor: pointer; }
.radio-card:has(input:checked) { border-color: var(--ink, #14233a); }
.radio-card input { margin-top: 0.3rem; }
.radio-card small { display: block; color: var(--ink-soft, #667); margin-top: 0.15rem; }
.muted { color: var(--ink-soft, #667); font-weight: 400; }
.badge-off { background: #eceff3; color: #556; }
.badge-env { background: #e6eefc; color: #1a4fa0; }
.form-error.is-ok { color: #1b7a3d; }

.admin-help { margin: 0 0 1rem; padding: 0.6rem 0.85rem; border: 1px solid var(--line, #dde3ea); border-radius: 10px; }
.admin-help summary { cursor: pointer; font-weight: 600; }
.admin-help p { margin: 0.6rem 0 0; }

.admin-import-list { margin-bottom: 0.75rem; max-width: 36rem; }
