/* ON.17 — thin, calm and clear. Readability comes from contrast and spacing, not boldness. */
:root {
  --text: #ffffff;
  --sub: #f2f4f8;
  --muted: #ccd3dc;
  --muted2: #aab3bf;
  --jdl-content-weight: 360;
  --jdl-ui-weight: 410;
  --jdl-label-weight: 400;
  --jdl-strong-weight: 480;
  --jdl-content-line: 1.57;
  --jdl-content-letter: 0em;
  --jdl-ui-letter: -0.002em;
  --jdl-title-letter: -0.012em;
}

html[data-app-theme="soft"] {
  --text: #15191f;
  --sub: #29313a;
  --muted: #515d6a;
  --muted2: #6b7682;
}

html[data-font-weight="regular"] {
  --jdl-content-weight: 360;
  --jdl-ui-weight: 410;
  --jdl-label-weight: 400;
  --jdl-strong-weight: 480;
}

html[data-font-weight="medium"] {
  --jdl-content-weight: 400;
  --jdl-ui-weight: 450;
  --jdl-label-weight: 440;
  --jdl-strong-weight: 520;
}

html[data-font-weight="bold"] {
  --jdl-content-weight: 440;
  --jdl-ui-weight: 500;
  --jdl-label-weight: 490;
  --jdl-strong-weight: 570;
}

body {
  font-weight: var(--jdl-content-weight);
  line-height: var(--jdl-content-line);
  letter-spacing: var(--jdl-content-letter);
  -webkit-font-smoothing: antialiased;
}

button {
  font-weight: var(--jdl-ui-weight) !important;
  letter-spacing: var(--jdl-ui-letter) !important;
}

strong {
  font-weight: var(--jdl-strong-weight) !important;
}

.app-shell h1,
.app-shell h2,
.app-shell h3,
.jdl-unified-title,
.journal-detail-title,
.journal-manage-title,
.settlement-edit-title,
.memo-header h2 {
  font-weight: var(--jdl-strong-weight) !important;
  letter-spacing: var(--jdl-title-letter) !important;
}

.topbar h1 .brand-name {
  font-weight: 500;
}

.topbar h1 .brand-version-small,
.today-date {
  font-weight: 370;
}

#orderInput {
  font-weight: 370 !important;
  letter-spacing: .002em !important;
}

#orderInput::placeholder,
input::placeholder,
textarea::placeholder {
  font-weight: 350;
  letter-spacing: 0;
}

.soft-btn,
.quick-actions button {
  font-weight: 410 !important;
}

.primary-btn,
.memo-primary-btn,
.confirm-actions .primary-btn,
.fare-direct-actions .primary-btn {
  font-weight: 480 !important;
}

.paste-help,
.required-help,
.settings-note,
.month-help,
.source-note,
.modal-desc,
.dialog-desc,
.help-text {
  font-weight: 350 !important;
  letter-spacing: .002em !important;
}

.bottom-nav-btn {
  font-weight: 390 !important;
  letter-spacing: 0 !important;
}

/* Pages, fields and selection lists */
dialog.jdl-page-dialog .jdl-page-head .jdl-unified-title,
dialog.jdl-page-dialog .jdl-page-head .journal-detail-title {
  font-weight: 500 !important;
  letter-spacing: -.012em !important;
}

dialog.jdl-page-dialog .required-grid label,
dialog.jdl-page-dialog .journal-edit-grid label,
dialog.jdl-page-dialog .fare-direct-grid label,
dialog.jdl-page-dialog #confirmEdit .required-grid label,
dialog.jdl-page-dialog #journalDetailEdit .journal-edit-grid label {
  font-weight: 390 !important;
  letter-spacing: 0 !important;
}

