/*
 * CFP Bawaslu — Admin UI Harmonization V1
 * Scope intentionally limited to .admin-pro so reviewer/peserta UI is untouched.
 */
.admin-pro{
  --admin-gap:18px;
  --admin-radius:22px;
  --admin-line:#eadfce;
  --admin-panel:#ffffff;
  --admin-soft:#fffaf4;
  --admin-ink:#182033;
  --admin-muted:#6b7280;
  --admin-red:#b5091b;
}

.admin-pro .admin-container,
.admin-pro.container.admin-container{
  width:100%;
  max-width:1440px;
  margin:0 auto;
}

.admin-pro .page-head.admin-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  margin-bottom:18px;
  border:1px solid rgba(234,223,206,.92);
  border-radius:var(--admin-radius);
  background:
    radial-gradient(circle at 92% 10%, rgba(249,220,141,.30), transparent 25%),
    linear-gradient(135deg,#fffdf9 0%,#fff8e8 100%);
  box-shadow:0 12px 30px rgba(80,42,20,.045);
}

.admin-pro .page-head.admin-hero.compact-hero{
  padding:18px 20px;
}

.admin-pro .page-head.admin-hero h1,
.admin-pro .page-head.admin-hero h2{
  margin:4px 0 6px;
  color:var(--admin-ink);
  letter-spacing:-.035em;
}

.admin-pro .page-head.admin-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid #f0dbc2;
  border-radius:999px;
  background:#fffdf8;
  color:#a31422;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.admin-pro .page-head.admin-hero .actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
}

.admin-pro .card{
  border-radius:18px;
}

.admin-pro .card + .card,
.admin-pro .admin-section-gap{
  margin-top:var(--admin-gap);
}

.admin-pro .card-head{
  gap:14px;
}

.admin-pro .card-head .section-title,
.admin-pro .card-head h2,
.admin-pro .card-head h3{
  color:var(--admin-ink);
}

.admin-pro .table-wrap{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.admin-pro .table th{
  white-space:nowrap;
}

.admin-pro .actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  align-items:center;
}

.admin-pro .btn{
  font-weight:650;
}

.admin-pro .admin-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.admin-pro .admin-metric-card{
  min-width:0;
  padding:15px 16px;
  border:1px solid var(--admin-line);
  border-radius:17px;
  background:#fff;
}

.admin-pro .admin-metric-card span{
  display:block;
  color:var(--admin-muted);
  font-size:12px;
}

.admin-pro .admin-metric-card strong{
  display:block;
  margin-top:5px;
  color:var(--admin-ink);
  font-size:25px;
  line-height:1.05;
}

.admin-pro .admin-inline-panel{
  border:1px solid var(--admin-line);
  border-radius:16px;
  background:var(--admin-soft);
}

.admin-pro .admin-page-intro{
  margin-bottom:18px;
}

.admin-pro .admin-page-intro .muted{
  max-width:820px;
}

.admin-pro .admin-responsive-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.admin-pro .admin-responsive-form-grid .full{
  grid-column:1/-1;
}

.admin-pro.certificate-admin-page .grid.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.admin-pro.certificate-admin-page .certificate-metric-card h2{
  margin:6px 0 0;
  font-size:26px;
}

.admin-pro.certificate-admin-page .certificate-inline-form{
  display:inline;
}

.admin-pro.certificate-admin-page .certificate-signature-preview{
  max-width:280px;
  max-height:120px;
  object-fit:contain;
  margin-top:8px;
}

.admin-pro .admin-overview-head{
  margin-bottom:18px;
}

.admin-pro .admin-overview-head + .card{
  margin-top:0;
}

.admin-pro .admin-overview-head .muted{
  margin:0;
}

.admin-pro .admin-sidebar-final nav > a{
  min-height:42px;
}

.admin-pro .admin-sidebar-final nav > a .icon{
  flex:0 0 auto;
}

@media(max-width:1180px){
  .admin-pro .admin-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-pro.certificate-admin-page .grid.grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .admin-pro .page-head.admin-hero{
    flex-direction:column;
  }
  .admin-pro .page-head.admin-hero .actions{
    width:100%;
    justify-content:flex-start;
  }
}

