
/* =========================================================
   Unified Forms V6 — public website + admin panel
   Purpose: one visual language without changing legacy field names.
========================================================= */
:root{
  --uf-primary:var(--edu-primary-2,#0f4c81);
  --uf-primary-dark:var(--edu-primary,#102f55);
  --uf-accent:var(--edu-accent,#0d9488);
  --uf-success:#16875b;
  --uf-danger:#d92d20;
  --uf-warning:#b54708;
  --uf-text:#172033;
  --uf-muted:#667085;
  --uf-line:#d8e1eb;
  --uf-soft:#f5f8fc;
  --uf-surface:#fff;
  --uf-shadow:0 14px 38px rgba(15,45,75,.09);
  --uf-radius:16px;
}
*{box-sizing:border-box}
.edu-unified-form{width:100%;max-width:100%}
.edu-unified-form label,
.edu-unified-form .control-label,
.edu-unified-form td:first-child{
  color:var(--uf-text);
  font-weight:600;
}
.edu-unified-form .edu-required-mark{color:var(--uf-danger);margin-left:4px}
.edu-unified-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=image]),
.edu-unified-form select,
.edu-unified-form textarea,
.edu-unified-form .form-control,
.edu-unified-form .edu-input,
.edu-unified-form .edu-select,
.edu-unified-form .edu-textarea{
  width:100%;
  min-height:46px;
  max-width:100%;
  padding:10px 13px;
  border:1px solid var(--uf-line);
  border-radius:11px;
  background:var(--uf-surface);
  color:var(--uf-text);
  font:inherit;
  line-height:1.35;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.edu-unified-form textarea,
.edu-unified-form .edu-textarea{min-height:110px;resize:vertical}
.edu-unified-form select,
.edu-unified-form .edu-select{appearance:auto}
.edu-unified-form input[type=file]{padding:7px 9px;background:#fbfdff}
.edu-unified-form input:focus,
.edu-unified-form select:focus,
.edu-unified-form textarea:focus,
.edu-unified-form .form-control:focus{
  outline:0;
  border-color:var(--uf-primary);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--uf-primary) 14%,transparent);
  background:#fff;
}
.edu-unified-form input[readonly],
.edu-unified-form input[disabled],
.edu-unified-form select[disabled],
.edu-unified-form textarea[disabled]{background:#eef2f6;color:#667085;cursor:not-allowed}
.edu-unified-form input[type=checkbox],
.edu-unified-form input[type=radio]{width:18px;height:18px;vertical-align:middle;accent-color:var(--uf-primary)}
.edu-unified-form .form-group{margin-bottom:16px}
.edu-unified-form .input-group{display:flex;align-items:stretch;width:100%}
.edu-unified-form .input-group-addon,
.edu-unified-form .input-group-text{
  display:flex;align-items:center;justify-content:center;
  min-width:44px;padding:0 11px;border:1px solid var(--uf-line);
  background:var(--uf-soft);color:var(--uf-primary-dark)
}
.edu-unified-form .input-group-addon:first-child,
.edu-unified-form .input-group-text:first-child{border-radius:11px 0 0 11px;border-right:0}
.edu-unified-form .input-group .form-control{border-radius:0 11px 11px 0}
.edu-unified-form .is-invalid,
.edu-unified-form :invalid.edu-touched{border-color:var(--uf-danger)!important;box-shadow:0 0 0 4px rgba(217,45,32,.10)!important}
.edu-field-error{display:none;margin-top:6px;color:var(--uf-danger);font-size:12px;font-weight:600}
.edu-unified-form .is-invalid + .edu-field-error{display:block}
.edu-form-help{display:block;margin-top:6px;color:var(--uf-muted);font-size:12px;line-height:1.5}

/* Buttons */
.edu-unified-form button,
.edu-unified-form input[type=submit],
.edu-unified-form input[type=button],
.edu-unified-form .btn,
.content-wrapper .btn,
.public-form-card .btn{
  min-height:42px;
  border-radius:10px;
  border:1px solid transparent;
  padding:9px 16px;
  font-weight:700;
  line-height:1.2;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.edu-unified-form button:hover,
.edu-unified-form input[type=submit]:hover,
.edu-unified-form .btn:hover{transform:translateY(-1px)}
.edu-unified-form input[type=submit],
.edu-unified-form button[type=submit],
.edu-unified-form .btn-primary,
.edu-unified-form .btn-blue,
.edu-unified-form .search{
  color:#fff!important;
  background:linear-gradient(135deg,var(--uf-primary),var(--uf-primary-dark))!important;
  border-color:transparent!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--uf-primary) 24%,transparent);
}
.edu-unified-form .btn-success{background:linear-gradient(135deg,#1a9b68,#137a53)!important;color:#fff!important}
.edu-unified-form .btn-danger{background:linear-gradient(135deg,#e04438,#bd251b)!important;color:#fff!important}
.edu-unified-form .btn-warning{background:linear-gradient(135deg,#f7a928,#d78400)!important;color:#fff!important}
.edu-unified-form [aria-busy=true]{cursor:progress;filter:saturate(.65);opacity:.88}

/* Admin */
.content-wrapper{color:var(--uf-text)}
.content-wrapper .box{
  border:1px solid rgba(15,76,129,.09)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--uf-shadow)!important;
  overflow:hidden;
}
.content-wrapper .box-header{
  min-height:62px;
  padding:16px 20px!important;
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid #e7edf4!important;
  background:linear-gradient(180deg,#fff,#f9fbfd)!important;
}
.content-wrapper .box-header .box-title{font-size:17px!important;font-weight:800!important;color:var(--uf-primary-dark)!important}
.content-wrapper .box-body{padding:20px!important}
.content-wrapper .content-header{
  margin:0 0 12px;
  padding:18px 24px!important;
  border-bottom:1px solid rgba(15,76,129,.08);
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(10px);
}
.content-wrapper .content-header h1{font-weight:800;color:var(--uf-primary-dark)}
.content-wrapper form > table.table,
.content-wrapper form table.table{
  width:100%!important;
  margin:0 0 16px!important;
  border-collapse:separate!important;
  border-spacing:0 9px!important;
  background:transparent!important;
}
.content-wrapper form table.table > tbody > tr > td{
  padding:10px 12px!important;
  border-top:1px solid #e8eef5!important;
  border-bottom:1px solid #e8eef5!important;
  background:#fbfdff;
  vertical-align:middle!important;
}
.content-wrapper form table.table > tbody > tr > td:first-child{border-left:1px solid #e8eef5!important;border-radius:12px 0 0 12px}
.content-wrapper form table.table > tbody > tr > td:last-child{border-right:1px solid #e8eef5!important;border-radius:0 12px 12px 0}
.content-wrapper .table:not(form .table){
  border-collapse:separate;
  border-spacing:0;
  width:100%;
  background:#fff;
}
.content-wrapper .table thead th,
.content-wrapper .table > tbody > tr:first-child[style*="background"] td{
  padding:12px 10px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--uf-primary-dark),var(--uf-primary))!important;
  border-color:rgba(255,255,255,.08)!important;
  font-weight:700;
  white-space:nowrap;
}
.content-wrapper .table tbody td{padding:10px!important;border-color:#e6edf4!important;vertical-align:middle!important}
.content-wrapper .table-striped tbody tr:nth-of-type(odd){background:#f8fbfe}
.content-wrapper .table-responsive{display:block!important;width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}

/* Public */
main form.edu-unified-form,
section form.edu-unified-form,
.public-form-card,
.admission-form,
.contact-form{
  border:1px solid rgba(15,76,129,.10);
  border-radius:20px;
  background:rgba(255,255,255,.97);
  box-shadow:var(--uf-shadow);
}
main form.edu-unified-form,
section form.edu-unified-form{padding:clamp(16px,3vw,28px)}
.edu-unified-form .row{row-gap:14px}
.edu-unified-form .alert,
.edu-unified-form .err,
.edu-unified-form .red{
  border-radius:10px;
  padding:10px 12px;
}

/* Compact filters */
.content-wrapper form[method=get]{
  padding:14px;
  border:1px solid #e1e9f2;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff,#f5f9fd);
  margin-bottom:16px;
}

/* Mobile */
@media(max-width:767px){
  .content-wrapper .content{padding:10px!important}
  .content-wrapper .box-body{padding:13px!important}
  .content-wrapper .box-header{padding:13px 15px!important}
  .content-wrapper form table.table,
  .content-wrapper form table.table > tbody,
  .content-wrapper form table.table > tbody > tr,
  .content-wrapper form table.table > tbody > tr > td{
    display:block!important;width:100%!important;
  }
  .content-wrapper form table.table{border-spacing:0!important}
  .content-wrapper form table.table > tbody > tr{margin-bottom:12px;border:1px solid #e4ebf3;border-radius:13px;background:#fbfdff;overflow:hidden}
  .content-wrapper form table.table > tbody > tr > td{
    border:0!important;border-radius:0!important;padding:9px 11px!important;background:transparent!important
  }
  .content-wrapper form table.table > tbody > tr > td:first-child{padding-bottom:3px!important}
  .edu-unified-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  .edu-unified-form select,.edu-unified-form textarea,.edu-unified-form .form-control{font-size:16px!important}
  .edu-unified-form button,.edu-unified-form input[type=submit],.edu-unified-form .btn{width:100%;margin:4px 0}
  .content-wrapper .table{min-width:680px}
  .content-wrapper form .table{min-width:0}
}
@media print{
  .edu-unified-form,.content-wrapper .box{box-shadow:none!important;border-color:#bbb!important}
  .edu-unified-form button,.edu-unified-form input[type=submit],.no-print{display:none!important}
}
