/* Projects/Item-requests-v1/masters.css — Masters, after Sourav's Figma Masters frames (Requests-Task 1249:15848), on Antz
   tokens: tinted page (SurfaceVariant), white 8px cards, navy detail header (OnSecondaryContainer), Overview/Members tabs with
   a green underline, cyan Add (Secondary), navy Submit (OnPrimaryContainer); 24px page gutter, 16px inside cards. */
.device.in-masters #main { padding: 0 var(--sp-24) var(--sp-24); background: var(--md3-surface-variant); }
.device.in-masters main > .top { margin: 0 calc(-1 * var(--sp-24)); padding: 0 var(--sp-16) 0 var(--sp-12); }
.device.in-masters main > * + * { margin-top: var(--sp-16); }
.in-masters .muted { color: var(--md3-neutral-secondary); }
.mlist { margin-top: var(--sp-24) !important; }
.mod__t .muted { color: var(--md3-neutral-secondary); }

/* buttons */
.device .btn.navy { height: 52px; background: var(--md3-on-primary-container); border-color: var(--md3-on-primary-container); color: var(--md3-on-primary); }
.device .btn.cyan { height: 52px; background: var(--md3-secondary); border-color: var(--md3-secondary); color: var(--md3-on-primary); }
.device .btn.navy .app-icon, .device .btn.cyan .app-icon { color: var(--md3-on-primary); }
.device .btn.navy:disabled { background: var(--md3-surface-variant); border-color: var(--md3-surface-variant); color: var(--md3-on-primary); }
.mfoot { position: sticky; bottom: calc(-1 * var(--sp-24)); z-index: 3; margin: auto calc(-1 * var(--sp-24)) calc(-1 * var(--sp-24)) !important; padding: var(--sp-16) var(--sp-24) var(--sp-20); background: var(--md3-on-primary); box-shadow: 0 -1px 0 var(--md3-surface-variant); display: flex; }
.mfoot .btn { flex: 1; }
.mlink { display: inline-flex; align-items: center; gap: var(--sp-4); height: 40px; padding: 0 var(--sp-8); border: 0; border-radius: 8px; background: none; color: var(--md3-secondary); }
.mlink .app-icon { color: var(--md3-secondary); }
.mlink:active { background: var(--md3-displaybg-primary); }
.mx { width: 40px; height: 40px; flex: none; display: grid; place-items: center; padding: 0; border: 0; background: none; color: var(--md3-tertiary); border-radius: 20px; }
.mx:active { background: var(--md3-tertiary-container-a20, var(--md3-displaybg-primary)); }
.top__btn.sm { width: 40px; height: 40px; }
.mfab { position: absolute; right: var(--sp-24); bottom: var(--sp-24); z-index: 6; }

/* list pages */
.mcount { color: var(--md3-on-surface-variant); }
.mgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-12); margin-top: var(--sp-8) !important; padding-bottom: 96px; }
.mcard { display: flex; align-items: center; gap: var(--sp-16); padding: var(--sp-16); border-radius: 8px; background: var(--md3-on-primary); color: var(--md3-neutral-primary); text-decoration: none; }
.mcard > .grow { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mcard > .app-icon { color: var(--md3-outline); flex: none; }
.mcard__ic, .mkind { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 12px; background: var(--md3-displaybg-primary); color: var(--md3-on-primary-container); }
.mkind { width: 40px; height: 40px; border-radius: 10px; }
.mkind.ent { background: var(--md3-on-background); color: var(--md3-primary-dark, var(--md3-on-primary-container)); }
.mstat { display: flex; flex-wrap: wrap; gap: var(--sp-12); margin-top: var(--sp-8); color: var(--md3-on-surface-variant); }
.mstat > span { display: inline-flex; align-items: center; gap: var(--sp-4); }
.mstat .app-icon { color: var(--md3-outline); }
.mstat .warn, .mstat .warn .app-icon { color: var(--md3-tertiary); }
.mtools { display: flex; align-items: center; gap: var(--sp-12); margin-top: var(--sp-16) !important; }
.msearch { height: 48px; border-radius: 8px; flex: 1; }
.mteams { display: flex; gap: var(--sp-8); overflow-x: auto; padding: var(--sp-12) var(--sp-16); background: var(--md3-on-primary); scrollbar-width: none; flex: none; }
.mteams.flat { margin: var(--sp-12) calc(-1 * var(--sp-24)) 0 !important; padding: 0 var(--sp-24); background: none; }
.mteam { flex: none; height: 36px; padding: 0 var(--sp-12); border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-primary); color: var(--md3-on-surface-variant); white-space: nowrap; }
.mteam.on { background: var(--md3-on-background); border-color: var(--md3-primary); color: var(--md3-neutral-primary); }
.mteam .muted { margin-left: 2px; }
.mzero { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-16); min-height: 320px; color: var(--md3-on-surface-variant); }

