:root{--azul:#304f7e;--azul-escuro:#1a3355;--azul-claro:#3d6299;--ouro:#eaa239;--cinza:#bdbfc1;--cinza-claro:#f2f2f2;--verde:#609346;--vermelho:#cc2121;--texto:#3c3c3c;--branco:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--cinza-claro);color:var(--texto);font-family:Montserrat,Arial,sans-serif}a{color:inherit}.topbar{background:linear-gradient(120deg,var(--azul) 0,var(--azul-escuro) 100%);position:relative;overflow:hidden;padding:28px 24px 34px;color:var(--branco)}.topbar:before{content:"";position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:hsla(0,0%,100%,.06);transform:rotate(45deg)}.topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:6px;background:var(--ouro)}.topbar-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}.wordmark{font-weight:800;font-size:22px;letter-spacing:.5px}.wordmark span{color:var(--ouro)}.topbar h1{font-weight:800;font-size:26px;margin:14px 0 4px}.topbar p{font-weight:500;font-size:14px;opacity:.9;margin:0}.container{max-width:760px;margin:-18px auto 60px;padding:0 24px;position:relative;z-index:2}.card{background:var(--branco);border-radius:10px;box-shadow:0 8px 30px rgba(26,51,85,.12);padding:28px 28px 32px;margin-bottom:20px}.card h2{font-size:16px;font-weight:700;color:var(--azul);margin:0 0 4px;display:flex;align-items:center;gap:8px}.card h2:before{content:"";width:4px;height:16px;background:var(--ouro);display:inline-block}.card .hint{font-size:13px;color:#6b6b6b;margin:0 0 18px}.field{margin-bottom:16px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--texto);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--cinza);border-radius:6px;font-family:Montserrat,Arial,sans-serif;font-size:14px;color:var(--texto);background:var(--branco)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--azul-claro);outline-offset:1px}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--cinza-claro);color:#6b6b6b;cursor:not-allowed}.row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:560px){.row2{grid-template-columns:1fr}}.btn{display:inline-block;border:none;border-radius:6px;padding:12px 22px;font-weight:700;font-size:14px;cursor:pointer;font-family:Montserrat,Arial,sans-serif}.btn-primary{background:var(--ouro);color:var(--azul-escuro)}.btn-primary:hover{background:#d8922f}.btn-secondary{background:transparent;color:var(--azul);border:1.5px solid var(--azul)}.btn:disabled{opacity:.5;cursor:not-allowed}.banner{border-left:4px solid var(--ouro);background:#fff8ec;padding:12px 14px;font-size:13px;border-radius:4px;margin-bottom:18px}.banner.info{border-left-color:var(--azul-claro);background:#eef4fb}.banner.ok{border-left-color:var(--verde);background:#f0f7ec}.banner.warn{border-left-color:var(--vermelho);background:#fff0f0}table.meses{width:100%;border-collapse:collapse;font-size:13px}table.meses th{background:var(--azul);color:var(--branco);padding:8px 6px;text-align:left;font-weight:600}table.meses td{padding:6px;border-bottom:1px solid var(--cinza-claro)}table.meses td input{width:100%;padding:6px 8px;border:1px solid var(--cinza);border-radius:4px;font-family:Montserrat,Arial,sans-serif;font-size:13px}table.meses td input:disabled{background:var(--cinza-claro);color:#aaa;cursor:not-allowed}table.meses tfoot td{padding:8px 6px;border-top:2px solid var(--azul);background:var(--cinza-claro)}.totais{display:flex;justify-content:space-between;align-items:center;padding:14px 0 6px;font-size:13.5px;font-weight:700;color:var(--azul)}.footer-note{text-align:center;font-size:11.5px;color:#8a8a8a;margin-top:8px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:var(--azul);color:var(--branco);padding:8px;text-align:left;position:-webkit-sticky;position:sticky;top:0}.admin-table td{padding:8px;border-bottom:1px solid var(--cinza-claro)}.admin-table tr:nth-child(2n){background:var(--cinza-claro)}.modal-overlay{position:fixed;inset:0;background:rgba(26,51,85,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-card{background:var(--branco);border-radius:10px;box-shadow:0 8px 30px rgba(26,51,85,.12);padding:28px;max-width:440px;width:100%}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.row-flex{display:flex;gap:10px;align-items:center}.mb-0{margin:0}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.total-cell{font-weight:700;color:var(--azul)}.radio-label{display:flex;align-items:center;gap:8px;font-weight:500}.admin-link{position:absolute;top:18px;right:24px;font-size:12px;color:hsla(0,0%,100%,.85);text-decoration:none;border:1px solid hsla(0,0%,100%,.4);border-radius:20px;padding:6px 14px;z-index:3}.admin-link:hover{background:hsla(0,0%,100%,.12);color:var(--branco)}.print-area{display:none}.print-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:3px solid var(--ouro);padding-bottom:12px;margin-bottom:16px}.print-header h1{font-size:18px;color:var(--azul);margin:0 0 4px}.print-header p{font-size:12px;color:#6b6b6b;margin:0}.print-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px 24px;gap:4px 24px;font-size:12.5px;margin-bottom:16px}.print-info-grid div{padding:2px 0;border-bottom:1px solid #eee}.print-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:16px}.print-table th{background:var(--azul);color:#fff;padding:6px 8px;text-align:left}.print-table td{padding:5px 8px;border-bottom:1px solid #ddd}.print-table tfoot td{font-weight:700;border-top:2px solid var(--azul);background:#f2f2f2}.print-validation-line{font-size:12px;padding:4px 0}.print-footer{margin-top:20px;font-size:10.5px;color:#999;border-top:1px solid #ddd;padding-top:8px}@media print{@page{margin:12mm}body,html{height:auto!important;overflow:visible!important}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{display:block!important;position:static!important;width:100%;padding:0;margin:0}.print-footer,.print-header,.print-info-grid,.print-table,.print-table tr{page-break-inside:avoid}.container,.modal-overlay,.no-print,.topbar{display:none!important}}