/* SawaLife Minimal — FORMS, CONTROLS & OVERLAYS (2026-11-04). Owned by the forms agent.
   Goal: minimal (hairlines, no heavy boxes) but immediately understandable.
   - Fields: visible 1px border (>=3:1 vs bg, WCAG 1.4.11), 12px radius, 48px, 16px text, label above.
   - Selection controls: drawn boxes/dots/switches, option cards with filled check + accent border.
   - Overlays: one language — soft navy 40% + blur backdrop, --mn-bg panel, radius 20, bottom sheet on mobile.
   - Alerts: left accent rule + icon + text, semantic colours (info/success/warning/error).
   Scope prefix `:is(.mn-body,.sawalife-modular):not(#mf)` = specificity (1,1,0): beats every legacy
   class-based rule (app.css / pages.css) while :where() keeps the rest flat. Rollback: empty this file. */

:is(.mn-body,.sawalife-modular){
  --mf-line:var(--mn-field-line);   /* field border ≥3:1 (tokens.css) */
  --mf-line-h:var(--mn-field-line-h);
  --mf-field:var(--mn-field);
  --mf-dis:var(--mn-soft);
  --mf-err:var(--mn-red); --mf-ok:var(--mn-ok); --mf-warn:var(--mn-warn); --mf-info:var(--mn-brand-ink);
  --mf-r:12px; --mf-h:3rem; --mf-dlg-r:20px;
  --mf-backdrop:rgb(var(--mn-scrim-rgb)/40%);
  --mf-ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E");
  --mf-ico-dash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5.5 10h9'/%3E%3C/svg%3E");
  --mf-ico-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%235c6a72' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");
  --mf-ico-err:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23b03a3c' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='M10 6.2v4.6M10 13.6v.1'/%3E%3C/svg%3E");
  --mf-ico-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%232c7650' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E");
  /* mask-only shapes (painted with currentColor) */
  --mf-m-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E");
  --mf-m-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='M10 9v4.8M10 6.3v.1'/%3E%3C/svg%3E");
  --mf-m-err:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='M10 6.2v4.6M10 13.6v.1'/%3E%3C/svg%3E");
  --mf-m-warn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3.2 17.6 16H2.4z'/%3E%3Cpath d='M10 8v3.6M10 13.7v.1'/%3E%3C/svg%3E");
  --mf-m-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='m6.8 10.2 2.2 2.2 4.2-4.4'/%3E%3C/svg%3E");
}
.dark :is(.mn-body,.sawalife-modular),:is(.mn-body,.sawalife-modular).dark{
  --mf-line:var(--mn-field-line); --mf-line-h:var(--mn-field-line-h); --mf-field:var(--mn-field); --mf-dis:var(--mn-soft); --mf-warn:var(--mn-warn);
  --mf-backdrop:rgb(0 0 0/55%);
  --mf-ico-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230e1418' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E");
  --mf-ico-dash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230e1418' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M5.5 10h9'/%3E%3C/svg%3E");
  --mf-ico-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2398a5ab' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 7.5 5 5 5-5'/%3E%3C/svg%3E");
  --mf-ico-err:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23f08b89' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7.5'/%3E%3Cpath d='M10 6.2v4.6M10 13.6v.1'/%3E%3C/svg%3E");
  --mf-ico-ok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236cc796' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7'/%3E%3C/svg%3E");
}

/* =====================================================================
   A. FIELDS
   ===================================================================== */
:is(.mn-body,.sawalife-modular):not(#mf) :where(
  input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden],[type=submit],[type=button],[type=reset],[type=image],[type=color]),
  select,textarea):where(:not(.sr-only,.mf-bare,[x-ref=searchInput],.mn-header *,.mn-sheet__head *,form>div.rounded-full input)){
  box-sizing:border-box;min-height:var(--mf-h);padding:.75rem .95rem;
  font-family:inherit;font-size:16px;line-height:1.4;font-weight:400;letter-spacing:normal;
  color:var(--mn-ink);background-color:var(--mf-field);
  border:1px solid var(--mf-line);border-radius:var(--mf-r);box-shadow:none;outline:0;
  transition:border-color .15s,box-shadow .15s,background-color .15s,outline-color .15s;
  -webkit-appearance:none;appearance:none}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input,select,textarea)::placeholder{color:var(--mn-mute);opacity:1}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden]),select,textarea):where(:not(.sr-only,.mf-bare,[x-ref=searchInput],.mn-header *,form>div.rounded-full input)):hover{border-color:var(--mf-line-h)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden]),select,textarea):where(:not(.sr-only,.mf-bare,[x-ref=searchInput],.mn-header *,form>div.rounded-full input)):focus{
  border-color:var(--mn-brand);outline:2px solid var(--mn-brand);outline-offset:2px;box-shadow:none}
