@charset "utf-8";

/*
  /vote_qr_app/public/assets/admin.css
  CSS 목차 전용 파일
  실제 스타일 규칙은 이 파일에 넣지 않습니다.
  실제 CSS는 /vote_qr_app/public/assets/css/*.css 파일에 있습니다.
  12_vote_recommend.css는 추천 화면 전용 적용을 위해 맨 마지막에 둡니다.
  cache version: 20260516_direct_round_waiting_notice
*/

@import url("./css/01_base.css?v=20260516_direct_round_waiting_notice");
@import url("./css/02_vote_common.css?v=20260516_direct_round_waiting_notice");
@import url("./css/03_candidate.css?v=20260516_direct_round_waiting_notice");
@import url("./css/04_dashboard_base.css?v=20260516_direct_round_waiting_notice");
@import url("./css/05_candidate_vote_report_common.css?v=20260516_direct_round_waiting_notice");
@import url("./css/06_vote_approval_cards.css?v=20260516_direct_round_waiting_notice");
@import url("./css/07_report.css?v=20260516_direct_round_waiting_notice");
@import url("./css/08_order_utilities.css?v=20260516_direct_round_waiting_notice");
@import url("./css/09_responsive_utilities.css?v=20260516_direct_round_waiting_notice");
@import url("./css/10_wait.css?v=20260516_direct_round_waiting_notice");
@import url("./css/11_closed.css?v=20260516_direct_round_waiting_notice");
@import url("./css/13_report_toggle.css?v=20260516_direct_round_waiting_notice");
@import url("./css/14_demo_guide.css?v=20260516_direct_round_waiting_notice");
@import url("./css/15_onsite_roster.css?v=20260516_direct_round_waiting_notice");
@import url("./css/16_dashboard_attendance.css?v=20260516_direct_round_waiting_notice");
@import url("./css/17_dashboard_onsite.css?v=20260516_direct_round_waiting_notice");
@import url("./css/18_candidate_number_common.css?v=20260516_direct_round_waiting_notice");
@import url("./css/19_dashboard_led_summary.css?v=20260516_direct_round_waiting_notice");
@import url("./css/20_candidate_badge.css?v=20260516_direct_round_waiting_notice");
@import url("./css/21_setting.css?v=20260516_direct_round_waiting_notice");
@import url("./css/22_candidate_poster.css?v=20260516_direct_round_waiting_notice");
@import url("./css/23_qr_ticket_print.css?v=20260516_direct_round_waiting_notice");
@import url("./css/24_entry_verify.css?v=20260516_direct_round_waiting_notice");
@import url("./css/25_candidate_paper_list.css?v=20260516_direct_round_waiting_notice");
@import url("./css/12_vote_recommend.css?v=20260516_direct_round_waiting_notice");

/* ------------------------------------------------------------
   vote.php 후보 소속으로 찾기 + 선택한 후보 보기 UI
   위치:
   /vote_qr_app/public/assets/admin.css 맨 아래
   직접 조정 포인트:
   - .vote-selected-only-toggle     : [선택한 후보 보기] 버튼
   - .vote-affiliation-toggle       : [소속으로 찾기] 버튼
   - .vote-affiliation-panel        : 펼침 영역 박스
   - .vote-affiliation-field span   : 초원/목장 라벨 문자 크기
   - .vote-affiliation-field select : 초원/목장 선택박스 문자 크기
   - .vote-visible-count            : "후보 n명 중 n명 표시" 문구
------------------------------------------------------------ */
.vote-find-actions{
  display:flex;
  gap:8px;
  margin-top:10px;
}

.vote-selected-only-toggle{
  width:100%;
  justify-content:center;
  font-size:15px;
  font-weight:800;
  padding:11px 12px;
  border-radius:14px;
}

.vote-selected-only-toggle.is-active{
  background:#1d4ed8;
  border-color:#1d4ed8;
  color:#fff;
}

.vote-affiliation-finder{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(15, 23, 42, .08);
}

.vote-affiliation-toggle{
  width:100%;
  justify-content:center;
  font-size:15px;
  font-weight:800;
  padding:11px 12px;
  border-radius:14px;
}

.vote-affiliation-panel{
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(15, 23, 42, .10);
  border-radius:16px;
  background:#f8fafc;
}

