
/* minimal shared styles; modal etc */
.ml-modal{position:fixed;inset:0;display:none;z-index:9999}.ml-modal.show{display:block}
.ml-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.ml-modal-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,92vw);background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);overflow:hidden}
.ml-modal-close{position:absolute;top:8px;right:8px;background:#f1f5f9;border:none;border-radius:6px;width:32px;height:32px;cursor:pointer}
.ml-tabs{display:flex;border-bottom:1px solid #e5e7eb}.ml-tab{flex:1;padding:.7rem 1rem;background:#f8fafc;border:none;cursor:pointer;font-weight:700}.ml-tab.active{background:#fff;border-bottom:2px solid #16a34a;color:#16a34a}
.ml-panes{padding:14px}.ml-pane{display:none}.ml-pane.active{display:block}.ml-form label{display:block;font-weight:600;margin:.4rem 0 .2rem}
.ml-form input{width:100%;padding:.6rem .7rem;border:1px solid #d1d5db;border-radius:8px}.ml-form input:focus{outline:none;border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.15)}
.ml-btn{display:inline-block;padding:.6rem 1rem;border-radius:8px;font-weight:700;cursor:pointer}.ml-btn-primary{background:#2563eb;color:#fff;border:none}.ml-btn-success{background:#16a34a;color:#fff;border:none}
.w-100{width:100%}.ml-message{padding:8px 12px}.ml-alert.err{color:#b91c1c}.ml-alert.ok{color:#065f46}