/* textarea */
:is(.mn-body,.sawalife-modular):not(#mf) :where(textarea):where(:not(.mf-bare)){min-height:7.5rem;line-height:1.55;resize:vertical}
/* select with custom chevron */
:is(.mn-body,.sawalife-modular):not(#mf) :where(select:not([multiple],[size])):where(:not(.mf-bare,.mn-header *)){
  background-image:var(--mf-ico-chev);background-repeat:no-repeat;background-position:right .85rem center;background-size:1.15rem;padding-right:2.75rem;cursor:pointer}
:is(.mn-body,.sawalife-modular):not(#mf) :where(select[multiple]){padding:.4rem;min-height:8rem}
/* date/time/number */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=date],input[type=time],input[type=datetime-local],input[type=month]){min-width:0;line-height:1.4}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input)::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=number]){font-variant-numeric:tabular-nums}
/* disabled / readonly */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input,select,textarea):disabled{background-color:var(--mf-dis);color:var(--mn-mute);border-color:var(--mn-line-2);border-style:dashed;cursor:not-allowed;opacity:1}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input,textarea)[readonly]:not([type=checkbox],[type=radio]){background-color:var(--mn-soft)}
/* error: aria-invalid, or an error message right after the control */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input:not([type=checkbox],[type=radio],[type=hidden]),select,textarea):is([aria-invalid=true],:has(~ :is(.mf-field__error,p.text-brand-red,p.text-rose-500,p.text-red-600))):where(:not(.sr-only,[x-ref=searchInput])){
  border-color:var(--mf-err);box-shadow:inset 0 0 0 1px var(--mf-err)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input:not([type=checkbox],[type=radio],[type=hidden],[type=date],[type=number]),textarea):is([aria-invalid=true],:has(~ :is(.mf-field__error,p.text-brand-red,p.text-rose-500,p.text-red-600))):where(:not(.sr-only,[x-ref=searchInput],.mf-has-reveal)){
  padding-right:2.75rem;background-image:var(--mf-ico-err);background-repeat:no-repeat;background-position:right .85rem top .85rem;background-size:1.2rem}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input,select,textarea):is([aria-invalid=true]):focus{outline-color:var(--mf-err)}
/* success (opt-in: .is-valid / data-valid) */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input,select,textarea):is(.is-valid,[data-valid=true]){border-color:var(--mf-ok);padding-right:2.75rem;background-image:var(--mf-ico-ok);background-repeat:no-repeat;background-position:right .85rem center;background-size:1.2rem}

/* labels: always visible, above, ink */
:is(.mn-body,.sawalife-modular):not(#mf) :where(label:not(:has(input[type=checkbox],input[type=radio],input[type=file],select,textarea,input:not([type=hidden]))):not(.sr-only,.mf-file__btn,[class*="rounded-full"],[class*="cursor-pointer"][class*="border"]),.mf-label){
  display:block;color:var(--mn-ink);font-size:.9rem;font-weight:600;line-height:1.35;letter-spacing:0}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-label)+:where(input,select,textarea,.mf-field__control){margin-top:.45rem}
