/* Guest support keeps the login terminal's quiet cyan and navy palette. */
.nv-guest-support { margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(49, 170, 229, .12); }
.nv-guest-support__trigger { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; padding: 10px 12px; border: 1px solid rgba(49, 170, 229, .19); border-radius: 7px; background: rgba(8, 27, 43, .35); color: #8eb8cc; font: 500 11px/1.6 'Exo 2', sans-serif; cursor: pointer; transition: color .18s, background .18s, border-color .18s; }
.nv-guest-support__trigger svg { flex: 0 0 auto; opacity: .8; }
.nv-guest-support__trigger:hover { color: #b5e6f5; border-color: rgba(49, 214, 255, .4); background: rgba(14, 44, 62, .55); }
.nv-guest-support__trigger:focus-visible, .nv-guest-dialog button:focus-visible { outline: 2px solid #31d6ff; outline-offset: 3px; }
.nv-guest-dialog { box-sizing: border-box; width: min(490px, calc(100vw - 28px)); max-height: min(830px, calc(100dvh - 28px)); margin: auto; padding: 24px; overflow-y: auto; border: 1px solid rgba(49, 170, 229, .38); border-radius: 14px; background: linear-gradient(145deg, #0b1e31, #06111e 72%); color: #e7f2ff; box-shadow: 0 22px 90px rgba(0, 5, 14, .75), 0 0 35px rgba(49, 214, 255, .07); font-family: 'Exo 2', sans-serif; text-align: left; overscroll-behavior: contain; }
.nv-guest-dialog:not([open]) { display: none; }
.nv-guest-dialog::backdrop { background: rgba(1, 8, 17, .8); backdrop-filter: blur(5px); }
body.nv-guest-support-open { overflow: hidden; }
.nv-guest-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.nv-guest-dialog__eyebrow { color: #67bcd4; font-size: 9px; line-height: 1.5; letter-spacing: 1.8px; text-transform: uppercase; }
.nv-guest-dialog h2 { margin: 5px 0 0; color: #e7f2ff; font: 600 20px/1.35 'Exo 2', sans-serif; }
.nv-guest-dialog__close { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; padding: 0; border: 1px solid rgba(49, 170, 229, .2); border-radius: 6px; background: rgba(10, 34, 52, .7); color: #8fb6cc; font-size: 24px; line-height: 1; cursor: pointer; }
.nv-guest-dialog__intro { margin: 0 0 20px; color: #93acc2; font-size: 13px; line-height: 1.6; }
.nv-guest-dialog__status { margin: 0 0 18px; padding: 12px 14px; border: 1px solid rgba(49, 170, 229, .24); border-radius: 7px; background: rgba(20, 55, 76, .38); color: #c8e2f1; font-size: 13px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.nv-guest-dialog__status[data-state="error"] { border-color: rgba(255, 100, 124, .3); background: rgba(105, 35, 56, .16); color: #ffc2cf; }
.nv-guest-dialog__status[data-state="success"] { border-color: rgba(62, 230, 160, .3); background: rgba(22, 78, 64, .2); color: #acf0d9; }
.nv-guest-dialog__form { display: grid; gap: 18px; }
.nv-guest-dialog__form[hidden], .nv-guest-dialog__status[hidden] { display: none; }
.nv-guest-dialog__field { display: grid; gap: 7px; }
.nv-guest-dialog__field > label { color: #c3d6e5; font-size: 12px; font-weight: 600; }
.nv-guest-dialog input:not([type="hidden"]), .nv-guest-dialog textarea { box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 11px 12px; border: 1px solid rgba(49, 170, 229, .22); border-radius: 7px; outline: none; background: #04101c; color: #e7f2ff; font: 400 14px/1.5 'Exo 2', sans-serif; box-shadow: none; }
.nv-guest-dialog textarea { min-height: 126px; max-height: 260px; resize: vertical; }
.nv-guest-dialog input:focus, .nv-guest-dialog textarea:focus { border-color: #31aee0; box-shadow: 0 0 0 3px rgba(49, 170, 229, .1); }
.nv-guest-dialog input::placeholder, .nv-guest-dialog textarea::placeholder { color: #587991; opacity: 1; }
.nv-guest-dialog__field small { color: #718ea7; font-size: 11px; line-height: 1.5; }
.nv-guest-dialog__captcha { display: grid; grid-template-columns: 180px 36px minmax(80px, 1fr); align-items: center; gap: 10px; }
.nv-guest-dialog__captcha-image { display: grid; place-items: center; width: 180px; height: 64px; overflow: hidden; border: 1px solid rgba(49, 170, 229, .22); border-radius: 7px; background: #081829; }
.nv-guest-dialog__captcha-image img { display: block; width: 180px; height: 64px; object-fit: contain; }
.nv-guest-dialog__captcha-image img[hidden] { display: none; }
.nv-guest-dialog__refresh { width: 36px; height: 36px; padding: 0; border: 1px solid rgba(49, 170, 229, .22); border-radius: 7px; background: #0b2336; color: #85d0e4; font-size: 22px; cursor: pointer; }
.nv-guest-dialog__actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 2px; padding-top: 17px; border-top: 1px solid rgba(49, 170, 229, .12); }
.nv-guest-dialog__cancel, .nv-guest-dialog__submit { min-height: 40px; padding: 10px 17px; border-radius: 7px; font: 600 12px/1.5 'Exo 2', sans-serif; cursor: pointer; }
.nv-guest-dialog__cancel { border: 1px solid rgba(49, 170, 229, .2); background: transparent; color: #91acc1; }
.nv-guest-dialog__submit { border: 1px solid rgba(49, 214, 255, .35); background: linear-gradient(135deg, #1ea9cb, #256baa); color: #eefaff; }
.nv-guest-dialog button:disabled { opacity: .5; cursor: wait; }
.nv-guest-dialog__honeypot { display: none !important; }
@media (max-width: 480px) { .nv-guest-dialog { padding: 20px; } .nv-guest-dialog__captcha { grid-template-columns: 180px 36px; gap: 9px; } .nv-guest-dialog__captcha input { grid-column: 1 / -1; } .nv-guest-dialog__actions { justify-content: stretch; } .nv-guest-dialog__actions button { flex: 1 1 auto; padding-inline: 10px; } }
@media (prefers-reduced-motion: reduce) { .nv-guest-support__trigger { transition: none; } }