dialog.jdl-page-dialog .jdl-unified-field,
dialog.jdl-page-dialog .required-grid input,
dialog.jdl-page-dialog .required-grid select,
dialog.jdl-page-dialog .journal-edit-grid input,
dialog.jdl-page-dialog .journal-edit-grid select,
dialog.jdl-page-dialog .fare-direct-grid input,
dialog.jdl-page-dialog .fare-direct-grid select {
  font-weight: 360 !important;
  letter-spacing: 0 !important;
}

dialog.jdl-page-dialog .inline-choice-panel::before,
dialog.jdl-page-dialog .inline-choice-item {
  font-weight: 440 !important;
}

#confirmDialog #confirmView .result-list dt {
  font-weight: 380 !important;
}

#confirmDialog #confirmView .result-list dd {
  font-weight: 360 !important;
}

/* Settings */
.settings-page-body .settings-accordion .settings-section-head {
  font-weight: 440 !important;
}

.settings-page-body .settings-section-head > span {
  font-weight: 360;
}

.settings-page-body .settings-panel button {
  font-weight: 410 !important;
}

/* Journal, result and money values */
.result-list dt,
.detail-info-label,
.table-head,
.journal-raw-title,
.journal-settlement-head,
.label-title,
.journal-edit-grid label,
.journal-option-row > span:first-child {
  font-weight: 390 !important;
  letter-spacing: 0 !important;
}

.result-list dd,
.detail-info-value,
.entry-row,
.month-item,
.month-row,
.journal-detail-summary,
.journal-detail-raw,
.journal-raw {
  font-weight: 360;
  letter-spacing: 0 !important;
}

.money-line strong,
.total-line strong,
.journal-total-text strong,
.month-detail-total strong,
.entry-row .amount,
#rAmount,
#mFare,
#journalDetailAmount {
  font-weight: 500 !important;
}

/* Memo */
.memo-header h2 {
  font-weight: 500 !important;
}

.memo-header p,
.memo-card-preview,
.memo-card-time,
.memo-save-status {
  font-weight: 350;
  letter-spacing: .002em;
}

.memo-card-title,
#memoTitleInput {
  font-weight: 460 !important;
  letter-spacing: -.006em !important;
}

#memoContentInput,
#memoDateInput {
  font-weight: 360 !important;
  letter-spacing: .002em !important;
}

.memo-month-nav strong,
.memo-date-editor-head strong,
.memo-day,
.memo-day.is-selected {
  font-weight: 440 !important;
}

/* Information menu and cards */
.info-notice strong,
.info-warning strong,
.info-menu-btn strong,
.info-section-title,
.info-fold > summary strong,
.info-mini-title,
.info-seal-location strong,
.info-link-list strong {
  font-weight: 460 !important;
  letter-spacing: -.006em;
}

.info-notice span,
.info-warning span,
.info-menu-btn small,
.info-fold > summary small,
.info-inline-note,
.info-data-block p,
.info-link-list small {
  font-weight: 350;
  letter-spacing: .002em;
}

.info-menu-btn em,
.info-phone-row > span,
.info-ops-list dt,
.info-carrier-groups strong,
.info-time-groups > div > strong,
.info-time-groups span b,
.info-seal-location span,
.info-data-block > span,
.info-inspector-list span {
  font-weight: 390 !important;
}

.info-phone-row a,
.info-inspector-list a,
.info-official-link {
  font-weight: 440 !important;
  letter-spacing: 0;
}

.info-ops-list dd,
.info-carrier-groups span,
.info-time-groups > div > span,
.info-inspector-list strong {
  font-weight: 360 !important;
  letter-spacing: 0;
}

.info-today-line > b,
.info-today-line > em {
  font-weight: 440 !important;
}

.info-deadline {
  font-weight: 480 !important;
}

/* Shuttle and admin screens also follow the same calm weight ceiling. */
.shuttle-confirm-dialog .result-list dt,
.shuttle-confirm-dialog .result-list dd,
.shuttle-confirm-dialog .jdl-select-line,
.jdl-picker-row,
.jdl-picker-actions button,
.admin-ui-toolbar button {
  font-weight: 410 !important;
}
