body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0}.portal{max-width:720px;padding:var(--space-4);padding-bottom:var(--space-6);margin:0 auto}.portal__top{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.portal__top h1{font-family:var(--font-display);letter-spacing:var(--tracking-title);margin:0;font-size:1.375rem;font-weight:600}.portal__brand{color:var(--text-muted);font-size:.8125rem}.portal__tabs{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.portal__tabs a{min-height:var(--touch);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:1;justify-content:center;align-items:center;font-size:.875rem;text-decoration:none;display:flex}.portal__tabs a[aria-current=page]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);font-weight:600}.portal-section{min-width:0;margin-bottom:var(--space-5)}.portal-section>h2{margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-faint);font-size:.625rem;font-weight:700}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3)}.portal-card h3{margin:0 0 var(--space-1);font-family:var(--font-display);letter-spacing:var(--tracking-title);font-size:1.0625rem;font-weight:600}.portal-card p{color:var(--text-muted);margin:0;font-size:.875rem}.portal-card--destaque{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--text-inverse)}.portal-card--destaque p{color:var(--text-inverse);opacity:.82}.portal-card--destaque .entrar-sala{margin-top:var(--space-3);background:var(--text-inverse);color:var(--accent-strong)}.portal-empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);color:var(--text-muted);text-align:center}.stage-track{margin:var(--space-3) 0 var(--space-2);gap:3px;display:flex}.stage-track span{background:var(--surface-sunken);border-radius:3px;flex:1;height:6px}.stage-track span[data-reached=true]{background:var(--accent)}.stage-name{color:var(--accent-strong);font-size:.875rem;font-weight:600}.timeline{margin:var(--space-3) 0 0;border-top:1px solid var(--border);padding:0;padding-top:var(--space-3);list-style:none}.timeline li{justify-content:space-between;gap:var(--space-3);color:var(--text-muted);padding:var(--space-1) 0;font-size:.8125rem;display:flex}.material-list{margin:0;padding:0;list-style:none}.material-list a,.material-list__row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-2);color:var(--text);text-decoration:none;display:flex}.material-list__row--indisponivel{color:var(--text-muted);font-style:italic}.material-list small{color:var(--text-muted);white-space:nowrap}.entrar{max-width:420px;padding:var(--space-6) var(--space-4);margin:0 auto}.entrar form{gap:var(--space-3);display:grid}.entrar label{font-size:.875rem;font-weight:600}.entrar input{min-height:var(--touch);padding:0 var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);font-family:inherit;font-size:1rem}.entrar button{min-height:var(--touch);color:var(--text-inverse);background:var(--accent-strong);border-radius:var(--radius);cursor:pointer;border:0;font-family:inherit;font-size:1rem;font-weight:600}.entrar .aviso{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-strong);border-radius:var(--radius);padding:var(--space-4);font-size:.875rem}.entrar__ajuda{margin-top:var(--space-3);color:var(--text-muted);font-size:.8125rem;line-height:1.6}.entrar__tentar-outro{margin-top:var(--space-3);min-height:var(--touch);color:var(--accent-strong);align-items:center;font-size:.875rem;font-weight:600;text-decoration:underline;display:inline-flex}.sair{margin-top:var(--space-5);min-height:var(--touch);color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:.8125rem;text-decoration:underline;display:inline-block}a{color:var(--accent-strong)}.entrar-sala:has(+.acao-secundaria){justify-content:center;display:flex}.entrar-sala{min-height:var(--touch);padding:0 var(--space-5);color:var(--text-inverse);background:var(--accent-strong);border-radius:var(--radius);cursor:pointer;border:0;align-items:center;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.aviso{background:var(--accent-soft);border:1px solid var(--accent);color:var(--accent-strong);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3);font-size:.875rem}.aviso--erro{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);padding:var(--space-4)}.aviso--atencao{color:#8a5a12;background:#faeed6;border-color:#eddcbd}.checklist{margin:0 0 var(--space-4);padding-left:1.1rem}.checklist li{margin-bottom:var(--space-2);line-height:1.55}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-3)}.card h2{margin:0 0 var(--space-3);font-size:1.0625rem}.acao-secundaria{min-height:var(--touch);padding:0 var(--space-3);margin-top:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);justify-content:center;align-items:center;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.form-grid{gap:var(--space-3);display:grid}.form-grid label{margin-bottom:var(--space-1);font-size:.875rem;font-weight:600;display:block}.form-grid textarea{min-height:84px;padding:var(--space-2) var(--space-3);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-sizing:border-box;resize:vertical;width:100%;font-family:inherit;font-size:1rem}.form-grid button{min-height:var(--touch);color:var(--text-inverse);background:var(--accent-strong);border-radius:var(--radius);cursor:pointer;border:0;font-family:inherit;font-size:1rem;font-weight:600}.card__sub{margin-top:var(--space-1);color:var(--text-muted);font-size:.8125rem;display:block}.portal__tabs{flex-wrap:wrap}.portal__tabs a{flex:40%}@media (min-width:560px){.portal__tabs a{flex:1}}.portal__who{align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-3)) 0 var(--space-5);display:flex}.portal__avatar{border-radius:var(--radius-pill);background:var(--accent-soft);width:38px;height:38px;color:var(--accent-strong);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.portal__who strong{font-family:var(--font-display);letter-spacing:var(--tracking-title);font-size:1rem;font-weight:600;display:block}.portal__who small{color:var(--text-muted);margin-top:1px;font-size:.8125rem;display:block}.portal-section__note{margin-left:var(--space-2);font-family:var(--font);color:var(--text-muted);font-size:.75rem;font-weight:400}.passos{color:var(--text-secondary);margin:0;padding-left:1.2rem;line-height:1.6}.passos li{margin-bottom:var(--space-2)}.passos li:last-child{margin-bottom:0}.portal-numeros{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.portal-numeros dt{letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:700}.portal-numeros dd{margin:var(--space-1) 0 0;font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.portal__rodape{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.privacidade__lista{margin:0;padding-left:1.1rem;font-size:.875rem}.privacidade__lista li{margin-bottom:var(--space-2)}.privacidade__gravacao{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.privacidade__gravacao p{font-size:.875rem}.privacidade__gravacao button,.privacidade__excluir button{border:1px solid var(--danger);background:var(--danger-soft);width:100%;min-height:44px;color:var(--danger);border-radius:var(--radius);padding:0 var(--space-4);cursor:pointer;font-weight:600}@media (min-width:768px){.privacidade__gravacao button,.privacidade__excluir button{width:auto}}
