/* Pulso: estilos compartilhados (mesmas cores e fontes do arquivo do Figma) */
:root{
  --bg:#06080D; --surface:#0C1018; --raised:#121826; --hover:#18203A;
  --line:#1A2131; --line2:#283250;
  --tx:#EEF2FB; --muted:#8C96AF; --dim:#5B6580; --on:#04120E;
  --pulse:#5CF2C8; --violet:#9A86FF; --amber:#FFC25C; --coral:#FF6E86; --sky:#5CC8FF;
  --r-sm:8px; --r-md:12px; --r-lg:18px;
  --f-display:"Sora",system-ui,sans-serif; --f-ui:"Geist",system-ui,sans-serif; --f-mono:"Geist Mono",ui-monospace,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--tx);font:15px/1.5 var(--f-ui);-webkit-font-smoothing:antialiased;min-height:100vh}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img,svg{display:block}
:focus-visible{outline:2px solid var(--pulse);outline-offset:2px;border-radius:6px}
.mono{font-family:var(--f-mono);letter-spacing:-.02em}
.over{font:500 11px/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[hidden]{display:none!important}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--r-md);padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--pulse);color:var(--on);box-shadow:0 8px 24px -8px rgba(92,242,200,.55)}
.btn-p:hover{background:#7ff6d6}
.btn-s{background:var(--raised);border-color:var(--line2)}
.btn-s:hover{border-color:#3a4568;background:var(--hover)}
.btn-g{background:transparent;color:var(--muted)} .btn-g:hover{color:var(--tx);background:var(--raised)}
.btn-d{background:rgba(255,110,134,.12);color:var(--coral);border-color:rgba(255,110,134,.3)}
.btn-sm{padding:7px 12px;font-size:13px;border-radius:10px}
.btn-lg{padding:14px 22px;font-size:15px}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn svg{width:16px;height:16px}

/* Status */
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:500;border:1px solid;white-space:nowrap}
.tag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.t-pulse{color:var(--pulse);background:rgba(92,242,200,.12);border-color:rgba(92,242,200,.3)}
.t-amber{color:var(--amber);background:rgba(255,194,92,.12);border-color:rgba(255,194,92,.3)}
.t-sky{color:var(--sky);background:rgba(92,200,255,.12);border-color:rgba(92,200,255,.3)}
.t-violet{color:var(--violet);background:rgba(154,134,255,.12);border-color:rgba(154,134,255,.3)}
.t-coral{color:var(--coral);background:rgba(255,110,134,.12);border-color:rgba(255,110,134,.3)}
.t-dim{color:var(--muted);background:var(--raised);border-color:var(--line2)}

/* Cartões e formulários */
.card{background:linear-gradient(180deg,var(--raised),var(--surface));border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label,.campo .rot{font-size:13px;color:var(--muted);font-weight:500}
.inp{width:100%;background:var(--bg);border:1px solid var(--line2);border-radius:var(--r-md);padding:11px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
.inp:focus{border-color:var(--pulse);box-shadow:0 0 0 3px rgba(92,242,200,.15)}
.inp::placeholder{color:var(--dim)}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238C96AF' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.erro{color:var(--coral);font-size:13px;min-height:1em}
.ok-msg{color:var(--pulse);font-size:13px}
.logo{display:inline-flex;align-items:center;gap:10px;font:600 19px var(--f-display);letter-spacing:-.03em}
.logo svg{width:30px;height:30px}

/* Avisos rápidos */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--raised);border:1px solid var(--line2);border-radius:14px;padding:12px 18px;font-size:14px;z-index:100;transition:.25s;box-shadow:0 20px 50px -10px rgba(0,0,0,.6);max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translateX(-50%)}
.toast.ruim{border-color:rgba(255,110,134,.4);color:var(--coral)}

/* Janela (modal) */
.modal{position:fixed;inset:0;background:rgba(3,5,9,.72);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:50}
.modal>.card{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
.modal h2{font:600 20px var(--f-display);letter-spacing:-.02em}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
