/* GENERATED ecosystem design tokens. Do not hand-edit. */
:root{
  --mofa-core-palette-canvas-light:#f7f8fb;
  --mofa-core-palette-surface-light:#ffffff;
  --mofa-core-palette-surface-soft-light:#f4f5f9;
  --mofa-core-palette-surface-hover-light:#f0effa;
  --mofa-core-palette-text-light:#171928;
  --mofa-core-palette-text-muted-light:#6f7586;
  --mofa-core-palette-border-light:#e5e7ee;
  --mofa-core-palette-border-strong-light:#d6d9e3;
  --mofa-core-palette-primary-light:#5b36d6;
  --mofa-core-palette-primary-hover-light:#4f2bc7;
  --mofa-core-palette-primary-soft-light:#f0ecff;
  --mofa-core-palette-success-light:#188554;
  --mofa-core-palette-success-soft-light:#eaf8f1;
  --mofa-core-palette-warning-light:#a7660a;
  --mofa-core-palette-warning-soft-light:#fff6df;
  --mofa-core-palette-danger-light:#c63f4b;
  --mofa-core-palette-danger-soft-light:#fff0f1;
  --mofa-core-palette-info-light:#2466b5;
  --mofa-core-palette-info-soft-light:#eef6ff;
  --mofa-core-palette-shell-nav-light:#17142c;
  --mofa-core-palette-shell-nav-text-light:#d6d3e6;
  --mofa-core-palette-shell-nav-muted-light:#8e88aa;
  --mofa-core-palette-shell-nav-active-light:#8e6cf4;
  --mofa-core-palette-canvas-dark:#111319;
  --mofa-core-palette-surface-dark:#171a22;
  --mofa-core-palette-surface-soft-dark:#1e2230;
  --mofa-core-palette-surface-hover-dark:#252a39;
  --mofa-core-palette-text-dark:#f1f3f7;
  --mofa-core-palette-text-muted-dark:#9ca4b4;
  --mofa-core-palette-border-dark:#2a2f3b;
  --mofa-core-palette-border-strong-dark:#394150;
  --mofa-core-palette-primary-dark:#8f74ef;
  --mofa-core-palette-primary-hover-dark:#9c84f4;
  --mofa-core-palette-primary-soft-dark:#29213f;
  --mofa-core-palette-success-dark:#55b889;
  --mofa-core-palette-success-soft-dark:#173126;
  --mofa-core-palette-warning-dark:#e0a64d;
  --mofa-core-palette-warning-soft-dark:#382c18;
  --mofa-core-palette-danger-dark:#eb7882;
  --mofa-core-palette-danger-soft-dark:#382027;
  --mofa-core-palette-info-dark:#6da6e8;
  --mofa-core-palette-info-soft-dark:#182c43;
  --mofa-core-palette-shell-nav-dark:#0f1119;
  --mofa-core-palette-shell-nav-text-dark:#e4e7f0;
  --mofa-core-palette-shell-nav-muted-dark:#959daf;
  --mofa-core-palette-shell-nav-active-dark:#9b82f3;
  --mofa-core-font-sans:"Vazirmatn",Tahoma,Arial,sans-serif;
  --mofa-core-font-mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  --mofa-core-font-size-xs:12px;
  --mofa-core-font-size-sm:13px;
  --mofa-core-font-size-md:14px;
  --mofa-core-font-size-lg:16px;
  --mofa-core-font-size-xl:18px;
  --mofa-core-font-size-2xl:22px;
  --mofa-core-font-size-3xl:28px;
  --mofa-core-font-weight-regular:400;
  --mofa-core-font-weight-medium:500;
  --mofa-core-font-weight-semibold:600;
  --mofa-core-font-weight-bold:700;
  --mofa-core-font-weight-extrabold:800;
  --mofa-core-font-weight-black:900;
  --mofa-core-line-height-tight:1.45;
  --mofa-core-line-height-normal:1.75;
  --mofa-core-space-0:0;
  --mofa-core-space-1:4px;
  --mofa-core-space-2:8px;
  --mofa-core-space-3:12px;
  --mofa-core-space-4:16px;
  --mofa-core-space-5:20px;
  --mofa-core-space-6:24px;
  --mofa-core-space-7:28px;
  --mofa-core-space-8:32px;
  --mofa-core-space-10:40px;
  --mofa-core-space-12:48px;
  --mofa-core-space-16:64px;
  --mofa-core-radius-none:0;
  --mofa-core-radius-xs:6px;
  --mofa-core-radius-sm:8px;
  --mofa-core-radius-md:12px;
  --mofa-core-radius-lg:16px;
  --mofa-core-radius-xl:20px;
  --mofa-core-radius-pill:999px;
  --mofa-core-border-width:1px;
  --mofa-core-control-height-sm:36px;
  --mofa-core-control-height-compact:40px;
  --mofa-core-control-height-md:44px;
  --mofa-core-control-height-lg:48px;
  --mofa-core-hit-target:44px;
  --mofa-core-field-height:46px;
  --mofa-core-field-radius:7px;
  --mofa-core-field-padding-y:10px;
  --mofa-core-field-padding-x:var(--mofa-core-space-3);
  --mofa-core-field-font-size:var(--mofa-core-font-size-xs);
  --mofa-core-field-border-width:var(--mofa-core-border-width);
  --mofa-core-field-label-bg:var(--mofa-core-color-surface);
  --mofa-core-add-field-height:32px;
  --mofa-core-add-field-hit-inset:calc((var(--mofa-core-hit-target) - var(--mofa-core-add-field-height))/2);
  --mofa-core-add-field-padding-x:9px;
  --mofa-core-add-field-icon-size:13px;
  --mofa-core-add-field-radius:var(--mofa-core-field-radius);
  --mofa-core-dialog-close-size:var(--mofa-core-hit-target);
  --mofa-core-dialog-close-icon-size:13px;
  --mofa-core-editor-row-gap:var(--mofa-core-space-4);
  --mofa-core-form-grid-gap-x:var(--mofa-core-space-3);
  --mofa-core-form-grid-gap-y:var(--mofa-core-space-3);
  --mofa-core-form-section-gap:var(--mofa-core-space-4);
  --mofa-core-form-addon-gap:7px;
  --mofa-core-form-addon-margin:var(--mofa-core-space-3);
  --mofa-core-optional-panel-gap:var(--mofa-core-space-3);
  --mofa-core-editor-column-gap:var(--mofa-core-space-3);
  --mofa-core-dialog-body-pad:var(--mofa-core-space-5);
  --mofa-core-dialog-footer-pad-y:var(--mofa-core-space-3);
  --mofa-core-dialog-width-compact:520px;
  --mofa-core-dialog-width-default:680px;
  --mofa-core-dialog-width-wide:900px;
  --mofa-core-dialog-width-wizard:920px;
  --mofa-core-dialog-width-composer:1180px;
  --mofa-core-dialog-max-height:88dvh;
  --mofa-core-dialog-header-pad-y:18px;
  --mofa-core-dialog-header-pad-x:22px;
  --mofa-core-textarea-min-height:112px;
  --mofa-core-badge-height:26px;
  --mofa-core-icon-size-sm:16px;
  --mofa-core-icon-size-md:18px;
  --mofa-core-icon-size-lg:20px;
  --mofa-core-icon-size-xl:24px;
  --mofa-core-page-max:1500px;
  --mofa-core-page-wide:var(--mofa-core-page-max);
  --mofa-core-page-standard:1180px;
  --mofa-core-page-compact:760px;
  --mofa-core-breakpoint-xs:480px;
  --mofa-core-breakpoint-sm:640px;
  --mofa-core-breakpoint-md:768px;
  --mofa-core-breakpoint-lg:960px;
  --mofa-core-breakpoint-xl:1200px;
  --mofa-core-breakpoint-2xl:1500px;
  --mofa-core-shell-sidebar-width:224px;
  --mofa-core-shell-sidebar-compact-width:72px;
  --mofa-core-shell-topbar-height:68px;
  --mofa-core-shell-sidebar-padding:var(--mofa-core-space-3);
  --mofa-core-shell-nav-item-height:36px;
  --mofa-core-shell-nav-icon-size:18px;
  --mofa-core-shell-nav-group-gap:10px;
  --mofa-core-shell-nav-item-gap:2px;
  --mofa-core-color-canvas:var(--mofa-core-palette-canvas-light);
  --mofa-core-color-surface:var(--mofa-core-palette-surface-light);
  --mofa-core-color-surface-soft:var(--mofa-core-palette-surface-soft-light);
  --mofa-core-color-surface-hover:var(--mofa-core-palette-surface-hover-light);
  --mofa-core-color-text:var(--mofa-core-palette-text-light);
  --mofa-core-color-text-muted:var(--mofa-core-palette-text-muted-light);
  --mofa-core-color-border:var(--mofa-core-palette-border-light);
  --mofa-core-color-border-strong:var(--mofa-core-palette-border-strong-light);
  --mofa-core-color-primary:var(--mofa-core-palette-primary-light);
  --mofa-core-color-primary-hover:var(--mofa-core-palette-primary-hover-light);
  --mofa-core-color-primary-soft:var(--mofa-core-palette-primary-soft-light);
  --mofa-core-color-on-primary:var(--mofa-core-palette-surface-light);
  --mofa-core-color-success:var(--mofa-core-palette-success-light);
  --mofa-core-color-success-soft:var(--mofa-core-palette-success-soft-light);
  --mofa-core-color-warning:var(--mofa-core-palette-warning-light);
  --mofa-core-color-warning-soft:var(--mofa-core-palette-warning-soft-light);
  --mofa-core-color-danger:var(--mofa-core-palette-danger-light);
  --mofa-core-color-danger-soft:var(--mofa-core-palette-danger-soft-light);
  --mofa-core-color-info:var(--mofa-core-palette-info-light);
  --mofa-core-color-info-soft:var(--mofa-core-palette-info-soft-light);
  --mofa-core-color-focus:rgba(91,54,214,.18);
  --mofa-core-color-overlay:rgba(15,17,25,.48);
  --mofa-core-color-shell-nav:var(--mofa-core-palette-shell-nav-light);
  --mofa-core-color-shell-nav-text:var(--mofa-core-palette-shell-nav-text-light);
  --mofa-core-color-shell-nav-muted:var(--mofa-core-palette-shell-nav-muted-light);
  --mofa-core-color-shell-nav-border:rgba(255,255,255,.08);
  --mofa-core-color-shell-nav-hover:rgba(255,255,255,.055);
  --mofa-core-color-shell-nav-active:var(--mofa-core-palette-shell-nav-active-light);
  --mofa-core-shadow-none:none;
  --mofa-core-shadow-xs:0 1px 1px rgba(26,24,44,.04);
  --mofa-core-shadow-sm:0 1px 2px rgba(26,24,44,.05);
  --mofa-core-shadow-md:0 8px 28px rgba(26,24,44,.07);
  --mofa-core-shadow-popover:0 16px 44px rgba(26,24,44,.14);
  --mofa-core-shadow-dialog:0 26px 78px rgba(26,24,44,.2);
  --mofa-core-focus-ring:0 0 0 3px var(--mofa-core-color-focus);
  --mofa-core-opacity-disabled:.5;
  --mofa-core-opacity-muted:.72;
  --mofa-core-motion-duration-fast:120ms;
  --mofa-core-motion-duration-standard:160ms;
  --mofa-core-motion-duration-slow:220ms;
  --mofa-core-motion-easing:ease;
  --mofa-core-motion-fast:var(--mofa-core-motion-duration-fast) var(--mofa-core-motion-easing);
  --mofa-core-motion-standard:var(--mofa-core-motion-duration-standard) var(--mofa-core-motion-easing);
  --mofa-core-z-base:0;
  --mofa-core-z-raised:10;
  --mofa-core-z-sticky:100;
  --mofa-core-z-dropdown:500;
  --mofa-core-z-overlay:900;
  --mofa-core-z-modal:2100;
  --mofa-core-z-toast:2200;
}
html[data-theme="dark"]{
  --mofa-core-color-canvas:var(--mofa-core-palette-canvas-dark);
  --mofa-core-color-surface:var(--mofa-core-palette-surface-dark);
  --mofa-core-color-surface-soft:var(--mofa-core-palette-surface-soft-dark);
  --mofa-core-color-surface-hover:var(--mofa-core-palette-surface-hover-dark);
  --mofa-core-color-text:var(--mofa-core-palette-text-dark);
  --mofa-core-color-text-muted:var(--mofa-core-palette-text-muted-dark);
  --mofa-core-color-border:var(--mofa-core-palette-border-dark);
  --mofa-core-color-border-strong:var(--mofa-core-palette-border-strong-dark);
  --mofa-core-color-primary:var(--mofa-core-palette-primary-dark);
  --mofa-core-color-primary-hover:var(--mofa-core-palette-primary-hover-dark);
  --mofa-core-color-primary-soft:var(--mofa-core-palette-primary-soft-dark);
  --mofa-core-color-success:var(--mofa-core-palette-success-dark);
  --mofa-core-color-success-soft:var(--mofa-core-palette-success-soft-dark);
  --mofa-core-color-warning:var(--mofa-core-palette-warning-dark);
  --mofa-core-color-warning-soft:var(--mofa-core-palette-warning-soft-dark);
  --mofa-core-color-danger:var(--mofa-core-palette-danger-dark);
  --mofa-core-color-danger-soft:var(--mofa-core-palette-danger-soft-dark);
  --mofa-core-color-info:var(--mofa-core-palette-info-dark);
  --mofa-core-color-info-soft:var(--mofa-core-palette-info-soft-dark);
  --mofa-core-color-focus:rgba(143,116,239,.24);
  --mofa-core-color-overlay:rgba(4,6,12,.72);
  --mofa-core-color-shell-nav:var(--mofa-core-palette-shell-nav-dark);
  --mofa-core-color-shell-nav-text:var(--mofa-core-palette-shell-nav-text-dark);
  --mofa-core-color-shell-nav-muted:var(--mofa-core-palette-shell-nav-muted-dark);
  --mofa-core-color-shell-nav-border:rgba(255,255,255,.09);
  --mofa-core-color-shell-nav-hover:rgba(255,255,255,.07);
  --mofa-core-color-shell-nav-active:var(--mofa-core-palette-shell-nav-active-dark);
  --mofa-core-shadow-xs:0 1px 1px rgba(0,0,0,.15);
  --mofa-core-shadow-sm:0 1px 2px rgba(0,0,0,.18);
  --mofa-core-shadow-md:0 8px 28px rgba(0,0,0,.20);
  --mofa-core-shadow-popover:0 18px 50px rgba(0,0,0,.38);
  --mofa-core-shadow-dialog:0 28px 84px rgba(0,0,0,.52);
}
@media(max-width:960px){
  :root{
    --mofa-core-control-height-md:48px;
    --mofa-core-hit-target:48px;
  }
}
/* Core owns font delivery for Admin, Auth and module UI. Vazirmatn: SIL OFL 1.1. */
@font-face{font-family:"Vazirmatn";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/Vazirmatn-variable.ttf") format("truetype")}
/* MOFA Site canonical component runtime.
 * Semantic contract: mofa.component-foundation.v1 (MOFA One 1.0.12 reference).
 * Runtime is product-local; no cross-subdomain CSS dependency.
 * Legacy Site selectors remain compatibility adapters until semantic migration patches.
 */
/* Button / icon button */
.mofa-ds-button,.mofa-ds-icon-button{
  box-sizing:border-box;appearance:none;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border-strong);
  background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text);
  font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-md);font-weight:var(--mofa-core-font-weight-bold);line-height:1;
  text-decoration:none;cursor:pointer;transition:background var(--mofa-core-motion-standard),border-color var(--mofa-core-motion-standard),color var(--mofa-core-motion-standard),box-shadow var(--mofa-core-motion-standard),opacity var(--mofa-core-motion-standard)
}
.mofa-ds-button{min-height:var(--mofa-core-control-height-md);padding-inline:var(--mofa-core-space-4);border-radius:var(--mofa-core-radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--mofa-core-space-2);white-space:nowrap}
.mofa-ds-button:hover,.mofa-ds-icon-button:hover{background:var(--mofa-core-color-surface-hover);border-color:color-mix(in srgb,var(--mofa-core-color-primary) 24%,var(--mofa-core-color-border-strong))}
.mofa-ds-button--primary{background:var(--mofa-core-color-primary);border-color:var(--mofa-core-color-primary);color:var(--mofa-core-color-on-primary)}
.mofa-ds-button--primary:hover{background:var(--mofa-core-color-primary-hover);border-color:var(--mofa-core-color-primary-hover)}
.mofa-ds-button--secondary{background:var(--mofa-core-color-surface);border-color:var(--mofa-core-color-border-strong);color:var(--mofa-core-color-text)}
.mofa-ds-button--danger{color:var(--mofa-core-color-danger);border-color:color-mix(in srgb,var(--mofa-core-color-danger) 28%,var(--mofa-core-color-border-strong));background:var(--mofa-core-color-surface)}
.mofa-ds-button--danger:hover{background:var(--mofa-core-color-danger-soft);border-color:color-mix(in srgb,var(--mofa-core-color-danger) 42%,var(--mofa-core-color-border-strong))}
.mofa-ds-button--ghost{border-color:transparent;background:transparent}
.mofa-ds-button--sm{min-height:var(--mofa-core-control-height-sm);padding-inline:var(--mofa-core-space-3);font-size:var(--mofa-core-font-size-sm)}
.mofa-ds-button--lg{min-height:var(--mofa-core-control-height-lg);padding-inline:var(--mofa-core-space-5);font-size:var(--mofa-core-font-size-lg)}
.mofa-ds-button--block{width:100%}
.mofa-ds-button[disabled],.mofa-ds-button[aria-disabled="true"],.mofa-ds-icon-button[disabled],.mofa-ds-icon-button[aria-disabled="true"]{opacity:var(--mofa-core-opacity-disabled);cursor:not-allowed;pointer-events:none}
.mofa-ds-button[aria-busy="true"]{cursor:progress}
.mofa-ds-icon-button{width:var(--mofa-core-hit-target);height:var(--mofa-core-hit-target);padding:0;border-radius:var(--mofa-core-radius-sm);display:inline-grid;place-items:center}
.mofa-ds-icon-button svg,.mofa-ds-button svg{width:var(--mofa-core-icon-size-md);height:var(--mofa-core-icon-size-md);flex:0 0 var(--mofa-core-icon-size-md);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Field / input / select / textarea */
.mofa-ds-form{display:flex;flex-direction:column;gap:var(--mofa-core-editor-row-gap)}
.mofa-ds-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--mofa-core-editor-column-gap);row-gap:var(--mofa-core-editor-row-gap)}
.mofa-ds-field{position:relative;display:flex;flex-direction:column;gap:var(--mofa-core-space-2);min-width:0}
.mofa-ds-field__label{color:var(--mofa-core-color-text);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-sm);font-weight:var(--mofa-core-font-weight-bold);line-height:1.6}
.mofa-ds-field__hint{color:var(--mofa-core-color-text-muted);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-medium);line-height:1.7}
.mofa-ds-field__error{color:var(--mofa-core-color-danger);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-semibold);line-height:1.7}
.mofa-ds-input,.mofa-ds-select,.mofa-ds-textarea{box-sizing:border-box;width:100%;min-height:var(--mofa-core-field-height);padding:var(--mofa-core-field-padding-y) var(--mofa-core-field-padding-x);border:var(--mofa-core-field-border-width) solid var(--mofa-core-color-border-strong);border-radius:var(--mofa-core-field-radius);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-field-font-size);font-weight:var(--mofa-core-font-weight-medium);line-height:1.55;outline:0;box-shadow:none;transition:border-color var(--mofa-core-motion-fast),background var(--mofa-core-motion-fast)}
.mofa-ds-textarea{min-height:max(82px,var(--mofa-core-textarea-min-height));resize:vertical;line-height:var(--mofa-core-line-height-normal)}
.mofa-ds-input::placeholder,.mofa-ds-textarea::placeholder{color:var(--mofa-core-color-text-muted);opacity:var(--mofa-core-opacity-muted)}
.mofa-ds-input:focus,.mofa-ds-select:focus,.mofa-ds-textarea:focus,.mofa-ds-input:focus-visible,.mofa-ds-select:focus-visible,.mofa-ds-textarea:focus-visible{outline:0;border-width:var(--mofa-core-field-border-width);border-color:var(--mofa-core-color-primary);box-shadow:none}
.mofa-ds-input[disabled],.mofa-ds-select[disabled],.mofa-ds-textarea[disabled]{background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text-muted);opacity:var(--mofa-core-opacity-disabled);cursor:not-allowed}
.mofa-ds-field--error :is(.mofa-ds-input,.mofa-ds-select,.mofa-ds-textarea),:is(.mofa-ds-input,.mofa-ds-select,.mofa-ds-textarea)[aria-invalid="true"]{border-color:var(--mofa-core-color-danger)}
/* Floating label: idle label lives inside the control; focus/value moves it onto the top border. */
.mofa-ds-field--floating{position:relative;display:block;min-width:0;margin:0;padding:0}
.mofa-ds-field--floating>.mofa-ds-field__legacy-label{display:none}
.mofa-ds-floating-label{position:absolute;z-index:2;inset-inline-start:var(--mofa-core-field-padding-x);top:50%;max-width:calc(100% - 52px);padding:0 var(--mofa-core-space-1);background:transparent;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-sm)/1.2 var(--mofa-core-font-sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateY(-50%);transform-origin:center right;pointer-events:none;transition:top var(--mofa-core-motion-fast),transform var(--mofa-core-motion-fast),font-size var(--mofa-core-motion-fast),color var(--mofa-core-motion-fast),background var(--mofa-core-motion-fast)}
.mofa-ds-field--floating:is(:focus-within,.is-filled)>.mofa-ds-floating-label{top:0;transform:translateY(-50%);padding-inline:6px;background:var(--mofa-core-field-label-bg);color:var(--mofa-core-color-primary);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-bold)}
.mofa-ds-field--floating :is(.mofa-ds-input,.mofa-ds-select,.mofa-ds-textarea){padding-top:11px;padding-bottom:9px}
.mofa-ds-field--floating :is(.mofa-ds-input,.mofa-ds-textarea)::placeholder{color:transparent;opacity:0;transition:opacity var(--mofa-core-motion-fast)}
.mofa-ds-field--floating:is(:focus-within,.is-filled) :is(.mofa-ds-input,.mofa-ds-textarea)::placeholder{color:var(--mofa-core-color-text-muted);opacity:.7}
.mofa-ds-field__required{margin-inline-start:3px;color:var(--mofa-core-color-danger);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-extrabold)}
.mofa-ds-field__clear{position:absolute;z-index:3;inset-inline-end:1px;top:50%;width:var(--mofa-core-hit-target);height:var(--mofa-core-hit-target);display:none;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--mofa-core-color-text-muted);font:700 15px/1 var(--mofa-core-font-sans);cursor:pointer;touch-action:manipulation;transform:translateY(-50%)}
.mofa-ds-field--floating.is-filled>.mofa-ds-field__clear{display:grid}.mofa-ds-field__clear:hover{background:var(--mofa-core-color-surface-hover);color:var(--mofa-core-color-text)}.mofa-ds-field__clear:focus-visible{outline:0;color:var(--mofa-core-color-primary);box-shadow:none}
.mofa-ds-field--floating:has(>.mofa-ds-field__clear) :is(.mofa-ds-input,.mofa-ds-textarea){padding-inline-end:52px}
/* Composite field trigger (search-select/date-time): same field geometry and one-border focus contract. */
.mofa-ds-composite-field{box-sizing:border-box;width:100%;min-height:var(--mofa-core-field-height);padding:var(--mofa-core-field-padding-y) var(--mofa-core-field-padding-x);border:var(--mofa-core-field-border-width) solid var(--mofa-core-color-border-strong);border-radius:var(--mofa-core-field-radius);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text);box-shadow:none;outline:0;transition:border-color var(--mofa-core-motion-fast),background var(--mofa-core-motion-fast)}
.mofa-ds-composite-field:is(:focus,:focus-visible),:is(.mofa-search-select.open,.mofa-jdatetime.open,.contact-jalali.open)>.mofa-ds-composite-field{border-width:var(--mofa-core-field-border-width);border-color:var(--mofa-core-color-primary);box-shadow:none;outline:0}
/* S4-03 Field Foundation V2 — canonical data-entry fallback / floating-label hardening */
.mofa-ds-field--floating.is-select>.mofa-ds-floating-label,.mofa-ds-field--floating.is-composite>.mofa-ds-floating-label{top:0;transform:translateY(-50%);padding-inline:6px;background:var(--mofa-core-field-label-bg);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-bold)}
.mofa-ds-field--floating.is-select:focus-within>.mofa-ds-floating-label,.mofa-ds-field--floating.is-composite:focus-within>.mofa-ds-floating-label{color:var(--mofa-core-color-primary)}
.mofa-ds-field--floating.is-error>.mofa-ds-floating-label,.mofa-ds-field--floating:has([aria-invalid="true"])>.mofa-ds-floating-label{color:var(--mofa-core-color-danger)}
.mofa-ds-field--floating.is-textarea:not(:focus-within):not(.is-filled)>.mofa-ds-floating-label{top:20px}
.mofa-ds-field--floating.is-composite>.mofa-search-select,.mofa-ds-field--floating.is-composite>.mofa-jdatetime{width:100%}
.mofa-ds-field--floating.is-composite .mofa-ds-composite-field{min-height:var(--mofa-core-field-height)}
.mofa-ds-field--floating.is-composite .mofa-ds-composite-field>.mofa-ds-field__legacy-label{display:none}

