/* ==========================================================================
   DOS SCREEN & DATA ENTRY FORM STYLES: Classic (Authentic DataEase VGA Palette)
   ========================================================================== */
.dos-container {
  background: #000000;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6);
}

.dos-header {
  background: #000000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.dos-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #22c55e;
  box-shadow: 0 0 8px #22c55e;
  display: inline-block;
}

.dos-shell {
  width: 100%;
  container-type: inline-size;
  overflow-x: auto;
  overflow-y: visible;
  background: #000000;
  padding: 1.25rem;
  box-sizing: border-box;
}

/* All Other (Default Body Text & Screen Area) -> Brown (Intensified Yellow) / Black */
.dos-screen {
  display: block;
  width: 100%;
  min-width: 100%;
  min-height: calc(25 * 1.2em) !important;
  margin: 0;
  padding: 0;
  background-color: #000000;
  color: #ffff00;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace !important;
  font-size: clamp(14px, 1.8cqw, 36px) !important;
  line-height: 1.2em !important;
  letter-spacing: 0 !important;
  text-align: left;
  user-select: text;
  font-weight: bold;
}

.dos-line {
  display: flex;
  align-items: center;
  height: 1.2em !important;
  min-height: 1.2em !important;
  max-height: 1.2em !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2em !important;
  box-sizing: border-box;
  overflow: hidden;
}

/* All Other -> Brown (Intensified Yellow) / Black */
.dos-text {
  color: #ffff00;
  background-color: #000000;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace !important;
  font-size: inherit !important;
  line-height: 1.2em !important;
  height: 1.2em !important;
  display: inline-block;
  vertical-align: middle;
  white-space: pre;
  font-weight: bold;
}

/* Inline Text Style Codes (Authentic DataEase Text Escape Styles) */
.dos-text--c1,
.dos-text--l1,
.dos-text--nb,
.dos-text--nu,
.dos-text--ni,
.dos-text--ns1,
.dos-text--ns2,
.dos-text--i {
  color: #ffff00 !important; /* Yellow text on Black background */
  background-color: #000000 !important;
  font-weight: bold !important;
}

.dos-text--c2 {
  color: #ffffff !important; /* White text on Black background */
  background-color: #000000 !important;
  font-weight: bold !important;
}

.dos-text--c3 {
  color: #00ffff !important; /* Cyan text on Black background */
  background-color: #000000 !important;
  font-weight: bold !important;
}

.dos-text--c4 {
  color: #ff5555 !important; /* Red text on Black background */
  background-color: #000000 !important;
  font-weight: bold !important;
}

.dos-text--l2 {
  color: #000000 !important; /* Black text on Green background */
  background-color: #00aa00 !important;
  font-weight: bold !important;
}

.dos-text--l3 {
  color: #ffffff !important; /* White text on Blue background */
  background-color: #0000aa !important;
  font-weight: bold !important;
}

.dos-text--l4,
.dos-text--b {
  color: #ffffff !important; /* White text on Red background */
  background-color: #aa0000 !important;
  font-weight: bold !important;
}

.dos-text--u {
  color: #ffff00 !important; /* Yellow text on Blue background */
  background-color: #0000aa !important;
  font-weight: bold !important;
}

.dos-text--s1 {
  color: #000000 !important; /* Black text on Cyan background */
  background-color: #00aaaa !important;
  font-weight: bold !important;
}

.dos-text--s2 {
  color: #5555ff !important; /* Blue text on Black background */
  background-color: #000000 !important;
  font-weight: bold !important;
}

/* Title Area -> Brown (Intensified Yellow) / Black */
.dos-title,
.dos-header-title {
  color: #ffff00 !important;
  background-color: #000000 !important;
  font-weight: bold !important;
}

/* Cursor/Mode Area -> Cyan (Intensified Bright Cyan) / Black */
.dos-cursor,
.dos-mode,
.dos-status {
  color: #00ffff !important;
  background-color: #000000 !important;
  font-weight: bold !important;
}

/* Message Area -> Red (Intensified Bright Red) / Black */
.dos-message,
.dos-error {
  color: #ff5555 !important;
  background-color: #000000 !important;
  font-weight: bold !important;
}

/* Prompt Line -> Black / Green (Normal) */
.dos-prompt {
  color: #000000 !important;
  background-color: #00aa00 !important;
  font-weight: normal !important;
  padding: 0 4px !important;
}