/* required marker */
:is(.mn-body,.sawalife-modular):not(#mf) :where(label:has(+ :is(input,select,textarea)[required]),label:has(+ * :is(input,select,textarea)[required]),label.is-required,.mf-label.is-required):not(:has(span,abbr,b,strong))::after{content:" *";color:var(--mf-err);font-weight:600}
/* helper text right after a control */
:is(.mn-body,.sawalife-modular):not(#mf) :where(:is(input,select,textarea,.mf-file,.mf-field__control) ~ p:is(.text-brand-muted,[class*="text-slate-"]),.mf-field__help){
  margin-top:.4rem;font-size:.85rem;line-height:1.45;color:var(--mn-mute)}
/* error message: red + icon (text never relies on colour alone) */
:is(.mn-body,.sawalife-modular):not(#mf) :where(p:is(.text-brand-red,.text-rose-500,.text-rose-600,.text-red-500,.text-red-600):not(.mf-plain),.mf-field__error){
  display:flex;align-items:flex-start;gap:.4rem;margin-top:.45rem;font-size:.875rem;line-height:1.4;font-weight:500;color:var(--mf-err)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(p:is(.text-brand-red,.text-rose-500,.text-rose-600,.text-red-500,.text-red-600):not(.mf-plain),.mf-field__error)::before{
  content:"";flex:none;width:1rem;height:1rem;margin-top:.1rem;background:currentColor;-webkit-mask:var(--mf-m-err) center/contain no-repeat;mask:var(--mf-m-err) center/contain no-repeat}

/* fieldsets / legends / rhythm */
:is(.mn-body,.sawalife-modular):not(#mf) :where(fieldset){min-width:0;margin-inline:0;padding-inline:0;border:0}
:is(.mn-body,.sawalife-modular):not(#mf) :where(fieldset+fieldset,.mf-fieldset){border-top:1px solid var(--mn-line);padding-top:1.5rem}
:is(.mn-body,.sawalife-modular):not(#mf) :where(legend){padding:0;margin-bottom:.35rem;color:var(--mn-ink);font-size:1rem;font-weight:600;line-height:1.35}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-form)>*+*{margin-top:1.15rem}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-field__control){position:relative}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-has-reveal){padding-right:6rem}
.mf-reveal{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .75rem;border:0;border-radius:8px;background:none;color:var(--mn-brand-ink);font:600 .85rem/1 var(--mn-font);cursor:pointer}
.mf-reveal:hover{background:var(--mn-brand-l)}
.mf-reveal:focus-visible{outline:2px solid var(--mn-brand);outline-offset:1px}

/* search pills (filters): from invisible underline to a real field */
:is(.mn-body,.sawalife-modular):not(#mf) main form>div.rounded-full.bg-white{
  background:var(--mf-field)!important;border:1px solid var(--mf-line)!important;border-radius:var(--mf-r)!important;min-height:var(--mf-h);padding:0 .35rem 0 .9rem!important;box-shadow:none!important}
:is(.mn-body,.sawalife-modular):not(#mf) main form>div.rounded-full.bg-white:hover{border-color:var(--mf-line-h)!important}
:is(.mn-body,.sawalife-modular):not(#mf) main form>div.rounded-full.bg-white:focus-within{border-color:var(--mn-brand)!important;outline:2px solid var(--mn-brand);outline-offset:2px;box-shadow:none!important}
:is(.mn-body,.sawalife-modular):not(#mf) main form>div.rounded-full input{font-size:16px!important;outline:0}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=search])::-webkit-search-cancel-button{cursor:pointer}

/* file input component */
.mf-file{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:var(--mf-h);padding:.5rem .6rem .5rem .5rem;border:1px dashed var(--mf-line);border-radius:var(--mf-r);background:var(--mf-field);transition:border-color .15s}
.mf-file:hover{border-color:var(--mf-line-h)}
.mf-file:focus-within{border-style:solid;border-color:var(--mn-brand);outline:2px solid var(--mn-brand);outline-offset:2px}
.mf-file__btn{display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 1rem;border:1px solid var(--mn-line-2);border-radius:999px;background:var(--mn-bg);color:var(--mn-ink);font-size:.9rem;font-weight:600;cursor:pointer;flex:none;transition:border-color .15s}
.mf-file__btn:hover{border-color:var(--mn-ink)}
.mf-file__i{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mf-file__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;color:var(--mn-mute)}
.mf-file__name.is-filled{color:var(--mn-ink);font-weight:500}

/* =====================================================================
   B. SELECTION CONTROLS
   ===================================================================== */
/* checkbox + radio: drawn, 20px, obvious states */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox],input[type=radio]):where(:not(.sr-only,[role=switch],.peer,[class*="sr-only"])){
  -webkit-appearance:none;appearance:none;box-sizing:border-box;flex:none;display:inline-block;vertical-align:middle;
  width:1.25rem;height:1.25rem;margin:0;padding:0;
  border:1.5px solid var(--mf-line);border-radius:6px;background:var(--mf-field) center/100% no-repeat;
  color:var(--mn-brand-d);cursor:pointer;transition:background-color .15s,border-color .15s,border-width .12s;box-shadow:none}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=radio]):where(:not(.sr-only,.peer)){border-radius:50%}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox],input[type=radio]):where(:not(.sr-only,[role=switch],.peer)):hover{border-color:var(--mf-line-h)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox]):where(:not(.sr-only,[role=switch],.peer)):checked{background-color:var(--mn-brand-d);border-color:var(--mn-brand-d);background-image:var(--mf-ico-check)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox]):where(:not(.sr-only,[role=switch],.peer)):indeterminate{background-color:var(--mn-brand-d);border-color:var(--mn-brand-d);background-image:var(--mf-ico-dash)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=radio]):where(:not(.sr-only,.peer)):checked{border:6px solid var(--mn-brand-d);background-color:var(--mf-field)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox],input[type=radio]):focus-visible{outline:2px solid var(--mn-brand);outline-offset:2px}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox],input[type=radio]):disabled{opacity:.45;cursor:not-allowed}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox],input[type=radio])[aria-invalid=true]{border-color:var(--mf-err)}
/* rows: 44px hit area, label to the right */
:is(.mn-body,.sawalife-modular):not(#mf) :where(label:has(> input[type=checkbox]:not(.sr-only),> input[type=radio]:not(.sr-only)),.mf-check){
  min-height:2.75rem;gap:.75rem;cursor:pointer;color:var(--mn-ink);font-size:.925rem;line-height:1.45;font-weight:500}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-check){display:flex;align-items:flex-start;padding-block:.6rem}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.mf-check)>input{margin-top:.1rem}
:is(.mn-body,.sawalife-modular):not(#mf) :where(label:has(> input[type=checkbox]:not(.sr-only),> input[type=radio]:not(.sr-only)):not([class*="items-start"])){align-items:center}

/* toggle / switch: input[role=switch] */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox][role=switch]){
  -webkit-appearance:none;appearance:none;box-sizing:border-box;flex:none;width:2.75rem;height:1.6rem;margin:0;border-radius:999px;
  border:1.5px solid var(--mf-line);background:var(--mn-line-2) radial-gradient(circle,#fff 0 .52rem,transparent .56rem) left .05rem center/1.4rem 1.4rem no-repeat;
  cursor:pointer;transition:background-color .2s,background-position .2s var(--mn-ease),border-color .2s}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox][role=switch]):checked{background-color:var(--mn-brand-d);border-color:var(--mn-brand-d);background-position:right .05rem center}
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=checkbox][role=switch]):focus-visible{outline:2px solid var(--mn-brand);outline-offset:2px}

