/* =========================
   0) TOKENS / BASE
========================= */
.admin-body{
  --adm-bg:#f6f7fb;
  --adm-surface:#fff;
  --adm-text:#111827;
  --adm-muted:#6b7280;
  --adm-border:#e5e7eb;

  --adm-primary:#2563eb;
  --adm-danger:#dc2626;
  --adm-success:#16a34a;

  --adm-radius:14px;
  --adm-shadow-sm:0 2px 10px rgba(15,23,42,.05);
  --adm-shadow:0 8px 24px rgba(15,23,42,.06);

  --adm-control-h:40px;

  background:var(--adm-bg);
  color:var(--adm-text);
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.admin-body a{ text-decoration:none; }

.admin-body .container,
.admin-body .container-fluid{
  padding-left:20px;
  padding-right:20px;
}

.admin-body h1,
.admin-body h2,
.admin-body h3,
.admin-body .page-title{ letter-spacing:-0.02em; }

.admin-body .row{
  --bs-gutter-x:16px;
  --bs-gutter-y:12px; /* g-3 세로가 너무 커 보여서 통일 */
}

.admin-wrapper {min-height:calc(100vh - 56px);}
.flex-warp {flex-wrap:wrap;}
/* =========================
   1) TOPBAR
========================= */
.admin-body .admin-topbar{
  height:56px;
  background:linear-gradient(90deg,#1d4ed8,#1e40af);
  color:#fff;
  border-bottom:1px solid rgba(0,0,0,.08);
  box-shadow:0 4px 14px rgba(15,23,42,.12);
  position:sticky;
  top:0;
  z-index:1000;
}

.admin-body .admin-brand{ font-size:15px; letter-spacing:-0.02em; }
.admin-body .admin-topbar .small{ font-size:13px; }

.admin-body .admin-topbar .btn{
  border-radius:10px;
  padding:4px 10px;
  font-weight:700;
}

.admin-body .admin-topbar .btn-outline-light{
  color:#fff;
  border-color:rgba(255,255,255,.35);
}
.admin-body .admin-topbar .btn-outline-light:hover{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.55);
  color:#fff;
}

.admin-body .admin-topbar span{ opacity:.9; }

/* =========================
   2) CARD / TABLE
========================= */
.admin-body .card{
  border:1px solid var(--adm-border);
  border-radius:var(--adm-radius);
  background:var(--adm-surface);
  box-shadow:var(--adm-shadow-sm);
}
.admin-body .card-header{
  background:transparent;
  border-bottom:1px solid var(--adm-border);
  padding:14px 16px;
  font-weight:700;
}
.admin-body .card-header.bg-white{ background:transparent !important; }
.admin-body .card-body{ padding:16px; }

.admin-body .table{
  margin-bottom:0;
  color:var(--adm-text);
  font-size:13px;
  border-collapse:separate;
  border-spacing:0;
}
.admin-body .card .table{ border-top:1px solid var(--adm-border); word-break:keep-all;}

.admin-body .table thead th{
  background:#f9fafb;
  color:var(--adm-muted);
  font-weight:700;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:10px 12px;
  border-bottom:1px solid var(--adm-border);
}
.admin-body .table tbody td{
  padding:11px 12px;
  border-top:1px solid var(--adm-border);
  vertical-align:middle;
}
.admin-body .table-hover > tbody > tr:hover > *{ background:#f8fafc; }
.admin-body .table tbody tr:last-child td{ border-bottom:1px solid var(--adm-border); }
.admin-body .table tbody tr{ height:42px; }

.admin-body .table .fw-semibold{
  font-weight:800 !important;
  letter-spacing:.02em;
}
.admin-body .table td.text-end{
  color:#6b7280;
  font-variant-numeric:tabular-nums;
}

.admin-body .table .badge.bg-secondary{
  background:rgba(37,99,235,.12) !important;
  color:#1d4ed8 !important;
  border-radius:999px;
  padding:4px 8px;
  font-weight:800;
  font-size:11px;
}

/* =========================
   3) FORM / BUTTON / BADGE
========================= */
.admin-body .form-control,
.admin-body .form-select{
  height:var(--adm-control-h);
  border-radius:12px;
  border-color:var(--adm-border);
}
.admin-body .form-control:focus,
.admin-body .form-select:focus{
  border-color:rgba(37,99,235,.5);
  box-shadow:0 0 0 .2rem rgba(37,99,235,.12);
}

.admin-body .btn{
  border-radius:12px;
  padding:8px 12px;
  font-weight:700;
}
.admin-body .btn-sm{
  padding:6px 10px;
  border-radius:10px;
}
.admin-body .btn-primary{
  background:var(--adm-primary);
  border-color:var(--adm-primary);
}
.admin-body .btn-outline-primary{
  border-color:rgba(37,99,235,.35);
}

.admin-body .badge{
  border-radius:999px;
  padding:6px 10px;
  font-weight:800;
  letter-spacing:-0.01em;
}

/* file input (여백/깨짐 방지) */
.admin-body input[type="file"].form-control,
.admin-body input[type="file"].form-control-sm{
  height:auto !important;
  line-height:normal !important;
  padding:6px 12px !important;
}
.admin-body .form-text{ margin-top:4px; }

/* =========================
   4) SIDEBAR
========================= */
.admin-body .admin-sidebar{
  min-width:240px;
  background:#0b1220;
  color:rgba(255,255,255,.85);
  border-right:1px solid rgba(255,255,255,.06);
}
.admin-body .admin-sidebar-inner{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.admin-body .admin-nav{
  overflow:auto;
  padding:6px 0 10px;
}
.admin-body .admin-sidebar-footer{
  border-top:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,.45) !important;
}

.admin-body .admin-sidebar-logo{
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-body .admin-sidebar-logo .logo-mark{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:rgba(37,99,235,.18);
  color:#fff;
}
.admin-body .admin-sidebar-logo .logo-text{
  font-weight:800;
  letter-spacing:-0.02em;
  color:#fff;
}

.admin-body .admin-nav-link,
.admin-body .admin-nav-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  width:calc(100% - 20px);
  margin:4px 10px;
  padding:10px 12px;
  border-radius:12px;
  color:rgba(255,255,255,.72);
  background:transparent;
  transition:background .15s ease,color .15s ease;
}
.admin-body .admin-nav-link{ text-decoration:none; }

.admin-body .admin-nav-link:hover,
.admin-body .admin-nav-toggle:hover{
  background:rgba(255,255,255,.06);
  color:#525252;
}
.admin-body .admin-nav-link i,
.admin-body .admin-nav-toggle i{
  width:18px;
  text-align:center;
  opacity:.95;
}
.admin-body .admin-nav-link.active{
  background:rgba(37,99,235,.22);
  color:#525252;
  font-weight:800;
}

.admin-body .admin-nav-toggle{
  border:0;
  text-align:left;
}
.admin-body .admin-nav-toggle .bi-chevron-down{
  transition:transform .18s ease;
  opacity:.85;
}
.admin-body .admin-nav-toggle[aria-expanded="true"]{
  background:rgba(255,255,255,.05);
  color:#fff;
}
.admin-body .admin-nav-toggle[aria-expanded="true"] .bi-chevron-down{
  transform:rotate(180deg);
}

.admin-body .admin-subnav{
  margin:2px 10px 8px;
  padding:6px 0 2px;
  border-left:1px solid rgba(255,255,255,.10);
}
.admin-body .admin-subnav a{
  display:block;
  padding:8px 12px 8px 18px;
  margin:2px 0 2px 10px;
  border-radius:10px;
  color:rgba(255,255,255,.62);
  text-decoration:none;
  font-size:13px;
}
.admin-body .admin-subnav a:hover{
  background:rgba(255,255,255,.05);
  color:#fff;
}
.admin-body .admin-subnav a.active{
  background:rgba(37,99,235,.18);
  color:#fff;
  font-weight:700;
}

/* =========================
   5) DASHBOARD SUMMARY (card.shadow-sm)
========================= */
.admin-body .card.shadow-sm{
  border:1px solid var(--adm-border);
  border-radius:16px;
  box-shadow:0 6px 18px rgba(15,23,42,.06) !important;
  background:#fff;
  position:relative;
  overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease;
  height:100%;
}
.admin-body .card.shadow-sm:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.08) !important;
}
.admin-body .card.shadow-sm::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:rgba(37,99,235,.7);
}
.admin-body .card.shadow-sm .card-body{ padding:16px 18px; }
.admin-body .card.shadow-sm .card-title{
  font-size:13px;
  font-weight:700;
  color:#6b7280;
  letter-spacing:-0.01em;
  margin-bottom:8px !important;
}
.admin-body .card.shadow-sm .display-6{
  font-size:30px;
  font-weight:900;
  letter-spacing:-0.03em;
  line-height:1.1;
  margin-bottom:6px !important;
}
.admin-body .card.shadow-sm small.text-muted{
  color:#9ca3af !important;
  font-size:12px;
}

