/* ==========================================================================
   EDU IN — 입력 컴포넌트 스타일 (관리자 · 사이트 공용)
   ========================================================================== */
.cb,.tp,.pk-chips,.wk{--pk-navy:var(--navy,#0A2540);--pk-sky:var(--sky,#2EC4F3);--pk-soft:var(--sky-soft,#E8F7FE);--pk-line:var(--line,#E3EAF0);--pk-line2:var(--line-2,#EFF3F7);--pk-text2:var(--text-2,#5A7183);--pk-text3:var(--text-3,#93A5B5)}

/* combo */
.cb{position:relative;width:100%}
.cb-native{position:absolute!important;opacity:0;pointer-events:none;width:1px;height:1px;left:0;bottom:0}
.cb-btn{width:100%;text-align:left;padding:10px 34px 10px 12px;border:1px solid var(--pk-line);border-radius:10px;background:#fff;font:inherit;font-size:14px;color:inherit;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
.cb-btn::after{content:'⌄';position:absolute;right:12px;top:50%;transform:translateY(-58%);color:var(--pk-text3)}
.cb.open .cb-btn,.cb-btn:focus{border-color:var(--pk-sky);outline:none;box-shadow:0 0 0 3px rgba(46,196,243,.15)}
.cb-pop{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--pk-line);border-radius:12px;box-shadow:0 14px 36px rgba(10,37,64,.16);padding:8px;min-width:280px}
.cb-q{width:100%;padding:9px 11px;border:1px solid var(--pk-line);border-radius:8px;font:inherit;font-size:13.5px;margin-bottom:6px}
.cb-list{max-height:290px;overflow:auto}
.cb-opt{padding:8px 10px;border-radius:7px;font-size:13px;cursor:pointer;line-height:1.35}
.cb-opt.act{background:var(--pk-soft)}
.cb-opt.on{font-weight:700;color:var(--pk-navy)}
.cb-opt.on::before{content:'✓ ';color:var(--pk-sky)}

/* chips */
.pk-chips{display:flex;flex-wrap:wrap;gap:6px}
.pk-chip{position:relative;cursor:pointer;margin:0}
.pk-chip input{position:absolute;opacity:0;pointer-events:none}
.pk-chip span{display:inline-block;padding:7px 12px;border:1px solid var(--pk-line);border-radius:100px;font-size:13px;font-weight:600;background:#fff;color:var(--pk-text2);transition:all .15s;user-select:none}
.pk-chip:hover span{border-color:var(--pk-sky)}
.pk-chip input:checked+span{background:var(--pk-navy);border-color:var(--pk-navy);color:#fff}
.pk-chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(46,196,243,.3)}
.pk-chip.pk-sub span{font-size:12px;padding:5px 10px;border-style:dashed}
.pk-chip.pk-sub input:checked+span{background:var(--pk-sky);border-color:var(--pk-sky);border-style:solid}
.pk-chip.pk-sm span{padding:5px 10px;font-size:12px}
.pk-label{font-size:11.5px;font-weight:800;color:var(--pk-sky);letter-spacing:.04em;margin:12px 0 6px;text-transform:uppercase}
.cur-group:first-child .pk-label{margin-top:0}
.pk-range{border:1px dashed var(--pk-sky);background:var(--pk-soft);color:var(--pk-navy);border-radius:100px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer}
.pk-range-clear{border-color:var(--pk-line);background:#fff;color:var(--pk-text3)}
.gr-ranges{margin-bottom:8px}
.pk-missing{outline:2px solid #E2574C;outline-offset:4px;border-radius:8px}

/* presets */
.pk-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:12px;border-radius:12px;background:linear-gradient(135deg,#F4FBFF,#fff);border:1px solid var(--pk-soft);margin-bottom:14px}
.pk-presets .pk-label{margin:0 6px 0 0}
.pk-preset{border:1px solid var(--pk-sky);background:#fff;color:var(--pk-navy);border-radius:100px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s}
.pk-preset:hover{background:var(--pk-sky);color:#fff}
.pk-preset.done{background:#22B07D;border-color:#22B07D;color:#fff}
.pk-preset.done::after{content:' ✓'}
.pk-hint{width:100%;color:var(--pk-text3);font-size:11.5px}

/* tagpick */
.tp{border:1px solid var(--pk-line);border-radius:12px;padding:10px;background:#fff}
.tp-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:34px;padding-bottom:8px;border-bottom:1px solid var(--pk-line2);margin-bottom:8px}
.tp-tag{display:inline-flex;align-items:center;gap:4px;background:var(--pk-navy);color:#fff;border-radius:100px;padding:5px 6px 5px 12px;font-size:12.5px;font-weight:600}
.tp-tag button{border:0;background:rgba(255,255,255,.18);color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;line-height:1;font-size:13px}
.tp-tag button:hover{background:#E2574C}
.tp-empty{color:var(--pk-text3);font-size:12.5px;align-self:center}
.tp.has-tags .tp-empty{display:none}
.tp-search{width:100%;padding:9px 12px;border:1px solid var(--pk-line);border-radius:9px;font:inherit;font-size:13.5px}
.tp-search:focus{border-color:var(--pk-sky);outline:none}
.tp-cats{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.tp-cats button{border:1px solid var(--pk-line);background:#fff;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--pk-text2);cursor:pointer}
.tp-cats button.on{background:var(--pk-sky);border-color:var(--pk-sky);color:#fff}
.tp-list{max-height:260px;overflow:auto;padding-right:4px}
.tp-grp p{font-size:11.5px;font-weight:800;color:var(--pk-text3);margin:8px 0 5px}
.tp-grp{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start}
.tp-grp p{width:100%}
.tp-opt{border:1px solid var(--pk-line2);background:#F8FAFC;border-radius:7px;padding:5px 9px;font-size:12.5px;cursor:pointer;color:inherit;text-align:left}
.tp-opt:hover{border-color:var(--pk-sky)}
.tp-opt.on{background:var(--pk-soft);border-color:var(--pk-sky);color:var(--pk-navy);font-weight:700}
.tp-opt.on::before{content:'✓ '}
.tp-nores{font-size:12.5px;color:var(--pk-text3);padding:10px 0}

/* repeat rows */
.rp-row{display:grid;gap:6px;margin-bottom:6px;align-items:center}
.rp-4{grid-template-columns:1.4fr 1fr 1fr .6fr 30px}
.rp-1{grid-template-columns:1fr 30px}
.rp-del{border:1px solid var(--line,#E3EAF0);background:#fff;border-radius:8px;height:36px;cursor:pointer;color:#E2574C;font-size:16px}
.pk-add{border:1px dashed var(--sky,#2EC4F3);background:transparent;color:var(--navy,#0A2540);border-radius:9px;padding:7px 12px;font-size:12.5px;font-weight:700;cursor:pointer}
.pk-add:hover{background:var(--sky-soft,#E8F7FE)}

/* weekly grid */
.wk{border:1px solid var(--pk-line);border-radius:12px;overflow:hidden;background:#fff}
.wk-quick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;background:linear-gradient(135deg,#F4FBFF,#fff);border-bottom:1px solid var(--pk-line)}
.wk-quick b{font-size:13px;color:var(--pk-navy)}
.wk input[type=time]{padding:6px 8px;border:1px solid var(--pk-line);border-radius:8px;font:inherit;font-size:13px;background:#fff}
.wk-days{display:flex;gap:3px;flex-wrap:wrap}
.wk-days label,.wk-copybox label{cursor:pointer;margin:0}
.wk-days input,.wk-copybox input{display:none}
.wk-days span,.wk-copybox span{display:inline-block;min-width:32px;height:30px;line-height:28px;text-align:center;border:1px solid var(--pk-line);border-radius:7px;font-size:12px;font-weight:700;background:#fff;padding:0 4px}
.wk-days input:checked+span,.wk-copybox input:checked+span{background:var(--pk-sky);border-color:var(--pk-sky);color:#fff}
.wk-btn{border:1px solid var(--pk-line);background:#fff;border-radius:8px;padding:6px 11px;font-size:12.5px;font-weight:700;color:var(--pk-navy);cursor:pointer;white-space:nowrap}
.wk-btn:hover{border-color:var(--pk-sky);color:var(--pk-sky)}
.wk-primary,.wk-q-apply{background:var(--pk-navy);border-color:var(--pk-navy);color:#fff}
.wk-primary:hover,.wk-q-apply:hover{background:var(--pk-sky);border-color:var(--pk-sky);color:#fff}
.wk-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--pk-line2)}
.wk-day{font-weight:700;font-size:13.5px;color:var(--pk-navy)}
.wk-slots{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.wk-slot{display:inline-flex;align-items:center;gap:4px;background:var(--pk-soft);border-radius:9px;padding:4px 4px 4px 6px}
.wk-slot.bad{background:#FDECEA;outline:1px solid #E2574C}
.wk-slot span{color:var(--pk-text3)}
.wk-del{border:0;background:transparent;color:#E2574C;font-size:17px;cursor:pointer;padding:0 6px;line-height:1}
.wk-none{display:none;font-size:12px;color:var(--pk-text3)}
.wk-row.empty .wk-none{display:inline}
.wk-row.empty .wk-day{color:var(--pk-text3)}
.wk-acts{display:flex;gap:5px}
.wk-copybox{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;align-items:center;background:#F8FAFC;border-radius:9px;padding:8px 10px;font-size:12.5px;font-weight:600}
.wk-copybox[hidden]{display:none}
.wk-hint{margin:0;padding:10px 14px;font-size:12px;color:var(--pk-text2);background:#FAFCFD}
.wk-save{margin-top:10px}

/* autosave */
.as-bar{background:#FFF8E6;border:1px solid #F3D98B;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px}
.as-bar button{border:1px solid #E8A33A;background:#fff;border-radius:7px;padding:4px 10px;margin-left:6px;cursor:pointer;font-weight:700}
.as-bar .as-restore{background:#E8A33A;color:#fff}

@media (max-width:768px){
  .rp-4{grid-template-columns:1fr 1fr}
  .rp-4 .rp-del{grid-column:2;justify-self:end;width:40px}
  .wk-row{grid-template-columns:1fr;gap:6px}
  .wk-acts{flex-wrap:wrap}
  .cb-pop{min-width:0}
}
/* 수업 가능 시간 캘린더 — 시간대 전환 */
.sch-tz{flex-wrap:wrap}
.sch-tz .cb{width:auto;min-width:240px;max-width:320px}
.sch-tz .cb-btn{padding:7px 30px 7px 10px;font-size:13px}
.sch-mode{display:inline-flex;border:1px solid var(--line,#E3EAF0);border-radius:8px;overflow:hidden;background:#fff}
.sch-mode button{border:0;background:#fff;padding:7px 11px;font-size:12.5px;font-weight:700;color:var(--text-2,#5A7183);cursor:pointer}
.sch-mode button+button{border-left:1px solid var(--line,#E3EAF0)}
.sch-mode button.on{background:var(--navy,#0A2540);color:#fff}
.sch-foot{display:flex;flex-direction:column;gap:3px}
.sch-now{color:var(--text-3,#93A5B5);font-size:11.5px}
/* 반복 입력 칸 — 사이트(마이페이지 · 가입)에서도 동일하게 */
.rp-row input{width:100%;padding:9px 11px;border:1px solid var(--line,#E3EAF0);border-radius:9px;font:inherit;font-size:13.5px;background:#fff;min-width:0}
.rp-row input:focus{border-color:var(--sky,#2EC4F3);outline:none}
