/* ============================================================
   admin-promo.css — 디자인관리 > 홍보물편집관리 (순번260-2)
   목록·검색바·표는 매출정산·포인트 화면과 같은 규격(.ad-filters 38px · .ad-table · OCPager).
   종류·대상 전환은 .ad-filters 의 select(알약 탭 금지, 순번260-2b). 색·모서리는 토큰만(리터럴 0). 편집자리 편집기 전용 규칙만 아래에 둔다.
   ============================================================ */

/* ---------- 목록 — 검색바는 정본 admin-sales(.ad-filters 38px 한 줄) ---------- */
#view-promo-home .ad-filters .oc-input{ height:38px;box-sizing:border-box; }
#view-promo-home .ad-filters select.oc-input{ flex:0 1 150px;min-width:120px; }
#view-promo-home .ad-filters .pr-q{ flex:0 1 400px; }
#view-promo-home .ad-filters select:disabled{ opacity:.5;cursor:default; }
#view-promo-home .pr-notice{ background:var(--oc-bg-soft);border:1px solid var(--oc-line);color:var(--oc-ink);border-radius:8px;padding:10px 12px;font-size:.88rem;margin:0 0 12px;text-align:center; }
#view-promo-home .pr-thumb{ width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--oc-line);background:var(--oc-bg-soft);display:block;margin:0 auto; }
#view-promo-home .pr-table td{ white-space:nowrap; }
#view-promo-home .pr-table .pr-ttl{ white-space:normal;min-width:160px;text-align:left; }
#view-promo-home .pr-empty{ text-align:center;padding:40px 12px;color:var(--oc-gray);line-height:1.8; }
#view-promo-home .pr-pager{ margin-top:12px; }
@media (max-width:640px){
  #view-promo-home .ad-filters select.oc-input{ flex:1 1 40%; }
  #view-promo-home .ad-filters .pr-q{ flex:1 1 100%; }
}

/* ---------- 등록·수정 페이지(순번260-2d) — 섹션 전체 폭. 머리줄 제목 + [목록으로], 꼬리줄 [취소][저장] 38px ---------- */
#view-promo-home .pr-ed{ text-align:left;max-width:1400px; }   /* 편집 뷰만 1400px 까지 — 초광폭에서 우측 패널이 캔버스에서 멀어지지 않게(목록은 전체 폭) */
#view-promo-home .pr-ed__head{ display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px; }
#view-promo-home .pr-ed__title{ margin:0;font-size:1.08rem;font-weight:800;color:var(--ad-ink); }
#view-promo-home .pr-ed .ad-act{ min-height:38px;padding:0 16px; }
#view-promo-home .pr-ed__body{ background:var(--oc-bg);border:1px solid var(--ad-line);border-radius:12px;padding:18px 20px; }
#view-promo-home .pr-ed__body--2col{ display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start; }
#view-promo-home .pr-ed__main{ min-width:0; }
#view-promo-home .pr-ed__side{ position:sticky;top:12px;min-width:0; }
#view-promo-home .pr-side__t{ font-size:.9rem;font-weight:700;color:var(--oc-ink);margin:0 0 6px; }
#view-promo-home .pr-ed__foot{ display:flex;justify-content:flex-end;gap:10px;margin:14px 0 0; }
#view-promo-home .pr-field{ margin:0 0 16px; }
#view-promo-home .pr-label{ display:block;font-size:.9rem;font-weight:700;color:var(--oc-ink);margin:0 0 6px; }
#view-promo-home .pr-hint{ font-size:.82rem;color:var(--oc-gray);margin:5px 0 0;line-height:1.55; }
#view-promo-home .pr-err{ font-size:.84rem;color:var(--oc-accent-dark);margin:8px 0 0;min-height:1em;text-align:left; }
#view-promo-home .pr-ed .oc-input{ width:100%;height:38px;box-sizing:border-box;padding-top:0;padding-bottom:0; }
#view-promo-home .pr-ed textarea.oc-input{ height:auto;padding:10px 12px;line-height:1.6;resize:vertical; }
#view-promo-home .pr-row{ display:flex;gap:12px;flex-wrap:wrap; }
#view-promo-home .pr-row .pr-col{ flex:1 1 180px; }
#view-promo-home .pr-row .pr-col--sm{ flex:0 1 140px; }
#view-promo-home .pr-radios{ display:flex;gap:16px;flex-wrap:wrap;align-items:center;min-height:38px; }
#view-promo-home .pr-radios label{ display:inline-flex;align-items:center;gap:6px;font-size:.94rem;cursor:pointer; }

/* 이미지 올리기 칸 */
#view-promo-home .pr-ups{ display:flex;gap:14px;flex-wrap:wrap; }
#view-promo-home .pr-up{ display:flex;gap:10px;align-items:flex-start;flex:1 1 280px;min-width:0; }
#view-promo-home .pr-up__img{ width:72px;height:96px;flex:none;border:1px solid var(--oc-line);border-radius:8px;background:var(--oc-bg-soft) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:.74rem;color:var(--oc-gray); }
#view-promo-home .pr-up__ctl{ flex:1;min-width:0; }
#view-promo-home .pr-up__ctl input[type=file]{ max-width:100%;font-size:.84rem; }

