/* NEXA Site 1.5.23: página pública independente, autenticação e painel BD. */
html:has(body.nxsp-standalone){background:#2c3941}
body.nxsp-standalone{margin:0!important;min-height:100vh;background:#2c3941!important;overflow-x:hidden}
body.nxsp-standalone #nxspPublicMain{max-width:445px;margin:0 auto;min-height:100vh}
body.nxsp-standalone .ns3831{max-width:445px!important;min-height:100dvh;margin:0 auto!important;box-shadow:none!important}
body.nxsp-standalone .ns3831-view{min-height:calc(100dvh - 180px)}
body.nxsp-standalone .ns3831-bottomnav{position:sticky;bottom:0;z-index:12}
body.nxsp-standalone .nxsp-user-greeting{font-size:11px;color:#e6f6eb;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nxsp-auth-backdrop{position:fixed;inset:0;z-index:1001;background:#091114c9;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.nxsp-auth-backdrop[hidden],.nxsp-auth-form[hidden]{display:none!important}
.nxsp-auth-panel{position:relative;color:#f4faf8;width:min(100%,405px);max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid #38535d;border-radius:14px;background:#24353f;box-shadow:0 18px 60px #071016aa;padding:24px 20px 18px}
.nxsp-auth-panel h2{font-size:22px;margin:0 32px 15px 0}
.nxsp-auth-panel small{display:block;font-size:11px;color:#b2c8c8;line-height:1.5;margin-top:14px}
.nxsp-auth-form{display:flex;flex-direction:column;gap:12px}
.nxsp-auth-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#f0f8f5}
.nxsp-auth-form input{font:inherit;font-size:15px;border:1px solid #729095;border-radius:7px;background:#eff8f6;color:#12242a;padding:11px;min-width:0}
.nxsp-auth-form button[type=submit]{padding:12px 10px;background:#02ca85;color:#0b2721;font-weight:800;border:0;border-radius:8px;margin-top:5px}
.nxsp-auth-form .nxsp-auth-switch{color:#b8ffdb;background:transparent;border:0;padding:8px}
.nxsp-auth-close{position:absolute;right:13px;top:9px;color:#fff;background:transparent;border:0;font-size:27px;cursor:pointer}
.nxsp-message{border-radius:7px;padding:10px;font-size:12px;line-height:1.45}
.nxsp-message.is-error{background:#5f2933;color:#ffe3e3}.nxsp-message.is-ok{background:#214c3a;color:#d4ffe5}
@media(max-width:500px){body.nxsp-standalone #nxspPublicMain,body.nxsp-standalone .ns3831{max-width:none!important;width:100%!important;margin:0!important}.nxsp-auth-backdrop{padding:9px}.nxsp-auth-panel{padding:20px 16px}}
/* BD Site — apenas área administrativa. */
.nx-site-db{max-width:1250px;margin:auto;padding:4px 0 36px;color:#203348}
.nx-site-db-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}
.nx-site-db-head h1{font-size:24px;line-height:1.2;margin:0 0 6px;color:#172d43}
.nx-site-db-head p{margin:0;color:#607187;font-size:14px}
.nx-site-db-open,.nx-site-db-export button,.nx-site-db-section form button:not(.nx-site-db-delete button){display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#168bdb;color:white;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none}
.nx-site-db-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.nx-site-db-stats>div,.nx-site-db-section{background:white;border:1px solid #dce6ef;border-radius:12px;padding:16px;box-shadow:0 3px 12px #263b510c}
.nx-site-db-stats small{display:block;color:#75869b;font-size:12px}.nx-site-db-stats strong{display:block;font-size:27px;margin-top:5px;color:#173a58}
.nx-site-db-section{margin-bottom:16px}.nx-site-db-section h2{margin:0 0 8px;font-size:18px;color:#18374f}.nx-site-db-section p{color:#64758b;font-size:13px;line-height:1.5}
.nx-site-db-section form{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:10px 0}
.nx-site-db-section label{display:flex;flex-direction:column;gap:5px;flex:1;min-width:160px;font-size:12px;font-weight:700;color:#314e67}
.nx-site-db-section input,.nx-site-db-section select,.nx-site-db-section textarea{width:100%;min-width:0;border-radius:7px;border:1px solid #c7d6e4;background:#fbfdff;color:#1a3449;padding:9px;font:inherit;font-size:13px}
.nx-site-db-section textarea{min-height:90px;resize:vertical}
.nx-site-db-export button{min-height:37px}.nx-site-db-notice{font-size:12px;color:#865e35!important}
.nx-site-db-fields{display:grid;gap:7px}.nx-site-db-setting{border-top:1px solid #eef2f8;padding-top:7px}
.nx-site-db-record{border:1px solid #e1e8ef;border-radius:9px;padding:12px;margin:12px 0;background:#fcfdff}
.nx-site-db-record-title{display:flex;flex-direction:column;gap:4px;font-size:13px;word-break:break-word}.nx-site-db-record-title small{font-size:11px;color:#627589}
.nx-site-db-inline label:first-of-type{flex:2}.nx-site-db-delete{border-top:1px dashed #ddd;margin-top:10px!important;padding-top:10px}.nx-site-db-delete label{flex:0 1 230px}
.nx-site-db-delete button{background:#fff1f1;border:1px solid #e4b2b2;border-radius:8px;color:#b02f3a;padding:9px 12px;cursor:pointer;font-weight:700}
.nx-site-db-editor{align-items:stretch!important;flex-direction:column}.nx-site-db-editor label{width:100%}.nx-site-db-editor button{align-self:flex-start}
.nx-site-db-pager{display:flex;align-items:center;gap:15px;justify-content:center;padding:12px;font-size:13px}.nx-site-db-pager a{color:#0079c8}
.nx-site-db-error{background:#fff3f3;border:1px solid #dbadad;border-radius:9px;color:#903334;padding:14px}
@media(max-width:640px){.nx-site-db-head{flex-direction:column}.nx-site-db-stats{grid-template-columns:1fr}.nx-site-db-section form{flex-direction:column;align-items:stretch}.nx-site-db-section label{width:100%}.nx-site-db-section button{width:100%}}

.nxsp-auth-form .nxsp-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* 1.5.24 — Formulário telefone/senha fiel à referência visual (sem imagens finais). */
.nxsp-auth-backdrop{background:rgba(6,13,15,.68);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:12px;align-items:center}
.nxsp-auth-panel{width:min(100%,445px);max-height:min(90dvh,750px);padding:26px 18px 30px;border:0;border-top:2px solid #00d88f;border-radius:25px 25px 0 0;background:#29363f;color:#f8fbff;box-shadow:0 8px 40px #0009}
.nxsp-auth-panel h2{margin:0 32px 2px 0;font-size:26px;font-weight:900;line-height:1.25;letter-spacing:-.04em}
.nxsp-auth-lead{color:#a5afb7;margin:0 0 23px;font-weight:700;font-size:14px}
.nxsp-auth-lead[hidden]{display:none}
.nxsp-auth-lead button,.nxsp-auth-foot button{border:0;background:transparent;color:#ffcb41;font:inherit;font-weight:800;padding:3px;cursor:pointer}
.nxsp-auth-panel .nxsp-auth-form{gap:23px;margin-top:22px}
.nxsp-auth-panel .nxsp-auth-form label.nxsp-field{display:flex;flex-direction:column;gap:5px;font-size:12px}
.nxsp-field-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.nxsp-phone-field,.nxsp-password-field{display:flex;align-items:center;background:#111916;border:1px solid #41514e;border-radius:7px;min-height:52px;overflow:hidden}
.nxsp-country{display:flex;align-items:center;gap:5px;flex:none;color:#f5f8f8;font-size:15px;border-right:1px solid #374540;padding:0 11px;white-space:nowrap}
.nxsp-auth-form .nxsp-phone-field input,.nxsp-auth-form .nxsp-password-field input{display:block;flex:1;min-width:0;border:0!important;outline:none;background:transparent!important;color:#f3f8f6!important;border-radius:0;padding:13px 12px;font-size:15px}
.nxsp-auth-panel input::placeholder{color:#87918f}
.nxsp-auth-panel .nxsp-eye{background:transparent;border:0;color:#9eaaa6;padding:12px;cursor:pointer;font-size:17px}
.nxsp-auth-panel .nxsp-auth-form button[type=submit]{min-height:52px;background:#05c86b;color:#072719;font-size:17px;border-radius:6px;cursor:pointer}
.nxsp-auth-panel .nxsp-auth-form button[type=submit]:disabled{background:#244c2b;color:#9eb4a6;cursor:not-allowed}
.nxsp-auth-panel .nxsp-auth-foot{color:#b4c0c4;text-align:center;font-size:13px;margin:-10px 0 0}
.nxsp-auth-panel small{font-size:11px;color:#a9bac0}
.nxsp-auth-close{border-radius:50%;width:36px;height:36px;top:-60px;right:0;background:#475c55d4;font-size:26px;line-height:1}
@media(max-width:500px){.nxsp-auth-backdrop{padding:0}.nxsp-auth-panel{width:100%;max-height:calc(100dvh - 90px);min-height:calc(100dvh - 90px);border-radius:22px 22px 0 0;align-self:flex-end;padding-top:22px}.nxsp-auth-close{top:-54px;right:12px}}
