
/* =====================================================
   업무 안내
===================================================== */
.notice-section{
  margin-top:40px;
  scroll-margin-top:24px;
}

.notice-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #dde4ed;
}

.notice-head h1{
  margin:0;
  color:#152033;
  font-size:1.65rem;
  font-weight:650;
  letter-spacing:-.035em;
}

.notice-head p{
  margin:5px 0 0;
  color:#8b96a6;
  font-size:.78rem;
}

.notice-list{
  border-bottom:1px solid #e3e8ef;
}

.notice-item{
  border-bottom:1px solid #e8edf3;
}

.notice-item:last-child{
  border-bottom:0;
}

.notice-trigger{
  width:100%;
  min-height:70px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 24px;
  gap:12px;
  align-items:center;
  padding:12px 10px 12px 4px;
  border:0;
  background:#fff;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.notice-trigger:hover{
  background:#fbfbf9;
}

.notice-icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#f0ede6;
  color:#6c655a;
}

.notice-icon.test{
  background:#f2f1ed;
  color:#77736b;
}

.notice-icon svg{
  width:18px;
  height:18px;
}

.notice-main{
  min-width:0;
}

.notice-main strong{
  display:block;
  color:#263142;
  font-size:.9rem;
  font-weight:620;
}

.notice-main span{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:#818b99;
  font-size:.75rem;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.notice-chevron{
  color:#929aa6;
  font-size:.9rem;
  text-align:center;
  transition:transform .15s ease;
}

.notice-item.open .notice-chevron{
  transform:rotate(180deg);
}

.notice-item.open .notice-trigger{
  background:#faf9f6;
}

.notice-body{
  padding:0 16px 16px 54px;
  background:#faf9f6;
}

.notice-block{
  padding:13px 0;
  border-top:1px solid #ebe7df;
}

.notice-block:first-child{
  border-top:0;
}

.notice-block h3{
  margin:0 0 8px;
  color:#4c473e;
  font-size:.78rem;
  font-weight:650;
}

.notice-row{
  display:grid;
  grid-template-columns:minmax(190px,.9fr) minmax(0,1.7fr);
  gap:14px;
  padding:5px 0;
  font-size:.75rem;
  line-height:1.5;
}

.notice-row strong{
  color:#3d4653;
  font-weight:600;
}

.notice-row span{
  color:#68727f;
}

.notice-sub{
  margin:-2px 0 4px calc(0.9 / 2.6 * 100%);
  padding-left:14px;
  color:#9a9f9f;
  font-size:.66rem;
}

.notice-note{
  margin:6px 0;
  padding:7px 9px;
  border-radius:5px;
  background:#f1eee7;
  color:#756e62;
  font-size:.7rem;
  line-height:1.5;
}

/* =====================================================
   오른쪽 페이지 앵커
===================================================== */
.page-anchor-nav{
  position:fixed;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  z-index:40;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:5px;
  border:1px solid rgba(215,223,234,.9);
  border-radius:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 20px rgba(43,63,88,.07);
  backdrop-filter:blur(8px);
}

.page-anchor-nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-height:31px;
  padding:3px 2px;
  border-radius:6px;
  color:#8390a1;
  text-decoration:none;
  font-size:.625rem;
  font-weight:600;
  transition:.15s ease;
}

.page-anchor-nav a:hover{
  background:#f5f4f1;
  color:#5f5a51;
}

.page-anchor-nav a.active{
  background:#ece9e2;
  color:#4f493f;
}

@media(max-width:1320px){
  .page-anchor-nav{display:none}
}

@media(max-width:760px){
  .notice-body{padding-left:16px}
  .notice-row{grid-template-columns:1fr;gap:2px}
  .notice-sub{margin-left:0;padding-left:0}
}


/* =====================================================
   v26 - 큰 섹션 구분 강화
===================================================== */

.major-section{
  position:relative;
  scroll-margin-top:26px;
}

.major-calendar{
  margin-bottom:64px !important;
}

.major-notice{
  margin-top:0 !important;
  margin-bottom:72px !important;
}

.major-resource{
  margin-top:0 !important;
}

.major-calendar .calendar-head,
.major-notice .notice-head,
.major-resource .resource-head{
  box-sizing:border-box;
  padding:14px 16px !important;
  border:1px solid #e1e7ef;
  border-left-width:4px;
  border-radius:9px;
  margin-bottom:18px !important;
}

.major-calendar .calendar-head{
  border-left-color:#5c83bd;
  background:#f7f9fd;
}

.major-notice .notice-head{
  border-left-color:#9a8a70;
  background:#faf8f3;
}

.major-resource .resource-head{
  border-left-color:#668b7a;
  background:#f7faf8;
}

.major-calendar .calendar-title h1,
.major-notice .notice-head h1,
.major-resource .resource-title h1{
  font-size:1.5rem !important;
  font-weight:650 !important;
  letter-spacing:-.035em !important;
}

.major-notice .notice-head{
  border-bottom:1px solid #e1e7ef !important;
}

.major-notice .notice-list{
  margin-bottom:0;
}

/* =====================================================
   v26 - 오른쪽 앵커 안정화
===================================================== */

.page-anchor-nav{
  right:12px;
}

.page-anchor-nav a{
  cursor:pointer;
}

.anchor-target-flash{
  animation:anchorTargetFlash .7s ease;
}

@keyframes anchorTargetFlash{
  0%{box-shadow:0 0 0 0 rgba(92,131,189,.22)}
  45%{box-shadow:0 0 0 4px rgba(92,131,189,.13)}
  100%{box-shadow:0 0 0 0 rgba(92,131,189,0)}
}

#schoolStatus,
#dutySchedule,
#calendarSection,
#noticeSection,
#resourceSection{
  scroll-margin-top:24px;
}

@media(max-width:760px){
  .major-calendar{
    margin-bottom:46px !important;
  }

  .major-notice{
    margin-bottom:50px !important;
  }

  .major-calendar .calendar-head,
  .major-notice .notice-head,
  .major-resource .resource-head{
    padding:12px 13px !important;
  }
}


/* v26.1 업무안내 문구 간소화 */
.notice-head > div > p{
  display:none !important;
}

.notice-main > strong:only-child{
  margin:0;
}

/* 초과근무 제목 옆 작은 주의 문구 */
.notice-heading-with-note{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:7px;
}

.notice-heading-with-note small{
  color:#958b7b;
  font-size:.64rem;
  font-weight:500;
  letter-spacing:-.01em;
}

/* 단순 안내 문장 */
.notice-simple-message{
  padding:13px 0 3px;
  color:#68727f;
  font-size:.75rem;
  line-height:1.6;
}