/* =========================
   6) LIST GROUP
========================= */
.admin-body .list-group{
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--adm-border);
}
.admin-body .list-group-item{
  border:0;
  border-top:1px solid var(--adm-border);
  padding:10px 12px;
  background:#fff;
}
.admin-body .list-group-item:first-child{ border-top:0; }
.admin-body .list-group-item:hover{ background:#f9fafb; }
.admin-body .list-group-item .text-truncate{ max-width:100% !important; }
.admin-body .list-group-item .badge.bg-secondary{
  background:rgba(37,99,235,.12) !important;
  color:#1d4ed8 !important;
  font-weight:800;
  border-radius:999px;
  padding:6px 10px;
}

/* =========================
   7) QUICK MENU (dashboard)
========================= */
.input-group {gap:0 10px;}
.admin-body .card-body .d-flex.flex-wrap.gap-2{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:10px !important;
}
.admin-body .card-body .btn-outline-secondary{
  display:flex;
  align-items:center;
  justify-content:center;
  height:42px;
  background:#fff;
  box-shadow:var(--adm-shadow-sm);
  border-radius:12px;
  border-color:var(--adm-border);
  color:#374151;
  font-weight:700;
  transition:all .15s ease;
}
.admin-body .card-body .btn-outline-secondary:hover{
  background:rgba(37,99,235,.08);
  border-color:rgba(37,99,235,.3);
  color:#1d4ed8;
  transform:translateY(-1px);
}

/* =========================
   8) SEARCH BAR
========================= */
.admin-body .admin-search-card{
  border:1px solid var(--adm-border);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--adm-shadow-sm);
  margin-bottom:12px !important;
}
.admin-body .admin-search-card .card-body{ padding:12px 14px !important; }

.admin-body .admin-search-form.row{
  --bs-gutter-x:10px;
  --bs-gutter-y:10px;
}
.admin-body .admin-search-form .form-control.form-control-sm,
.admin-body .admin-search-form .form-select.form-select-sm{
  height:38px !important;
  border-radius:10px;
  border-color:var(--adm-border);
  font-size:13px;
  background:#fff;
}
.admin-body .admin-search-form input[type="date"].form-control.form-control-sm{
  padding-top:6px;
  padding-bottom:6px;
}
.admin-body .admin-search-form .btn.btn-sm{
  height:38px;
  padding:0 16px;
  border-radius:10px;
  font-weight:800;
}
.admin-body .admin-search-form .col-auto{
  display:flex;
  align-items:center;
}

/* =========================
   9) TABLE ACTION BUTTONS
========================= */
.admin-body .admin-table td .d-flex{
  flex-wrap:nowrap;
  align-items:center;
}
.admin-body .admin-table td .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:34px;
  padding:0 12px;
  line-height:1;
  white-space:nowrap;
  min-width:56px;
  border-radius:10px;
  font-size:13px;
}
.admin-body .admin-table td form{
  margin:0;
  display:inline-flex;
}
.admin-body .admin-table th:last-child,
.admin-body .admin-table td:last-child{
  min-width:140px;
}

/* =========================
   10) SELECT2 (bootstrap-5 theme)
========================= */
.admin-body .select2-container{ width:100% !important; }

