/* ═══ 주문·손익 페이지 ═══ */

/* 주문 테이블 */
#page-smartstore .ord-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}
#page-smartstore .ord-table thead th {
  position: sticky;
  top: 0;
  background: var(--bg);
  z-index: 2;
  border-bottom: 1px solid var(--border);
  padding: 12px 10px;
  font-size: 11px;
  font-weight: 600;
  color: var(--txt2);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: left;
}
#page-smartstore .ord-table tbody td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#page-smartstore .ord-table tbody tr {
  cursor: pointer;
  transition: background 0.12s;
}
#page-smartstore .ord-table tbody tr:hover {
  background: var(--hover, rgba(0,0,0,0.025));
}
#page-smartstore .ord-table tbody tr.ord-row-loss {
  background: rgba(220, 38, 38, 0.05);
}
#page-smartstore .ord-table tbody tr.ord-row-loss:hover {
  background: rgba(220, 38, 38, 0.10);
}
#page-smartstore .ord-table tbody tr.ord-row-lowmargin {
  background: rgba(251, 191, 36, 0.04);
}

/* 날짜 / 상품명 셀 */
#page-smartstore .ord-date {
  color: var(--txt2);
  font-size: 12px;
}
#page-smartstore .ord-name {
  white-space: normal;
  line-height: 1.35;
}
#page-smartstore .ord-name-text {
  font-size: 13px;
  color: var(--txt);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 500;
}
#page-smartstore .ord-name-meta {
  font-size: 10px;
  color: #3730a3;
  margin-top: 2px;
}

/* 손익 색상 */
#page-smartstore .ord-profit { color: #16a34a; }
#page-smartstore .ord-lowmargin { color: #d97706; }
#page-smartstore .ord-loss { color: #dc2626; }

/* 원가 누락 경고 */
#page-smartstore .ord-cost-missing {
  display: inline-block;
  padding: 2px 8px;
  background: #fef3c7;
  color: #92400e;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
}
#page-smartstore .ord-cost-manual {
  color: #7c3aed;
  font-size: 10px;
  cursor: help;
}

/* 주문 상태 배지 */
#page-smartstore .ord-badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 600;
}
#page-smartstore .ord-badge-wait { background: #fef3c7; color: #92400e; }
#page-smartstore .ord-badge-payed { background: #dbeafe; color: #1e40af; }
#page-smartstore .ord-badge-delivering { background: #e0e7ff; color: #3730a3; }
#page-smartstore .ord-badge-delivered { background: #dcfce7; color: #166534; }
#page-smartstore .ord-badge-done { background: #d1fae5; color: #065f46; font-weight: 700; }
#page-smartstore .ord-badge-canceled { background: #f3f4f6; color: #6b7280; }
#page-smartstore .ord-badge-returned { background: #fee2e2; color: #991b1b; }
#page-smartstore .ord-badge-unknown { background: #f3f4f6; color: #6b7280; }

/* 상세 모달 — 정보 그리드 */
.ord-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

/* 상세 모달 — 손익 박스 */
.ord-profit-box {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 16px 20px;
}
.ord-profit-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 13px;
  color: var(--txt);
}
.ord-profit-row span { color: var(--txt2); }
.ord-profit-row b { font-weight: 600; font-variant-numeric: tabular-nums; }
.ord-profit-row.ord-minus b { color: #dc2626; }
.ord-profit-divider {
  border-top: 1px solid var(--border);
  margin: 8px 0;
}
.ord-profit-total {
  font-size: 15px !important;
  padding-top: 6px !important;
}
.ord-profit-total span {
  color: var(--txt) !important;
  font-weight: 600;
}
.ord-profit-total b {
  font-size: 16px;
}

/* 반응형: 좁을 때 통계카드 접기 */
@media (max-width: 1200px) {
  #page-smartstore .ord-stats-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  #page-smartstore .ord-stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ord-detail-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ═══════════════════════════════════════════════ */
/* 📦 주문관리 v2 (카페24 통합) — prefix: ff       */
/* ═══════════════════════════════════════════════ */
.ff-body { display:flex; flex-direction:column; gap:14px; }
.ff-ctrl { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 14px; background:#fff; border:1px solid var(--border); border-radius:8px; }
.ff-ctrl-label { font-size:12px; color:var(--txt2); font-weight:600; }
.ff-ctrl-date { padding:6px 12px; border:1px solid var(--border); border-radius:6px; background:#fff; cursor:pointer; font-size:13px; color:var(--txt); display:inline-flex; align-items:center; }
.ff-ctrl-date:hover { background:#FAFAFA; }
.ff-presets { display:flex; gap:4px; }
.ff-preset-btn { padding:5px 11px; border:1px solid var(--border); border-radius:14px; background:#fff; cursor:pointer; font-size:12px; color:var(--txt2); }
.ff-preset-btn:hover { background:#FAFAFA; }
.ff-preset-btn.active { background:#FFFBF0; border-color:#D97706; color:#D97706; font-weight:600; }
.ff-ctrl-spacer { flex:1; }
.ff-search { padding:6px 12px; border:1px solid var(--border); border-radius:6px; font-size:13px; min-width:240px; }
.ff-search:focus { outline:none; border-color:#D97706; box-shadow:0 0 0 3px rgba(217,119,6,0.12); }
.ff-btn { padding:6px 12px; border:1px solid var(--border); border-radius:6px; background:#fff; cursor:pointer; font-size:12px; color:var(--txt2); font-weight:500; }
.ff-btn:hover:not(:disabled) { background:#FAFAFA; }
.ff-btn:disabled { opacity:0.4; cursor:not-allowed; }
.ff-btn-sm { padding:5px 10px; font-size:11px; }
.ff-btn-primary { background:#D97706; color:#fff; border-color:#D97706; font-weight:600; }
.ff-btn-primary:hover:not(:disabled) { background:#B45309; }

.ff-pills { padding:10px 14px; background:#fff; border:1px solid var(--border); border-radius:8px; }

.ff-cards { /* grid는 인라인 */ }
.ff-card { background:#fff; border:1px solid var(--border); border-radius:8px; padding:12px 14px; }
.ff-card-label { font-size:11px; color:var(--txt3); margin-bottom:4px; font-weight:600; }
.ff-card-val { font-size:20px; font-weight:700; line-height:1.2; }
.ff-card-sub { font-size:11px; color:var(--txt3); margin-top:4px; }

.ff-tbar { padding:0 4px; }

.ff-table-wrap { background:#fff; border:1px solid var(--border); border-radius:8px; overflow:auto; }
.ff-table { width:100%; border-collapse:collapse; font-size:13px; }
.ff-table th { padding:10px 12px; text-align:left; font-size:11px; font-weight:600; color:var(--txt3); background:#FAFAFA; border-bottom:1px solid var(--border); position:sticky; top:0; }
.ff-table td { padding:10px 12px; border-bottom:1px solid #F5F5F5; vertical-align:middle; }
.ff-table tr.ff-row:hover td { background:#FFFBF0; }

.ff-loading { padding:60px; text-align:center; color:var(--txt3); font-size:13px; }
.ff-empty { padding:60px 20px; text-align:center; color:var(--txt3); font-size:13px; }

.ff-pill:hover { filter:brightness(0.97); }
.ff-stbtn:hover { filter:brightness(0.97); }