/* Optional-field reveal / add-more action — one plus only, no decorative icon language. */
.mofa-ds-add-field{box-sizing:border-box;appearance:none;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;min-height:var(--mofa-core-add-field-height);padding:3px var(--mofa-core-add-field-padding-x);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-add-field-radius);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text-muted);box-shadow:none;font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-bold);line-height:1.35;white-space:nowrap;cursor:pointer;transition:border-color var(--mofa-core-motion-fast),background var(--mofa-core-motion-fast),color var(--mofa-core-motion-fast)}
.mofa-ds-add-field::before{content:"+";box-sizing:border-box;display:inline-grid;place-items:center;width:var(--mofa-core-add-field-icon-size);height:var(--mofa-core-add-field-icon-size);border:var(--mofa-core-border-width) solid currentColor;border-radius:4px;font-size:10px;font-weight:var(--mofa-core-font-weight-extrabold);line-height:1;opacity:.72}
.mofa-ds-add-field> :is(svg,i,.icon,.contact-addon-mark,[aria-hidden="true"]){display:none}.mofa-ds-add-field::after{content:"";position:absolute;inset-block:calc(var(--mofa-core-add-field-hit-inset)*-1);inset-inline:0}
.mofa-ds-add-field:hover,.mofa-ds-add-field:is(.is-active,.active,[aria-pressed="true"],[aria-expanded="true"]){border-color:color-mix(in srgb,var(--mofa-core-color-primary) 34%,var(--mofa-core-color-border));background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary)}
.mofa-ds-add-field:focus-visible{outline:0;border-color:var(--mofa-core-color-primary);box-shadow:none}.mofa-ds-add-field[disabled],.mofa-ds-add-field[aria-disabled="true"]{opacity:var(--mofa-core-opacity-disabled);cursor:not-allowed;pointer-events:none}
/* Checkbox / radio */
.mofa-ds-check{display:inline-flex;align-items:center;gap:var(--mofa-core-space-2);min-height:var(--mofa-core-hit-target);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-md);font-weight:var(--mofa-core-font-weight-semibold);line-height:1.5;color:var(--mofa-core-color-text);cursor:pointer}
.mofa-ds-check input:is([type="checkbox"],[type="radio"]){width:var(--mofa-core-icon-size-md);height:var(--mofa-core-icon-size-md);margin:0;accent-color:var(--mofa-core-color-primary)}
.mofa-ds-check:has(input:disabled){opacity:var(--mofa-core-opacity-disabled);cursor:not-allowed}

