:root{
    /* Identidade PCM */
    --grafite:#222627; --preto:#000; --amarelo:#fbcb2d; --amarelo-esc:#e0b010;
    --cinza:#5b5a58; --branco:#fff;
    --bg:#f3f3f1; --texto:#222627; --suave:#7a7a77; --borda:#e4e4e0;
    --amarelo-bg:#fff7dd;
    --verde:#1f9d57; --verde-bg:#e7f6ee;
    --cinza-bg:#eef0f1;
    --vermelho:#c23b3b;
    --sombra:0 2px 10px rgba(0,0,0,.07);
    --raio:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--bg);color:var(--texto);line-height:1.5}
a{text-decoration:none;color:inherit}

/* Topbar */
.topbar{background:var(--grafite);color:#fff;box-shadow:var(--sombra);border-bottom:3px solid var(--amarelo)}
.topbar-in{max-width:1040px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}
.logo-top{height:38px;width:auto;display:block}
.nav{display:flex;gap:6px;margin-left:auto;margin-right:18px}
.nav a{color:#d9d7d2;font-size:13.5px;padding:7px 12px;border-radius:8px}
.nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.user{display:flex;align-items:center;gap:14px;font-size:14px}
.user-nome{color:#eceae6}
.btn-sair{background:rgba(255,255,255,.14);padding:7px 14px;border-radius:8px;font-size:13px;border:1px solid rgba(255,255,255,.12)}
.btn-sair:hover{background:var(--amarelo);color:var(--grafite);border-color:var(--amarelo)}

.wrap{max-width:1040px;margin:0 auto;padding:28px 20px 60px}
.rodape{text-align:center;color:var(--suave);font-size:12px;padding:24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.rodape img{height:34px;opacity:.9}

/* Login */
.login-box{max-width:410px;margin:7vh auto 0;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:36px 32px;border-top:4px solid var(--amarelo)}
.login-brand{text-align:center;margin-bottom:24px}
.login-logo{width:190px;max-width:70%;height:auto;margin-bottom:18px}
.login-brand h1{font-size:20px;color:var(--grafite)}
.login-brand .sub{color:var(--suave);font-size:14px;margin-top:6px}
.form-login label{display:block;font-size:13px;font-weight:600;color:var(--cinza);margin-bottom:16px}
.form-login input{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--borda);border-radius:10px;font-size:16px}
.form-login input:focus{outline:none;border-color:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-bg)}
.btn-principal{width:100%;background:var(--grafite);color:#fff;border:0;padding:13px;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;margin-top:4px;transition:background .12s}
.btn-principal:hover{background:var(--preto)}

.alerta{padding:11px 14px;border-radius:10px;font-size:14px;margin-bottom:16px}
.alerta.erro{background:#fdecec;color:var(--vermelho)}
.alerta.ok{background:var(--verde-bg);color:var(--verde)}

/* Page head */
.page-head{margin-bottom:20px}
.page-head h1{font-size:24px;color:var(--grafite)}
.page-sub{color:var(--suave);font-size:14px;margin-top:4px}

/* Resumo */
.resumo{display:flex;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.resumo-item{flex:1;min-width:130px;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:16px;font-size:13px;color:var(--suave);border-left:5px solid var(--borda)}
.resumo-item .n{display:block;font-size:26px;font-weight:800;color:var(--texto)}
.resumo-item.st-pendente{border-left-color:var(--cinza)}
.resumo-item.st-avaliar{border-left-color:var(--amarelo)}
.resumo-item.st-concluido{border-left-color:var(--verde)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.card{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:20px;display:block;border-top:4px solid var(--borda);transition:transform .12s,box-shadow .12s}
a.card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.13)}
.card.st-pendente{border-top-color:var(--cinza)}
.card.st-avaliar{border-top-color:var(--amarelo)}
.card.st-concluido{border-top-color:var(--verde)}
.card-nome{font-size:17px;margin:10px 0 14px;color:var(--grafite)}
.badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px}
.badge.st-pendente{background:var(--cinza-bg);color:var(--cinza)}
.badge.st-avaliar{background:var(--amarelo);color:var(--grafite)}
.badge.st-concluido{background:var(--verde-bg);color:var(--verde)}
.prog{margin-bottom:14px}
.prog-bar{height:7px;background:var(--borda);border-radius:4px;overflow:hidden;margin-bottom:5px}
.prog-bar span{display:block;height:100%;background:var(--amarelo)}
.card.st-concluido .prog-bar span{background:var(--verde)}
.card.st-pendente .prog-bar span{background:var(--cinza)}
.prog-txt{font-size:12px;color:var(--suave)}
.card-cta{font-size:13px;font-weight:600;color:var(--grafite)}
.card-cta.muted{color:var(--suave);font-weight:400}
.card.st-concluido .card-cta{color:var(--verde)}

.vazio{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:40px;text-align:center;color:var(--suave)}

/* Disciplina */
.voltar{display:inline-block;color:var(--cinza);font-size:14px;margin-bottom:12px;font-weight:600}
.voltar:hover{color:var(--grafite)}
.lista-treinos{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:8px 20px;margin-bottom:26px}
.treino-linha{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--borda);font-size:14px}
.treino-linha:last-child{border-bottom:0}
.treino-linha .cod{font-weight:700;color:var(--amarelo-esc);min-width:92px}
.treino-linha .nm{flex:1;color:var(--texto)}
.treino-linha .ok{color:var(--verde);font-size:13px;font-weight:600}
.treino-linha .pend{color:var(--cinza);font-size:13px}

.secao-titulo{font-size:18px;color:var(--grafite);margin-bottom:14px}
.form-aval{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:24px}
.campo{margin-bottom:22px}
.campo-label{display:block;font-weight:600;margin-bottom:10px;font-size:15px}
.escala{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nota{cursor:pointer}
.nota input{display:none}
.nota span{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1.5px solid var(--borda);border-radius:10px;font-weight:700;color:var(--suave);transition:all .1s}
.nota input:checked+span{background:var(--amarelo);color:var(--grafite);border-color:var(--amarelo-esc)}
.escala-leg{font-size:12px;color:var(--suave);margin-left:6px}
.form-aval textarea{width:100%;border:1.5px solid var(--borda);border-radius:10px;padding:12px;font-size:15px;font-family:inherit;resize:vertical}
.form-aval textarea:focus{outline:none;border-color:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-bg)}

/* Instrutor */
.inst-topo{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.inst-topo label{display:block;font-size:13px;font-weight:600;color:var(--cinza);flex:1;min-width:220px}
.inst-topo input{width:100%;margin-top:6px;padding:11px 13px;border:1.5px solid var(--borda);border-radius:10px;font-size:15px}
.inst-topo input:focus{outline:none;border-color:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-bg)}
.inst-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.painel{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:18px}
.painel .secao-titulo{margin-bottom:12px}
.cont{font-size:13px;color:var(--amarelo-esc);font-weight:600}
.busca{width:100%;padding:10px 13px;border:1.5px solid var(--borda);border-radius:10px;font-size:14px;margin-bottom:12px}
.busca:focus{outline:none;border-color:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-bg)}
.treino-box,.func-box{max-height:420px;overflow-y:auto;padding-right:6px}
.disc-grupo{margin-bottom:14px}
.disc-cab{background:var(--cinza-bg);padding:7px 10px;border-radius:8px;margin-bottom:6px;font-size:14px}
.disc-cab label,.tre-item,.func-item{cursor:pointer}
.tre-item{display:block;font-size:13.5px;padding:5px 10px;border-radius:6px}
.tre-item:hover{background:var(--amarelo-bg)}
.tre-item .cod{font-weight:700;color:var(--amarelo-esc)}
.func-item{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:4px 8px;padding:8px 10px;border-radius:8px;border-bottom:1px solid var(--borda)}
.func-item:hover{background:var(--amarelo-bg)}
.func-item input{grid-row:span 2}
.fnome{font-size:14px;font-weight:600;color:var(--grafite)}
.fmeta{font-size:12px;color:var(--suave)}
.btn-inline{width:auto;padding:13px 28px;margin-top:20px}

/* Lider */
.lista-aval{display:flex;flex-direction:column;gap:10px}
.aval-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:12px;box-shadow:var(--sombra);padding:14px 18px;border-left:5px solid var(--borda)}
a.aval-linha:hover{transform:translateX(2px)}
.aval-linha.atrasada{border-left-color:var(--amarelo)}
.aval-linha.feita{border-left-color:var(--verde)}
.av-nome{font-weight:700;color:var(--grafite)}
.av-meta{display:block;font-size:12.5px;color:var(--suave);margin-top:2px}
.av-dir{display:flex;align-items:center;gap:16px}
.av-prazo{font-size:13px;color:var(--amarelo-esc);font-weight:600}
.av-prazo.muted{color:var(--suave);font-weight:400}
.av-cta{font-size:13px;font-weight:700;color:var(--grafite)}
.av-cta.feita{color:var(--verde)}
.opcoes-linha{display:flex;gap:10px;flex-wrap:wrap}
.opt{display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--borda);border-radius:10px;padding:9px 16px;cursor:pointer;font-size:14px}
.opt:has(input:checked){background:var(--amarelo-bg);border-color:var(--amarelo)}
.checks{display:flex;flex-direction:column;gap:9px}
.opt-chk{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer}
.outro{margin-top:4px;border:1.5px solid var(--borda);border-radius:8px;padding:9px 12px;font-size:14px}
.outro:focus{outline:none;border-color:var(--amarelo)}