/* Fields: Regular -> Brown (Intensified Yellow) / Blue */
.dos-field {
  display: inline-flex;
  align-items: center;
  height: 1.2em !important;
  max-height: 1.2em !important;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background-color: #0000aa !important;
  border-radius: 0 !important;
  vertical-align: middle;
}

.dos-field input,
.dos-field input.form-control,
.dos-field input.form-control-sm,
.dos-field--regular input {
  width: var(--field-width, 10ch) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 1.2em !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background-color: #0000aa !important;
  background-image: none !important;
  color: #ffff00 !important;
  caret-color: #ffff00 !important;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace !important;
  font-size: inherit !important;
  line-height: 1.2em !important;
  font-weight: bold !important;
  box-shadow: none !important;
}

/* Choice Fields (Dropdowns) -> Authentic DOS Look */
.dos-field select,
.dos-field select.form-select,
.dos-field select.form-select-sm,
.dos-field select.dos-select,
.dos-field--regular select {
  width: var(--field-width, 10ch) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 1.2em !important;
  padding: 0 14px 0 0 !important;
  margin: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background-color: #0000aa !important;
  color: #ffff00 !important;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace !important;
  font-size: inherit !important;
  line-height: 1.2em !important;
  font-weight: bold !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffff00' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 8px 6px !important;
  cursor: pointer;
  vertical-align: middle;
}

/* Fields: 0 = Normal (Regular) -> Yellow text / Blue background */
.dos-field--h0 input,
.dos-field--regular input {
  background-color: #0000aa !important;
  background-image: none !important;
  color: #ffff00 !important;
  caret-color: #ffff00 !important;
  font-weight: bold !important;
}

