/* Finestre di sistema Tripoint: condivise tra area pubblica e pannello. */
:root {
  --tp-dialog-accent: #ff6b35;
  --tp-dialog-accent-2: #ff8a5c;
  --tp-dialog-danger: #e5484d;
  --tp-dialog-ink: #f8faff;
  --tp-dialog-muted: #aeb7cc;
  --tp-dialog-surface: #101426;
  --tp-dialog-border: rgba(255, 255, 255, .12);
}

.tp-dialog-backdrop {
  position: fixed; inset: 0; z-index: 2147483646; display: grid; place-items: center;
  padding: 24px; background: rgba(4, 6, 15, .76); backdrop-filter: blur(10px);
  animation: tp-dialog-in .18s ease-out;
}
.tp-dialog {
  position: relative; width: min(440px, 100%); overflow: hidden; color: var(--tp-dialog-ink);
  border: 1px solid var(--tp-dialog-border); border-radius: 22px;
  background: radial-gradient(circle at 100% 0, rgba(255,107,53,.16), transparent 42%), var(--tp-dialog-surface);
  box-shadow: 0 28px 80px rgba(0,0,0,.48); font-family: "Inter", system-ui, sans-serif;
}
.tp-dialog::before { content:""; display:block; height:4px; background:linear-gradient(90deg,var(--tp-dialog-accent),var(--tp-dialog-accent-2)); }
.tp-dialog__body { padding: 28px 30px 20px; }
.tp-dialog__mark { display:grid; place-items:center; width:46px; height:46px; margin-bottom:18px; border-radius:15px; color:#fff; background:linear-gradient(145deg,var(--tp-dialog-danger),#ff6b58); box-shadow:0 10px 28px rgba(229,72,77,.28); font-size:24px; font-weight:700; }
.tp-dialog__eyebrow { margin:0 0 7px; color:var(--tp-dialog-accent-2); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.tp-dialog__title { margin:0 0 10px; color:inherit; font:700 23px/1.2 "Plus Jakarta Sans","Inter",sans-serif; }
.tp-dialog__message { margin:0; color:var(--tp-dialog-muted); font-size:15px; line-height:1.65; overflow-wrap:anywhere; }
.tp-dialog__actions { display:flex; justify-content:flex-end; padding:0 30px 28px; }
.tp-dialog__button { min-width:112px; padding:11px 20px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--tp-dialog-accent),#f05224); box-shadow:0 8px 22px rgba(255,107,53,.24); font-weight:750; cursor:pointer; transition:transform .15s,box-shadow .15s; }
.tp-dialog__button:hover { transform:translateY(-1px); box-shadow:0 11px 28px rgba(255,107,53,.34); }
.tp-dialog__button:focus-visible { outline:3px solid rgba(255,138,92,.4); outline-offset:3px; }

/* SweetAlert 1/2 e modali/alert Bootstrap ereditano la stessa grammatica. */
.sweet-alert, .swal2-popup { border:1px solid var(--tp-dialog-border)!important; border-radius:22px!important; background:radial-gradient(circle at 100% 0,rgba(255,107,53,.13),transparent 40%),var(--tp-dialog-surface)!important; color:var(--tp-dialog-ink)!important; box-shadow:0 28px 80px rgba(0,0,0,.48)!important; font-family:"Inter",system-ui,sans-serif!important; }
.sweet-alert h2,.sweet-alert p,.swal2-title,.swal2-html-container { color:inherit!important; }
.sweet-alert p,.swal2-html-container { color:var(--tp-dialog-muted)!important; }
.sweet-alert button,.swal2-confirm { border-radius:12px!important; background:linear-gradient(135deg,var(--tp-dialog-accent),#f05224)!important; box-shadow:0 8px 22px rgba(255,107,53,.24)!important; }
.sweet-alert .sa-icon.sa-error { border-color:var(--tp-dialog-danger)!important; }
.sweet-alert .sa-icon.sa-error .sa-line { background-color:var(--tp-dialog-danger)!important; }
.alert-danger,.alert-warning { border:1px solid rgba(229,72,77,.22)!important; border-left:4px solid var(--tp-dialog-danger)!important; border-radius:14px!important; background:rgba(229,72,77,.09)!important; color:inherit!important; }
.modal-content { border-radius:18px; }
.theme-light .tp-dialog { --tp-dialog-ink:#171a26; --tp-dialog-muted:#626a7c; --tp-dialog-surface:#fff; --tp-dialog-border:rgba(16,20,38,.12); }
@keyframes tp-dialog-in { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .tp-dialog-backdrop { animation:none; } .tp-dialog__button { transition:none; } }

