/* v11 (cycle 9): phone mapping cards + category sheet, audit split view, a11y polish. */
#mmap,#asplit{display:none}
@media (max-width:600px){#mapping.mm-on #mmap{display:block}#mapping.mm-on .tw{display:none}}
.mm-f{display:flex;gap:6px;margin:4px 0 10px}.mm-f button{flex:1;min-height:44px;font:12px 'IBM Plex Mono',monospace;background:#fff;border:1px solid #cfc8b6;cursor:pointer}.mm-f button[aria-pressed="true"]{background:#1F4D3A;color:#fff;border-color:#1F4D3A}
.mm{display:flex;width:100%;text-align:left;gap:10px;justify-content:space-between;align-items:center;border:1px solid #d9d3c4;background:#fff;margin-bottom:8px;padding:10px 12px;min-height:64px;cursor:pointer;font:14px 'IBM Plex Sans',sans-serif;color:#1B1A17}
.mm.rv{border-left:4px solid #B7791F}.mm.ov{border-left:4px solid #1F4D3A}.mm small{display:block;color:#5b6472;font:12px 'IBM Plex Mono',monospace;margin-top:2px}.mm .cat{font:600 12px 'IBM Plex Mono',monospace;text-align:right;color:#1F4D3A;white-space:nowrap}
#msheet{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#FBF9F4;border-top:1px solid #1B1A17;max-height:85vh;overflow:auto;padding:14px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(27,26,23,.25)}
#msheet h4{margin:0 0 2px;font:600 17px 'Source Serif 4',Georgia,serif}#msheet .sub{font:12px 'IBM Plex Mono',monospace;color:#5b6472;margin-bottom:10px}
#msheet label.opt{display:flex;align-items:center;gap:10px;min-height:48px;border-top:1px solid #e1dbcc;font:15px 'IBM Plex Sans',sans-serif}#msheet input[type=radio]{width:20px;height:20px;accent-color:#1F4D3A}
#msheet textarea{width:100%;min-height:64px;font:16px 'IBM Plex Sans',sans-serif;border:1px solid #cfc8b6;padding:8px;margin-top:10px;box-sizing:border-box}
#msheet .act{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}#msheet .act button{min-height:48px;font:600 14px 'IBM Plex Mono',monospace;border:1px solid #1B1A17;background:#fff;cursor:pointer}#msheet .act .pri{background:#1F4D3A;color:#fff;border-color:#1F4D3A}
#msheet .req{color:#7A1F14;font-size:12px;min-height:16px}
.msc{position:fixed;inset:0;background:rgba(27,26,23,.35);z-index:79}
/* audit split */
@media (max-width:1366px){#t-audit.as-on #asplit{display:grid}#t-audit.as-on #auditlog{display:none}}
#asplit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
@media (max-width:699px){#asplit{grid-template-columns:1fr}}
.as-l{border:1px solid #d9d3c4;background:#fff;max-height:70vh;overflow:auto}
.as-i{display:grid;grid-template-columns:44px 1fr;gap:2px 8px;width:100%;text-align:left;border:0;border-bottom:1px solid #efebe0;background:transparent;padding:10px;min-height:56px;cursor:pointer;font:13px 'IBM Plex Sans',sans-serif;color:#1B1A17}
.as-i b{font:600 12px 'IBM Plex Mono',monospace;grid-row:span 2;color:#5b6472}.as-i span{font:12px 'IBM Plex Mono',monospace;color:#1F4D3A}.as-i em{font-style:normal;color:#4A4636;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-i[aria-current="true"]{background:#EFEBE0;box-shadow:inset 3px 0 0 #1F4D3A}
.as-d{border:1px solid #d9d3c4;background:#FBF9F4;padding:14px;position:sticky;top:12px}.as-d h4{margin:0 0 8px;font:600 16px 'Source Serif 4',Georgia,serif}
.as-d dl{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;margin:0;font-size:13px}.as-d dt{color:#5b6472;font:12px 'IBM Plex Mono',monospace}.as-d dd{margin:0;word-break:break-word}.as-d .h{font:11px 'IBM Plex Mono',monospace;word-break:break-all}
.as-d .lk{margin-top:10px;font:12px 'IBM Plex Mono',monospace}.as-d .lk.ok{color:#1F4D3A}.as-d .lk.bad{color:#9B2C1F}
.as-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.as-nav button{min-height:44px;font:12px 'IBM Plex Mono',monospace;background:#fff;border:1px solid #cfc8b6;cursor:pointer}
@media (prefers-reduced-motion:reduce){article.adj{transition:none!important}}
:focus-visible{outline:2px solid #1F4D3A!important;outline-offset:2px}
/* c9 polish: two-column category grid and sticky Save so the action is always reachable on a phone */
#msheet [role=radiogroup]{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}
#msheet .act{position:sticky;bottom:calc(-16px - env(safe-area-inset-bottom));background:#FBF9F4;padding:8px 0 4px;margin-bottom:-4px}
#msheet input[type=radio]{flex:none}
