/* OCTT Minha Área — hero convidado + perfil/tabs/grid (VIS-3) */

    /* ── Hero convidado ── */
    .octt-guest-cta {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 70vh;
        padding: 4rem 1.5rem;
        background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
    }
    .octt-guest-inner {
        text-align: center;
        max-width: 520px;
        animation: octtFadeUp .55s ease both;
    }
    @keyframes octtFadeUp {
        from { opacity:0; transform:translateY(20px); }
        to   { opacity:1; transform:translateY(0); }
    }
    .octt-guest-logo {
        width: 90px;
        height: 90px;
        margin: 0 auto 1.5rem;
        background: rgba(124,58,237,.18);
        border: 2px solid rgba(167,139,250,.35);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.5rem;
        line-height: 1;
    }
    .octt-guest-titulo {
        font-size: clamp(1.5rem, 4vw, 2.2rem);
        font-weight: 800;
        margin: 0 0 1rem;
        color: #fff;
        line-height: 1.2;
    }
    .octt-guest-titulo span { color: #a78bfa; }
    .octt-guest-desc {
        color: rgba(255,255,255,.72);
        font-size: 1rem;
        line-height: 1.7;
        margin: 0 0 2rem;
    }
    .octt-guest-btns {
        display: flex;
        gap: .85rem;
        justify-content: center;
        flex-wrap: wrap;
    }
    .octt-btn-login {
        padding: .7rem 2rem;
        border: 2px solid #a78bfa;
        color: #a78bfa;
        border-radius: 50px;
        font-weight: 700;
        font-size: .95rem;
        text-decoration: none;
        transition: background .2s, color .2s;
        letter-spacing: .01em;
    }
    .octt-btn-login:hover { background: #a78bfa; color: #fff; }
    .octt-btn-registro {
        padding: .7rem 2rem;
        background: #7c3aed;
        color: #fff;
        border-radius: 50px;
        font-weight: 700;
        font-size: .95rem;
        text-decoration: none;
        transition: background .2s;
        letter-spacing: .01em;
    }
    .octt-btn-registro:hover { background: #5b21b6; }

    .octt-minha-area { padding:1.5rem 0; max-width:1100px; margin:0 auto; }

    /* ── Strip de perfil ── */
    .octt-perfil-strip {
        display:flex; align-items:center; flex-wrap:wrap; gap:1.25rem;
        background:linear-gradient(135deg,#1a1a2e 0%,#2d1b6e 100%);
        border-radius:12px;
        /* padding-left reserva espaço para o avatar absoluto (112px + 16px gap + 20px margem) */
        padding:.85rem 1.5rem .85rem 184px;
        min-height:72px;
        margin-bottom:0; color:#fff;
        overflow:visible; position:relative; z-index:1;
    }
    /* Avatar absoluto: sai do fluxo, vaza acima e abaixo do card roxo */
    .octt-avatar-wrap {
        position:absolute;
        left:1.25rem;
        top:50%;
        transform:translateY(-50%);
        width:148px;
        height:148px;
        z-index:10;
    }
    .octt-perfil-avatar {
        width:148px; height:148px;
        border-radius:50%; object-fit:cover; display:block;
        border:3px solid rgba(255,255,255,.5);
    }
    /* ── Insígnia de nível — destaque no lado direito do banner ── */
    .octt-perfil-nivel-badge {
        display:flex; flex-direction:column; align-items:center; gap:.35rem;
        flex-shrink:0;
        text-align:center;
    }
    .octt-nivel-badge-img {
        width:80px; height:80px; object-fit:contain;
        filter:drop-shadow(0 3px 10px rgba(0,0,0,.45));
        display:block;
    }
    .octt-nivel-badge-emoji {
        font-size:3.5rem; line-height:1; display:block;
        filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
    }
    .octt-nivel-badge-nome {
        font-size:.65rem; font-weight:700; color:#c4b5fd;
        text-transform:uppercase; letter-spacing:.06em;
        max-width:90px; line-height:1.2;
    }
    .octt-perfil-nome-nivel { display:flex; flex-direction:column; gap:.2rem; }
    .octt-perfil-nome { font-size:1rem; color:rgba(255,255,255,.85); }
    .octt-perfil-nome strong { color:#fff; font-size:1.05rem; }
    .octt-perfil-nivel-nome { font-size:.82rem; color:#c4b5fd; font-weight:700; letter-spacing:.02em; }
    .octt-perfil-xp-grupo { flex:1; min-width:160px; }
    .octt-perfil-xp-trilho { height:8px; background:rgba(255,255,255,.15); border-radius:4px; overflow:hidden; margin-bottom:.4rem; cursor:default; }
    .octt-perfil-xp-fill { height:100%; background:linear-gradient(90deg,#a78bfa,#f0abfc); border-radius:4px; transition:width .6s ease; }
    .octt-perfil-xp-label { font-size:.78rem; color:rgba(255,255,255,.6); }
    .octt-perfil-stats { display:flex; gap:.5rem; flex-shrink:0; flex-wrap:wrap; }
    .octt-stat-pill { display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.14); border-radius:50px; padding:.4rem 1.1rem; font-size:.9rem; color:rgba(255,255,255,.95); border:1px solid rgba(255,255,255,.1); }
    .octt-stat-pill strong { color:#ffd700; font-size:.95rem; }
    .octt-pill-icon { font-size:1.9rem; line-height:1; display:inline-flex; align-items:center; }

    /* ── Card wrapper (strip + conquistas) ── */
    .octt-perfil-card { position:relative; margin-bottom:1.5rem; }
    /* Strip: top radius quando tem conquistas abaixo */
    .octt-perfil-card .octt-perfil-strip:not(:last-child) { border-radius:12px 12px 0 0; }
    /* Avatar como link: sem underline, cursor pointer, hover ring */
    a.octt-avatar-wrap { text-decoration:none; }
    a.octt-avatar-wrap:hover .octt-perfil-avatar { border-color:rgba(255,255,255,.85); }
    /* Link "Suas Conquistas" */
    .octt-conquistas-link { text-decoration:none; display:block; }
    .octt-conquistas-link:hover .octt-insignias-titulo { color:#7c3aed; }
    .octt-conquistas-arrow { font-size:.9em; opacity:.6; margin-left:.25rem; }

    /* ── Insígnias ── */
    .octt-insignias-bloco {
        /* padding-top compensa overflow inferior do avatar (148px - ~72px strip) / 2 ≈ 44px */
        padding:44px 1.5rem 1.25rem;
        background:#fff;
        border:1px solid #e5e7eb;
        border-top:none;
        border-radius:0 0 12px 12px;
        margin-bottom:0;
    }
    .octt-insignias-titulo { font-size:.8rem; font-weight:700; color:#6b21a8; margin:0 0 .5rem; text-transform:uppercase; letter-spacing:.05em; }
    .octt-insignias-grid { display:flex; gap:.75rem; flex-wrap:wrap; }
    .octt-insignia-card { display:flex; flex-direction:column; align-items:center; gap:.3rem; background:#f5f0ff; border:1px solid #ddd6fe; border-radius:10px; padding:.6rem .9rem; cursor:default; transition:transform .15s; }
    .octt-insignia-card:hover { transform:translateY(-2px); }
    .octt-insignia-icon-wrap { position:relative; display:flex; align-items:center; justify-content:center; }
    .octt-insignia-img { width:60px; height:60px; object-fit:contain; display:block; }
    .octt-insignia-icon { font-size:2.2rem; line-height:1; }
    .octt-insignia-nome { font-size:.64rem; font-weight:600; color:#6b21a8; text-align:center; max-width:80px; line-height:1.2; }
    /* Conquista bloqueada */
    .octt-insignia-bloqueada { opacity:.42; filter:grayscale(1); }
    .octt-insignia-lock {
        position:absolute; bottom:-4px; right:-6px;
        font-size:.65rem; background:rgba(0,0,0,.55);
        border-radius:50%; width:18px; height:18px;
        display:flex; align-items:center; justify-content:center;
        line-height:1;
    }

    /* ── Banner Euclídia ── */
    .octt-banner-euclidia { background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 60%,#312e81 100%); border-radius:12px; padding:1rem 1.5rem; margin-bottom:1rem; }
    .octt-banner-content { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
    .octt-banner-icon { font-size:1.8rem; flex-shrink:0; color:#a78bfa; font-style:italic; font-weight:700; font-family:serif; }
    .octt-banner-text { flex:1; min-width:160px; }
    .octt-banner-title { margin:0 0 .15rem; font-size:.95rem; font-weight:700; color:#e0d7ff; }
    .octt-banner-desc { margin:0; font-size:.8rem; color:rgba(255,255,255,.6); }
    .octt-banner-btn { padding:.5rem 1.1rem; background:#7c3aed; color:#fff; border-radius:50px; font-size:.82rem; font-weight:600; text-decoration:none; white-space:nowrap; transition:background .2s; }
    .octt-banner-btn:hover { background:#5b21b6; }

    /* ── Busca ── */
    .octt-controles { margin-bottom:.75rem; }
    .octt-busca-input { width:100%; padding:.6rem 1rem; border:1px solid #e5e7eb; border-radius:8px; font-size:.9rem; background:#fafafa; box-sizing:border-box; transition:border-color .2s,box-shadow .2s; }
    .octt-busca-input:focus { outline:none; border-color:#7c3aed; box-shadow:0 0 0 3px rgba(124,58,237,.15); }

    /* ── Tabs ── */
    .octt-tabs { display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1rem; }
    .octt-tab { padding:.4rem .9rem; border:1px solid #e5e7eb; border-radius:50px; background:#fff; color:#555; font-size:.82rem; cursor:pointer; transition:.15s; }
    .octt-tab:hover { border-color:#7c3aed; color:#7c3aed; }
    .octt-tab-ativo { background:#7c3aed; color:#fff; border-color:#7c3aed; font-weight:600; }

    /* ── Grid ── */
    .octt-cursos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; }
    .octt-curso-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; transition:box-shadow .2s,transform .2s; }
    .octt-curso-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.1); transform:translateY(-2px); }
    .octt-curso-card[hidden] { display:none; }
    .octt-card-thumb img { width:100%; height:130px; object-fit:cover; display:block; }
    .octt-card-body { padding:.9rem; }
    .octt-card-titulo { margin:0 0 .65rem; font-size:.9rem; font-weight:600; color:#1a1a2e; line-height:1.3; }
    .octt-card-progresso { height:4px; background:#f0f0f0; border-radius:2px; overflow:hidden; position:relative; margin-bottom:.5rem; }
    .octt-card-progresso-fill { height:100%; background:linear-gradient(90deg,#7c3aed,#a78bfa); border-radius:2px; }
    .octt-card-progresso-pct { position:absolute; right:0; top:-17px; font-size:.68rem; color:#7c3aed; font-weight:600; }
    .octt-card-btn { display:inline-block; padding:.45rem 1rem; border-radius:50px; font-size:.8rem; font-weight:600; text-decoration:none; transition:.15s; }
    .octt-btn-continuar { background:#7c3aed; color:#fff; }
    .octt-btn-continuar:hover { background:#5b21b6; }
    .octt-btn-ver { background:#f5f0ff; color:#7c3aed; border:1px solid #ddd6fe; }
    .octt-btn-ver:hover { background:#ede9fe; }
    .octt-sem-cursos { grid-column:1/-1; text-align:center; color:#888; padding:2rem; }

    @media(max-width:600px){
        .octt-perfil-xp-grupo { min-width:100%; order:3; }
        .octt-perfil-stats { flex:1; justify-content:flex-end; }
        /* Mobile: avatar menor, padding-left ajustado */
        .octt-perfil-strip { padding:.75rem 1rem .75rem 106px; min-height:60px; margin-bottom:0; }
        .octt-avatar-wrap { left:.75rem; width:84px; height:84px; }
        .octt-perfil-avatar { width:84px; height:84px; }
        .octt-nivel-badge-img { width:52px; height:52px; }
        .octt-nivel-badge-emoji { font-size:2.4rem; }
        .octt-nivel-badge-nome { font-size:.58rem; max-width:70px; }
    }

