/* ============================================================
   ENDOLPHIN — 엔치원 일정 오너 편집층
   ------------------------------------------------------------
   ⚠️ 여기 있는 모든 규칙은 오너가 편집을 켰을 때만 화면에 나타납니다.
      · .se-* 요소는 schedule-edit.js 가 오너일 때만 만듭니다
      · 달력 모양을 바꾸는 규칙은 전부 body.se-editing 안에 있습니다
      그래서 일반 방문자 화면은 한 픽셀도 달라지지 않습니다.
   색·모서리는 공용 토큰(theme.css)만 씁니다 — 새 색을 만들지 않았습니다.
   ============================================================ */

/* ── 편집 막대 ─────────────────────────────────────────── */
.se-bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin-top:18px;
}
.se-btn{
  font-family:'Jua',sans-serif; font-size:14px; line-height:1; cursor:pointer;
  padding:11px 18px; border-radius:999px;
  background:var(--surface); color:var(--ink-2);
  border:1.5px solid var(--line);
  transition:background .18s, border-color .18s, color .18s, transform .12s;
  text-decoration:none; display:inline-flex; align-items:center; gap:6px;
  min-height:42px;                     /* 손가락으로 누르기 편한 크기 */
}
.se-btn:hover{ border-color:var(--pink); color:var(--pink-ink); }
.se-btn:active{ transform:scale(.98); }
.se-btn.pri{ background:var(--pink); color:#fff; border-color:transparent; }
.se-btn.pri:hover{ filter:brightness(1.05); color:#fff; }
.se-btn.warn{ color:#b3313f; border-color:rgba(224,133,146,.55); }
.se-btn.warn:hover{ background:rgba(224,133,146,.12); }
.se-btn.ghost{ font-size:13px; padding:9px 14px; min-height:38px; }
.se-toggle.on{ background:var(--pink); color:#fff; border-color:transparent; }

/* 알림 한 줄 — 저장·삭제 결과 */
.se-say{
  font-size:13px; color:var(--ink-3); opacity:0;
  transition:opacity .2s; margin-left:2px;
}
.se-say.on{ opacity:1; }
.se-say.ok{ color:#1f7a3d; }
.se-say.no{ color:#b3313f; }

/* ── 편집 켰을 때만 달력이 '누를 수 있게' 보입니다 ────────── */
body.se-editing .sc-grid .cell:not(.out){ cursor:pointer; }
body.se-editing .sc-grid .cell:not(.out):hover{
  background:rgba(255,143,177,.07);
  box-shadow:inset 0 0 0 1.5px rgba(255,143,177,.45);
}
body.se-editing .sc-grid .ev{ cursor:pointer; }
body.se-editing .sc-grid .ev:hover{ filter:brightness(1.06); outline:1.5px solid var(--pink); }

/* 비공개 일정 — 오너에게만 보입니다 (관리자 API 로 읽을 때) */
.sc-grid .ev.is-private{ opacity:.62; }
.sc-grid .ev.is-private::before{ content:"🔒 "; font-size:.9em; }

/* ── 폼 (아래에서 올라오는 시트) ──────────────────────────── */
.se-back{
  position:fixed; inset:0; z-index:80;
  background:rgba(12,8,20,.55);
  display:flex; align-items:center; justify-content:center; padding:18px;
  overflow-y:auto;
  animation:seFade .18s ease;
}
@keyframes seFade{ from{ opacity:0 } to{ opacity:1 } }
body.se-open{ overflow:hidden; }

.se-sheet{
  width:100%; max-width:560px; margin:auto;
  background:var(--surface); color:var(--ink);
  border:1.5px solid var(--line); border-radius:var(--r-lg,18px);
  box-shadow:0 24px 60px rgba(0,0,0,.35);
  animation:seUp .22s cubic-bezier(.2,.9,.3,1);
}
@keyframes seUp{ from{ transform:translateY(14px); opacity:0 } to{ transform:none; opacity:1 } }

.se-head{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:16px 18px; border-bottom:1px solid var(--line);
}
.se-head b{ font-family:'Jua',sans-serif; font-weight:400; font-size:19px; }
.se-x{
  width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:15px; line-height:1;
  background:transparent; border:1px solid var(--line); color:var(--ink-3);
}
.se-x:hover{ border-color:var(--pink); color:var(--pink-ink); }

.se-body{ padding:16px 18px; display:grid; gap:13px; }
.se-two{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.se-f{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; color:var(--ink-2); }
.se-f i{ font-style:normal; font-size:12px; color:var(--ink-3); }
.se-f input, .se-f textarea{
  font-family:inherit; font-size:16px;      /* 16px — iOS 가 입력칸에서 화면을 확대하지 않게 */
  padding:11px 12px; border-radius:10px;
  border:1.5px solid var(--line); background:var(--bg,#fff); color:var(--ink);
  width:100%; min-height:44px;
}
.se-f textarea{ min-height:64px; resize:vertical; }
.se-f input:focus, .se-f textarea:focus{ outline:none; border-color:var(--pink); }

.se-chk{
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--ink-2); cursor:pointer; min-height:44px;
}
.se-chk.pad{ padding-top:22px; }
.se-chk input{ width:19px; height:19px; }
.se-chk i{ font-style:normal; font-size:12px; color:var(--ink-3); }

/* ── 색 고르기 — 관리자 화면과 같은 아홉 가지 ─────────────── */
.se-colors{ display:flex; flex-wrap:wrap; gap:9px; }
.se-dot{
  width:34px; height:34px; border-radius:50%; cursor:pointer; padding:0; line-height:1;
  border:2px solid var(--line); font-size:12px; color:var(--ink-3); background:var(--surface);
  transition:transform .12s, box-shadow .12s, border-color .12s;
}
.se-dot:hover{ transform:scale(1.08); }
.se-dot[aria-pressed="true"]{ border-color:var(--ink); box-shadow:0 0 0 3px rgba(255,143,177,.28); }
.se-dot.c-red{ background:#e4494f } .se-dot.c-orange{ background:#e8862c }
.se-dot.c-yellow{ background:#e5c62f } .se-dot.c-green{ background:#3aa55c }
.se-dot.c-blue{ background:#3272d0 } .se-dot.c-navy{ background:#33408c }
.se-dot.c-purple{ background:#7d47bd } .se-dot.c-gray{ background:#8a8f97 }
.se-dot.c-pink{ background:#e0559a }

.se-foot{
  display:flex; gap:9px; flex-wrap:wrap;
  padding:14px 18px 18px; border-top:1px solid var(--line);
}
.se-foot .warn{ margin-left:auto; }

/* ── 폰 ────────────────────────────────────────────────── */
@media (max-width:560px){
  .se-back{ padding:0; align-items:flex-end; }
  .se-sheet{ max-width:none; border-radius:18px 18px 0 0; border-bottom:0; }
  .se-two{ grid-template-columns:1fr; }
  .se-chk.pad{ padding-top:0; }
  .se-foot .warn{ margin-left:0; width:100%; justify-content:center; }
  .se-bar{ gap:7px; }
  .se-btn{ font-size:13.5px; padding:10px 15px; }
}