.admin-body .select2-container--bootstrap-5 .select2-selection--single{
  position:relative !important;
  height:var(--adm-control-h) !important;
  min-height:var(--adm-control-h) !important;

  border:1px solid var(--adm-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:none !important;

  display:flex !important;
  align-items:center !important;
  padding:0 40px 0 12px !important;
}

.admin-body .select2-container--bootstrap-5
.select2-selection--single .select2-selection__rendered{
  padding:0 !important;
  line-height:1.2 !important;
  color:var(--adm-text) !important;
  font-size:13px !important;

  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* arrow */
.admin-body .select2-container--bootstrap-5
.select2-selection--single .select2-selection__arrow{
  position:absolute !important;
  right:10px !important;
  top:0 !important;
  width:22px !important;
  height:100% !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.admin-body .select2-container--bootstrap-5
.select2-selection--single .select2-selection__arrow b{
  width:0 !important;
  height:0 !important;
  border-style:solid !important;
  border-width:6px 5px 0 5px !important;
  border-color:#6b7280 transparent transparent transparent !important;
  margin:0 !important;
}

/* open: arrow up */
.admin-body .select2-container--bootstrap-5.select2-container--open
.select2-selection--single .select2-selection__arrow b{
  border-width:0 5px 6px 5px !important;
  border-color:transparent transparent #6b7280 transparent !important;
}

/* clear (X only) */
.admin-body .select2-container--bootstrap-5
.select2-selection--single .select2-selection__clear{
  position:absolute !important;
  right:34px !important;
  top:50% !important;
  transform:translateY(-50%) !important;

  margin:0 !important;
  padding:0 2px !important;

  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;

  color:#9ca3af !important;
  font-size:18px !important;
  line-height:1 !important;
}
.admin-body .select2-container--bootstrap-5
.select2-selection--single .select2-selection__clear:hover{
  color:#111827 !important;
}

/* focus/open */
.admin-body .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.admin-body .select2-container--bootstrap-5.select2-container--focus .select2-selection--single{
  border-color:rgba(37,99,235,.5) !important;
  box-shadow:0 0 0 .2rem rgba(37,99,235,.12) !important;
}

/* dropdown */
.admin-body .select2-container--bootstrap-5 .select2-dropdown{
  border:1px solid var(--adm-border) !important;
  border-radius:12px !important;
  box-shadow:var(--adm-shadow-sm) !important;
  overflow:hidden !important;
}
.admin-body .select2-container--bootstrap-5 .select2-search--dropdown{
  padding:10px !important;
  border-bottom:1px solid var(--adm-border) !important;
  background:#fff !important;
}
.admin-body .select2-container--bootstrap-5 .select2-search__field{
  height:var(--adm-control-h) !important;
  border-radius:10px !important;
  border:1px solid var(--adm-border) !important;
  padding:8px 10px !important;
  outline:none !important;
}
.admin-body .select2-container--bootstrap-5 .select2-results__option{
  padding:10px 12px !important;
  font-size:13px !important;
}
.admin-body .select2-container--bootstrap-5 .select2-results__option--highlighted{
  background:rgba(37,99,235,.10) !important;
  color:var(--adm-text) !important;
}
.admin-body .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"]{
  background:rgba(37,99,235,.16) !important;
}

/* =========================
   11) RESPONSIVE (Tablet / Mobile)
========================= */

/* container: 모바일/태블릿에서 max-width 제한 해제(핵심) */
@media (max-width: 991.98px){
  .admin-body .container,
  .admin-body .container-fluid{
    max-width:100% !important;
    width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .admin-body .admin-content,
  .admin-body main,
  .admin-body .content,
  .admin-body .page-content{
    max-width:100% !important;
    width:100% !important;
  }
}

@media (max-width: 575.98px){
  .admin-body .container,
  .admin-body .container-fluid{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

/* topbar mobile layout */
@media (max-width: 575.98px){
  .col {flex:inherit;}
  .admin-body{ --adm-control-h:38px; }

  .admin-body .admin-topbar{
    height:auto;
    padding:8px 10px;
  }

  .admin-body .admin-topbar .container,
  .admin-body .admin-topbar .container-fluid{
    display:grid !important;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "left  right"
      "title right";
    align-items:center;
    row-gap:6px;
  }

  .admin-body .admin-topbar .admin-sidebar-toggle,
  .admin-body .admin-topbar .btn-sidebar,
  .admin-body .admin-topbar .navbar-toggler{
    grid-area:left;
    justify-self:start;
  }

  .admin-body .admin-topbar .admin-brand,
  .admin-body .admin-topbar .admin-title,
  .admin-body .admin-topbar .navbar-brand{
    grid-area:title;
    justify-self:start;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:13px;
    line-height:1.2;
	display:none;
  }

  .admin-body .admin-topbar .admin-topbar-right,
  .admin-body .admin-topbar .topbar-right,
  .admin-body .admin-topbar .ms-auto{
    grid-area:right;
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
  }

  .admin-body .admin-topbar .admin-user-name,
  .admin-body .admin-topbar .user-name,
  .admin-body .admin-topbar .topbar-user{
    font-size:12px;
    max-width:90px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    opacity:.95;
  }

  .admin-body .admin-topbar .btn{
    padding:6px 10px !important;
    font-size:12px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .admin-body .admin-topbar { word-break:keep-all;}

  .admin-body .card-body{ padding:14px; }
  .admin-body .card-header{ padding:12px 14px; }
}

/* quick menu: tablet 3, mobile 2 */
@media (max-width: 991.98px){
  .admin-body .card-body .d-flex.flex-wrap.gap-2{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px){
  .admin-body .card-body .d-flex.flex-wrap.gap-2{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 360px){
  .admin-body .card-body .d-flex.flex-wrap.gap-2{
    grid-template-columns:1fr;
  }
}

/* search form: stack */
@media (max-width: 767.98px){
  .admin-body .admin-search-form > [class^="col-"],
  .admin-body .admin-search-form > [class*=" col-"]{
    flex:0 0 100%;
    max-width:100%;
  }
  .admin-body .admin-search-form .col-auto{
    width:100%;
    justify-content:stretch;
  }
  .admin-body .admin-search-form .btn.btn-sm{ width:100%; }
}

/* form columns: tablet 2col, mobile 1col */
@media (max-width: 991.98px){
  .admin-body .row.g-3 > .col-md-4,
  .admin-body .row.g-3 > .col-md-3{
    flex:0 0 50%;
    max-width:50%;
  }
  .admin-body .row.g-3 > .col-md-12,
  .admin-body .row.g-3 > .col-12{
    flex:0 0 100%;
    max-width:100%;
  }
}
@media (max-width: 575.98px){
  .admin-body .row.g-3 > [class^="col-"],
  .admin-body .row.g-3 > [class*=" col-"]{
    flex:0 0 100% !important;
    max-width:100% !important;
  }
}

/* table compact + sticky action col */
@media (max-width: 767.98px){
  .admin-body .table{ font-size:12px; }
  .admin-body .table thead th{ padding:10px 10px; font-size:10px; }
  .admin-body .table tbody td{ padding:10px 10px; }

  .admin-body .admin-table td .btn{
    height:32px;
    min-width:52px;
    padding:0 10px;
    font-size:12px;
  }

  .admin-body .table-responsive .admin-table th:last-child,
  .admin-body .table-responsive .admin-table td:last-child{
    position:sticky;
    right:0;
    background:#fff;
    z-index:2;
  }
  .admin-body .table-responsive .admin-table thead th:last-child{
    background:#f9fafb;
    z-index:3;
  }
}

/* select2 compact on mobile */
@media (max-width: 575.98px){
  .admin-body .select2-container--bootstrap-5 .select2-selection--single{
    border-radius:10px !important;
    padding:0 38px 0 10px !important;
  }
  .admin-body .select2-container--bootstrap-5
  .select2-selection--single .select2-selection__arrow{
    right:8px !important;
    width:20px !important;
  }
  .admin-body .select2-container--bootstrap-5
  .select2-selection--single .select2-selection__clear{
    right:30px !important;
    font-size:17px !important;
  }
  .admin-body .select2-container--bootstrap-5 .select2-results__option{
    padding:10px 10px !important;
    font-size:12px !important;
  }
}

/* input-group overflow 방지 */
@media (max-width: 575.98px){
  .admin-body .input-group.input-group-sm{ flex-wrap:nowrap; }
  .admin-body .input-group.input-group-sm .btn{ white-space:nowrap; }
}

@media (max-width: 991.98px){
  .admin-body .offcanvas{
    --bs-offcanvas-bg:#0b1220;
    --bs-offcanvas-color:rgba(255,255,255,.88);
    background:#0b1220 !important;
    color:rgba(255,255,255,.88) !important;
  }
  .admin-body .offcanvas .btn-close{ filter: invert(1) grayscale(1); opacity:.85; }
}


/* =========================================================
   CHAMPIONSHIP FORM LAYOUT V2
   - 기존 form-control / btn 색상, 크기는 그대로 사용
   - 대회 수정 화면의 배치만 2번째 시안 형태로 재정렬
   - 적용: <form id="championshipForm" class="champ-layout-v2">
========================================================= */
.admin-body #championshipForm.champ-layout-v2{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.admin-body #championshipForm.champ-layout-v2 > .card,
.admin-body #championshipForm.champ-layout-v2 > .champ-card-prize-title{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* 섹션 순서: 기본정보 → 게임설정 → 코스&홀 → 상금 → 상금제목 → 이미지 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic{ order:1; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-game{ order:2; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole{ order:3; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize{ order:4; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize-title{ order:5; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-image{ order:6; }
.admin-body #championshipForm.champ-layout-v2 > .mt-4.d-flex{ order:7; }

/* 1. 대회 기본 정보: 여러 row를 하나의 12컬럼 그리드처럼 정렬 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  column-gap:16px;
  row-gap:14px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body > .row,
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body > .row > .row{
  display:contents;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3{ grid-column:span 3; width:auto; max-width:none; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4{ grid-column:span 4; width:auto; max-width:none; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12{ grid-column:1 / -1; width:auto; max-width:none; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .mt-1{ margin-top:0 !important; }

/* 코스 선택은 3개 코스가 들어가므로 한 줄 전체 사용 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx){
  grid-column:1 / -1;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row > .col-md-4{
  grid-column:auto;
}

/* 2. 게임 설정: 2번째 시안처럼 항목을 좌우 2열로 길게 정렬 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  column-gap:50px;
  row-gap:0;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body > input[type="hidden"]{ display:none; }
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body > .row{
  display:contents;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body .col-md-4{
  grid-column:span 6;
  display:grid;
  grid-template-columns:120px minmax(0, 1fr);
  align-items:center;
  column-gap:12px;
  padding:12px 0;
  border-bottom:1px solid var(--adm-border);
  width:auto;
  max-width:none;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body .col-md-4:has(#settingSummary){
  grid-column:span 6;
  align-items:start;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .form-label{
  margin:0;
  font-weight:800;
  white-space:nowrap;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game [data-group]{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(74px, 1fr));
  gap:8px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game [data-group] .btn{
  width:100%;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .text-danger.small{
  grid-column:2;
}

/* 3. 코스 & 홀 설정: 카드형은 유지하되 더 낮고 정돈된 3열 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole #specialHoleCards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole #specialHoleCards > .col-md-4{
  width:auto;
  max-width:none;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .special-hole-card{
  min-height:0;
  background:#fff !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .special-hole-card .mb-3{
  margin-bottom:25px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .special-hole-card [id^="nearpinBox"],
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .special-hole-card [id^="longestBox"]{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(58px, 1fr));
  gap:8px !important;
}

/* 4. 상금 & 규칙: 2번째 시안처럼 좌우 폭을 크게 사용 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body > .row{
  --bs-gutter-x:18px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body .col-md-4{
  flex:0 0 33.333%;
  max-width:33.333%;
}

/* 5. 이미지 & 요약 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-body > .row{
  display:grid;
  grid-template-columns:minmax(240px, .9fr) minmax(320px, 1.1fr);
  gap:18px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-body > .row > .col-md-4{
  width:auto;
  max-width:none;
}

@media (max-width: 1199.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body .col-md-4{
    grid-column:1 / -1;
  }
}
@media (max-width: 991.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4{
    grid-column:span 6;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-card-hole #specialHoleCards,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-body > .row{
    grid-template-columns:1fr;
  }
}
@media (max-width: 575.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body{
    grid-template-columns:1fr;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12{
    grid-column:1 / -1;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-body .col-md-4{
    grid-template-columns:1fr;
    row-gap:8px;
  }
}

/* =========================================================
   CHAMPIONSHIP FORM LAYOUT V3 OVERRIDE
   - 2번째 참고 이미지에 맞춰 대회기본정보/상금규칙 배치 보정
   - 기존 input/button 스타일은 유지, 배치만 강제 변경
========================================================= */

/* section title: 아이콘형 제목을 번호형 제목처럼 보이게 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-header .fw-semibold i,
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-header .fw-semibold i,
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .card-header .fw-semibold i,
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-header .fw-semibold i,
.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-header .fw-semibold i{display:none;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-header .fw-semibold,
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-header .fw-semibold,
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .card-header .fw-semibold,
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-header .fw-semibold,
.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-header .fw-semibold{
  font-size:20px;
  font-weight:900;
  letter-spacing:-.04em;
  color:#111827;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-header .fw-semibold::before{content:'1.'; margin-right:2px;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-header .fw-semibold::before{content:'2.'; margin-right:4px;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .card-header .fw-semibold::before{content:'3.'; margin-right:4px;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-header .fw-semibold::before{content:'4.'; margin-right:4px;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-header .fw-semibold::before{content:'6.'; margin-right:4px;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic #cs_status_badge{display:none;}

/* ===== 1. 대회 기본 정보: 2번째 이미지 기준 순서/폭 ===== */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:20px 26px !important;
  padding:28px 18px 24px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body > .row,
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body > .row > .row{
  display:contents !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body [class*='col-md-']{
  width:auto !important;
  max-width:none !important;
  flex:none !important;
  margin-top:0 !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .form-label{
  font-weight:800;
  color:#111827;
  margin-bottom:8px;
}

/* 기본 폭 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3{grid-column:span 3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4{grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12{grid-column:1/-1;}

/* 순서/위치 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has([data-group='cs_kind']){order:1; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_shop_name){order:2; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has([data-group='cs_use_password']){order:4; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_password){order:5; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_name){order:7; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_tel){order:8; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_email){order:15; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_etc){order:14; grid-column:span 4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3:has(#cs_start_date){order:10; grid-column:span 3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3:has(#cs_start_time){order:11; grid-column:span 3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3:has(#cs_end_date){order:12; grid-column:span 3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3:has(#cs_end_time){order:13; grid-column:span 3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(textarea[name='cs_memo']){order:16; grid-column:1/-1;}

/* 코스 선택: 현재 시스템은 코스1~3 구조라서 한 줄 전체로 정돈 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx){
  order:9;
  grid-column:span 4;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > label.form-label{
  display:block;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row{
  display:grid !important;
  grid-template-columns:1fr;
  gap:10px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row > .col-md-4{
  grid-column:auto !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx) > .row > .col-md-4:not(:first-child){
  margin-top:4px !important;
}

/* 버튼 그룹은 기존 색상 유지, 2번째처럼 넓게 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic [data-group]{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:10px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic [data-group] .btn{width:100%;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic textarea[name='cs_memo']{min-height:72px;}

/* ===== 4. 상금 & 규칙: 2컬럼 레이아웃으로 재정렬 ===== */
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px 52px !important;
  padding:22px 18px 24px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body > .row{
  display:contents !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body [class*='col-md-']{
  width:auto !important;
  max-width:none !important;
  flex:none !important;
  margin-top:0 !important;
  grid-column:auto !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .form-label{
  font-weight:800;
  color:#111827;
  margin-bottom:7px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank1']){order:1;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank_nearpin']){order:2;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank2']){order:3;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank_longest']){order:4;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank3']){order:5;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_holeinone']){order:6;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-4:has(input[name='cs_rank4_10']){order:7;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .col-md-12:has(textarea[name='cs_rule']){
  order:9;
  grid-column:1/-1 !important;
  margin-top:12px !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize textarea[name='cs_rule']{min-height:72px;}

/* 상금 제목 아코디언도 5번 제목처럼 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize-title .accordion-button{
  font-size:20px;
  font-weight:900;
  color:#111827;
  letter-spacing:-.04em;
}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize-title .accordion-button i{display:none;}
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize-title .accordion-button::before{content:'5.'; margin-right:4px;}

@media (max-width:1199.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_name),
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4:has(#cs_tel),
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx){grid-column:span 4;}
}
@media (max-width:991.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-3,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-4,
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body .col-md-12:has(#cs_course_idx){grid-column:span 6;}
  .admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body{grid-template-columns:1fr !important;}
}
@media (max-width:575.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body{grid-template-columns:1fr !important; padding:0 !important;}
  .admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body [class*='col-md-']{grid-column:1/-1 !important;}
}


/* =========================================================
   CHAMPIONSHIP FORM LAYOUT FINAL
   요청 레이아웃: 대회 기본정보 = 2 / 2 / 3 / 4 / 1
   기존 폼 컨트롤 색상·크기는 유지하고 배치만 조정
========================================================= */
.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-body{
  display:block !important;
}

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  column-gap:28px;
  row-gap:24px;
  align-items:start;
}

.admin-body #championshipForm.champ-layout-v2 .champ-field{
  min-width:0;
}

.admin-body #championshipForm.champ-layout-v2 .champ-span-3{ grid-column:span 3; }
.admin-body #championshipForm.champ-layout-v2 .champ-span-4{ grid-column:span 4; }
.admin-body #championshipForm.champ-layout-v2 .champ-span-6{ grid-column:span 6; }
.admin-body #championshipForm.champ-layout-v2 .champ-span-12{ grid-column:1 / -1; }

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid .form-label,
.admin-body #championshipForm.champ-layout-v2 .champ-prize-grid .form-label{
  display:block;
  margin-bottom:10px;
  font-weight:800;
  color:var(--adm-text);
}

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group="cs_kind"],
.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group="cs_use_password"]{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px !important;
}

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group="cs_kind"]{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group] .btn{
  width:100%;
}

.admin-body #championshipForm.champ-layout-v2 .champ-course-main .champ-course-line{
  width:100%;
}

.admin-body #championshipForm.champ-layout-v2 .champ-course-main .champ-course-sub{
  margin-top:8px;
}

.admin-body #championshipForm.champ-layout-v2 .champ-basic-grid textarea.form-control{
  height:auto;
  min-height:72px;
}

/* 상금 & 규칙: 2열 + 하단 규칙 전체 */
.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-body{
  display:block !important;
}
.admin-body #championshipForm.champ-layout-v2 .champ-prize-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:50px;
  row-gap:18px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-prize-col{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.admin-body #championshipForm.champ-layout-v2 .champ-prize-rule{
  grid-column:1 / -1;
}
.admin-body #championshipForm.champ-layout-v2 .champ-prize-rule textarea{
  height:auto;
  min-height:72px;
}

@media (max-width: 991.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-basic-grid{
    column-gap:16px;
    row-gap:18px;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-span-3,
  .admin-body #championshipForm.champ-layout-v2 .champ-span-4,
  .admin-body #championshipForm.champ-layout-v2 .champ-span-6{
    grid-column:span 6;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-prize-grid{
    grid-template-columns:1fr;
    column-gap:0;
  }
}

@media (max-width: 575.98px){
  .admin-body #championshipForm.champ-layout-v2 .champ-basic-grid{
    grid-template-columns:1fr;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-span-3,
  .admin-body #championshipForm.champ-layout-v2 .champ-span-4,
  .admin-body #championshipForm.champ-layout-v2 .champ-span-6,
  .admin-body #championshipForm.champ-layout-v2 .champ-span-12{
    grid-column:1 / -1;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group="cs_kind"]{
    grid-template-columns:1fr;
  }
  .admin-body #championshipForm.champ-layout-v2 .champ-basic-grid [data-group="cs_use_password"]{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}


/* 매장현황 */

.machine-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, .06);
	min-height: 210px;
}

.machine-card-header {
	padding: 10px 12px;
	color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.status-playing .machine-card-header {
	background: #0d6efd;
}

.status-practice .machine-card-header {
	background: #fd7e14;
}

.status-waiting .machine-card-header {
	background: #198754;
}

.status-abnormal .machine-card-header {
	background: #dc3545;
}

.status-disabled .machine-card-header {
	background: #6c757d;
}

.machine-card-body {
	padding: 10px 12px 12px;
}

.machine-info-row {
	display: flex;
	border-bottom: 1px solid #f1f3f5;
	font-size: 13px;
}

.machine-info-row:last-child {
	border-bottom: 0;
}

.machine-info-label {
	width: 88px;
	flex-shrink: 0;
	color: #6c757d;
	background: #f8f9fa;
	padding: 6px 7px;
	font-weight: 600;
}

.machine-info-value {
	flex: 1;
	padding: 6px 7px;
	word-break: break-all;
}

.machine-mac {
	font-size: 12px;
}

.status-badge {
	font-size: 12px;
	background: rgba(255,255,255,.22);
	padding: 3px 7px;
	border-radius: 999px;
}

/* =========================================================
   PHOENIX ADMIN THEME FINAL OVERRIDE
   - admin.css 전체 교체용
   - 기존 레이아웃/클래스 유지
   - Phoenix 스타일: light topbar + dark sidebar + soft cards
========================================================= */

.admin-body{
  --adm-bg:#f5f7fb;
  --adm-surface:#ffffff;
  --adm-text:#141824;
  --adm-muted:#6e7891;
  --adm-border:#d8e0ec;
  --adm-primary:#3874ff;
  --adm-danger:#e63757;
  --adm-success:#25b003;
  --adm-warning:#f5803e;
  --adm-radius:18px;
  --adm-shadow-sm:0 4px 12px rgba(20,24,36,.04);
  --adm-shadow:0 14px 34px rgba(20,24,36,.08);
  --adm-control-h:40px;

  background:
    radial-gradient(circle at top right, rgba(56,116,255,.08), transparent 36%),
    linear-gradient(180deg,#f7f9fd 0%,#f5f7fb 100%);
  color:var(--adm-text);
}

.admin-body .container,
.admin-body .container-fluid{
  padding-left:24px;
  padding-right:24px;
}

.admin-wrapper{
  min-height:calc(100vh - 100px);
  background:transparent;
}

.admin-main{
  min-width:0;
  background:transparent;
}

.admin-main-inner{
  padding-top:26px !important;
  padding-bottom:36px !important;
}

/* TOPBAR */
.admin-body .admin-topbar{
  height:80px;
  background:#fff;
  color:#31374a;
  border-bottom:1px solid var(--adm-border);
  box-shadow:0 2px 8px rgba(20,24,36,.04);
  position:relative;
  top:0;
  z-index:1000;
  border-radius:20px;
  margin:10px;
}

.admin-body .admin-brand{
  color:#1d4ed8;
  font-size:15px;
  font-weight:900 !important;
  letter-spacing:-.03em;
}

.admin-body .admin-topbar .text-white,
.admin-body .admin-topbar span{
  color:#525b75 !important;
  opacity:1;
}

.admin-body .admin-topbar .small{font-size:13px;}

.admin-body .admin-topbar .btn{
  border-radius:999px;
  padding:5px 12px;
  font-weight:800;
}

.admin-body .admin-topbar .btn-outline-light{
  color:#3874ff;
  border-color:#c7d4ff;
  background:#f5f8ff;
}

.admin-body .admin-topbar .btn-outline-light:hover{
  color:#fff;
  background:#3874ff;
  border-color:#3874ff;
}

.admin-body .admin-topbar .btn-outline-light .bi-list::before {font-size:27px;}

/* SIDEBAR */
.admin-body .admin-sidebar{
  min-width:300px;
  background:#0f172a;
  color:#b6c2d9;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:8px 0 24px rgba(15,23,42,.08);
  margin: 20px 10px;
  border-radius: 20px;
}

.admin-body .admin-sidebar-logo{
  gap:11px;
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.admin-body .admin-sidebar-logo .logo-mark{
  width:36px;
  height:36px;
  border-radius:12px;
  background:linear-gradient(135deg,#3874ff,#69a7ff);
  color:#fff;
  box-shadow:0 8px 20px rgba(56,116,255,.28);
}

.admin-body .admin-sidebar-logo .logo-text{
  color:#fff;
  font-weight:900;
  letter-spacing:-.03em;
}

.admin-body .admin-sidebar-footer{
  border-top:1px solid rgba(255,255,255,.08);
  color:#74829d !important;
}

.admin-body .admin-nav{
  padding:8px 0 14px;
}

.admin-body .admin-nav-link,
.admin-body .admin-nav-toggle{
  width:calc(100% - 20px);
  margin:4px 10px;
  padding:11px 12px;
  border-radius:12px;
  color:#525b75;
  background:transparent;
  font-weight:400;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}

.admin-body .admin-nav-link i,
.admin-body .admin-nav-toggle i{
  width:18px;
  color:#525252;
}

.admin-body .admin-nav-link:hover,
.admin-body .admin-nav-toggle:hover,
.admin-body .admin-nav-toggle[aria-expanded="true"]{
  background:rgba(33, 101, 255,.07);
  color:#3874ff;
}

.admin-body .admin-nav-link:hover i,
.admin-body .admin-nav-toggle:hover i,
.admin-body .admin-nav-toggle[aria-expanded="true"] i{
  color:#4e84ff;
}

.admin-body .admin-nav-link.active{
  background:linear-gradient(90deg,rgba(56,116,255,.32),rgba(56,116,255,.16));
  color:#525252;
  font-weight:900;
}

.admin-body .admin-nav-link.active i{color:#fff;}

.admin-body .admin-nav-toggle .bi-chevron-down{color:#94a3b8;}

.admin-body .admin-subnav{
  margin:4px 10px 10px 24px;
  padding:5px 0;
  border-left:1px solid rgba(255,255,255,.12);
}

.admin-body .admin-subnav a{
  margin:2px 0 2px 10px;
  padding:8px 12px;
  border-radius:10px;
  color:#525252;
  font-size:14px;
  font-weight:400;
}

.admin-body .admin-subnav a:hover,
.admin-body .admin-subnav a.active{
  background:rgba(96,165,250,.12);
  color:#4e84ff;
  font-weight:400;
}

/* PAGE */
.admin-body h1,
.admin-body h2,
.admin-body h3,
.admin-body .page-title{
  color:#141824;
  font-weight:900;
  letter-spacing:-.045em;
}

.admin-body h1{font-size:28px;}
.admin-body h2{font-size:22px;}
.admin-body h3{font-size:19px;}

.admin-body .text-muted,
.admin-body small.text-muted{
  color:#6e7891 !important;
}

/* CARD */
.admin-body .card,
.admin-body .card.shadow-sm,
.admin-body .admin-search-card{
  border:1px solid var(--adm-border);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 6px 18px rgba(20,24,36,.05) !important;
  overflow:hidden;
}

.admin-body .card:hover,
.admin-body .card.shadow-sm:hover{
  transform:none;
  box-shadow:0 12px 28px rgba(20,24,36,.08) !important;
}

.admin-body .card.shadow-sm::before{display:none;}

.admin-body .card-header{
  background:#fff;
  border-bottom:1px solid var(--adm-border);
  padding:16px 18px;
  color:#141824;
  font-weight:900;
  flex-wrap: wrap;

}

.admin-body .card-header.bg-white{background:#fff !important;}
.admin-body .card-body{padding:18px;}

.admin-body .card-header .d-flex {flex-wrap:wrap;}

/* SUMMARY CARDS */
.admin-body .card.shadow-sm .card-body{
  padding:20px 22px;
}

.admin-body .card.shadow-sm .card-title{
  margin-bottom:10px !important;
  color:#6e7891;
  font-size:13px;
  font-weight:900;
}

.admin-body .card.shadow-sm .display-6{
  color:#141824;
  font-size:31px;
  font-weight:900;
  letter-spacing:-.045em;
}

.admin-body .card.shadow-sm small.text-muted{
  color:#8a94ad !important;
  font-size:12px;
}

/* TABLE */
.admin-body .table{
  color:#141824;
  font-size:13px;
  border-collapse:separate;
  border-spacing:0;
}

.admin-body .card .table{
  border-top:1px solid var(--adm-border);
}

.admin-body .table thead th{
  background:#f8fafd;
  color:#6e7891;
  border-bottom:1px solid #d8e0ec;
  padding:11px 12px;
  font-size:13px;
  font-weight:900;
  text-transform:none;
  letter-spacing:-.01em;
}

.admin-body .table tbody td{
  background:#fff;
  border-top:1px solid #edf1f7;
  padding:12px;
  vertical-align:middle;
}

.admin-body .table tbody tr:last-child td{
  border-bottom:1px solid #edf1f7;
}

.admin-body .table-hover > tbody > tr:hover > *{
  background:#f5f8ff;
}

.admin-body .table .fw-semibold{
  color:#141824;
  font-weight:900 !important;
}

.admin-body .table td.text-end{
  color:#6e7891;
}

/* FORM */
.admin-body .form-control,
.admin-body .form-select{
  height:var(--adm-control-h);
  border:1px solid #d8e0ec;
  border-radius:10px;
  background:#fff;
  color:#141824;
  font-size:14px;
}

.admin-body .form-control:hover,
.admin-body .form-select:hover{
  border-color:#c6d0df;
}

.admin-body .form-control:focus,
.admin-body .form-select:focus{
  border-color:#3874ff;
  box-shadow:0 0 0 .18rem rgba(56,116,255,.16);
}

.admin-body textarea.form-control{
  height:auto;
}

.admin-body .form-label{
  color:#31374a;
  font-weight:800;
  letter-spacing:-.02em;
}

.admin-body .form-text{color:#8a94ad;}

/* BUTTONS */
.admin-body .btn{
  border-radius:10px;
  font-weight:800;
  letter-spacing:-.02em;
  border:1px solid #cdcdcd
}

.admin-body .btn-primary{
  background:#3874ff;
  border-color:#3874ff;
  box-shadow:0 4px 10px rgba(56,116,255,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  height:50px;
}

.admin-body .btn-primary:hover{
  background:#2563eb;
  border-color:#2563eb;
}

.admin-body .btn-outline-primary{
  color:#3874ff;
  border-color:#b8c9ff;
  background:#fff;
}

.admin-body .btn-outline-primary:hover{
  color:#fff;
  background:#3874ff;
  border-color:#3874ff;
}

.admin-body .btn-outline-secondary{
  color:#31374a;
  border-color:#d8e0ec;
  background:#fff;
}

.admin-body .btn-outline-secondary:hover{
  color:#2563eb;
  background:#edf3ff;
  border-color:#b8c9ff;
}

.admin-body .btn-danger,
.admin-body .btn-outline-danger:hover{
  background:#e63757;
  border-color:#e63757;
}

/* BADGES */
.admin-body .badge,
.admin-body .table .badge.bg-secondary,
.admin-body .list-group-item .badge.bg-secondary{
  border-radius:999px;
  padding:5px 9px;
  background:#e8efff !important;
  color:#2563eb !important;
  border:1px solid #c9d8ff;
  font-weight:900;
  font-size:14px;
}

/* LIST GROUP */
.admin-body .list-group{
  border:1px solid var(--adm-border);
  border-radius:16px;
}

.admin-body .list-group-item{
  background:#fff;
  border-top:1px solid #edf1f7;
  padding:11px 13px;
}

.admin-body .list-group-item:hover{background:#f5f8ff;}

/* QUICK MENU */
.admin-body .card-body .d-flex.flex-wrap.gap-2{
  gap:12px !important;
}

.admin-body .card-body .btn-outline-secondary{
  height:50px;
  box-shadow:none;
}

/* SEARCH */
.admin-body .admin-search-card{
  margin-bottom:14px !important;
}

.admin-body .admin-search-card .card-body{
  padding:14px 16px !important;
}

.admin-body .admin-search-form .form-control.form-control-sm,
.admin-body .admin-search-form .form-select.form-select-sm{
  height:38px !important;
  border-radius:10px;
  border-color:#d8e0ec;
}

.admin-body .admin-search-form .btn.btn-sm{
  height:38px;
  border-radius:10px;
}

/* SELECT2 */
.admin-body .select2-container--bootstrap-5 .select2-selection--single{
  border-color:#d8e0ec !important;
  border-radius:10px !important;
}

.admin-body .select2-container--bootstrap-5.select2-container--open .select2-selection--single,
.admin-body .select2-container--bootstrap-5.select2-container--focus .select2-selection--single{
  border-color:#3874ff !important;
  box-shadow:0 0 0 .18rem rgba(56,116,255,.16) !important;
}

.admin-body .select2-container--bootstrap-5 .select2-dropdown{
  border-color:#d8e0ec !important;
  border-radius:12px !important;
  box-shadow:0 12px 28px rgba(20,24,36,.10) !important;
}

.admin-body .select2-container--bootstrap-5 .select2-results__option--highlighted{
  background:#edf3ff !important;
  color:#141824 !important;
}

.admin-body .select2-container--bootstrap-5 .select2-results__option[aria-selected="true"]{
  background:#e8efff !important;
  color:#2563eb !important;
}

/* MACHINE STATUS */
.machine-card{
  border:1px solid #d8e0ec;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(20,24,36,.06);
}

.machine-card-header{
  padding:12px 14px;
  color:#fff;
  font-weight:900;
}

.status-playing .machine-card-header{background:#3874ff;}
.status-waiting .machine-card-header{background:#25b003;}
.status-abnormal .machine-card-header{background:#e63757;}
.status-disabled .machine-card-header{background:#6e7891;}

.machine-card-body{padding:12px 14px 14px;}

.machine-info-row{
  border-bottom:1px solid #edf1f7;
  font-size:13px;
}

.machine-info-label{
  color:#6e7891;
  background:#f8fafd;
  font-weight:800;
}

.machine-info-value{color:#31374a;}

.status-badge{
  background:rgba(255,255,255,.24);
  border:1px solid rgba(255,255,255,.22);
  font-weight:900;
}

/* OFFCANVAS */
@media (max-width: 991.98px){
  .admin-body .container,
  .admin-body .container-fluid{
    max-width:100% !important;
    width:100% !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .admin-body .offcanvas{
    --bs-offcanvas-bg:#0f172a;
    --bs-offcanvas-color:#b6c2d9;
    background:#0f172a !important;
    color:#b6c2d9 !important;
  }

  .admin-body .offcanvas-header{
    border-bottom:1px solid rgba(255,255,255,.08);
  }

  .admin-body .offcanvas-title{
    color:#fff;
    font-weight:900;
  }

  .admin-body .offcanvas .btn-close{
    filter:invert(1) grayscale(1);
    opacity:.85;
  }
}

@media (max-width: 575.98px){
  .admin-body{--adm-control-h:38px;}

  .admin-main-inner{
    padding-top:18px !important;
  }

  .admin-body .container,
  .admin-body .container-fluid{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .admin-body .admin-topbar{
    height:auto;
    padding:9px 10px;
  }

  .admin-body .admin-brand{
    font-size:13px;
  }

  .admin-body .card-body{padding:15px;}
  .admin-body .card-header{padding:13px 15px;}
}


/* =========================================================
   PHOENIX ADMIN V2 OVERRIDE
   MSParkGolf Admin
========================================================= */

/* ---------- BASE ---------- */

.admin-body{
  --adm-bg:#f5f7fa;
  --adm-surface:#ffffff;
  --adm-border:#e5e7eb;
  --adm-text:#141824;
  --adm-muted:#6e7891;
  --adm-primary:#3874ff;

  background:#f5f7fa;
}

.admin-body .container-fluid{
  padding-left:32px !important;
  padding-right:32px !important;
}

.admin-main-inner{
  padding:32px !important;
}

.admin-body .row{
  --bs-gutter-x:24px;
  --bs-gutter-y:24px;
}

/* ---------- TOPBAR ---------- */

.admin-topbar{
  background:#fff !important;
  color:#141824 !important;
  border-bottom:1px solid #e5e7eb !important;
  box-shadow:0 2px 10px rgba(15,23,42,.04) !important;
}

.admin-topbar span,
.admin-topbar .admin-brand{
  color:#141824 !important;
}

.admin-brand{
  font-size:16px;
  font-weight:800;
}

.admin-topbar .btn-outline-light{
  color:#3874ff !important;
  border-color:#cfd8ea !important;
  background:#fff !important;
}

.admin-topbar .btn-outline-light:hover{
  background:#3874ff !important;
  color:#fff !important;
}

/* ---------- SIDEBAR ---------- */

.admin-sidebar{
  background:#fff !important;
  /* border-right:1px solid #414a61 !important; */
}

.admin-sidebar-logo{
  padding:24px !important;
}

.admin-sidebar-logo .logo-mark{
  width:50px;
  height:50px;
  border-radius:14px;

  background:linear-gradient(
    135deg,
    #3874ff,
    #5ea3ff
  ) !important;

  box-shadow:
    0 10px 20px rgba(56,116,255,.25);
}

.admin-sidebar-logo .logo-text{
  font-size:17px;
  font-weight:800;
}

/* 메뉴 */

.admin-nav{
  padding:8px 12px 20px;
}

.admin-nav-link,
.admin-nav-toggle{
  width:100%;
  margin:4px 0;
  padding:14px 16px;

  border-radius:14px;

  color:#c5d0e6;

  transition:.2s;
}

.admin-nav-link:hover,
.admin-nav-toggle:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}

.admin-nav-link i,
.admin-nav-toggle i{
  font-size:18px;
  width:22px;
}

/* 활성 */

.admin-nav-link.active{
  background:#3874ff !important;
  color:#fff !important;

  box-shadow:
    0 8px 20px rgba(56,116,255,.25);
}

.admin-nav-link.active i{
  color:#fff;
}

/* 서브메뉴 */

.admin-subnav{
  margin:6px 0 10px 16px;
  padding-left:12px;

  border-left:1px solid rgba(255,255,255,.12);
}

.admin-subnav a{
  padding:10px 14px;
  border-radius:10px;

  color:#b8c3d8;
}

.admin-subnav a:hover{
  background:rgba(255,255,255,.06);
}

.admin-subnav a.active{
  background:rgba(255,255,255,.08);
}

/* ---------- CARD ---------- */

.card{
  border:none !important;

  border-radius:20px !important;

  box-shadow:
    0 10px 30px rgba(15,23,42,.06) !important;
}

.card-header{
  padding:20px 24px !important;
  background:#fff !important;
}

.card-body{
  padding:24px !important;
}

.card-body.h5 {font-weight:bold;}

/* ---------- DASHBOARD SUMMARY ---------- */

.card.shadow-sm{
  border:none !important;

  border-radius:20px !important;

  box-shadow:
    0 10px 30px rgba(15,23,42,.06) !important;
}

.card.shadow-sm::before{
  display:none;
}

.card.shadow-sm .card-body{
  padding:28px !important;
}

.card.shadow-sm .card-title{
  font-size:13px;
  font-weight:700;
  color:#6e7891;
}

.card.shadow-sm .display-6{
  font-size:42px !important;
  font-weight:800;
}

/* ---------- SEARCH ---------- */

.admin-search-card{
  border:none !important;

  border-radius:18px !important;

  box-shadow:
    0 8px 24px rgba(15,23,42,.05) !important;
}

.admin-search-card .card-body{
  padding:20px !important;
}

/* ---------- FORM ---------- */

.form-control,
.form-select{
  height:50px !important;

  border-radius:10px !important;

  border:1px solid #dce3ee !important;

  background:#fff;
}

.form-control:focus,
.form-select:focus{
  border-color:#3874ff !important;

  box-shadow:
    0 0 0 .2rem rgba(56,116,255,.15) !important;
}

/* ---------- BUTTON ---------- */

.btn{
  border-radius:12px !important;
  font-weight:700;
}

.btn-primary{
  background:#3874ff !important;
  border-color:#3874ff !important;
}

.btn-primary:hover{
  background:#2864f0 !important;
}

.btn-outline-secondary{
  border-color:#dce3ee !important;
}

/* ---------- TABLE ---------- */

.table{
  font-size:13px;
}

.table thead th{
  background:#f8fafc !important;

  color:#6e7891 !important;

  border-bottom:1px solid #e5e7eb !important;

  font-weight:700;
}

/* .table tbody td{
  border-top:1px solid #d3d7dd !important;
} */

.table-hover tbody tr:hover td{
  background:#f8fbff !important;
}

/* ---------- BADGE ---------- */

.badge{
  border-radius:999px;
  padding:6px 10px;
}

.badge.bg-secondary{
  background:#edf4ff !important;
  color:#3874ff !important;
}

/* ---------- QUICK MENU ---------- */

.card-body .btn-outline-secondary{
  height:46px;

  border-radius:14px;

  background:#fff;

  transition:.2s;
}

.card-body .btn-outline-secondary:hover{
  background:#f5f9ff;
  border-color:#bfd3ff;
}

/* ---------- MACHINE CARD ---------- */

.machine-card{
  border:none;

  border-radius:18px;

  box-shadow:
    0 10px 25px rgba(15,23,42,.06);
}

.machine-card-body{
  padding:16px;
}

.machine-info-label{
  background:#f8fafc;
}

/* ---------- MOBILE ---------- */

@media(max-width:991px){

  .admin-body .container-fluid{
    padding-left:5px !important;
    padding-right:5px !important;
  }

  .admin-main-inner{
    padding:20px !important;
  }

  .row{
    --bs-gutter-x:16px;
    --bs-gutter-y:16px;
  }

  .card-body{
    padding:18px !important;
  }

  .card.shadow-sm .display-6{
    font-size:24px !important;
  }
}

.input-group-text {border:none;}


@media (max-width: 767px){
	.admin-body #championshipForm.champ-layout-v2 .champ-card-basic .card-header .fw-semibold, 
	.admin-body #championshipForm.champ-layout-v2 .champ-card-game .card-header .fw-semibold, 
	.admin-body #championshipForm.champ-layout-v2 .champ-card-hole .card-header .fw-semibold, 
	.admin-body #championshipForm.champ-layout-v2 .champ-card-prize .card-header .fw-semibold, 
	.admin-body #championshipForm.champ-layout-v2 .champ-card-image .card-header .fw-semibold,
	.admin-body #championshipForm.champ-layout-v2 .champ-card-prize-title .accordion-button {
		font-size:15px;
	}


    .champ-card-game{
        overflow:hidden;
    }

    .champ-card-game .card-body{
        display:block !important;
        width:100%;
        min-width:0;
    }

    .champ-card-game .card-body .row{
        display:block !important;
    }

    .champ-card-game .card-body .col-md-4{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        padding:12px 0 !important;
        border-bottom:1px solid #edf1f7;
    }

    .champ-card-game .form-label{
        display:block;
        margin-bottom:10px !important;
    }

    .champ-card-game [data-group]{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:8px !important;
        width:100%;
    }

    .champ-card-game [data-group] .btn{
        flex:1 1 calc(50% - 4px);
        min-width:90px;
    }

    #settingSummary{
        width:100%;
        min-width:0;
        overflow-wrap:break-word;
        word-break:break-word;
    }

	.champ-hero-header {
		padding: 10px;
		flex-wrap: wrap;
	}

	.card-header, .card.shadow-sm .card-body {
		padding:10px !important;
	}

	.admin-body .admin-table th:last-child, .admin-body .admin-table td:last-child, .admin-body .admin-table th:last-child, .admin-body .admin-table td:last-child {
		min-width:80px;
	}
}