.mflib{--bg:#14151A;--bg2:#191B21;--panel:#5E1720;--panel2:#6E1B25;--gold:#D9A441;--gold2:#E8BE6A;--bone:#E9E2D2;--mut:#9A948A;--line:#2C2E36;--pass:#7FB77E;--warn:#E8BE6A;--fail:#C4574D;--mf:#B0473F}
.mflib *{box-sizing:border-box;margin:0;padding:0}
.mflib .lib{display:grid;grid-template-columns:250px 1fr;gap:26px;max-width:1400px;margin:0 auto;padding:22px 22px 70px;align-items:start;font-family:'Archivo',system-ui,sans-serif;font-size:15px;line-height:1.55;color:var(--bone)}
@media (max-width:980px){.mflib .lib{grid-template-columns:1fr}}
.mflib nav.side{position:sticky;top:12px;background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:12px 0}
.mflib nav.side .t{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--gold);padding:10px 16px 4px}
.mflib nav.side a{display:block;padding:7px 16px;color:#CFC8BA;text-decoration:none;font-size:13.5px;border-left:3px solid transparent}
.mflib nav.side a:hover{color:var(--bone);background:#20222A}
.mflib nav.side a.on{color:var(--gold2);border-left-color:var(--gold);background:#20222A}
.mflib nav.side .tag{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--mut);margin-left:6px}
@media (max-width:980px){.mflib nav.side{position:static}
.mflib nav.side a{display:inline-block;border-left:0;border-bottom:2px solid transparent}
.mflib nav.side a.on{border-bottom-color:var(--gold)}}
.mflib .sec{display:block}
.mflib h1{font-family:'Big Shoulders Display';font-weight:800;font-size:clamp(32px,4.5vw,50px);line-height:.95;text-transform:uppercase;margin-bottom:10px}
.mflib h1 span{color:var(--gold)}
.mflib .lead{color:var(--mut);max-width:78ch;margin-bottom:22px}
.mflib h2{font-family:'Big Shoulders Display';font-weight:800;font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;letter-spacing:.03em;margin:28px 0 8px}
.mflib h3{font-family:'Big Shoulders Display';font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}
.mflib p{margin:0 0 12px;color:#CFC8BA}
.mflib p b, .mflib li b{color:var(--bone)}
.mflib ul, .mflib ol{margin:0 0 14px 22px;color:#CFC8BA}
.mflib li{margin-bottom:5px}
.mflib .card{background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:18px 20px;margin-bottom:16px}
.mflib .sub{font-size:12.5px;color:var(--mut);margin-bottom:12px}
.mflib .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){.mflib .grid2{grid-template-columns:1fr}}
.mflib .ctl{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid #7A2530;border-radius:4px;padding:16px 16px 6px;margin-bottom:16px}
.mflib .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.mflib .f{margin-bottom:12px}
.mflib .f label{display:block;font-size:12px;color:#E7C9A6;margin-bottom:4px;font-weight:500}
.mflib .f input, .mflib .f select{width:100%;background:#3F0F16;border:1px solid #8A3340;border-radius:3px;color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:13.5px;padding:7px 9px}
.mflib .f small{display:block;color:#CE9E85;font-size:11px;margin-top:3px}
.mflib table{width:100%;border-collapse:collapse;font-size:12.5px}
.mflib th, .mflib td{text-align:left;padding:6px 9px;border-bottom:1px solid var(--line);vertical-align:top}
.mflib th{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.05em;color:var(--gold);font-weight:500;white-space:nowrap}
.mflib td{font-family:'IBM Plex Mono',monospace}
.mflib td.n{text-align:right;white-space:nowrap}
.mflib td.tx{font-family:'Archivo';color:#CFC8BA}
.mflib tr.hl{background:rgba(217,164,65,.09)}
.mflib .scroll{overflow-x:auto}
.mflib .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.mflib .kv div{background:#20222A;border:1px solid var(--line);border-radius:3px;padding:9px 12px}
.mflib .kv .k{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;color:var(--mut)}
.mflib .kv .v{font-family:'IBM Plex Mono',monospace;font-size:15px;margin-top:3px}
.mflib .kv .v.g{color:var(--gold2)}
.mflib .res{background:#20222A;border-left:3px solid var(--gold);padding:11px 14px;border-radius:0 3px 3px 0;margin-bottom:12px}
.mflib .res .big{font-family:'Big Shoulders Display';font-weight:800;font-size:30px;line-height:1;color:var(--gold2)}
.mflib .chk{display:flex;gap:11px;align-items:flex-start;background:#20222A;border-radius:3px;padding:9px 13px;border-left:3px solid var(--line);margin-bottom:8px}
.mflib .chk.p{border-left-color:var(--pass)}
.mflib .chk.w{border-left-color:var(--warn)}
.mflib .chk.f{border-left-color:var(--fail)}
.mflib .chk .i{font-family:'IBM Plex Mono',monospace;font-size:15px;flex:0 0 auto}
.mflib .chk.p .i{color:var(--pass)}
.mflib .chk.w .i{color:var(--warn)}
.mflib .chk.f .i{color:var(--fail)}
.mflib .chk b{display:block;font-size:13.5px;margin-bottom:1px}
.mflib .chk span{font-size:12.5px;color:var(--mut)}
.mflib .pill{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.06em;padding:2px 7px;border-radius:2px;margin-left:6px;vertical-align:middle}
.mflib .pill.mf{background:rgba(176,71,63,.25);color:#F0A8A0}
.mflib .pill.st{background:rgba(217,164,65,.18);color:var(--gold2)}
.mflib .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.mflib .cards a{display:block;background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:14px 15px;text-decoration:none;color:var(--bone)}
.mflib .cards a:hover{border-color:var(--gold)}
.mflib .cards .t{font-family:'Big Shoulders Display';font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.03em}
.mflib .cards .d{font-size:12.5px;color:var(--mut);margin-top:4px}
.mflib .search{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:4px;color:var(--bone);font-family:'IBM Plex Mono',monospace;font-size:15px;padding:12px 14px;margin-bottom:10px}
.mflib .hits a{display:block;padding:8px 12px;background:#20222A;border-radius:3px;margin-bottom:6px;text-decoration:none;color:var(--bone);font-size:13.5px}
.mflib .hits a span{color:var(--mut);font-family:'IBM Plex Mono',monospace;font-size:11px;margin-left:8px}
.mflib .btn{font-family:'Archivo';font-weight:600;font-size:14px;border-radius:3px;padding:11px 20px;cursor:pointer;border:1px solid;text-decoration:none;display:inline-block}
.mflib .btn-gold{background:var(--gold);border-color:var(--gold);color:#2A1B06}
.mflib .btn-line{background:transparent;border-color:#8A3340;color:var(--bone)}
.mflib .disc{margin-top:26px;border-top:1px solid var(--line);padding-top:12px;font-size:11.5px;color:var(--mut);line-height:1.5}
.mflib .disc b{color:#CFC8BA}
.mflib details{border:1px solid var(--line);border-radius:3px;background:var(--bg2);margin-bottom:8px}
.mflib summary{cursor:pointer;padding:11px 14px;font-weight:600;list-style:none}
.mflib summary::-webkit-details-marker{display:none}
.mflib summary::before{content:"+";color:var(--gold);margin-right:9px;font-family:'IBM Plex Mono',monospace}
.mflib details[open] summary::before{content:"\2013"}
.mflib details .in{padding:0 14px 12px}
.mflib .gl{columns:2;column-gap:26px}
@media (max-width:800px){.mflib .gl{columns:1}}
.mflib .gl div{break-inside:avoid;margin-bottom:10px}
.mflib .gl b{color:var(--gold2);font-family:'IBM Plex Mono',monospace;font-size:13px}
.mflib .new{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mut)}
.mflib .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.mflib .lib-head{max-width:1400px;margin:0 auto;padding:22px 22px 0}
.mflib .lib-head .eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--gold)}
.mflib th.n{text-align:right}
.mflib .askmsg{color:var(--gold2)}
.mflib .askmsg.err{color:var(--fail)}
.mflib .pfoot,.mflib .phead,.mflib .wm{display:none}

/* ---- responsive: root cause + mobile polish ---- */
.mflib main,.mflib .sec,.mflib .card,.mflib .swap{min-width:0;max-width:100%}
.mflib .card,.mflib .swap,.mflib .ctl,.mflib .res{overflow-x:auto}
.mflib .scroll{max-width:100%}
.mflib table{min-width:0}
.mflib .lib-head{padding:18px 16px 0}
@media (max-width:1024px){
  .mflib .lib{grid-template-columns:1fr;gap:16px;padding:14px 14px 60px}
  .mflib nav.side{position:sticky;top:0;z-index:5;display:flex;overflow-x:auto;gap:6px;padding:8px 10px;border-radius:0;margin:0 -14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-left:0;border-right:0}
  .mflib nav.side::-webkit-scrollbar{display:none}
  .mflib nav.side .t{display:none}
  .mflib nav.side a{flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:7px 12px;font-size:12.5px;border-left:1px solid var(--line)}
  .mflib nav.side a.on{border-color:var(--gold);color:var(--gold2);background:#20222A}
  .mflib nav.side .tag{display:none}
  .mflib h1{font-size:clamp(28px,8vw,40px)}
  .mflib .card{padding:14px 14px}
  .mflib .ctl{padding:12px 12px 4px}
}
@media (max-width:600px){
  .mflib .f input,.mflib .f select,.mflib .search{font-size:16px}   /* stops iOS zooming into fields */
  .mflib .row{grid-template-columns:1fr 1fr}
  .mflib .kv{grid-template-columns:1fr 1fr}
  .mflib th,.mflib td{padding:5px 7px;font-size:12px}
  .mflib .cards{grid-template-columns:1fr}
  .mflib .req{gap:12px}
  .mflib .tabs button{padding:7px 10px;font-size:12px}
  .mflib .btn{width:100%;text-align:center}
  .mflib .actions{flex-direction:column;align-items:stretch}
}
@media (max-width:400px){
  .mflib .row{grid-template-columns:1fr}
  .mflib .kv{grid-template-columns:1fr}
}

@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body{background:#fff!important;color:#000!important}
  .util,.utility,.util-row,.chrome,header,footer,nav.main,.burger,.header-cta,
  .approvals-line,.scopeline,.ds-band,.bb-band,.skip-link,#wpadminbar,
  [id*="getbutton" i],[class*="getbutton" i],[id^="gtb"],[class^="gtb"],
  [class*="whatsapp" i],[id*="whatsapp" i],[class*="chat-widget" i],[id*="chat-widget" i],
  #cookie-notice,.cookie-notice-container,.cli-bar-container,
  .wpcf7,.optin-monster-overlay,.joinchat,.ht-ctc,.ht_ctc_chat_greeting_box,.wa__floating_chat_box,.wa__btn_popup,
  #whatsapp-chat,.gtb-container,.gtb-widget,#gtb,body > iframe,
  [style*="position: fixed"],[style*="position:fixed"],
  .mflib nav.side,.mflib .actions,.mflib .search,.mflib .hits,.mflib .lib-head,.mflib .askcard,.mflib .subcard,.mf-bb-callout{display:none!important}
  .mflib .lib{display:block;padding:0;max-width:none;color:#000;background:transparent}
  .mflib,.mflib main,.mflib .sec{background:transparent!important}
  .mflib .phead{display:flex;align-items:center;gap:4mm;border-bottom:2pt solid #000;padding-bottom:2mm;margin-bottom:4mm;position:relative;z-index:1}
  .mflib .phead img{width:19mm;height:auto}
  .mflib .phead .co{font-family:'Big Shoulders Display',Arial,sans-serif;font-weight:800;font-size:15pt;line-height:1;color:#000}
  .mflib .phead .ad{font-size:7.4pt;color:#333;margin-top:1mm}
  .mflib .wm{display:block!important;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-28deg);width:200mm;height:auto;opacity:.09;z-index:0;pointer-events:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .mflib .sec{position:relative;z-index:1}
  .mflib .card,.mflib .ctl,.mflib .res,.mflib .kv div,.mflib .chk,.mflib details,.mflib .cards a,.mflib .hits a,.mflib .swap,.mflib .fx{background:transparent!important;border-color:#000!important;color:#000!important}
  .mflib p,.mflib li,.mflib td,.mflib th,.mflib .sub,.mflib .chk span,.mflib .kv .k,.mflib .lead,.mflib .disc,.mflib .cards .d,.mflib .gl div{color:#000!important}
  .mflib h1,.mflib h2,.mflib h3,.mflib .kv .v.g,.mflib .res .big,.mflib .gl b,.mflib .cards .t{color:#000!important}
  .mflib th{background:rgba(0,0,0,.06)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .mflib tr.hl,.mflib tr.grp td,.mflib td,.mflib tr{background:transparent!important}
  .mflib .f input,.mflib .f select{background:transparent!important;color:#000;border-color:#000}
  .mflib .f label{color:#333!important}
  .mflib .pfoot{display:block!important;font-size:7pt;margin-top:6mm;border-top:.5pt solid #000;padding-top:2mm;color:#000;position:relative;z-index:1}
}

/* ---- weight chart page ---- */
.mflib .tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.mflib .tabs button{background:#20222A;border:1px solid var(--line);color:#CFC8BA;border-radius:3px;padding:8px 14px;cursor:pointer;font-family:'Archivo';font-size:13px}
.mflib .tabs button.on{background:var(--gold);border-color:var(--gold);color:#2A1B06;font-weight:600}
.mflib .pill.ok{background:rgba(127,183,126,.16);color:var(--pass)}
.mflib .pill.pend{background:#2A2D36;color:var(--mut)}
.mflib .v-ok{color:var(--pass)}
.mflib .v-warn{color:var(--warn)}
.mflib .brk{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--mut)}
.mflib .brk b{color:var(--bone);font-weight:500}
.mflib .kv .v.g{font-size:20px}
@media print{
  .mflib .tabs,.mflib .nopr{display:none!important}
}
