:root { --azul:#004a99; --cinza:#f4f5f7; --borda:#222; --texto:#111; }
* { box-sizing: border-box; }
body { margin:0; font-family: Arial, Helvetica, sans-serif; background:#ffffff; color:var(--texto); min-height:100vh; position:relative; }
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('brasao.png') repeat center center;
    background-size: 160px 160px;
    opacity: 0.05;
    pointer-events: none;
    z-index: 0;
}
.container, .login-page, .card, .header { position: relative; z-index: 1; }
.login-page { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:20px; }
a { color:var(--azul); text-decoration:none; }
.container { max-width:1100px; margin:24px auto; padding:0 16px; }
.card { background:white; border:1px solid #ddd; border-radius:10px; padding:18px; box-shadow:0 2px 10px rgba(0,0,0,.06); text-align:center; }
.header { display: none !important; }
.nav { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0; justify-content:center; }
.btn { display:inline-block; border:0; border-radius:7px; padding:9px 13px; background:#111; color:#fff; cursor:pointer; font-weight:bold; font-size:14px; }
.btn.sec { background:#555; }
.btn.blue { background:var(--azul); }
.btn.red { background:#8a1c1c; }
input, select, textarea { width:100%; padding:8px; border:1px solid #aaa; border-radius:6px; font-size:14px; color:var(--azul); font-weight:bold; background:#fff; }
textarea { min-height:75px; resize:vertical; }
label { font-weight:bold; display:block; margin-bottom:4px; }
.grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.grid2 { display:grid; grid-template-columns: repeat(2, 1fr); gap:12px; }
.table { width:100%; border-collapse:collapse; background:white; }
.table th, .table td { border:1px solid #ddd; padding:8px; font-size:14px; text-align:center; }
.table th { background:#f2f2f2; text-align:center; }
.status { font-weight:bold; color:var(--azul); }
.alert { padding:10px; background:#fff4d6; border:1px solid #e5c35b; border-radius:6px; margin:10px 0; }
@page { size: A4 landscape; margin: 7mm; }
@media print {
    body { background:white; }
    .no-print { display:none !important; }
    .container { max-width:none; margin:0; padding:0; }
    .card { box-shadow:none; border:0; padding:0; }
}
.print-page { width: 100%; background:#fff; font-size:11px; }
.print-title { text-align:center; font-size:16px; font-weight:bold; margin-bottom:12px; }
.print-grid { display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; border-top:1px solid #000; border-left:1px solid #000; }
.print-cell { border-right:1px solid #000; border-bottom:1px solid #000; padding:4px; min-height:24px; }
.print-label { font-weight:bold; color:#000; }
.print-value { color:#004a99; font-weight:bold; }
.print-section { border:1px solid #000; margin-top:9px; padding:6px; }
.print-section h3 { margin:0 0 5px 0; font-size:12px; text-align:center; background:#f1f1f1; padding:3px; border:1px solid #ccc; }
.print-text { min-height:42px; color:#004a99; font-weight:bold; white-space:pre-wrap; }
.print-cols { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:9px; }
.print-small { font-size:10px; }

.login-container { width:100%; max-width:450px; text-align:center; }
.login-header { margin-bottom: 25px; }
.login-logo { width:140px; height:auto; margin-bottom:10px; }
.login-header h1 { font-size:22px; margin:0 0 5px 0; color:#000; font-weight:900; }
.login-header h2 { font-size:16px; margin:0; color:#000; font-weight:bold; }

.login-card { border:1px solid #d4af37; border-radius:15px; padding:35px 25px; background:#fff; box-shadow:0 4px 15px rgba(0,0,0,.05); margin-bottom:20px; text-align:center; max-width:420px; margin-left:auto; margin-right:auto; }
.login-card h3 { font-size:20px; color:#000; margin:0 0 10px 0; font-weight:900; }
.login-subtitle { font-size:14px; color:#666; margin-bottom:25px; }

.login-label { font-size:12px; font-weight:bold; color:#555; text-transform:uppercase; text-align:center; display:block; margin-bottom:8px; }
.login-input { background:#f5f7f9; border:1px solid #e1e5eb; border-radius:8px; padding:12px; font-size:16px; text-align:center; font-weight:bold; color:#333; margin-bottom:20px; transition:border 0.2s; box-sizing:border-box; width:100%; }
.login-input:focus { border-color:#d4af37; outline:none; }
.login-btn { width:100%; background:#000; color:#fff; border-radius:8px; padding:14px; font-size:16px; font-weight:bold; text-transform:uppercase; margin-top:10px; cursor:pointer; border:none; }
.login-btn:hover { background:#222; }

.login-footer { font-size:12px; color:#444; line-height:1.5; }
.whatsapp-line { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:15px; }
.wa-icon { width:20px; height:20px; }
.wa-text { color:#25D366; font-size:16px; font-weight:bold; }
