/* ── FIAE Moot Scoring – Front-end Styles ── */
:root {
  --fiae-navy:   #1a3c5e;
  --fiae-gold:   #b8972b;
  --fiae-light:  #f4f7fb;
  --fiae-border: #d1dce8;
  --fiae-red:    #c0392b;
  --fiae-green:  #1e7e34;
  --fiae-prose:  #2c3e50;
  --fiae-hint:   #6b7c93;
  --radius:      8px;
}

.fiae-wrap {
  max-width: 860px;
  margin: 32px auto;
  font-family: 'Segoe UI', Arial, sans-serif;
  color: var(--fiae-prose);
}

/* Header */
.fiae-header {
  background: var(--fiae-navy);
  color: #fff;
  padding: 28px 36px 22px;
  border-radius: var(--radius) var(--radius) 0 0;
  text-align: center;
}
.fiae-logo-line {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: .7;
  margin-bottom: 6px;
}
.fiae-header h1 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 4px;
  line-height: 1.3;
  color: #fff;
}
.fiae-header h2 {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  opacity: .85;
  color: #fff;
  border: none;
}

/* Meta bar */
.fiae-meta-bar {
  display: flex;
  gap: 0;
  background: #e8f0f8;
  border: 1px solid var(--fiae-border);
  border-top: none;
}
.fiae-meta-item {
  flex: 1;
  padding: 10px 16px;
  border-right: 1px solid var(--fiae-border);
}
.fiae-meta-item:last-child { border-right: none; }
.fiae-meta-label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--fiae-hint);
  margin-bottom: 3px;
}
.fiae-meta-value {
  font-weight: 700;
  font-size: 14px;
}
.fiae-side-prosecution { color: #1a3c5e; }
.fiae-side-defense     { color: #7b2d2d; }

/* Sections */
.fiae-section {
  background: #fff;
  border: 1px solid var(--fiae-border);
  border-top: none;
  padding: 24px 28px;
}
.fiae-section-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--fiae-navy);
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--fiae-border);
}
.fiae-hint {
  font-size: 12px;
  font-weight: 400;
  color: var(--fiae-hint);
}

/* Judge row */
.fiae-row {
  display: flex;
  gap: 20px;
}
.fiae-field {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.fiae-field label {
  font-size: 13px;
  font-weight: 600;
}
.fiae-field input {
  padding: 9px 12px;
  border: 1px solid var(--fiae-border);
  border-radius: 5px;
  font-size: 14px;
  transition: border-color .2s;
}
.fiae-field input:focus {
  outline: none;
  border-color: var(--fiae-navy);
  box-shadow: 0 0 0 3px rgba(26,60,94,.1);
}
.req { color: var(--fiae-red); }

/* Score table */
.fiae-table-wrap { overflow-x: auto; }
.fiae-score-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.fiae-score-table th {
  background: var(--fiae-navy);
  color: #fff;
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
}
.fiae-area-col { width: 44%; }
.fiae-max-col  { width: 7%; text-align: center !important; }
.fiae-score-table td {
  padding: 10px 14px;
  border-bottom: 1px solid #e5ecf3;
  vertical-align: top;
}
.fiae-score-table tbody tr:hover { background: #f7fafd; }
.fiae-max-cell { text-align: center; color: var(--fiae-hint); font-size: 13px; }
.fiae-area-cell strong { display: block; margin-bottom: 3px; }
.fiae-desc {
  font-size: 12px;
  color: var(--fiae-hint);
  display: block;
  line-height: 1.4;
}
.fiae-score-cell { text-align: center; }
.fiae-score-input {
  width: 72px;
  padding: 7px 10px;
  border: 1px solid var(--fiae-border);
  border-radius: 5px;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
}
.fiae-score-input:focus {
  outline: none;
  border-color: var(--fiae-navy);
  box-shadow: 0 0 0 3px rgba(26,60,94,.1);
}
.fiae-total-row td {
  background: var(--fiae-navy);
  color: #fff;
  font-size: 15px;
  border: none;
  padding: 10px 14px;
}
.fiae-oralist-header {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fiae-oralist-label {
  font-size: 10px;
  opacity: .7;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.fiae-oralist-name { font-size: 13px; }

/* Comments */
textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--fiae-border);
  border-radius: 5px;
  font-size: 14px;
  resize: vertical;
  box-sizing: border-box;
}
textarea:focus {
  outline: none;
  border-color: var(--fiae-navy);
  box-shadow: 0 0 0 3px rgba(26,60,94,.1);
}

/* Actions */
.fiae-actions {
  background: var(--fiae-light);
  border: 1px solid var(--fiae-border);
  border-top: none;
  padding: 20px 28px;
  border-radius: 0 0 var(--radius) var(--radius);
  text-align: center;
}
.fiae-btn-primary {
  background: var(--fiae-navy);
  color: #fff;
  border: none;
  padding: 13px 36px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 6px;
  cursor: pointer;
  transition: background .2s, transform .1s;
}
.fiae-btn-primary:hover  { background: #0f2640; }
.fiae-btn-primary:active { transform: scale(.98); }
.fiae-disclaimer {
  font-size: 12px;
  color: var(--fiae-hint);
  margin: 10px 0 0;
}

/* Notices */
.fiae-success {
  background: #d4edda;
  border: 1px solid #b0dab9;
  border-radius: var(--radius);
  padding: 16px 20px;
  color: var(--fiae-green);
  font-weight: 600;
  margin-bottom: 20px;
  text-align: center;
  font-size: 15px;
}
.fiae-error-msg {
  background: #fde8e8;
  border: 1px solid #f5c6c6;
  border-radius: var(--radius);
  padding: 12px 16px;
  color: var(--fiae-red);
  margin-bottom: 16px;
  font-size: 13px;
}
.fiae-error {
  padding: 20px;
  background: #fde8e8;
  border-radius: var(--radius);
  color: var(--fiae-red);
}

/* Responsive */
@media (max-width: 640px) {
  .fiae-wrap  { margin: 0; }
  .fiae-row   { flex-direction: column; }
  .fiae-meta-bar { flex-wrap: wrap; }
  .fiae-meta-item { flex: 1 1 50%; }
  .fiae-header { padding: 18px 16px 14px; }
  .fiae-header h1 { font-size: 16px; }
  .fiae-section { padding: 16px; }
}