/* detail page: navy header + tabs */
.mpage { display: flex; flex-direction: column; flex: 1; margin: 0 calc(-1 * var(--sp-24)) calc(-1 * var(--sp-24)); }
.mhero { padding: var(--sp-12) var(--sp-24) var(--sp-24) var(--sp-12); background: var(--md3-on-secondary-container); color: var(--md3-on-primary); }
.mhero__bar { display: flex; justify-content: space-between; margin-bottom: var(--sp-8); }
.mhero .top__btn, .mhero .top__btn .app-icon { color: var(--md3-on-primary); }
.mhero h1 { margin: 0 0 0 var(--sp-12); }
.mhero p { margin: var(--sp-8) 0 0 var(--sp-12); color: var(--md3-on-primary-a80); max-width: 560px; }
.mtabs { position: sticky; top: 0; z-index: 4; display: flex; background: var(--md3-on-primary); box-shadow: 0 1px 0 var(--md3-surface-variant); }
.mtab { flex: 1; height: 48px; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--md3-on-surface-variant); }
.mtab.on { border-bottom-color: var(--md3-primary); color: var(--md3-primary-dark, #006D35); }
.mbody { flex: 1; display: flex; flex-direction: column; gap: var(--sp-16); padding: var(--sp-24); }
.mbody.hasfoot { padding-bottom: 0; }
.mbody > .mfoot { margin: auto calc(-1 * var(--sp-24)) 0 !important; bottom: 0; }

/* sections (his Preferences / Created by blocks) */
.msec { display: flex; flex-direction: column; gap: var(--sp-12); padding: var(--sp-16); border-radius: 8px; background: var(--md3-on-primary); }
.msec__h { display: flex; align-items: center; gap: var(--sp-8); min-height: 24px; color: var(--md3-neutral-primary); }
.msec__h > .app-icon { color: var(--md3-on-surface-variant); }
.msec__h .mlink { margin: -8px -8px -8px 0; }
.msec__h b.req, .mfld b { color: var(--md3-error); font-weight: 500; }
.mfacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-16) var(--sp-24); }
.mfacts > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mlinkt { color: var(--md3-on-secondary-container); text-decoration: underline; text-underline-offset: 3px; }
.mprefs { display: flex; flex-direction: column; border-radius: 8px; background: var(--md3-background); }
.mprefs > div { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 var(--sp-12); }
.mprefs .ok, .mprefs .ok .app-icon { color: var(--md3-primary); display: flex; }
.mprefs .bad, .mprefs .bad .app-icon { color: var(--md3-error); display: flex; }
.mwhite { border-radius: 8px; background: var(--md3-background); }
.mprow { display: flex; align-items: center; gap: var(--sp-12); min-height: 64px; padding: var(--sp-8) var(--sp-8) var(--sp-8) var(--sp-12); }
.mprow > .grow { display: flex; flex-direction: column; min-width: 0; color: var(--md3-neutral-primary); }
.mav { width: 40px; height: 40px; background: var(--md3-outline); color: var(--md3-on-primary); }
.mcall { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--md3-on-secondary-container); color: var(--md3-on-primary); }
.mcall .app-icon { color: var(--md3-on-primary); }
.mrows { display: flex; flex-direction: column; gap: var(--sp-8); }
.mrows.tint .mprow { border-radius: 8px; background: var(--md3-on-primary); }
.mbody > .mrows.tint .mprow { background: var(--md3-on-primary); }
.mrow { display: flex; align-items: center; gap: var(--sp-12); min-height: 64px; padding: var(--sp-8) var(--sp-8) var(--sp-8) var(--sp-12); border-radius: 8px; background: var(--md3-background); }
.mrow > .grow { display: flex; flex-direction: column; min-width: 0; color: var(--md3-neutral-primary); }
.mnone { padding: var(--sp-12); }
.mrule { flex: none; padding: 2px var(--sp-8); border-radius: 6px; background: var(--md3-displaybg-primary); color: var(--md3-on-primary-container); }

