:root{--azul:#0A2540;--terracota:#C65D3D;--areia:#F4EFE6;--areia2:#E8E0D0;--texto:#1A1A1A;--cinza:#6B6B6B;--verde:#4A6B3E;--ambar:#9a6b00}
*{box-sizing:border-box}body{margin:0;background:var(--areia);color:var(--texto);font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.55}
h1{color:var(--azul);font-weight:600;letter-spacing:-.01em}h2{color:var(--azul);font-weight:600;font-size:1.1rem;margin:0 0 12px}
a{color:var(--terracota)}
.topo{background:var(--azul);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.4rem;flex-wrap:wrap;gap:8px}
.marca{font-weight:600}.marca span{color:var(--terracota);font-weight:400;font-size:.92rem}
.topo nav{display:flex;align-items:center;gap:16px}.topo nav a{color:#fff;text-decoration:none;font-size:.92rem}
.topo .quem{color:#cfd7e0;font-size:.85rem}
.wrap{max-width:920px;margin:0 auto;padding:26px 18px 60px}
.cartao{background:#fff;border:1px solid var(--areia2);border-radius:6px;padding:20px 22px;margin-bottom:18px}
.estreito{max-width:380px;margin:40px auto}
.grelha2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:680px){.grelha2{grid-template-columns:1fr}}
label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cinza);font-weight:600;margin:14px 0 5px}
input[type=text],input[type=email],input[type=password],input{width:100%;padding:10px 12px;border:1px solid var(--areia2);border-radius:4px;font:inherit;background:var(--areia)}
input:focus{outline:none;border-color:var(--azul);background:#fff}
.btn{display:inline-block;margin-top:18px;background:var(--terracota);color:#fff;border:none;padding:11px 18px;border-radius:4px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none}
.btn:hover{background:#a84a2e}.btn.ghost{background:transparent;color:var(--azul);border:1px solid var(--areia2)}
.link{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit;font-size:.85rem}
.inline{display:inline;margin:0}
.sub{color:var(--cinza);font-size:.92rem}
.msg{padding:11px 14px;border-radius:4px;margin-bottom:16px;font-size:.92rem}
.msg.success{background:#eef5ea;border:1px solid var(--verde);color:#2f4a26}
.msg.error{background:#f8e9e9;border:1px solid #B23B3B;color:#7a2727}
.erro{color:#B23B3B;font-size:.84rem;margin-top:4px}
.tab{width:100%;border-collapse:collapse;font-size:.9rem}
.tab th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cinza);border-bottom:2px solid var(--azul);padding:9px 10px}
.tab td{padding:9px 10px;border-bottom:1px solid var(--areia2)}
.pill{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:20px}.pill.ok{background:#eef5ea;color:#2f4a26}.pill.pend{background:#fbf3e0;color:#6b4e00}
.kpis{display:flex;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.kpi{background:#fff;border:1px solid var(--areia2);border-radius:6px;padding:16px 22px;min-width:120px}
.kpi .v{font-size:1.8rem;color:var(--azul);font-weight:600}.kpi .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cinza)}
code{background:var(--areia);padding:1px 6px;border-radius:3px}
ul.errorlist{color:#B23B3B;font-size:.84rem;margin:4px 0;padding-left:18px}

/* estados de submissão */
.pill.est-aceite{background:#eef5ea;color:#2f4a26}
.pill.est-submetido{background:#e7eef6;color:#243b53}
.pill.est-devolvido{background:#fbf3e0;color:#6b4e00}
.pill.est-rascunho{background:#eee;color:#666}
.muted{color:var(--cinza);font-size:.85rem}
/* planificação */
.aula{border-left:3px solid var(--terracota)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:90px 1fr 130px;gap:14px}
@media(max-width:560px){.row2,.row3{grid-template-columns:1fr}}
.aula textarea,.aula input,.aula select{width:100%}
label.del{display:inline-block;color:#B23B3B;text-transform:none;font-weight:400;margin-top:10px}
