/* 일정 조율표 */
[data-app="schedule-poll"]{ display:flex; flex-direction:column; gap:10px; min-width:0; }
[data-app="schedule-poll"] .sp-head{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:6px 14px; min-width:0; }
[data-app="schedule-poll"] .sp-tl{ display:flex; flex-direction:column; gap:4px; flex:1 1 240px; min-width:0; }
[data-app="schedule-poll"] .sp-title{ font-size:16px; font-weight:800; background:#fff; }
[data-app="schedule-poll"] .sp-how{ flex:1 1 300px; min-width:0; margin:0; font-size:12.5px; line-height:1.5; color:#4B5059; word-break:keep-all; overflow-wrap:anywhere; }
[data-app="schedule-poll"] .sp-how b{ color:#1A1A1A; }
[data-app="schedule-poll"] .sp-exnote{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; margin:0; padding:7px 8px 7px 10px; border-radius:10px; background:#FFF7E0; color:#6B5300; font-size:12.5px; line-height:1.5; }
[data-app="schedule-poll"] .sp-exnote[hidden]{ display:none; }
[data-app="schedule-poll"] .sp-exnote .ndt-btn{ background:#fff; border-color:#E5CF8F; color:#4A3800; }
[data-app="schedule-poll"] .sp-legend{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0; font-size:12.5px; font-weight:700; color:#4B5059; }
[data-app="schedule-poll"] .sp-lg{ display:inline-flex; align-items:center; gap:3px; padding:1px 8px; border-radius:999px; }
[data-app="schedule-poll"] .sp-lg.o{ background:#E3F4EA; color:#0D6B3A; }
[data-app="schedule-poll"] .sp-lg.m{ background:#FFF1D6; color:#8A5A00; }
[data-app="schedule-poll"] .sp-lg.x{ background:#FDE7E5; color:#A3231A; }
[data-app="schedule-poll"] .sp-lgt{ font-weight:600; color:#6B717B; }

[data-app="schedule-poll"] .sp-more{ margin:-4px 0 -4px; font-size:12px; font-weight:700; color:#314B86; text-align:right; }
[data-app="schedule-poll"] .sp-more[hidden]{ display:none; }
/* 표 — 좁은 화면에서는 표만 옆으로 밀어 보기(페이지는 밀리지 않음) · 첫 칸(후보)은 고정 */
[data-app="schedule-poll"] .sp-scroll{ min-width:0; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid #E3E5EA; border-radius:12px; background:#fff; }
[data-app="schedule-poll"] .sp-scroll:focus{ outline:none; }
[data-app="schedule-poll"] .sp-tbl{ border-collapse:separate; border-spacing:0; width:100%; font-variant-numeric:tabular-nums; }
[data-app="schedule-poll"] .sp-tbl[hidden]{ display:none; }
[data-app="schedule-poll"] .sp-tbl th, [data-app="schedule-poll"] .sp-tbl td{ padding:3px; border-bottom:1px solid #EEF0F3; text-align:center; vertical-align:middle; }
[data-app="schedule-poll"] .sp-tbl tbody tr:last-child th, [data-app="schedule-poll"] .sp-tbl tbody tr:last-child td{ border-bottom:0; }
[data-app="schedule-poll"] .sp-tbl thead th{ background:#F7F8FA; font-size:12.5px; font-weight:800; color:#4B5059; }
[data-app="schedule-poll"] .sp-c0, [data-app="schedule-poll"] .sp-rh0{ position:sticky; left:0; z-index:1; background:#fff; text-align:left; border-right:1px solid #E3E5EA; }
[data-app="schedule-poll"] .sp-c0{ background:#F7F8FA; padding:6px 8px; font-size:11.5px; color:#6B717B; white-space:nowrap; }
[data-app="schedule-poll"] .sp-pbtn{ display:block; width:100%; min-width:52px; max-width:96px; min-height:36px; margin:0 auto; padding:2px 4px; border:1px dashed transparent; border-radius:8px; background:transparent; color:#1A1A1A; font:inherit; font-size:13px; font-weight:800; line-height:1.25; cursor:pointer; word-break:keep-all; overflow-wrap:anywhere; }
[data-app="schedule-poll"] .sp-pbtn:hover, [data-app="schedule-poll"] .sp-rbtn:hover{ border-color:#B9C7E6; background:#F3F6FC; }
[data-app="schedule-poll"] .sp-pbtn.on, [data-app="schedule-poll"] .sp-rbtn.on{ border-color:#2563EB; border-style:solid; background:#EEF3FE; }
[data-app="schedule-poll"] .sp-rbtn{ display:flex; flex-direction:column; align-items:flex-start; width:100%; min-width:92px; min-height:44px; padding:3px 6px; border:1px dashed transparent; border-radius:8px; background:transparent; color:#1A1A1A; font:inherit; text-align:left; cursor:pointer; }
[data-app="schedule-poll"] .sp-rd{ font-size:14px; font-weight:900; white-space:nowrap; }
[data-app="schedule-poll"] .sp-rt{ font-size:12px; font-weight:700; color:#6B717B; white-space:nowrap; }
[data-app="schedule-poll"] .sp-cell{ min-width:46px; }
[data-app="schedule-poll"] .sp-mk{ display:flex; align-items:center; justify-content:center; width:100%; min-width:42px; height:42px; margin:0 auto; padding:0; border:1.5px solid #E3E5EA; border-radius:10px; background:#FAFAFB; color:#A0A6AF; font:inherit; font-size:20px; font-weight:900; line-height:1; cursor:pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; user-select:none; }
[data-app="schedule-poll"] .sp-cell .sp-mk{ max-width:88px; }
[data-app="schedule-poll"] .sp-mk.e{ border-style:dashed; }
[data-app="schedule-poll"] .sp-mk.o{ background:#E3F4EA; border-color:#9BD3B2; color:#0D6B3A; }
[data-app="schedule-poll"] .sp-mk.m{ background:#FFF1D6; border-color:#F0C979; color:#8A5A00; }
[data-app="schedule-poll"] .sp-mk.x{ background:#FDE7E5; border-color:#F2B1AB; color:#A3231A; }
[data-app="schedule-poll"] .sp-ch{ min-width:60px; }
[data-app="schedule-poll"] .sp-cnt{ min-width:60px; padding:3px 6px; white-space:nowrap; font-size:12px; color:#6B717B; }
[data-app="schedule-poll"] .sp-cnt b{ font-size:17px; font-weight:900; color:#1A1A1A; }
[data-app="schedule-poll"] .sp-cnt small{ display:block; font-size:11px; color:#8A5A00; font-weight:700; }
[data-app="schedule-poll"] .sp-all{ display:inline-block; padding:1px 7px; border-radius:999px; background:#0D7A43; color:#fff; font-size:11px; font-style:normal; font-weight:800; white-space:nowrap; }
[data-app="schedule-poll"] .sp-cnt .sp-all{ display:block; margin-top:2px; }
[data-app="schedule-poll"] tr.all th, [data-app="schedule-poll"] tr.all td{ background:#F0FAF4; }
[data-app="schedule-poll"] tr.all .sp-rh0{ box-shadow:inset 4px 0 0 #0D7A43; }
[data-app="schedule-poll"] tr.top .sp-rh0{ box-shadow:inset 4px 0 0 #7FA7F0; }
[data-app="schedule-poll"] .sp-empty{ margin:0; padding:18px 12px; font-size:13.5px; color:#6B717B; text-align:center; }

/* 고치기·더하기 */
[data-app="schedule-poll"] .sp-edit{ padding:10px; border:1.5px solid #2563EB; border-radius:12px; background:#F5F8FF; }
[data-app="schedule-poll"] .sp-edit[hidden]{ display:none; }
[data-app="schedule-poll"] .sp-ef{ display:flex; flex-direction:column; gap:8px; margin:0; }
[data-app="schedule-poll"] .sp-ef .ndt-k{ overflow-wrap:anywhere; }
[data-app="schedule-poll"] .sp-eb{ gap:6px; flex-wrap:wrap; }
[data-app="schedule-poll"] .sp-edel{ margin-left:auto; color:#B42318; border-color:#F2B1AB; }
[data-app="schedule-poll"] .sp-adds{ display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:10px; }
[data-app="schedule-poll"] .sp-add{ display:flex; flex-direction:column; gap:6px; min-width:0; margin:0; padding:10px; border:1px solid #ECEEF2; border-radius:12px; background:#F7F8FA; }
[data-app="schedule-poll"] .sp-arow{ display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
[data-app="schedule-poll"] .sp-arow .ndt-in{ flex:1 1 120px; width:auto; min-width:0; background:#fff; }
[data-app="schedule-poll"] .sp-arow .sp-nd, [data-app="schedule-poll"] .sp-arow .sp-ed{ flex:1 1 140px; }
[data-app="schedule-poll"] .sp-arow .sp-nt, [data-app="schedule-poll"] .sp-arow .sp-et{ flex:1 1 104px; }
[data-app="schedule-poll"] .sp-arow .ndt-btn{ flex:1 0 auto; }
[data-app="schedule-poll"] .sp-msg{ margin:0; font-size:13px; font-weight:700; line-height:1.45; color:#0D7A43; overflow-wrap:anywhere; }
[data-app="schedule-poll"] .sp-msg.bad{ color:#B42318; }
[data-app="schedule-poll"] .sp-msg:empty{ display:none; }

/* 추천 */
[data-app="schedule-poll"] .sp-res{ display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid #DCE4F5; border-radius:12px; background:#F5F8FE; min-width:0; }
[data-app="schedule-poll"] .sp-rh{ margin:0; font-size:14.5px; font-weight:900; color:#1A1A1A; }
[data-app="schedule-poll"] .sp-rank{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
[data-app="schedule-poll"] .sp-ri{ display:grid; grid-template-columns:42px minmax(0,1fr); gap:8px; align-items:start; padding:8px 10px; border-radius:10px; background:#fff; border:1px solid #E3E8F3; }
[data-app="schedule-poll"] .sp-ri.first{ border-color:#0D7A43; box-shadow:0 0 0 1px #0D7A43 inset; }
[data-app="schedule-poll"] .sp-rk{ display:inline-flex; align-items:center; justify-content:center; height:26px; border-radius:8px; background:#1A1A1A; color:#fff; font-size:13px; font-weight:900; }
[data-app="schedule-poll"] .sp-ri.first .sp-rk{ background:#0D7A43; }
[data-app="schedule-poll"] .sp-rl{ min-width:0; font-size:14px; line-height:1.5; color:#1A1A1A; overflow-wrap:anywhere; }
[data-app="schedule-poll"] .sp-who{ display:block; font-size:12.5px; color:#8A5A00; }
[data-app="schedule-poll"] .sp-who.x{ color:#A3231A; }
[data-app="schedule-poll"] .sp-who.n{ color:#6B717B; }
[data-app="schedule-poll"] .sp-none{ padding:8px 2px; font-size:13px; color:#6B717B; }
[data-app="schedule-poll"] .sp-copyrow{ align-items:center; gap:8px; flex-wrap:wrap; }
[data-app="schedule-poll"] .sp-copy{ min-height:44px; }
[data-app="schedule-poll"] .sp-fbw:empty{ display:none; }
[data-app="schedule-poll"] .sp-foot{ justify-content:flex-end; align-items:center; gap:6px; flex-wrap:wrap; }
[data-app="schedule-poll"] .sp-saved{ margin-right:auto; font-size:12px; font-weight:700; color:#0D7A43; }
[data-app="schedule-poll"] .sp-saved.bad{ color:#B42318; }
[data-app="schedule-poll"] .ndt-btn.ndt-arm{ width:auto !important; max-width:min(100%, 12em); }

@media (max-width:640px){
  [data-app="schedule-poll"] .sp-adds{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:420px){
  [data-app="schedule-poll"] .sp-rbtn{ min-width:84px; padding:3px 4px; }
  [data-app="schedule-poll"] .sp-rd{ font-size:13.5px; }
  [data-app="schedule-poll"] .sp-mk{ min-width:40px; height:40px; font-size:19px; }
  [data-app="schedule-poll"] .sp-cell{ min-width:44px; }
  [data-app="schedule-poll"] .sp-ch, [data-app="schedule-poll"] .sp-cnt{ min-width:52px; }
}