.dos-field--h0 select,
.dos-field--regular select {
  background-color: #0000aa !important;
  color: #ffff00 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffff00' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 1 = Highlight 1 -> White text / Red background */
.dos-field--h1,
.dos-field--h1 input,
.dos-field--highlight1 input,
.dos-field--h1.dos-field--numeric input,
.dos-field--h1 input.dos-input--numeric,
.dos-field--h1 input[data-numeric="true"] {
  background-color: #aa0000 !important;
  background-image: none !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: bold !important;
}

.dos-field--h1 select,
.dos-field--highlight1 select,
.dos-field--h1.dos-field--numeric select,
.dos-field--h1 select.dos-input--numeric,
.dos-field--h1 select[data-numeric="true"] {
  background-color: #aa0000 !important;
  color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffffff' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 2 = Highlight 2 (The Red One) -> White text / Red background */
.dos-field--h2,
.dos-field--h2 input,
.dos-field--highlight2 input,
.dos-field--h2.dos-field--numeric input,
.dos-field--h2 input.dos-input--numeric,
.dos-field--h2 input[data-numeric="true"] {
  background-color: #aa0000 !important;
  background-image: none !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: bold !important;
}

.dos-field--h2 select,
.dos-field--highlight2 select,
.dos-field--h2.dos-field--numeric select,
.dos-field--h2 select.dos-input--numeric,
.dos-field--h2 select[data-numeric="true"] {
  background-color: #aa0000 !important;
  color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffffff' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 3 = Highlight 3 -> Yellow text / Black background */
.dos-field--h3,
.dos-field--h3 input,
.dos-field--highlight3 input,
.dos-field--h3.dos-field--numeric input,
.dos-field--h3 input.dos-input--numeric,
.dos-field--h3 input[data-numeric="true"] {
  background-color: #000000 !important;
  background-image: none !important;
  color: #ffff00 !important;
  caret-color: #ffff00 !important;
  font-weight: bold !important;
}

.dos-field--h3 select,
.dos-field--highlight3 select,
.dos-field--h3.dos-field--numeric select,
.dos-field--h3 select.dos-input--numeric,
.dos-field--h3 select[data-numeric="true"] {
  background-color: #000000 !important;
  color: #ffff00 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffff00' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 4 = Highlight 4 -> Black text / Black background (Masked/Hidden) */
.dos-field--h4,
.dos-field--h4 input,
.dos-field--highlight4 input,
.dos-field--h4.dos-field--numeric input,
.dos-field--h4 input.dos-input--numeric,
.dos-field--h4 input[data-numeric="true"] {
  background-color: #000000 !important;
  background-image: none !important;
  color: #000000 !important;
  caret-color: #000000 !important;
  font-weight: normal !important;
}

.dos-field--h4 select,
.dos-field--highlight4 select,
.dos-field--h4.dos-field--numeric select,
.dos-field--h4 select.dos-input--numeric,
.dos-field--h4 select[data-numeric="true"] {
  background-color: #000000 !important;
  color: #000000 !important;
  font-weight: normal !important;
  background-image: none !important;
}

/* Fields: 5 = Highlight 5 -> White text / Cyan background */
.dos-field--h5,
.dos-field--h5 input,
.dos-field--highlight5 input,
.dos-field--h5.dos-field--numeric input,
.dos-field--h5 input.dos-input--numeric,
.dos-field--h5 input[data-numeric="true"] {
  background-color: #00aaaa !important;
  background-image: none !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: bold !important;
}

.dos-field--h5 select,
.dos-field--highlight5 select,
.dos-field--h5.dos-field--numeric select,
.dos-field--h5 select.dos-input--numeric,
.dos-field--h5 select[data-numeric="true"] {
  background-color: #00aaaa !important;
  color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffffff' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 6 = Highlight 6 -> Cyan text / Black background */
.dos-field--h6,
.dos-field--h6 input,
.dos-field--highlight6 input,
.dos-field--h6.dos-field--numeric input,
.dos-field--h6 input.dos-input--numeric,
.dos-field--h6 input[data-numeric="true"] {
  background-color: #000000 !important;
  background-image: none !important;
  color: #00ffff !important;
  caret-color: #00ffff !important;
  font-weight: bold !important;
}

.dos-field--h6 select,
.dos-field--highlight6 select,
.dos-field--h6.dos-field--numeric select,
.dos-field--h6 select.dos-input--numeric,
.dos-field--h6 select[data-numeric="true"] {
  background-color: #000000 !important;
  color: #00ffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%2300ffff' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 7 = Highlight 7 -> Red text / Black background */
.dos-field--h7,
.dos-field--h7 input,
.dos-field--highlight7 input,
.dos-field--h7.dos-field--numeric input,
.dos-field--h7 input.dos-input--numeric,
.dos-field--h7 input[data-numeric="true"] {
  background-color: #000000 !important;
  background-image: none !important;
  color: #ff0000 !important;
  caret-color: #ff0000 !important;
  font-weight: bold !important;
}

.dos-field--h7 select,
.dos-field--highlight7 select,
.dos-field--h7.dos-field--numeric select,
.dos-field--h7 select.dos-input--numeric,
.dos-field--h7 select[data-numeric="true"] {
  background-color: #000000 !important;
  color: #ff0000 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ff0000' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 8 = Highlight 8 -> Black text / Green background */
.dos-field--h8,
.dos-field--h8 input,
.dos-field--highlight8 input,
.dos-field--green input,
.dos-field--h8.dos-field--numeric input,
.dos-field--h8 input.dos-input--numeric,
.dos-field--h8 input[data-numeric="true"] {
  background-color: #00aa00 !important;
  background-image: none !important;
  color: #000000 !important;
  caret-color: #000000 !important;
  font-weight: bold !important;
}

.dos-field--h8 select,
.dos-field--highlight8 select,
.dos-field--green select,
.dos-field--h8.dos-field--numeric select,
.dos-field--h8 select.dos-input--numeric,
.dos-field--h8 select[data-numeric="true"] {
  background-color: #00aa00 !important;
  color: #000000 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23000000' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 9 = Highlight 9 -> White text / Magenta background */
.dos-field--h9,
.dos-field--h9 input,
.dos-field--highlight9 input,
.dos-field--magenta input,
.dos-field--h9.dos-field--numeric input,
.dos-field--h9 input.dos-input--numeric,
.dos-field--h9 input[data-numeric="true"] {
  background-color: #aa00aa !important;
  background-image: none !important;
  color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: bold !important;
}

.dos-field--h9 select,
.dos-field--highlight9 select,
.dos-field--magenta select,
.dos-field--h9.dos-field--numeric select,
.dos-field--h9 select.dos-input--numeric,
.dos-field--h9 select[data-numeric="true"] {
  background-color: #aa00aa !important;
  color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffffff' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Fields: 10 = Highlight 10 -> Yellow text / Blue background (Primary/Key) */
.dos-field--h10,
.dos-field--h10 input,
.dos-field--highlight10 input,
.dos-field--h10.dos-field--numeric input,
.dos-field--h10 input.dos-input--numeric,
.dos-field--h10 input[data-numeric="true"] {
  background-color: #0000aa !important;
  background-image: none !important;
  color: #ffff00 !important;
  caret-color: #ffff00 !important;
  font-weight: bold !important;
}

.dos-field--h10 select,
.dos-field--highlight10 select,
.dos-field--h10.dos-field--numeric select,
.dos-field--h10 select.dos-input--numeric,
.dos-field--h10 select[data-numeric="true"] {
  background-color: #0000aa !important;
  color: #ffff00 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'%3E%3Cpath fill='%23ffff00' d='M0 0h8L4 6z'/%3E%3C/svg%3E") !important;
}

/* Numeric Input Fields -> Right-aligned */
.dos-field--numeric input,
.dos-field input[data-numeric="true"],
.dos-field input.dos-input--numeric,
input.dos-input--numeric,
.dos-field--numeric select,
.dos-field select[data-numeric="true"],
.dos-field select.dos-input--numeric {
  text-align: right !important;
}

.dos-field input:focus,
.dos-field select:focus {
  background-color: #0000d5 !important;
  color: #ffff00 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Dropdown Option List Styling */
.dos-field select option {
  background-color: #0000aa !important;
  color: #ffff00 !important;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace !important;
  font-size: 14px;
  font-weight: bold;
}

.dos-field select option:hover,
.dos-field select option:checked {
  background-color: #0000d5 !important;
  color: #ffff00 !important;
}

/* Menu Highlighting -> Light Gray (Intensified White) / Blue */
#sideMenu .nav-link.dos-active-action,
#sideMenu .nav-link.active:not([data-bs-toggle="collapse"]),
.dos-menu-highlight {
  background-color: #0000aa !important;
  color: #ffffff !important;
  font-weight: bold !important;
  border-left: 4px solid #5555ff !important;
  border-radius: 2px !important;
}

/* Key Names -> Light Gray (Intensified White) / Red */
.dos-key-name,
.dos-function-key {
  color: #ffffff !important;
  background-color: #aa0000 !important;
  font-weight: bold !important;
  padding: 0 4px !important;
  border-radius: 2px !important;
}

.dos-code-block {
  background: var(--bg-card, #ffffff);
  color: var(--text-primary, #0f172a);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 1rem;
  font-family: 'Consolas', 'Courier New', 'Lucida Console', Monaco, monospace;
  font-size: 13px;
  line-height: 1.5;
  white-space: pre-wrap;
  max-height: 500px;
  overflow-y: auto;
}

[data-theme="dark"] .dos-code-block {
  background: #020617;
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

/* ==========================================================================
   MODERN BOOTSTRAP 5 FORM VIEW STYLES
   ========================================================================== */
.modern-shell {
  width: 100%;
  overflow-x: auto;
  background: #f1f5f9;
  border-radius: 0.5rem;
  box-sizing: border-box;
}

.modern-screen {
  display: block;
  width: 100%;
  min-width: 100%;
}

.modern-form-wrapper {
  background-color: transparent;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #1e293b;
}

.modern-form-wrapper .card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1) !important;
}

.modern-form-wrapper .card-header {
  background-color: #ffffff !important;
  border-bottom: 1px solid #f1f5f9 !important;
}

.modern-form-wrapper .form-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #475569;
  margin-bottom: 0.35rem;
}

.modern-form-wrapper .form-control,
.modern-form-wrapper .form-select {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0.375rem !important;
  font-size: 0.875rem !important;
  padding: 0.375rem 0.625rem !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.5 !important;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.modern-form-wrapper .form-control:focus,
.modern-form-wrapper .form-select:focus {
  background-color: #ffffff !important;
  color: #0f172a !important;
  border-color: #3b82f6 !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25) !important;
  outline: 0 !important;
}

.modern-form-wrapper .form-control[readonly] {
  background-color: #f8fafc !important;
  color: #64748b !important;
  border-color: #e2e8f0 !important;
  cursor: not-allowed;
}

.modern-form-wrapper .form-control.text-end {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
}

.modern-form-wrapper .table {
  color: #1e293b !important;
}

.modern-form-wrapper .table thead th {
  background-color: #f8fafc !important;
  color: #475569 !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.modern-form-wrapper .table tbody td {
  border-color: #f1f5f9 !important;
  background-color: #ffffff !important;
}

.modern-form-wrapper .table-striped tbody tr:nth-of-type(odd) td {
  background-color: #f8fafc !important;
}

.modern-form-wrapper .table-hover tbody tr:hover td {
  background-color: #f1f5f9 !important;
}

/* Include Custom Dark-Themed Form Styles */
@import url('./customform.css');

