[hidden]{display:none!important}
:root{--azul:#062F87;--azul-esc:#041A44;--ciano:#0EAFD9;--papel:#fff;--papel-2:#F5F7FA;--linha:#E1E7F0;--texto:#5A6478;--forte:#1B2436;--erro:#B3261E;--ok:#1E7B43}
*{box-sizing:border-box}
body{margin:0;font-family:Ubuntu,system-ui,sans-serif;color:var(--forte);background:var(--papel-2);font-size:15px}
button,input,select,textarea{font:inherit}
.entrada{min-height:100vh;display:grid;place-items:center;padding:20px}
.cartao{background:#fff;border:1px solid var(--linha);border-radius:16px;padding:34px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:8px}
.cartao .logo{width:150px;margin-bottom:14px}
.cartao h1{font-size:22px;margin:0}
.sub{color:var(--texto);margin:0 0 12px}
label{font-size:13.5px;font-weight:500;margin-top:8px}
input,select,textarea{border:1px solid var(--linha);border-radius:8px;padding:10px 12px;background:#fff;color:var(--forte);width:100%}
textarea{min-height:120px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ciano);border-color:transparent}
.erro{color:var(--erro);font-size:13.5px;min-height:18px;margin:4px 0}
.b{border:1px solid var(--linha);background:#fff;color:var(--azul);border-radius:999px;padding:9px 18px;cursor:pointer;font-weight:500}
.b:hover{border-color:var(--azul)}
.b-cheio{background:var(--azul);color:#fff;border-color:var(--azul)}
.b-cheio:hover{background:var(--azul-esc)}
.b-perigo{color:var(--erro)}
.b:disabled{opacity:.6;cursor:wait}
.ligacao{background:none;border:0;color:var(--azul);text-decoration:underline;cursor:pointer;padding:0}
.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}
.lado{background:#fff;border-right:1px solid var(--linha);padding:24px 18px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}
.lado .logo{width:130px}
#menu{display:flex;flex-direction:column;gap:4px}
#menu button{text-align:left;border:0;background:none;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--texto);font-weight:500}
#menu button.on,#menu button:hover{background:var(--papel-2);color:var(--azul)}
.quem{margin-top:auto;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.quem span{color:var(--texto)}
.quem a{color:var(--azul)}
.palco{padding:34px 40px;max-width:1100px}
.cabeca{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.cabeca h1{margin:0;font-size:26px}
.pista{color:var(--texto);margin:0 0 22px;max-width:720px;line-height:1.5}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linha);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto);background:var(--papel-2)}
tr:last-child td{border-bottom:0}
td .acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.selo{display:inline-block;font-size:12px;border-radius:999px;padding:3px 10px;background:#E8F5EE;color:var(--ok)}
.selo.off{background:#F1F2F5;color:var(--texto)}
.mudo{color:var(--texto);font-size:13px}
.modal{position:fixed;inset:0;background:rgba(4,26,68,.45);display:grid;place-items:start center;padding:40px 16px;overflow:auto;z-index:50}
.modal-caixa{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:760px;display:flex;flex-direction:column;gap:6px}
.modal-caixa h2{margin:0 0 8px}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.linha2>div{display:flex;flex-direction:column;gap:4px}
.campo{display:flex;flex-direction:column;gap:4px}
.ajuda{font-size:12.5px;color:var(--texto)}
.caixa{display:flex;gap:8px;align-items:center;margin-top:10px}
.caixa input{width:auto}
.rodape-modal{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.bloco{border:1px solid var(--linha);border-radius:10px;padding:14px;margin-top:10px;display:flex;flex-direction:column;gap:6px;background:var(--papel-2)}
.aviso{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--forte);color:#fff;padding:12px 20px;border-radius:999px;z-index:60}
.aviso.mau{background:var(--erro)}
.img-prev{max-width:220px;border-radius:8px;margin-top:6px}
@media(max-width:800px){.app{grid-template-columns:1fr}.lado{position:static;height:auto}.palco{padding:22px 16px}.linha2{grid-template-columns:1fr}}
