/*
 * Premium operational-form workspace
 * Scoped to the authenticated Firm and Superadmin portals only.
 */

.elaw-panel {
  --form-navy: #0b2342;
  --form-navy-soft: #173d68;
  --form-gold: #c89a3d;
  --form-gold-soft: #fbf4e6;
  --form-ink: #1c324c;
  --form-muted: #6c7e91;
  --form-line: #dbe5ef;
  --form-line-soft: #eaf0f5;
  --form-surface: #ffffff;
  --form-surface-alt: #f7f9fc;
}

.elaw-panel .panel-form-page {
  max-width: 1460px;
  margin: 0 auto;
}

.elaw-panel .panel-form-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 88px;
  margin: 0 0 24px;
  padding: 20px 24px 20px 28px;
  overflow: hidden;
  border: 1px solid #d4e0ec;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(200, 154, 61, .13), transparent 31%),
    linear-gradient(110deg, #fff 0%, #f9fbfd 100%);
  box-shadow: 0 12px 26px rgba(11, 35, 66, .055);
}

.elaw-panel .panel-form-header::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  content: '';
  background: linear-gradient(180deg, #d8ae59, #b7862d);
}

.elaw-panel .panel-form-header__eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 6px;
  color: #a9771d;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .085em;
  line-height: 1;
  text-transform: uppercase;
}

