:root{
  --brand:#7C3AED; --ink:#111827; --muted:#6B7280; --line:#E5E7EB; --bg:#ffffff; --card:#ffffff;
  --radius:14px; --shadow:0 24px 60px rgba(17,24,39,.08);
  --btn:#7C3AED; --btn-ink:#fff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:linear-gradient(90deg,#ffffff 0%,#f6f3ff 50%,#ffffff 100%);color:var(--ink);font:15px/1.55 Inter,system-ui,Segoe UI,Roboto,Arial}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800}
nav a{margin-right:12px}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.74rem 1.05rem;border-radius:12px;border:1px solid var(--btn);background:var(--btn);color:var(--btn-ink);font-weight:700;cursor:pointer}
.btn.secondary{background:#F3F4F6;border:1px solid var(--line);color:var(--ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.grid{display:grid;gap:1rem}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:960px){.grid.two{grid-template-columns:1fr}}

.auth-wrap{display:grid;grid-template-columns:1.2fr .8fr;min-height:100vh}
@media(max-width:980px){.auth-wrap{grid-template-columns:1fr}}
.auth-left,.auth-right{padding:48px}
.brand{position:relative;width:100%;max-width:600px;min-height:440px;border-radius:24px;background:#F8FAFC;overflow:hidden;box-shadow:var(--shadow)}
.brand .frame{position:absolute;inset:18px;border:1px solid var(--line);border-radius:20px;box-shadow: inset 0 1px 0 rgba(255,255,255,.6)}
.brand .img{position:absolute;inset:0;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.96}
.brand .caption{position:absolute;left:22px;top:22px;background:rgba(124,58,237,.10);color:#4c249f;border:1px solid #eadcff;border-radius:999px;padding:6px 10px;font-weight:700;letter-spacing:.2px}
.brand .info{position:absolute;left:24px;right:24px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.7);backdrop-filter:saturate(1.2) blur(6px);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7C3AED,#B794F4);color:#fff;font-weight:800;font-size:12px}

.panel{width:100%;max-width:500px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel .bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.panel .title{font-weight:800}
.panel .date{color:var(--muted);font-size:.92rem}
.panel .content{padding:18px}

.vertical-form{display:grid;gap:12px}
.input, textarea, select{width:100%;padding:.85rem 1rem;border:1px solid #D1D5DB;border-radius:12px;background:#fff;color:#111827;outline:none}
.input:focus, textarea:focus, select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(124,58,237,.15)}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.7rem;border-bottom:1px solid var(--line);text-align:left}
.badge{display:inline-block;padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px}
.footer{border-top:1px solid var(--line);color:var(--muted);padding:22px 0;margin-top:40px}

.theme-switch{display:inline-flex;gap:6px;align-items:center}
.theme-switch a{padding:.35rem .6rem;border-radius:999px;border:1px solid var(--line)}
.theme-switch a.active{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}


/* ====== Logo escrita (Clean) ====== */
.logo-type{font-family:Sora,Inter,system-ui; font-weight:800; font-size:26px; line-height:1; display:inline-flex; gap:2px; align-items:baseline line-height:1; display:inline-flex; gap:2px; align-items:baseline}
.logo-type .nx{background:linear-gradient(90deg,#6D28D9,#A78BFA); -webkit-background-clip:text; background-clip:text; color:transparent}
.logo-type .pay{color:var(--ink)}
.logo-type .hub{color:var(--muted); font-size:.9em; margin-left:4px}

/* theme pills compactos */
.theme-switch a{font-size:.86rem; padding:.28rem .6rem}

.banner-pending{background:rgba(124,58,237,.08);border-bottom:1px solid #e5e7eb;padding:8px 12px;text-align:center;font-size:.95rem}
.banner-pending a{font-weight:700;margin-left:6px}

/* Badge de notificações */
.pill-notif{display:inline-flex;min-width:18px;height:18px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;font-size:.72rem;background:#ef4444;color:#fff;margin-left:6px}