/* Admin */
.btn-sec{background:#fff;border:1.5px solid var(--borda);color:var(--grafite);padding:9px 16px;border-radius:9px;font-size:13.5px;font-weight:600;cursor:pointer}
.btn-sec:hover{border-color:var(--amarelo);background:var(--amarelo-bg)}
.link{color:var(--amarelo-esc);font-weight:600;font-size:13.5px}
.admin-card{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:22px;display:block;border-top:4px solid var(--amarelo);transition:transform .12s,box-shadow .12s}
.admin-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.13)}
.ac-ico{font-size:30px}
.admin-card h3{margin:8px 0 4px;color:var(--grafite);font-size:18px}
.admin-card p{color:var(--suave);font-size:13.5px;margin-bottom:10px}
.ac-num{font-size:12.5px;font-weight:700;color:var(--amarelo-esc)}
.admin-alertas{margin-top:22px;display:flex;flex-direction:column;gap:10px}

.busca-form{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.busca-form .busca{flex:1;min-width:220px;margin-bottom:0}

.papel-linha{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;box-shadow:var(--sombra);padding:12px 16px;flex-wrap:wrap}
.pl-info{flex:1;min-width:180px}
.pl-papeis{display:flex;gap:14px;flex-wrap:wrap}

.form-cad,.form-aval{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:22px;margin-bottom:22px}
.grid-cad{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-cad label,.form-cad label{display:block;font-size:13px;font-weight:600;color:var(--cinza)}
.grid-cad input,.grid-cad select{width:100%;margin-top:6px;padding:10px 12px;border:1.5px solid var(--borda);border-radius:9px;font-size:14.5px}
.grid-cad input:focus,.grid-cad select:focus{outline:none;border-color:var(--amarelo);box-shadow:0 0 0 3px var(--amarelo-bg)}
.form-acoes{display:flex;gap:10px;align-items:center;margin-top:18px}

.tabela-wrap{overflow-x:auto;background:#fff;border-radius:var(--raio);box-shadow:var(--sombra)}
.tabela{width:100%;border-collapse:collapse;font-size:14px}
.tabela th,.tabela td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--borda)}
.tabela th{background:var(--cinza-bg);color:var(--cinza);font-size:12.5px;text-transform:uppercase;letter-spacing:.3px}
.tabela tr:last-child td{border-bottom:0}
.vazio-td{text-align:center;color:var(--suave);padding:26px}
.tag{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px}
.tag-ok{background:var(--verde-bg);color:var(--verde)}
.tag-off{background:#f0e2e2;color:var(--vermelho)}
.paginacao{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.pg{padding:7px 12px;border-radius:8px;background:#fff;box-shadow:var(--sombra);font-size:13.5px;font-weight:600}
.pg.atual{background:var(--grafite);color:#fff}

.bloco-perg{margin-bottom:28px}
.perg-card{background:#fff;border-radius:12px;box-shadow:var(--sombra);padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.perg-form{display:flex;align-items:center;gap:12px;flex:1;flex-wrap:wrap}
.perg-texto{flex:1;min-width:220px;padding:9px 12px;border:1.5px solid var(--borda);border-radius:9px;font-size:14px}
.perg-tipo{font-size:12px;color:var(--suave);background:var(--cinza-bg);padding:4px 10px;border-radius:20px}
.perg-ativo{font-size:13px;color:var(--cinza);display:flex;gap:6px;align-items:center}
.btn-lixo{background:none;border:0;color:var(--vermelho);font-size:16px;cursor:pointer;padding:6px}
.opcoes-admin{width:100%;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px dashed var(--borda);padding-top:10px}
.op-label{font-size:12.5px;color:var(--suave);font-weight:600}
.op-chip{background:var(--amarelo-bg);border:1px solid var(--amarelo);border-radius:20px;padding:3px 6px 3px 12px;font-size:13px;display:inline-flex;align-items:center;gap:4px}
.op-x{background:none;border:0;color:var(--vermelho);cursor:pointer;font-size:15px;line-height:1}
.op-add{display:inline-flex;gap:6px}
.op-add input{padding:7px 10px;border:1.5px solid var(--borda);border-radius:8px;font-size:13px}
.add-perg{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;align-items:center}
.add-perg input{flex:1;min-width:200px;padding:10px 12px;border:1.5px solid var(--borda);border-radius:9px;font-size:14px}
.add-perg select{padding:10px 12px;border:1.5px solid var(--borda);border-radius:9px;font-size:14px}

@media(max-width:760px){ .inst-grid{grid-template-columns:1fr} .grid-cad{grid-template-columns:1fr} }
@media(max-width:600px){
    .wrap{padding:20px 14px 50px}
    .resumo-item{min-width:100px}
    .logo-top{height:32px}
    .topbar-in{flex-wrap:wrap;gap:8px}
    .nav{order:3;width:100%;margin:4px 0 0;overflow-x:auto}
    .nav a{padding:6px 10px;white-space:nowrap}
}

/* Centros de custo */
.cc-re{font-size:11.5px;color:var(--suave);background:var(--cinza-bg);padding:2px 7px;border-radius:12px;margin-left:4px}
.cc-mail{font-size:13px;color:var(--suave)}
.cc-form{display:flex;gap:6px;align-items:center}
.cc-form input{padding:7px 9px;border:1.5px solid var(--borda);border-radius:8px;font-size:13px;width:70px}
.cc-form input:focus{outline:none;border-color:var(--amarelo)}
