:root{--primary: #1d4ed8;--primary-dark: #1e40af;--danger: #dc2626;--danger-dark: #b91c1c;--bg: #dee1e6;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;font-family:Montserrat,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;cursor:pointer;background:var(--primary);color:#fff;transition:background .15s ease}button:hover:not(:disabled){background:var(--primary-dark)}button:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e2e8f0;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#cbd5e1}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}input,select{border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;font-size:.95rem;background:#fff;color:var(--text);width:100%}input:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px}label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1d4885;padding:1rem}.login-card{font-family:Montserrat,Segoe UI,system-ui,sans-serif;background:var(--surface);border-radius:8px;padding:2rem 2.2rem;width:100%;max-width:380px;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 20px 50px #0f172a59}.login-logos{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-bottom:.8rem}.login-logos img{height:34px;width:auto}.login-card h1{margin:0;font-size:28px;text-align:center;color:#625a96}.login-subtitle{margin:0 0 .8rem;text-align:center;color:#625a96;font-weight:600;letter-spacing:.06em;font-size:.8rem}.login-card button{border:1px solid transparent;border-radius:5px;padding-top:.35rem;padding-bottom:.35rem}.login-card button:hover:not(:disabled){border-color:#3b82f6;box-shadow:0 0 8px #3b82f699;color:#fff200}.login-card input,.login-card button,.login-card label{font-family:inherit}.login-card label{margin-top:.6rem}.login-card input{border-radius:4px}.login-card input:hover{border:1px solid #3b82f6;box-shadow:0 0 8px #3b82f699}.login-card input:focus{outline:none}.login-card button{margin-top:1.2rem}.app{max-width:1200px;margin:0 auto;padding:1.5rem 1.2rem 3rem}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.app-header h1{margin:0;font-size:1.6rem;color:#625a96}.app-subtitle{color:#625a96;font-size:.85rem;font-weight:700}.header-title{flex:1;text-align:center}.btn-sair{background:#ed1c24;border-radius:4px;padding-top:.35rem;padding-bottom:.35rem}.btn-sair:hover:not(:disabled){background:#c8151c}.header-logos{display:flex;align-items:center;gap:1rem}.header-logos img{height:30px;width:auto;display:block}@media(max-width:640px){.header-logos{display:none}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:7px;padding:1.4rem;margin-bottom:1.5rem}.panel h2{margin:0 0 1rem;font-size:1.15rem}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.panel-header h2{margin:0}.stats-panel .panel-header button{padding-top:.35rem;padding-bottom:.35rem}.refresh-slot{grid-column:-2 / -1;display:flex;align-items:center;justify-content:center}.refresh-slot button{padding:.35rem 2.2rem;border-radius:4px;color:#625a96}.search-panel .panel-header button{color:#625a96}.search-actions .btn-secondary{background:#ed1c24;color:#fff}.search-actions .btn-secondary:hover:not(:disabled){background:#c8151c}.search-panel input,.search-panel select,.search-panel button{border-radius:4px}.search-panel .panel-header button{padding-top:.35rem;padding-bottom:.35rem}.stats-panel h2,.search-panel h2{color:#625a96}.stats-panel .stat-label{color:#1e40af}.panel-header-actions{display:flex;align-items:center;gap:.6rem}.btn-collapse{background:transparent;color:var(--text-muted);border:none;padding:.2rem;display:flex;align-items:center}.stats-panel .btn-collapse:hover:not(:disabled){background:#e2e8f0;color:var(--text)}.stat-card{cursor:pointer}.stat-card.status-publicado{background:#afffb6}.panel:hover,.search-panel:focus-within,.stat-card:hover,.stat-card.selected,.refresh-slot button:hover:not(:disabled),.search-panel input:focus,.search-panel select:focus,.search-panel input:hover,.search-panel select:hover,.search-panel button:hover{box-shadow:0 0 0 1px #3b82f6,0 0 8px #3b82f699}.stats-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}.stat-card{border:1px solid var(--border);border-left:5px solid #94a3b8;border-radius:10px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.15rem}.stat-label{font-size:.78rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em}.stat-value{font-size:1.5rem;font-weight:700}.stat-breakdown{font-size:.75rem;color:var(--text-muted);font-weight:700}.stat-total{border-left-color:var(--primary);background:#eff6ff}.stat-card.status-ativo{border-left-color:#16a34a}.stat-card.status-publicado{border-left-color:#0891b2}.stat-card.status-pendente{border-left-color:#d97706}.stat-card.status-suspenso{border-left-color:#ea580c}.stat-card.status-inativo{border-left-color:#64748b}.stat-card.status-encerrado{border-left-color:#7c3aed}.stat-card.status-cancelado{border-left-color:var(--danger)}.search-form{display:flex;flex-direction:column;gap:.8rem}.search-row{display:grid;gap:.8rem;align-items:end}.search-row-1{grid-template-columns:1fr 140px 140px}.search-row-2{grid-template-columns:1fr 110px 180px auto}.search-panel input,.search-panel select,.search-actions button{padding-top:.3rem;padding-bottom:.3rem}.search-panel input,.search-panel select{background:#e8f0fe}.search-panel input[type=number]::-webkit-outer-spin-button,.search-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.search-panel input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.search-panel .panel-header{padding-bottom:20px}.search-panel input:focus,.search-panel select:focus{outline:none}@media(max-width:640px){.search-row-1,.search-row-2{grid-template-columns:1fr}}.search-field{display:flex;flex-direction:column;gap:.3rem}.search-actions{display:flex;justify-content:flex-end;gap:.6rem}.search-actions button{border:1px solid transparent;line-height:1.2}.result-count{color:var(--text-muted);font-size:.9rem}.table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:5px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}thead{background:#f3f5f7}th{text-align:left;padding:.65rem .75rem;color:var(--text-muted);font-size:.78rem;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}td{padding:.6rem .75rem;border-bottom:1px solid var(--border)}tbody tr:hover{background:#eff6ff}tbody tr{position:relative}tbody tr:hover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:2px;box-shadow:inset 0 0 0 1px #3b82f6,0 0 8px #3b82f699}tbody tr:last-child td{border-bottom:none}td input[type=checkbox]{width:1.05rem;height:1.05rem;cursor:pointer}.badge{display:inline-block;padding:.15rem .55rem;border-radius:5px;font-size:.72rem;font-weight:700;background:#e2e8f0;color:var(--text);white-space:nowrap}.badge.status-ativo{background:#dcfce7;color:#166534}.badge.status-publicado{background:#cffafe;color:#155e75}.badge.status-pendente{background:#fef3c7;color:#92400e}.badge.status-suspenso{background:#ffedd5;color:#9a3412}.badge.status-inativo{background:#e2e8f0;color:#334155}.badge.status-encerrado{background:#ede9fe;color:#5b21b6}.badge.status-cancelado{background:#fee2e2;color:#991b1b}.log-exclusoes{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:1rem;font-family:Consolas,Courier New,monospace;font-size:.78rem;line-height:1.7;max-height:55vh;overflow-y:auto}.alert{border-radius:8px;padding:.7rem .9rem;font-size:.88rem;margin:.8rem 0}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal{background:var(--surface);border-radius:14px;padding:1.6rem;width:100%;max-width:640px;max-height:90vh;overflow-y:auto}.modal h3{margin:0 0 1rem}.modal-exclusoes{max-width:1080px;width:90%;height:60vh;display:flex;flex-direction:column}.modal-exclusoes .log-exclusoes{flex:1;overflow-y:auto;overflow-x:hidden;margin:0;background:#fff4c8;color:#676c75}.log-line{white-space:pre-wrap;padding-left:23ch;text-indent:-23ch}.modal-backdrop:has(.modal-exclusoes){align-items:flex-start}.modal-exclusoes{margin-top:90px}.modal-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.modal-header h3{margin:0;align-self:center;color:#625a96}.modal-toolbar .btn-secondary{color:#625a96}.modal-exclusoes .log-exclusoes:hover{box-shadow:0 0 0 1px #3b82f6,0 0 8px #3b82f699}.modal-toolbar{display:flex;align-items:flex-end;gap:.7rem}.modal-field-date{position:relative;display:flex;flex-direction:column;gap:.25rem}.field-error{position:absolute;top:100%;left:0;margin-top:2px;white-space:nowrap;color:var(--danger);font-size:.72rem;font-weight:600}.modal-field-date input{padding-top:.3rem;padding-bottom:.3rem;border-radius:4px;background:#e8f0fe}.modal-toolbar button{padding-top:.35rem;padding-bottom:.35rem;border-radius:4px}.modal-hint{color:var(--text-muted);margin:.5rem 0}.modal-delete{max-width:864px}.modal-backdrop-inner{z-index:60}.modal-exe{max-width:380px;border-radius:7px;display:flex;flex-direction:column;gap:.5rem}.modal-exe label{text-align:center}.modal-exe input{text-transform:uppercase;background:#e8f0fe;border-radius:2px;text-align:center}.modal-exe-hint{margin:0;color:var(--text-muted);font-size:.78rem;text-align:center;font-weight:700}.modal-delete h3{color:#625a96}.modal-row{display:grid;gap:.7rem;margin-bottom:.7rem}.modal-row-5{grid-template-columns:repeat(5,1fr)}.modal-row-3{grid-template-columns:1fr 1fr 72px}.modal-field{display:flex;flex-direction:column;gap:.25rem}.modal-field input{background:#e8f0fe}.modal-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.2rem}