.vote-affiliation-select-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.vote-affiliation-field{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.vote-affiliation-field span{
  font-size:14px;
  font-weight:800;
  color:#334155;
}

.vote-affiliation-field select{
  width:100%;
  min-height:42px;
  font-size:15px;
  font-weight:700;
  border-radius:12px;
}

.vote-affiliation-help{
  margin-top:9px;
  font-size:13px;
  line-height:1.45;
  color:#64748b;
}

.vote-visible-count{
  margin-top:9px;
  font-size:14px;
  font-weight:800;
  color:#0f172a;
  text-align:center;
}

@media (max-width:640px){
  .vote-affiliation-select-grid{
    grid-template-columns:1fr;
  }

  .vote-selected-only-toggle,
  .vote-affiliation-toggle{
    font-size:15px;
    padding:12px;
  }

  .vote-affiliation-field select{
    min-height:44px;
    font-size:16px;
  }
}


/* ------------------------------------------------------------
   중앙관리 서비스 풋터 안내문
   - 슈퍼관리자가 입력한 전체 교회 공통 안내문 표시
   - 교회별 창닫기 연락처(close_contact_phone/email)와 별개
------------------------------------------------------------ */
.service-footer-notice{
  max-width:900px;
  margin:22px auto 4px;
  padding:13px 18px;
  border:1px solid rgba(148, 163, 184, .28);
  border-radius:999px;
  background:#f8fafc;
  color:#334155;
  font-size:15px;
  line-height:1.45;
  font-weight:800;
  text-align:center;
  box-shadow:0 8px 18px rgba(15, 23, 42, .04);
}

@media (max-width:640px){
  .service-footer-notice{
    margin:16px auto 2px;
    padding:11px 12px;
    border-radius:16px;
    font-size:13px;
  }
}

/* ------------------------------------------------------------
   dashboard.php 1번 direct 다음 회차 참석 인원 안내
   - 회차 마감 후 다음 부 투표시작 전에는 LED/대시보드 현재 수치가 0으로 보일 수 있어
     저장된 다음 회차 인원을 안내합니다.
------------------------------------------------------------ */
.direct-round-waiting-notice{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:13px;
  line-height:1.6;
}

.direct-round-waiting-notice strong{
  display:inline-block;
  margin-bottom:2px;
  color:#1d4ed8;
  font-size:14px;
}

@media (max-width:640px){
  .direct-round-waiting-notice{
    padding:11px 12px;
    font-size:12px;
  }

  .direct-round-waiting-notice strong{
    font-size:13px;
  }
}

/* ------------------------------------------------------------
   교회 관리자 상단 공통 안내 배너
   - /vote_qr_app/admin/_admin_guide_banner.php 전용
------------------------------------------------------------ */
.admin-guide-banner{
  margin:14px 0;
  padding:13px 16px;
  border:1px solid #93c5fd;
  border-radius:14px;
  background:#eff6ff;
  color:#1e3a8a;
  box-shadow:0 10px 22px rgba(37, 99, 235, .08);
}

.admin-guide-banner-body{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.admin-guide-banner-copy{
  min-width:0;
  flex:1 1 auto;
}

.admin-guide-banner-main{
  font-size:15px;
  line-height:1.55;
  font-weight:900;
  color:#1d4ed8;
  word-break:keep-all;
  overflow-wrap:anywhere;
}

.admin-guide-banner-sub{
  margin-top:4px;
  font-size:13px;
  line-height:1.5;
  font-weight:700;
  color:#1e40af;
  word-break:keep-all;
  overflow-wrap:anywhere;
}

.admin-guide-demo-clock{
  flex:0 0 auto;
  min-width:150px;
  padding:8px 11px;
  border:1px solid rgba(147, 197, 253, .75);
  border-radius:10px;
  background:#2563eb;
  color:#ffffff;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .2);
}

.admin-guide-demo-clock-label{
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  color:#dbeafe;
}

.admin-guide-demo-clock-time{
  margin-top:2px;
  font-family:"Courier New", Consolas, monospace;
  font-size:24px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.06em;
  color:#ffffff;
}

@media (max-width:640px){
  .admin-guide-banner{
    margin:10px 0;
    padding:11px 12px;
    border-radius:12px;
  }

  .admin-guide-banner-body{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }

  .admin-guide-banner-main{
    font-size:13px;
    line-height:1.5;
  }

  .admin-guide-banner-sub{
    font-size:12px;
  }

  .admin-guide-demo-clock{
    width:100%;
    padding:10px 12px;
  }

  .admin-guide-demo-clock-time{
    font-size:24px;
    letter-spacing:.06em;
  }
}

/* study24 staging notice */
.staging-top-banner,
.admin-guide-staging-banner{
  width:100%;
  box-sizing:border-box;
  padding:7px 12px;
  background:#dbeafe;
  border-bottom:1px solid #60a5fa;
  color:#0f3d8a;
  font-size:13px;
  font-weight:800;
  text-align:center;
  letter-spacing:0;
}
.admin-guide-staging-banner{
  margin:-2px -2px 10px;
  border:1px solid #60a5fa;
  border-radius:6px;
}
@media print{
  .staging-top-banner,
  .admin-guide-staging-banner{display:none !important;}
}