/* MediFlex v3.9-RC2 — integrated usability hardening */
:root{--mf-usability-bar-h:38px;--mf-focus:#9fe8ff;--mf-contrast-muted:#a9bdd2;--mf-story-left:var(--nav-width,300px);--mf-story-right:var(--context-width,330px)}
body.light{--mf-focus:#075f83;--mf-contrast-muted:#52677d}
body.mf-usability-ready #app{grid-template-rows:64px var(--mf-usability-bar-h) minmax(0,1fr)!important}
body.mf-usability-ready #app>.topbar{grid-row:1!important}
body.mf-usability-ready #app>.nav,body.mf-usability-ready #app>.story,body.mf-usability-ready #app>.context,body.mf-usability-ready #erdWorkspace{grid-row:3!important;min-height:0}
body.mf-usability-ready:not(.workspace-erd):not(.left-panel-collapsed):not(.right-panel-collapsed):not(.story-focus) #app{grid-template-columns:var(--nav-width) minmax(480px,1fr) var(--context-width)!important}
body.mf-usability-ready.workspace-erd #app{grid-template-columns:1fr!important}
body.mf-usability-ready.workspace-erd #mfUsabilityBar{grid-column:1!important}
body.mf-usability-ready.workspace-erd #erdWorkspace{grid-column:1!important}

.mf-skip-links{position:fixed;left:8px;top:4px;z-index:2000;display:flex;gap:6px;transform:translateY(-150%)}
.mf-skip-links:focus-within{transform:none}.mf-skip-links a{background:#061522;color:#fff;border:2px solid var(--mf-focus);border-radius:8px;padding:7px 10px;font-weight:800;text-decoration:none}

.mf-usability-bar{grid-column:1/4;grid-row:2;display:flex;align-items:center;gap:8px;min-width:0;padding:4px 11px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--accent2));z-index:48;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.mf-breadcrumb{display:flex;align-items:center;gap:4px;min-width:0;flex:1;white-space:nowrap;overflow:hidden;font-size:11px;color:var(--mf-contrast-muted)}
.mf-breadcrumb button{border:0;background:transparent;padding:4px 5px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}
.mf-breadcrumb button:hover{color:var(--text);transform:none;background:var(--panel2)}.mf-breadcrumb .current{color:var(--text);font-weight:800}.mf-breadcrumb .sep{opacity:.58}
.mf-usability-actions{display:flex;align-items:center;gap:5px;flex:none}.mf-usability-actions>button{height:29px;padding:0 9px;font-size:10px;font-weight:800;display:flex;align-items:center;gap:5px}.mf-command-key{font-size:9px;padding:1px 4px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.mf-recent-wrap{position:relative}.mf-recent-menu{position:absolute;right:0;top:34px;width:min(430px,80vw);max-height:430px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:7px;z-index:400}.mf-recent-menu button{width:100%;display:grid;grid-template-columns:36px 1fr;text-align:left;gap:8px;padding:8px;border:0;background:transparent}.mf-recent-menu button:hover{background:var(--panel2);transform:none}.mf-recent-menu i{display:grid;place-items:center;border-radius:7px;background:var(--panel2);font-style:normal;font-size:9px;font-weight:900}.mf-recent-menu strong,.mf-recent-menu small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mf-recent-menu small{color:var(--muted);font-size:9px;margin-top:2px}.mf-empty-mini{padding:18px;text-align:center;color:var(--muted);font-size:11px}

/* Command palette */
.mf-command-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(1,8,18,.72);backdrop-filter:blur(7px);display:grid;place-items:start center;padding-top:min(12vh,110px)}
.mf-command-panel{width:min(860px,94vw);max-height:min(78vh,760px);display:grid;grid-template-rows:auto auto 1fr auto;background:var(--bg);border:1px solid color-mix(in srgb,var(--accent2) 55%,var(--line));border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.52);overflow:hidden}
.mf-command-head{display:flex;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--panel)}.mf-command-head input{flex:1;height:43px;background:transparent;color:var(--text);border:0;outline:0;font-size:15px}.mf-command-close{width:35px;height:35px;padding:0}
.mf-command-scope{display:flex;gap:6px;padding:7px 14px;border-bottom:1px solid var(--line);overflow:auto;background:var(--panel)}.mf-command-scope button{padding:5px 8px;font-size:9px;white-space:nowrap}.mf-command-scope button.active{background:var(--accent);color:#052019}
.mf-command-results{overflow:auto;padding:7px}.mf-command-group{margin:4px 0 10px}.mf-command-group h3{margin:0;padding:6px 9px;color:var(--mf-contrast-muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.mf-command-item{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:0;background:transparent;text-align:left}.mf-command-item:hover,.mf-command-item.active{background:color-mix(in srgb,var(--accent2) 13%,var(--panel));transform:none}.mf-command-item .icon{display:grid;place-items:center;height:30px;border-radius:8px;background:var(--panel2);font-size:9px;font-weight:900}.mf-command-item strong,.mf-command-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mf-command-item small{color:var(--muted);font-size:9px;margin-top:2px}.mf-command-item em{font-style:normal;color:var(--muted);font-size:9px}.mf-command-foot{display:flex;justify-content:space-between;gap:12px;padding:8px 13px;border-top:1px solid var(--line);background:var(--panel);font-size:9px;color:var(--muted)}

/* Virtualised Storybook repository */
#tree[data-virtualized=true]{position:relative;min-height:180px;overflow:auto;contain:strict}.repo-virtual-spacer{width:1px;opacity:0}.repo-virtual-window{position:absolute;inset:0 0 auto 0;will-change:transform}.repo-virtual-row{height:38px!important;min-height:38px!important}.repo-virtual-window .domain-title{align-items:center;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--accent2));cursor:default}.repo-virtual-window .table-row{align-items:center}

/* Resizable panels */
.nav,.context{position:relative}.mf-panel-resizer{position:absolute;z-index:12;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none}.mf-panel-resizer:after{content:"";position:absolute;top:42%;bottom:42%;width:2px;border-radius:4px;background:var(--line);transition:.15s}.mf-panel-resizer:hover:after,.mf-panel-resizer.dragging:after{background:var(--accent);top:34%;bottom:34%}.mf-story-resizer-left{right:-4px}.mf-story-resizer-left:after{left:3px}.mf-story-resizer-right{left:-4px}.mf-story-resizer-right:after{right:3px}body.mf-resizing{cursor:col-resize!important;user-select:none!important}

/* Sticky Storybook identity and tabs */
.mf-story-identity{position:sticky;top:57px;z-index:4;display:flex;align-items:center;gap:8px;min-height:43px;padding:5px 18px;background:color-mix(in srgb,var(--panel) 96%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.mf-story-identity .mf-layer{display:grid;place-items:center;min-width:28px;height:25px;border-radius:7px;color:white;font-size:9px;font-weight:900}.mf-story-identity .mf-id{min-width:0;flex:1}.mf-story-identity strong,.mf-story-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mf-story-identity strong{font-size:11px}.mf-story-identity small{font-size:9px;color:var(--muted)}.mf-story-identity .mf-status{padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}.mf-story-identity .mf-status:before{content:"◆";margin-right:4px}.mf-story-identity button{height:27px;padding:0 8px;font-size:9px}
body.mf-usability-ready .story>.tabs{position:sticky;top:100px;z-index:4;margin-top:13px;padding:4px 24px 0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px)}
body.mf-usability-ready .columns th{top:145px}

/* Direct clarification controls */
.mf-clarify-inline{display:inline-flex!important;align-items:center;gap:4px;margin-left:7px;padding:3px 6px!important;border-color:color-mix(in srgb,var(--warn) 55%,var(--line))!important;color:var(--warn);font-size:8px!important;vertical-align:middle}.mf-clarify-inline:before{content:"?";display:grid;place-items:center;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;font-weight:900}.mf-story-identity .mf-clarify-inline{margin-left:0}.columns td:first-child{min-width:185px}.rel-head>div:first-child{min-width:0}

/* Statistics drill-down */
.stats-kpi[data-stats-drill]{cursor:pointer;transition:.15s}.stats-kpi[data-stats-drill]:hover,.stats-kpi[data-stats-drill]:focus-visible{border-color:var(--accent2);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent2) 25%,transparent);transform:translateY(-1px)}.stats-kpi[data-stats-drill]:after{content:"Open affected tables →";display:block;margin-top:7px;color:var(--accent2);font-size:8px;font-weight:800}.stats-bar-row[data-mf-drill]{cursor:pointer;border-radius:7px;padding:4px}.stats-bar-row[data-mf-drill]:hover{background:var(--panel2)}
.mf-drill-backdrop{position:fixed;inset:0;z-index:1300;background:rgba(1,8,18,.72);display:grid;place-items:center;padding:24px}.mf-drill-dialog{width:min(940px,95vw);max-height:86vh;display:grid;grid-template-rows:auto auto 1fr auto;background:var(--bg);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.5);overflow:hidden}.mf-drill-dialog header,.mf-drill-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.mf-drill-dialog footer{border-top:1px solid var(--line);border-bottom:0}.mf-drill-dialog h2{margin:0;font-size:16px}.mf-drill-summary{padding:9px 16px;color:var(--muted);font-size:10px}.mf-drill-list{overflow:auto;padding:8px 13px}.mf-drill-item{display:grid;grid-template-columns:55px minmax(180px,1fr) 120px 120px auto;gap:8px;align-items:center;width:100%;padding:8px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.mf-drill-item:hover{background:var(--panel2);transform:none}.mf-drill-item code{color:var(--accent2);overflow:hidden;text-overflow:ellipsis}.mf-drill-item small{color:var(--muted)}

/* Governance usability */
.mfgr-next-action{min-width:132px;white-space:nowrap}.mfgr-next-action:not(:disabled){border-color:var(--accent)!important;color:var(--accent)!important;font-weight:800}.mfgr-table tr:focus-within{outline:2px solid var(--mf-focus);outline-offset:-2px}.mfgr-dialog label{color:var(--text)}

/* Accessibility and contrast */
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--mf-focus)!important;outline-offset:2px!important;box-shadow:none!important}.muted,.nav p,.context p,.card p,.empty,.qualified,.mfgr-card p,.mfgr-banner span{color:var(--mf-contrast-muted)!important}button[disabled]{cursor:not-allowed;opacity:.58}.layer-badge,.mf-layer{border:1px solid rgba(255,255,255,.36)}.review-status-chip:before,.mfgr-chip:before{content:"●";margin-right:4px}.review-status-chip.CLARIFICATION_NEEDED:before,.mfgr-chip.CLARIFICATION_REQUIRED:before{content:"▲"}.review-status-chip.APPROVED:before,.mfgr-chip.APPROVED:before{content:"✓"}.edge-access-key{display:inline-flex;align-items:center;gap:5px}.edge-access-key i{width:25px;height:0;border-top:3px solid currentColor}.edge-access-key.candidate i{border-top-style:dashed}.edge-access-key.view i{border-top-style:dotted}
.mf-live-region{position:fixed;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

@media(max-width:1100px){.mf-breadcrumb button:nth-of-type(3),.mf-breadcrumb .sep:nth-of-type(3){display:none}.mf-story-identity{padding-inline:10px}.mf-story-identity .mf-status{display:none}.mf-usability-actions .mf-command-key{display:none}}
@media(max-width:800px){body.mf-usability-ready #app{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:64px var(--mf-usability-bar-h) auto!important;height:auto}.mf-usability-bar{position:sticky;top:64px}.nav,.story,.context{grid-column:1!important}.mf-panel-resizer{display:none}.mf-story-identity{top:0}.story>.tabs{top:43px!important}.mf-command-panel{width:96vw}.mf-drill-item{grid-template-columns:45px minmax(150px,1fr) auto}.mf-drill-item small:nth-of-type(n+2){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media print{#mfUsabilityBar,.mf-skip-links,.mf-command-backdrop,.mf-panel-resizer,.mf-story-identity,.mf-clarify-inline,.mf-drill-backdrop{display:none!important}body.mf-usability-ready #app{display:block!important}}