.elaw-panel .panel-form-header__title {
  margin: 0;
  color: var(--form-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(22px, 2.3vw, 29px);
  font-weight: 700;
  line-height: 1.1;
}

.elaw-panel .panel-form-header__meta,
.elaw-panel .panel-form-header .text-muted {
  margin-top: 6px;
  color: var(--form-muted) !important;
  font-size: 12.5px;
}

.elaw-panel form.panel-form-workspace {
  position: relative;
}

.elaw-panel form.panel-form-workspace > .card,
.elaw-panel .panel-form-workspace > .panel-form-card {
  overflow: visible;
  border: 1px solid var(--form-line);
  border-radius: 16px;
  background: var(--form-surface);
  box-shadow: 0 16px 34px rgba(11, 35, 66, .06);
}

.elaw-panel form.panel-form-workspace.card {
  overflow: visible;
  border: 1px solid var(--form-line);
  border-radius: 16px;
  background: var(--form-surface);
  box-shadow: 0 16px 34px rgba(11, 35, 66, .06);
}

.elaw-panel form.panel-form-workspace > .card > .card-body,
.elaw-panel .panel-form-card > .card-body,
.elaw-panel form.panel-form-workspace.card > .card-body {
  padding: clamp(20px, 3vw, 32px);
}

.elaw-panel form.panel-form-single-section.card > .card-body::before,
.elaw-panel form.panel-form-single-section > .card > .card-body::before {
  display: block;
  margin: 0 0 19px;
  padding: 0 0 11px 35px;
  border-bottom: 1px solid var(--form-line-soft);
  background: linear-gradient(135deg, var(--form-gold-soft), var(--form-gold-soft)) left top / 25px 25px no-repeat;
  color: var(--form-ink);
  content: 'Form details';
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 25px;
}

.elaw-panel .panel-form-workspace .form,
.elaw-panel .panel-form-workspace .card-body > .row,
.elaw-panel .panel-form-workspace > .row {
  row-gap: 5px;
}

.elaw-panel fieldset.panel-form-section,
.elaw-panel .panel-form-section {
  min-width: 0;
  margin: 0 0 22px;
  padding: clamp(17px, 2vw, 24px);
  border: 1px solid var(--form-line-soft);
  border-radius: 13px;
  background: linear-gradient(180deg, #fff 0%, #fcfdff 100%);
}

.elaw-panel .panel-form-section--accent {
  border-color: #ead9af;
  background: linear-gradient(130deg, #fffdf8 0%, #fff 73%);
}

.elaw-panel .panel-form-section__header {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 19px;
}

.elaw-panel .panel-form-section__icon {
  display: inline-grid;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  place-items: center;
  border: 1px solid #ead8a9;
  border-radius: 9px;
  background: var(--form-gold-soft);
  color: #9a6d1b;
  font-size: 16px;
}

.elaw-panel .panel-form-section__title,
.elaw-panel legend.panel-form-section__title {
  width: auto;
  float: none;
  margin: 2px 0 3px;
  padding: 0;
  color: var(--form-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}

.elaw-panel .panel-form-section__help {
  margin: 0;
  color: var(--form-muted);
  font-size: 12px;
  line-height: 1.55;
}

/* Existing templates already use h6 section headings. They become component headers
   without changing the hierarchy or JavaScript-owned DOM around them. */
.elaw-panel .panel-form-workspace .panel-form-section-title {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 24px 0 16px !important;
  padding: 0 0 11px;
  border: 0 !important;
  border-bottom: 1px solid var(--form-line-soft) !important;
  color: var(--form-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 17px;
  font-weight: 700;
}

.elaw-panel .panel-form-workspace .panel-form-section-title:first-child {
  margin-top: 0 !important;
}

.elaw-panel .panel-form-workspace .panel-form-section-title::before {
  display: inline-grid;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  place-items: center;
  border: 1px solid #ecdcae;
  border-radius: 8px;
  background: var(--form-gold-soft);
  color: #a57418;
  content: '•';
  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1;
}

.elaw-panel .panel-form-workspace .row.g-3,
.elaw-panel .panel-form-workspace .row.g-4,
.elaw-panel .panel-form-workspace .row.gy-3,
.elaw-panel .panel-form-workspace .row.gy-4 {
  --bs-gutter-y: 1rem;
}

.elaw-panel .panel-form-workspace .mb-3 {
  margin-bottom: 1.05rem !important;
}

.elaw-panel .panel-form-workspace .form-label {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-bottom: 7px;
  color: #304862;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .01em;
}

.elaw-panel .panel-form-workspace .form-text {
  margin-top: 6px;
  color: #75879a !important;
  font-size: 11.5px;
  line-height: 1.45;
}

.elaw-panel .panel-form-workspace .form-control,
.elaw-panel .panel-form-workspace .form-select,
.elaw-panel .panel-form-workspace .input-group-text {
  min-height: 43px;
  border-color: #d7e2ed;
  border-radius: 9px;
}

.elaw-panel .panel-form-workspace .form-control:focus,
.elaw-panel .panel-form-workspace .form-select:focus,
.elaw-panel .panel-form-workspace .select2-container--default .select2-selection--single:focus {
  border-color: #b78328;
  box-shadow: 0 0 0 4px rgba(200, 154, 61, .13) !important;
}

.elaw-panel .panel-form-workspace .form-control.is-invalid,
.elaw-panel .panel-form-workspace .was-validated .form-control:invalid,
.elaw-panel .panel-form-workspace .field-error .form-control {
  border-color: #d35960;
  background-color: #fffafb;
}

.elaw-panel .panel-form-workspace .text-danger.small,
.elaw-panel .panel-form-workspace .file-validation-error,
.elaw-panel .panel-form-workspace [id$='Error'] {
  display: block;
  min-height: 17px;
  margin-top: 5px;
  color: #bd3f48 !important;
  font-size: 11.5px;
}

/* Kiltel owns the phone wrapper, country trigger, and dropdown positioning.
   Do not clip, restyle, or change its input-group geometry here. */
.elaw-panel .panel-form-workspace .kiltel-phone-wrap {
  overflow: visible !important;
}

.elaw-panel .panel-form-workspace input[type='file'].form-control {
  padding: 7px 10px;
  background: #fbfcfe;
}

.elaw-panel .panel-form-workspace input[type='file'].form-control::file-selector-button {
  margin: -7px 10px -7px -10px;
  padding: 7px 12px;
  border: 0;
  border-right: 1px solid #d9e2ec;
  background: #eef4f8;
  color: var(--form-navy);
  font-size: 11px;
  font-weight: 750;
}

.elaw-panel .panel-form-workspace .drag-upload-btn,
.elaw-panel .panel-form-workspace .file-preview,
.elaw-panel .panel-form-workspace .upload-preview {
  border: 1px dashed #cfb174 !important;
  background: linear-gradient(145deg, #fffdf8, #f7faff) !important;
}

.elaw-panel .panel-form-workspace .form-check {
  min-height: 43px;
  padding: 11px 13px 10px 35px;
  border: 1px solid var(--form-line-soft);
  border-radius: 9px;
  background: #fbfcfe;
}

.elaw-panel .panel-form-workspace .form-check-input {
  margin-top: .22em;
}

.elaw-panel .panel-form-workspace .select2-container {
  width: 100% !important;
}

.elaw-panel .panel-form-workspace .select2-container--default .select2-selection--single,
.elaw-panel .panel-form-workspace .select2-container--default .select2-selection--multiple {
  min-height: 43px;
  border-color: #d7e2ed;
  border-radius: 9px;
}

.elaw-panel .panel-form-workspace .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding-left: 12px;
  color: var(--form-ink);
  font-size: 12.5px;
  line-height: 41px;
}

.elaw-panel .panel-form-workspace .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 41px;
}

.elaw-panel .panel-form-action-bar {
  position: sticky;
  z-index: 12;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
  padding: 12px 14px;
  border: 1px solid #d5e1ec;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 10px 26px rgba(11, 35, 66, .12);
  backdrop-filter: blur(10px);
}

.elaw-panel .panel-form-action-bar .btn-primary {
  min-width: 132px;
  border-color: #b98932 !important;
  background: linear-gradient(135deg, #cda54d, #ad7b20) !important;
  box-shadow: 0 8px 16px rgba(171, 123, 32, .2) !important;
}

.elaw-panel .panel-form-action-bar .btn-primary:hover {
  border-color: #9e6c18 !important;
  background: linear-gradient(135deg, #bb9138, #956513) !important;
}

.elaw-panel .modal .panel-form-workspace,
.elaw-panel .panel-form-modal {
  padding: 2px;
}

.elaw-panel .modal .panel-form-section-title,
.elaw-panel .panel-form-modal .panel-form-section-title {
  margin-top: 14px !important;
}

.elaw-panel .modal-content {
  border: 1px solid #d6e0eb;
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(11, 35, 66, .24);
}

.elaw-panel .modal-header {
  border-bottom-color: #e7edf3;
  background: linear-gradient(110deg, #fbfcfe, #fffaf0);
}

.elaw-panel .modal-footer {
  border-top-color: #e7edf3;
  background: #fbfcfe;
}

@media (max-width: 767.98px) {
  .elaw-panel .panel-form-header {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 16px;
    padding: 18px 19px 18px 23px;
  }

  .elaw-panel .panel-form-header .btn { width: 100%; }
  .elaw-panel .panel-form-workspace > .card > .card-body,
  .elaw-panel .panel-form-card > .card-body { padding: 16px; }
  .elaw-panel fieldset.panel-form-section,
  .elaw-panel .panel-form-section { padding: 15px; }

  .elaw-panel .panel-form-action-bar {
    position: static;
    align-items: stretch;
    flex-direction: column-reverse;
    margin-top: 18px;
    padding: 11px;
    background: #fff;
    box-shadow: none;
  }

  .elaw-panel .panel-form-action-bar .btn { width: 100%; }
}
