/* File Services only — lightweight dark/neon theme */
body.file-service-open .portal-view {
  --fs-bg: #080b0d;
  --fs-panel: #101518;
  --fs-panel-2: #151b1e;
  --fs-line: #293135;
  --fs-text: #f5f7f7;
  --fs-muted: #8f9b9f;
  --fs-neon: #d5001c;
  background: var(--fs-bg);
  color: var(--fs-text);
}

body.file-service-open .portal-sidebar {
  background: #090d0f;
  border-right: 1px solid rgba(213, 0, 28, .34);
  box-shadow: 12px 0 38px rgba(213, 0, 28, .05);
}

body.file-service-open .portal-main {
  background:
    radial-gradient(circle at 88% 6%, rgba(213, 0, 28, .10), transparent 24rem),
    var(--fs-bg);
}

body.file-service-open .portal-topbar {
  background: rgba(8, 11, 13, .96);
  border-color: var(--fs-line);
  color: var(--fs-text);
  backdrop-filter: none;
}

body.file-service-open .preview-badge,
body.file-service-open .section-kicker,
body.file-service-open .form-section-title span,
body.file-service-open .file-service-sidebar-copy > span {
  color: #ff314b;
}

body.file-service-open .portal-content {
  background: transparent;
}

body.file-service-open .panel-heading h2,
body.file-service-open .panel-heading h3,
body.file-service-open .form-section h3,
body.file-service-open .file-service-sidebar-copy h2 {
  color: var(--fs-text);
}

body.file-service-open .panel-heading > p,
body.file-service-open .file-service-sidebar-copy > p,
body.file-service-open .file-service-flow {
  display: none !important;
}

body.file-service-open .form-section,
body.file-service-open .form-submit-row {
  background: var(--fs-panel);
  border-color: var(--fs-line);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .24);
}

body.file-service-open .form-section + .form-section,
body.file-service-open .form-submit-row {
  border-top-color: rgba(213, 0, 28, .20);
}

body.file-service-open label > span,
body.file-service-open .field-label,
body.file-service-open .upload-copy strong {
  color: #d7dddf;
}

body.file-service-open input,
body.file-service-open select,
body.file-service-open textarea {
  background: #090d0f;
  border-color: #30393d;
  color: var(--fs-text);
  box-shadow: none;
}

body.file-service-open input::placeholder,
body.file-service-open textarea::placeholder {
  color: #667276;
}

body.file-service-open input:focus,
body.file-service-open select:focus,
body.file-service-open textarea:focus {
  border-color: var(--fs-neon);
  box-shadow: 0 0 0 3px rgba(213, 0, 28, .13), 0 0 18px rgba(213, 0, 28, .08);
  outline: none;
}

body.file-service-open select option {
  background: #101518;
  color: #fff;
}

body.file-service-open .vehicle-choice,
body.file-service-open .service-choice,
body.file-service-open .upload-zone {
  background: var(--fs-panel-2);
  border-color: var(--fs-line);
  color: var(--fs-text);
}

body.file-service-open .vehicle-choice:hover,
body.file-service-open .service-choice:hover,
body.file-service-open .upload-zone:hover,
body.file-service-open .vehicle-choice.selected,
body.file-service-open .service-choice.selected {
  border-color: var(--fs-neon);
  box-shadow: 0 0 20px rgba(213, 0, 28, .10);
}

body.file-service-open .vehicle-choice small,
body.file-service-open .service-choice small,
body.file-service-open .upload-zone p,
body.file-service-open .upload-zone em {
  color: var(--fs-muted);
}

body.file-service-open .submit-request,
body.file-service-open .button-primary {
  background: var(--fs-neon);
  color: #fff;
  border-color: var(--fs-neon);
  box-shadow: 0 0 24px rgba(213, 0, 28, .22);
}

body.file-service-open .submit-request:hover,
body.file-service-open .button-primary:hover {
  background: #f00020;
  transform: translateY(-1px);
}

body.file-service-open .file-service-sidebar-copy ol {
  margin-top: 22px;
}

body.file-service-open .file-service-sidebar-copy li {
  border-color: rgba(255,255,255,.08);
}

body.file-service-open .file-service-sidebar-copy li b {
  color: #ff314b;
}

body.file-service-open .file-service-sidebar-copy > div {
  background: rgba(213, 0, 28, .05);
  border-color: rgba(213, 0, 28, .22);
}

@media (max-width: 860px) {
  body.file-service-open .portal-sidebar {
    border-right: 0;
    border-top: 1px solid rgba(213, 0, 28, .30);
    box-shadow: 0 -12px 38px rgba(213, 0, 28, .04);
  }

  body.file-service-open .portal-main {
    background: var(--fs-bg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.file-service-open * {
    transition: none !important;
  }
}