/* option cards: label wrapping a radio/checkbox (visible or sr-only) */
:is(.mn-body,.sawalife-modular):not(#mf) main label:has(> input:is([type=checkbox],[type=radio])):is([class*="rounded"],[class*="border"]),
:is(.mn-body,.sawalife-modular):not(#mf) :is(.modular-content,dialog,[role=dialog]) label:has(> input:is([type=checkbox],[type=radio])):is([class*="rounded"],[class*="border"]){
  position:relative;background:var(--mf-field)!important;border:1px solid var(--mn-line-2)!important;border-radius:var(--mf-r)!important;box-shadow:none!important;
  padding:.85rem 1rem!important;min-height:3rem;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}
:is(.mn-body,.sawalife-modular):not(#mf) :is(main,.modular-content,dialog,[role=dialog]) label:has(> input:is([type=checkbox],[type=radio])):is([class*="rounded"],[class*="border"]):hover{border-color:var(--mf-line-h)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(main,.modular-content,dialog,[role=dialog]) label:has(> input:is([type=checkbox],[type=radio]):checked):is([class*="rounded"],[class*="border"]){
  border-color:var(--mn-brand-d)!important;box-shadow:inset 0 0 0 1px var(--mn-brand-d)!important;background:color-mix(in srgb,var(--mn-brand) 7%,var(--mf-field))!important;color:var(--mn-ink)}
:is(.mn-body,.sawalife-modular):not(#mf) :is(main,.modular-content,dialog,[role=dialog]) label:has(> input:is([type=checkbox],[type=radio]):focus-visible){outline:2px solid var(--mn-brand)!important;outline-offset:2px}
/* hidden-input cards get a filled check badge when selected */
:is(.mn-body,.sawalife-modular):not(#mf) :is(main,.modular-content,dialog,[role=dialog]) label:has(> input.sr-only:checked)::after{
  content:"";position:absolute;top:.5rem;right:.5rem;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--mn-brand-d) var(--mf-ico-check) center/100% no-repeat}

/* chips / filter pills / multi-choice answers: button[aria-pressed] */
:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed]:is(.rounded-full,.mf-chip):not(:has(img)),.mf-chip){
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.4rem 1rem!important;
  border:1px solid var(--mf-line)!important;border-radius:999px!important;background:var(--mf-field)!important;box-shadow:none!important;
  color:var(--mn-ink)!important;font-size:.9rem!important;font-weight:500!important;line-height:1.2;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed]:is(.rounded-full,.mf-chip):not(:has(img)),.mf-chip):hover{border-color:var(--mf-line-h)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed=true]:is(.rounded-full,.mf-chip):not(:has(img))){
  background:var(--mn-brand-d)!important;border-color:var(--mn-brand-d)!important;color:#fff!important;font-weight:600!important}
.dark :is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed=true]:is(.rounded-full,.mf-chip)),:is(.mn-body,.sawalife-modular).dark:not(#mf) :where(button[aria-pressed=true]:is(.rounded-full,.mf-chip)){color:var(--mn-on-brand)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed=true]:is(.rounded-full,.mf-chip):not(:has(svg,img)))::before{
  content:"";width:1rem;height:1rem;flex:none;margin-left:-.2rem;background:currentColor;-webkit-mask:var(--mf-m-check) center/contain no-repeat;mask:var(--mf-m-check) center/contain no-repeat}
:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed=true]:is(.rounded-full,.mf-chip)) :where(svg){color:currentColor!important}
@media (pointer:coarse){:is(.mn-body,.sawalife-modular):not(#mf) :where(button[aria-pressed]:is(.rounded-full,.mf-chip),.mf-chip){min-height:2.75rem}}

/* segmented control */
.mf-seg{display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--mf-line);border-radius:var(--mf-r);background:var(--mf-field)}
.mf-seg__btn{flex:1;min-height:2.5rem;padding:0 .9rem;border:0;border-radius:9px;background:transparent;color:var(--mn-text);font:600 .925rem/1 var(--mn-font);cursor:pointer;transition:background-color .15s,color .15s}
.mf-seg__btn:hover{color:var(--mn-ink);background:var(--mn-soft)}
.mf-seg__btn[aria-pressed=true]{background:var(--mn-ink);color:var(--mn-bg)}
.mf-seg__btn:focus-visible{outline:2px solid var(--mn-brand);outline-offset:2px}

/* range */
:is(.mn-body,.sawalife-modular):not(#mf) :where(input[type=range]){accent-color:var(--mn-brand-d);width:100%;min-height:2.75rem;cursor:pointer;background:transparent}
/* progress (questionnaires/onboarding) */
:is(.mn-body,.sawalife-modular):not(#mf) :where(progress){-webkit-appearance:none;appearance:none;width:100%;height:.375rem;border:0;border-radius:999px;background:var(--mn-line);overflow:hidden;accent-color:var(--mn-brand-d)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(progress)::-webkit-progress-bar{background:var(--mn-line)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(progress)::-webkit-progress-value{background:var(--mn-brand-d);border-radius:999px}
:is(.mn-body,.sawalife-modular):not(#mf) :where(progress)::-moz-progress-bar{background:var(--mn-brand-d);border-radius:999px}

/* =====================================================================
   BUTTONS inside forms & overlays (legacy .sawalife-button → mn-btn look)
   ===================================================================== */
.mf-btn-block{width:100%}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button){
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.65rem 1.25rem;border-radius:999px;
  border:1px solid var(--mn-line-2);background:transparent;color:var(--mn-ink);font-weight:600;font-size:.95rem;line-height:1.1;box-shadow:none;cursor:pointer;
  transition:background-color .15s,border-color .15s,color .15s,transform .15s}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button):hover{border-color:var(--mn-ink)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button-primary,.sawalife-button[class*="bg-brand-turquoise"],.sawalife-button[class*="bg-brand-navy"]){background:var(--mn-brand-d);border-color:var(--mn-brand-d);color:#fff}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button-primary):hover{background:var(--mn-ink);border-color:var(--mn-ink)}
.dark :is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button-primary),:is(.mn-body,.sawalife-modular).dark:not(#mf) :where(.sawalife-button-primary){color:var(--mn-on-brand)}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button[class*="bg-rose-"],.sawalife-button[class*="bg-red-"],.sawalife-button-danger){background:var(--mf-err);border-color:var(--mf-err);color:#fff}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button,.mn-btn):disabled{opacity:.5;cursor:not-allowed}
:is(.mn-body,.sawalife-modular):not(#mf) :where(.sawalife-button,.mn-btn):focus-visible{outline:2px solid var(--mn-brand);outline-offset:2px}
.mf-textbtn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 .15rem;border:0;background:none;color:var(--mn-brand-ink);font:600 .9rem/1.2 var(--mn-font);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:4px;cursor:pointer}
.mf-textbtn:hover{text-decoration-color:currentColor;color:var(--mn-ink)}
.mf-inlink{color:var(--mn-brand-ink);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px}
.mf-inlink:hover{text-decoration-color:currentColor}
.mf-ok{color:var(--mn-ok)}

/* =====================================================================
   D. ALERTS / NOTICES / VALIDATION SUMMARY
   ===================================================================== */
.mf-alert{--mf-tone:var(--mf-info);--mf-ico:var(--mf-m-info);display:flex;align-items:flex-start;gap:.7rem;padding:.8rem 1rem;
  border:0;border-left:2px solid var(--mf-tone);border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--mf-tone) 7%,transparent);
  color:var(--mn-ink);font-size:.9rem;line-height:1.55}
.mf-alert--success{--mf-tone:var(--mf-ok);--mf-ico:var(--mf-m-ok)}
.mf-alert--warning{--mf-tone:var(--mf-warn);--mf-ico:var(--mf-m-warn)}
.mf-alert--error{--mf-tone:var(--mf-err);--mf-ico:var(--mf-m-err)}
.mf-alert:not(.mf-alert--icon-slot):not(:has(>svg,>div>svg:first-child))::before{content:"";flex:none;width:1.15rem;height:1.15rem;margin-top:.12rem;background:var(--mf-tone);-webkit-mask:var(--mf-ico) center/contain no-repeat;mask:var(--mf-ico) center/contain no-repeat}
.mf-alert .mf-alert__i,.mf-alert>svg,.mf-alert>div>svg{color:var(--mf-tone)!important}
/* legacy notice boxes (role=status/alert or tinted semantic boxes) → same language */
:is(.mn-body,.sawalife-modular):not(#mf) :is(main,.modular-content,dialog,[role=dialog],form) :is([role=status],[role=alert]):is([class*="bg-"],[class*="border"]):not(.mf-alert,.mf-toastsheet,[data-cookie-consent-banner],.fixed,.absolute,[class*="rounded-full"]),
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.modular-content) div:is(.bg-emerald-50,[class*="bg-emerald-50/"],.bg-red-50,.bg-rose-50,[class*="bg-rose-50/"],.bg-amber-50,[class*="bg-amber-50/"],.bg-cyan-50,.bg-teal-50):is([class*="border"]):is([class*="p-"],[class*="px-"]):not([class*="size-"],[class*="rounded-full"]){
  --mf-tone:var(--mf-info);border:0!important;border-left:2px solid var(--mf-tone)!important;border-radius:0 10px 10px 0!important;
  background:color-mix(in srgb,var(--mf-tone) 7%,transparent)!important;background-image:none!important;box-shadow:none!important;color:var(--mn-ink)}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.modular-content,main) :is([class*="bg-emerald-"],[class*="border-emerald-"]):is([role=status],[role=alert],div[class*="border"]){--mf-tone:var(--mf-ok)}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.modular-content,main) :is([class*="bg-amber-"],[class*="border-amber-"],[class*="border-brand-gold"]):is([role=status],[role=alert],div[class*="border"]){--mf-tone:var(--mf-warn)}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.modular-content,main) :is([class*="bg-red-"],[class*="bg-rose-"],[class*="border-red-"],[class*="border-rose-"]):is([role=status],[role=alert],div[class*="border"]){--mf-tone:var(--mf-err)}

