:root{
  --couro:#211812; --couro-2:#2C2016;
  --pergaminho:#F1E8D6; --pergaminho-2:#E9DDC5;
  --tinta:#2B2118; --tinta-suave:#6B5A47;
  --ouro:#B8863B; --ouro-claro:#D9B36A;
  --bordo:#6E2B2B; --oliva:#5C6B45;
  --sombra:0 10px 30px rgba(0,0,0,.35);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Alegreya Sans',sans-serif;background:var(--couro);color:var(--pergaminho);min-height:100vh}
h1,h2,h3,.serif{font-family:'Alegreya',serif}
a{color:inherit}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-claro);font-weight:700}

/* topo */
.topo-app{background:var(--couro-2);border-bottom:1px solid rgba(217,179,106,.3);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topo-marca{display:flex;align-items:center;gap:10px}
.alfa-mini{font-family:'Alegreya',serif;font-weight:800;font-size:1.05rem;width:34px;height:34px;line-height:31px;text-align:center;border:1.5px solid var(--ouro);border-radius:50%;color:var(--ouro);flex-shrink:0}
.topo-marca strong{font-family:'Alegreya',serif;font-size:1rem;line-height:1.1;display:block}
.topo-marca small{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ouro-claro)}
.aluno{display:flex;align-items:center;gap:12px;font-size:.85rem}
.topo-link{text-decoration:none;font-weight:700;font-size:.82rem;color:var(--pergaminho);opacity:.85}
.topo-link:hover{opacity:1;color:var(--ouro-claro)}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--bordo);color:#F1E8D6;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.8rem}