/* Switch */
.mofa-ds-switch{position:relative;display:inline-flex;align-items:center;gap:var(--mofa-core-space-2);min-height:var(--mofa-core-hit-target);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-md);color:var(--mofa-core-color-text);cursor:pointer}
.mofa-ds-switch input{position:absolute;opacity:0;pointer-events:none}
.mofa-ds-switch__track{box-sizing:border-box;width:42px;height:24px;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-border-strong);position:relative;transition:background var(--mofa-core-motion-standard),box-shadow var(--mofa-core-motion-standard)}
.mofa-ds-switch__track::after{content:"";position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:var(--mofa-core-color-surface);box-shadow:var(--mofa-core-shadow-sm);transition:transform var(--mofa-core-motion-standard)}
.mofa-ds-switch input:checked + .mofa-ds-switch__track{background:var(--mofa-core-color-primary)}
.mofa-ds-switch input:checked + .mofa-ds-switch__track::after{transform:translateX(-18px)}
.mofa-ds-switch input:focus-visible + .mofa-ds-switch__track{box-shadow:var(--mofa-core-focus-ring)}
.mofa-ds-switch:has(input:disabled){opacity:var(--mofa-core-opacity-disabled);cursor:not-allowed}

/* Card */
.mofa-ds-card{box-sizing:border-box;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);padding:var(--mofa-core-space-4);color:var(--mofa-core-color-text);box-shadow:var(--mofa-core-shadow-none);min-width:0}
.mofa-ds-card--raised{box-shadow:var(--mofa-core-shadow-md)}
.mofa-ds-card--soft{background:var(--mofa-core-color-surface-soft)}
.mofa-ds-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mofa-core-space-3);margin-bottom:var(--mofa-core-space-3)}
.mofa-ds-card__title{margin:0;font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-lg);font-weight:var(--mofa-core-font-weight-extrabold);line-height:1.55;color:var(--mofa-core-color-text)}
.mofa-ds-card__meta{color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-sm)}

