@charset "utf-8";

/* =========================================
   조직도 리스트 전용 스타일 (org_list 네임스페이스)
   ========================================= */
.org_list {
  /* ============ 기본 토큰/리셋 ============ */
  --bg:#f8fafc;
  --card:#fff;
  --ink:#1f2937;
  --muted:#6b7280;
  --line:#f1f5f9;

  --brand:#3b82f6;
  --brand-dark:#1d4ed8;
  --ok:#10b981;
  --ok-dark:#059669;

  --warn:#f59e0b;
  --err:#ef4444;

  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:8px;

  --shadow-1:0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);
  --shadow-2:0 4px 6px rgba(0,0,0,.07), 0 1px 3px rgba(0,0,0,.06);
}

/* ============ 컨테이너 ============ */
.org_list .board-container{
  max-width:1200px; margin:0 auto; padding:20px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--bg); min-height:100vh;
}

/* ============ 탭(필터) ============ */
.org_list .org-tabs{
  background:var(--card); border:none; border-radius:var(--radius-lg);
  padding:24px; margin:0 0 24px 0; box-shadow:var(--shadow-1);
  transition:box-shadow .2s ease;
}
.org_list .org-tabs:hover{ box-shadow:var(--shadow-2); }

.org_list .org-tabs .tr_row{
  display:flex; gap:8px; margin-bottom:16px; align-items:center; overflow:auto;
}
.org_list .org-tabs .tr_row:last-child{ margin-bottom:0; }

