:root{
 --bridges-ux-focus:#72b7ff;
 --bridges-ux-touch:44px;
 --bridges-ux-radius:16px;
 --bridges-ux-border:rgba(255,255,255,.10);
 --bridges-ux-surface:#0e1930;
 --bridges-ux-text:#edf3ff;
 --bridges-ux-muted:#91a0bd;
 --bridges-ux-danger:#ff7890;
 --bridges-ux-warning:#ffd39c;
 --bridges-ux-success:#84efbd;
}
.bridges-ux-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(button,a[href],input,select,textarea,[role="button"],[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--bridges-ux-focus);outline-offset:3px}
[data-ux-touch="true"]{min-width:var(--bridges-ux-touch);min-height:var(--bridges-ux-touch)}
[data-bridges-ux-busy="true"]{cursor:wait}
.bridges-ux-action{position:relative;min-height:var(--bridges-ux-touch);border:1px solid var(--bridges-ux-border);border-radius:14px;padding:10px 14px;background:linear-gradient(135deg,#2f8cff,#805cff);color:#fff;font:inherit;font-weight:850;cursor:pointer}
.bridges-ux-action.is-busy{opacity:.76;cursor:wait}
.bridges-ux-action.is-busy::after{content:"";display:inline-block;width:14px;height:14px;margin-inline-start:8px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:bridgesUxSpin .75s linear infinite}
.bridges-ux-state{display:grid;gap:8px;padding:16px;border:1px solid var(--bridges-ux-border);border-radius:var(--bridges-ux-radius);background:linear-gradient(145deg,rgba(16,29,56,.96),rgba(9,20,41,.96));color:var(--bridges-ux-text)}
.bridges-ux-state strong{font-size:14px}.bridges-ux-state p{margin:0;color:var(--bridges-ux-muted);line-height:1.5}
.bridges-ux-state-error{border-color:rgba(255,91,121,.26)}.bridges-ux-state-error strong{color:#ffc0cb}
.bridges-ux-status{padding:9px 11px;border:1px solid var(--bridges-ux-border);border-radius:12px;background:rgba(255,255,255,.035);color:var(--bridges-ux-muted);font-size:12px;line-height:1.4}
.bridges-ux-status[hidden]{display:none!important}.bridges-ux-status[data-tone="error"]{color:#ffb0bd;border-color:rgba(255,96,125,.24);background:rgba(255,73,106,.08)}.bridges-ux-status[data-tone="warning"]{color:var(--bridges-ux-warning);border-color:rgba(243,162,95,.22);background:rgba(243,162,95,.08)}.bridges-ux-status[data-tone="success"]{color:var(--bridges-ux-success);border-color:rgba(53,229,139,.20);background:rgba(53,229,139,.07)}
.bridges-ux-skeleton{display:grid;gap:10px;padding:8px 0}.bridges-ux-skeleton i{display:block;height:54px;border-radius:14px;background:linear-gradient(100deg,rgba(255,255,255,.045) 30%,rgba(255,255,255,.095) 48%,rgba(255,255,255,.045) 66%);background-size:220% 100%;animation:bridgesUxShimmer 1.35s linear infinite}.bridges-ux-skeleton i:nth-child(2n){height:42px}
@keyframes bridgesUxSpin{to{transform:rotate(360deg)}}@keyframes bridgesUxShimmer{to{background-position:-220% 0}}
@media(prefers-reduced-motion:reduce){.bridges-ux-action.is-busy::after{animation-duration:1.5s}.bridges-ux-skeleton i{animation:none;background:rgba(255,255,255,.06)}}
.bridges-ux-dialog-backdrop{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:rgba(2,5,15,.72);backdrop-filter:blur(10px)}
.bridges-ux-dialog{width:min(430px,100%);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:20px;background:radial-gradient(circle at 84% 12%,rgba(89,109,255,.15),transparent 30%),linear-gradient(145deg,#111d38,#091326);box-shadow:0 28px 80px rgba(0,0,0,.46);color:var(--bridges-ux-text)}
.bridges-ux-dialog h2{margin:0 0 8px;font-size:21px}.bridges-ux-dialog p{margin:0;color:var(--bridges-ux-muted);line-height:1.55}
.bridges-ux-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.bridges-ux-dialog-actions button{min-height:var(--bridges-ux-touch);border-radius:14px;padding:10px 14px;font:inherit;font-weight:900;cursor:pointer}
.bridges-ux-dialog-cancel{border:1px solid var(--bridges-ux-border);background:rgba(255,255,255,.055);color:#dce7fb}
.bridges-ux-dialog-confirm{border:0;background:linear-gradient(135deg,#2f8cff,#805cff);color:#fff}.bridges-ux-dialog-confirm.is-destructive{background:linear-gradient(135deg,#b83350,#e25470);color:#fff}
.bridges-ux-toast-host{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));z-index:12500;width:min(520px,calc(100% - 28px));transform:translateX(-50%);display:grid;gap:8px;pointer-events:none}
.bridges-ux-toast{pointer-events:auto;width:100%;border:1px solid var(--bridges-ux-border);border-radius:15px;padding:12px 14px;background:linear-gradient(145deg,#132344,#0b1730);color:#eef4ff;box-shadow:0 16px 46px rgba(0,0,0,.38);font:inherit;font-weight:800;text-align:start;cursor:pointer}
.bridges-ux-toast[data-tone="error"]{border-color:rgba(255,96,125,.28);background:linear-gradient(145deg,#3b1725,#22111a);color:#ffd0d8}.bridges-ux-toast[data-tone="warning"]{border-color:rgba(243,162,95,.25);color:#ffe0bd}.bridges-ux-toast[data-tone="success"]{border-color:rgba(53,229,139,.24);color:#baffdd}

.bridges-ux-dialog-field{display:grid;gap:7px;margin-top:14px;color:var(--bridges-ux-text);font-size:12px;font-weight:800}
.bridges-ux-dialog-field>span{color:#b8c6df}
.bridges-ux-dialog-field input,.bridges-ux-dialog-field textarea{width:100%;box-sizing:border-box;border:1px solid var(--bridges-ux-border);border-radius:13px;padding:11px 12px;background:#09152d;color:#fff;font:inherit;outline:0;resize:vertical}
.bridges-ux-dialog-field input:focus-visible,.bridges-ux-dialog-field textarea:focus-visible{outline:3px solid var(--bridges-ux-focus);outline-offset:2px}