/* Badge / chip */
.mofa-ds-badge,.mofa-ds-chip{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--mofa-core-space-1);min-height:var(--mofa-core-badge-height);padding:var(--mofa-core-space-1) var(--mofa-core-space-2);border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text-muted);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-bold);line-height:1.4;white-space:nowrap}
.mofa-ds-badge--success{background:var(--mofa-core-color-success-soft);color:var(--mofa-core-color-success)}
.mofa-ds-badge--warning{background:var(--mofa-core-color-warning-soft);color:var(--mofa-core-color-warning)}
.mofa-ds-badge--danger{background:var(--mofa-core-color-danger-soft);color:var(--mofa-core-color-danger)}
.mofa-ds-badge--info{background:var(--mofa-core-color-info-soft);color:var(--mofa-core-color-info)}
.mofa-ds-chip{border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text)}

/* Avatar / divider */
.mofa-ds-avatar{box-sizing:border-box;display:inline-grid;place-items:center;width:var(--mofa-core-control-height-md);height:var(--mofa-core-control-height-md);overflow:hidden;border-radius:50%;background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-sm);font-weight:var(--mofa-core-font-weight-extrabold);line-height:1}
.mofa-ds-avatar--sm{width:var(--mofa-core-control-height-sm);height:var(--mofa-core-control-height-sm);font-size:var(--mofa-core-font-size-xs)}
.mofa-ds-avatar--lg{width:var(--mofa-core-control-height-lg);height:var(--mofa-core-control-height-lg);font-size:var(--mofa-core-font-size-md)}
.mofa-ds-avatar img{width:100%;height:100%;object-fit:cover}
.mofa-ds-divider{box-sizing:border-box;width:100%;height:var(--mofa-core-border-width);border:0;background:var(--mofa-core-color-border);margin:var(--mofa-core-space-4) 0}

/* Alert */
.mofa-ds-alert{box-sizing:border-box;display:flex;align-items:flex-start;gap:var(--mofa-core-space-3);padding:var(--mofa-core-space-3) var(--mofa-core-space-4);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-sm);background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text);font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-md);font-weight:var(--mofa-core-font-weight-medium);line-height:var(--mofa-core-line-height-normal)}
.mofa-ds-alert--success{background:var(--mofa-core-color-success-soft);border-color:color-mix(in srgb,var(--mofa-core-color-success) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-success)}
.mofa-ds-alert--warning{background:var(--mofa-core-color-warning-soft);border-color:color-mix(in srgb,var(--mofa-core-color-warning) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-warning)}
.mofa-ds-alert--danger{background:var(--mofa-core-color-danger-soft);border-color:color-mix(in srgb,var(--mofa-core-color-danger) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-danger)}
.mofa-ds-alert--info{background:var(--mofa-core-color-info-soft);border-color:color-mix(in srgb,var(--mofa-core-color-info) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-info)}

/* Progress / skeleton / spinner */
.mofa-ds-progress{box-sizing:border-box;display:block;width:100%;height:var(--mofa-core-space-2);overflow:hidden;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-surface-soft)}
.mofa-ds-progress__bar{display:block;height:100%;width:var(--mofa-progress-value,0%);border-radius:inherit;background:var(--mofa-core-color-primary);transition:width var(--mofa-core-motion-standard)}
.mofa-ds-skeleton{display:block;min-height:var(--mofa-core-font-size-md);border-radius:var(--mofa-core-radius-xs);background:linear-gradient(90deg,var(--mofa-core-color-surface-soft),color-mix(in srgb,var(--mofa-core-color-surface-soft) 60%,var(--mofa-core-color-border)),var(--mofa-core-color-surface-soft));background-size:220% 100%;animation:mofa-ds-shimmer 1.4s linear infinite}
.mofa-ds-spinner{box-sizing:border-box;display:inline-block;width:var(--mofa-core-icon-size-lg);height:var(--mofa-core-icon-size-lg);border:2px solid color-mix(in srgb,currentColor 24%,transparent);border-top-color:currentColor;border-radius:50%;animation:mofa-ds-spin .8s linear infinite}
@keyframes mofa-ds-spin{to{transform:rotate(360deg)}}

/* Primitive focus contract */
:is(.mofa-ds-button,.mofa-ds-icon-button,.mofa-ds-check input):focus-visible{outline:0;box-shadow:var(--mofa-core-focus-ring);border-color:var(--mofa-core-color-primary)}

/* MOFA UI Canonical Primitive Components — END */

