/* The approved form layer inherits the active MedFix theme; it does not style printed reports. */
.mf-form-page.fi-page {
    --mf-control-height: 38px; --mf-control-radius: 8px;
    --mf-form-line: var(--cmms-border, var(--border, #E4E9F0));
    --mf-form-surface: var(--cmms-surface, var(--bg-card, #fff));
    --mf-form-text: var(--cmms-text, var(--text-1, #0E1F38));
    --mf-form-muted: var(--cmms-muted, var(--text-2, #5A6A80));
    --mf-form-shadow: 0 1px 2px rgba(14,31,56,.04), 0 6px 20px -8px rgba(14,31,56,.12);
    --mf-form-bar-shadow: 0 -6px 20px rgba(14,31,56,.05);
    --mf-form-scrim: rgb(14 31 56 / .45);
    inline-size: 100%; max-inline-size: 1080px !important; margin-inline: auto !important;
    color: var(--mf-form-text); font-family: 'Plus Jakarta Sans','IBM Plex Sans Arabic',sans-serif;
    padding-block-end: calc(var(--mf-form-bar-height, 100px) + 24px) !important;
}
[dir=rtl] .mf-form-page.fi-page { font-family: 'IBM Plex Sans Arabic','Plus Jakarta Sans',sans-serif; }
.mf-form-page.fi-page > section { gap: 18px !important; }
.mf-form-page.fi-page .fi-header-heading { font-size: 22px !important; line-height: 1.45; font-weight: 700 !important; }
.mf-form-page.fi-page .fi-header-subheading { font-size: 13px !important; line-height: 1.7; }
.mf-form-page.fi-page .fi-form { gap: 18px !important; min-inline-size: 0; }
.mf-form-page.fi-page .mf-form-fields > .fi-fo-component-ctn { gap: 18px !important; }
.mf-form-page.fi-page .fi-fo-component-ctn { gap: 14px 16px !important; min-inline-size: 0; }
.mf-form-page.fi-page .fi-section, .mf-form-page.fi-page .mf-form-fields--simple {
    border: 1px solid var(--mf-form-line) !important; border-radius: 16px !important;
    background: var(--mf-form-surface) !important; box-shadow: var(--mf-form-shadow) !important;
    margin-block: 0 !important; min-inline-size: 0; overflow: visible;
}
.mf-form-page.fi-page .mf-form-fields--simple { padding: 18px 20px; }
.mf-form-page.fi-page .fi-section-header {
    padding: 18px 20px 0 !important; background: transparent !important; border: 0 !important;
    min-block-size: 0 !important; gap: 8px !important;
}
.mf-form-page.fi-page .fi-section-header::before { display: none !important; }
.mf-form-page.fi-page .fi-section-header-icon { display: none !important; }
.mf-form-page.fi-page .fi-section-header-heading {
    font-size: 16px !important; font-weight: 700 !important; color: var(--mf-form-text) !important;
    text-transform: none !important; letter-spacing: normal !important;
}
.mf-form-page.fi-page .fi-section-header-description { font-size: 12.5px !important; color: var(--mf-form-muted) !important; line-height: 1.6 !important; }
.mf-form-page.fi-page .fi-section-content { padding: 14px 20px 18px !important; }
.mf-form-page.fi-page .fi-section:not(:has(> .fi-section-header)) .fi-section-content { padding-block-start: 18px !important; }
.mf-form-page.fi-page .fi-collapsed > .fi-section-header { padding-block-end: 18px !important; }
.mf-form-page.fi-page .fi-section-content-ctn { border: 0 !important; }
.mf-form-page.fi-page .fi-fo-field-wrp {
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    padding: 0 !important; box-shadow: none !important; min-inline-size: 0;
}
.mf-form-page.fi-page .fi-fo-field-wrp-label { font-size: 12.5px !important; font-weight: 600 !important; color: var(--mf-form-muted) !important; }
.mf-form-page.fi-page .fi-fo-field-wrp-helper-text { color: var(--mf-form-muted) !important; font-size: 12px !important; line-height: 1.6; }
.mf-form-page.fi-page .fi-fo-field-wrp-error-message { font-size: 12px !important; }
.mf-form-page.fi-page .fi-input-wrp:has(input[readonly]):not(:has(.fi-fo-date-time-picker)) { border-color: transparent !important; background: transparent !important; box-shadow: none !important; }
.mf-form-page.fi-page input[readonly] { font-weight: 600; }
.mf-form-page.fi-page textarea { min-block-size: 68px !important; }
.mf-form-page.fi-page .fi-fo-toggle, .mf-form-page.fi-page .medfix-pro-toggle { flex-shrink: 0; }
.mf-form-page.fi-page .fi-fo-repeater { gap: 10px !important; }
.mf-form-page.fi-page .fi-fo-repeater > ul > div { gap: 0 !important; }
.mf-form-page.fi-page .fi-fo-repeater-item {
    border: 0 !important; border-block-end: 1px solid var(--mf-form-line) !important;
    border-radius: 0 !important; background: transparent !important; box-shadow: none !important;
}
.mf-form-page.fi-page .fi-fo-repeater-item-header { padding: 8px 0 !important; background: transparent !important; }
.mf-form-page.fi-page .fi-fo-repeater-item-content { border: 0 !important; padding: 8px 0 12px !important; }
.mf-form-page.fi-page .mf-form-table-wrap { min-inline-size: 0; }
.mf-form-page.fi-page .mf-form-table { inline-size: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.mf-form-page.fi-page .mf-form-table th { text-align: start; color: var(--mf-form-muted); font-size: 12px; font-weight: 600; padding: 10px 8px; background: var(--bg-2); border-block-end: 1px solid var(--mf-form-line); }
.mf-form-page.fi-page .mf-form-table td { padding: 10px 8px; vertical-align: top; border-block-end: 1px solid var(--mf-form-line); overflow-wrap: anywhere; }
.mf-form-page.fi-page .mf-form-table .mf-row-index { inline-size: 38px; white-space: nowrap; color: var(--mf-form-muted); text-align: center; }
.mf-form-page.fi-page .mf-form-table .mf-row-actions { inline-size: 44px; }
.mf-form-page.fi-page .mf-row-actions > div { display: flex; gap: 4px; flex-wrap: wrap; }
.mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp-label:not(:has(button,input)) {
    position: absolute !important; inline-size: 1px !important; block-size: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip-path: inset(50%); white-space: nowrap; border: 0 !important;
}
.mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp > div { gap: 0 !important; }
.mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp-helper-text { font-size: 11px !important; }
.mf-form-page.fi-page .mf-form-table .fi-fo-placeholder { min-block-size: 38px; display: flex; align-items: center; }
.mf-form-page.fi-page .mf-form-table .fi-fo-toggle-wrp { min-block-size: 38px; }
.mf-form-page.fi-page .mf-form-add { margin-block-start: 10px; display: flex; justify-content: flex-start; }
.mf-form-page.fi-page .mf-form-errors { border: 1px solid var(--danger); border-inline-start-width: 3px; border-radius: 12px; background: var(--danger-bg); color: var(--danger-text); padding: 14px 18px; }
.mf-form-page.fi-page .mf-form-errors h2 { font-size: 14px; font-weight: 700; }
.mf-form-page.fi-page .mf-form-errors ul { padding-inline-start: 18px; margin-block-start: 6px; font-size: 13px; }
.mf-form-page.fi-page .mf-form-errors a { text-decoration: underline; text-underline-offset: 3px; }
.mf-form-page.fi-page .mf-form-disclosure { border-radius: 999px; font-size: 11px; font-weight: 600; padding: 3px 8px; color: var(--mf-form-muted); background: var(--bg-2); white-space: normal; }
.mf-form-page.fi-page .mf-form-actions {
    position: fixed; inset-block-end: 0; inset-inline-start: var(--mf-form-inset); inline-size: var(--mf-form-width, 100%);
    z-index: 20; padding: 12px 0 max(12px, env(safe-area-inset-bottom));
    background: var(--mf-form-surface); border-block-start: 1px solid var(--mf-form-line);
    box-shadow: var(--mf-form-bar-shadow);
}
.mf-form-page.fi-page .mf-form-actions__inner { display: flex; align-items: center; gap: 16px; padding-inline: 16px; }
.mf-form-page.fi-page .mf-form-actions__status { flex: 1; font-size: 12px; color: var(--mf-form-muted); }
.mf-form-page.fi-page .mf-form-dirty { color: var(--warn-text); }
.mf-form-page.fi-page .mf-form-actions .fi-ac { gap: 8px !important; flex-wrap: wrap; justify-content: flex-end; }
.mf-form-page.fi-page .mf-form-actions .fi-btn { min-block-size: 38px; font-size: 12.5px; border-radius: 8px; }
.mf-form-page.fi-page :focus-visible { outline: 2px solid var(--medfix-action-accent); outline-offset: 2px; }
.mf-form-page.fi-page .mf-form-actions [hidden], .mf-form-page.fi-page [x-cloak] { display: none !important; }
/* Standard 1.1: the narrow layout follows the form's own width (fields and action bar are size
   containers), so phones, narrow windows and side panels reflow alike. Neither container may hold
   fixed-position UI: layout containment would anchor it to the container. */
.mf-form-page.fi-page .mf-form-fields { container: mf-form / inline-size; }
.mf-form-page.fi-page .mf-form-actions { container: mf-bar / inline-size; }
html:has(.mf-form-page) { scroll-padding-block: 80px calc(var(--mf-form-bar-height, 100px) + 16px); }
@media (max-width: 767px) {
    .mf-form-page.fi-page .fi-header-heading { font-size: 20px !important; }
}
@container mf-bar (max-width: 640px) {
    .mf-form-page.fi-page .mf-form-actions__inner { flex-wrap: wrap; gap: 6px; padding-inline: 8px; }
    .mf-form-page.fi-page .mf-form-actions__status { flex-basis: 100%; }
    .mf-form-page.fi-page .mf-form-actions .fi-ac { inline-size: 100%; }
    .mf-form-page.fi-page .mf-form-actions .fi-btn { min-block-size: 44px; }
}
@container mf-form (max-width: 640px) {
    .mf-form-page.fi-page .mf-form-fields > * { --mf-control-height: 44px; }
    .mf-form-page.fi-page .fi-fo-component-ctn { grid-template-columns: minmax(0, 1fr) !important; }
    .mf-form-page.fi-page .fi-fo-component-ctn > div { grid-column: 1 / -1 !important; }
    .mf-form-page.fi-page .fi-section-header { padding-inline: 14px !important; }
    .mf-form-page.fi-page .fi-section-content { padding-inline: 14px !important; }
    .mf-form-page.fi-page .mf-form-fields--simple { padding-inline: 14px; }
    .mf-form-page.fi-page .mf-form-table, .mf-form-page.fi-page .mf-form-table tbody { display: block; }
    .mf-form-page.fi-page .mf-form-table thead { position: absolute; inline-size: 1px; block-size: 1px; clip-path: inset(50%); overflow: hidden; }
    .mf-form-page.fi-page .mf-form-table tr { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; padding-block: 14px; border-block-end: 1px solid var(--mf-form-line); }
    .mf-form-page.fi-page .mf-form-table td { display: block; grid-column: 1; padding: 0; border: 0; min-inline-size: 0; }
    .mf-form-page.fi-page .mf-form-table .mf-row-index { display: none; }
    .mf-form-page.fi-page .mf-form-table .mf-row-actions { grid-column: 2; grid-row: 1; }
    .mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp-label { position: static !important; inline-size: auto !important; block-size: auto !important; overflow: visible !important; clip-path: none; white-space: normal; margin: 0 !important; }
    .mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp > div { gap: 5px !important; }
    .mf-form-page.fi-page .fi-btn, .mf-form-page.fi-page .fi-icon-btn, .mf-form-page.fi-page .fi-fo-toggle-wrp { min-block-size: 44px; }
    .mf-form-page.fi-page .fi-icon-btn { min-inline-size: 44px; }
    .mf-form-page.fi-page .fi-fo-checkbox-list { grid-template-columns: minmax(0, 1fr) !important; }
    .mf-form-page.fi-page .choices__list--dropdown .choices__item { min-block-size: 44px; display: flex; align-items: center; }
    .mf-form-page.fi-page .choices__item > .choices__button { min-inline-size: 32px; min-block-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.mf-form-page) { scroll-behavior: auto !important; }
    .mf-form-page.fi-page *, .mf-form-page.fi-page *::before, .mf-form-page.fi-page *::after { transition: none !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* In-app unsaved-changes dialog (theme tokens only). */
.mf-form-page.fi-page .mf-form-leave {
    inline-size: min(420px, calc(100% - 32px)); padding: 20px; border: 1px solid var(--mf-form-line); border-radius: 16px;
    background: var(--mf-form-surface); color: var(--mf-form-text); box-shadow: var(--mf-form-shadow);
}
.mf-form-page.fi-page .mf-form-leave::backdrop { background: var(--mf-form-scrim, rgb(14 31 56 / .45)); }
.mf-form-page.fi-page .mf-form-leave h2 { margin: 0 0 6px; font-size: 16px; font-weight: 700; }
.mf-form-page.fi-page .mf-form-leave p { margin: 0 0 16px; color: var(--mf-form-muted); font-size: 13.5px; line-height: 1.7; }
.mf-form-page.fi-page .mf-form-leave__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mf-form-page.fi-page .mf-form-leave .fi-btn { min-block-size: 44px; }

/* Override legacy page-width rules only inside the shared form shell. */
.fi-main .mf-form-page.fi-page { inline-size:100% !important; max-inline-size:1080px !important; max-width:1080px !important; margin-inline:auto !important; }
.fi-main .mf-form-page.fi-page > section { gap:18px !important; }
.mf-form-page.fi-page .mf-form-table .mf-col-flag { inline-size:140px; }
.mf-form-page.fi-page .mf-form-table .mf-col-number { inline-size:95px; }
.mf-form-page.fi-page .mf-form-table .mf-col-money { inline-size:210px; }
@container mf-form (max-width:640px) {
 .mf-form-page.fi-page .fi-fo-field-wrp:has(.fi-fo-toggle) .fi-fo-field-wrp-label { min-block-size:44px; display:inline-flex; align-items:center; }
}

@container mf-form (max-width:640px) {
 .fi-main .mf-form-page.fi-page .mf-form-table .fi-fo-field-wrp-label {
  position:static !important; inline-size:auto !important; block-size:auto !important; overflow:visible !important;
  clip-path:none; white-space:normal; margin:0 !important;
 }
}

.mf-form-page.fi-page .mf-form-choice { display:flex; flex-wrap:wrap; gap:4px; min-block-size:38px; align-items:stretch; }
.mf-form-page.fi-page .mf-form-choice__option { position:relative; display:flex; margin:0; cursor:pointer; }
.mf-form-page.fi-page .mf-form-choice input { position:absolute; opacity:0; inline-size:1px; block-size:1px; }
.mf-form-page.fi-page .mf-form-choice__option > span { display:flex; align-items:center; justify-content:center; border:1px solid var(--mf-form-line); border-radius:7px; padding:6px 10px; font-size:12px; font-weight:600; color:var(--mf-form-muted); }
.mf-form-page.fi-page .mf-form-choice__option:has(input:checked) > span { color:var(--medfix-link-accent); border-color:var(--medfix-action-accent); background:var(--accent-light); }
.mf-form-page.fi-page .mf-form-choice__option:has(input:checked) > span[data-value=failed] { color:var(--danger-text); border-color:var(--danger); background:var(--danger-bg); }
.mf-form-page.fi-page .mf-form-choice__option:has(input:focus-visible) > span { outline:2px solid var(--medfix-action-accent); outline-offset:2px; }
.mf-form-page.fi-page .mf-form-choice__option:has(input:disabled) { opacity:.65; cursor:default; }
@container mf-form (max-width:640px) { .mf-form-page.fi-page .mf-form-choice__option > span { min-block-size:44px; } }

/* Compact payment notes stay editable without expanding every installment into a card. */
.mf-form-page.fi-page .mf-form-table textarea { min-block-size:38px !important; }
@container mf-form (max-width:640px) { .mf-form-page.fi-page .mf-form-table textarea { min-block-size:44px !important; } }

/* Document editing and modal details inherit the panel theme, never the printed page. */
.mf-led {
    min-inline-size: 0; border: 1px solid var(--cmms-border); border-radius: 16px;
    overflow: hidden; background: var(--cmms-surface); color: var(--cmms-text);
    box-shadow: 0 1px 2px rgba(14,31,56,.04), 0 6px 20px -8px rgba(14,31,56,.12);
}
.mf-led__bar { display:flex; flex-wrap:wrap; gap:4px; align-items:center; padding:8px; border-bottom:1px solid var(--cmms-border); background:var(--cmms-bg); }
.mf-led__grp { display:flex; flex-wrap:wrap; gap:4px; padding-inline-end:4px; border-inline-end:1px solid var(--cmms-border); min-inline-size:0; }
.mf-led__grp:last-child { border:0; }
.mf-led__btn { inline-size:38px; block-size:38px; display:grid; place-items:center; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--cmms-text); cursor:pointer; font-size:14px; line-height:1; }
.mf-led__btn:hover { background:var(--cmms-surface); border-color:var(--cmms-border); }
.mf-led__btn svg { inline-size:18px; block-size:18px; }
.mf-led__sel { block-size:38px; max-inline-size:100%; border:1px solid var(--cmms-border); border-radius:8px; background:var(--cmms-surface); color:var(--cmms-text); font:inherit; font-size:13px; padding-inline:8px; }
.mf-led__color { inline-size:38px; block-size:38px; padding:4px; border:1px solid var(--cmms-border); border-radius:8px; background:var(--cmms-surface); cursor:pointer; }
.mf-led__page { min-block-size:360px; max-block-size:70vh; overflow:auto; padding:18px 20px; font:inherit; font-size:15px; line-height:1.75; color:var(--cmms-text); overflow-wrap:anywhere; }
.mf-led__page:focus-visible { outline:2px solid var(--medfix-action-accent); outline-offset:-3px; }
.mf-led__btn:focus-visible, .mf-led__sel:focus-visible, .mf-led__color:focus-visible { outline:2px solid var(--medfix-action-accent); outline-offset:2px; }
.mf-led__page p { margin:0 0 .5em; }
.mf-led__page h2 { font-size:1.25em; margin:.2em 0 .5em; }
.mf-led__page h3 { font-size:1.1em; margin:.2em 0 .5em; }
.mf-led__page ul, .mf-led__page ol { margin:0 0 .5em; padding-inline-start:1.6em; }
.mf-led__page table { inline-size:100%; border-collapse:collapse; margin:0 0 .6em; }
.mf-led__page td, .mf-led__page th { border:1px solid var(--cmms-border); padding:4px 8px; min-inline-size:40px; }
.mf-led__page hr { border:0; border-top:1px solid var(--cmms-border); margin:.8em 0; }
.mf-audit-detail { display:grid; gap:18px; min-inline-size:0; color:var(--cmms-text); font-size:14px; }
.mf-audit-detail dl { display:grid; grid-template-columns:minmax(90px,max-content) minmax(0,1fr); gap:8px 14px; margin:0; }
.mf-audit-detail dt { color:var(--cmms-muted); font-weight:600; }
.mf-audit-detail dd { margin:0; overflow-wrap:anywhere; }
.mf-audit-detail__scroll { overflow-x:auto; max-inline-size:100%; border:1px solid var(--cmms-border); border-radius:16px; }
.mf-audit-detail__scroll:focus-visible { outline:2px solid var(--medfix-action-accent); outline-offset:2px; }
.mf-audit-detail table { inline-size:100%; min-inline-size:480px; table-layout:fixed; border-collapse:collapse; }
.mf-audit-detail th { background:var(--cmms-bg); text-align:start; font-weight:700; }
.mf-audit-detail th, .mf-audit-detail td { padding:12px; border-bottom:1px solid var(--cmms-border); vertical-align:top; overflow-wrap:anywhere; }
.mf-audit-detail tr:last-child td { border-bottom:0; }
@media(max-width:767px) {
    .mf-led__btn, .mf-led__color { inline-size:44px; block-size:44px; }
    .mf-led__sel { block-size:44px; }
    .mf-led__page { padding:18px 14px; }
    .mf-audit-detail dl { grid-template-columns:minmax(0,1fr); gap:4px; }
    .mf-audit-detail dd { margin-block-end:8px; }
    .fi-modal-window .fi-modal-close-btn, .fi-modal-window .fi-modal-footer .fi-btn { min-inline-size:44px; min-block-size:44px; }
}
