/* calendar 전용 스타일. app.css 변수만 쓴다. */

.cal-wrap{display:flex;flex-direction:column;gap:14px;position:relative}
.cal-wrap.cal-dragover{outline:2px dashed var(--ac);outline-offset:4px;border-radius:var(--radius)}

.cal-banner-card{padding:10px 16px}
.cal-banner-text{font-size:12.5px;color:var(--sub);display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.5}
.cal-banner-toggle{font-size:11.5px;color:var(--ac);font-weight:650;white-space:nowrap}

.cal-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px}
.cal-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cal-title{font-size:14.5px;font-weight:700;margin-left:6px;white-space:nowrap}
.cal-views{display:flex;gap:2px;background:var(--card2);border:1px solid var(--line);border-radius:9px;padding:2px}
.cvbtn{font-size:12.5px;padding:6px 12px;border-radius:7px;color:var(--sub);font-weight:600}
.cvbtn:hover{color:var(--ink)}
.cvbtn.on{background:var(--ac);color:#fff}
.cal-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}

/* ---------- 월 / 주 그리드 ---------- */
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cal-dow{background:var(--card2);color:var(--sub);font-size:11px;font-weight:700;padding:7px 8px;text-align:center}
.cal-dow.today{color:var(--ac)}
.cal-cell{background:var(--card);min-height:92px;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-cell:hover{background:var(--card2)}
.cal-cell.other{opacity:.42}
.cal-cell.today .cal-daynum{background:var(--ac);color:#fff}
.cal-daynum{font-size:11.5px;font-weight:700;width:21px;height:21px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;color:var(--ink);flex:none}
.cal-chips{display:flex;flex-direction:column;gap:2px;min-width:0}
.cal-chip{font-size:10.8px;padding:2px 6px;border-radius:6px;background:var(--ac-soft);color:var(--ac);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;min-width:0}
.cal-chip-t{color:var(--sub);font-weight:600}
.cal-more{font-size:10.5px;color:var(--sub);padding:0 4px}

.cal-week-cell{min-height:220px;align-items:stretch}
.cal-chip-wk{white-space:normal;line-height:1.4}
.cal-empty-cell{font-size:11px;color:var(--sub);opacity:.5;text-align:center;margin-top:8px}

/* ---------- 목록 보기 ---------- */
.cal-list-group{margin-bottom:16px}
.cal-list-group:last-child{margin-bottom:0}
.cal-list-date{font-size:12.5px;font-weight:700;color:var(--ac);padding:6px 2px;border-bottom:1px solid var(--line);margin-bottom:6px}
.cal-list-date.today::after{content:" · 오늘";color:var(--sub);font-weight:600}
.cal-list-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:start;
  padding:8px 6px;border-radius:8px;cursor:pointer;min-width:0}
.cal-list-row:hover{background:var(--card2)}
.cal-list-time{font-size:11.5px;color:var(--sub);white-space:nowrap;padding-top:1px}
.cal-list-main{min-width:0}
.cal-list-main .ti{font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis}
.cal-list-main .ti2{font-size:12px;color:var(--sub);margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.cal-list-who{font-size:11px;color:var(--sub);white-space:nowrap}

/* ---------- 모달 공통 ---------- */
.cal-form label{display:block;font-size:12px;font-weight:650;color:var(--sub);margin:12px 0 5px}
.cal-form label:first-child{margin-top:0}
.cal-form input,.cal-form textarea{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;
  background:var(--card2);color:var(--ink);font-size:13.5px;outline:none;font-family:inherit}
.cal-form input:focus,.cal-form textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--ac-soft)}
.cal-form textarea{resize:vertical}
.cal-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cal-check{display:flex!important;align-items:center;gap:7px;font-weight:600!important;color:var(--ink)!important}
.cal-check input{width:auto!important;margin:0}
.cal-meta{font-size:11.5px;color:var(--sub);margin:12px 0 0}
.cal-detail-memo{font-size:13.5px;color:var(--ink);white-space:pre-line;margin:10px 0;
  padding:10px 12px;background:var(--card2);border-radius:9px}
.cal-formbtns{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px;flex-wrap:wrap}
.cal-tznote{font-size:12px;color:var(--warn);background:var(--warn-soft);padding:7px 10px;
  border-radius:8px;margin:0 0 12px}

.cal-day-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.cal-day-row{padding:9px 8px;border-radius:8px;cursor:pointer}
.cal-day-row:hover{background:var(--card2)}
.cal-day-row .ti{font-size:13.5px;font-weight:650}
.cal-day-row .ti2{font-size:11.5px;color:var(--sub);margin-top:2px}

.cal-import-list{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:3px;
  border:1px solid var(--line);border-radius:9px;padding:6px;margin-top:6px}
.cal-import-row{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:8px;cursor:pointer;min-width:0}
.cal-import-row:hover{background:var(--card2)}
.cal-import-row input{margin-top:3px;flex:none}
.cal-import-row .ti{font-size:13px;font-weight:650}
.cal-import-row .ti2{font-size:11.5px;color:var(--sub);margin-top:2px;overflow:hidden;text-overflow:ellipsis}

@media (max-width:640px){
  .cal-toolbar{gap:10px}
  .cal-actions{margin-left:0;width:100%}
  .cal-list-row{grid-template-columns:48px minmax(0,1fr)}
  .cal-list-who{display:none}
  .cal-cell{min-height:76px}
}