html.mofa-ds-overlay-open,html.mofa-ds-overlay-open body{overflow:hidden}


[data-mofa-required-group]{position:relative}.mofa-ds-required-group-note{grid-column:1/-1;margin:0 0 -4px;color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-semibold)}.mofa-ds-required-group-note::after{content:" *";color:var(--mofa-core-color-danger);font-weight:var(--mofa-core-font-weight-extrabold)}

/* S2-07 canonical dialog completion — retained audit continuity marker. */
/* S3-03 Dialog + Entity Editor Convergence — preserved contract marker */
/* S4-02 Dialog Shell + Header/Footer + Action Policy */
/* MOFA UI Canonical Complex Components & UX Patterns — START
 * These selectors are owned only by MOFA UI Core. Domains/products compose
 * them; domain surfaces compose them through canonical adapters.
 */

/* Tabs */
/* S3-02 Tabs + Selection Convergence — canonical single visual owner. */
.mofa-ds-tabs{box-sizing:border-box;display:flex;align-items:center;gap:var(--mofa-core-space-1);max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}
.mofa-ds-tabs::-webkit-scrollbar{display:none}
.mofa-ds-tabs--primary{width:100%;padding:var(--mofa-core-space-1);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);box-shadow:var(--mofa-core-shadow-xs)}
.mofa-ds-tabs--context{width:max-content;padding:var(--mofa-core-space-1);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface-soft)}
.mofa-ds-tabs--segmented{width:max-content;padding:3px;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface-soft)}
.mofa-ds-tab{position:relative;box-sizing:border-box;min-height:var(--mofa-core-hit-target);padding:0 var(--mofa-core-space-3);border:var(--mofa-core-border-width) solid transparent;border-radius:var(--mofa-core-radius-sm);background:transparent;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-bold) var(--mofa-core-font-size-md)/1 var(--mofa-core-font-sans);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--mofa-core-space-2);flex:0 0 auto;white-space:nowrap;cursor:pointer;transition:background var(--mofa-core-motion-standard),border-color var(--mofa-core-motion-standard),color var(--mofa-core-motion-standard),box-shadow var(--mofa-core-motion-standard)}
.mofa-ds-tabs--segmented>.mofa-ds-tab{padding-inline:var(--mofa-core-space-2);font-size:var(--mofa-core-font-size-sm)}
.mofa-ds-tab:hover{background:color-mix(in srgb,var(--mofa-core-color-primary) 5%,var(--mofa-core-color-surface));color:var(--mofa-core-color-text)}
.mofa-ds-tab:is([aria-selected="true"],[aria-current="page"],[aria-pressed="true"],.active){background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary);border-color:color-mix(in srgb,var(--mofa-core-color-primary) 22%,var(--mofa-core-color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mofa-core-color-primary) 7%,transparent)}
.mofa-ds-tabs--primary>.mofa-ds-tab:is([aria-selected="true"],[aria-current="page"],[aria-pressed="true"],.active)::after{content:"";position:absolute;inset-inline:var(--mofa-core-space-3);bottom:2px;height:2px;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-primary)}
.mofa-ds-tab__count{min-width:22px;height:22px;padding:0 6px;border-radius:var(--mofa-core-radius-pill);display:inline-grid;place-items:center;background:color-mix(in srgb,var(--mofa-core-color-text-muted) 9%,transparent);color:inherit;font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-extrabold);font-variant-numeric:tabular-nums}
.mofa-ds-tab:is([aria-selected="true"],[aria-current="page"],[aria-pressed="true"],.active)>.mofa-ds-tab__count{background:color-mix(in srgb,var(--mofa-core-color-primary) 12%,transparent)}
@media(max-width:768px){.mofa-ds-tabs--primary{width:calc(100% + (var(--mofa-core-space-4) * 2));max-width:none;margin-inline:calc(var(--mofa-core-space-4) * -1);padding-inline:var(--mofa-core-space-4);border-inline:0;border-radius:0;box-shadow:none}.mofa-ds-tabs--context,.mofa-ds-tabs--segmented{width:100%}}

/* S3-05 Data Surface Convergence — canonical section/data surface owner. */
.mofa-ds-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mofa-core-space-3);min-width:0;margin:0 0 var(--mofa-core-space-3)}
.mofa-ds-section-header>div:first-child,.mofa-ds-section-header__copy{min-width:0}
.mofa-ds-section-header :is(h2,h3,h4,.mofa-ds-section-header__title){margin:0;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-extrabold) var(--mofa-core-font-size-lg)/1.5 var(--mofa-core-font-sans)}
.mofa-ds-section-header :is(p,.mofa-ds-section-header__meta){margin:var(--mofa-core-space-1) 0 0;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-sm)/1.6 var(--mofa-core-font-sans)}
.mofa-ds-section-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--mofa-core-space-2);flex-wrap:wrap}
.mofa-ds-surface-stack{display:grid;gap:var(--mofa-core-space-4);min-width:0}

/* Toolbar / filter bar */
.mofa-ds-toolbar,.mofa-ds-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--mofa-core-space-2);flex-wrap:wrap;min-width:0}
.mofa-ds-toolbar__group,.mofa-ds-filter-bar__group{display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap;min-width:0}
.mofa-ds-filter-bar{padding:var(--mofa-core-space-2) var(--mofa-core-space-3);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface)}
.mofa-ds-filter-bar__search{flex:1 1 260px;min-width:min(100%,220px)}
.mofa-ds-filter-bar__actions{display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap}

/* KPI */
.mofa-ds-kpi{display:flex;flex-direction:column;gap:var(--mofa-core-space-1)}
.mofa-ds-kpi__value{font:var(--mofa-core-font-weight-extrabold) var(--mofa-core-font-size-3xl)/1.25 var(--mofa-core-font-sans);color:var(--mofa-core-color-text)}
.mofa-ds-kpi__label{font:var(--mofa-core-font-weight-semibold) var(--mofa-core-font-size-sm)/1.6 var(--mofa-core-font-sans);color:var(--mofa-core-color-text-muted)}

/* Data table */
.mofa-ds-table-wrap{box-sizing:border-box;width:100%;overflow:auto;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface)}
.mofa-ds-table{width:100%;min-width:720px;border-collapse:collapse;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-md)/1.6 var(--mofa-core-font-sans)}
.mofa-ds-table th,.mofa-ds-table td{padding:10px 14px;border-bottom:var(--mofa-core-border-width) solid var(--mofa-core-color-border);text-align:right;vertical-align:middle}
.mofa-ds-table th{background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-sm);font-weight:var(--mofa-core-font-weight-extrabold);white-space:nowrap}
.mofa-ds-table tbody tr:last-child td{border-bottom:0}
.mofa-ds-table tbody tr:hover td{background:color-mix(in srgb,var(--mofa-core-color-primary) 2.5%,var(--mofa-core-color-surface))}
.mofa-ds-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--mofa-core-space-1)}

/* Dropdown */
.mofa-ds-dropdown{position:relative;display:inline-flex;min-width:0}
.mofa-ds-dropdown__menu{box-sizing:border-box;position:absolute;z-index:var(--mofa-core-z-dropdown);top:calc(100% + var(--mofa-core-space-2));inset-inline-end:0;min-width:220px;max-width:min(360px,calc(100vw - var(--mofa-core-space-8)));padding:var(--mofa-core-space-2);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);box-shadow:var(--mofa-core-shadow-popover);display:grid;gap:var(--mofa-core-space-1)}
.mofa-ds-dropdown__menu[hidden]{display:none}
.mofa-ds-dropdown__item{box-sizing:border-box;min-height:var(--mofa-core-control-height-compact);padding:var(--mofa-core-space-2) var(--mofa-core-space-3);border:0;border-radius:var(--mofa-core-radius-sm);background:transparent;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-semibold) var(--mofa-core-font-size-sm)/1.5 var(--mofa-core-font-sans);text-decoration:none;text-align:start;display:flex;align-items:center;gap:var(--mofa-core-space-2);cursor:pointer}
.mofa-ds-dropdown__item:hover,.mofa-ds-dropdown__item:focus-visible{background:var(--mofa-core-color-surface-hover);color:var(--mofa-core-color-text);outline:0}
.mofa-ds-dropdown__item--danger{color:var(--mofa-core-color-danger)}