.org_list .org-tabs .ttl{
  min-width:60px; display:flex; align-items:center;
  margin-right:12px; font-weight:600; font-size:14px; color:#1f2937;
}
.org_list .org-tabs .tab{
  padding:8px 16px; border:1px solid #e5e7eb; background:#f9fafb;
  border-radius:20px; cursor:pointer; font-size:13px; color:#6b7280; font-weight:500;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.org_list .org-tabs .tab:hover{ background:#f3f4f6; border-color:#d1d5db; transform:translateY(-1px); }
.org_list .org-tabs .tab.active{
  color:#fff; background:linear-gradient(135deg,var(--brand),var(--brand-dark));
  border-color:var(--brand-dark); font-weight:600; box-shadow:0 2px 4px rgba(59,130,246,.3);
}

/* 스크롤바 (수평) */
.org_list .org-tabs .tr_row::-webkit-scrollbar{ height:4px; }
.org_list .org-tabs .tr_row::-webkit-scrollbar-track{ background:#eef2f7; border-radius:2px; }
.org_list .org-tabs .tr_row::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:2px; }
.org_list .org-tabs .tr_row::-webkit-scrollbar-thumb:hover{ background:#94a3b8; }

/* ============ 상단 툴바 ============ */
.org_list .board-toolbar{
  display:flex; align-items:center; gap:16px; margin:0 0 20px 0; padding:16px 20px;
  background:var(--card); border-radius:var(--radius-md); box-shadow:var(--shadow-1);
}
.org_list .save-all{
  padding:10px 20px; border:none;
  background:linear-gradient(135deg,var(--ok),var(--ok-dark));
  color:#fff; border-radius:8px; cursor:pointer; font-weight:600; font-size:14px;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow:0 2px 4px rgba(16,185,129,.3);
  display:flex; align-items:center;
}
.org_list .save-all:hover:not([disabled]){
  transform:translateY(-1px); box-shadow:0 4px 8px rgba(16,185,129,.4);
}
.org_list .save-all[disabled]{ opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }

.org_list .dirty-count{
  font-size:14px; color:#6b7280; font-weight:500; padding:6px 12px;
  background:#f3f4f6; border-radius:20px;
}

/* 관리 버튼들 */
.org_list .list_btns{ margin-left:auto; display:flex; gap:8px; }
.org_list .bbs_adm_btn, 
.org_list .admin_btn{
  width:36px; height:36px; border:1px solid #e5e7eb; background:#fff;
  border-radius:8px; cursor:pointer; color:#6b7280;
  transition:all .15s ease; display:flex; align-items:center; justify-content:center;
  text-decoration:none;
}
.org_list .bbs_adm_btn:hover, 
.org_list .admin_btn:hover{
  background:#f3f4f6; border-color:#d1d5db; transform:translateY(-1px);
}

/* ============ 목록 카드 래퍼 ============ */
.org_list .board-list-container{
  background:var(--card); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-1);
}

/* ============ 그리드 시스템 (체크박스 감지) ============ */
/* 기본 그리드 (체크박스 없음) */
.org_list .grid-head, 
.org_list .grid-row{
  display:grid;
  grid-template-columns: 100px 1fr 240px 160px;
  gap:0;
}

/* 체크박스가 있는 경우 자동 감지 */
.org_list .grid-head:has(.cell:first-child input[type="checkbox"]),
.org_list .grid-row:has(.cell:first-child input[type="checkbox"]){
  grid-template-columns: 48px 100px 1fr 240px 160px;
}

/* ============ 헤더/행 스타일 ============ */
.org_list .grid-head{
  background:linear-gradient(135deg,#f8fafc,#f1f5f9); color:#374151; font-weight:600;
}
.org_list .grid-head .cell{ 
  font-size:14px; padding:18px; border-right:1px solid var(--line); 
  display:flex; align-items:center; justify-content:center;
}

.org_list .grid-head .cell from{ 
  font-size:14px; padding:18px; border-right:1px solid var(--line); 
  display:flex; align-items:center; justify-content:center;
}
.org_list .grid-head .cell:last-child{ border-right:none; }

.org_list .grid-row{
  border-top:1px solid var(--line);
  transition:background .15s ease; position:relative;
  animation:org_list_slideIn .25s ease-out;
}
.org_list .grid-row:hover{ background:#f8fafc; }
.org_list .grid-row.dirty{
  background:linear-gradient(135deg,#fef3c7,#fde68a);
}
.org_list .grid-row.dirty::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg,#f59e0b,#d97706);
}

/* ============ 셀 스타일 ============ */
.org_list .cell{
  padding:16px 18px; border-right:1px solid var(--line);
  display:flex; flex-direction:column; justify-content:center; min-width:0;
}
.org_list .cell:last-child{ border-right:none; }

/* 체크박스 셀 */
.org_list .cell:has(input[type="checkbox"]){
  justify-content:center; align-items:center;
}

/* 번호 셀 */
.org_list .grid-head .cell:nth-child(1):not(:has(input)),
.org_list .grid-head .cell:nth-child(2):has(~ .cell input[type="checkbox"]),
.org_list .grid-row .cell:nth-child(1):not(:has(input)),
.org_list .grid-row .cell:nth-child(2):has(~ .cell input[type="checkbox"]){
  justify-content:center; align-items:center;
}

/* 제목 셀 */
.org_list .cell:has(a){ align-items:flex-start; }

/* 정렬 셀 */
.org_list .cell:has(.order-form){ align-items:center; }

/* 날짜 셀 */
.org_list .cell:has(span[style*="color"]),
.org_list .cell:last-child:not(:has(.order-form)):not(:has(input[type="checkbox"])){
  justify-content:center; align-items:center; text-align:center;
}

/* ============ 링크 및 텍스트 스타일 ============ */
.org_list .cell a{
  color:var(--ink); font-weight:500; text-decoration:none; transition:color .15s ease;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis;
}
.org_list .cell a:hover{ color:var(--brand); }

.org_list .muted{ 
  color:#9ca3af; font-size:12px; margin-top:6px; line-height:1.4; 
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; 
}

/* ============ 배지 ============ */
.org_list .notice-badge,
.org_list .current-badge{
  display:inline-block; padding:4px 8px; color:#fff; border-radius:12px; 
  font-size:11px; font-weight:600;
}
.org_list .notice-badge{ background:linear-gradient(135deg,var(--err),#dc2626); }
.org_list .current-badge{ background:linear-gradient(135deg,var(--brand),#2563eb); }

/* ============ 정렬 폼 ============ */
.org_list .order-form{ 
  display:flex; gap:8px; align-items:center; justify-content:flex-start; 
  width:100%;
}
.org_list .ord-input{
  width:80px; padding:8px 12px; border:2px solid #e5e7eb; border-radius:8px; 
  font-size:14px; text-align:center; background:#fff; 
  transition:border-color .15s ease, box-shadow .15s ease;
}
.org_list .ord-input:focus{
  outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(59,130,246,.12);
}

.org_list .ord-apply{
  border:2px solid var(--brand); background:#fff; color:var(--brand);
  border-radius:8px; padding:8px 14px; cursor:pointer; font-size:13px; font-weight:600;
  transition:background .15s ease, color .15s ease, transform .15s ease, opacity .15s ease;
  flex-shrink:0;
}
.org_list .ord-apply:hover:not([disabled]){
  background:var(--brand); color:#fff; transform:translateY(-1px);
  box-shadow:0 2px 4px rgba(59,130,246,.3);
}

.org_list .ord-apply[disabled]{ opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }

.org_list .order-badge{
  color:#9ca3af; font-size:12px; font-weight:500; padding:4px 8px; 
  background:#f3f4f6; border-radius:12px; margin-left:auto; flex-shrink:0;
}

/* ============ 체크박스 스타일 ============ */
.org_list input[type="checkbox"]{
  width:18px; height:18px; cursor:pointer;
  accent-color:var(--brand);
}

/* ============ 댓글 수 ============ */
.org_list .comment-count{ 
  color:var(--warn); font-weight:600; margin-left:8px; font-size:12px; 
}

/* ============ 빈 상태 ============ */
.org_list .empty-state{
  padding:60px 20px; text-align:center; color:#9ca3af; background:var(--card);
  border-radius:var(--radius-lg); margin:20px 0;
}
.org_list .empty-state.error{ color:var(--err); font-weight:600; }

/* ============ 페이지네이션 ============ */
.org_list .pagination-wrap{
  margin-top:24px; padding:20px; background:var(--card);
  border-radius:var(--radius-md); box-shadow:var(--shadow-1);
}

/* ============ 반응형 (org_list) ============ */
@media (max-width: 1024px){
  .org_list .grid-head, 
  .org_list .grid-row{
    grid-template-columns: 90px 1fr 220px 150px;
  }
  .org_list .grid-head:has(.cell:first-child input[type="checkbox"]),
  .org_list .grid-row:has(.cell:first-child input[type="checkbox"]){
    grid-template-columns: 44px 80px 1fr 200px 140px;
  }
}

@media (max-width: 768px){
  .org_list .board-container{ padding:16px; }

  /* 모바일: 등록일 컬럼 숨김 */
  .org_list .grid-head, 
  .org_list .grid-row{
    grid-template-columns: 80px 1fr 180px;
  }
  .org_list .grid-head:has(.cell:first-child input[type="checkbox"]),
  .org_list .grid-row:has(.cell:first-child input[type="checkbox"]){
    grid-template-columns: 40px 70px 1fr 180px;
  }
  
  /* 마지막 셀(등록일) 숨김 */
  .org_list .grid-head .cell:last-child,
  .org_list .grid-row .cell:last-child{ display:none; }

  .org_list .org-tabs{ padding:20px; }
  .org_list .org-tabs .tr_row{ flex-wrap:wrap; }
  .org_list .org-tabs .ttl{ min-width:50px; font-size:13px; }

  .org_list .ord-input{ width:60px; padding:6px 8px; }
  .org_list .ord-apply{ padding:6px 10px; font-size:12px; }
  .org_list .order-badge{ font-size:11px; padding:3px 6px; }
}

@media (max-width: 480px){
  .org_list .board-container{ padding:12px; }
  
  .org_list .grid-head, 
  .org_list .grid-row{
    grid-template-columns: 60px 1fr 160px;
  }
  .org_list .grid-head:has(.cell:first-child input[type="checkbox"]),
  .org_list .grid-row:has(.cell:first-child input[type="checkbox"]){
    grid-template-columns: 36px 50px 1fr 160px;
  }

  .org_list .cell{ padding:12px 8px; }
  .org_list .grid-head .cell{ padding:14px 8px; font-size:13px; }
  
  .org_list .ord-input{ width:50px; }
  .org_list .order-form{ gap:4px; }
  .org_list .ord-apply{ padding:6px 8px; }
}

/* ============ 애니메이션 ============ */
@keyframes org_list_slideIn{
  from{ opacity:0; transform:translateY(10px); }
  to{   opacity:1; transform:translateY(0); }
}
.org_list .grid-row{ animation:org_list_slideIn .25s ease-out; }

/* ============ 접근성/유틸 (org_list 범위로 스코프) ============ */
.org_list .sound_only{
  position:absolute; left:-9999px; width:1px; height:1px; 
  overflow:hidden; clip:rect(0,0,0,0);
}
.org_list .bbs_adm_btn i, 
.org_list .admin_btn i{ font-size:16px; }

/* org_list 전용 유틸리티 */
.org_list .cb{ clear:both; }
.org_list .fl{ float:left; }
.org_list .fr{ float:right; }

/* =========================================================
   글쓰기 전용 스타일 (org_write 네임스페이스)
   ========================================================= */
.org_write .write-container {
  width:100%; float:left; margin:0 auto; padding:20px; background-color:#fff;
}
.org_write .write_box { width:100%; float:left; padding:40px; }
.org_write .write_box form{
  width:100%; float:left; gap:40px; display:grid; grid-template-columns:auto 30%;
}

/* 폼 레이아웃 */
.org_write .form-left, 
.org_write .form-right { width:100%; float:left; }

/* 필드 그룹 */
.org_write .field-group { display:flex; flex-direction:column; gap:8px; }
.org_write .field-group:not(:last-child){ padding-bottom:24px; border-bottom:1px solid #f5f5f5; }

/* 라벨 스타일 */
.org_write .field-label{
  font-weight:600; color:#374151; font-size:14px; display:flex; align-items:center; gap:6px;
}
.org_write .field-label svg{ width:16px; height:16px; color:#6b7280; }

/* 입력 공통 */
.org_write .form-input, 
.org_write .form-select, 
.org_write .form-textarea{
  width:100%; padding:12px 16px; border:1px solid #d1d5db; border-radius:8px;
  font-size:14px; transition:all .2s ease; background:#fff; font-family:inherit; color:#333;
}
.org_write .form-input:focus, 
.org_write .form-select:focus, 
.org_write .form-textarea:focus{
  outline:none; border-color:#4f46e5; box-shadow:0 0 0 3px rgba(79,70,229,.1);
}
.org_write .form-input.required:invalid{ border-color:#dc2626; }

/* 제목 입력 */
.org_write #wr_subject{
  font-size:16px; font-weight:500; padding:16px; border:2px solid #e5e7eb;
}
.org_write #wr_subject:focus{ border-color:#4f46e5; }

/* 조직 선택 섹션 */
.org_write .organization-section{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:24px;
}
.org_write .organization-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px;
}
.org_write .org-field{ display:flex; flex-direction:column; gap:8px; }
.org_write .org-field label{
  font-weight:500; color:#374151; font-size:13px; display:flex; align-items:center; gap:6px;
}
.org_write .org-field select{
  padding:12px 14px; border:1px solid #d1d5db; border-radius:6px; background:#fff; transition:all .2s ease; font-size:14px;
}
.org_write .org-field select:focus{
  outline:none; border-color:#4f46e5; box-shadow:0 0 0 2px rgba(79,70,229,.1);
}

/* 옵션 체크박스 섹션 */
.org_write .options-section{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:20px;
}
.org_write .options-grid{ display:flex; flex-wrap:wrap; gap:20px; }
.org_write .option-item{ display:flex; align-items:center; }

/* 매직 체크박스 */
.org_write .magic-checkbox{ position:absolute; opacity:0; pointer-events:none; }
.org_write .magic-checkbox + label{
  position:relative; padding-left:28px; cursor:pointer; font-size:14px; font-weight:500; color:#374151; transition:color .2s;
}
.org_write .magic-checkbox + label span{
  position:absolute; left:0; top:2px; width:18px; height:18px; border:2px solid #d1d5db; border-radius:4px; background:#fff; transition:all .2s ease;
}
.org_write .magic-checkbox + label span::after{
  content:''; position:absolute; top:2px; left:5px; width:4px; height:8px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); opacity:0; transition:opacity .2s ease;
}
.org_write .magic-checkbox:checked + label span{ background:#4f46e5; border-color:#4f46e5; }
.org_write .magic-checkbox:checked + label span::after{ opacity:1; }

/* 텍스트에어리어 */
.org_write .form-textarea{ min-height:100px; resize:vertical; line-height:1.6; }

/* 에디터 래퍼 */
.org_write .editor-wrapper{ border-radius:8px; overflow:hidden; border:1px solid #d1d5db; }

/* 섹션 박스 */
.org_write .section-box{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:24px;
}
.org_write .section-title{
  font-size:15px; font-weight:600; color:#374151; margin-bottom:16px; display:flex; align-items:center; gap:8px;
}
.org_write .section-title svg{ width:18px; height:18px; color:#6b7280; }

/* 파일 업로드 */
.org_write .file-input-wrapper{ position:relative; margin-bottom:12px; }
.org_write .file-input{
  width:100%; padding:16px; border:2px dashed #d1d5db; border-radius:8px; background:#fafbfc; cursor:pointer; transition:all .2s ease; text-align:center; color:#6b7280; font-size:14px;
}
.org_write .file-input:hover{ border-color:#9ca3af; background:#f3f4f6; }
.org_write .file-input:focus{ outline:none; border-color:#4f46e5; border-style:solid; background:#fff; }

/* 파일 삭제 옵션 */
.org_write .file-delete-option{
  padding:12px 16px; background:#fef3cd; border:1px solid #fbbf24; border-radius:6px; margin-top:8px;
}
.org_write .file-delete-option label{ font-size:13px; color:#92400e; font-weight:500; }

/* 링크 입력 */
.org_write .link-input{ margin-bottom:12px; }
.org_write .link-input input{
  border:1px solid #d1d5db; border-radius:6px; padding:12px 16px; transition:all .2s ease;
}
.org_write .link-input input:focus{
  border-color:#4f46e5; box-shadow:0 0 0 2px rgba(79,70,229,.1);
}

/* 게시순서 변경 */
.org_write .order-section{
  display:flex; align-items:center; gap:12px; padding:16px 20px; background:#f1f5f9; border:1px solid #cbd5e1; border-radius:8px; font-size:14px; color:#475569;
}
.org_write .order-section input{
  width:80px; padding:8px 12px; text-align:center; border:1px solid #cbd5e1; border-radius:6px; background:#fff; font-weight:500;
}

/* 버튼들 */
.org_write .button-section{
  display:flex; gap:16px; justify-content:center; margin-top:40px; padding-top:32px; border-top:2px solid #f1f5f9;
}
.org_write .btn-primary, 
.org_write .btn-secondary{
  padding:14px 28px; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; transition:all .2s ease; min-width:120px; display:flex; align-items:center; justify-content:center; gap:8px; border:none;
}
.org_write .btn-primary{ background:#4f46e5; color:#fff; }
.org_write .btn-primary:hover{ background:#4338ca; transform:translateY(-1px); box-shadow:0 4px 12px rgba(79,70,229,.3); }
.org_write .btn-primary:disabled{ opacity:.6; cursor:not-allowed; transform:none; box-shadow:none; }
.org_write .btn-secondary{ background:#fff; color:#6b7280; border:1px solid #d1d5db; }
.org_write .btn-secondary:hover{ background:#f9fafb; color:#374151; border-color:#9ca3af; }

/* CAPTCHA */
.org_write .captcha-section{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:24px; text-align:center;
}

/* 도움말 */
.org_write .help-text{ font-size:12px; color:#6b7280; margin-top:6px; line-height:1.5; }

/* 반응형 (org_write) */
@media (max-width: 768px){
  .org_write .write-container{ padding:16px; }
  .org_write .write_box{ padding:24px 20px; flex-direction:column; gap:24px; }
  .org_write .organization-grid{ grid-template-columns:1fr; gap:16px; }
  .org_write .button-section{ flex-direction:column; align-items:center; }
  .org_write .btn-primary, 
  .org_write .btn-secondary{ width:100%; max-width:200px; }
  .org_write .options-grid{ flex-direction:column; gap:12px; }
}

/* org_write 전용 유틸리티 */
.org_write .cb{ clear:both; }
.org_write .fl{ float:left; }
.org_write .fr{ float:right; }
.org_write .divmb-05{ margin-bottom:8px; }
.org_write .divmb-10{ margin-bottom:16px; }
.org_write .divmt-20{ margin-top:24px; }
.org_write .w40{ width:40%; }
.org_write .w100{ width:100%; }
.org_write .sound_only{
  position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;
}

/* =========================================================
   글보기 전용 스타일 (org_view 네임스페이스)
   ========================================================= */
.org_view .view-container{
  max-width:100%; margin:0 auto; padding:20px; background:#fff; min-height:100vh;
}
.org_view .bbs_inner{ background:#fff; overflow:hidden; }

/* 액션 버튼 */
.org_view .action-buttons{
  display:flex; gap:8px; padding:20px 24px; background:#f8fafc; border-bottom:1px solid #e2e8f0; align-items:center;
}
.org_view .action-btn{
  display:inline-flex; align-items:center; justify-content:center; padding:8px 12px; background:#fff; border:1px solid #d1d5db; border-radius:8px; text-decoration:none; color:#374151; font-size:14px; font-weight:500; transition:all .2s ease; min-width:44px; height:40px;
}
.org_view .action-btn:hover{ background:#f3f4f6; border-color:#9ca3af; transform:translateY(-1px); box-shadow:0 2px 4px rgba(0,0,0,.1); }
.org_view .action-btn img{ width:18px; height:18px; filter:brightness(0) saturate(100%) invert(36%) sepia(12%) saturate(628%) hue-rotate(202deg) brightness(95%) contrast(87%); }
.org_view .action-btn.delete-btn:hover{ background:#fef2f2; border-color:#fca5a5; color:#dc2626; }

/* 제목/메타 */
.org_view .post-header{ padding:32px 32px 24px; background:#fff; border-bottom:1px solid #f1f5f9; }
.org_view .post-title{ font-size:28px; font-weight:700; color:#1f2937; line-height:1.3; margin:0; word-break:keep-all; }
.org_view .post-category{
  display:inline-block; background:#e0e7ff; color:#4338ca; padding:4px 12px; border-radius:16px; font-size:12px; font-weight:600; margin-bottom:12px; text-transform:uppercase; letter-spacing:.5px;
}
.org_view .post-meta{
  display:flex; align-items:center; gap:24px; margin-top:16px; padding-top:16px; border-top:1px solid #f1f5f9;
}
.org_view .meta-item{ display:flex; align-items:center; gap:6px; color:#6b7280; font-size:14px; font-weight:500; }
.org_view .meta-item svg{ width:16px; height:16px; color:#9ca3af; }

/* 첨부파일 */
.org_view .attachments-section{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; margin:24px 32px; padding:20px;
}
.org_view .attachments-title{
  font-size:16px; font-weight:600; color:#374151; margin-bottom:16px; display:flex; align-items:center; gap:8px;
}
.org_view .attachment-item{
  display:flex; align-items:center; gap:12px; padding:12px 16px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:8px; transition:all .2s ease;
}
.org_view .attachment-item:hover{ border-color:#4f46e5; box-shadow:0 2px 4px rgba(79,70,229,.1); }
.org_view .attachment-item:last-child{ margin-bottom:0; }
.org_view .attachment-link{ color:#4f46e5; text-decoration:none; font-weight:500; font-size:14px; flex:1; }
.org_view .attachment-link:hover{ color:#4338ca; text-decoration:underline; }
.org_view .file-size{ color:#6b7280; font-size:12px; background:#f3f4f6; padding:2px 8px; border-radius:12px; }

/* 조직 정보 배지 */
.org_view .organization-info{
  margin:24px 32px; padding:16px 20px; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); border-radius:8px; color:#fff;
}
.org_view .organization-info strong{ font-weight:600; margin-right:8px; }
.org_view .org-badge{
  display:inline-block; background:rgba(255,255,255,.2); padding:4px 8px; border-radius:4px; margin-right:6px; font-size:13px; font-weight:500;
}

/* 본문/미디어 */
.org_view .post-content{ padding:32px; line-height:1.8; color:#374151; font-size:16px; }

.org_view .video-container{
  position:relative; width:100%; height:0; padding-bottom:56.25%; margin:24px 0; border-radius:8px; overflow:hidden; box-shadow:0 4px 6px -1px rgba(0,0,0,.1);
}
.org_view .video-container iframe{
  position:absolute; top:0; left:0; width:100%; height:100%; border:none;
}

/* 이미지 갤러리 */
.org_view #bo_v_img{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; margin:24px 0;
}
.org_view #bo_v_img img{
  width:100%; height:auto; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,.1); transition:transform .2s ease;
}
.org_view #bo_v_img img:hover{ transform:scale(1.02); }

/* 링크 섹션 */
.org_view .links-section{
  background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; margin:24px 32px; padding:20px;
}
.org_view .links-title{
  font-size:16px; font-weight:600; color:#374151; margin-bottom:16px; display:flex; align-items:center; gap:8px;
}
.org_view .link-item{
  display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; margin-bottom:8px; transition:all .2s ease;
}
.org_view .link-item:hover{ border-color:#4f46e5; box-shadow:0 2px 4px rgba(79,70,229,.1); }
.org_view .link-item:last-child{ margin-bottom:0; }
.org_view .link-url{
  color:#4f46e5; text-decoration:none; font-weight:500; font-size:14px; flex:1; margin-right:12px;
}
.org_view .link-url:hover{ color:#4338ca; text-decoration:underline; }
.org_view .link-stats{
  color:#6b7280; font-size:12px; background:#f3f4f6; padding:4px 8px; border-radius:12px; white-space:nowrap;
}

/* 하단 버튼 */
.org_view .bottom-actions{
  display:flex; justify-content:center; gap:12px; padding:24px 32px; background:#f8fafc; border-top:1px solid #e2e8f0;
}
.org_view .bottom-btn{
  display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; background:#fff; border:1px solid #d1d5db; border-radius:8px; text-decoration:none; color:#374151; font-size:14px; font-weight:600; transition:all .2s ease; min-width:100px; gap:8px;
}
.org_view .bottom-btn:hover{ background:#f9fafb; border-color:#9ca3af; transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.1); }
.org_view .bottom-btn.primary{ background:#4f46e5; color:#fff; border-color:#4f46e5; }
.org_view .bottom-btn.primary:hover{ background:#4338ca; border-color:#4338ca; }
.org_view .bottom-btn.danger{ color:#dc2626; border-color:#fca5a5; }
.org_view .bottom-btn.danger:hover{ background:#fef2f2; border-color:#f87171; }
.org_view .bottom-btn img{
  width:16px; height:16px; filter:brightness(0) saturate(100%) invert(36%) sepia(12%) saturate(628%) hue-rotate(202deg) brightness(95%) contrast(87%);
}
.org_view .bottom-btn.primary img{ filter:brightness(0) saturate(100%) invert(100%); }
.org_view .bottom-btn.danger img{ filter:brightness(0) saturate(100%) invert(21%) sepia(82%) saturate(2851%) hue-rotate(350deg) brightness(92%) contrast(96%); }

/* 반응형 (org_view) */
@media (max-width: 768px){
  .org_view .view-container{ padding:12px; }
  .org_view .post-header{ padding:24px 20px 20px; }
  .org_view .post-title{ font-size:22px; }
  .org_view .post-meta{ flex-direction:column; align-items:flex-start; gap:12px; }
  .org_view .post-content{ padding:24px 20px; }
  .org_view .attachments-section,
  .org_view .links-section{ margin:20px 16px; padding:16px; }
  .org_view .organization-info{ margin:20px 16px; padding:14px 16px; }
  .org_view .action-buttons,
  .org_view .bottom-actions{ padding:16px 20px; flex-wrap:wrap; }
  .org_view .bottom-btn{ flex:1; min-width:120px; }
  .org_view #bo_v_img{ grid-template-columns:1fr; }
}

/* org_view 전용 유틸리티 */
.org_view .cb{ clear:both; }
.org_view .fl{ float:left; }
.org_view .fr{ float:right; }
.org_view .sp_b{ margin:20px 0; }
