
:root{
  --bnui-overlay-bg: rgba(15,23,42,.28);
  --bnui-panel-bg: rgba(255,255,255,.88);
  --bnui-panel-border: rgba(255,255,255,.72);
  --bnui-text: #0f172a;
  --bnui-subtle: #64748b;
  --bnui-shadow: 0 24px 80px rgba(15,23,42,.20), 0 10px 30px rgba(15,23,42,.10);
  --bnui-radius: 28px;
}
body.bnui-modal-open{overflow:hidden;}
.bnui-root{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px;pointer-events:none;}
.bnui-root.is-open{display:flex;pointer-events:auto;}
.bnui-overlay{position:absolute;inset:0;background:var(--bnui-overlay-bg);backdrop-filter:blur(8px) saturate(115%);-webkit-backdrop-filter:blur(8px) saturate(115%);opacity:0;transition:opacity .22s ease;}
.bnui-root.is-open .bnui-overlay{opacity:1;}
.bnui-dialog{position:relative;width:min(100%, 520px);background:var(--bnui-panel-bg);border:1px solid var(--bnui-panel-border);border-radius:var(--bnui-radius);box-shadow:var(--bnui-shadow);padding:22px 22px 18px;transform:translateY(12px) scale(.985);opacity:0;transition:transform .22s ease, opacity .22s ease;background-clip:padding-box;}
.bnui-root.is-open .bnui-dialog{transform:translateY(0) scale(1);opacity:1;}
.bnui-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;}
.bnui-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;background:rgba(15,23,42,.055);color:#0f172a;flex:0 0 auto;}
.bnui-mark svg{width:20px;height:20px;display:block;}
.bnui-close{appearance:none;border:0;background:rgba(15,23,42,.045);color:#334155;width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease, transform .18s ease;flex:0 0 auto;}
.bnui-close:hover{background:rgba(15,23,42,.09);transform:translateY(-1px);}
.bnui-close:active{transform:translateY(0);}
.bnui-title{margin:0 0 8px;font-size:30px;line-height:1.08;letter-spacing:-.03em;color:var(--bnui-text);font-weight:800;}
.bnui-body{margin:0 0 18px;font-size:16px;line-height:1.7;color:var(--bnui-subtle);}
.bnui-actions{display:flex;justify-content:flex-end;gap:10px;}
.bnui-btn{appearance:none;border:1px solid transparent;min-height:44px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;}
.bnui-btn:hover{transform:translateY(-1px);}
.bnui-btn:active{transform:translateY(0);}
.bnui-btn-secondary{background:rgba(248,250,252,.96);border-color:rgba(148,163,184,.34);color:#0f172a;}
.bnui-btn-secondary:hover{background:rgba(15,23,42,.07);}
.bnui-btn-danger{background:#0f172a;border-color:#0f172a;color:#fff;box-shadow:0 12px 20px rgba(15,23,42,.18);}
.bnui-btn-danger:hover{background:#1e293b;border-color:#1e293b;}
.bnui-toast-wrap{position:fixed;right:20px;bottom:20px;z-index:1000000;display:flex;flex-direction:column;gap:10px;pointer-events:none;}
.bnui-toast{min-width:240px;max-width:min(420px, calc(100vw - 32px));padding:14px 16px;border-radius:18px;background:rgba(15,23,42,.88);color:#fff;box-shadow:0 16px 40px rgba(15,23,42,.24);font-size:14px;line-height:1.45;opacity:0;transform:translateY(10px);transition:opacity .2s ease, transform .2s ease;}
.bnui-toast.is-show{opacity:1;transform:translateY(0);}
.bnui-toast.is-error{background:rgba(127,29,29,.92);}
@media (max-width: 640px){.bnui-root{padding:16px;}.bnui-dialog{width:min(100%, 100%);padding:18px 18px 16px;border-radius:24px;}.bnui-title{font-size:24px;}.bnui-actions{flex-direction:column-reverse;}.bnui-btn{width:100%;}.bnui-toast-wrap{left:12px;right:12px;bottom:12px;}}


button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(59,130,246,.16), 0 0 0 1px rgba(37,99,235,.42);
}
.bnui-toast{border:1px solid rgba(255,255,255,.08);font-weight:600;}
.bnui-toast.is-error{border-color:rgba(254,202,202,.28);}