/* off-palette text colours inside forms & overlays → semantic tokens */
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.mf-gs,.mf-pop,.modular-content) :is([class*="text-amber-7"],[class*="text-amber-8"],[class*="text-amber-9"],[class*="text-orange-"]){color:var(--mf-warn)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.mf-gs,.mf-pop,.modular-content) :is([class*="text-emerald-"],[class*="text-green-"]){color:var(--mf-ok)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form,.mf-gs,.mf-pop,.modular-content) :is([class*="text-rose-"],[class*="text-red-"]){color:var(--mf-err)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is([class*="text-slate-9"],[class*="text-slate-8"],[class*="text-slate-7"],[class*="text-gray-9"],[class*="text-gray-8"]){color:var(--mn-ink)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is([class*="text-slate-6"],[class*="text-slate-5"],[class*="text-slate-4"],[class*="text-slate-3"],[class*="text-gray-5"],[class*="text-gray-4"]){color:var(--mn-mute)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is([class*="bg-slate-50"],[class*="bg-slate-100"],[class*="bg-gray-50"],[class*="bg-gray-100"]){background-color:var(--mn-soft)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is([class*="border-slate-"],[class*="border-gray-"],[class*="border-cyan-"]){border-color:var(--mn-line)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is([class*="bg-cyan-50"],[class*="bg-cyan-100"],[class*="bg-teal-50"]){background-color:var(--mn-brand-l)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],.mf-gs,.mf-pop) :is(.bg-white,[class*="bg-white/9"]):not(.mf-dlg__panel){background-color:var(--mn-surface)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog],form) :is([class*="bg-gradient-to"]):is([class*="from-cyan"],[class*="from-amber"],[class*="from-emerald"],[class*="from-brand-navy"],[class*="from-rose"],[class*="from-slate"]):not(:has(img)){background-image:none!important;background-color:transparent!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) [class*="shadow-"]:not(.mf-dlg__panel,[role=dialog]>*,dialog){box-shadow:none!important}

/* =====================================================================
   C. OVERLAYS — dialogs, sheets, popovers, banners
   ===================================================================== */
@keyframes mf-in{from{opacity:0;transform:translateY(10px) scale(.985)}}
@keyframes mf-up{from{opacity:.4;transform:translateY(100%)}}
@keyframes mf-fade{from{opacity:0}}

/* backdrops */
.mf-dlg__backdrop,.mf-overlay,
:is(.mn-body,.sawalife-modular):not(#mf) [class*="fixed"][class*="inset-0"]:is([class*="bg-brand-navy/"],[class*="bg-slate-950/"],[class*="bg-slate-900/"]):not(.sawalife-mobile-menu-dialog,.mn-drawer,:has(img:only-child)){
  background-color:var(--mf-backdrop)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
:is(.mn-body,.sawalife-modular):not(#mf) dialog:not(.mn-sheet,.sawalife-mobile-menu-dialog)::backdrop{background:var(--mf-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (prefers-reduced-motion:no-preference){.mf-dlg__backdrop,.mf-overlay{animation:mf-fade .2s ease-out}}

/* panel: native <dialog> (minus menus/galleries) + custom panels */
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog:not(.mn-sheet,.sawalife-mobile-menu-dialog,[class*="bg-transparent"]),.mf-dlg__panel,.mf-gs__panel){
  background:var(--mn-bg);color:var(--mn-text);border:1px solid var(--mn-line);border-radius:var(--mf-dlg-r);box-shadow:var(--mn-sh-lg);padding:0}
:is(.mn-body,.sawalife-modular):not(#mf) :is([role=dialog],[aria-modal=true]):not(dialog,.mf-gs,[data-cookie-consent-banner]) :is(div,section)[class*="shadow-2xl"]:not(.mf-dlg__panel){
  background:var(--mn-bg)!important;border:1px solid var(--mn-line)!important;border-radius:var(--mf-dlg-r)!important;box-shadow:var(--mn-sh-lg)!important}
.mf-dlg__panel{position:relative;max-width:32rem;max-height:calc(100dvh - 3rem);overflow-y:auto;overscroll-behavior:contain}
.mf-dlg__panel--sm{max-width:28rem}
.mf-dlg__panel--pad{padding:1.5rem}
@media (prefers-reduced-motion:no-preference){
  :is(.mn-body,.sawalife-modular):not(#mf) :is(dialog[open]:not(.mn-sheet,.sawalife-mobile-menu-dialog),.mf-dlg__panel,.mf-gs__panel){animation:mf-in .28s var(--mn-ease-out)}
}

/* dialog anatomy */
.mf-dlg__handle{display:none}
.mf-dlg__head{padding:1.5rem 1.5rem 0}
.mf-dlg__headrow{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--mn-line)}
.mf-dlg__body{padding:1.5rem}
.mf-dlg__eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mn-brand-ink)}
.mf-dlg__eyebrow::before{content:"";width:1.25rem;height:1px;background:currentColor;opacity:.6}
.mf-dlg__title{margin:0;color:var(--mn-ink);font-family:var(--mn-font);font-size:1.4rem;line-height:1.2;font-weight:600;letter-spacing:-.022em;text-wrap:balance}
.mf-dlg__title--sm{font-size:1.05rem;letter-spacing:-.01em}
.mf-dlg__lead{margin-top:.4rem;color:var(--mn-mute);font-size:.95rem;line-height:1.55}
.mf-dlg__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--mn-brand-l);color:var(--mn-brand-ink)}
.mf-dlg__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--mn-line)}
.mf-dlg__alt{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--mn-line);text-align:center;color:var(--mn-mute);font-size:.9rem}
.mf-dlg__close,
:is(.mn-body,.sawalife-modular):not(#mf) dialog:not(.mn-sheet,.sawalife-mobile-menu-dialog,[class*="bg-transparent"]) button:is([data-news-dialog-close],[aria-label])[class*="absolute"][class*="right-"]{
  position:absolute;top:.75rem;right:.75rem;z-index:5;display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;
  border:1px solid var(--mn-line)!important;border-radius:50%!important;background:var(--mn-bg)!important;color:var(--mn-ink)!important;font-size:1.35rem;line-height:1;cursor:pointer;
  box-shadow:none!important;transition:border-color .15s,background-color .15s}
