.bf024-mm{box-sizing:border-box;width:min(1100px,96vw);max-width:1100px;height:min(850px,92dvh);max-height:92dvh;border:1px solid #aeb9c5;border-radius:7px;padding:0;background:#fff;color:#273542}
.bf024-mm *{box-sizing:border-box}.bf024-mm::backdrop{background:#132235a8}.bf024-mm-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #cbd5df}.bf024-mm-heading h2{font-size:18px;margin:0}
.bf024-mm button{min-height:36px;cursor:pointer}.bf024-mm-layout{display:grid;grid-template-columns:210px minmax(0,1fr);height:calc(100% - 60px);min-height:0}.bf024-mm-tree{padding:12px;border-right:1px solid #cbd5df;overflow:auto}.bf024-mm-tree h3{margin:9px 0;font-size:13px}.bf024-mm-tree button{display:block;width:100%;text-align:left;margin:3px 0;border:1px solid transparent;border-radius:4px;padding:6px 8px;background:transparent;color:inherit}.bf024-mm-tree button.active,.bf024-mm-tree button:hover{background:#e4effb;border-color:#9ab8d3}.bf024-mm-main{display:flex;flex-direction:column;min-height:0;overflow:auto}.bf024-mm-detail{padding:12px 16px;border-bottom:1px solid #cbd5df}.bf024-mm-list{padding:12px 16px;min-height:180px;flex:1;display:flex;flex-direction:column}.bf024-mm h3{font-size:15px;margin:0 0 10px}.bf024-mm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.bf024-mm-form label{font-size:12px;display:flex;flex-direction:column;gap:4px}.bf024-mm-form input,.bf024-mm-form select{width:100%;min-height:36px;font-size:16px;padding:5px;border:1px solid #aab8c7;border-radius:3px}.bf024-mm-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.bf024-mm-actions button{padding:5px 13px}.bf024-mm-notice[role=alert]{color:#ac1420}.bf024-mm-table-scroll{flex:1;overflow:auto;max-height:100%}.bf024-mm table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}.bf024-mm th,.bf024-mm td{padding:9px;text-align:left;border:1px solid #cbd5df}.bf024-mm th{background:#f3f6fa;position:sticky;top:0}.bf024-mm tbody tr{cursor:pointer}.bf024-mm tbody tr:hover,.bf024-mm tbody tr.selected{background:#e8f3fc}
@media(max-width:680px){.bf024-mm{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.bf024-mm-layout{display:flex;flex-direction:column}.bf024-mm-tree{display:flex;flex:0 0 auto;overflow-x:auto;gap:5px;padding:6px;border-right:0;border-bottom:1px solid #cbd5df}.bf024-mm-tree h3{display:none}.bf024-mm-tree button{width:auto;min-width:max-content;white-space:nowrap;min-height:44px}.bf024-mm-main{flex:1}.bf024-mm-form{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.bf024-mm button{min-height:44px}}

.bf024-mm-edit{min-width:64px;background:#193859;color:#fff;border:0;border-radius:4px}.bf024-mm-edit:focus-visible{outline:3px solid #e9a300;outline-offset:2px}.bf024-mm-actions button[data-action=update]{background:#15538a;color:#fff;border-radius:4px;border:1px solid #15538a}

/* #024: enforce legible action button labels under Redmine theme styles. */
.bf024-mm .bf024-mm-actions button{color:#fff!important;background:#18466e!important;border:1px solid #18466e!important;font-weight:600!important;opacity:1!important;min-width:106px;}
.bf024-mm .bf024-mm-actions button:disabled{color:#435367!important;background:#e5eaf0!important;border-color:#a6b2c0!important;opacity:1!important;cursor:not-allowed;}
.bf024-mm .bf024-mm-actions button:focus-visible{outline:3px solid #e4a820;outline-offset:2px;}