/* Empty / loading / error state */
.mofa-ds-state{display:grid;place-items:center;min-height:180px;padding:var(--mofa-core-space-6);border:var(--mofa-core-border-width) dashed var(--mofa-core-color-border-strong);border-radius:var(--mofa-core-radius-md);text-align:center;background:var(--mofa-core-color-surface)}
.mofa-ds-state__content{max-width:480px}
.mofa-ds-state__icon{width:var(--mofa-core-control-height-lg);height:var(--mofa-core-control-height-lg);margin:0 auto var(--mofa-core-space-3);display:grid;place-items:center;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text-muted)}
.mofa-ds-state h3{margin:0;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-extrabold) var(--mofa-core-font-size-lg)/1.6 var(--mofa-core-font-sans)}
.mofa-ds-state p{margin:var(--mofa-core-space-2) 0 0;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-md)/var(--mofa-core-line-height-normal) var(--mofa-core-font-sans)}
.mofa-ds-state__actions{display:flex;align-items:center;justify-content:center;gap:var(--mofa-core-space-2);flex-wrap:wrap;margin-top:var(--mofa-core-space-4)}
.mofa-ds-state--error .mofa-ds-state__icon{background:var(--mofa-core-color-danger-soft);color:var(--mofa-core-color-danger)}
@keyframes mofa-ds-shimmer{to{background-position:-220% 0}}

/* Modal/dialog and drawer */
/* S4-02 Entity Editor Shell — one visual owner for header/body/footer/actions. */
body.mofa-dialog-open{overflow:hidden}
.mofa-ds-dialog,.mofa-ds-drawer{position:fixed;inset:0;z-index:var(--mofa-core-z-modal);display:grid;background:transparent}
.mofa-ds-dialog[hidden],.mofa-ds-drawer[hidden]{display:none}
.mofa-ds-dialog{place-items:center;padding:var(--mofa-core-space-4);opacity:0;transition:opacity var(--mofa-core-motion-fast)}
.mofa-ds-dialog.open{opacity:1}
.mofa-ds-dialog__backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--mofa-core-color-overlay) 92%,transparent);backdrop-filter:blur(4px)}
.mofa-ds-dialog__panel{position:relative;z-index:1;box-sizing:border-box;width:min(var(--mofa-core-dialog-width-default),calc(100vw - var(--mofa-core-space-8)));max-height:var(--mofa-core-dialog-max-height);display:flex;flex-direction:column;overflow:hidden;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-lg);background:var(--mofa-core-color-surface);box-shadow:var(--mofa-core-shadow-dialog);color:var(--mofa-core-color-text);transform:translateY(8px) scale(.99);transition:transform var(--mofa-core-motion-fast);isolation:isolate}
.mofa-ds-dialog.open .mofa-ds-dialog__panel{transform:none}
.mofa-ds-dialog__panel--compact{width:min(var(--mofa-core-dialog-width-compact),calc(100vw - var(--mofa-core-space-8)))}
.mofa-ds-dialog__panel--create{width:min(var(--mofa-core-dialog-width-default),calc(100vw - var(--mofa-core-space-8)))}
.mofa-ds-dialog__panel--wide{width:min(var(--mofa-core-dialog-width-wide),calc(100vw - var(--mofa-core-space-8)))}
.mofa-ds-dialog__panel--wizard{width:min(var(--mofa-core-dialog-width-wizard),calc(100vw - var(--mofa-core-space-8)))}
.mofa-ds-dialog__panel--fullscreen{width:min(var(--mofa-core-dialog-width-composer),calc(100vw - var(--mofa-core-space-6)));height:min(92dvh,940px);max-height:92dvh}
.mofa-ds-dialog__header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mofa-core-space-4);padding:var(--mofa-core-dialog-header-pad-y) var(--mofa-core-dialog-header-pad-x);border-bottom:var(--mofa-core-border-width) solid var(--mofa-core-color-border);background:var(--mofa-core-color-surface)}
.mofa-ds-dialog__heading,.mofa-ds-dialog__header>div:first-child{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--mofa-core-space-1);flex:1}
.mofa-ds-dialog__header .eyebrow{display:none}
.mofa-ds-dialog__header :is(h1,h2,h3,.mofa-ds-dialog__title){margin:0;max-width:none;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-extrabold) var(--mofa-core-font-size-lg)/1.45 var(--mofa-core-font-sans)}
.mofa-ds-dialog__header :is(p,.mofa-ds-dialog__subtitle){margin:0;max-width:76ch;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-sm)/var(--mofa-core-line-height-normal) var(--mofa-core-font-sans)}
.mofa-ds-dialog__body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--mofa-core-dialog-body-pad)}
.mofa-ds-dialog__body :is(.mofa-form-grid,.form-grid,.mofa-ds-form-grid){}
.mofa-ds-dialog__footer{flex:0 0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:var(--mofa-core-space-2);flex-wrap:wrap;direction:ltr;padding:var(--mofa-core-dialog-footer-pad-y) var(--mofa-core-dialog-body-pad);border-top:var(--mofa-core-border-width) solid var(--mofa-core-color-border);background:var(--mofa-core-color-surface)}
.mofa-ds-dialog__footer>*{direction:rtl}
.mofa-ds-dialog__footer>div:not([role="alert"]){display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap}
.mofa-ds-dialog__footer [role="alert"]{flex:1 0 100%}
.mofa-ds-dialog__footer .mofa-ds-button--primary,.mofa-ds-dialog__footer [data-editor-primary],.mofa-ds-dialog__footer [data-wizard-action="next"],.mofa-ds-dialog__footer [data-wizard-action="save"]{order:0}
.mofa-ds-dialog__footer [data-mofa-cancel],.mofa-ds-dialog__footer .mofa-ds-action--cancel,.mofa-ds-dialog__footer [data-wizard-action="back"]{order:1}
.mofa-ds-dialog__footer .mofa-ds-action--delete,.mofa-ds-dialog__footer [data-edit-only]{order:20;margin-left:auto}
.mofa-ds-dialog.is-create-mode [data-edit-only],.mofa-ds-dialog.is-create-mode .mofa-ds-action--delete[data-edit-only]{display:none}
.mofa-ds-dialog__title{margin:0;font:var(--mofa-core-font-weight-extrabold) var(--mofa-core-font-size-lg)/1.45 var(--mofa-core-font-sans)}
.mofa-ds-dialog__close{box-sizing:border-box;width:var(--mofa-core-dialog-close-size);height:var(--mofa-core-dialog-close-size);min-width:var(--mofa-core-dialog-close-size);min-height:var(--mofa-core-dialog-close-size);flex:0 0 var(--mofa-core-dialog-close-size);display:inline-grid;place-items:center;padding:0;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-field-radius);background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text-muted);font:inherit;font-size:var(--mofa-core-dialog-close-icon-size);font-weight:var(--mofa-core-font-weight-bold);line-height:1;text-decoration:none;cursor:pointer;transition:background var(--mofa-core-motion-fast),border-color var(--mofa-core-motion-fast),color var(--mofa-core-motion-fast)}
.mofa-ds-dialog__close>span{display:block;font:inherit;font-size:inherit;line-height:1}
.mofa-ds-dialog__close:hover,.mofa-ds-dialog__close:focus-visible{background:var(--mofa-core-color-surface-hover);color:var(--mofa-core-color-text);border-color:var(--mofa-core-color-primary);outline:0;box-shadow:none}
.mofa-ds-dialog__form,.mofa-ds-dialog[data-mofa-entity-editor] form.mofa-ds-dialog__form{display:contents}
.mofa-ds-drawer{place-items:stretch start;background:color-mix(in srgb,var(--mofa-core-color-overlay) 80%,transparent)}
.mofa-ds-drawer__panel{box-sizing:border-box;width:min(520px,calc(100vw - var(--mofa-core-space-7)));height:100%;overflow:auto;background:var(--mofa-core-color-surface);border-inline-end:var(--mofa-core-border-width) solid var(--mofa-core-color-border);box-shadow:var(--mofa-core-shadow-dialog);color:var(--mofa-core-color-text)}


/* S4-02 final shell hardening: managed editor structure and action semantics. */
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer{min-height:64px}
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer .mofa-ds-button{min-width:96px}
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer [data-wizard-action="next"],.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer [data-wizard-action="save"],.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer [data-editor-primary]{min-width:112px}
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer [data-wizard-action="back"]{order:1}
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer [data-wizard-action="cancel"]{order:1}
.mofa-ds-dialog[data-mofa-entity-editor][data-wizard-step="2"] .mofa-ds-dialog__footer [data-wizard-action="cancel"],.mofa-ds-dialog[data-mofa-entity-editor][data-wizard-step="3"] .mofa-ds-dialog__footer [data-wizard-action="cancel"]{display:none}
.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__body>.mofa-ds-dialog__footer{margin-inline:calc(var(--mofa-core-dialog-body-pad) * -1);margin-bottom:calc(var(--mofa-core-dialog-body-pad) * -1)}
@media(max-width:768px){.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__header{padding:var(--mofa-core-space-4)}.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__body{padding:var(--mofa-core-space-4)}.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer{padding:var(--mofa-core-space-3) var(--mofa-core-space-4) calc(var(--mofa-core-space-3) + env(safe-area-inset-bottom));min-height:68px}.mofa-ds-dialog[data-mofa-entity-editor] .mofa-ds-dialog__footer .mofa-ds-button{min-height:44px}}

