
/* BoG2026 New Registration compact details v3.3 */
.registration-category-card{
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.registration-category-card > p{
  flex:1;
}
.registration-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.registration-card-actions .btn{
  margin:0!important;
}
.registration-dialog{
  width:min(880px, calc(100vw - 28px));
  max-height:min(86vh, 820px);
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:22px;
  background:#fff;
  color:inherit;
  box-shadow:0 30px 90px rgba(4,31,53,.28);
}
.registration-dialog::backdrop{
  background:rgba(4,28,48,.62);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.registration-dialog-shell{
  display:flex;
  flex-direction:column;
  max-height:min(86vh, 820px);
}
.registration-dialog-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px 18px;
  border-bottom:1px solid var(--line);
  background:#fbfdfe;
}
.registration-dialog-head h2{
  margin:7px 0 0;
  color:var(--navy);
  font-size:1.45rem;
  line-height:1.15;
}
.registration-dialog-close{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid #d7e2e8;
  border-radius:13px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
}
.registration-dialog-close:hover{
  background:#eef6f9;
}
.registration-dialog-body{
  overflow:auto;
  padding:22px 24px 24px;
}
.registration-dialog-intro{
  margin:0 0 18px;
  color:#53687a;
  font-size:.93rem;
  line-height:1.55;
}
.registration-dialog-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.registration-dialog-section{
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f9fbfc;
}
.registration-dialog-section h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:.92rem;
}
.registration-dialog-section .check-list{
  margin:0;
}
.registration-dialog-section .check-list li{
  font-size:.9rem;
  line-height:1.45;
}
.registration-dialog-note{
  margin-top:14px;
  padding:13px 15px;
  border-left:4px solid var(--orange);
  border-radius:0 12px 12px 0;
  background:#fff7ed;
  color:#655a50;
  font-size:.9rem;
  line-height:1.5;
}
.registration-dialog-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
body.registration-dialog-open{
  overflow:hidden;
}
@media(max-width:700px){
  .registration-card-actions{
    flex-direction:column;
  }
  .registration-card-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .registration-dialog{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:18px;
  }
  .registration-dialog-shell{
    max-height:calc(100dvh - 16px);
  }
  .registration-dialog-head{
    padding:18px;
  }
  .registration-dialog-head h2{
    font-size:1.18rem;
  }
  .registration-dialog-body{
    padding:18px;
  }
  .registration-dialog-columns{
    grid-template-columns:1fr;
  }
  .registration-dialog-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .registration-dialog-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .registration-source-link{
    margin:5px 0 0;
    text-align:center;
  }
}


/* =========================================================
   BoG2026 Registration Modal — Introduction & Procedure v3.4
   ========================================================= */
.registration-dialog-introduction{
  padding:17px 18px;
  border:1px solid #cfe1e9;
  border-radius:16px;
  background:linear-gradient(145deg,#f4fafc,#fff);
}
.registration-dialog-label{
  display:block;
  margin-bottom:8px;
  color:var(--orange);
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.registration-dialog-introduction p{
  margin:0;
  color:#4d6274;
  font-size:.9rem;
  line-height:1.55;
}
.registration-dialog-introduction p + p{
  margin-top:8px;
}
.registration-dialog-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
  gap:14px;
  margin-top:14px;
}
.registration-procedure-list{
  counter-reset:registration-step;
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.registration-procedure-list li{
  counter-increment:registration-step;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:#506477;
  font-size:.9rem;
  line-height:1.45;
}
.registration-procedure-list li::before{
  content:counter(registration-step, decimal-leading-zero);
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:#e7f3f7;
  color:var(--navy);
  font-size:.9rem;
  font-weight:900;
}
.registration-procedure-list li span{
  padding-top:4px;
}
@media(max-width:700px){
  .registration-dialog-detail-grid{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   BoG2026 Renewal + Reinstatement Modal UI v3.5
   ========================================================= */
.renewal-overview-card{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}
.renewal-key-dates{
  display:grid;
  gap:1px;
  padding:18px;
  background:#edf6fa;
}
.renewal-key-dates > div{
  padding:14px 15px;
  border:1px solid #d6e6ed;
  border-radius:13px;
  background:#fff;
}
.renewal-key-dates small{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.renewal-key-dates strong{
  display:block;
  margin-top:4px;
  color:var(--navy);
  font-size:1.18rem;
}
.renewal-key-dates .is-warning{
  border-color:#efcba9;
  background:#fff7ed;
}
.renewal-key-dates .is-warning strong{
  color:#a14d0b;
}
.renewal-overview-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px;
}
.renewal-overview-copy h3{
  margin:9px 0 7px;
  color:var(--navy);
  font-size:1.25rem;
}
.renewal-overview-copy p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.registration-dialog-wide{
  width:min(980px,calc(100vw - 28px));
}
.registration-dialog-section-wide{
  grid-column:1/-1;
}
.registration-modal-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.registration-modal-facts > div{
  padding:13px;
  border:1px solid #dce7ec;
  border-radius:13px;
  background:#fff;
}
.registration-modal-facts strong{
  display:block;
  color:var(--navy);
  font-size:1rem;
}
.registration-modal-facts span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.4;
}
.registration-modal-table-wrap{
  overflow-x:auto;
}
.registration-modal-table-wrap table{
  width:100%;
  border-collapse:collapse;
  font-size:.9rem;
}
.registration-modal-table-wrap th,
.registration-modal-table-wrap td{
  padding:10px 11px;
  border-bottom:1px solid #e1e9ee;
  text-align:left;
}
.registration-modal-table-wrap th{
  color:var(--navy);
  background:#edf6fa;
  font-size:.9rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.registration-modal-table-wrap td:last-child,
.registration-modal-table-wrap th:last-child{
  text-align:right;
  white-space:nowrap;
}
.reinstatement-card{
  min-height:260px;
}
.reinstatement-card > p{
  flex:1;
}
@media(max-width:760px){
  .renewal-overview-card{
    grid-template-columns:1fr;
  }
  .renewal-key-dates{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .renewal-key-dates strong{
    font-size:.95rem;
  }
  .registration-modal-facts{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .renewal-key-dates{
    grid-template-columns:1fr;
  }
  .renewal-overview-copy{
    padding:20px;
  }
}