.mf-dlg__close:hover,:is(.mn-body,.sawalife-modular):not(#mf) dialog button[aria-label][class*="absolute"][class*="right-"]:hover{border-color:var(--mn-ink)!important;background:var(--mn-surface)!important}
.mf-dlg__close:focus-visible{outline:2px solid var(--mn-brand);outline-offset:2px}
.mf-dlg__close--inline{position:static;flex:none}
/* legacy navy dialog headers → calm header on the panel surface */
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]){
  background:transparent!important;background-image:none!important;color:var(--mn-ink)!important;border-bottom:1px solid var(--mn-line)}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]) :is(.text-white,[class*="text-slate-1"],[class*="text-slate-2"],[class*="text-slate-3"],[class*="text-white/"]){color:var(--mn-text)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]) :is(h2,h3,[id$="-title"]){color:var(--mn-ink)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]) :is(.text-brand-gold,.text-brand-turquoise){color:var(--mn-brand-ink)!important}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]) :is([class*="bg-white/"],[class*="bg-brand-navy/"]){background:transparent!important;border:1px solid var(--mn-line)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(header,div):is(.bg-brand-navy,[class*="from-brand-navy"]):not(:has(img),.fixed,.absolute,[class*="size-"],[class*="rounded-full"],[class*="rounded-lg"]) [class*="blur-"][class*="absolute"]{display:none}
/* small navy chips/numbers inside overlays → outline */
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) :is(span,div):is(.bg-brand-navy)[class*="rounded"]:is([class*="size-"],[class*="px-"]):not(:has(img)){background:transparent!important;color:var(--mn-ink)!important;border:1px solid var(--mn-line-2)}
/* dialog primary actions in red only when destructive */
:is(.mn-body,.sawalife-modular):not(#mf) :is(dialog,[role=dialog]) button:is([class*="bg-rose-6"],[class*="bg-red-6"]){background:var(--mf-err)!important;color:#fff!important;border-color:var(--mf-err)!important}

/* mobile (<768px): every dialog/panel is a full-screen page — see mobile.css §4 */
@media (max-width:639px){
  .mf-dlg__actions{flex-direction:column-reverse;align-items:stretch}
  .mf-dlg__actions>*{width:100%;justify-content:center}
}

/* --- auth modal --- */
.mf-auth{max-height:calc(100dvh - 3rem);overflow-y:auto;overscroll-behavior:contain}
.mf-auth__intro{padding:1.5rem 4.25rem 1.1rem 1.5rem;border-bottom:1px solid var(--mn-line)}
.mf-auth__sub{margin-top:.5rem;color:var(--mn-ink);font-size:1rem;font-weight:600;line-height:1.4}
.mf-auth__perks{list-style:none;margin:.85rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem}
.mf-auth__perks li{display:flex;align-items:center;gap:.5rem;min-width:0;color:var(--mn-text);font-size:.85rem;line-height:1.3}
.mf-auth__perks li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-auth__perks svg{color:var(--mn-brand-ink)}
.mf-auth__seg{padding:1.1rem 1.5rem 0}
.mf-auth__body{padding:1.5rem;padding-bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + 1.25rem))}
.mf-auth__opt{padding:.15rem .9rem;border:1px solid var(--mn-line);border-radius:var(--mf-r)}
@media (max-width:639px){
  .mf-auth__frame{align-items:flex-end!important}
  .mf-auth{margin-top:auto;max-height:92dvh;border-radius:var(--mf-dlg-r) var(--mf-dlg-r) 0 0;border-bottom:0}
  .mf-auth__intro{padding:1rem 4rem .9rem 1.25rem}
  .mf-auth__perks{display:none}
  .mf-auth__seg{padding:1rem 1.25rem 0}
  .mf-auth__body{padding-inline:1.25rem}
  .mf-auth .mf-dlg__close{top:.9rem}
}
@media (max-width:639px){.mf-auth .mf-dlg__handle{position:absolute;left:50%;top:0;margin-left:-1.125rem}}