/* Confirmation pattern */
.mofa-ds-confirmation{display:flex;flex-direction:column;gap:var(--mofa-core-space-4)}
.mofa-ds-confirmation__message{margin:0;color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-md)/var(--mofa-core-line-height-normal) var(--mofa-core-font-sans)}
.mofa-ds-confirmation__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--mofa-core-space-2);flex-wrap:wrap}
.mofa-ds-confirmation--danger .mofa-ds-confirmation__message{color:var(--mofa-core-color-danger)}

/* Toast / tooltip */
.mofa-ds-toast-region{position:fixed;z-index:var(--mofa-core-z-toast);left:var(--mofa-core-space-4);bottom:var(--mofa-core-space-4);display:flex;flex-direction:column;gap:var(--mofa-core-space-2);width:min(380px,calc(100vw - var(--mofa-core-space-8)));pointer-events:none}
.mofa-ds-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--mofa-core-space-3);padding:var(--mofa-core-space-3);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);box-shadow:var(--mofa-core-shadow-popover);color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-sm)/1.7 var(--mofa-core-font-sans)}
.mofa-ds-tooltip{position:absolute;z-index:var(--mofa-core-z-toast);max-width:260px;padding:6px 9px;border-radius:var(--mofa-core-radius-xs);background:var(--mofa-core-color-text);color:var(--mofa-core-color-surface);font:var(--mofa-core-font-weight-semibold) var(--mofa-core-font-size-xs)/1.55 var(--mofa-core-font-sans);box-shadow:var(--mofa-core-shadow-popover)}

/* Pagination */
.mofa-ds-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--mofa-core-space-3);flex-wrap:wrap;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-medium) var(--mofa-core-font-size-sm)/1.5 var(--mofa-core-font-sans)}
.mofa-ds-pagination__pages{display:flex;align-items:center;gap:var(--mofa-core-space-1)}
.mofa-ds-page-button{box-sizing:border-box;min-width:var(--mofa-core-control-height-compact);height:var(--mofa-core-control-height-compact);padding:0 var(--mofa-core-space-2);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-sm);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-bold) var(--mofa-core-font-size-sm)/1 var(--mofa-core-font-sans);display:inline-grid;place-items:center;text-decoration:none;cursor:pointer}
.mofa-ds-page-button[aria-current="page"]{background:var(--mofa-core-color-primary-soft);border-color:color-mix(in srgb,var(--mofa-core-color-primary) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-primary)}

/* Create/Edit and List/Detail composition patterns */
.mofa-ds-create-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:var(--mofa-core-space-6);align-items:start;min-width:0}
.mofa-ds-create-edit__main,.mofa-ds-create-edit__aside{min-width:0;display:flex;flex-direction:column;gap:var(--mofa-core-space-4)}
.mofa-ds-create-edit__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--mofa-core-space-2);flex-wrap:wrap}
.mofa-ds-list-detail{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--mofa-core-space-4);align-items:start;min-width:0}
.mofa-ds-list-detail__list,.mofa-ds-list-detail__detail{min-width:0}

/* Accessible focus contract for complex controls */
:is(.mofa-ds-tab,.mofa-ds-page-button,.mofa-ds-dropdown__item):focus-visible{outline:0;box-shadow:var(--mofa-core-focus-ring);border-color:var(--mofa-core-color-primary)}

/* MOFA UI Canonical Complex Components & UX Patterns — END */

@media(max-width:768px){
  .mofa-ds-page{gap:var(--mofa-core-space-4)}
  .mofa-ds-page-header{flex-direction:column}
  .mofa-ds-page-header__actions{width:100%}
  .mofa-ds-form-grid{grid-template-columns:1fr}
  .mofa-ds-form-grid>.span-2{grid-column:auto}
  .mofa-ds-toolbar{align-items:stretch;flex-direction:column}
  .mofa-ds-toolbar__group{width:100%}
  .mofa-ds-dialog{padding:0}
  .mofa-ds-dialog__panel{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}
  .mofa-ds-drawer__panel{width:min(92vw,520px)}
}
@media(prefers-reduced-motion:reduce){
  .mofa-ds-skeleton{animation:none}
  .mofa-ds-dialog,.mofa-ds-drawer,.mofa-ds-toast{scroll-behavior:auto}
}



.mofa-ds-page-header .eyebrow{display:inline-flex;align-items:center;min-height:var(--mofa-core-badge-height);padding:var(--mofa-core-space-1) var(--mofa-core-space-2);border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary);font-size:var(--mofa-core-font-size-xs);font-weight:var(--mofa-core-font-weight-bold)}
/* Core 1.23.3 semantic child aliases: canonical containers own legacy-compatible direct children during migration. */
.mofa-ds-tabs>a,.mofa-ds-tabs>button{position:relative;box-sizing:border-box;min-height:var(--mofa-core-hit-target);padding:0 var(--mofa-core-space-3);border:var(--mofa-core-border-width) solid transparent;border-radius:var(--mofa-core-radius-sm);background:transparent;color:var(--mofa-core-color-text-muted);font:var(--mofa-core-font-weight-bold) var(--mofa-core-font-size-md)/1 var(--mofa-core-font-sans);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--mofa-core-space-2);flex:0 0 auto;white-space:nowrap;cursor:pointer;transition:background var(--mofa-core-motion-standard),border-color var(--mofa-core-motion-standard),color var(--mofa-core-motion-standard),box-shadow var(--mofa-core-motion-standard)}
.mofa-ds-tabs>a:hover,.mofa-ds-tabs>button:hover{background:color-mix(in srgb,var(--mofa-core-color-primary) 5%,var(--mofa-core-color-surface));color:var(--mofa-core-color-text)}
.mofa-ds-tabs>:is(a,button):is([aria-selected="true"],[aria-current="page"],[aria-pressed="true"],.active){background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary);border-color:color-mix(in srgb,var(--mofa-core-color-primary) 22%,var(--mofa-core-color-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mofa-core-color-primary) 7%,transparent)}
.mofa-ds-tabs--primary>:is(a,button):is([aria-selected="true"],[aria-current="page"],[aria-pressed="true"],.active)::after{content:"";position:absolute;inset-inline:var(--mofa-core-space-3);bottom:2px;height:2px;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-primary)}
.mofa-ds-pagination a{box-sizing:border-box;min-width:var(--mofa-core-control-height-compact);height:var(--mofa-core-control-height-compact);padding:0 var(--mofa-core-space-2);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-sm);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text);font:var(--mofa-core-font-weight-bold) var(--mofa-core-font-size-sm)/1 var(--mofa-core-font-sans);display:inline-grid;place-items:center;text-decoration:none;cursor:pointer}
.mofa-ds-pagination a:is(.active,[aria-current="page"]){background:var(--mofa-core-color-primary-soft);border-color:color-mix(in srgb,var(--mofa-core-color-primary) 24%,var(--mofa-core-color-border));color:var(--mofa-core-color-primary)}

/* MOFA Site canonical semantic page/pattern runtime.
 * Exact generic page-shell semantics aligned to MOFA One 1.0.12.
 * Product/domain composition remains local to MOFA Site.
 */
.mofa-ds-surface{font-family:var(--mofa-core-font-sans);font-size:var(--mofa-core-font-size-md);line-height:var(--mofa-core-line-height-normal);color:var(--mofa-core-color-text)}
.mofa-ds-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mofa-ds-stack{display:flex;flex-direction:column;gap:var(--mofa-core-space-4)}
.mofa-ds-inline{display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap}
.mofa-ds-page{display:flex;flex-direction:column;gap:var(--mofa-core-space-6);min-width:0}
.mofa-ds-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mofa-core-space-4);min-width:0}
.mofa-ds-page-header__copy{min-width:0}
.mofa-ds-page-header h1{margin:0;color:var(--mofa-core-color-text);font-size:var(--mofa-core-font-size-2xl);line-height:var(--mofa-core-line-height-tight);font-weight:850;letter-spacing:-.015em}
.mofa-ds-page-header p{margin:var(--mofa-core-space-1) 0 0;color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-md)}
.mofa-ds-page-header__actions{display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap}

/* Shared listing filters: canonical control width must not force one row per field. */
.mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form){display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--mofa-core-space-2);min-width:0}
.mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form)>:is(input:not([type="hidden"]),select){width:auto;min-width:0;max-width:100%;flex:1 1 160px}
.mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form)>input[type="search"]{flex:2 1 240px}
.mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form)>:is(button,.mofa-ds-button){flex:0 0 auto;width:auto;white-space:nowrap}
@media(max-width:640px){
 .mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form)>:is(input:not([type="hidden"]),select){flex-basis:140px}
 .mofa-ds-app-body :is(.mofa-ds-filterbar,.list-toolbar,.taxonomy-list-tools form,.wp-media-toolbar form)>input[type="search"]{flex-basis:100%}
}

