*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(135deg,#101827,#1f2937);color:#172033;min-height:100vh;padding:24px}.container{max-width:980px;margin:0 auto}.app,.login-card{background:#f7f8fb;border-radius:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);padding:28px}.login-card{max-width:420px;text-align:center;margin-top:50px}.logo{max-width:170px;height:auto;object-fit:contain}.topo{display:flex;align-items:center;gap:22px;margin-bottom:8px}.topo h1,.login-card h1{margin:0 0 6px;color:#10233f}.topo p{margin:0;color:#5b6575}.acoes-topo{text-align:right;margin:8px 0 18px}.acoes-topo a,.link{color:#0f62fe;text-decoration:none;margin-left:16px;font-weight:bold}.card{background:#fff;border:1px solid #e3e7ee;border-radius:18px;padding:20px;margin-top:18px}.opcoes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.opcoes button,.botoes button,form button{border:0;border-radius:12px;padding:13px 16px;font-weight:bold;cursor:pointer;background:#e9edf5;color:#1d2b42;transition:.2s}.opcoes button.ativo,.botoes button:first-child,form button{background:#1c7c46;color:white}.opcoes button:hover,.botoes button:hover,form button:hover{filter:brightness(.95);transform:translateY(-1px)}.botoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.botoes .secundario{background:#d9dde6;color:#152034}.campo-label,label{display:block;text-align:left;font-weight:bold;margin:10px 0 8px;color:#263247}textarea,input{width:100%;border:1px solid #cfd6e2;border-radius:14px;padding:14px;font-size:16px;background:#fff}textarea{resize:vertical;line-height:1.45}.contador,.resultado-head{display:flex;justify-content:space-between;color:#687386;font-size:14px;margin-top:8px}.resultado-head{margin-top:0;margin-bottom:12px}pre{margin:0;background:#f3f6fb;border:1px solid #dce3ef;border-radius:14px;min-height:180px;padding:18px;white-space:pre-wrap;word-break:break-word;font-size:16px;line-height:1.5}.alert{padding:12px;border-radius:12px;margin:14px 0}.alert.error{background:#ffe3e3;color:#8a1f1f}.alert.ok{background:#ddf7e7;color:#116329}form label{margin-top:14px}form input{margin-top:6px}.login-card form button{width:100%;margin-top:16px}@media(max-width:720px){body{padding:12px}.app,.login-card{padding:18px}.topo{display:block;text-align:center}.opcoes{grid-template-columns:1fr}.acoes-topo{text-align:center}.botoes button{width:100%}}
