/* admin.css — admin tab: overview stats, order/tx lists, stock import,
   product price editors. */

.admin-scroll { flex: 1; padding: 14px 14px calc(96px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 12px; }

.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.stat-card { padding: 12px 13px; }
.stat-card .label { font-size: var(--fs-small); color: var(--muted); }
.stat-card .value { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-title); margin-top: 5px; letter-spacing: -.3px; }
.stat-card .delta { font-size: var(--fs-pill); margin-top: 3px; }

.channel-card { padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.channel-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.channel-row .title { font-weight: 600; font-size: var(--fs-body); }
.channel-row .note { font-size: var(--fs-caption); color: var(--muted); margin-top: 3px; }
.hr { height: 1px; background: var(--line); }
.kv-row { display: flex; justify-content: space-between; font-size: var(--fs-label); }
.kv-row .k { color: var(--muted); }
.kv-row .v { font-weight: 600; }

.filter-row { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }

.admin-order-card { padding: 13px 14px; display: flex; flex-direction: column; gap: 9px; }
.admin-order-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.admin-order-top .code { font-family: var(--font-mono); font-weight: 600; font-size: var(--fs-label); }
.admin-order-title { font-size: var(--fs-label); line-height: var(--lh-snug); }
.admin-order-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.admin-order-foot .memo { font-size: var(--fs-small); color: var(--muted); font-family: var(--font-mono); }
.admin-order-foot .amount { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-amount); }
.confirm-btn { width: 100%; min-height: 46px; border-radius: var(--r1); background: var(--brand); color: #fff; font-weight: 600; font-size: var(--fs-label); text-align: center; display: flex; align-items: center; justify-content: center; gap: 8px; }
.confirm-btn.loading { background: #C24500; }

.stock-card { padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.stock-card .title { font-weight: 600; font-size: var(--fs-body); }
.stock-targets { display: flex; gap: 7px; flex-wrap: wrap; }
.stock-textarea {
  width: 100%; padding: 12px; border-radius: var(--r1); border: 1px solid var(--line); background: #FCFAF8;
  font-family: var(--font-mono); font-size: var(--fs-label); line-height: 1.7; resize: vertical;
}
.stock-actions { display: flex; align-items: center; gap: 10px; }
.stock-actions .btn-primary { flex: 1; min-height: 48px; font-size: var(--fs-body-lg); }
.import-result { padding: 12px 13px; border-radius: var(--r1); background: var(--ok-50); border: 1px solid #CDEBDF; font-size: var(--fs-label); color: var(--ok-fg); line-height: var(--lh-normal); }
.preview-result { padding: 12px 13px; border-radius: var(--r1); background: var(--brand-50); border: 1px solid var(--brand-100); font-size: var(--fs-label); color: var(--brand-d); line-height: var(--lh-normal); }

.tx-card { padding: 13px 14px; display: flex; flex-direction: column; gap: 8px; }
.tx-card.ignored { opacity: .6; }
.tx-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.tx-amount { font-family: var(--font-head); font-weight: 700; font-size: var(--fs-subtitle); color: var(--ok); }
.tx-time { font-size: var(--fs-small); color: var(--muted); }
.tx-memo { font-family: var(--font-mono); font-size: var(--fs-caption); color: var(--ink-soft); word-break: break-all; }
.tx-assign-row { display: flex; gap: 8px; }
.tx-assign-row input { flex: 1; min-height: 44px; padding: 0 12px; border-radius: var(--r1); border: 1px solid var(--line); background: #FCFAF8; font-size: var(--fs-label); }
.btn-ghost.dan { border-color: var(--dan); background: var(--dan-50); color: var(--dan); }

.product-card { padding: 13px 14px; display: flex; flex-direction: column; gap: 11px; }
.product-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.product-card-head .name { font-weight: 600; font-size: var(--fs-body); }
.product-card-head .meta { font-size: var(--fs-small); color: var(--muted); margin-top: 3px; }
.product-fields { display: flex; gap: 8px; }
.field-label { flex: 1; font-size: var(--fs-pill); color: var(--muted); display: flex; flex-direction: column; gap: 4px; }
.field-label input {
  width: 100%; min-height: 44px; padding: 0 11px; border-radius: var(--r1); border: 1px solid var(--line);
  background: #FCFAF8; font-size: var(--fs-body); font-weight: 600;
}

.audit-row { font-size: var(--fs-micro); color: var(--muted); padding: 4px 0; font-family: var(--font-mono); }
.admin-section-title { font-size: var(--fs-micro); color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-weight: 600; margin: 4px 2px 0; }

.claim-card { padding: 13px 14px; display: flex; flex-direction: column; gap: 9px; }
.claim-reason { font-size: var(--fs-label); }
.claim-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.claim-actions .btn-ghost, .claim-actions .btn-primary { flex: 1; min-height: 42px; font-size: var(--fs-caption); padding: 0 8px; }
.ban-btn { min-height: 32px; padding: 0 10px; border-radius: 999px; font-size: var(--fs-micro); font-weight: 600; border: 1px solid var(--dan); color: var(--dan); background: var(--dan-50); }
.ledger-link { min-height: 44px; padding: 0 16px; border-radius: var(--r1); border: 1px solid var(--line); background: var(--surface); font-weight: 600; font-size: var(--fs-note); display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
