@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');

:root{
  --koe-blue:#0a66c2;
  --koe-blue-dark:#084f98;
  --koe-bg:#eef2f7;
  --koe-border:#d6dde8;
  --koe-text:#0f172a;
}

/* ===== BASE ===== */
body{
  background: var(--koe-bg);
  color: var(--koe-text);
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
}

.wrap{ max-width: 980px; }

/* ===== CARD ===== */
.card{
  border-radius:16px;
  border:1px solid var(--koe-border);
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  overflow:hidden;
  background:#fff;
}

.card-header{
  padding:16px;
  background:var(--koe-blue);
  
  border:none;
}

.card-header h1{
  font-size:16px;
  font-weight:800;
  margin-bottom:6px;
  
}

.card-header p{
  font-size:13px;
  opacity:.9;
  margin:0;
 
}

.card-body{ padding:18px; }

.card-footer{
  padding:16px;
  border-top:1px solid var(--koe-border);
  background:#fff;
  font-size:13px;
}

/* ===== FORM ===== */
.form-label{
  font-size:13px;
  font-weight:700;
  margin-bottom:4px;
}

.form-control,
.form-select{
  border-radius:12px;
  border:1px solid var(--koe-border);
  padding:9px 12px;
  font-size:13px;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--koe-blue);
  box-shadow:0 0 0 3px rgba(10,102,194,.15);
}

textarea.form-control{
  min-height:95px;
}

.req{
  color:#d90429;
  margin-left:4px;
  font-weight:800;
}

.hint{
  font-size:12px;
  color:#64748b;
  margin-top:4px;
}

/* ===== GROUP BLOCKS ===== */
.group{
  background:#f8fbff;
  border:1px solid var(--koe-border);
  border-radius:14px;
  padding:14px;
}

/* ===== ACCORDION ===== */
.accordion-item{
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--koe-border);
  margin-bottom:12px;
}

.accordion-button{
  background:var(--koe-blue);
  color:#fff;
  font-weight:800;
  font-size:14px;
  padding:12px 14px;
  box-shadow:none;
}

.accordion-button.collapsed{
  background:var(--koe-blue);
  color:#fff;
}

.accordion-button:not(.collapsed){
  background:var(--koe-blue-dark);
  color:#fff;
}

.accordion-button::after{
  filter:brightness(0) invert(1);
}

.accordion-body{
  background:#fff;
  padding:16px;
}

/* ===== CHECKBOX / RADIO ===== */
.form-check-input{
  border-color:#94a3b8;
}

.form-check-input:checked{
  background:var(--koe-blue);
  border-color:var(--koe-blue);
}

.form-check-input:focus{
  box-shadow:0 0 0 3px rgba(10,102,194,.15);
}

/* ===== BUTTONS ===== */
.btn-primary{
  background:var(--koe-blue);
  border-color:var(--koe-blue);
  border-radius:12px;
  font-weight:800;
  padding:8px 16px;
}

.btn-primary:hover{
  background:var(--koe-blue-dark);
  border-color:var(--koe-blue-dark);
}

.btn-outline-secondary{
  border-radius:12px;
  font-weight:700;
  padding:8px 16px;
}

/* ===== HR ===== */
.tight-hr{
  border-top:1px solid var(--koe-border);
  opacity:1;
  margin:14px 0;
}

/* ===== LOCKED INPUTS ===== */
.bg-light{
  background:#eef2f7 !important;
  border-color:#d6dde8 !important;
}

.is-invalid{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 3px rgba(220,53,69,.14) !important;
}

.field-error{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 0.2rem rgba(220,53,69,.12) !important;
  border-radius:14px;
}

.field-error .form-check-input{
  border-color:#dc3545 !important;
}

.field-error .form-label{
  color:#b42318;
}
</style>
