/* pager */ .notice-pager{ margin-top: 14px; display:flex; justify-content:center; } .pg{ display:flex; align-items:center; gap:10px; padding: 10px 12px; border-radius: 14px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.03); } .pg-btn{ padding: 8px 10px; border-radius: 10px; border: 1px solid rgba(255,255,255,.10); text-decoration:none; } .pg-btn:hover{ background: rgba(255,255,255,.06); } .pg-btn.is-disabled{ opacity: .45; } .pg-pages{ display:flex; gap:6px; align-items:center; } .pg-page, .pg-ellipsis{ min-width: 34px; height: 34px; display:flex; align-items:center; justify-content:center; border-radius: 10px; text-decoration:none; border: 1px solid rgba(255,255,255,.08); } .pg-page:hover{ background: rgba(255,255,255,.06); } .pg-page.is-active{ background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.18); font-weight: 800; } .notice-head-row{ display:flex; align-items:center; justify-content: space-between; /* ✅ 양끝 배치 */ gap:12px; flex-wrap: nowrap; padding-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.08); /* ✅ 라이트 배경 기준: 검정 계열 */ } /* 다크 테마일 때만 흰색 라인으로(선택) */ @media (prefers-color-scheme: dark){ .notice-head-row{ border-bottom-color: rgba(255,255,255,.10); } } .notice-count{ flex: 0 0 auto; /* ✅ 줄어들지 않게 */ white-space: nowrap; } .notice-toolbar{ margin-left: auto; /* ✅ 오른쪽으로 밀기(보험) */ display:flex; justify-content:flex-end; } .notice-toolbar .nt-right{ display:flex; justify-content:flex-end; } .nt-search{ display:flex; align-items:center; gap:8px; flex-wrap: nowrap; /* ✅ 검색 영역도 한 줄 */ } /* 검색 input 폭이 너무 커서 내려가는 걸 방지 */ .nt-search input{ width: clamp(180px, 28vw, 260px); } /* 아주 좁은 화면에서만 2줄 허용(선택) */ @media (max-width: 380px){ .notice-head-row{ flex-wrap: wrap; } .notice-toolbar{ margin-left: 0; width: 100%; } .notice-toolbar .nt-right{ justify-content:flex-end; width:100%; } .nt-search input{ width: 100%; } } @media (max-width: 520px){ .notice-count{ display:none; } .notice-head-row{ flex-direction: column; align-items: stretch; gap: 10px; } .notice-toolbar{ width: 100%; margin-left: 0; } .notice-toolbar .nt-right{ width: 100%; } .nt-search{ width: 100%; display:flex; gap: 8px; } /* ✅ 핵심: 기존 width:240px 죽이고, flex로 꽉 채우기 */ .nt-search input{ width: auto; flex: 1 1 auto; min-width: 0; } .nt-search button{ flex: 0 0 auto; white-space: nowrap; } } /* ===== notice view upgrades ===== */ .nv-top{ display:flex; justify-content:flex-end; margin: 6px 0 12px; } .nv-btn{ display:inline-flex; align-items:center; justify-content:center; height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.06); text-decoration:none; } .nv-btn--ghost:hover{ background: rgba(0,0,0,.03); } /* 제목 크기 조금 줄이기 */ .nv-title--sm{ font-size: 16px; } /* 내용 박스 라인 */ .nv-content-box{ padding: 14px 16px 16px; border-top: 1px solid rgba(0,0,0,.06); } @media (prefers-color-scheme: dark){ .nv-btn{ border-color: rgba(255,255,255,.10); } .nv-btn--ghost:hover{ background: rgba(255,255,255,.06); } .nv-content-box{ border-top-color: rgba(255,255,255,.06); } } /* 첨부영역(내용 박스 안) */ .nv-attach--inbox{ margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(0,0,0,.06); } @media (prefers-color-scheme: dark){ .nv-attach--inbox{ border-top-color: rgba(255,255,255,.06); } } .nv-attach-list{ display:flex; flex-direction:column; gap:8px; margin-top: 10px; } .nv-attach-item{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding: 12px 12px; border-radius: 12px; border: 1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.04); text-decoration:none; } .nv-attach-item:hover{ background: rgba(0,0,0,.03); } @media (prefers-color-scheme: dark){ .nv-attach-item{ border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.04); } .nv-attach-item:hover{ background: rgba(255,255,255,.06); } } .nv-attach-name{ flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size: 13px; opacity:.95; } .nv-attach-action{ flex:0 0 auto; font-size: 12px; opacity:.75; padding: 6px 10px; border-radius: 999px; border: 1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.06); } @media (prefers-color-scheme: dark){ .nv-attach-action{ border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.06); } } /* 하단 버튼(이전/목록/다음) */ .nv-actions{ margin-top: 16px; display:grid; grid-template-columns: 1fr auto 1fr; gap:10px; } .nv-action{ border-radius: 14px; border: 1px solid rgba(0,0,0,.08); background: rgba(255,255,255,.04); text-decoration:none; padding: 12px 12px; display:flex; flex-direction:column; gap:6px; min-height: 62px; } .nv-action:hover{ background: rgba(0,0,0,.03); } @media (prefers-color-scheme: dark){ .nv-action{ border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.04); } .nv-action:hover{ background: rgba(255,255,255,.06); } } .nv-action--list{ align-items:center; justify-content:center; padding: 12px 14px; min-width: 140px; } .nv-action--disabled{ opacity: .55; pointer-events:none; } .nv-action-top{ font-size: 12px; font-weight: 800; opacity:.75; } .nv-action-title{ font-size: 13px; line-height: 1.35; overflow:hidden; display:-webkit-box; -webkit-line-clamp: 2; /* ✅ 두 줄 */ -webkit-box-orient: vertical; } /* 모바일: 1열로 */ @media (max-width: 520px){ .nv-actions{ grid-template-columns: 1fr; } .nv-action--list{ min-width: auto; } } /* ===== nv-head: desktop 1-line / mobile 2-lines ===== */ .nv-head{ display:flex; align-items:flex-start; justify-content:space-between; /* ✅ 웹: 한 줄 양끝 */ gap:12px; } .nv-title{ margin:0; min-width:0; flex:1; } .nv-meta{ margin-top: 0; /* ✅ 웹: 제목과 같은 줄 */ white-space: nowrap; /* ✅ 메타 줄바꿈 방지 */ flex: 0 0 auto; } /* 모바일: 두 줄(제목 -> 메타) */ @media (max-width: 520px){ .nv-head{ flex-direction: column; align-items: flex-start; } .nv-meta{ margin-top: 8px; white-space: normal; } } /* ===== bottom nav: prev/next only, web only ===== */ .nv-actions{ margin-top: 16px; display:grid; grid-template-columns: 1fr 1fr; /* ✅ 이전/다음 2칸 */ gap:10px; } /* 웹에서만 보이게 */ @media (max-width: 520px){ .nv-actions--webonly{ display:none !important; } } @media (min-width: 521px){ .nv-title{ overflow:hidden; white-space:nowrap; text-overflow:ellipsis; } }