/* approvals */
.mbody > .mtools { margin-top: 0 !important; }
.mamt { flex: 1; display: flex; align-items: center; gap: var(--sp-8); height: 48px; padding: 0 var(--sp-16); border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-primary); color: var(--md3-on-surface-variant); }
.mamt input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; color: var(--md3-neutral-primary); font: inherit; }
.mver { height: 48px; box-sizing: border-box; padding: 0; overflow: hidden; }
.mver button { width: 48px; height: 100%; border-radius: 0; }
.mver button + button { border-left: 1px solid var(--md3-outline-variant); }
.mhit { display: flex; align-items: center; gap: var(--sp-8); padding: var(--sp-12) var(--sp-16); border-radius: 8px; background: var(--md3-on-background); color: var(--md3-neutral-primary); }
.mhit .app-icon { color: var(--md3-primary); }
.mhit:empty { display: none; }
.mtiers { display: flex; flex-direction: column; gap: var(--sp-12); }
.mtier { display: flex; flex-direction: column; border-radius: 8px; background: var(--md3-on-primary); border: 2px solid transparent; overflow: hidden; }
.mtier.hit { border-color: var(--md3-primary); }
.mtier__h { display: flex; align-items: center; gap: var(--sp-8); padding: var(--sp-8) var(--sp-8) var(--sp-8) var(--sp-16); }
.mtier__h .t-minor-title { flex: 1; color: var(--md3-neutral-primary); }
.mtier__r { display: flex; align-items: center; justify-content: space-between; margin: 0 var(--sp-8); padding: var(--sp-12) var(--sp-12); border-radius: 6px; background: var(--md3-background); }
.mamtv { color: var(--md3-primary-dark, #006D35); }
.mtier__p { display: flex; flex-direction: column; padding: var(--sp-8) 0 0; }
.mtier__p .mprow { margin: 0 var(--sp-8); border-bottom: 1px solid var(--md3-background); }
.mtier__p .mprow:last-child { border-bottom: 0; }
.mtier__add { align-self: flex-start; margin: var(--sp-4) var(--sp-8) var(--sp-8); }
.mempty { display: flex; align-items: center; gap: var(--sp-8); margin: 0 var(--sp-8); padding: var(--sp-12); border-radius: 6px; background: var(--md3-tertiary-container-a20, #FFF1EC); color: var(--md3-tertiary); }
.mempty .app-icon { color: var(--md3-tertiary); flex: none; }
.mchain { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mchain li { position: relative; display: flex; gap: var(--sp-16); padding-bottom: var(--sp-16); }
.mchain li::before { content: ''; position: absolute; left: 19px; top: 40px; bottom: 0; width: 2px; background: var(--md3-outline-variant); }
.mchain li:last-child::before { display: none; }
.mchain__n { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--md3-on-primary); color: var(--md3-on-primary-container); border: 2px solid var(--md3-outline-variant); }
.mchain li.hit .mchain__n { background: var(--md3-primary); border-color: var(--md3-primary); color: var(--md3-on-primary); }
.mchain__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-12); padding: var(--sp-12) var(--sp-8) var(--sp-16) var(--sp-16); border-radius: 8px; background: var(--md3-on-primary); }
.mchain li.hit .mchain__b { box-shadow: 0 0 0 2px var(--md3-primary); }
.mchain__h { display: flex; align-items: center; gap: var(--sp-8); min-height: 40px; }
.mchain__h .t-minor-title { flex: 1; color: var(--md3-primary-dark, #006D35); }
.mchain .mempty { margin: 0 var(--sp-8) 0 0; }
.mchips { display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.mchip { display: inline-flex; align-items: center; gap: var(--sp-8); height: 40px; padding: 0 var(--sp-4) 0 var(--sp-4); border-radius: 20px; background: var(--md3-background); color: var(--md3-neutral-primary); border: 0; }
.mchip .mav { width: 32px; height: 32px; font-size: 12px; }
.mchip button { width: 32px; height: 32px; border: 0; border-radius: 16px; background: none; display: grid; place-items: center; color: var(--md3-on-surface-variant); }
.mchip.add { padding: 0 var(--sp-12); background: none; border: 1px dashed var(--md3-secondary); color: var(--md3-secondary); }
.mchip.add .app-icon { color: var(--md3-secondary); }

/* pickers */
.mpb { display: flex; flex-direction: column; gap: var(--sp-8); }
.mpc { min-height: 72px; }
.mpc.had { opacity: .55; }
.mtick, .mtick .app-icon { color: var(--md3-primary); display: flex; }
.mpf { justify-content: space-between; align-items: center; }
.mpf__n { color: var(--md3-primary); }
.mpf .btn { min-width: 160px; }
.mgrp { margin: var(--sp-8) 0 0; color: var(--md3-on-surface-variant); text-transform: uppercase; letter-spacing: .5px; }
.mgrp:first-child { margin-top: 0; }
.mcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-4); padding: var(--sp-8) var(--sp-24); background: var(--md3-on-primary); color: var(--md3-on-surface-variant); border-top: 1px solid var(--md3-background); }
.mcrumbs button { border: 0; background: none; padding: var(--sp-4); color: var(--md3-on-secondary-container); text-decoration: underline; text-underline-offset: 3px; font: inherit; }
.mcrumbs b { color: var(--md3-neutral-primary); font-weight: 500; }
.ment { padding: 0; gap: 0; }
.ment__t { flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--sp-12); min-height: 72px; padding: var(--sp-12) var(--sp-16); border: 0; background: none; text-align: left; color: var(--md3-neutral-primary); font: inherit; }
.ment__t:disabled { cursor: default; }
.ment__in { width: 56px; align-self: stretch; flex: none; display: grid; place-items: center; border: 0; border-left: 1px solid var(--md3-background); background: none; color: var(--md3-outline); }

/* ⋮ menu */
.mpopw { position: absolute; inset: 0; z-index: 30; display: none; }
.mpopw.on { display: block; }
.mpop { position: absolute; min-width: 220px; padding: var(--sp-8) 0; border-radius: 8px; background: var(--md3-on-primary); box-shadow: 0 4px 16px var(--md3-neutral-primary-a20), 0 1px 3px var(--md3-neutral-primary-a10); }
.mpop button { width: 100%; display: flex; align-items: center; gap: var(--sp-12); height: 48px; padding: 0 var(--sp-16); border: 0; background: none; color: var(--md3-neutral-primary); text-align: left; }
.mpop button .app-icon { color: var(--md3-on-surface-variant); }
.mpop button.bad, .mpop button.bad .app-icon { color: var(--md3-error); }
.mpop button:active { background: var(--md3-background); }

/* forms (his Add Department) */
.mformtop .top__title { margin-left: var(--sp-12); }
.mform { display: flex; flex-direction: column; gap: var(--sp-16); padding-bottom: var(--sp-24); }
.mfld { display: flex; flex-direction: column; gap: var(--sp-8); color: var(--md3-on-surface-variant); }
.mfld + .mfld { margin-top: var(--sp-4); }
.sh-b .mfld + .mfld { margin-top: var(--sp-16); }
.minp { height: 56px; padding: 0 var(--sp-16); border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-background); color: var(--md3-neutral-primary); font: inherit; font-size: 16px; outline: 0; }
.minp:focus, .minp:focus-within { border-color: var(--md3-on-secondary-container); }
.mta { height: 104px; padding: var(--sp-12) var(--sp-16); resize: none; }
.mrs { display: flex; align-items: center; gap: var(--sp-8); }
.mrs input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; font: inherit; color: inherit; }
.mkinds { display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.mkchip { display: inline-flex; align-items: center; gap: var(--sp-8); height: 44px; padding: 0 var(--sp-16); border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-primary); color: var(--md3-on-surface-variant); }
.mkchip .app-icon { color: var(--md3-outline); }
.mkchip.on { background: var(--md3-on-background); border-color: var(--md3-primary); color: var(--md3-neutral-primary); }
.mkchip.on .app-icon { color: var(--md3-primary); }
.mtgls { display: flex; flex-direction: column; gap: var(--sp-8); }
.mtgl { width: 100%; padding: 0 var(--sp-16); border: 1px solid var(--md3-outline-variant) !important; border-radius: 8px; background: var(--md3-on-primary); color: var(--md3-neutral-primary); font: inherit; }
.sh-b .tgl { width: 100%; margin-top: var(--sp-16); padding: 0 var(--sp-16); border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-primary); font: inherit; }
.mpic { width: 140px; height: 140px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--sp-8); border: 1px dashed var(--md3-outline); border-radius: 8px; background: var(--md3-background); color: var(--md3-on-surface-variant); }
.mprev { display: flex; flex-direction: column; gap: var(--sp-4); margin-top: var(--sp-16); padding: var(--sp-12) var(--sp-16); border-radius: 8px; background: var(--md3-on-primary); }
.mprev:empty { display: none; }
.mprev .bad { color: var(--md3-error); }
.mprev__t { color: var(--md3-neutral-primary); }