@media(max-width:760px){
  .admin-pro .admin-container,
  .admin-pro.container.admin-container{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .admin-pro .page-head.admin-hero{
    padding:16px;
    border-radius:18px;
  }

  .admin-pro .page-head.admin-hero .actions .btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .admin-pro .admin-metric-grid,
  .admin-pro.certificate-admin-page .grid.grid-3,
  .admin-pro .admin-responsive-form-grid{
    grid-template-columns:1fr;
  }

  .admin-pro .admin-responsive-form-grid .full{
    grid-column:auto;
  }

  .admin-pro .table{
    min-width:760px;
  }

  .admin-pro .card{
    border-radius:16px;
  }
}

/* CFP_ADMIN_HARMONIZATION_V2 */

/* Detail naskah: legacy page joins canonical admin shell. */
.admin-pro.submission-detail-page .page-head.admin-hero{
  margin-bottom:18px;
}
.admin-pro.submission-detail-page .grid.grid-2{
  gap:18px;
}
.admin-pro.submission-detail-page .file-card{
  border-radius:14px;
}

/* Title verification: canonical hero/container rhythm. */
.admin-pro.title-review-page .page-head.admin-hero{
  margin-bottom:18px;
}
.admin-pro.title-review-page .summary-grid{
  margin-top:0;
}

/* Certificate pages: safer responsive behavior without changing forms/business logic. */
.admin-pro.certificate-admin-page .table-wrap{
  overflow-x:auto;
}
.admin-pro.certificate-admin-page .admin-table{
  min-width:980px;
}
.admin-pro.certificate-admin-page input.input,
.admin-pro.certificate-admin-page select.input,
.admin-pro.certificate-admin-page textarea.input{
  max-width:100%;
}
.admin-pro.certificate-admin-page form .grid{
  min-width:0;
}
.admin-pro.certificate-admin-page .actions{
  row-gap:8px;
}

/* Judging ranking: dense table remains usable on smaller screens. */
.admin-pro.judging-ranking-page .table-wrap{
  overflow-x:auto;
}
.admin-pro.judging-ranking-page .admin-table{
  min-width:1180px;
}
.admin-pro.judging-ranking-page form{
  max-width:100%;
}
.admin-pro.judging-ranking-page input.input,
.admin-pro.judging-ranking-page select.input{
  max-width:100%;
}

/* Reviewer result: harmonize publication/detail controls. */
.admin-pro.reviewer-result-page .grid.grid-3{
  gap:12px;
}
.admin-pro.reviewer-result-page .soft-panel{
  border-radius:16px;
}
.admin-pro.reviewer-result-page .actions{
  align-items:center;
}

/* Journey cleanup. */
.admin-pro.journey-detail-page .page-head.admin-hero{
  margin-bottom:18px;
}

@media(max-width:980px){
  .admin-pro.certificate-admin-page .grid.grid-3,
  .admin-pro.reviewer-result-page .grid.grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-pro.judging-ranking-page .grid.grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-pro.judging-ranking-page .grid.grid-3{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .admin-pro.submission-detail-page .grid.grid-2,
  .admin-pro.title-review-page .summary-grid,
  .admin-pro.certificate-admin-page .grid.grid-3,
  .admin-pro.reviewer-result-page .grid.grid-3,
  .admin-pro.judging-ranking-page .grid.grid-4{
    grid-template-columns:1fr!important;
  }

  .admin-pro.submission-detail-page .page-head .actions,
  .admin-pro.title-review-page .page-head .actions,
  .admin-pro.certificate-admin-page .page-head .actions,
  .admin-pro.judging-ranking-page .page-head .actions,
  .admin-pro.reviewer-result-page .page-head .actions{
    width:100%;
  }

  .admin-pro.submission-detail-page .page-head .actions .btn,
  .admin-pro.title-review-page .page-head .actions .btn,
  .admin-pro.certificate-admin-page .page-head .actions .btn,
  .admin-pro.judging-ranking-page .page-head .actions .btn,
  .admin-pro.reviewer-result-page .page-head .actions .btn{
    flex:1 1 auto;
    justify-content:center;
  }

  .admin-pro.certificate-admin-page .admin-table{
    min-width:900px;
  }

  .admin-pro.judging-ranking-page .admin-table{
    min-width:1100px;
  }
}
