/* Experiência dos catálogos GPR 360 alinhada ao beta, sem importar Bootstrap. */
.gpr360-module .page-header { display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.gpr360-module .page-header h2 { margin:0; font-size:25px; letter-spacing:-.03em; }
.gpr360-breadcrumb { color:var(--gpr-muted); font-size:12px; margin:0 0 4px; }
.gpr360-breadcrumb a { color:var(--gpr-blue-deep); text-decoration:none; }
.gpr360-add { margin-left:auto; }
.gpr360-card { padding:20px; border-top:3px solid var(--gpr-blue); }
.gpr360-card-title { display:flex; align-items:center; gap:8px; margin:0 0 4px; font-size:16px; }
.gpr360-card-title .emoji { font-size:20px; }
.gpr360-help { margin:0 0 16px; color:var(--gpr-muted); font-size:12.5px; }
.gpr360-filters { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; margin-bottom:16px; }
.gpr360-filters label { min-width:180px; flex:1; color:var(--gpr-text-secondary); font-size:12px; font-weight:700; }
.gpr360-filters label.compact { flex:0 0 210px; }
.gpr360-filters input, .gpr360-filters select { display:block; width:100%; margin-top:4px; padding:9px 11px; border:1px solid #c5d3e1; border-radius:8px; background:#fff; color:var(--gpr-text-primary); font:inherit; }
.gpr360-filters button { height:38px; }
.gpr360-table-wrap { overflow-x:auto; border:1px solid #e9eaee; border-radius:10px; }
.gpr360-table { margin:0; border:0; border-radius:0; min-width:850px; }
.gpr360-table th:first-child { width:78px; }
.gpr360-table .row-actions { display:flex; gap:6px; flex-wrap:wrap; }
.gpr360-table .row-actions form { margin:0; }
.gpr360-table .muted { color:var(--gpr-muted); }
.gpr360-empty { padding:32px 18px; text-align:center; color:var(--gpr-muted); }
.gpr360-empty strong { display:block; color:var(--gpr-text-primary); margin-bottom:5px; }
.gpr360-modal[hidden] { display:none; }
.gpr360-modal { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(5,20,42,.48); }
.gpr360-modal-open { overflow:hidden; }
.gpr360-modal-panel { width:min(1000px, 96vw); max-height:92vh; overflow:auto; background:#fff; border-radius:14px; box-shadow:0 20px 70px rgba(5,20,42,.25); }
.gpr360-modal-panel.narrow { width:min(890px,96vw); }
.gpr360-modal-panel form { margin:0; }
.gpr360-modal-head { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid #e9eaee; }
.gpr360-modal-head h2 { margin:0; font-size:16px; }
.gpr360-modal-head .modal-actions { display:flex; gap:7px; }
.gpr360-modal-head .modal-actions button:first-child { margin-right:0; }
.gpr360-modal-body { padding:18px; background:#fff; }
.gpr360-modal-body .formulario label { text-transform:none; }
.gpr360-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:0 14px; }
.gpr360-grid > .span-12 { grid-column:span 12; }
.gpr360-grid > .span-8 { grid-column:span 8; }
.gpr360-grid > .span-6 { grid-column:span 6; }
.gpr360-grid > .span-4 { grid-column:span 4; }
.gpr360-grid > .span-3 { grid-column:span 3; }
.gpr360-grid > .span-9 { grid-column:span 9; }
.gpr360-grid > .span-5 { grid-column:span 5; }
.gpr360-grid > .span-2 { grid-column:span 2; }
.gpr360-grid > label { min-width:0; }
.gpr360-section { margin-top:12px; padding-top:14px; border-top:1px solid #eee; }
.gpr360-section-title { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }
.gpr360-checklist-box { max-height:440px; overflow-y:auto; padding:10px; border:1px solid #e6e6e6; border-radius:8px; }
.gpr360-check-row { display:flex; align-items:center; gap:10px; padding:6px 0; border-bottom:1px solid #f2f2f2; }
.gpr360-check-row:last-child { border-bottom:0; }
.gpr360-check-row label { flex:1; margin:0; font-weight:400; }
.gpr360-check-row input[type=checkbox] { width:auto; margin:0; }
.gpr360-order { display:none; width:80px !important; margin:0 !important; padding:6px 8px !important; }
.gpr360-check-row.selected .gpr360-order { display:block; }
.gpr360-mini-filters { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.gpr360-mini-filters select { flex:1; min-width:190px; }
.gpr360-mini-filters label { display:flex; align-items:center; gap:6px; margin:0; font-size:12px; font-weight:400; white-space:nowrap; }
.gpr360-mini-filters input[type=checkbox] { width:auto; margin:0; }
.gpr360-override { display:none; margin:6px 0 6px 28px; padding:9px; background:#f7f8fa; border-radius:7px; }
.gpr360-process-row.expanded .gpr360-override { display:block; }
.gpr360-process-main { display:flex; align-items:center; gap:10px; }
.gpr360-process-main input[type=checkbox] { width:auto; margin:0; }
.gpr360-process-main label { flex:1; margin:0; font-weight:400; }
.gpr360-process-main a { font-size:12px; }
.gpr360-inline-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.gpr360-inline-grid label { margin:0; font-size:11px; font-weight:700; }
.gpr360-inline-grid input, .gpr360-inline-grid select { margin-top:3px; padding:6px 8px; }
.gpr360-modal-note { margin:-6px 0 14px; color:var(--gpr-muted); font-size:12.5px; }
.gpr360-status-active { color:#08783e; background:var(--gpr-success-bg); }
.gpr360-status-inactive { color:#b4232c; background:var(--gpr-danger-bg); }
.gpr360-badge { display:inline-block; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:700; white-space:nowrap; }
.gpr360-checklist-compact { margin:8px 0 0; padding-left:20px; color:var(--gpr-text-secondary); font-size:13px; }
.gpr360-checklist-compact li { margin:3px 0; }
.gpr360-modal .dica { color:var(--gpr-muted); font-size:12px; }
.usuarios-filters label { flex-basis:190px; }
.usuarios-filters label:first-of-type { flex-basis:230px; }
.usuarios-table { min-width:1050px; }
.gpr360-password-form .gpr360-section { margin-top:0; }
.empresa-page-header { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:20px 0 14px; }
.empresa-page-header h2 { margin:0 0 4px; }
.empresa-page-header .gpr360-help { margin:0; }
.empresa-modal-panel { width:min(1100px,96vw); max-height:95vh; }
.empresa-modal-panel .gpr360-modal-head { position:sticky; top:0; z-index:2; justify-content:space-between; background:#f5f8fc; padding:12px 16px; }
.empresa-modal-panel .gpr360-modal-head h2 { font-size:18px; }
.empresa-modal-panel .gpr360-modal-body { padding:18px 22px 24px; }
.empresa-ultima-alteracao { margin:0 0 12px; color:var(--gpr-muted); font-size:13px; }
.empresa-tabs { display:flex; gap:5px; border-bottom:1px solid #d8dee8; margin-bottom:18px; }
.empresa-tab { appearance:none; border:1px solid transparent; border-bottom:0; border-radius:7px 7px 0 0; padding:10px 16px; background:transparent; color:#2384d5; cursor:pointer; font:inherit; }
.empresa-tab.ativo { border-color:#d8dee8; background:white; color:var(--gpr-text-primary); }
.empresa-tab-panel[hidden] { display:none; }
.empresa-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px 16px; }
.empresa-grid > label[class*="span-"] { grid-column:1 / -1; }
.empresa-grid > label { display:block; min-width:0; margin:0; color:var(--gpr-text-secondary); font-size:13px; font-weight:500; }
.empresa-grid label b { color:#c53535; }
.empresa-grid input, .empresa-grid select { display:block; width:100%; min-height:42px; margin-top:5px; padding:9px 12px; border:1px solid #cfd4dc; border-radius:8px; background:#fff; color:var(--gpr-text-primary); font:inherit; }
.empresa-grid input:disabled { background:#f5f6f8; color:#737b87; }
.empresa-consentimento { display:flex; align-items:flex-start; gap:9px; margin:18px 0 0; color:var(--gpr-text-secondary); font-size:13px; line-height:1.5; }
.empresa-consentimento input { width:auto; flex:0 0 auto; margin:3px 0 0; }
.gpr360-field-action { display:flex; align-items:flex-end; padding-bottom:12px; }
.gpr360-field-action button { width:100%; }
#grupoDiaSemana, #grupoDiaMes { display:none; }
#grupoDiaSemana.is-visible, #grupoDiaMes.is-visible { display:block; }
@media (max-width:720px) {
    .gpr360-module .page-header { align-items:flex-start; flex-wrap:wrap; }
    .gpr360-add { width:100%; margin-left:0; }
    .gpr360-grid > .span-9, .gpr360-grid > .span-8, .gpr360-grid > .span-6, .gpr360-grid > .span-5, .gpr360-grid > .span-4, .gpr360-grid > .span-3, .gpr360-grid > .span-2 { grid-column:span 12; }
    .gpr360-inline-grid { grid-template-columns:repeat(2,1fr); }
    .empresa-page-header { align-items:flex-start; flex-wrap:wrap; }
    .empresa-page-header .gpr360-add { width:100%; margin-left:0; }
    .empresa-modal { padding:8px; }
    .empresa-modal-panel { width:98vw; max-height:98vh; }
    .empresa-modal-panel .gpr360-modal-head { align-items:flex-start; flex-direction:column; }
}