/* login / cadastro */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 18px;background:radial-gradient(ellipse at 50% -10%, rgba(184,134,59,.18), transparent 55%),var(--couro)}
.login-card{width:100%;max-width:400px;background:var(--pergaminho);color:var(--tinta);border-radius:10px;box-shadow:var(--sombra);border:1px solid #D8C9A8;overflow:hidden}
.login-topo{text-align:center;padding:30px 26px 22px;border-bottom:2px solid var(--ouro);background:linear-gradient(180deg,#F6EFDF,var(--pergaminho))}
.marca-alfa{font-family:'Alegreya',serif;font-weight:800;font-size:2.1rem;width:64px;height:64px;line-height:60px;margin:0 auto 12px;border:2px solid var(--ouro);border-radius:50%;color:var(--ouro);background:#FBF6EA}
.login-topo h1{font-size:1.45rem;font-weight:800;line-height:1.15}
.login-topo p{color:var(--tinta-suave);font-size:.9rem;margin-top:6px}
.login-form{padding:24px 26px 30px}
.campo{margin-bottom:16px}
.campo label{display:block;font-weight:700;font-size:.82rem;margin-bottom:6px;color:var(--tinta)}
.campo input,.campo select,.campo textarea{width:100%;padding:12px 14px;font-size:1rem;font-family:'Alegreya Sans',sans-serif;border:1px solid #C9B78C;border-radius:6px;background:#FBF6EA;color:var(--tinta)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--ouro);outline-offset:1px;border-color:var(--ouro)}
.btn-ouro{display:block;width:100%;padding:13px;margin-top:6px;font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:1rem;color:#241A10;background:linear-gradient(180deg,var(--ouro-claro),var(--ouro));border:none;border-radius:6px;cursor:pointer;text-align:center;text-decoration:none}
.btn-ouro:hover{filter:brightness(1.06)}
.login-links{margin-top:16px;text-align:center;font-size:.86rem;color:var(--tinta-suave)}
.login-links a{color:var(--bordo);font-weight:700;text-decoration:none}
.versiculo{text-align:center;font-family:'Alegreya',serif;font-style:italic;font-size:.85rem;color:rgba(241,232,214,.55);max-width:400px;margin:18px auto 0;padding:0 10px;line-height:1.5}
.msg-erro{background:#F3D9D3;border:1px solid var(--bordo);color:var(--bordo);border-radius:6px;padding:10px 14px;font-size:.88rem;margin-bottom:16px;font-weight:700}
.msg-ok{background:#E2E8D5;border:1px solid var(--oliva);color:#3E4A2E;border-radius:6px;padding:10px 14px;font-size:.88rem;margin-bottom:16px;font-weight:700}

/* vitrine */
.miolo{max-width:960px;margin:0 auto;padding:26px 18px 60px}
.saudacao{margin-bottom:22px}
.saudacao h2{font-size:1.6rem;font-weight:800;margin-top:4px}
.saudacao p{color:rgba(241,232,214,.65);font-size:.95rem;margin-top:4px}
.grade{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:680px){.grade{grid-template-columns:1fr 1fr}}
.curso{background:var(--pergaminho);color:var(--tinta);border-radius:10px;overflow:hidden;box-shadow:var(--sombra);border:1px solid #D8C9A8;display:flex;flex-direction:column}
.curso-capa{position:relative;padding:20px;min-height:120px;display:flex;align-items:flex-end;background:linear-gradient(150deg,#3A2B1D,#5A4326)}
.curso-capa .letra{position:absolute;right:10px;top:-14px;font-family:'Alegreya',serif;font-weight:800;font-size:6rem;color:rgba(217,179,106,.22);line-height:1;user-select:none}
.curso-capa h3{position:relative;color:#F6EFDF;font-size:1.25rem;font-weight:800;line-height:1.2;text-shadow:0 2px 6px rgba(0,0,0,.4)}
.selo{position:absolute;left:14px;top:12px;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:99px;color:#F6EFDF}
.selo.gratuito{background:var(--oliva)}
.selo.pago{background:var(--bordo)}
.curso-corpo{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.curso-corpo p{font-size:.9rem;color:var(--tinta-suave);line-height:1.5;flex:1}
.curso-meta{display:flex;gap:14px;font-size:.78rem;color:var(--tinta-suave)}
.progresso{background:#DCCFAF;border-radius:99px;height:8px;overflow:hidden}
.progresso i{display:block;height:100%;background:linear-gradient(90deg,var(--ouro),var(--ouro-claro))}
.curso-acao{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.btn-curso{font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:.9rem;padding:10px 16px;border-radius:6px;border:none;cursor:pointer;background:var(--ouro);color:#241A10;text-decoration:none;display:inline-block}
.btn-curso.trancado{background:var(--bordo);color:#F6EFDF}
.cadeado{font-size:.8rem;color:var(--bordo);font-weight:700;display:flex;align-items:center;gap:5px}

/* dentro do curso */
.curso-hero{background:linear-gradient(150deg,#3A2B1D,#5A4326);border-bottom:2px solid var(--ouro);padding:28px 18px}
.curso-hero-in{max-width:960px;margin:0 auto;position:relative}
.curso-hero h2{font-size:1.5rem;font-weight:800;color:#F6EFDF;margin-top:6px;max-width:520px}
.curso-hero .prog-linha{display:flex;align-items:center;gap:10px;margin-top:14px;max-width:420px}
.curso-hero .progresso{flex:1;background:rgba(0,0,0,.35)}
.curso-hero small{font-size:.78rem;color:var(--ouro-claro);font-weight:700;white-space:nowrap}
.aula-layout{max-width:960px;margin:0 auto;padding:22px 18px 60px;display:grid;gap:18px}
@media(min-width:820px){.aula-layout{grid-template-columns:1.4fr 1fr}}
.player{background:var(--pergaminho);border:1px solid #D8C9A8;border-radius:10px;overflow:hidden;box-shadow:var(--sombra);color:var(--tinta)}
.player-video{aspect-ratio:16/9;background:#171310}
.player-video iframe{width:100%;height:100%;border:none;display:block}
.player-texto{padding:20px 22px;font-size:1rem;line-height:1.7;color:var(--tinta)}
.player-info{padding:16px 18px 18px}
.player-info h3{font-size:1.15rem;font-weight:800}
.player-info p{font-size:.9rem;color:var(--tinta-suave);margin-top:8px;line-height:1.55}
.player-acoes{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn-concluir{font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:.88rem;padding:10px 16px;border-radius:6px;cursor:pointer;background:var(--oliva);color:#F6EFDF;border:none}
.btn-concluir.desfeito{background:#8B8B7A}
.btn-material{font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:.88rem;padding:10px 16px;border-radius:6px;cursor:pointer;background:transparent;color:var(--tinta);border:1.5px solid #C9B78C;text-decoration:none;display:inline-block}
.modulos{display:flex;flex-direction:column;gap:12px}
.modulo{background:var(--pergaminho);border:1px solid #D8C9A8;border-radius:10px;color:var(--tinta);overflow:hidden;box-shadow:var(--sombra)}
.modulo-titulo{padding:12px 16px;font-weight:800;font-family:'Alegreya',serif;border-bottom:1px solid #DCCFAF;font-size:.98rem;display:flex;justify-content:space-between;align-items:center;background:#F6EFDF}
.modulo-titulo small{font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:.72rem;color:var(--tinta-suave)}
.modulo-mini{width:34px;height:34px;border-radius:6px;object-fit:cover;border:1px solid #C9B78C;flex-shrink:0}
.admin-mini{width:56px;height:56px;border-radius:6px;object-fit:cover;border:1px solid #C9B78C;vertical-align:middle}
.aula{display:flex;align-items:center;gap:10px;padding:11px 16px;font-size:.9rem;border-bottom:1px solid #EDE2C9;text-decoration:none;color:var(--tinta)}
.aula:last-child{border-bottom:none}
.aula:hover{background:#F6EFDF}
.aula .st{width:20px;height:20px;border-radius:50%;flex-shrink:0;border:2px solid #C9B78C;position:relative}
.aula.feita .st{background:var(--oliva);border-color:var(--oliva)}
.aula.feita .st::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #F6EFDF;border-width:0 2px 2px 0;transform:rotate(42deg)}
.aula.atual{background:#F3E9CF;font-weight:700}
.aula.atual .st{border-color:var(--ouro);box-shadow:0 0 0 3px rgba(184,134,59,.25)}
.aula span{flex:1;line-height:1.3}
.aula em{font-style:normal;font-size:.74rem;color:var(--tinta-suave);white-space:nowrap}

/* admin */
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.admin-nav a{font-size:.82rem;font-weight:700;padding:8px 14px;border-radius:99px;border:1px solid rgba(217,179,106,.4);text-decoration:none;color:var(--pergaminho)}
.admin-nav a.ativo{background:var(--ouro);border-color:var(--ouro);color:#241A10}
.cartao{background:var(--pergaminho);color:var(--tinta);border:1px solid #D8C9A8;border-radius:10px;box-shadow:var(--sombra);padding:18px;margin-bottom:18px}
.cartao h3{font-size:1.1rem;margin-bottom:12px}
.tabela{width:100%;border-collapse:collapse;font-size:.88rem}
.tabela th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--ouro);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-suave)}
.tabela td{padding:9px 10px;border-bottom:1px solid #EDE2C9;vertical-align:middle}
.tabela-scroll{overflow-x:auto}
.btn-mini{font-family:'Alegreya Sans',sans-serif;font-weight:700;font-size:.76rem;padding:6px 10px;border-radius:5px;border:none;cursor:pointer;background:var(--ouro);color:#241A10;text-decoration:none;display:inline-block}
.btn-mini.vermelho{background:var(--bordo);color:#F6EFDF}
.btn-mini.verde{background:var(--oliva);color:#F6EFDF}
.form-linha{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.form-linha .campo{flex:1;min-width:150px;margin-bottom:10px}
.pilula{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:99px;color:#F6EFDF;display:inline-block}
.pilula.gratuito{background:var(--oliva)}
.pilula.pago{background:var(--bordo)}
.pilula.aprovado{background:var(--oliva)}
.pilula.pendente{background:#9A7B2E}
.pilula.recusado{background:var(--bordo)}