/* department kind tiles */
.mcard__ic.k-pharmacy { background: var(--md3-on-background); }
.mcard__ic.k-kitchen { background: var(--md3-moderate-primary-a30); color: var(--md3-on-tertiary-container); }
.mcard__ic.k-hospital { background: var(--md3-tertiary-container-a20, #FFF1EC); color: var(--md3-tertiary); }
.mfab { border: 0; padding: 0; }
.mver { flex: none; display: flex; border: 1px solid var(--md3-outline-variant); border-radius: 8px; background: var(--md3-on-primary); }
.mver button { display: grid; place-items: center; border: 0; background: none; color: var(--md3-on-surface-variant); }
.mver button .app-icon { color: inherit; }
.mver button.on { background: var(--md3-on-primary-container); color: var(--md3-on-primary); }
.mbody > .msearch { flex: none; }

/* vendors (Antz app Vendors / Vendor details / Assign sites, redesigned): the sites sit on the department ↔ vendor link */
.mvav { width: 48px; height: 48px; background: var(--md3-secondary); color: var(--md3-on-primary); }
.mcard > .mvav { flex: none; }
.mvens { display: flex; flex-direction: column; gap: var(--sp-12); }
.mven { display: flex; flex-direction: column; gap: var(--sp-8); padding: var(--sp-8) var(--sp-8) var(--sp-12); border-radius: 8px; background: var(--md3-on-primary); }
.mven__h { display: flex; align-items: center; gap: var(--sp-12); padding: var(--sp-4) 0 0 var(--sp-8); }
.mven__h > .grow { display: flex; flex-direction: column; min-width: 0; }
.mvn { color: var(--md3-neutral-primary); text-decoration: none; }
.mven__s { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-8) var(--sp-12); margin: 0 0 0 var(--sp-8); padding: var(--sp-8) var(--sp-4) var(--sp-8) var(--sp-12); border-radius: 6px; background: var(--md3-background); }
.mven__l { flex: none; }
.msites { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; gap: var(--sp-8); }
.msite { display: inline-flex; align-items: center; gap: var(--sp-4); height: 32px; padding: 0 var(--sp-12) 0 var(--sp-8); border-radius: 16px; background: var(--md3-on-primary); color: var(--md3-neutral-primary); text-decoration: none; border: 1px solid var(--md3-surface-variant); }
.msite .app-icon { color: var(--md3-primary); }
.msite.all { background: var(--md3-on-background); border-color: var(--md3-primary); }
.mven__s .mempty { margin: 0; padding: var(--sp-4) var(--sp-8); background: none; }
.mven__s .mlink { margin-left: auto; }
.msub { margin-left: var(--sp-24); padding-left: var(--sp-12); border-left: 2px solid var(--md3-surface-variant); }
.mtgls > .msub.mfld { margin-top: 0; }
.mcrows { padding: var(--sp-4) 0; }
.mcrow { display: flex; align-items: center; gap: var(--sp-12); min-height: 56px; padding: var(--sp-8) var(--sp-16); }
.mcrow + .mcrow { border-top: 1px solid var(--md3-on-primary); }
.mcrow > .app-icon { color: var(--md3-on-surface-variant); flex: none; }
.mcrow > .grow { display: flex; flex-direction: column; min-width: 0; color: var(--md3-neutral-primary); }
.sh-b.mpb > .tgl { margin-top: 0; }
.pcard:disabled { cursor: default; }
.mpb .pcard { flex: none; flex-direction: row; justify-content: flex-start; text-align: left; }

/* ---------- review pass (23 Oct): CTA bars sit flush on the bottom edge; one avatar colour; spacing ---------- */
.device.in-masters #main { padding-bottom: 0; }
.device.in-masters #main > .mods, .device.in-masters #main > .mgrid { padding-bottom: 104px; }   /* room above the FAB */
.mpage { margin: 0 calc(-1 * var(--sp-24)); min-height: 100%; }
.mbody { padding: var(--sp-24); }
.mbody.hasfoot { padding-bottom: 0; }
.mfoot, .mbody > .mfoot { position: sticky; bottom: 0; z-index: 5; margin: auto calc(-1 * var(--sp-24)) 0 !important; padding: var(--sp-16) var(--sp-24) var(--sp-24); background: var(--md3-on-primary); box-shadow: 0 -1px 0 var(--md3-surface-variant), 0 -4px 12px var(--md3-neutral-primary-a5, transparent); }
.mbody.hasfoot > .mfoot { margin-top: auto !important; }
.mbody.hasfoot > :nth-last-child(2) { margin-bottom: var(--sp-24); }
.mform { padding-bottom: var(--sp-24); }
.mform + .mfoot { margin-top: auto !important; }
.mzero { flex: 1; }
.mav, .mvav { background: var(--md3-secondary); color: var(--md3-on-primary); }
.mprow .mav { width: 40px; height: 40px; }
.mfab { bottom: var(--sp-24) !important; }
.mcount { margin-top: var(--sp-24) !important; }
.mtools + .mcount, .mteams + .mcount { margin-top: var(--sp-16) !important; }
.mbody > .mcount { margin-top: 0 !important; }
.mhero h1 { line-height: 28px; }
.mhero p { line-height: 20px; }
.mrows.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .mrows.two > .mnone { grid-column: 1 / -1; }

/* zoo approval: the step after the cost centre's tiers */
.mzoo { display: flex; align-items: center; gap: var(--sp-12); margin-top: var(--sp-12); padding: var(--sp-12) var(--sp-12) var(--sp-12) var(--sp-16); border-radius: 8px; border: 1px dashed var(--md3-on-secondary-container); background: var(--md3-displaybg-primary); color: var(--md3-neutral-primary); text-decoration: none; }
.mzoo.hit { border: 2px solid var(--md3-primary); background: var(--md3-on-background); }
.mzoo > .app-icon { color: var(--md3-outline); flex: none; }
.mzoo__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mzoo.chain { margin-top: 0; border: 0; background: none; padding: 0 0 0 0; align-items: flex-start; }
.mzoo.chain .mchain__n { color: var(--md3-on-secondary-container); }
.mzoo.chain .mzoo__b { padding: var(--sp-12) var(--sp-16); border-radius: 8px; border: 1px dashed var(--md3-on-secondary-container); background: var(--md3-displaybg-primary); margin-left: var(--sp-16); }
.mzoo.chain.hit .mzoo__b { border: 2px solid var(--md3-primary); background: var(--md3-on-background); }
.mzoo.chain.hit .mchain__n { background: var(--md3-primary); border-color: var(--md3-primary); color: var(--md3-on-primary); }
.mzoo.chain > .app-icon { align-self: center; }
.mchain + .mzoo.chain { margin-top: calc(-1 * var(--sp-4)); }
.mzbody { display: flex; flex-direction: column; gap: var(--sp-16); flex: 1; margin-top: var(--sp-24) !important; }
.mzbody > .mtools { margin-top: 0 !important; }
.mzlim__v { display: flex; flex-direction: column; gap: var(--sp-4); }
.mzbody > .mfoot { margin-top: auto !important; }
.mzoo.chain > .app-icon { display: none; } .mzoo.chain .mzoo__b { margin-left: var(--sp-16); }
/* department = its display picture, else initials (Sourav, 23 Oct: no invented type icons) */
.mdav { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 10px; overflow: hidden; background: var(--md3-surface-variant); color: var(--md3-on-secondary-container); }
.mdav.mdav--lg { width: 48px; height: 48px; border-radius: 12px; }
.mdav.mdav--xs { width: 20px; height: 20px; border-radius: 6px; font-size: 9px; }
.mdav img { width: 100%; height: 100%; object-fit: cover; }
/* deal slips */
.mds-grid { grid-template-columns: 1fr; }
.mds-card .dsbar, .mds-bar { margin: var(--sp-8) 0 var(--sp-4); background: var(--md3-background); }
.mds-bar i { background: var(--md3-primary); }
.mds-sep { width: 1px; height: 24px; flex: none; align-self: center; background: var(--md3-outline-variant); }
.mds-cap { display: flex; justify-content: space-between; color: var(--md3-on-surface-variant); }
.mds-it, .mds-req { background: var(--md3-on-primary); border-radius: 8px; text-decoration: none; color: inherit; }
.mds-it .nthumb, .mds-it .nthumb img, .mds-fi .nthumb, .mds-fi .nthumb img { width: 44px; height: 44px; border-radius: 8px; }
.mds-rate { display: flex; flex-direction: column; align-items: flex-end; }
.mds-file { display: flex; align-items: center; gap: var(--sp-12); padding: var(--sp-12) var(--sp-16); border: 0; border-radius: 8px; background: var(--md3-background); font: inherit; color: var(--md3-neutral-primary); width: 100%; text-align: left; }
.mds-up { width: 100%; height: 96px; }
.mds-2 { display: grid; grid-template-columns: 200px 1fr; gap: var(--sp-16); }
.mds-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--sp-16); }
.mds-2 .mfld + .mfld, .mds-3 .mfld + .mfld { margin-top: 0; }
.mds-cut { max-width: 280px; margin-top: var(--sp-16) !important; }
.mds-mode { align-self: flex-start; }
.mds-fh, .mds-fi { display: grid; grid-template-columns: minmax(0, 1fr) 190px 120px 40px; gap: var(--sp-12); align-items: center; }
.mds-fh { padding: 0 var(--sp-12); color: var(--md3-on-surface-variant); }
.mds-fh span:first-child { padding-left: 56px; }
.mds-fis { display: flex; flex-direction: column; gap: var(--sp-8); }
.mds-fi { grid-template-columns: 44px minmax(0, 1fr) 190px 120px 40px; padding: var(--sp-8) var(--sp-12); border-radius: 8px; background: var(--md3-background); }
.mds-fi > .grow { display: flex; flex-direction: column; min-width: 0; }
.mds-in { height: 48px; background: var(--md3-on-primary); }
.mds-in input { width: 100%; }
/* deal slip form: dropdowns, related fields side by side */
.mds-2e, .mds-2v { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-16); }
.mds-2v { grid-template-columns: 1fr 240px; }
.mds-2e .mfld + .mfld, .mds-2v .mfld + .mfld { margin-top: 0; }
.mds-cut { max-width: none; margin-top: 0 !important; }
.device select.inp.minp { background-color: var(--md3-on-background); }
.mds-dd { display: flex; align-items: center; gap: var(--sp-8); width: 100%; text-align: left; cursor: pointer; }
.mds-dd > .grow { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mds-dd > .app-icon { color: var(--md3-on-surface-variant); }
.mds-ck { display: flex !important; align-items: center; gap: var(--sp-12); }
.mds-fh { margin-top: var(--sp-8); }
.mds-ck .cbx { display: grid; place-items: center; } .mds-ck .cbx .app-icon { color: var(--md3-on-primary) !important; } .mds-ck { color: var(--md3-neutral-primary) !important; }
/* field tint = Antz Surface (Sourav, 23 Oct) */
.minp, .device select.inp.minp, .mds-dd { background-color: var(--md3-surface) !important; }
.mds-in { background: var(--md3-on-primary) !important; }
/* projects / budgets / catalogue */
.bd-top { flex: 1; }
.bd-sum { padding: var(--sp-16) var(--sp-20); }
.bd-sum__n { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-16); }
.bd-sum__n > span { display: flex; flex-direction: column; gap: 2px; color: var(--md3-neutral-primary); }
.bd-lines { gap: var(--sp-12); }
.bd-line { width: 100%; display: flex; align-items: center; gap: var(--sp-12); padding: var(--sp-16); border: 0; border-radius: 8px; background: var(--md3-on-primary); text-align: left; font: inherit; color: var(--md3-neutral-primary); }
.bd-line > .grow { display: flex; flex-direction: column; gap: var(--sp-8); min-width: 0; }
.bd-line > .app-icon { color: var(--md3-outline); }
.bd-line__h { display: flex; align-items: baseline; gap: var(--sp-8); }
.bd-line__h .grow { flex: 1; }
.bd-bar { height: 8px; background: var(--md3-background); }
.bd-warn { display: inline-flex; align-items: center; gap: 4px; color: var(--md3-tertiary); }
.bd-warn .app-icon { color: var(--md3-tertiary); }
.ct-cat { width: 240px; flex: none; height: 48px; }
.ct-row .nthumb, .ct-row .nthumb img { width: 44px; height: 44px; border-radius: 8px; }
.ct-store { gap: var(--sp-16); }
.ct-ro { display: flex; align-items: center; gap: var(--sp-8); }
.ct-ro input { width: 96px; height: 44px; }
.mprow.mds-req { min-height: 64px; }
