/* Global notifications and language settings. */
.notifications{position:fixed;inset:24px 24px auto auto;width:min(440px,calc(100vw - 32px));z-index:1100;display:grid;gap:12px;max-height:calc(100dvh - 48px);overflow:auto;pointer-events:none}
.notification{--notice:#2563a5;position:relative;background:#f0f6fd;color:#172b40;border:1px solid #c4d7eb;border-left:5px solid var(--notice);border-radius:8px;padding:20px 44px 20px 20px;box-shadow:0 8px 32px #18202d24;pointer-events:auto;animation:notice-enter .2s ease-out}
.notification-success{--notice:#287a44;background:#f0f8f1;border-color:#bdd8c3;color:#184528}.notification-warning{--notice:#a76900;background:#fff8e7;border-color:#ead7a8;color:#6e4600}.notification-error{--notice:#b42332;background:#fff2f3;border-color:#eac2c6;color:#7f1d2a}
.notification p{margin:8px 0;line-height:1.45}.notification small{display:block;overflow-wrap:anywhere}.notification a{display:inline-block;margin-top:10px;text-decoration:underline;font-weight:600}.notification-close{position:absolute;right:4px;top:4px;background:transparent;color:inherit;border:0;padding:6px 10px;font-size:24px;min-width:40px;min-height:40px}.notification strong{font-size:.95rem}
.field-validation-error{display:block;color:#9c2633;font-size:.85rem;margin:6px 0 12px}.field-validation-error:empty{display:none}[aria-invalid=true],.input-validation-error{border-color:#b42332!important}
.language-list{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:24px 0}.language-row{display:grid;grid-template-columns:minmax(180px,1fr) 130px 190px;align-items:center;gap:18px;padding:20px 24px;background:white;border-bottom:1px solid var(--line)}.language-row:last-child{border:0}.language-row p{font-size:.85rem;margin:6px 0 0}.language-row label{margin:0}.language-row code{margin-left:10px;font-size:.8rem}.language-row input{flex-shrink:0;accent-color:var(--ink)}
@keyframes notice-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.notification{animation:none}}
@media(max-width:650px){.notifications{inset:auto 16px 16px auto;max-height:60dvh}.language-row{grid-template-columns:1fr 1fr;padding:18px;gap:16px}.language-row>div{grid-column:1/-1}}

.exception-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;max-height:500px;overflow:auto}

.notifications,.notification,.notification *{box-sizing:border-box}.notification{font-size:14px;line-height:1.5}.notification-close{cursor:pointer}
