/* 최승규 수학 수업 사이트 공통 홈 탭 스타일 (home.js 와 짝) */
#app header .tabs{flex-wrap:wrap}
#app header .tabs .tab{min-width:96px}
#tabHome{min-width:72px;flex:0 0 auto}
.mx-site-logout{flex:0 0 auto;margin-left:auto;border:1px solid #CEC8C1;border-radius:999px;background:#FFF;color:#575158;padding:7px 12px;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.mx-site-logout:hover{border-color:#B0272A;color:#B0272A;background:#FFF8F8}

.hm-wrap{padding:14px 0 8px}
.hm-status{min-height:18px;font-size:12.5px;color:#6C6F77;margin:0 0 8px}
.hm-status.error{color:#B0272A;font-weight:700}
.hm-empty{border:1px dashed #DDD9D3;border-radius:14px;padding:22px;text-align:center;color:#6C6F77;font-size:13px;display:flex;flex-direction:column;gap:4px}
.hm-muted{color:#6C6F77;font-size:12.5px;line-height:1.6}

.hm-hero{border:1px solid #DDD9D3;border-radius:16px;background:linear-gradient(135deg,#FFF 0%,#F8F4EE 100%);padding:18px;margin-bottom:14px}
.hm-kicker{color:#B0272A;font-size:11.5px;font-weight:800;letter-spacing:.08em}
.hm-hero h2{margin:4px 0 4px;font-size:21px;line-height:1.35}
.hm-hero p{margin:0;color:#6C6F77;font-size:13px;line-height:1.6}
.hm-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}
.hm-badge{display:inline-flex;align-items:center;border-radius:999px;background:#B0272A;color:#FFF;font-size:11.5px;font-weight:800;padding:5px 10px}

.hm-btn{appearance:none;border:1px solid #DDD9D3;background:#FFF;color:#1A1718;border-radius:10px;min-height:36px;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.hm-btn:hover{border-color:#B0272A}
.hm-btn:disabled{opacity:.5;cursor:default}
.hm-btn.small{min-height:30px;padding:4px 10px;font-size:12px;border-radius:8px}
.hm-btn.primary{border-color:#B0272A;background:#B0272A;color:#FFF}
.hm-btn.danger{color:#B0272A}

.hm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;align-items:start}
.hm-card{border:1px solid #E7E4DF;border-radius:16px;background:#FFF;padding:16px;min-width:0}
.hm-card[data-section="notices"],.hm-card[data-section="calendar"],.hm-card[data-section="hwTable"],.hm-card[data-section="progressTable"]{grid-column:1/-1}
.hm-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.hm-card-head h3{margin:0;font-size:16px;line-height:1.3}
.hm-card-head small{display:block;color:#6C6F77;font-size:12px;margin-top:2px}
.hm-card-tools{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.hm-cal-month{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;padding:0 4px}
.hm-card-body{font-size:14px;line-height:1.6;min-width:0}
.hm-p{margin:8px 0 0;font-size:13.5px;line-height:1.65;word-break:break-word}
.hm-p a,.hm-notice-body a{color:#B0272A;word-break:break-all}
.hm-lbl{display:inline-block;font-size:11px;font-weight:800;color:#B0272A;margin-right:6px;letter-spacing:.04em}
.hm-lbl-block{font-size:12px;font-weight:800;color:#6C6F77;margin:12px 0 6px;letter-spacing:.03em}

.hm-notices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hm-notices li{border:1px solid #EEEBE6;border-radius:12px;padding:10px 12px;background:#FBFAF8}
.hm-notices li.pinned{border-color:#F1C9CA;background:#FFF8F8}
.hm-notice-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-notice-head b{font-size:14.5px}
.hm-notice-head time{margin-left:auto;font-size:12px;color:#6C6F77;font-variant-numeric:tabular-nums}
.hm-pin{font-size:10.5px;font-weight:800;color:#FFF;background:#B0272A;border-radius:6px;padding:2px 6px}
.hm-notice-body{margin-top:6px;font-size:13.5px;line-height:1.65;word-break:break-word}

.hm-time{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.hm-time .day{font-size:12.5px;font-weight:800;color:#B0272A}
.hm-time strong{font-size:20px;font-variant-numeric:tabular-nums}
.hm-timeline{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.hm-timeline li{display:flex;gap:12px;border-left:3px solid #B0272A;padding:4px 0 4px 12px}
.hm-timeline time{flex:0 0 118px;font-size:12.5px;font-weight:700;color:#6C6F77;font-variant-numeric:tabular-nums}
.hm-timeline b{font-size:14px}
.hm-timeline p{margin:2px 0 0;font-size:12.5px;color:#6C6F77;line-height:1.5}

.hm-hw{border:1px solid #EEEBE6;border-radius:12px;padding:12px;background:#FBFAF8}
.hm-hw-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-hw-head b{font-size:15px}
.hm-due{margin-left:auto;font-size:12px;font-weight:700;color:#B0272A}
.hm-link{display:inline-flex;align-items:center;margin:8px 8px 0 0;border:1px solid #B0272A;border-radius:10px;color:#B0272A;background:#FFF;font-size:13px;font-weight:700;padding:7px 12px;text-decoration:none}
.hm-link:hover{background:#B0272A;color:#FFF}
.hm-links,.hm-contact{display:flex;flex-wrap:wrap}
.hm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hm-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #DDD9D3;background:#F5F4F1;font-size:12px;font-weight:700;padding:3px 9px;color:#6C6F77}
.hm-chip.st-done{border-color:#BFE3D4;background:#E8F6EF;color:#1E6B4E}
.hm-chip.st-partial,.hm-chip.st-late{border-color:#F3D9A6;background:#FFF5DF;color:#8A5A00}
.hm-chip.st-missing{border-color:#F1C9CA;background:#FFF0F0;color:#B0272A}
.hm-mine{margin-top:10px;font-size:13.5px;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hm-names{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.hm-name{border:1px solid #DDD9D3;border-radius:8px;padding:3px 8px;font-size:12.5px;background:#FFF;color:#1A1718}
.hm-name.st-done{border-color:#BFE3D4;background:#E8F6EF;color:#1E6B4E}
.hm-name.st-partial,.hm-name.st-late{border-color:#F3D9A6;background:#FFF5DF;color:#8A5A00}
.hm-name.st-missing{border-color:#F1C9CA;background:#FFF0F0;color:#B0272A}
.hm-name.tog{cursor:pointer;font:inherit;font-size:12.5px}

.hm-tablewrap{overflow-x:auto}
.hm-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:420px}
.hm-table th{font-size:12px;color:#6C6F77;text-align:left;padding:6px 8px;border-bottom:2px solid #E7E4DF;white-space:nowrap}
.hm-table td{padding:8px;border-bottom:1px solid #EEEBE6;vertical-align:top;line-height:1.55;word-break:break-word}
.hm-table td.no{font-weight:800;color:#B0272A;white-space:nowrap;font-variant-numeric:tabular-nums}
.hm-table td.date{white-space:nowrap;color:#6C6F77;font-variant-numeric:tabular-nums}
.hm-table tr.today td{background:#FFF8F8}
@media (max-width:520px){.hm-table{min-width:0;font-size:13px}.hm-table th,.hm-table td{padding:7px 4px}.hm-table td.no,.hm-table td.date{font-size:11.5px}}

.hm-cal{border:1px solid #EEEBE6;border-radius:12px;overflow:hidden}
.hm-cal-week,.hm-cal-days{display:grid;grid-template-columns:repeat(7,1fr)}
.hm-cal-week span{text-align:center;font-size:11.5px;font-weight:800;color:#6C6F77;padding:6px 0;background:#F5F4F1}
.hm-cal-week span:first-child{color:#B0272A}
.hm-cal-week span:last-child{color:#2B5FA8}
.hm-cal-days .pad{min-height:46px;border-top:1px solid #EEEBE6}
.hm-cal-days .day{appearance:none;border:0;border-top:1px solid #EEEBE6;border-left:1px solid #F3F1EE;background:#FFF;min-height:46px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;font:inherit;cursor:pointer}
.hm-cal-days .day .n{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;width:24px;height:24px;line-height:24px;border-radius:50%;text-align:center}
.hm-cal-days .day.sun .n{color:#B0272A}
.hm-cal-days .day.sat .n{color:#2B5FA8}
.hm-cal-days .day.today .n{background:#B0272A;color:#FFF}
.hm-cal-days .day.sel{background:#FFF8F8}
.hm-cal-days .day.has{background:#FBFAF8}
.hm-cal-days .dots{display:flex;gap:2px}
.hm-cal-days .dots i,.hm-ev i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9A9AA0}
.k-class{background:#B0272A!important}
.k-exam{background:#B06A00!important}
.k-off{background:#2B5FA8!important}
.hm-cal-list{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.hm-cal-list .hm-muted{display:flex;align-items:center;gap:8px}
.hm-ev{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;border:1px solid #EEEBE6;border-radius:10px;padding:6px 10px}
.hm-ev time{font-size:12.5px;color:#6C6F77;font-variant-numeric:tabular-nums}
.hm-ev small{flex-basis:100%;color:#6C6F77;font-size:12px}

.hm-exams{display:flex;flex-direction:column;gap:8px}
.hm-exam{border:1px solid #EEEBE6;border-radius:12px;padding:10px 12px;background:#FBFAF8}
.hm-exam-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hm-exam-head b{font-size:14.5px}
.hm-exam-head time{margin-left:auto;font-size:12px;color:#6C6F77}
.hm-place b{display:block;font-size:15px;margin-bottom:2px}

.hm-editor{margin-top:14px;border-top:2px dashed #E7E4DF;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.hm-field{display:flex;flex-direction:column;gap:3px;font-size:12px;font-weight:700;color:#6C6F77}
.hm-editor input[type=text],.hm-editor input[type=date],.hm-editor textarea,.hm-editor select{width:100%;box-sizing:border-box;border:1px solid #DDD9D3;border-radius:8px;padding:7px 9px;font:inherit;font-size:13.5px;font-weight:400;color:#1A1718;background:#FFF}
.hm-editor textarea{resize:vertical;line-height:1.5;font-family:inherit}
.hm-editbar{display:flex;gap:8px;margin-top:4px}
.hm-editlist{display:flex;flex-direction:column;gap:10px}
.hm-editrow{border:1px solid #E7E4DF;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;background:#FBFAF8}
.hm-editrow-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.hm-editrow-top input[type=text]{flex:1 1 180px}
.hm-editrow-top input[type=date]{flex:0 0 150px;width:auto}
.hm-check{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:#6C6F77}
.hm-statusgrid{display:flex;flex-wrap:wrap;gap:6px}
.hm-strow{display:inline-flex;align-items:center;gap:6px;border:1px solid #E7E4DF;border-radius:8px;padding:4px 6px 4px 9px;font-size:12.5px;font-weight:700;background:#FFF}
.hm-strow select{width:auto;padding:3px 6px;font-size:12px}

@media (max-width:600px){
  .hm-card{padding:13px}
  .hm-timeline time{flex-basis:96px}
  .hm-cal-days .day{min-height:40px}
}

/* v2: 표 섹션 텍스트·그림, 연락처 복사, 붙여넣기 영역 */
.hm-pre{white-space:pre-wrap}
.hm-imgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:10px}
.hm-img{display:block;border:1px solid #E7E4DF;border-radius:10px;overflow:hidden;background:#FBFAF8;text-decoration:none;color:#1A1718}
.hm-img img{display:block;width:100%;height:auto}
.hm-img span{display:block;font-size:12px;padding:5px 8px;color:#6C6F77}
.hm-copyrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hm-phone{font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:.02em;user-select:all}
.hm-pastezone{border:2px dashed #CEC8C1;border-radius:12px;padding:16px;text-align:center;color:#6C6F77;font-size:13px;line-height:1.7;cursor:pointer;background:#FBFAF8;outline:none}
.hm-pastezone:focus{border-color:#B0272A;background:#FFF8F8;color:#1A1718}
.hm-filebtn{display:inline-block;border:1px solid #DDD9D3;border-radius:8px;padding:3px 10px;background:#FFF;font-weight:700;font-size:12px;cursor:pointer}
.hm-imgedit{display:flex;flex-wrap:wrap;gap:8px}
.hm-imgitem{width:150px;border:1px solid #E7E4DF;border-radius:10px;padding:6px;background:#FFF;display:flex;flex-direction:column;gap:5px}
.hm-imgitem img{width:100%;height:100px;object-fit:cover;border-radius:6px}
.hm-imgitem .hm-imgname{font-size:12px;padding:4px 6px}
.k-school{background:#5B3FA0!important}
.k-mock{background:#1E7A5A!important}
.hm-ev time{white-space:nowrap}

/* v4: 공지 아코디언·페이지 */
.hm-acc-group{display:flex;flex-direction:column;gap:6px}
.hm-acc{border:1px solid #EEEBE6;border-radius:12px;background:#FBFAF8;overflow:hidden}
.hm-acc.pinned{border-color:#F1C9CA;background:#FFF8F8}
.hm-acc summary{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:14px}
.hm-acc summary::-webkit-details-marker{display:none}
.hm-acc summary b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-acc[open] summary b{white-space:normal}
.hm-acc summary time{font-size:12px;color:#6C6F77;font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-acc-chev{color:#B0272A;font-weight:800;font-size:18px;line-height:1;transition:transform .15s}
.hm-acc[open] .hm-acc-chev{transform:rotate(90deg)}
.hm-acc-body{padding:0 12px 12px;font-size:13.5px;line-height:1.7;word-break:break-word;border-top:1px dashed #E7E4DF;margin-top:0;padding-top:10px}
.hm-acc-body a{color:#B0272A;word-break:break-all}
.hm-acc-label{font-size:12px;font-weight:800;color:#6C6F77;margin:12px 0 6px;letter-spacing:.03em}
.hm-pager{display:flex;gap:4px;justify-content:center;margin-top:10px}

/* v5: 오늘의 한마디 */
.hm-quote-hero{padding:16px 18px}
.hm-quote{margin:6px 0 4px;font-size:17px;line-height:1.6;font-weight:600;color:#1A1718;word-break:keep-all}
.hm-quote-by{font-size:13px;color:#6C6F77;text-align:right}

/* 학교 피드: 급식 · 휴일 (2026-09-24) */
.k-hol{background:#9A9AA0!important}
.hm-meal{border:1px solid #EEEBE6;border-radius:12px;padding:9px 12px;margin-bottom:10px;background:#FBFAF8}
.hm-meal.empty{background:#FFF}
.hm-meal-h{font-size:13px;font-weight:800;margin-bottom:4px;display:flex;gap:8px;align-items:center}
.hm-meal-row{display:grid;grid-template-columns:38px 1fr auto;gap:6px 10px;align-items:baseline;font-size:13px;line-height:1.55;padding:4px 0;border-top:1px dashed #EEEBE6}
.hm-meal-row:first-of-type{border-top:0}
.hm-meal-row b{font-size:12px;color:#B0272A}
.hm-meal-row em{font-style:normal;font-size:11px;color:#6C6F77;white-space:nowrap}
.hm-meal-row small{font-size:10px;color:#9A9AA0}
.hm-cal-list .hm-meal{margin:6px 0 0}
.hm-ev small a{color:#2B5FA8;font-weight:700}
@media(max-width:600px){.hm-meal-row{grid-template-columns:34px 1fr}.hm-meal-row em{grid-column:2}}