/* Core 1.26 product-workspace patterns.
 * Domain modules compose these patterns and never own a parallel visual system.
 */
.mofa-ds-settings-shell{display:flex;flex-direction:column;gap:var(--mofa-core-space-5);min-width:0}
.mofa-ds-settings-shell__nav{position:sticky;top:calc(var(--mofa-adminbar-h,0px) + var(--mofa-core-shell-topbar-height));z-index:var(--mofa-core-z-sticky);padding-block:var(--mofa-core-space-2);background:color-mix(in srgb,var(--mofa-core-color-canvas) 94%,transparent);backdrop-filter:blur(10px)}
.mofa-ds-settings-shell__content{width:100%;min-width:0}

.mofa-ds-master-detail{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:var(--mofa-core-space-5);align-items:start;min-width:0}
.mofa-ds-master-detail__master,.mofa-ds-master-detail__detail{min-width:0}
.mofa-ds-master-detail__master{position:sticky;top:calc(var(--mofa-adminbar-h,0px) + var(--mofa-core-shell-topbar-height) + var(--mofa-core-space-5))}

.mofa-ds-stepper{counter-reset:mofa-step;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--mofa-core-space-2);margin:0;padding:0;list-style:none}
.mofa-ds-stepper__item{counter-increment:mofa-step;display:grid;grid-template-columns:var(--mofa-core-hit-target) minmax(0,1fr);align-items:center;gap:var(--mofa-core-space-2);min-width:0;padding:var(--mofa-core-space-2);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);color:var(--mofa-core-color-text-muted)}
.mofa-ds-stepper__item::before{content:counter(mofa-step);width:var(--mofa-core-control-height-compact);height:var(--mofa-core-control-height-compact);display:grid;place-items:center;border-radius:var(--mofa-core-radius-pill);background:var(--mofa-core-color-surface-soft);color:var(--mofa-core-color-text);font-weight:var(--mofa-core-font-weight-extrabold)}
.mofa-ds-stepper__item:is(.is-active,[aria-current="step"]){border-color:color-mix(in srgb,var(--mofa-core-color-primary) 35%,var(--mofa-core-color-border));background:var(--mofa-core-color-primary-soft);color:var(--mofa-core-color-primary)}
.mofa-ds-stepper__item.is-complete::before{content:"✓";background:var(--mofa-core-color-success-soft);color:var(--mofa-core-color-success)}
.mofa-ds-stepper__copy{min-width:0}.mofa-ds-stepper__copy strong,.mofa-ds-stepper__copy small{display:block}.mofa-ds-stepper__copy small{margin-top:2px;color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-xs)}

.mofa-ds-builder{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:var(--mofa-core-space-5);align-items:start;min-width:0}
.mofa-ds-builder__rail,.mofa-ds-builder__canvas{min-width:0}
.mofa-ds-builder__rail{display:flex;flex-direction:column;gap:var(--mofa-core-space-3)}
.mofa-ds-builder__canvas{display:flex;flex-direction:column;gap:var(--mofa-core-space-4)}

.mofa-ds-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--mofa-core-space-3)}
.mofa-ds-choice-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--mofa-core-space-3);align-items:start;min-height:var(--mofa-core-hit-target);padding:var(--mofa-core-space-4);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-md);background:var(--mofa-core-color-surface);cursor:pointer;transition:background var(--mofa-core-motion-standard),border-color var(--mofa-core-motion-standard),box-shadow var(--mofa-core-motion-standard)}
.mofa-ds-choice-card:hover{border-color:var(--mofa-core-color-border-strong);background:var(--mofa-core-color-surface-hover)}
.mofa-ds-choice-card:has(input:checked){border-color:color-mix(in srgb,var(--mofa-core-color-primary) 42%,var(--mofa-core-color-border));background:var(--mofa-core-color-primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mofa-core-color-primary) 12%,transparent)}
.mofa-ds-choice-card input{margin-top:3px}.mofa-ds-choice-card strong,.mofa-ds-choice-card small{display:block}.mofa-ds-choice-card small{margin-top:var(--mofa-core-space-1);color:var(--mofa-core-color-text-muted);line-height:var(--mofa-core-line-height-normal)}

.mofa-ds-data-list{display:flex;flex-direction:column;border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-lg);background:var(--mofa-core-color-surface);overflow:hidden}
.mofa-ds-data-list__item{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(100px,.7fr)) auto;gap:var(--mofa-core-space-3);align-items:center;min-width:0;padding:var(--mofa-core-space-3) var(--mofa-core-space-4);border-block-end:var(--mofa-core-border-width) solid var(--mofa-core-color-border)}
.mofa-ds-data-list__item:last-child{border-block-end:0}.mofa-ds-data-list__primary{min-width:0}.mofa-ds-data-list__primary strong,.mofa-ds-data-list__primary small{display:block}.mofa-ds-data-list__primary small{margin-top:2px;color:var(--mofa-core-color-text-muted)}

.mofa-ds-sticky-actions{position:sticky;bottom:var(--mofa-core-space-4);z-index:var(--mofa-core-z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--mofa-core-space-3);flex-wrap:wrap;min-height:64px;padding:var(--mofa-core-space-3) var(--mofa-core-space-4);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-lg);background:color-mix(in srgb,var(--mofa-core-color-surface) 94%,transparent);box-shadow:var(--mofa-core-shadow-popover);backdrop-filter:blur(12px)}
.mofa-ds-sticky-actions__status{min-width:0;color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-sm)}
.mofa-ds-sticky-actions__buttons{display:flex;align-items:center;gap:var(--mofa-core-space-2);flex-wrap:wrap}

.mofa-ds-empty-state{display:grid;place-items:center;min-height:220px;padding:var(--mofa-core-space-8) var(--mofa-core-space-5);border:var(--mofa-core-border-width) dashed var(--mofa-core-color-border-strong);border-radius:var(--mofa-core-radius-lg);background:var(--mofa-core-color-surface-soft);text-align:center}
.mofa-ds-empty-state__content{max-width:460px}.mofa-ds-empty-state h2,.mofa-ds-empty-state h3{margin:0}.mofa-ds-empty-state p{margin:var(--mofa-core-space-2) 0 var(--mofa-core-space-4);color:var(--mofa-core-color-text-muted)}

@media(max-width:1050px){
 .mofa-ds-data-list__item{grid-template-columns:minmax(180px,1fr) repeat(2,minmax(90px,.6fr)) auto}
 .mofa-ds-data-list__item>[data-collapse="desktop"]{display:none}
}
@media(max-width:900px){
 .mofa-ds-master-detail,.mofa-ds-builder{grid-template-columns:1fr}
 .mofa-ds-master-detail__master{position:static}
}
@media(max-width:760px){
 .mofa-ds-settings-shell{gap:var(--mofa-core-space-4)}
 .mofa-ds-settings-shell__nav{top:calc(var(--mofa-adminbar-h,0px) + var(--mofa-core-shell-topbar-height));margin-inline:calc(var(--mofa-core-space-4) * -1);padding-inline:var(--mofa-core-space-4)}
 .mofa-ds-stepper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-block-end:var(--mofa-core-space-1)}
 .mofa-ds-stepper__item{flex:0 0 min(82vw,300px);scroll-snap-align:start}
 .mofa-ds-data-list{border:0;background:transparent;gap:var(--mofa-core-space-3);overflow:visible}
 .mofa-ds-data-list__item{grid-template-columns:minmax(0,1fr) auto;padding:var(--mofa-core-space-4);border:var(--mofa-core-border-width) solid var(--mofa-core-color-border);border-radius:var(--mofa-core-radius-lg);background:var(--mofa-core-color-surface)}
 .mofa-ds-data-list__item>[data-label]::before{content:attr(data-label) ": ";color:var(--mofa-core-color-text-muted);font-size:var(--mofa-core-font-size-xs)}
 .mofa-ds-data-list__item>[data-label]{grid-column:1/-1}
 .mofa-ds-sticky-actions{bottom:0;margin-inline:calc(var(--mofa-core-space-4) * -1);border-inline:0;border-end-start-radius:0;border-end-end-radius:0;padding-bottom:calc(var(--mofa-core-space-3) + env(safe-area-inset-bottom))}
}
@media(max-width:560px){
 .mofa-ds-choice-grid{grid-template-columns:1fr}
 .mofa-ds-sticky-actions__buttons{width:100%}.mofa-ds-sticky-actions__buttons>.mofa-ds-button{flex:1 1 auto}
}
