html.ecx-scroll-locked,html.ecx-scroll-locked body{overflow:hidden!important;overscroll-behavior:none!important}
.bmodal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.bmodal-overlay.show{opacity:1;visibility:visible}
.bmodal-box{background:#151827;border:1px solid #2a3148;border-radius:16px;padding:20px;max-width:400px;width:90vw;box-shadow:0 20px 60px rgba(0,0,0,.5);transform:translateY(12px);transition:transform .2s;outline:none}
.bmodal-overlay.show .bmodal-box{transform:translateY(0)}
.bmodal-title{font-size:16px;font-weight:700;color:#fff;margin:0 0 12px 0}
.bmodal-body{font-size:14px;color:#ccc;margin:0 0 20px 0;line-height:1.5}
.bmodal-input{display:none;width:100%;height:46px;margin:-5px 0 20px;padding:0 14px;border:1px solid #3a4664;border-radius:10px;outline:none;background:#0f1320;color:#fff;font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}
.bmodal-input:focus{border-color:#3772ff;box-shadow:0 0 0 3px rgba(55,114,255,.16)}
.bmodal-input[readonly]{cursor:text;color:#dce5ff;background:#111827}
.bmodal-box.bmodal-prompt .bmodal-body{margin-bottom:14px}
.bmodal-foot{display:flex;justify-content:flex-end;gap:12px}
.bmodal-btn{min-height:38px;padding:7px 22px;border-radius:20px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s,box-shadow .15s}
.bmodal-btn:hover{opacity:.85}
.bmodal-btn:focus-visible{outline:2px solid #74a4ff;outline-offset:2px}
.bmodal-btn-cancel{background:#2a2b3a;color:#fff}
.bmodal-btn-confirm{background:#f0b90b;color:#000}
.bmodal-btn-danger{background:#f6465d;color:#fff}

/* Long-form project details use a dedicated, scrollable layout. The compact
   defaults above remain unchanged for ordinary alerts and confirmations. */
.bmodal-box.bmodal-detail{width:calc(100vw - 32px);max-width:960px;max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden;padding:24px}
.bmodal-box.bmodal-detail .bmodal-title{font-size:20px;line-height:1.35;margin-bottom:16px}
.bmodal-box.bmodal-detail .bmodal-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere;padding:0 8px 0 0;font-size:15px;line-height:1.75;margin-bottom:20px;-webkit-overflow-scrolling:touch}
.bmodal-box.bmodal-detail .bmodal-foot{flex-shrink:0}
@media (max-width:640px){
  .bmodal-overlay{padding:16px;align-items:center}
  .bmodal-box{width:100%;max-width:420px;padding:22px;border-radius:18px}
  .bmodal-title{font-size:17px}
  .bmodal-body{font-size:15px;line-height:1.6;overflow-wrap:anywhere}
  .bmodal-input{height:50px;font-size:16px;margin-bottom:18px}
  .bmodal-foot{justify-content:stretch}
  .bmodal-foot .bmodal-btn{flex:1;min-height:44px;font-size:15px}
  .bmodal-box.bmodal-detail{width:100%;max-height:calc(100vh - 24px);border-radius:14px;padding:18px}
  .bmodal-box.bmodal-detail .bmodal-title{font-size:18px;margin-bottom:12px}
  .bmodal-box.bmodal-detail .bmodal-body{font-size:14px;line-height:1.7;padding-right:4px}
  .bmodal-box.bmodal-detail .bmodal-foot{justify-content:stretch}
  .bmodal-box.bmodal-detail .bmodal-btn{flex:1;min-height:40px}
}