/* --- global search --- */
.mf-gs__panel{overflow:hidden}
.mf-gs__bar{min-height:4rem;padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));border-bottom:1px solid var(--mn-line);background:var(--mn-bg)}
.mf-gs__bar input{background:transparent!important;font-size:16px!important;color:var(--mn-ink)!important;min-height:2.75rem}
.mf-gs__bar input::placeholder{color:var(--mn-mute)!important}
.mf-gs__icon{color:var(--mn-mute);display:none}
@media (min-width:640px){.mf-gs__bar .mf-dlg__close{display:none}}
@media (min-width:640px){.mf-gs__icon{display:block}.mf-gs__bar{padding-inline:1.25rem}}
.mf-gs__clear{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;border:0;border-radius:50%;background:transparent;color:var(--mn-mute);cursor:pointer}
.mf-gs__clear:hover{background:var(--mn-soft);color:var(--mn-ink)}
.mf-gs__esc{align-items:center;justify-content:center;min-height:1.75rem;padding:0 .5rem;border:1px solid var(--mn-line-2);border-radius:6px;background:transparent;color:var(--mn-mute);font:600 .72rem var(--mn-font);cursor:pointer}
.mf-gs__chips{padding:.6rem 1rem;border-bottom:1px solid var(--mn-line);background:var(--mn-bg)}
.mf-gs__chips .mf-chip{min-height:2.25rem!important;font-size:.85rem!important;padding:.3rem .85rem!important}
.mf-gs__foot{padding:.6rem 1.25rem;border-top:1px solid var(--mn-line);color:var(--mn-mute);font-size:.75rem}
.mf-gs a.group{border-color:var(--mn-line)!important;box-shadow:none!important;background:transparent!important}
.mf-gs a.group:hover{border-color:var(--mn-ink)!important}
.mf-gs a.group span[class*="bg-cyan-50"]{background:var(--mn-brand-l)!important;color:var(--mn-brand-ink)!important}
@media (max-width:639px){.mf-gs__panel{border-radius:0!important;border:0!important}}

/* --- popovers: notifications dropdown, info bubble --- */
.mf-pop{padding:.5rem;background:var(--mn-surface);border:1px solid var(--mn-line);border-radius:16px;box-shadow:var(--mn-sh-lg);color:var(--mn-text)}
@media (prefers-reduced-motion:no-preference){.mf-pop{animation:mn-pop .18s var(--mn-ease-out)}}
.mf-pop a:hover{background:var(--mn-soft)!important}
:is(.mn-body,.sawalife-modular):not(#mf) [data-sawalife-tooltip]{border-radius:10px!important;background:var(--mn-ink)!important;color:var(--mn-bg)!important;box-shadow:var(--mn-sh-lg)!important}

/* --- cookie banner: compact floating bar --- */
.mf-cookie{left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));max-width:52rem;margin-inline:auto;padding:.85rem 1rem;
  background:var(--mn-bg);color:var(--mn-text);border:1px solid var(--mn-line);border-radius:16px;box-shadow:var(--mn-sh-lg)}
.mf-cookie__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem}
.mf-cookie__text{flex:1 1 20rem;margin:0;font-size:.875rem;line-height:1.5;color:var(--mn-text)}
.mf-cookie__actions{display:flex;gap:.5rem;flex:none}
@media (max-width:479px){.mf-cookie__actions{width:100%;flex-direction:column-reverse}.mf-cookie__actions>*{width:100%;white-space:normal}}
@media (prefers-reduced-motion:no-preference){.mf-cookie:not([hidden]){animation:mf-in .3s var(--mn-ease-out)}}

/* --- PWA install prompt: compact sheet --- */
.mf-toastsheet{left:.75rem;right:.75rem;bottom:calc(4.75rem + env(safe-area-inset-bottom));padding:1rem;background:var(--mn-bg);color:var(--mn-text);border:1px solid var(--mn-line);border-radius:16px;box-shadow:var(--mn-sh-lg)}
@media (min-width:640px){.mf-toastsheet{left:auto;right:1.5rem;bottom:1.5rem;width:24rem}}
.mf-toastsheet__title{margin-top:.35rem;color:var(--mn-ink);font-size:.95rem;font-weight:600;line-height:1.3}
.mf-toastsheet__text{margin-top:.2rem;color:var(--mn-mute);font-size:.85rem;line-height:1.45}
.mf-toastsheet__actions{display:flex;align-items:center;gap:.5rem;margin-top:.85rem}
.mf-toastsheet__actions .mn-btn--primary{flex:1}
.mf-appicon{border-radius:12px;border:1px solid var(--mn-line)}
.mf-steps-list{display:grid;margin-top:1rem}
.mf-stepitem{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 0;border-top:1px solid var(--mn-line)}
.mf-stepitem:first-child{border-top:0}
.mf-stepitem__n{display:grid;place-items:center;flex:none;width:1.75rem;height:1.75rem;border-radius:50%;border:1.5px solid var(--mn-brand-d);color:var(--mn-brand-ink);font-size:.8rem;font-weight:700}
.mf-stepitem__t{flex:1;font-size:.9rem;color:var(--mn-ink)}
.mf-stepitem>svg{color:var(--mn-brand-ink)}
.mf-mute-xs{margin-top:.15rem;color:var(--mn-mute);font-size:.8125rem;line-height:1.45}

/* reduced motion: no transforms anywhere in this layer */
@media (prefers-reduced-motion:reduce){
  .mf-dlg__panel,.mf-gs__panel,.mf-pop,.mf-cookie,.mf-overlay,.mf-dlg__backdrop,
  :is(.mn-body,.sawalife-modular) dialog[open]{animation:none!important}
  :is(.mn-body,.sawalife-modular) :where(input,button,label,select,textarea){transition:none!important}
}