/* 편집자리 편집기 */
#view-promo-home .pr-sides{ width:auto;min-width:180px;margin:0 0 12px; }
#view-promo-home .pr-stage{ position:relative;width:100%;max-width:760px;background:var(--oc-bg-soft);border:1px solid var(--oc-line);border-radius:8px;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;cursor:crosshair; }
#view-promo-home .pr-stage:focus-visible{ box-shadow:0 0 0 2px var(--oc-primary-light); }
#view-promo-home .pr-stage img{ display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none; }
#view-promo-home .pr-stage__empty{ aspect-ratio:1 / 1.414;display:flex;align-items:center;justify-content:center;color:var(--oc-gray);font-size:.9rem;text-align:center;padding:16px;cursor:default; }
#view-promo-home .pr-rect{ position:absolute;box-sizing:border-box;border:1.5px solid var(--oc-accent);background:color-mix(in srgb,var(--oc-accent) 14%,transparent);overflow:hidden;cursor:move;line-height:1.15;word-break:break-all;display:flex;align-items:center; }
#view-promo-home .pr-rect.is-sel{ border-color:var(--oc-primary);border-width:2px;background:color-mix(in srgb,var(--oc-primary) 14%,transparent);overflow:visible;z-index:2; }
#view-promo-home .pr-rect.is-draw{ border-style:dashed;pointer-events:none; }
#view-promo-home .pr-rect__t{ display:block;width:100%;overflow:hidden;padding:0 2px;font-weight:700; }
#view-promo-home .pr-rect--qr .pr-rect__t,#view-promo-home .pr-rect--image .pr-rect__t{ text-align:center;font-size:.8rem;color:var(--oc-ink); }
#view-promo-home .pr-h{ position:absolute;width:12px;height:12px;background:var(--oc-bg);border:2px solid var(--oc-primary);border-radius:3px;box-sizing:border-box;z-index:3; }
#view-promo-home .pr-h[data-h=nw]{ left:-7px;top:-7px;cursor:nwse-resize; }
#view-promo-home .pr-h[data-h=ne]{ right:-7px;top:-7px;cursor:nesw-resize; }
#view-promo-home .pr-h[data-h=sw]{ left:-7px;bottom:-7px;cursor:nesw-resize; }
#view-promo-home .pr-h[data-h=se]{ right:-7px;bottom:-7px;cursor:nwse-resize; }
#view-promo-home .pr-flist{ list-style:none;margin:0 0 12px;padding:0;max-height:260px;overflow:auto;border:1px solid var(--oc-line);border-radius:8px; }
#view-promo-home .pr-flist:empty{ display:none; }
#view-promo-home .pr-flist li{ display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-bottom:1px solid var(--oc-line);font-size:.88rem; }
#view-promo-home .pr-flist li:last-child{ border-bottom:0; }
#view-promo-home .pr-flist li.is-sel{ background:var(--oc-bg-soft);font-weight:700; }
#view-promo-home .pr-flist .pr-fsel{ flex:1;min-width:0;text-align:left;background:none;border:0;padding:6px 0;font:inherit;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
#view-promo-home .pr-flist .pr-fsel small{ color:var(--oc-gray);font-weight:400; }
#view-promo-home .pr-props{ border:1px solid var(--oc-line);border-radius:8px;padding:12px;background:var(--oc-bg); }
#view-promo-home .pr-props:empty{ display:none; }
#view-promo-home .pr-props .pr-field{ margin:0 0 10px; }
#view-promo-home .pr-props .pr-label{ font-size:.82rem;margin-bottom:4px; }
#view-promo-home .pr-props .pr-row{ gap:10px; }
#view-promo-home .pr-props .pr-row .pr-col{ flex:1 1 120px; }
#view-promo-home .pr-sws{ display:flex;gap:6px;flex-wrap:wrap; }
#view-promo-home .pr-sw{ width:28px;height:28px;border-radius:50%;border:2px solid var(--oc-line);cursor:pointer;padding:0;box-sizing:border-box; }
#view-promo-home .pr-sw.is-on{ border-color:var(--oc-accent);box-shadow:0 0 0 2px var(--oc-bg),0 0 0 4px var(--oc-accent); }

/* 이메일·문자 */
#view-promo-home .pr-mail{ display:flex;gap:16px;flex-wrap:wrap; }
#view-promo-home .pr-mail > div{ flex:1 1 360px;min-width:0; }
#view-promo-home .pr-mail iframe{ width:100%;height:420px;border:1px solid var(--oc-line);border-radius:8px;background:var(--oc-bg); }
#view-promo-home .pr-count{ font-size:.85rem;color:var(--oc-gray);margin-top:6px;text-align:right;font-variant-numeric:tabular-nums; }
#view-promo-home .pr-count.is-over{ color:var(--oc-accent-dark);font-weight:700; }

@media (max-width:900px){
  #view-promo-home .pr-ed__body--2col{ grid-template-columns:minmax(0,1fr); }
  #view-promo-home .pr-ed__side{ position:static; }
}
@media (max-width:640px){
  #view-promo-home .pr-ed__foot .al-search__btn,#view-promo-home .pr-ed__foot .ad-act{ flex:1; }
}
