/*
 * SALA DE RECURSOS — o portal (recursos.iacadu.com.br). Mobile-first: uma
 * coluna, botões grandes, barra inferior. Usa os tokens do painel
 * (iacadu-tokens.css) por symlink; aqui só o que é do portal.
 */
.rp-body { margin: 0; background: var(--ic-bg); color: var(--ic-texto); font-family: var(--ic-font-texto); -webkit-font-smoothing: antialiased; }
.rp-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; max-width: 640px; margin: 0 auto; }
.rp-logo { width: 24px; height: 24px; border-radius: 7px; background: linear-gradient(135deg, var(--ic-primary), var(--ic-noite)); display: inline-grid; place-items: center; color: #fff; flex: none; }
.rp-logo svg { width: 60%; height: 60%; }
.rp-logo--g { width: 84px; height: 84px; border-radius: 24px; margin: 0 auto 16px; display: grid; box-shadow: 0 12px 28px rgba(30, 27, 75, .25); }
.rp-login .rp-h1 { font-size: 1.7rem; }

/* topo */
.rp-topo { position: sticky; top: 0; z-index: 5; background: var(--ic-surface); border-bottom: 1px solid var(--ic-borda); padding: 10px 16px; padding-top: calc(10px + env(safe-area-inset-top, 0px)); display: flex; align-items: center; gap: 8px; font-size: var(--ic-texto-sm); }
.rp-topo__marca { display: inline-flex; align-items: center; gap: 8px; color: var(--ic-texto-forte); }
.rp-topo__org { color: var(--ic-texto-fraco); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 30vw; }
.rp-topo__espaco { flex: 1; }
.rp-topo__quem { text-align: right; line-height: 1.15; color: var(--ic-texto-forte); font-weight: 600; }
.rp-topo__quem small { display: block; font-size: var(--ic-texto-xs); color: var(--ic-texto-fraco); font-weight: 500; }
.rp-topo__sair { margin: 0; }
.rp-sair { border: 0; background: transparent; color: var(--ic-texto-fraco); width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; cursor: pointer; }
.rp-sair svg { width: 20px; height: 20px; }
.rp-sair:hover { background: var(--ic-bg); color: var(--ic-texto); }

/* corpo */
.rp-main { flex: 1; padding: 16px; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
.rp-main--nav { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
.rp-alerta { margin-bottom: 12px; }
.rp-h1 { font-size: 1.5rem; font-weight: 800; color: var(--ic-texto-forte); margin: 4px 0 2px; letter-spacing: -.01em; line-height: 1.2; }
.rp-sub { color: var(--ic-texto-suave); font-size: var(--ic-texto-sm); margin: 0 0 14px; }
.rp-sub--centro { text-align: center; }
.rp-eyebrow { font-size: var(--ic-texto-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ic-texto-fraco); margin: 0 0 4px; }
.rp-sec-t { font-size: var(--ic-texto-xs); letter-spacing: .07em; text-transform: uppercase; color: var(--ic-texto-fraco); font-weight: 700; margin: 18px 0 8px; }
.rp-dica { font-size: var(--ic-texto-xs); color: var(--ic-texto-fraco); margin: 8px 0 0; }
.rp-dica--centro { text-align: center; }
.rp-opcional { font-weight: 500; color: var(--ic-texto-fraco); }
.rp-input { min-height: 50px; font-size: var(--ic-texto-md); }

/* botões grandes */
.rp-bt { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; border: 0; border-radius: var(--ic-raio-sm); background: var(--ic-primary); color: #fff; font: inherit; font-size: 1.05rem; font-weight: 700; cursor: pointer; text-decoration: none; margin-top: 10px; box-sizing: border-box; }
.rp-bt:hover { filter: brightness(1.06); text-decoration: none; color: #fff; }
.rp-bt:active { transform: translateY(1px); }
.rp-bt:focus-visible { outline: 3px solid var(--ic-foco); outline-offset: 2px; }
.rp-bt svg { width: 26px; height: 26px; }
.rp-bt--ok { background: var(--ic-sucesso); min-height: 64px; font-size: 1.2rem; }
.rp-bt--sec { background: var(--ic-primary-100); color: var(--ic-primary-600); }
.rp-bt--sec:hover { color: var(--ic-primary-600); }
.rp-bt--fant { background: transparent; color: var(--ic-primary); min-height: 44px; }
.rp-bt--fant:hover { color: var(--ic-primary-600); background: var(--ic-primary-100); }
.rp-bt--cam { min-height: 64px; border-radius: var(--ic-raio); }
.rp-bt--cam[hidden] { display: none; }

/* listas */
.rp-lista { display: flex; flex-direction: column; gap: 10px; }
.rp-form-inline { margin: 0; }
.rp-it { display: flex; gap: 12px; align-items: center; width: 100%; background: var(--ic-surface); border: 2px solid transparent; border-radius: var(--ic-raio-sm); padding: 12px; box-shadow: var(--ic-sombra-suave); text-decoration: none; color: inherit; font: inherit; text-align: left; cursor: pointer; min-height: 72px; box-sizing: border-box; }
.rp-it:hover { border-color: var(--ic-primary-100); text-decoration: none; color: inherit; }
.rp-it.is-sel { border-color: var(--ic-primary); }
.rp-it[hidden] { display: none; }
.rp-it__txt { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.rp-it__n { font-weight: 600; color: var(--ic-texto-forte); }
.rp-it__m { font-size: var(--ic-texto-xs); color: var(--ic-texto-fraco); }
.rp-it__r { margin-left: auto; flex: none; }
.rp-foto { width: 54px; height: 54px; border-radius: 12px; flex: none; overflow: hidden; background: var(--ic-bg-sutil); display: grid; place-items: center; color: var(--ic-texto-fraco); }
.rp-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rp-foto svg { width: 26px; height: 26px; }
.rp-foto--g { width: 120px; height: 120px; border-radius: var(--ic-raio); margin: 0 auto 12px; }
.rp-foto--g svg { width: 48px; height: 48px; }
.rp-av { width: 44px; height: 44px; border-radius: 50%; flex: none; display: grid; place-items: center; font-weight: 700; color: #fff; background: var(--ic-primary); font-size: var(--ic-texto-sm); }
.rp-badge-prim { background: var(--ic-primary-100); color: var(--ic-primary-600); }

/* contexto "em nome de" */
.rp-ctx { display: flex; align-items: center; gap: 10px; background: var(--ic-surface); border: 1px solid var(--ic-borda); border-radius: var(--ic-raio-sm); padding: 10px 12px; margin: 14px 0 6px; font-size: var(--ic-texto-sm); }
.rp-ctx b { color: var(--ic-texto-forte); }
.rp-ctx a { margin-left: auto; color: var(--ic-primary); font-weight: 600; font-size: var(--ic-texto-xs); flex: none; }
.rp-ctx--centro { justify-content: center; }
.rp-ctx--centro a { margin-left: 0; }

/* câmera */
.rp-cam { position: relative; height: 260px; border-radius: var(--ic-raio); background: #0b0a1a; overflow: hidden; margin-bottom: 10px; display: grid; place-items: center; }
.rp-cam[hidden] { display: none; }
.rp-cam__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rp-cam__mira { position: relative; width: 170px; height: 170px; border: 3px dashed #a5b4fc; border-radius: 18px; }
.rp-cam__txt { position: absolute; bottom: 8px; left: 0; right: 0; text-align: center; color: #cbd5e1; font-size: var(--ic-texto-xs); margin: 0; }
.rp-cam__canvas { display: none; }

/* busca e chips */
.rp-busca { margin: 0 0 8px; }
.rp-chips { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 10px; -webkit-overflow-scrolling: touch; }
.rp-chip { flex: none; padding: 7px 13px; border-radius: 999px; background: var(--ic-surface); border: 1px solid var(--ic-borda); font-size: var(--ic-texto-sm); font-weight: 600; color: var(--ic-texto); text-decoration: none; }
.rp-chip.is-on { background: var(--ic-noite); color: #fff; border-color: var(--ic-noite); }
.rp-chip:hover { text-decoration: none; border-color: var(--ic-primary); }

/* item / devolver */
.rp-res { background: var(--ic-surface); border-radius: var(--ic-raio); padding: 20px 16px; box-shadow: var(--ic-sombra-suave); }
.rp-res__nome { font-size: 1.35rem; font-weight: 800; color: var(--ic-texto-forte); text-align: center; margin: 0; line-height: 1.2; }
.rp-res__nome small { font-size: var(--ic-texto-sm); font-weight: 600; color: var(--ic-texto-fraco); }
.rp-res__st { text-align: center; margin: 6px 0 14px; font-size: 1.05rem; color: var(--ic-texto-forte); }
.rp-emuso { margin-bottom: 8px; font-size: var(--ic-texto-sm); }
.rp-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
.rp-opt { position: relative; }
.rp-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rp-opt span { display: flex; align-items: center; justify-content: center; min-height: 56px; border: 2px solid var(--ic-borda); background: var(--ic-surface); border-radius: var(--ic-raio-sm); font-weight: 600; cursor: pointer; text-align: center; padding: 6px; }
.rp-opt input:checked + span { border-color: var(--ic-primary); background: var(--ic-primary-100); color: var(--ic-primary-600); }
.rp-opt input:focus-visible + span { outline: 3px solid var(--ic-foco); outline-offset: 2px; }

/* vazio e login */
.rp-vazio { text-align: center; color: var(--ic-texto-fraco); padding: 28px 10px; }
.rp-vazio__e { font-size: 2.6rem; margin-bottom: 6px; }
.rp-login { padding-top: 40px; text-align: center; max-width: 420px; margin: 0 auto; }
.rp-login .rp-sub { margin-bottom: 20px; }
.rp-login .rp-form { text-align: left; }

/* nav inferior */
.rp-nav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 6; background: var(--ic-surface); border-top: 1px solid var(--ic-borda); display: flex; justify-content: space-around; padding: 6px 4px calc(8px + env(safe-area-inset-bottom, 0px)); }
.rp-nav__item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: .72rem; font-weight: 600; color: var(--ic-texto-fraco); text-decoration: none; padding: 6px 0; min-height: 52px; justify-content: center; }
.rp-nav__item svg { width: 24px; height: 24px; }
.rp-nav__item.is-ativo { color: var(--ic-primary); }
.rp-nav__item:hover { text-decoration: none; color: var(--ic-primary); }
@media (min-width: 641px) { .rp-nav { max-width: 640px; margin: 0 auto; border-radius: 16px 16px 0 0; border-left: 1px solid var(--ic-borda); border-right: 1px solid var(--ic-borda); } }
