body.page-slug-associaplus,
body.page-slug-associaplus html {
  background:#eef3fb;
}
body.page-slug-associaplus .entry-content,
body.page-slug-associaplus .wp-block-post-content,
body.page-slug-associaplus .post-content,
body.page-slug-associaplus .site-main,
body.page-slug-associaplus main,
body.page-slug-associaplus article,
body.page-slug-associaplus .content-area,
body.page-slug-associaplus .site-content,
body.page-slug-associaplus .ast-container,
body.page-slug-associaplus .container,
body.page-slug-associaplus .wrap,
body.page-slug-associaplus .site,
body.page-slug-associaplus .content-wrap {
  max-width:none !important;
  width:100% !important;
}
body.page-slug-associaplus .entry-content,
body.page-slug-associaplus .wp-block-post-content,
body.page-slug-associaplus .post-content {
  margin:0 !important;
  padding:0 !important;
}
#afp-root.afp-app{
  --afp-page-gap: clamp(20px, 4vw, 72px);
  --afp-max-width: 1500px;
  width:min(var(--afp-max-width), calc(100vw - (var(--afp-page-gap) * 2)));
  max-width:var(--afp-max-width);
  min-height:calc(100vh - (var(--afp-page-gap) * 2));
  margin:var(--afp-page-gap) auto;
  font-family:Arial,sans-serif;
  background:#eef3fb;
  padding:0;
}
.afp-app *{box-sizing:border-box}
.afp-login-screen{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
}
.afp-login-wrap{
  width:100%;
  max-width:460px;
  background:#fff;
  padding:32px;
  border-radius:24px;
  box-shadow:0 20px 50px rgba(15,23,42,.12);
}
.afp-login-wrap h2{margin:0 0 8px;font-size:30px}
.afp-field{display:block;margin-bottom:16px}
.afp-field label{display:block;font-weight:700;margin-bottom:8px;color:#0f172a}
.afp-field input{width:100%;padding:14px 16px;border:1px solid #d5dceb;border-radius:14px;background:#fff}
.afp-btn{background:#1d4ed8;color:#fff;border:none;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:700}
.afp-btn.secondary{background:#fff;color:#0f172a;border:1px solid #d5dceb}
.afp-error{margin-top:14px;color:#b91c1c}
.afp-shell{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  width:100%;
  min-height:calc(100vh - 48px);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(15,23,42,.10);
}
.afp-sidebar{
  background:linear-gradient(180deg,#0f172a 0%,#111827 100%);
  color:#fff;
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh;
}
.afp-brand{font-size:24px;font-weight:800;margin-bottom:22px;letter-spacing:-.02em}
.afp-brand-sub{font-size:13px;color:#94a3b8;margin-top:4px}
.afp-userbox{font-size:14px;background:rgba(255,255,255,.08);padding:14px;border-radius:16px;margin-bottom:18px;line-height:1.5}
.afp-menu{display:flex;flex-direction:column;gap:8px;flex:1}
.afp-menu a{color:#dbe4ff;text-decoration:none;padding:12px 14px;border-radius:14px;display:flex;align-items:center;font-weight:600}
.afp-menu a.active,.afp-menu a:hover{background:rgba(255,255,255,.12);color:#fff}
.afp-sidebar-footer{padding-top:12px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#cbd5e1}
.afp-main{
  min-width:0;
  padding:24px;
  overflow:auto;
  background:#f8fbff;
}
.afp-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:22px;
  background:#fff;
  border-radius:20px;
  padding:18px 20px;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.afp-topbar-left h1{margin:0;font-size:28px;line-height:1.2;color:#0f172a}
.afp-topbar-sub{margin-top:6px;color:#64748b;font-size:14px}
.afp-topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.afp-badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:12px;font-weight:800}
.afp-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:20px;margin-bottom:24px}
.afp-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.afp-card h3{margin:0 0 12px 0;font-size:14px;color:#64748b;font-weight:700}
.afp-stat{font-size:34px;font-weight:800;color:#0f172a;letter-spacing:-.03em}
.afp-view{background:#fff;border-radius:20px;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.afp-view h2{margin-top:0;font-size:26px;color:#0f172a}
.afp-alert{padding:14px 16px;border-radius:16px;margin-bottom:16px;font-weight:600}
.afp-alert.warn{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.afp-alert.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.afp-muted{color:#64748b}
.afp-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;font-size:18px;color:#475569}
.afp-kv{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:18px;margin-top:20px}
.afp-kv-item{padding:16px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}
.afp-kv-item strong{display:block;font-size:13px;color:#64748b;margin-bottom:6px}
@media (max-width: 1200px){.afp-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media (max-width: 960px){
  #afp-root.afp-app{padding:0}
  .afp-shell{grid-template-columns:1fr}
  .afp-sidebar{position:relative;height:auto}
  .afp-main{padding:18px}
  .afp-grid,.afp-kv{grid-template-columns:1fr}
  .afp-topbar{flex-direction:column;align-items:flex-start}
  .afp-topbar-right{width:100%;justify-content:space-between}
}


@media (max-width: 900px){
  #afp-root.afp-app{
    --afp-page-gap: 10px;
    --afp-max-width: 100%;
    width:calc(100vw - (var(--afp-page-gap) * 2));
    margin:var(--afp-page-gap) auto;
    min-height:calc(100vh - (var(--afp-page-gap) * 2));
  }
  .afp-shell{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .afp-sidebar{
    position:relative;
    height:auto;
    min-width:0;
    width:100%;
  }
}

.afp-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.afp-inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.afp-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.afp-toolbar input,.afp-toolbar select,.afp-inline-form input,.afp-field select,.afp-field textarea{border:1px solid #d5dceb;border-radius:14px;padding:12px 14px;background:#fff}
.afp-toolbar input{min-width:280px;flex:1}
.afp-table-wrap{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.05);overflow:auto}
.afp-table{width:100%;border-collapse:collapse}
.afp-table th,.afp-table td{padding:14px 16px;border-bottom:1px solid #e5ecf5;text-align:left;vertical-align:top}
.afp-table th{font-size:13px;text-transform:uppercase;color:#64748b;letter-spacing:.03em}
.afp-empty-cell{text-align:center;color:#64748b}
.afp-link-btn{background:none;border:none;color:#1d4ed8;cursor:pointer;padding:0;margin-right:10px;font-weight:700}
.afp-link-btn.danger{color:#b91c1c}
.afp-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.afp-status.paid{background:#dcfce7;color:#166534}
.afp-status.unpaid{background:#fee2e2;color:#991b1b}
.afp-settings-panel{margin-top:18px}
.afp-settings-panel.hidden,.afp-modal.hidden{display:none}
.afp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.afp-inline-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.afp-inline-form input{flex:1}
.afp-tag-list{display:flex;flex-wrap:wrap;gap:10px}
.afp-tag{display:inline-flex;align-items:center;gap:8px;background:#eff6ff;border-radius:999px;padding:8px 12px}
.afp-tag button{background:none;border:none;cursor:pointer;font-size:12px}
.afp-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;overflow:auto}
.afp-modal-box{width:min(760px, 100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:24px;padding:24px;box-shadow:0 20px 60px rgba(15,23,42,.15);margin:auto;position:relative}
.afp-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;position:sticky;top:0;background:#fff;padding-bottom:8px;z-index:2}
.afp-icon-btn{border:none;background:#eef3fb;border-radius:999px;width:36px;height:36px;cursor:pointer;font-size:22px;line-height:1}
.afp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.afp-span-2{grid-column:1 / -1}
.afp-field textarea{width:100%}
.afp-muted.afp-sm{font-size:12px;margin-top:4px}
@media (max-width: 900px){
  .afp-shell{grid-template-columns:1fr}
  .afp-sidebar{position:relative;height:auto}
  .afp-grid,.afp-settings-grid,.afp-form-grid{grid-template-columns:1fr}
}


.afp-modal-wide{width:min(1100px,100%)}
.afp-permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:16px;margin-top:10px}
.afp-permission-group{border:1px solid #e2e8f0;background:#f8fbff;border-radius:16px;padding:14px}
.afp-permission-group h4{margin:0 0 10px;font-size:14px;text-transform:capitalize;color:#334155}
.afp-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:14px;color:#0f172a}
.afp-check input{margin-top:3px}
.afp-perm-mini{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.afp-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:700}
@media (max-width: 1200px){.afp-permissions-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media (max-width: 900px){.afp-permissions-grid{grid-template-columns:1fr}}


.afp-modal-box form{padding-bottom:8px}
@media (max-height: 820px){
  .afp-modal{align-items:flex-start;padding:12px}
  .afp-modal-box{max-height:calc(100vh - 24px);border-radius:20px}
}
@media (max-width: 720px){
  .afp-form-grid,.afp-settings-grid{grid-template-columns:1fr}
  .afp-modal{padding:8px}
  .afp-modal-box{width:100%;max-height:calc(100vh - 16px);padding:18px}
}


/* v0.4.2 modal usability fix */
.afp-modal{
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.afp-modal-box{
  width:min(900px, calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100vh - 32px);
  overflow:auto;
  margin:auto;
}
.afp-modal-wide{
  width:min(900px, calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
}
.afp-modal-header{
  position:sticky;
  top:0;
  background:#fff;
  z-index:5;
  padding-bottom:10px;
}
.afp-permissions-grid{
  grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
}
@media (max-width: 900px){
  .afp-permissions-grid{grid-template-columns:1fr !important;}
}


/* v0.4.3 user modal hard fix */
#afp-user-modal.afp-modal{
  align-items:flex-start !important;
  padding:12px !important;
  overflow-y:auto !important;
}
#afp-user-modal .afp-modal-box,
#afp-user-modal .afp-modal-wide{
  width:min(760px, calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  max-height:calc(100vh - 24px) !important;
  overflow:auto !important;
  margin:0 auto !important;
  border-radius:20px !important;
}
#afp-user-modal .afp-modal-header{
  position:sticky !important;
  top:0 !important;
  background:#fff !important;
  z-index:10 !important;
  padding-bottom:10px !important;
}
#afp-user-modal .afp-inline-actions{
  position:sticky;
  bottom:0;
  background:#fff;
  padding-top:12px;
  margin-top:16px;
  z-index:10;
}
#afp-user-modal .afp-permissions-scroll{
  max-height:32vh;
  overflow:auto;
  padding-right:6px;
}
#afp-user-modal .afp-permissions-grid{
  grid-template-columns:1fr !important;
  gap:12px !important;
}
#afp-user-modal .afp-check{
  margin-bottom:8px !important;
}
@media (max-height: 800px){
  #afp-user-modal .afp-permissions-scroll{
    max-height:26vh;
  }
}

.afp-grid-3{grid-template-columns:repeat(3,minmax(220px,1fr));}
.afp-report-grid{grid-template-columns:1fr 1fr;align-items:start}
.afp-report-filters .afp-field{margin-bottom:0;min-width:180px;flex:1}
.afp-report-filters label{display:block;font-weight:700;margin-bottom:8px;color:#0f172a}
.afp-report-actions{align-self:end}
@media (max-width: 1100px){.afp-grid-3,.afp-report-grid{grid-template-columns:1fr}}


/* v0.6.0 dashboard pro */
.afp-dashboard-panel{margin-bottom:20px;border:1px solid #dbeafe}
.afp-dashboard-filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
.afp-dashboard-filters .afp-field{margin-bottom:0;min-width:180px}
.afp-dashboard-charts{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:20px}
.afp-chart-card{padding:20px 20px 12px}
.afp-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.afp-card-head h3{margin:0;font-size:15px;color:#0f172a}
.afp-chart-wrap{position:relative;height:360px}
.afp-chart-wrap-donut{height:360px}
.afp-grid .afp-card{transition:transform .18s ease, box-shadow .18s ease}
.afp-grid .afp-card:hover,.afp-chart-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08)}
@media (max-width: 1200px){
  .afp-dashboard-charts{grid-template-columns:1fr}
}
@media (max-width: 900px){
  .afp-dashboard-filters{flex-direction:column;align-items:stretch}
  .afp-dashboard-filters .afp-field{width:100%}
  .afp-chart-wrap,.afp-chart-wrap-donut{height:300px}
}


/* v0.7.2 plan limits */
.afp-alert-link{font-weight:800;color:#7c2d12;text-decoration:underline}
.afp-stat-sm{font-size:26px}
.afp-grid-3{grid-template-columns:repeat(3,minmax(220px,1fr))}
@media (max-width: 1200px){.afp-grid-3{grid-template-columns:1fr}}


/* v0.7.3 laptop-friendly adaptive shell */
@media (min-width: 1280px) and (max-width: 1600px){
  #afp-root.afp-app{
    --afp-page-gap: clamp(24px, 3.5vw, 48px);
    --afp-max-width: 1380px;
  }
}
@media (min-width: 901px) and (max-width: 1279px){
  #afp-root.afp-app{
    --afp-page-gap: clamp(16px, 2.4vw, 28px);
    --afp-max-width: 100%;
  }
  .afp-main{padding:20px}
  .afp-sidebar{padding:20px 16px}
}


/* v0.8.1 account billing */
.afp-account-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;margin-bottom:22px}
.afp-account-plan-card,.afp-account-usage-card,.afp-plan-option{background:#fff;border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.05)}
.afp-plan-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:12px;font-weight:800;margin-bottom:14px}
.afp-account-plan-card h2{margin:0 0 8px;font-size:34px;color:#0f172a}
.afp-account-meta{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;margin:18px 0}
.afp-upgrade-actions{margin-top:18px}
.afp-usage-block{margin-top:18px}
.afp-usage-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;color:#0f172a}
.afp-progress{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.afp-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb 0%,#7c3aed 100%)}
.afp-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:20px}
.afp-plan-option.current{outline:2px solid #c7d2fe}
.afp-plan-option-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px}
.afp-plan-option-head h3{margin:0;font-size:24px;color:#0f172a}
.afp-plan-price{font-weight:800;color:#1d4ed8}
.afp-plan-features{margin:16px 0 22px;padding-left:18px;color:#334155}
.afp-plan-features li{margin-bottom:8px}
@media (max-width: 1100px){
  .afp-account-hero,.afp-plan-grid{grid-template-columns:1fr}
  .afp-account-meta{grid-template-columns:1fr}
}


/* v0.8.2 reports fixes */
.afp-report-grid-annual{margin-top:20px}
.afp-report-grid-annual .afp-table th:nth-child(2),
.afp-report-grid-annual .afp-table th:nth-child(3),
.afp-report-grid-annual .afp-table td:nth-child(2),
.afp-report-grid-annual .afp-table td:nth-child(3){white-space:nowrap}

/* v0.8.7 reports stable */
.afp-report-grid-annual{margin-bottom:20px}


/* v0.8.9 report UI polish from 0.8.8 base */
.afp-view h2{letter-spacing:-0.02em}
.afp-report-filters{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr)) auto;
  gap:14px;
  align-items:end;
  margin-bottom:20px;
  background:#f8fbff;
  border:1px solid #e6edf8;
  border-radius:18px;
  padding:16px;
}
.afp-report-filters .afp-field{
  margin-bottom:0;
  min-width:0;
}
.afp-report-filters input,
.afp-report-filters select{
  width:100%;
  padding:12px 14px;
  border:1px solid #d9e3f2;
  border-radius:12px;
  background:#fff;
}
.afp-report-actions{
  justify-content:flex-end;
  align-self:end;
}
.afp-report-grid,
.afp-report-grid-annual{
  gap:18px;
}
.afp-table-wrap{
  background:#fff;
  border:1px solid #e7edf7;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.afp-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.afp-table thead th{
  background:#f4f8fe;
  color:#0f172a;
  font-size:13px;
  font-weight:800;
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid #e5edf8;
}
.afp-table tbody td{
  padding:13px 16px;
  border-bottom:1px solid #eef3fb;
  vertical-align:middle;
}
.afp-table tbody tr:last-child td{
  border-bottom:none;
}
.afp-table tbody td:last-child,
.afp-table thead th:last-child{
  text-align:right;
}
.afp-table tbody td:nth-child(3),
.afp-table thead th:nth-child(3){
  text-align:right;
}
.afp-empty-cell{
  color:#64748b;
  text-align:center !important;
  padding:22px 16px !important;
}
.afp-report-grid-annual .afp-table-wrap{
  border-color:#dce8fb;
}
.afp-report-grid-annual .afp-table thead th{
  background:linear-gradient(180deg,#eef5ff 0%,#f8fbff 100%);
}
.afp-report-grid .afp-table thead th{
  background:#f8fafc;
}
.afp-view .afp-grid.afp-grid-3 .afp-card{
  border:1px solid #e8eef8;
}
.afp-view .afp-grid.afp-grid-3 .afp-card h3{
  color:#475569;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.afp-view .afp-grid.afp-grid-3 .afp-stat{
  font-size:30px;
}
.afp-section-header{
  margin-bottom:18px;
}
.afp-section-header .afp-inline-actions{
  flex-wrap:wrap;
}
@media (max-width: 1280px){
  .afp-report-filters{
    grid-template-columns:repeat(3,minmax(170px,1fr));
  }
}
@media (max-width: 900px){
  .afp-report-filters{
    grid-template-columns:1fr;
  }
  .afp-report-actions{
    justify-content:stretch;
  }
  .afp-report-actions .afp-btn{
    width:100%;
  }
  .afp-table thead th,
  .afp-table tbody td{
    padding:12px 12px;
    font-size:13px;
  }
}

/* v0.8.9.1 cache bust */
.afp-report-filters{outline:0}


/* v1.0.0 reports + onboarding polish */
.afp-balancete-screen{margin-top:20px}
.afp-balancete-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:18px 18px 0;
}
.afp-balancete-head h3{
  margin:0;
  color:#0f172a;
  font-size:16px;
}
.afp-table-scroll{
  overflow:auto;
  padding:0 0 6px;
}
.afp-table-matrix{
  min-width:1320px;
}
.afp-table-matrix thead th:first-child,
.afp-table-matrix tbody td:first-child{
  position:sticky;
  left:0;
  background:#fff;
  z-index:1;
}
.afp-table-matrix thead th:first-child{
  background:#f4f8fe;
  z-index:2;
}
.afp-table-matrix th,
.afp-table-matrix td{
  white-space:nowrap;
}
.afp-table-matrix tbody td:not(:first-child),
.afp-table-matrix thead th:not(:first-child){
  text-align:right;
}
.afp-dashboard-charts .afp-card,
.afp-table-wrap,
.afp-grid .afp-card{
  transition:transform .16s ease, box-shadow .16s ease;
}
.afp-dashboard-charts .afp-card:hover,
.afp-table-wrap:hover,
.afp-grid .afp-card:hover{
  transform:translateY(-1px);
}


/* v1.1.0 fiscal validation */
.afp-fiscal-ok{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  border-radius:999px;
  background:#dcfce7;
  color:#166534;
  font-weight:800;
  border:1px solid #86efac;
}


/* v1.2.1 backups */
.afp-backup-grid{
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:20px;
}
@media (max-width: 900px){
  .afp-backup-grid{
    grid-template-columns:1fr;
  }
}


/* v1.2.2 backup preview */
.afp-backup-preview-card{
  margin-top:20px;
}


/* v1.2.8 backup ux */
.afp-alert.success{
  background:#ecfdf5;
  color:#166534;
  border:1px solid #86efac;
}


/* v1.2.9 responsive polish */
#afp-root.afp-app{
  --afp-page-gap: clamp(12px, 2.8vw, 40px);
  --afp-max-width: min(1600px, calc(100vw - (var(--afp-page-gap) * 2)));
}

.afp-shell{
  min-height:calc(100vh - (var(--afp-page-gap) * 2));
}

.afp-main{
  padding:20px;
}

.afp-topbar{
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:saturate(180%) blur(8px);
}

.afp-grid{
  grid-template-columns:repeat(4,minmax(200px,1fr));
}

.afp-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:20px;
}

.afp-inline-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.afp-table-wrap{
  overflow:hidden;
}

.afp-table{
  width:100%;
}

.afp-table th,
.afp-table td{
  word-break:break-word;
}

.afp-mobile-stack{
  display:none;
}

@media (max-width: 1180px){
  #afp-root.afp-app{
    --afp-page-gap: 12px;
    --afp-max-width: calc(100vw - 24px);
  }

  .afp-shell{
    grid-template-columns:220px minmax(0,1fr);
    border-radius:22px;
  }

  .afp-sidebar{
    padding:18px 14px;
  }

  .afp-brand{
    font-size:20px;
    margin-bottom:16px;
  }

  .afp-topbar{
    padding:16px;
    border-radius:16px;
  }

  .afp-topbar-left h1{
    font-size:24px;
  }

  .afp-grid{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }

  .afp-settings-grid,
  .afp-backup-grid,
  .afp-account-hero,
  .afp-plan-grid,
  .afp-report-filters{
    grid-template-columns:1fr;
  }

  .afp-account-meta{
    grid-template-columns:1fr;
  }

  .afp-main{
    padding:16px;
  }
}

@media (max-width: 820px){
  #afp-root.afp-app{
    width:100vw;
    max-width:100vw;
    margin:0;
    min-height:100vh;
    border-radius:0;
    --afp-page-gap: 0px;
  }

  .afp-shell{
    grid-template-columns:1fr;
    min-height:100vh;
    border-radius:0;
  }

  .afp-sidebar{
    position:relative;
    top:auto;
    height:auto;
    padding:14px;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
  }

  .afp-brand{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }

  .afp-brand-sub{
    display:none;
  }

  .afp-userbox{
    margin-bottom:12px;
    padding:12px;
    font-size:13px;
  }

  .afp-menu{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .afp-menu a{
    justify-content:center;
    text-align:center;
    min-height:46px;
    padding:10px 12px;
    font-size:13px;
  }

  .afp-sidebar-footer{
    display:none;
  }

  .afp-main{
    padding:12px;
  }

  .afp-topbar{
    position:relative;
    top:auto;
    flex-direction:column;
    align-items:flex-start;
    padding:14px;
    margin-bottom:14px;
  }

  .afp-topbar-left h1{
    font-size:22px;
  }

  .afp-topbar-right{
    width:100%;
    justify-content:flex-start;
  }

  .afp-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .afp-card,
  .afp-table-wrap,
  .afp-login-wrap,
  .afp-account-plan-card,
  .afp-account-usage-card,
  .afp-plan-option{
    border-radius:16px;
  }

  .afp-view .afp-grid.afp-grid-3 .afp-stat,
  .afp-stat{
    font-size:24px;
  }

  .afp-btn,
  .afp-btn.secondary{
    width:100%;
    text-align:center;
    justify-content:center;
  }

  .afp-inline-actions{
    width:100%;
  }

  .afp-inline-actions .afp-btn,
  .afp-inline-actions .afp-btn.secondary{
    flex:1 1 100%;
  }

  .afp-field input,
  .afp-field select,
  .afp-field textarea{
    font-size:16px;
  }

  .afp-toolbar{
    padding:14px;
    border-radius:16px;
  }

  .afp-report-filters{
    padding:14px;
  }

  .afp-table-scroll{
    overflow:auto;
    -webkit-overflow-scrolling:touch;
  }

  .afp-table-matrix{
    min-width:980px;
  }

  .afp-report-grid-annual .afp-table,
  .afp-report-grid .afp-table{
    min-width:100%;
  }

  .afp-login-screen{
    padding:16px;
  }

  .afp-login-wrap{
    padding:24px 18px;
  }

  .afp-login-wrap h2{
    font-size:26px;
  }

  .afp-modal-backdrop{
    padding:10px;
    align-items:flex-start;
    overflow:auto;
  }

  .afp-modal{
    width:100%;
    max-width:100%;
    margin:0 auto;
    max-height:none;
    border-radius:18px;
  }

  .afp-modal-content{
    padding:16px;
  }

  .afp-modal-header{
    padding:14px 16px;
    position:sticky;
    top:0;
    background:#fff;
    z-index:2;
  }

  .afp-kv-item{
    grid-template-columns:1fr;
    gap:6px;
  }
}

@media (max-width: 560px){
  .afp-menu{
    grid-template-columns:1fr 1fr;
  }

  .afp-topbar-left h1{
    font-size:20px;
  }

  .afp-section-header{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }

  .afp-table th,
  .afp-table td{
    padding:10px 10px;
    font-size:12px;
  }

  .afp-badge{
    font-size:11px;
    padding:7px 10px;
  }

  .afp-account-plan-card h2{
    font-size:28px;
  }

  .afp-plan-option-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* v1.3.0 treasury */
.afp-kv-item strong + * { margin-top: 4px; }


/* v1.3.6 restore expense/revenue modal appearance */
.afp-modal-backdrop{
  background:rgba(15,23,42,.45);
}

.afp-modal{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  box-shadow:0 24px 60px rgba(15,23,42,.22);
  opacity:1;
  overflow:hidden;
}

.afp-modal-header{
  background:#fff;
  border-bottom:1px solid #e5e7eb;
}

.afp-modal-content{
  background:#fff;
}

#afp-expense-modal-backdrop .afp-modal,
#afp-revenue-modal-backdrop .afp-modal{
  background:#fff;
  opacity:1;
}

#afp-expense-modal-backdrop .afp-modal-content,
#afp-revenue-modal-backdrop .afp-modal-content{
  background:#fff;
}

#afp-expense-modal-backdrop .afp-form-grid,
#afp-revenue-modal-backdrop .afp-form-grid{
  background:transparent;
}

#afp-expense-modal-backdrop .afp-field,
#afp-revenue-modal-backdrop .afp-field{
  background:transparent;
}

#afp-expense-modal-backdrop input,
#afp-expense-modal-backdrop select,
#afp-expense-modal-backdrop textarea,
#afp-revenue-modal-backdrop input,
#afp-revenue-modal-backdrop select,
#afp-revenue-modal-backdrop textarea{
  background:#fff;
  border:1px solid #d7dfeb;
  opacity:1;
  color:#0f172a;
}

#afp-expense-modal-backdrop textarea,
#afp-revenue-modal-backdrop textarea{
  min-height:110px;
}


/* v1.3.7 revenue modal parity */
.afp-modal-backdrop:not(.hidden){
  display:flex;
}

.afp-modal{
  background:#ffffff !important;
  opacity:1 !important;
}

.afp-modal .afp-modal-header,
.afp-modal .afp-modal-content{
  background:#ffffff !important;
}

#afp-revenue-form,
#afp-expense-form{
  background:#ffffff !important;
}

#afp-revenue-form .afp-form-grid,
#afp-expense-form .afp-form-grid{
  background:transparent !important;
}

#afp-revenue-form .afp-field,
#afp-expense-form .afp-field{
  background:transparent !important;
}

#afp-revenue-form input,
#afp-revenue-form select,
#afp-revenue-form textarea,
#afp-expense-form input,
#afp-expense-form select,
#afp-expense-form textarea{
  background:#ffffff !important;
  color:#0f172a !important;
  opacity:1 !important;
  border:1px solid #d7dfeb !important;
  box-shadow:none !important;
}

#afp-revenue-form textarea,
#afp-expense-form textarea{
  min-height:110px;
}

#afp-revenue-form .afp-inline-actions,
#afp-expense-form .afp-inline-actions{
  background:#ffffff !important;
}


/* v1.3.8.1 recovery */
#afp-revenue-form,
#afp-expense-form{
  background:#fff;
}


/* v1.3.8.3 revenue modal parity */
#afp-revenue-modal.afp-modal{
  background:transparent;
}
#afp-revenue-modal .afp-modal-box{
  background:#fff;
}


/* v1.3.8.6 font size refinement for tables and reports */
.afp-table th{
  font-size:12px;
}

.afp-table td{
  font-size:13px;
}

.afp-view h2{
  font-size:22px;
}

.afp-section-header h2{
  font-size:22px;
}

.afp-toolbar input,
.afp-toolbar select{
  font-size:13px;
}

.afp-card h3{
  font-size:15px;
}

.afp-muted{
  font-size:12px;
}


/* v1.3.9.2 operational tables alignment */
.afp-table.afp-operational thead th,
.afp-table.afp-operational tbody td{
  text-align:left;
}

.afp-table.afp-operational thead th:nth-child(3),
.afp-table.afp-operational tbody td:nth-child(3){
  text-align:left !important;
}

.afp-table.afp-operational thead th:last-child,
.afp-table.afp-operational tbody td:last-child{
  text-align:right;
}

.afp-table.afp-operational thead th:nth-child(5),
.afp-table.afp-operational tbody td:nth-child(5){
  text-align:right;
}

.afp-table.afp-operational thead th:nth-child(8),
.afp-table.afp-operational tbody td:nth-child(8){
  text-align:center;
}

.afp-table.afp-operational td:nth-child(3) strong{
  display:block;
}

.afp-table.afp-operational td:nth-child(3) .afp-muted{
  display:block;
  margin-top:4px;
}


/* v1.3.9.3 prevent wrapping in specific operational columns */
.afp-table.afp-operational th:nth-child(1),
.afp-table.afp-operational td:nth-child(1),
.afp-table.afp-operational th:nth-child(2),
.afp-table.afp-operational td:nth-child(2),
.afp-table.afp-operational th:nth-child(4),
.afp-table.afp-operational td:nth-child(4),
.afp-table.afp-operational th:nth-child(6),
.afp-table.afp-operational td:nth-child(6),
.afp-table.afp-operational th:nth-child(7),
.afp-table.afp-operational td:nth-child(7),
.afp-table.afp-operational th:nth-child(9),
.afp-table.afp-operational td:nth-child(9){
  white-space: nowrap;
}

.afp-table.afp-operational td:nth-child(9){
  min-width: 150px;
}

.afp-table.afp-operational td:nth-child(7) a{
  white-space: nowrap;
  display: inline-block;
}


/* v1.3.9.4 fix value column width (no wrap) */
.afp-table.afp-operational th:nth-child(5),
.afp-table.afp-operational td:nth-child(5){
  white-space: nowrap;
  min-width: 120px;
  text-align: right;
}


/* v1.3.9.5 unify expenses and revenues headers/text alignment */
.afp-table.afp-operational thead th{
  text-align:left;
  vertical-align:middle;
}

.afp-table.afp-operational tbody td{
  vertical-align:top;
}

.afp-table.afp-operational thead th:nth-child(1),
.afp-table.afp-operational tbody td:nth-child(1),
.afp-table.afp-operational thead th:nth-child(2),
.afp-table.afp-operational tbody td:nth-child(2),
.afp-table.afp-operational thead th:nth-child(3),
.afp-table.afp-operational tbody td:nth-child(3),
.afp-table.afp-operational thead th:nth-child(4),
.afp-table.afp-operational tbody td:nth-child(4){
  text-align:left;
}

.afp-table.afp-operational thead th:nth-child(5),
.afp-table.afp-operational tbody td:nth-child(5){
  text-align:right;
}

.afp-table.afp-operational thead th:nth-child(6),
.afp-table.afp-operational tbody td:nth-child(6),
.afp-table.afp-operational thead th:nth-child(7),
.afp-table.afp-operational tbody td:nth-child(7){
  text-align:left;
}

.afp-table.afp-operational thead th:nth-child(8),
.afp-table.afp-operational tbody td:nth-child(8){
  text-align:center;
}

.afp-table.afp-operational thead th:nth-child(9),
.afp-table.afp-operational tbody td:nth-child(9){
  text-align:right;
}


/* v1.3.9.6 force same alignment on expenses and revenues */
.afp-table.afp-expenses thead th,
.afp-table.afp-revenues thead th{
  text-align:left !important;
  vertical-align:middle !important;
}

.afp-table.afp-expenses tbody td,
.afp-table.afp-revenues tbody td{
  vertical-align:top !important;
}

.afp-table.afp-expenses thead th:nth-child(1),
.afp-table.afp-expenses tbody td:nth-child(1),
.afp-table.afp-expenses thead th:nth-child(2),
.afp-table.afp-expenses tbody td:nth-child(2),
.afp-table.afp-expenses thead th:nth-child(3),
.afp-table.afp-expenses tbody td:nth-child(3),
.afp-table.afp-expenses thead th:nth-child(4),
.afp-table.afp-expenses tbody td:nth-child(4),
.afp-table.afp-revenues thead th:nth-child(1),
.afp-table.afp-revenues tbody td:nth-child(1),
.afp-table.afp-revenues thead th:nth-child(2),
.afp-table.afp-revenues tbody td:nth-child(2),
.afp-table.afp-revenues thead th:nth-child(3),
.afp-table.afp-revenues tbody td:nth-child(3),
.afp-table.afp-revenues thead th:nth-child(4),
.afp-table.afp-revenues tbody td:nth-child(4){
  text-align:left !important;
}

.afp-table.afp-expenses thead th:nth-child(5),
.afp-table.afp-expenses tbody td:nth-child(5),
.afp-table.afp-revenues thead th:nth-child(5),
.afp-table.afp-revenues tbody td:nth-child(5){
  text-align:right !important;
}

.afp-table.afp-expenses thead th:nth-child(6),
.afp-table.afp-expenses tbody td:nth-child(6),
.afp-table.afp-expenses thead th:nth-child(7),
.afp-table.afp-expenses tbody td:nth-child(7),
.afp-table.afp-revenues thead th:nth-child(6),
.afp-table.afp-revenues tbody td:nth-child(6),
.afp-table.afp-revenues thead th:nth-child(7),
.afp-table.afp-revenues tbody td:nth-child(7){
  text-align:left !important;
}

.afp-table.afp-expenses thead th:nth-child(8),
.afp-table.afp-expenses tbody td:nth-child(8),
.afp-table.afp-revenues thead th:nth-child(8),
.afp-table.afp-revenues tbody td:nth-child(8){
  text-align:center !important;
}

.afp-table.afp-expenses thead th:nth-child(9),
.afp-table.afp-expenses tbody td:nth-child(9),
.afp-table.afp-revenues thead th:nth-child(9),
.afp-table.afp-revenues tbody td:nth-child(9){
  text-align:right !important;
}


/* v1.4.2 events phase 1 */
.afp-table.afp-events th:nth-child(6),
.afp-table.afp-events td:nth-child(6){
  text-align:right;
  white-space:nowrap;
}


/* v1.4.5 event totals */
.afp-table.afp-events th:nth-child(6),
.afp-table.afp-events td:nth-child(6),
.afp-table.afp-events th:nth-child(7),
.afp-table.afp-events td:nth-child(7),
.afp-table.afp-events th:nth-child(8),
.afp-table.afp-events td:nth-child(8),
.afp-table.afp-events th:nth-child(9),
.afp-table.afp-events td:nth-child(9){
  white-space: nowrap;
}
.afp-table.afp-events th:nth-child(6),
.afp-table.afp-events td:nth-child(6),
.afp-table.afp-events th:nth-child(7),
.afp-table.afp-events td:nth-child(7),
.afp-table.afp-events th:nth-child(8),
.afp-table.afp-events td:nth-child(8){
  text-align:right;
}
.afp-table.afp-events th:nth-child(9),
.afp-table.afp-events td:nth-child(9){
  text-align:right;
}


/* v1.4.7 event detail page */
.afp-table.afp-events th:nth-child(6),
.afp-table.afp-events td:nth-child(6){
  text-align:right;
  white-space:nowrap;
}


/* v1.4.17 event analytics */
.afp-grid-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.afp-chart-card{
  height:280px;
  margin:8px 0 16px;
}
@media (max-width: 1100px){
  .afp-grid-4{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 700px){
  .afp-grid-4{
    grid-template-columns:1fr;
  }
}


/* v1.4.18 event internal accounting */
.afp-event-doc-category,
.afp-field select#afp-event-movement-category{
  width:100%;
  min-width:180px;
}
.afp-event-doc-category{
  border:1px solid #d5dceb;
  border-radius:10px;
  padding:8px 10px;
  background:#fff;
  font-size:12px;
}


/* v1.4.19 event budget */
.afp-budget-table th:nth-child(n+2),
.afp-budget-table td:nth-child(n+2){
  text-align:right;
  white-space:nowrap;
}
#afp-event-budget-form{
  margin-top:12px;
}


/* v1.4.20 budget comparison responsive fix */
.afp-budget-table{
  min-width: 680px;
  table-layout: auto;
}

.afp-budget-table th,
.afp-budget-table td{
  white-space: nowrap;
}

.afp-budget-table th:first-child,
.afp-budget-table td:first-child{
  min-width: 220px;
  white-space: normal;
}

.afp-budget-table th:nth-child(2),
.afp-budget-table td:nth-child(2),
.afp-budget-table th:nth-child(3),
.afp-budget-table td:nth-child(3),
.afp-budget-table th:nth-child(4),
.afp-budget-table td:nth-child(4),
.afp-budget-table th:nth-child(5),
.afp-budget-table td:nth-child(5){
  min-width: 110px;
  text-align: right;
}

.afp-card .afp-table-wrap{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.afp-card .afp-table-wrap .afp-budget-table{
  width: 100%;
}

@media (max-width: 900px){
  .afp-budget-table{
    min-width: 760px;
  }
}


/* v1.4.21 event close */
.afp-alert.warning{
  border:1px solid #f2c94c;
  background:#fff8db;
  color:#7a5b00;
  border-radius:14px;
  padding:12px 14px;
  margin:12px 0 18px;
}
.afp-btn.danger{
  background:#b91c1c;
  color:#fff;
}
.afp-event-doc-category:disabled{
  background:#f3f4f6;
  cursor:not-allowed;
  opacity:.75;
}


/* v1.4.22 close budget fixes */
.afp-budget-list-wrap{
  margin-top:14px;
}
.afp-btn.danger{
  background:#b91c1c;
  color:#fff;
}


/* v1.4.28 visible budget actions */
.afp-budget-actions{
  white-space: nowrap;
  min-width: 130px;
}
.afp-budget-actions .afp-link-btn{
  margin-right: 8px;
}
.afp-link-btn.danger{
  color:#b91c1c;
}


/* v1.4.29 event PDF export */
#afp-export-event-pdf-btn{
  background:#3657d8;
  color:#fff;
}


/* v1.4.38 institutional profile */
.afp-institutional-card{
  margin: 22px 0;
}
.afp-profile-layout{
  display:grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.afp-logo-panel{
  border:1px solid #e1e7f2;
  border-radius:16px;
  padding:16px;
  background:#f8fafc;
}
.afp-logo-preview{
  display:block;
  width:100%;
  max-height:130px;
  object-fit:contain;
  background:#fff;
  border:1px solid #e5eaf4;
  border-radius:12px;
  padding:10px;
  margin-bottom:12px;
}
.afp-logo-placeholder{
  height:130px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #b8c2d6;
  border-radius:12px;
  color:#6b7280;
  background:#fff;
  margin-bottom:12px;
  font-weight:700;
}
@media (max-width: 900px){
  .afp-profile-layout{
    grid-template-columns:1fr;
  }
}


/* v1.4.43 event Excel export */
#afp-export-event-excel-btn{
  border-color:#16a34a;
  color:#166534;
  background:#ecfdf5;
}


/* v1.4.44 responsive top navigation and table optimization */

/* Layout: move the navigation from a left sidebar to a top horizontal bar */
.afp-shell{
  display:grid;
  grid-template-columns:1fr !important;
  grid-template-rows:auto minmax(0,1fr);
  width:100%;
  max-width: none;
  min-height:calc(100vh - 24px);
  border-radius:22px;
  overflow:visible;
}

.afp-sidebar{
  position:sticky;
  top:0;
  z-index:30;
  height:auto !important;
  min-height:0;
  padding:14px 18px;
  display:grid;
  grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  background:linear-gradient(90deg,#0f172a 0%,#111827 65%,#172554 100%);
  border-radius:22px 22px 0 0;
}

.afp-sidebar > div:first-child{
  display:contents;
}

.afp-brand{
  margin:0;
  font-size:18px;
  line-height:1.15;
  white-space:nowrap;
}

.afp-brand-sub{
  font-size:11px;
  margin-top:2px;
}

.afp-userbox{
  margin:0;
  padding:9px 12px;
  border-radius:14px;
  font-size:12px;
  line-height:1.35;
  max-width:260px;
  justify-self:end;
}

.afp-menu{
  display:flex;
  flex-direction:row;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  min-width:0;
  flex:initial;
  padding:2px 0;
}

.afp-menu a{
  flex:0 0 auto;
  padding:9px 12px;
  border-radius:999px;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
}

.afp-sidebar-footer{
  padding:0;
  border-top:0;
  font-size:12px;
  line-height:1.25;
  justify-self:end;
  white-space:nowrap;
  color:#cbd5e1;
}

.afp-main{
  padding:18px;
  overflow:visible;
  background:#f8fbff;
}

.afp-topbar{
  padding:14px 16px;
  border-radius:18px;
  margin-bottom:16px;
}

.afp-topbar-left h1{
  font-size:24px;
}

.afp-view{
  padding:20px;
  border-radius:18px;
}

/* Cards use available width better on 14" screens */
.afp-grid{
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:14px;
  margin-bottom:18px;
}

.afp-card{
  padding:18px;
  border-radius:18px;
}

.afp-stat{
  font-size:28px;
}

/* Tables: compact but readable */
.afp-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}

.afp-table{
  width:100%;
  min-width:1040px;
  table-layout:auto;
}

.afp-table th,
.afp-table td{
  padding:9px 10px;
  font-size:13px;
  line-height:1.25;
  vertical-align:middle;
}

.afp-table th{
  font-size:11px;
  letter-spacing:.025em;
  white-space:nowrap;
}

.afp-table td{
  word-break:normal;
  overflow-wrap:normal;
}

.afp-table td .afp-muted,
.afp-table td .afp-sm{
  font-size:11px;
  line-height:1.25;
}

/* Keep compact/action/status columns readable */
.afp-table th:first-child,
.afp-table td:first-child{
  white-space:nowrap;
}

.afp-table th:last-child,
.afp-table td:last-child,
.afp-budget-actions{
  white-space:nowrap;
}

.afp-status{
  padding:5px 8px;
  font-size:11px;
  white-space:nowrap;
}

.afp-link-btn{
  margin-right:7px;
  white-space:nowrap;
}

.afp-section-header{
  gap:12px;
  margin-bottom:14px;
}

.afp-inline-actions{
  gap:8px;
}

/* Operational tables: optimized widths for large datasets */
.afp-operational{
  min-width:1120px;
}

.afp-operational th,
.afp-operational td{
  font-size:12.5px;
}

.afp-operational th{
  font-size:10.5px;
}

/* Budget comparison tables */
.afp-budget-table{
  min-width:760px;
}

.afp-budget-table th:nth-child(n+2),
.afp-budget-table td:nth-child(n+2){
  text-align:right;
  white-space:nowrap;
}

.afp-budget-table th:first-child,
.afp-budget-table td:first-child{
  min-width:210px;
  white-space:normal;
}

/* Forms and filters should not force tables off screen */
.afp-toolbar{
  gap:10px;
}

.afp-toolbar input{
  min-width:220px;
}

.afp-field input,
.afp-field select,
.afp-field textarea,
.afp-toolbar input,
.afp-toolbar select{
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
}

.afp-btn{
  padding:10px 14px;
  border-radius:12px;
  font-size:13px;
}

/* On larger screens, use the extra space naturally */
@media (min-width:1500px){
  .afp-main{
    padding:24px;
  }
  .afp-table th,
  .afp-table td{
    padding:11px 13px;
    font-size:13.5px;
  }
  .afp-table th{
    font-size:11.5px;
  }
  .afp-view{
    padding:26px;
  }
}

/* On 14" and laptop screens */
@media (max-width:1368px){
  .afp-sidebar{
    grid-template-columns:minmax(170px,auto) minmax(0,1fr);
    grid-template-areas:
      "brand footer"
      "menu menu";
    gap:10px 14px;
  }
  .afp-brand{
    grid-area:brand;
  }
  .afp-menu{
    grid-area:menu;
  }
  .afp-sidebar-footer{
    grid-area:footer;
  }
  .afp-userbox{
    display:none;
  }
  .afp-main{
    padding:14px;
  }
  .afp-grid{
    grid-template-columns:repeat(2,minmax(180px,1fr));
  }
  .afp-table{
    min-width:980px;
  }
  .afp-operational{
    min-width:1060px;
  }
}

/* Smaller screens: keep horizontal top menu and table scroll */
@media (max-width:900px){
  .afp-shell{
    min-height:100vh;
    border-radius:0;
  }
  .afp-sidebar{
    border-radius:0;
    padding:12px;
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "menu"
      "footer";
  }
  .afp-sidebar-footer{
    justify-self:start;
  }
  .afp-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .afp-topbar-right{
    justify-content:flex-start;
  }
  .afp-section-header{
    flex-direction:column;
    align-items:stretch;
  }
  .afp-inline-actions{
    justify-content:flex-start;
  }
  .afp-grid,
  .afp-grid-4,
  .afp-settings-grid{
    grid-template-columns:1fr !important;
  }
  .afp-view{
    padding:14px;
  }
  .afp-table,
  .afp-operational{
    min-width:900px;
  }
}

/* Very small screens */
@media (max-width:640px){
  .afp-main{
    padding:10px;
  }
  .afp-menu a{
    font-size:12px;
    padding:8px 10px;
  }
  .afp-table,
  .afp-operational{
    min-width:820px;
  }
}


/* v1.4.45 centered application and polished top header */

/* Page frame: keep the full application centered with equal side margins */
#afp-root.afp-app{
  --afp-outer-gap: clamp(12px, 2.2vw, 34px);
  --afp-content-max: 1680px;
  width: min(var(--afp-content-max), calc(100vw - (var(--afp-outer-gap) * 2))) !important;
  max-width: var(--afp-content-max) !important;
  margin: var(--afp-outer-gap) auto !important;
  min-height: calc(100vh - (var(--afp-outer-gap) * 2));
}

/* Main shell becomes a centered card with consistent internal rhythm */
.afp-shell{
  width:100% !important;
  max-width:100%;
  margin:0 auto;
  border-radius:24px;
  overflow:hidden;
  background:#f8fbff;
  box-shadow:0 18px 55px rgba(15,23,42,.12);
}

/* Top navigation: two clean rows.
   Row 1 = brand + user/account info.
   Row 2 = horizontal navigation. */
.afp-sidebar{
  position:sticky;
  top:var(--afp-outer-gap);
  z-index:40;
  display:grid !important;
  grid-template-columns:minmax(260px,auto) minmax(0,1fr) auto;
  grid-template-areas:
    "brand user footer"
    "menu menu menu";
  align-items:center;
  gap:12px 18px;
  padding:16px 20px 14px;
  min-height:0;
  height:auto !important;
  border-radius:24px 24px 0 0;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.35), transparent 32%),
    linear-gradient(135deg,#0f172a 0%,#111827 56%,#172554 100%);
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08);
}

/* Allow children inside the first wrapper to participate in the top grid */
.afp-sidebar > div:first-child{
  display:contents;
}

.afp-brand{
  grid-area:brand;
  margin:0;
  font-size:19px;
  line-height:1.12;
  letter-spacing:-.02em;
  white-space:nowrap;
  color:#fff;
}

.afp-brand-sub{
  display:block;
  margin-top:3px;
  color:#b6c7e7;
  font-size:11px;
  font-weight:600;
  letter-spacing:0;
}

.afp-userbox{
  grid-area:user;
  justify-self:end;
  max-width:360px;
  margin:0;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.075);
  color:#e5ecff;
  font-size:12px;
  line-height:1.35;
  text-align:left;
}

.afp-userbox strong{
  color:#fff;
}

.afp-sidebar-footer{
  grid-area:footer;
  justify-self:end;
  margin:0;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:#dbeafe;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
}

/* Horizontal menu with better spacing, readable but compact */
.afp-menu{
  grid-area:menu;
  display:flex !important;
  flex-direction:row !important;
  gap:8px;
  align-items:center;
  justify-content:center;
  min-width:0;
  width:100%;
  padding:4px 0 0;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.28) transparent;
}

.afp-menu::-webkit-scrollbar{
  height:6px;
}

.afp-menu::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.25);
  border-radius:999px;
}

.afp-menu a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:#dbeafe;
  background:rgba(255,255,255,.045);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

.afp-menu a:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

.afp-menu a.active{
  background:#fff;
  border-color:#fff;
  color:#172554;
  box-shadow:0 8px 22px rgba(15,23,42,.22);
}

/* Main application area: centered inside the shell and with consistent margins */
.afp-main{
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:20px;
  overflow:visible;
  background:linear-gradient(180deg,#f8fbff 0%,#eef3fb 100%);
}

/* The page header inside the application should align visually with the app card */
.afp-topbar{
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid #e4ebf6;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}

.afp-topbar-left h1{
  font-size:24px;
  letter-spacing:-.025em;
}

.afp-topbar-sub{
  font-size:13px;
}

/* Content blocks breathe but do not become too wide internally */
.afp-view,
.afp-card,
.afp-table-wrap{
  border:1px solid #e4ebf6;
}

.afp-view{
  border-radius:20px;
  padding:22px;
}

.afp-card{
  border-radius:20px;
}

/* Tables should use the new horizontal space without touching the viewport */
.afp-table-wrap{
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}

.afp-operational{
  min-width:1120px;
}

/* On large screens keep content comfortable, not stretched edge-to-edge */
@media (min-width:1700px){
  #afp-root.afp-app{
    --afp-content-max: 1740px;
  }

  .afp-main{
    padding:24px;
  }
}

/* 14-inch laptop target: keep menu tidy and tables readable */
@media (max-width:1450px){
  #afp-root.afp-app{
    --afp-outer-gap: clamp(10px, 1.5vw, 22px);
  }

  .afp-sidebar{
    grid-template-columns:minmax(220px,auto) minmax(0,1fr) auto;
    gap:10px 14px;
    padding:14px 16px 12px;
  }

  .afp-brand{
    font-size:17px;
  }

  .afp-userbox{
    max-width:280px;
  }

  .afp-sidebar-footer{
    font-size:11.5px;
  }

  .afp-menu{
    justify-content:flex-start;
  }

  .afp-menu a{
    padding:9px 12px;
    font-size:12.5px;
  }

  .afp-main{
    padding:16px;
  }
}

/* Medium screens: put brand/account in one row and menu below */
@media (max-width:1180px){
  .afp-sidebar{
    grid-template-columns:minmax(180px,auto) minmax(0,1fr);
    grid-template-areas:
      "brand footer"
      "menu menu";
  }

  .afp-userbox{
    display:none;
  }

  .afp-sidebar-footer{
    justify-self:end;
  }

  .afp-menu{
    justify-content:flex-start;
  }
}

/* Small screens: preserve centered margins but avoid cramped header */
@media (max-width:760px){
  #afp-root.afp-app{
    width:100% !important;
    margin:0 !important;
    min-height:100vh;
  }

  .afp-shell,
  .afp-sidebar{
    border-radius:0;
  }

  .afp-sidebar{
    top:0;
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "footer"
      "menu";
    padding:12px;
  }

  .afp-sidebar-footer{
    justify-self:start;
  }

  .afp-main{
    padding:12px;
  }

  .afp-topbar{
    padding:14px;
  }

  .afp-view{
    padding:14px;
  }
}


/* v1.4.46 centered viewport overflow fix */

/* The page itself must never become wider than the viewport.
   Wide tables should scroll only inside their own wrappers. */
body.page-slug-associaplus{
  overflow-x:hidden;
}

body.page-slug-associaplus #page,
body.page-slug-associaplus .site,
body.page-slug-associaplus .site-content,
body.page-slug-associaplus .content-area,
body.page-slug-associaplus .entry-content,
body.page-slug-associaplus .wp-block-post-content{
  overflow-x:hidden;
}

/* Use 100% rather than 100vw so browser scrollbars do not create phantom overflow. */
#afp-root.afp-app{
  width: min(var(--afp-content-max, 1680px), calc(100% - (var(--afp-outer-gap, 18px) * 2))) !important;
  max-width: var(--afp-content-max, 1680px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  overflow-x:visible;
}

/* Every structural container must be allowed to shrink. */
.afp-shell,
.afp-main,
.afp-view,
.afp-card,
.afp-topbar,
.afp-section-header,
.afp-settings-grid,
.afp-grid,
.afp-grid-4,
.afp-table-wrap{
  min-width:0;
  max-width:100%;
}

.afp-shell{
  overflow:hidden;
}

.afp-main{
  overflow-x:hidden;
}

.afp-view,
.afp-card{
  overflow:visible;
}

/* Wide content scrolls only here. */
.afp-table-wrap{
  overflow-x:auto !important;
  overflow-y:visible;
}

/* Header/menu must not force the app wider than the screen on 15" laptops. */
.afp-sidebar{
  max-width:100%;
  min-width:0;
}

.afp-menu{
  min-width:0;
  max-width:100%;
}

.afp-sidebar-footer,
.afp-brand,
.afp-userbox{
  min-width:0;
}

/* Laptop and 15" screens: simplify the top bar so it fits the viewport cleanly. */
@media (max-width:1500px){
  #afp-root.afp-app{
    --afp-outer-gap: clamp(10px, 1.2vw, 18px);
    width: calc(100% - (var(--afp-outer-gap) * 2)) !important;
  }

  .afp-sidebar{
    grid-template-columns:minmax(170px,auto) minmax(0,1fr);
    grid-template-areas:
      "brand footer"
      "menu menu";
    gap:10px 14px;
  }

  .afp-userbox{
    display:none !important;
  }

  .afp-sidebar-footer{
    justify-self:end;
    max-width:240px;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .afp-menu{
    justify-content:flex-start;
  }

  .afp-main{
    padding:14px;
  }

  .afp-view{
    padding:18px;
  }
}

/* Narrow laptops: give the menu the whole width and keep account info compact. */
@media (max-width:1368px){
  #afp-root.afp-app{
    --afp-outer-gap: 10px;
    width: calc(100% - 20px) !important;
  }

  .afp-sidebar{
    padding:12px 14px;
  }

  .afp-brand{
    font-size:16px;
  }

  .afp-brand-sub{
    font-size:10.5px;
  }

  .afp-sidebar-footer{
    font-size:11px;
    padding:8px 10px;
    max-width:210px;
  }

  .afp-menu a{
    font-size:12px;
    padding:8px 10px;
  }

  .afp-topbar{
    padding:14px;
  }

  .afp-topbar-left h1{
    font-size:22px;
  }
}

/* When space becomes tight, stack the brand and account info instead of creating page overflow. */
@media (max-width:1080px){
  .afp-sidebar{
    grid-template-columns:1fr;
    grid-template-areas:
      "brand"
      "footer"
      "menu";
  }

  .afp-sidebar-footer{
    justify-self:start;
    max-width:100%;
  }
}


/* v1.4.47 pagination for expenses and revenues */
.afp-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:12px 0 20px;
  padding:12px 14px;
  border:1px solid #e4ebf6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.afp-pagination-info{
  color:#64748b;
  font-size:13px;
  font-weight:700;
}

.afp-pagination-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.afp-page-current{
  color:#0f172a;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.afp-page-btn[disabled]{
  opacity:.45;
  cursor:not-allowed;
}

@media (max-width:700px){
  .afp-pagination{
    align-items:flex-start;
    flex-direction:column;
  }

  .afp-pagination-controls{
    justify-content:flex-start;
  }
}


/* v1.4.48 global account actions in top header */
.afp-global-actions{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}

.afp-account-summary{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.afp-badge-header{
  background:#dcfce7;
  color:#166534;
  border:1px solid rgba(22,101,52,.16);
  box-shadow:none;
  white-space:nowrap;
}

.afp-plan-name{
  color:#dbeafe;
  font-size:12px;
  font-weight:700;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.afp-header-logout{
  background:rgba(255,255,255,.96) !important;
  color:#0f172a !important;
  border-color:rgba(255,255,255,.35) !important;
  padding:8px 12px;
  min-height:34px;
}

.afp-header-logout:hover{
  background:#fff !important;
}

.afp-module-topbar{
  justify-content:flex-start;
}

.afp-module-topbar .afp-topbar-left{
  min-width:0;
}

@media (max-width:1500px){
  .afp-global-actions{
    justify-self:end;
  }

  .afp-plan-name{
    max-width:120px;
  }

  .afp-header-logout{
    padding:8px 11px;
  }
}

@media (max-width:1180px){
  .afp-global-actions{
    justify-self:start;
    width:100%;
    justify-content:space-between;
  }

  .afp-account-summary{
    max-width:calc(100% - 70px);
  }

  .afp-plan-name{
    max-width:180px;
  }
}

@media (max-width:640px){
  .afp-global-actions{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .afp-account-summary{
    max-width:100%;
  }

  .afp-header-logout{
    width:auto;
  }
}


/* v1.4.49 dashboard chart containment and dynamic brand */

/* The association name can be longer than "Finance Platform"; keep it elegant in the header. */
.afp-brand{
  min-width:0;
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.afp-brand-sub{
  white-space:normal;
}

/* Dashboard charts must stay inside their cards, especially on 14/15" screens. */
.afp-chart-card,
.afp-card:has(canvas){
  min-width:0;
  overflow:hidden;
}

.afp-card canvas{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:280px !important;
  max-height:280px !important;
}

.afp-card .chartjs-render-monitor{
  max-width:100% !important;
}

/* If the dashboard uses grid cards, do not let a chart define the grid width. */
.afp-grid .afp-card{
  min-width:0;
}

/* Chart cards should occupy available width but never overflow the content area. */
.afp-dashboard-chart,
.afp-dashboard-chart-wrap,
.afp-chart-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}

@media (max-width:1368px){
  .afp-brand{
    max-width:300px;
  }

  .afp-card canvas{
    height:240px !important;
    max-height:240px !important;
  }
}

@media (max-width:900px){
  .afp-brand{
    max-width:100%;
  }

  .afp-card canvas{
    height:220px !important;
    max-height:220px !important;
  }
}


/* v1.4.50 dashboard chart visible bottom fix */

/* Previous containment fixed horizontal overflow, but the fixed canvas height could clip
   the lower labels/legend. Give dashboard chart cards a proper internal chart area. */
.afp-card:has(#afp-dashboard-line-chart),
.afp-card:has(#afp-dashboard-donut-chart){
  overflow:visible;
}

#afp-dashboard-line-chart,
#afp-dashboard-donut-chart{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:320px !important;
  max-height:none !important;
  box-sizing:border-box;
}

/* Keep enough breathing room below charts so axis labels/legend are visible. */
.afp-card:has(#afp-dashboard-line-chart),
.afp-card:has(#afp-dashboard-donut-chart){
  padding-bottom:26px;
}

/* Limit only horizontal overflow at the parent level, not vertical content. */
.afp-dashboard-chart,
.afp-dashboard-chart-wrap,
.afp-chart-wrap{
  overflow-x:hidden;
  overflow-y:visible;
}

@media (max-width:1368px){
  #afp-dashboard-line-chart,
  #afp-dashboard-donut-chart{
    height:300px !important;
  }
}

@media (max-width:900px){
  #afp-dashboard-line-chart,
  #afp-dashboard-donut-chart{
    height:280px !important;
  }
}


/* v1.4.50 override generic chart max-height rule for dashboard charts */
.afp-card canvas#afp-dashboard-line-chart,
.afp-card canvas#afp-dashboard-donut-chart{
  max-height:none !important;
}


/* v1.4.51 dashboard chart card height fix */

/* Increase the chart card height so the dashboard graph stays fully inside the card. */
.afp-card:has(#afp-dashboard-line-chart),
.afp-card:has(#afp-dashboard-donut-chart){
  min-height: 430px;
  padding-bottom: 30px;
  overflow: visible;
  display: flex;
  flex-direction: column;
}

#afp-dashboard-line-chart,
#afp-dashboard-donut-chart{
  flex: 0 0 auto;
}

@media (max-width:1368px){
  .afp-card:has(#afp-dashboard-line-chart),
  .afp-card:has(#afp-dashboard-donut-chart){
    min-height: 400px;
  }
}

@media (max-width:900px){
  .afp-card:has(#afp-dashboard-line-chart),
  .afp-card:has(#afp-dashboard-donut-chart){
    min-height: 370px;
  }
}


/* v1.4.57 event comparison dashboard */
.afp-event-comparison{
  margin: 18px 0 26px;
}

.afp-event-comparison-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}

.afp-event-comparison-head h3{
  margin:0 0 6px;
  color:#0f172a;
  font-size:18px;
}

.afp-event-comparison-summary{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-event-comparison-summary span{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:8px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.afp-event-rank-grid{
  margin-bottom:16px;
}

.afp-event-rank-card{
  padding:18px;
}

.afp-event-rank-card h3{
  margin-bottom:12px;
}

.afp-rank-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.afp-rank-row{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:8px;
  border-radius:12px;
  background:#f8fafc;
}

.afp-rank-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#dbeafe;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
}

.afp-rank-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  color:#0f172a;
}

.afp-rank-row strong{
  font-size:13px;
  white-space:nowrap;
}

.afp-event-comparison-table{
  min-width:1180px;
}

.afp-event-comparison-table th:nth-child(n+2),
.afp-event-comparison-table td:nth-child(n+2){
  text-align:right;
  white-space:nowrap;
}

.afp-positive{
  color:#166534;
  font-weight:800;
}

.afp-negative{
  color:#b91c1c;
  font-weight:800;
}

.afp-events-list-title{
  margin-top:26px;
}

@media (max-width:1368px){
  .afp-event-comparison-head{
    flex-direction:column;
  }

  .afp-event-comparison-summary{
    justify-content:flex-start;
  }
}


/* v1.4.58 event associated documents open action */
.afp-event-doc-category{
  max-width:190px;
}
.afp-events .afp-link-btn,
.afp-operational .afp-link-btn{
  white-space:nowrap;
}


/* v1.4.59 association logo in header */
.afp-brand-wrap{
  grid-area:brand;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.afp-header-logo,
.afp-header-logo-placeholder{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 8px 24px rgba(15,23,42,.18);
}

.afp-header-logo{
  object-fit:contain;
  padding:5px;
}

.afp-header-logo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#1e3a8a;
  font-size:18px;
  font-weight:900;
}

.afp-brand-wrap .afp-brand{
  grid-area:auto;
  min-width:0;
  max-width:420px;
}

@media (max-width:1450px){
  .afp-header-logo,
  .afp-header-logo-placeholder{
    width:40px;
    height:40px;
    border-radius:12px;
  }

  .afp-brand-wrap{
    gap:10px;
  }

  .afp-brand-wrap .afp-brand{
    max-width:320px;
  }
}

@media (max-width:760px){
  .afp-brand-wrap{
    align-items:flex-start;
  }

  .afp-header-logo,
  .afp-header-logo-placeholder{
    width:38px;
    height:38px;
  }

  .afp-brand-wrap .afp-brand{
    max-width:100%;
  }
}


/* v1.4.60 larger association logo in header */
.afp-header-logo,
.afp-header-logo-placeholder{
  width:58px;
  height:58px;
  border-radius:16px;
}

.afp-header-logo{
  padding:6px;
}

.afp-header-logo-placeholder{
  font-size:22px;
}

.afp-brand-wrap{
  gap:14px;
}

@media (max-width:1450px){
  .afp-header-logo,
  .afp-header-logo-placeholder{
    width:52px;
    height:52px;
    border-radius:15px;
  }

  .afp-brand-wrap{
    gap:12px;
  }
}

@media (max-width:760px){
  .afp-header-logo,
  .afp-header-logo-placeholder{
    width:46px;
    height:46px;
    border-radius:14px;
  }
}


/* v1.4.61 event detail visual polish */
.afp-event-detail-view{
  background:linear-gradient(180deg,#ffffff 0%, #fcfdff 100%);
}

.afp-event-detail-view > .afp-card,
.afp-event-detail-view > .afp-grid,
.afp-event-detail-view > .afp-section-header,
.afp-event-detail-view > .afp-alert{
  margin-bottom:24px;
}

.afp-event-detail-view > .afp-card:last-child,
.afp-event-detail-view > .afp-grid:last-child{
  margin-bottom:0;
}

.afp-event-detail-view > .afp-card{
  position:relative;
  border:1px solid #e6edf7;
  border-radius:22px;
  padding:26px;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}

.afp-event-detail-view > .afp-card::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#2563eb 0%, #60a5fa 100%);
}

.afp-event-detail-view > .afp-card > h3{
  margin:0 0 8px 0;
  padding-bottom:12px;
  border-bottom:1px solid #e8eef7;
  font-size:18px;
  line-height:1.25;
  color:#0f172a;
}

.afp-event-detail-view > .afp-card > .afp-muted{
  display:block;
  margin:0 0 18px 0;
}

.afp-event-detail-view .afp-grid{
  gap:18px;
}

.afp-event-detail-view .afp-grid .afp-card{
  border:1px solid #ecf1f7;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.afp-event-detail-view .afp-table-wrap{
  margin-top:16px;
  border:1px solid #edf2f8;
  border-radius:18px;
  overflow:auto;
  background:#fff;
}

.afp-event-detail-view .afp-chart-card{
  margin-top:8px;
  margin-bottom:12px;
  padding:12px;
  border:1px solid #edf2f8;
  border-radius:18px;
  background:#fafcff;
}

.afp-event-detail-view .afp-kv{
  margin-top:18px;
  padding-top:2px;
}

.afp-event-detail-view .afp-kv-item{
  border:1px solid #edf2f8;
  border-radius:16px;
  padding:14px 16px;
  background:#fbfdff;
}

.afp-event-detail-view form{
  margin-top:8px;
}

.afp-event-detail-view .afp-form-grid{
  gap:16px;
}

.afp-event-detail-view .afp-inline-actions{
  margin-top:16px;
}

.afp-event-detail-view .afp-section-header{
  padding-bottom:10px;
  border-bottom:1px solid #ebf0f6;
}

.afp-event-detail-view .afp-section-header h2{
  margin-bottom:6px;
}

.afp-event-detail-view .afp-stat{
  font-size:30px;
}

@media (max-width: 1100px){
  .afp-event-detail-view > .afp-card{
    padding:22px;
  }

  .afp-event-detail-view > .afp-card::before{
    top:14px;
    bottom:14px;
  }
}

@media (max-width: 760px){
  .afp-event-detail-view > .afp-card{
    padding:18px;
    border-radius:18px;
  }

  .afp-event-detail-view > .afp-card::before{
    width:3px;
  }

  .afp-event-detail-view > .afp-card > h3{
    font-size:17px;
    padding-bottom:10px;
  }

  .afp-event-detail-view > .afp-card,
  .afp-event-detail-view > .afp-grid,
  .afp-event-detail-view > .afp-section-header,
  .afp-event-detail-view > .afp-alert{
    margin-bottom:18px;
  }
}


/* v1.4.62 uniform event detail spacing */
.afp-event-detail-view{
  --afp-event-gap: 24px;
}

.afp-event-detail-view > .afp-section-header,
.afp-event-detail-view > .afp-alert,
.afp-event-detail-view > .afp-grid,
.afp-event-detail-view > .afp-settings-grid,
.afp-event-detail-view > .afp-card{
  margin-top:0;
  margin-bottom:var(--afp-event-gap) !important;
}

.afp-event-detail-view > .afp-section-header:last-child,
.afp-event-detail-view > .afp-alert:last-child,
.afp-event-detail-view > .afp-grid:last-child,
.afp-event-detail-view > .afp-settings-grid:last-child,
.afp-event-detail-view > .afp-card:last-child{
  margin-bottom:0 !important;
}

.afp-event-detail-view .afp-grid,
.afp-event-detail-view .afp-settings-grid{
  gap:var(--afp-event-gap) !important;
}

.afp-event-detail-view .afp-card > .afp-table-wrap,
.afp-event-detail-view .afp-card > .afp-chart-card{
  margin-top:18px;
}

.afp-event-detail-view .afp-card > form + .afp-table-wrap,
.afp-event-detail-view .afp-card > form + .afp-budget-list-wrap{
  margin-top:22px;
}

.afp-event-detail-view .afp-table-wrap + .afp-table-wrap,
.afp-event-detail-view .afp-chart-card + .afp-table-wrap{
  margin-top:18px;
}

@media (max-width: 760px){
  .afp-event-detail-view{
    --afp-event-gap: 18px;
  }
}


/* v1.4.63 ticketing module */
.afp-ticketing-view .afp-card{
  border:1px solid #e6edf7;
}
.afp-ticketing-view .afp-settings-grid{
  align-items:start;
  margin-bottom:24px;
}
.afp-ticketing-view .afp-card > h3{
  color:#0f172a;
  font-size:17px;
}
.afp-ticket-types-table,
.afp-ticket-sales-table{
  min-width:1080px;
}
.afp-ticket-types-table th:nth-child(n+3),
.afp-ticket-types-table td:nth-child(n+3),
.afp-ticket-sales-table th:nth-child(4),
.afp-ticket-sales-table td:nth-child(4),
.afp-ticket-sales-table th:nth-child(5),
.afp-ticket-sales-table td:nth-child(5),
.afp-ticket-sales-table th:nth-child(8),
.afp-ticket-sales-table td:nth-child(8){
  white-space:nowrap;
  text-align:right;
}
.afp-ticket-status-select{
  min-width:120px;
  border:1px solid #d5dceb;
  border-radius:10px;
  padding:7px 9px;
  background:#fff;
}


/* v1.4.64 ticketing v2 */
.afp-ticketing-view > .afp-card,
.afp-ticketing-view > .afp-grid,
.afp-ticketing-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-ticketing-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-ticketing-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-ticketing-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-ticketing-toolbar{
  align-items:center;
}

.afp-ticketing-toolbar select{
  min-width:180px;
}

.afp-ticketing-toolbar input{
  min-width:260px;
}

.afp-ticket-status-select{
  min-width:118px;
  padding:8px 10px;
  border:1px solid #d5dceb;
  border-radius:12px;
  background:#fff;
  font-size:12px;
  font-weight:700;
}

.afp-status.cancelled{
  background:#f1f5f9;
  color:#475569;
}

.afp-ticket-types-table th:nth-child(n+3),
.afp-ticket-types-table td:nth-child(n+3),
.afp-ticket-sales-table th:nth-child(4),
.afp-ticket-sales-table td:nth-child(4),
.afp-ticket-sales-table th:nth-child(5),
.afp-ticket-sales-table td:nth-child(5),
.afp-ticket-sales-table th:nth-child(8),
.afp-ticket-sales-table td:nth-child(8){
  text-align:right;
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-ticketing-filter-card .afp-card-head{
    flex-direction:column;
  }

  .afp-ticketing-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.66 ticketing sessions and public links */
.afp-ticketing-view > .afp-card,
.afp-ticketing-view > .afp-grid,
.afp-ticketing-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-ticketing-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-ticketing-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-ticketing-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-ticketing-toolbar{
  align-items:center;
}

.afp-ticketing-toolbar select{
  min-width:180px;
}

.afp-ticketing-toolbar input{
  min-width:260px;
}

.afp-ticket-status-select{
  min-width:118px;
  padding:8px 10px;
  border:1px solid #d5dceb;
  border-radius:12px;
  background:#fff;
  font-size:12px;
  font-weight:700;
}

.afp-status.cancelled{
  background:#f1f5f9;
  color:#475569;
}

.afp-ticket-sessions-table,
.afp-ticket-types-table,
.afp-ticket-sales-table{
  min-width:1180px;
}

.afp-ticket-sessions-table th:nth-child(n+4),
.afp-ticket-sessions-table td:nth-child(n+4),
.afp-ticket-types-table th:nth-child(n+4),
.afp-ticket-types-table td:nth-child(n+4),
.afp-ticket-sales-table th:nth-child(5),
.afp-ticket-sales-table td:nth-child(5),
.afp-ticket-sales-table th:nth-child(6),
.afp-ticket-sales-table td:nth-child(6),
.afp-ticket-sales-table th:nth-child(9),
.afp-ticket-sales-table td:nth-child(9){
  text-align:right;
  white-space:nowrap;
}

.afp-ticket-sessions-table th:last-child,
.afp-ticket-sessions-table td:last-child,
.afp-ticket-types-table th:last-child,
.afp-ticket-types-table td:last-child,
.afp-ticket-sales-table th:last-child,
.afp-ticket-sales-table td:last-child{
  text-align:left;
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-ticketing-filter-card .afp-card-head{
    flex-direction:column;
  }

  .afp-ticketing-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.67 ticketing public event links */
.afp-ticket-event-links-table{
  min-width:760px;
}

.afp-ticket-event-links-table th:nth-child(2),
.afp-ticket-event-links-table td:nth-child(2),
.afp-ticket-event-links-table th:nth-child(3),
.afp-ticket-event-links-table td:nth-child(3){
  text-align:right;
  white-space:nowrap;
}

.afp-ticket-event-links-table th:last-child,
.afp-ticket-event-links-table td:last-child{
  white-space:nowrap;
}


/* v1.4.69 ticketing per-person limit */
.afp-ticket-sessions-table{
  min-width:1260px;
}
.afp-ticket-sessions-table th:nth-child(5),
.afp-ticket-sessions-table td:nth-child(5),
.afp-ticket-sessions-table th:nth-child(6),
.afp-ticket-sessions-table td:nth-child(6),
.afp-ticket-sessions-table th:nth-child(7),
.afp-ticket-sessions-table td:nth-child(7){
  text-align:right;
  white-space:nowrap;
}


/* v1.4.71 members and dues module */
.afp-members-view > .afp-card,
.afp-members-view > .afp-grid,
.afp-members-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-members-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-members-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-members-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-members-toolbar{
  align-items:center;
}

.afp-members-toolbar select{
  min-width:180px;
}

.afp-members-toolbar input{
  min-width:260px;
}

.afp-members-table{
  min-width:1080px;
}

.afp-member-dues-table,
.afp-member-fees-table{
  min-width:760px;
}

.afp-members-table th:nth-child(6),
.afp-members-table td:nth-child(6),
.afp-members-table th:nth-child(7),
.afp-members-table td:nth-child(7),
.afp-member-dues-table th:nth-child(5),
.afp-member-dues-table td:nth-child(5),
.afp-member-fees-table th:nth-child(2),
.afp-member-fees-table td:nth-child(2){
  text-align:right;
  white-space:nowrap;
}

.afp-members-table th:last-child,
.afp-members-table td:last-child,
.afp-member-dues-table th:last-child,
.afp-member-dues-table td:last-child,
.afp-member-fees-table th:last-child,
.afp-member-fees-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-members-filter-card .afp-card-head{
    flex-direction:column;
  }

  .afp-members-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.72 members module submenus */
.afp-members-view-v2 .afp-members-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
  padding:8px;
  border:1px solid #e6edf7;
  border-radius:18px;
  background:#f8fbff;
}

.afp-members-tab{
  border:0;
  background:transparent;
  color:#475569;
  padding:10px 14px;
  border-radius:14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}

.afp-members-tab:hover{
  background:#eef4ff;
  color:#1e3a8a;
}

.afp-members-tab.active{
  background:#2563eb;
  color:#fff;
  box-shadow:0 8px 22px rgba(37,99,235,.20);
}

.afp-members-view-v2 > .afp-card,
.afp-members-view-v2 > .afp-grid,
.afp-members-view-v2 > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-member-mini-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.afp-member-mini-stats > div{
  padding:14px;
  border:1px solid #edf2f8;
  border-radius:16px;
  background:#fbfdff;
}

.afp-member-mini-stats span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  margin-bottom:6px;
}

.afp-member-mini-stats strong{
  display:block;
  color:#0f172a;
  font-size:22px;
  font-weight:900;
}

.afp-member-dues-all-table{
  min-width:980px;
}

.afp-member-dues-all-table th:nth-child(5),
.afp-member-dues-all-table td:nth-child(5){
  text-align:right;
  white-space:nowrap;
}

@media (max-width:760px){
  .afp-members-view-v2 .afp-members-tabs{
    gap:6px;
    padding:6px;
  }

  .afp-members-tab{
    flex:1 1 auto;
    padding:9px 10px;
  }

  .afp-member-mini-stats{
    grid-template-columns:1fr;
  }
}


/* v1.4.73 member detail and quota history */
.afp-member-detail-hero{
  border:1px solid #e3ebf6;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.afp-member-detail-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.afp-member-detail-head h3{
  margin:8px 0 4px;
  font-size:24px;
  letter-spacing:-.02em;
}

.afp-member-number-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#dbeafe;
  color:#1e3a8a;
  font-size:12px;
  font-weight:900;
}

.afp-member-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.afp-member-detail-grid > div,
.afp-member-detail-address{
  padding:14px;
  border:1px solid #edf2f8;
  border-radius:16px;
  background:#fff;
}

.afp-member-detail-grid span,
.afp-member-detail-address span{
  display:block;
  margin-bottom:5px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

.afp-member-detail-grid strong,
.afp-member-detail-address strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  font-weight:800;
  overflow-wrap:anywhere;
}

.afp-member-detail-address{
  margin-top:12px;
}

.afp-member-detail-notes{
  margin-top:12px;
  padding:14px;
  border-radius:16px;
  background:#f8fafc;
  color:#475569;
  line-height:1.45;
}

@media (max-width:960px){
  .afp-member-detail-head{
    flex-direction:column;
  }

  .afp-member-detail-grid{
    grid-template-columns:1fr;
  }
}


/* v1.4.75 members import/export, email receipts and pagination */
.afp-member-import-table{
  min-width:900px;
}

.afp-members-view .afp-pagination{
  margin-top:16px;
}

.afp-members-view .afp-alert.warning{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
  font-size:13px;
  font-weight:700;
}

.afp-members-view input[type="file"]{
  padding:10px;
  background:#fff;
}

.afp-member-dues-all-table td:last-child .afp-link-btn,
.afp-member-dues-table td:last-child .afp-link-btn{
  margin-right:6px;
  margin-bottom:4px;
}


/* v1.4.77 association email sender settings */
.afp-institutional-card input[name="email_sender_email"],
.afp-institutional-card input[name="email_reply_to"]{
  font-family:Arial, Helvetica, sans-serif;
}


/* v1.4.79 member portal, cards and automatic emails */
.afp-member-detail-head .afp-inline-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-members-table td:last-child .afp-link-btn{
  margin-right:5px;
  margin-bottom:4px;
}


/* v1.4.80 rentals module */
.afp-rentals-view > .afp-card,
.afp-rentals-view > .afp-grid,
.afp-rentals-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-rentals-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-rentals-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-rentals-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-rentals-toolbar select{
  min-width:180px;
}

.afp-rentals-toolbar input{
  min-width:260px;
}

.afp-rentals-table{
  min-width:1180px;
}

.afp-rental-spaces-table{
  min-width:900px;
}

.afp-rentals-table th:nth-child(5),
.afp-rentals-table td:nth-child(5),
.afp-rental-spaces-table th:nth-child(2),
.afp-rental-spaces-table td:nth-child(2),
.afp-rental-spaces-table th:nth-child(4),
.afp-rental-spaces-table td:nth-child(4){
  text-align:right;
  white-space:nowrap;
}

.afp-rentals-table th:last-child,
.afp-rentals-table td:last-child,
.afp-rental-spaces-table th:last-child,
.afp-rental-spaces-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-rentals-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-rentals-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.81 rentals v2: public links, equipment, deposits, contracts */
.afp-rental-equipment-select-table{
  min-width:620px;
}

.afp-rental-equipment-select-table input{
  min-width:110px;
}

.afp-rental-equipment-table,
.afp-rental-calendar-table{
  min-width:760px;
}

.afp-rental-equipment-table th:nth-child(2),
.afp-rental-equipment-table td:nth-child(2),
.afp-rental-equipment-table th:nth-child(3),
.afp-rental-equipment-table td:nth-child(3){
  text-align:right;
  white-space:nowrap;
}

.afp-rentals-table th:nth-child(8),
.afp-rentals-table td:nth-child(8){
  white-space:nowrap;
}

.afp-rentals-table td:last-child .afp-link-btn,
.afp-rental-spaces-table td:last-child .afp-link-btn,
.afp-rental-equipment-table td:last-child .afp-link-btn{
  margin-right:5px;
  margin-bottom:4px;
}


/* v1.4.84 inventory / patrimony module */
.afp-inventory-view > .afp-card,
.afp-inventory-view > .afp-grid{
  margin-bottom:22px;
}

.afp-inventory-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-inventory-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-inventory-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-inventory-toolbar select{
  min-width:180px;
}

.afp-inventory-toolbar input{
  min-width:260px;
}

.afp-inventory-table{
  min-width:1160px;
}

.afp-inventory-table th:nth-child(4),
.afp-inventory-table td:nth-child(4),
.afp-inventory-table th:nth-child(5),
.afp-inventory-table td:nth-child(5){
  text-align:right;
  white-space:nowrap;
}

.afp-inventory-table th:last-child,
.afp-inventory-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-inventory-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-inventory-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.85 tasks / teams module */
.afp-tasks-view > .afp-card,
.afp-tasks-view > .afp-grid{
  margin-bottom:22px;
}

.afp-tasks-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-tasks-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-tasks-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-tasks-toolbar select{
  min-width:170px;
}

.afp-tasks-toolbar input{
  min-width:240px;
}

.afp-tasks-table{
  min-width:1120px;
}

.afp-tasks-table th:nth-child(8),
.afp-tasks-table td:nth-child(8){
  text-align:right;
  white-space:nowrap;
}

.afp-tasks-table th:last-child,
.afp-tasks-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-tasks-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-tasks-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.86 communications / newsletters module */
.afp-communications-view > .afp-card,
.afp-communications-view > .afp-grid,
.afp-communications-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-communications-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-communications-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-communications-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-communications-toolbar select{
  min-width:170px;
}

.afp-communications-toolbar input{
  min-width:260px;
}

.afp-communication-contacts-table,
.afp-communication-campaigns-table{
  min-width:980px;
}

.afp-communication-contacts-table th:last-child,
.afp-communication-contacts-table td:last-child,
.afp-communication-campaigns-table th:last-child,
.afp-communication-campaigns-table td:last-child{
  white-space:nowrap;
}

.afp-communication-campaigns-table th:nth-child(5),
.afp-communication-campaigns-table td:nth-child(5){
  text-align:right;
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-communications-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-communications-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.87 grants / subsidies module */
.afp-grants-view > .afp-card,
.afp-grants-view > .afp-grid{
  margin-bottom:22px;
}

.afp-grants-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-grants-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-grants-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-grants-toolbar select{
  min-width:180px;
}

.afp-grants-toolbar input{
  min-width:260px;
}

.afp-grants-table{
  min-width:1220px;
}

.afp-grants-table th:nth-child(4),
.afp-grants-table td:nth-child(4){
  text-align:right;
  white-space:nowrap;
}

.afp-grants-table th:last-child,
.afp-grants-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-grants-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-grants-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.88 archive / documents module */
.afp-archive-view > .afp-card,
.afp-archive-view > .afp-grid{
  margin-bottom:22px;
}

.afp-archive-filter-card .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}

.afp-archive-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-archive-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.afp-archive-toolbar select{
  min-width:180px;
}

.afp-archive-toolbar input{
  min-width:260px;
}

.afp-archive-table{
  min-width:1060px;
}

.afp-archive-table th:last-child,
.afp-archive-table td:last-child{
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-archive-filter-card .afp-card-head{
    flex-direction:column;
  }
  .afp-archive-filter-summary{
    justify-content:flex-start;
  }
}


/* v1.4.89 public portal module */
.afp-portal-view > .afp-card,
.afp-portal-view > .afp-grid,
.afp-portal-view > .afp-settings-grid{
  margin-bottom:22px;
}

.afp-portal-table{
  min-width:980px;
}

.afp-portal-table th:nth-child(5),
.afp-portal-table td:nth-child(5){
  text-align:right;
  white-space:nowrap;
}

.afp-portal-table th:last-child,
.afp-portal-table td:last-child{
  white-space:nowrap;
}

.afp-portal-table td:first-child .afp-muted{
  max-width:420px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* v1.4.90 PWA / mobile app install */
.afp-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.afp-topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.afp-install-app-btn{
  white-space:nowrap;
}

@media (max-width:760px){
  .afp-topbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .afp-topbar-actions{
    width:100%;
    justify-content:flex-start;
  }
  .afp-install-app-btn{
    width:auto;
  }
}


/* v1.4.94 event detail tabs, exhibitors and sponsors */
.afp-event-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 0 18px;
  padding:10px;
  border:1px solid #dbe3ef;
  border-radius:18px;
  background:#f8fbff;
}

.afp-event-tab{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  font-size:13px;
  background:#eef3ff;
  color:#1e3a8a;
  cursor:pointer;
}

.afp-event-tab.active{
  background:#1d4ed8;
  color:#fff;
  box-shadow:0 8px 20px rgba(29,78,216,.22);
}

.afp-event-tab-hidden{
  display:none!important;
}

.afp-event-exhibitors-panel,
.afp-event-sponsors-panel{
  border-top:4px solid #1d4ed8;
}

.afp-event-exhibitors-panel form,
.afp-event-sponsors-panel form{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e2e8f0;
}

@media(max-width:760px){
  .afp-event-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:8px;
  }
  .afp-event-tab{
    white-space:nowrap;
  }
}


/* v1.4.95 communication / social networks */
.afp-communication-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:14px 0 20px;
  padding:10px;
  border:1px solid #dbe3ef;
  border-radius:18px;
  background:#f8fbff;
}

.afp-communication-tab{
  border:0;
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  font-size:13px;
  background:#eef3ff;
  color:#1e3a8a;
  cursor:pointer;
}

.afp-communication-tab.active{
  background:#1d4ed8;
  color:#fff;
  box-shadow:0 8px 20px rgba(29,78,216,.22);
}

.afp-communication-tab-hidden{
  display:none!important;
}

.afp-social-panel,
.afp-social-templates-panel{
  border-top:4px solid #1d4ed8;
}

.afp-social-generate-box{
  margin:16px 0;
  padding:14px;
  border:1px dashed #bfd2ff;
  background:#f8fbff;
  border-radius:16px;
}

.afp-social-generate-box h4{
  margin:0 0 10px;
}

.afp-social-content-preview{
  max-width:420px;
  max-height:90px;
  overflow:auto;
  white-space:pre-wrap;
  color:#334155;
  font-size:13px;
}

.afp-social-posts-table{
  min-width:1080px;
}

@media(max-width:760px){
  .afp-communication-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:8px;
  }
  .afp-communication-tab{
    white-space:nowrap;
  }
}


/* v1.4.96 social editorial calendar */
.afp-social-calendar-panel .afp-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.afp-social-calendar-title{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  text-transform:capitalize;
}

.afp-social-calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
  margin-bottom:8px;
}

.afp-social-calendar-weekdays div{
  text-align:center;
  font-weight:900;
  color:#64748b;
  font-size:12px;
  text-transform:uppercase;
}

.afp-social-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}

.afp-social-calendar-day{
  min-height:150px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  padding:10px;
  overflow:hidden;
}

.afp-social-calendar-day.empty{
  background:#f8fafc;
  border-style:dashed;
}

.afp-social-calendar-day.today{
  border-color:#1d4ed8;
  box-shadow:0 0 0 2px rgba(29,78,216,.08);
}

.afp-social-calendar-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}

.afp-social-calendar-items{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.afp-social-calendar-item{
  border-radius:12px;
  padding:8px;
  background:#f8fbff;
  border-left:4px solid #93c5fd;
}

.afp-social-calendar-item.published{
  border-left-color:#16a34a;
  background:#f0fdf4;
}

.afp-social-calendar-item.cancelled{
  border-left-color:#ef4444;
  background:#fff1f2;
}

.afp-social-calendar-item.scheduled{
  border-left-color:#f59e0b;
  background:#fffbeb;
}

.afp-social-calendar-item-title{
  font-size:12px;
  font-weight:900;
  color:#0f172a;
  line-height:1.2;
}

.afp-social-calendar-item-meta{
  font-size:11px;
  color:#64748b;
  margin-top:3px;
}

.afp-social-calendar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-top:5px;
}

.afp-social-calendar-actions .afp-link-btn{
  font-size:11px;
}

.afp-social-calendar-empty{
  color:#94a3b8;
  font-size:12px;
  padding:8px 0;
}

@media(max-width:1000px){
  .afp-social-calendar-grid,
  .afp-social-calendar-weekdays{
    min-width:900px;
  }
  .afp-social-calendar-panel{
    overflow:auto;
  }
}

@media(max-width:760px){
  .afp-social-calendar-panel .afp-card-head{
    flex-direction:column;
  }
}


/* v1.4.98 communication directly inside event detail */
.afp-event-communication-panel{
  border-top:4px solid #1d4ed8;
}

.afp-event-communication-panel .afp-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.afp-event-social-posts-table{
  min-width:980px;
}

.afp-event-communication-panel form{
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e2e8f0;
}

@media(max-width:760px){
  .afp-event-communication-panel .afp-card-head{
    flex-direction:column;
  }
}

/* v1.5.00 fluid navigation/performance */
.afp-main{
  position:relative;
}

.afp-main > .afp-view,
.afp-main > .afp-grid,
.afp-main > .afp-dashboard-charts,
.afp-main > .afp-settings-grid,
.afp-main > .afp-card{
  animation:afp-view-enter .18s ease-out both;
}

.afp-menu a{
  transition:background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
  will-change:transform;
}

.afp-menu a:hover,
.afp-menu a:focus-visible{
  transform:translateX(2px);
}

.afp-route-loading-bar{
  position:sticky;
  top:0;
  z-index:30;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:36px;
  margin:-24px -24px 18px;
  padding:8px 24px;
  background:rgba(239,246,255,.96);
  border-bottom:1px solid #bfdbfe;
  color:#1e3a8a;
  font-size:13px;
  box-shadow:0 10px 24px rgba(15,23,42,.06);
  backdrop-filter:blur(10px);
}

.afp-route-loading-bar span{
  width:16px;
  height:16px;
  border:2px solid rgba(37,99,235,.25);
  border-top-color:#2563eb;
  border-radius:999px;
  animation:afp-spin .72s linear infinite;
  flex:0 0 auto;
}

.afp-route-loading-bar strong{
  font-weight:800;
}

.afp-is-loading .afp-view{
  opacity:.96;
}

@keyframes afp-view-enter{
  from{opacity:0; transform:translateY(6px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes afp-spin{
  to{transform:rotate(360deg);}
}

@media(max-width:760px){
  .afp-route-loading-bar{
    margin:-16px -16px 14px;
    padding:8px 16px;
  }
}

/* v1.5.01 social networks completion */
.afp-social-overview-panel .afp-card-head,
.afp-social-composer-panel .afp-card-head,
.afp-social-filter-card .afp-card-head{
  align-items:flex-start;
}
.afp-social-mini-stats{
  margin-top:12px;
}
.afp-mini-stat{
  border:1px solid rgba(148,163,184,.24);
  border-radius:16px;
  padding:14px;
  background:rgba(248,250,252,.72);
}
.afp-mini-stat strong{
  display:block;
  font-size:24px;
  line-height:1.1;
  color:#0f172a;
}
.afp-mini-stat span{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:13px;
}
.afp-social-next-list{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.afp-social-next-list span{
  border:1px solid rgba(37,99,235,.12);
  background:rgba(37,99,235,.06);
  color:#1e3a8a;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}
.afp-social-composer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);
  gap:18px;
  align-items:start;
}
.afp-social-channel-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.afp-social-channel-choice{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(148,163,184,.38);
  background:#fff;
  border-radius:999px;
  padding:7px 11px;
  font-size:13px;
  cursor:pointer;
  user-select:none;
}
.afp-social-channel-choice input{
  margin:0;
}
.afp-social-channel-choice.selected,
.afp-social-channel-choice:has(input:checked){
  border-color:rgba(37,99,235,.42);
  background:rgba(37,99,235,.08);
  color:#1d4ed8;
}
.afp-social-preview-card{
  position:sticky;
  top:18px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  box-shadow:0 18px 35px rgba(15,23,42,.08);
  padding:18px;
  overflow:hidden;
}
.afp-social-preview-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#64748b;
  font-size:12px;
  margin-bottom:14px;
}
.afp-social-preview-head span{
  font-weight:700;
  color:#0f172a;
}
.afp-social-preview-title{
  font-weight:800;
  font-size:18px;
  color:#0f172a;
  margin-bottom:8px;
}
.afp-social-preview-channels{
  display:inline-flex;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(37,99,235,.08);
  color:#1d4ed8;
  font-size:12px;
  margin-bottom:14px;
}
.afp-social-preview-body{
  white-space:normal;
  color:#1e293b;
  line-height:1.55;
  font-size:14px;
  border-top:1px solid rgba(148,163,184,.22);
  padding-top:14px;
  max-height:420px;
  overflow:auto;
}
.afp-social-preview-foot{
  margin-top:14px;
  color:#64748b;
  font-size:12px;
}
.afp-social-char-counter{
  border-radius:999px;
  padding:7px 11px;
  background:rgba(15,23,42,.06);
  color:#334155;
  font-size:12px;
  font-weight:700;
}
.afp-social-char-counter.warning{
  background:rgba(245,158,11,.14);
  color:#92400e;
}
.afp-social-generator-toolbar select{
  min-width:220px;
}
.afp-social-actions-cell{
  min-width:230px;
}
.afp-social-actions-cell .afp-link-btn{
  margin-right:6px;
  margin-bottom:4px;
}
.afp-social-toolbar select,
.afp-social-toolbar input{
  min-width:150px;
}
@media (max-width: 980px){
  .afp-social-composer-grid{
    grid-template-columns:1fr;
  }
  .afp-social-preview-card{
    position:relative;
    top:auto;
  }
}

/* v1.5.04 candidaturas públicas de expositores */
.afp-exhibitor-application-card,
.afp-info-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  border:1px solid rgba(37,99,235,.14);
  background:linear-gradient(135deg,rgba(239,246,255,.9),rgba(255,255,255,.92));
  border-radius:18px;
  padding:16px;
  margin:14px 0 18px;
}
.afp-exhibitor-application-card input{
  width:100%;
  min-width:min(520px,100%);
  margin-top:8px;
  font-size:13px;
}
.afp-review-form{
  border:1px solid var(--afp-border, #e5e7eb);
  border-radius:18px;
  padding:16px;
  margin:14px 0 18px;
  background:#fff;
}
.afp-review-form h4{margin:0 0 6px;font-size:16px}
@media(max-width:780px){
  .afp-exhibitor-application-card,
  .afp-info-card{display:block}
  .afp-exhibitor-application-card .afp-inline-actions{margin-top:12px}
  .afp-exhibitor-application-card input{min-width:0}
}

/* v1.5.05 - Patrocínios do evento */
.afp-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin:14px 0 18px;
}
.afp-kpi-card{
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}
.afp-kpi-card span{
  display:block;
  font-size:.8rem;
  color:#64748b;
  margin-bottom:4px;
}
.afp-kpi-card strong{
  display:block;
  font-size:1.35rem;
  color:#0f172a;
}
.afp-kpi-card small{
  display:block;
  margin-top:4px;
  color:#64748b;
}
.afp-event-sponsors-panel .afp-review-form{
  margin-bottom:18px;
}

/* v1.5.06 event submenu design refresh */
.afp-event-detail-view{
  background:linear-gradient(180deg,#f7faff 0%,#ffffff 34%,#f8fbff 100%);
  border-radius:28px;
}

.afp-event-hero{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px !important;
  border:1px solid #dbe8fb !important;
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.14),transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%);
  box-shadow:0 20px 55px rgba(15,23,42,.08);
  overflow:hidden;
}

.afp-event-hero::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(37,99,235,.08);
  pointer-events:none;
}

.afp-event-hero-main,
.afp-event-hero-actions{
  position:relative;
  z-index:1;
}

.afp-event-hero-main{
  min-width:0;
}

.afp-event-hero h2{
  margin:8px 0 6px !important;
  font-size:clamp(26px,3vw,40px);
  line-height:1.05;
  letter-spacing:-.04em;
  color:#0f172a;
}

.afp-event-kicker{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  color:#475569;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.afp-event-status-pill{
  border-radius:999px;
  padding:7px 11px;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.afp-event-state-draft{background:#eef2ff;color:#3730a3;}
.afp-event-state-pending{background:#fff7ed;color:#9a3412;}
.afp-event-state-approved{background:#ecfdf5;color:#047857;}
.afp-event-state-closed{background:#f1f5f9;color:#334155;}

.afp-event-quick-facts{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:16px;
}

.afp-event-quick-facts span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 12px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#475569;
  font-size:13px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.afp-event-quick-facts strong{
  color:#0f172a;
}

.afp-event-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  max-width:420px;
}

.afp-event-tabs{
  position:sticky;
  top:12px;
  z-index:8;
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(152px,1fr));
  gap:10px !important;
  margin:18px 0 14px !important;
  padding:12px !important;
  border:1px solid #dbe8fb !important;
  border-radius:24px !important;
  background:rgba(248,251,255,.92) !important;
  backdrop-filter:blur(12px);
  box-shadow:0 14px 40px rgba(15,23,42,.08);
}

.afp-event-tab{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:10px 12px !important;
  border:1px solid #e1e9f5 !important;
  border-radius:18px !important;
  background:#ffffff !important;
  color:#334155 !important;
  text-align:left;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.afp-event-tab:hover{
  transform:translateY(-1px);
  border-color:#bfdbfe !important;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.afp-event-tab.active{
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 62%,#38bdf8 100%) !important;
  color:#ffffff !important;
  border-color:#2563eb !important;
  box-shadow:0 18px 34px rgba(37,99,235,.26) !important;
}

.afp-event-tab-icon{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:14px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:18px;
  font-weight:900;
}

.afp-event-tab.active .afp-event-tab-icon{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.afp-event-tab-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px;
}

.afp-event-tab-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1.15;
}

.afp-event-tab-copy small{
  font-size:11px;
  font-weight:800;
  color:#64748b;
}

.afp-event-tab.active .afp-event-tab-copy small{
  color:rgba(255,255,255,.82);
}

.afp-event-tab-count{
  min-width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  padding:0 8px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:900;
}

.afp-event-tab.active .afp-event-tab-count{
  background:rgba(255,255,255,.2);
  color:#fff;
}

.afp-event-workbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:-2px 0 18px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  color:#475569;
  font-size:13px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.afp-event-workbar span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#f8fafc;
}

.afp-event-summary-grid .afp-event-metric-card{
  min-height:142px;
  border:1px solid #e0eaf7 !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

.afp-event-summary-grid .afp-event-metric-card::before{
  display:none;
}

.afp-event-metric-label{
  display:inline-flex;
  margin-bottom:10px;
  color:#475569;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.afp-event-summary-grid .afp-stat{
  margin-bottom:6px;
  font-size:clamp(25px,2.4vw,34px) !important;
  letter-spacing:-.04em;
}

.afp-event-detail-view > .afp-card,
.afp-event-detail-view > .afp-settings-grid > .afp-card,
.afp-event-detail-view .afp-card{
  border-radius:24px;
}

.afp-event-detail-view > .afp-card::before{
  top:22px;
  bottom:22px;
  background:linear-gradient(180deg,#0ea5e9 0%,#2563eb 100%);
}

.afp-event-detail-view .afp-table-wrap{
  border-radius:20px;
}

.afp-event-tab-hidden{
  display:none !important;
}

@media (max-width: 1100px){
  .afp-event-hero{
    flex-direction:column;
  }
  .afp-event-hero-actions{
    justify-content:flex-start;
    max-width:none;
  }
  .afp-event-tabs{
    position:relative;
    top:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .afp-event-hero{
    padding:18px !important;
    border-radius:22px;
  }
  .afp-event-tabs{
    display:flex !important;
    overflow-x:auto;
    flex-wrap:nowrap !important;
    padding:10px !important;
    border-radius:20px !important;
  }
  .afp-event-tab{
    min-width:178px;
  }
  .afp-event-hero-actions .afp-btn{
    flex:1 1 auto;
  }
}

/* v1.5.07 — Documentos/modelos dentro do evento */
.afp-event-documents-panel .afp-document-generate-box,
.afp-event-documents-panel #afp-event-document-form{
  margin:14px 0;
  padding:16px;
  border:1px solid #dbeafe;
  border-radius:20px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.afp-event-documents-panel .afp-document-generate-box h4{
  margin:0 0 10px;
  color:#0f172a;
}

.afp-event-documents-panel .afp-inline-form{
  align-items:end;
}

.afp-event-documents-panel .afp-inline-form select{
  min-width:220px;
}

.afp-document-content-preview{
  max-width:320px;
  max-height:76px;
  overflow:hidden;
  white-space:pre-wrap;
  color:#475569;
  font-size:12px;
  line-height:1.45;
}

.afp-event-documents-table td:last-child{
  min-width:190px;
}

@media (max-width:760px){
  .afp-event-documents-panel .afp-inline-form{
    display:grid;
    grid-template-columns:1fr;
  }
  .afp-event-documents-panel .afp-inline-form select,
  .afp-event-documents-panel .afp-inline-form .afp-btn{
    width:100%;
  }
}


/* v1.5.08 — uniformização visual global dos módulos */
.afp-module-hero:not(.afp-event-hero),
.afp-view > .afp-section-header:first-child:not(.afp-event-hero){
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px !important;
  margin-bottom:18px;
  border:1px solid #dbe8fb !important;
  border-radius:28px;
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.14),transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%);
  box-shadow:0 20px 55px rgba(15,23,42,.08);
  overflow:hidden;
}

.afp-module-hero:not(.afp-event-hero)::after,
.afp-view > .afp-section-header:first-child:not(.afp-event-hero)::after{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:rgba(37,99,235,.08);
  pointer-events:none;
}

.afp-module-hero:not(.afp-event-hero) > *,
.afp-view > .afp-section-header:first-child:not(.afp-event-hero) > *{
  position:relative;
  z-index:1;
}

.afp-module-hero:not(.afp-event-hero) h2,
.afp-view > .afp-section-header:first-child:not(.afp-event-hero) h2{
  margin:8px 0 6px !important;
  font-size:clamp(24px,2.8vw,38px);
  line-height:1.05;
  letter-spacing:-.04em;
  color:#0f172a;
}

.afp-module-kicker{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  color:#475569;
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.afp-module-tabs{
  position:sticky;
  top:12px;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  gap:10px;
  margin:18px 0 14px;
  padding:12px;
  border:1px solid #dbe8fb;
  border-radius:24px;
  background:rgba(248,251,255,.92);
  backdrop-filter:blur(12px);
  box-shadow:0 14px 40px rgba(15,23,42,.08);
}

.afp-module-tab{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:10px 12px;
  border:1px solid #e1e9f5;
  border-radius:18px;
  background:#ffffff;
  color:#334155;
  text-align:left;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  cursor:pointer;
}

.afp-module-tab:hover{
  transform:translateY(-1px);
  border-color:#bfdbfe;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.afp-module-tab.active{
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 62%,#38bdf8 100%);
  color:#ffffff;
  border-color:#2563eb;
  box-shadow:0 18px 34px rgba(37,99,235,.26);
}

.afp-module-tab-icon{
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:14px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:18px;
  font-weight:900;
}

.afp-module-tab.active .afp-module-tab-icon{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.afp-module-tab-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:1px;
}

.afp-module-tab-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1.15;
}

.afp-module-tab-copy small{
  font-size:11px;
  font-weight:800;
  color:#64748b;
}

.afp-module-tab.active .afp-module-tab-copy small{
  color:rgba(255,255,255,.82);
}

.afp-module-tab-count{
  min-width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  padding:0 8px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:900;
}

.afp-module-tab.active .afp-module-tab-count{
  background:rgba(255,255,255,.2);
  color:#fff;
}

.afp-module-workbar{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:-2px 0 18px;
  padding:10px 12px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  color:#475569;
  font-size:13px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}

.afp-module-workbar span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#f8fafc;
}

.afp-members-tabs,.afp-communication-tabs{
  margin-top:0;
}

@media (max-width:1100px){
  .afp-module-hero:not(.afp-event-hero),
  .afp-view > .afp-section-header:first-child:not(.afp-event-hero){
    flex-direction:column;
  }
  .afp-module-tabs{
    position:relative;
    top:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  .afp-module-hero:not(.afp-event-hero),
  .afp-view > .afp-section-header:first-child:not(.afp-event-hero){
    padding:18px !important;
    border-radius:22px;
  }
  .afp-module-tabs{
    display:flex;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:10px;
    border-radius:20px;
  }
  .afp-module-tab{
    min-width:188px;
  }
}


/* v1.5.10 — organização interna e consistência operacional dos módulos */
.afp-view:not(.afp-event-detail-view){
  background:linear-gradient(180deg,#ffffff 0%,#fcfdff 42%,#f8fbff 100%);
  border-radius:28px;
}

.afp-view:not(.afp-event-detail-view) > .afp-card,
.afp-view:not(.afp-event-detail-view) > .afp-grid,
.afp-view:not(.afp-event-detail-view) > .afp-settings-grid,
.afp-view:not(.afp-event-detail-view) > .afp-toolbar,
.afp-view:not(.afp-event-detail-view) > .afp-table-wrap,
.afp-view:not(.afp-event-detail-view) > .afp-pagination{
  margin-bottom:22px;
}

.afp-view:not(.afp-event-detail-view) > .afp-card:last-child,
.afp-view:not(.afp-event-detail-view) > .afp-grid:last-child,
.afp-view:not(.afp-event-detail-view) > .afp-settings-grid:last-child,
.afp-view:not(.afp-event-detail-view) > .afp-table-wrap:last-child{
  margin-bottom:0;
}

.afp-view:not(.afp-event-detail-view) > .afp-card,
.afp-view:not(.afp-event-detail-view) .afp-settings-grid > .afp-card,
.afp-view:not(.afp-event-detail-view) .afp-grid > .afp-card{
  position:relative;
  border:1px solid #e1e9f5;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.afp-view:not(.afp-event-detail-view) > .afp-card::before,
.afp-view:not(.afp-event-detail-view) .afp-settings-grid > .afp-card::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#0ea5e9 0%,#2563eb 100%);
  opacity:.9;
}

.afp-view:not(.afp-event-detail-view) .afp-grid > .afp-card::before{
  display:none;
}

.afp-view:not(.afp-event-detail-view) > .afp-card > h3,
.afp-view:not(.afp-event-detail-view) .afp-settings-grid > .afp-card > h3{
  margin:0 0 8px 0;
  padding-bottom:12px;
  border-bottom:1px solid #e8eef7;
  font-size:18px;
  line-height:1.25;
  color:#0f172a;
}

.afp-view:not(.afp-event-detail-view) > .afp-card > .afp-muted,
.afp-view:not(.afp-event-detail-view) .afp-settings-grid > .afp-card > .afp-muted{
  display:block;
  margin:0 0 18px 0;
}

.afp-view:not(.afp-event-detail-view) .afp-grid{
  gap:18px;
}

.afp-view:not(.afp-event-detail-view) .afp-grid .afp-card{
  min-height:132px;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.afp-view:not(.afp-event-detail-view) .afp-grid .afp-card:hover{
  transform:translateY(-2px);
  border-color:#bfdbfe;
  box-shadow:0 18px 38px rgba(15,23,42,.08);
}

.afp-view:not(.afp-event-detail-view) .afp-grid .afp-card h3{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.2;
  color:#475569;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.afp-view:not(.afp-event-detail-view) .afp-grid .afp-card .afp-stat{
  margin-bottom:6px;
  font-size:clamp(28px,2.5vw,36px);
  letter-spacing:-.04em;
}

.afp-view:not(.afp-event-detail-view) .afp-toolbar,
.afp-view:not(.afp-event-detail-view) .afp-inline-form,
.afp-view:not(.afp-event-detail-view) form .afp-inline-actions{
  align-items:center;
}

.afp-view:not(.afp-event-detail-view) .afp-toolbar{
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 10px 26px rgba(15,23,42,.045);
}

.afp-view:not(.afp-event-detail-view) .afp-toolbar input,
.afp-view:not(.afp-event-detail-view) .afp-toolbar select,
.afp-view:not(.afp-event-detail-view) .afp-inline-form input,
.afp-view:not(.afp-event-detail-view) .afp-inline-form select,
.afp-view:not(.afp-event-detail-view) .afp-field input,
.afp-view:not(.afp-event-detail-view) .afp-field select,
.afp-view:not(.afp-event-detail-view) .afp-field textarea{
  border-color:#dbe5f3;
  background:#fbfdff;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.afp-view:not(.afp-event-detail-view) .afp-toolbar input:focus,
.afp-view:not(.afp-event-detail-view) .afp-toolbar select:focus,
.afp-view:not(.afp-event-detail-view) .afp-inline-form input:focus,
.afp-view:not(.afp-event-detail-view) .afp-inline-form select:focus,
.afp-view:not(.afp-event-detail-view) .afp-field input:focus,
.afp-view:not(.afp-event-detail-view) .afp-field select:focus,
.afp-view:not(.afp-event-detail-view) .afp-field textarea:focus{
  outline:none;
  border-color:#93c5fd;
  background:#ffffff;
  box-shadow:0 0 0 4px rgba(59,130,246,.12);
}

.afp-view:not(.afp-event-detail-view) .afp-table-wrap{
  border:1px solid #e4edf8;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.afp-view:not(.afp-event-detail-view) .afp-table th{
  background:#f8fbff;
  color:#475569;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.afp-view:not(.afp-event-detail-view) .afp-table td{
  border-bottom-color:#edf2f8;
}

.afp-view:not(.afp-event-detail-view) .afp-table tbody tr{
  transition:background .14s ease;
}

.afp-view:not(.afp-event-detail-view) .afp-table tbody tr:hover{
  background:#f8fbff;
}

.afp-view:not(.afp-event-detail-view) .afp-card-head{
  padding-bottom:12px;
  border-bottom:1px solid #e8eef7;
}

.afp-view:not(.afp-event-detail-view) .afp-card-head h3{
  font-size:18px;
  color:#0f172a;
}

.afp-view:not(.afp-event-detail-view) .afp-tag,
.afp-view:not(.afp-event-detail-view) .afp-pill,
.afp-view:not(.afp-event-detail-view) .afp-status{
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}

.afp-view:not(.afp-event-detail-view) .afp-pagination{
  padding:12px 14px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.afp-view:not(.afp-event-detail-view) .afp-settings-panel:not(.hidden){
  padding:14px;
  border:1px solid #dbeafe;
  border-radius:24px;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.afp-view:not(.afp-event-detail-view) .afp-settings-panel .afp-card{
  box-shadow:none;
}

.afp-view:not(.afp-event-detail-view) .afp-form-grid{
  gap:18px;
}

.afp-view:not(.afp-event-detail-view) .afp-field label{
  display:block;
  margin-bottom:7px;
  color:#334155;
  font-size:13px;
  font-weight:900;
}

.afp-module-hero .afp-inline-actions,
.afp-view > .afp-section-header:first-child .afp-inline-actions{
  align-self:flex-start;
  padding:8px;
  border:1px solid rgba(219,234,254,.85);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}

.afp-expenses .afp-status,
.afp-revenues .afp-status,
.afp-ticket-status-select{
  min-width:96px;
  justify-content:center;
}

.afp-link-btn{
  border-radius:999px;
  padding:5px 8px;
}

.afp-link-btn:hover{
  background:#eff6ff;
}

.afp-link-btn.danger:hover{
  background:#fef2f2;
}

@media (max-width:900px){
  .afp-view:not(.afp-event-detail-view) .afp-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .afp-view:not(.afp-event-detail-view) .afp-toolbar input,
  .afp-view:not(.afp-event-detail-view) .afp-toolbar select,
  .afp-view:not(.afp-event-detail-view) .afp-toolbar .afp-btn{
    width:100%;
    min-width:0;
  }
  .afp-module-hero .afp-inline-actions,
  .afp-view > .afp-section-header:first-child .afp-inline-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* v1.5.10 — listagens primeiro, formulários por botão */
.afp-form-opener{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:14px 0 18px;
  padding:16px 18px;
  border:1px solid #dbe8fb;
  border-radius:22px;
  background:
    radial-gradient(circle at 0% 0%,rgba(37,99,235,.08),transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}

.afp-form-opener strong{
  display:block;
  margin-bottom:4px;
  color:#0f172a;
  font-size:15px;
}

.afp-form-opener span{
  display:block;
  color:#64748b;
  font-size:13px;
}

.afp-form-opener-hidden,
.afp-form-card-hidden{
  display:none !important;
}

.afp-form-card{
  border:1px solid #dbe8fb !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  box-shadow:0 16px 38px rgba(15,23,42,.07) !important;
}

.afp-form-card-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:-4px 0 16px;
  padding:12px 14px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fbff;
}

.afp-form-card-toolbar strong{
  display:block;
  color:#0f172a;
  font-size:15px;
}

.afp-form-card-toolbar span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
}

.afp-form-card form{
  margin-top:0;
}

@media (max-width:760px){
  .afp-form-opener,
  .afp-form-card-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .afp-form-opener .afp-btn,
  .afp-form-card-toolbar .afp-btn{
    width:100%;
  }
}


/* v1.5.11 — botões de criação concentrados no topo */
.afp-page-create-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid #dbe8fb;
  border-radius:22px;
  background:
    radial-gradient(circle at 0% 0%,rgba(37,99,235,.08),transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}

.afp-page-create-actions-empty{
  display:none !important;
}

.afp-page-create-actions-copy{
  min-width:220px;
}

.afp-page-create-actions-copy strong{
  display:block;
  margin-bottom:3px;
  color:#0f172a;
  font-size:15px;
}

.afp-page-create-actions-copy span{
  display:block;
  color:#64748b;
  font-size:13px;
}

.afp-page-create-actions-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.afp-page-create-btn{
  white-space:nowrap;
}

.afp-page-create-btn-hidden{
  display:none !important;
}

.afp-form-opener{
  display:none !important;
}

@media (max-width:760px){
  .afp-page-create-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .afp-page-create-actions-buttons{
    justify-content:flex-start;
  }
  .afp-page-create-btn{
    width:100%;
  }
}


/* v1.5.13 — Sócios + Quotas: listagens primeiro e ficha do sócio mais operacional */
.afp-members-actions-card{
  margin-bottom:16px;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}

.afp-members-actions-card .afp-card-head{
  align-items:center;
}

.afp-members-top-actions{
  justify-content:flex-end;
}

.afp-row-actions{
  min-width:180px;
}

.afp-form-drawer{
  margin-top:16px;
  border:1px solid #bfdbfe !important;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  box-shadow:0 18px 42px rgba(37,99,235,.10);
}

.afp-form-drawer::before{
  background:linear-gradient(180deg,#38bdf8 0%,#2563eb 100%) !important;
}

.afp-member-detail-hero{
  border:1px solid #dbeafe;
  background:radial-gradient(circle at 8% 0%,rgba(37,99,235,.10),transparent 30%),linear-gradient(135deg,#ffffff 0%,#f8fbff 70%,#eef6ff 100%);
}

.afp-member-detail-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}

.afp-member-number-badge{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:#dbeafe;
  color:#1e40af;
  font-size:12px;
  font-weight:900;
}

.afp-member-detail-hero h3{
  margin:10px 0 4px;
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.035em;
}

.afp-member-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(160px,1fr));
  gap:10px;
}

.afp-member-detail-grid div,
.afp-member-detail-address,
.afp-member-detail-notes{
  padding:12px;
  border:1px solid #e0e7ff;
  border-radius:16px;
  background:rgba(255,255,255,.78);
}

.afp-member-detail-grid span,
.afp-member-detail-address span{
  display:block;
  margin-bottom:5px;
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.afp-member-detail-address,
.afp-member-detail-notes{
  margin-top:10px;
}

.afp-members-filter-summary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.afp-members-filter-summary span{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:#eef3ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

@media (max-width:900px){
  .afp-members-actions-card .afp-card-head,
  .afp-member-detail-head{
    flex-direction:column;
  }
  .afp-members-top-actions{
    width:100%;
    justify-content:flex-start;
  }
  .afp-member-detail-grid{
    grid-template-columns:1fr;
  }
}

/* v1.5.15 — Portal do Sócio: mensagens e inscrições */
.afp-portal-messages-table,
.afp-portal-registrations-table{
  min-width:1120px;
}
.afp-portal-messages-card,
.afp-portal-registrations-card{
  margin-top:22px;
}
.afp-portal-messages-table td:nth-child(3),
.afp-portal-registrations-table td:nth-child(5){
  max-width:320px;
  white-space:normal;
}


/* v1.5.21 — ecrã de login AssociaPlus */
.afp-login-screen{
  background:
    radial-gradient(circle at 18% 12%, rgba(37,99,235,.18), transparent 32%),
    radial-gradient(circle at 82% 8%, rgba(14,165,233,.14), transparent 30%),
    linear-gradient(135deg,#eef5ff 0%,#f8fbff 46%,#eef3fb 100%);
}

.afp-login-wrap-branded{
  max-width:540px;
  padding:34px;
  border:1px solid #dbeafe;
  box-shadow:0 24px 70px rgba(15,23,42,.14);
}

.afp-login-brand{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:26px;
}

.afp-login-logo,
.afp-login-logo-fallback{
  width:76px;
  height:76px;
  flex:0 0 76px;
  border-radius:24px;
  box-shadow:0 16px 32px rgba(37,99,235,.18);
}

.afp-login-logo{
  object-fit:cover;
  background:#eff6ff;
}

.afp-login-logo-fallback{
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#1d4ed8,#38bdf8);
  color:#fff;
  font-weight:900;
  font-size:26px;
}

.afp-login-brand h2{
  margin:0 0 8px !important;
  font-size:clamp(25px,3vw,34px) !important;
  line-height:1.05;
  letter-spacing:-.04em;
  color:#0f172a;
}

.afp-login-brand .afp-muted{
  margin:0;
  font-size:15px;
  line-height:1.45;
  color:#475569;
}

.afp-login-submit{
  width:100%;
  margin-top:4px;
  padding:14px 18px;
}

@media (max-width:620px){
  .afp-login-wrap-branded{padding:24px;}
  .afp-login-brand{align-items:flex-start;flex-direction:column;gap:14px;}
  .afp-login-logo,.afp-login-logo-fallback{width:68px;height:68px;flex-basis:68px;border-radius:22px;}
}


/* v1.5.23 — logotipo oficial AssociaPlus em todos os logins */
.afp-login-wrap-branded{
  max-width:620px;
}
.afp-login-brand{
  flex-direction:column;
  text-align:center;
  gap:14px;
}
.afp-login-logo{
  width:min(360px,86%);
  height:auto;
  max-height:260px;
  flex:0 0 auto;
  border-radius:0;
  object-fit:contain;
  background:transparent;
  box-shadow:none;
}
.afp-login-logo-fallback{
  width:92px;
  height:92px;
  flex-basis:92px;
}
.afp-login-brand h2{
  font-size:clamp(27px,3.4vw,38px) !important;
}
.afp-login-brand .afp-muted{
  max-width:430px;
  margin:0 auto;
}
@media (max-width:620px){
  .afp-login-logo{width:min(300px,92%);max-height:220px;}
}


/* v1.5.24 — recuperação de password no login principal */
.afp-login-link-btn{
  display:block;
  width:100%;
  margin:12px 0 0;
  padding:10px 12px;
  border:0;
  background:transparent;
  color:#1d4ed8;
  font-weight:900;
  text-align:center;
  cursor:pointer;
}
.afp-login-link-btn:hover{
  color:#0f172a;
  text-decoration:underline;
}
.afp-login-message{
  margin-top:14px;
}
.afp-alert.success{
  background:#ecfdf5;
  color:#166534;
  border:1px solid #bbf7d0;
}


/* v1.5.26 — slug da página da aplicação atualizado para associaplus */
body.page-slug-associaplus{
  background:#f4f7fb;
}
body.page-slug-associaplus #page,
body.page-slug-associaplus .site,
body.page-slug-associaplus .site-content,
body.page-slug-associaplus .content-area,
body.page-slug-associaplus .entry-content,
body.page-slug-associaplus .wp-block-post-content{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}


/* v1.5.29 — Relatórios: larguras de colunas e títulos de tabelas */
.afp-reports-advanced-view .afp-table-wrap{
  overflow:hidden;
}

.afp-report-table-card,
.afp-reports-advanced-view .afp-balancete-screen{
  border:1px solid #dbe8fb;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(15,23,42,.06);
}

.afp-report-table-title,
.afp-balancete-head.afp-report-table-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #e2eaf6;
  background:
    radial-gradient(circle at 0% 0%,rgba(37,99,235,.10),transparent 36%),
    linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);
}

.afp-report-table-title h3,
.afp-balancete-head.afp-report-table-title h3{
  margin:4px 0 0;
  color:#0f172a;
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.03em;
}

.afp-report-table-kicker{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.afp-report-table-title > strong{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  margin-top:2px;
  padding:7px 10px;
  border-radius:999px;
  background:#eef6ff;
  color:#1e3a8a;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.afp-report-table{
  table-layout:fixed;
  width:100%;
}

.afp-report-table th,
.afp-report-table td{
  overflow:hidden;
  text-overflow:ellipsis;
}

.afp-report-table-2col th:nth-child(1),
.afp-report-table-2col td:nth-child(1){width:68%;}
.afp-report-table-2col th:nth-child(2),
.afp-report-table-2col td:nth-child(2){width:32%;text-align:right;white-space:nowrap;}

.afp-report-table-3col th:nth-child(1),
.afp-report-table-3col td:nth-child(1){width:56%;}
.afp-report-table-3col th:nth-child(2),
.afp-report-table-3col td:nth-child(2){width:28%;text-align:right;white-space:nowrap;}
.afp-report-table-3col th:nth-child(3),
.afp-report-table-3col td:nth-child(3){width:16%;text-align:right;white-space:nowrap;}

.afp-report-table-monthly th:nth-child(1),
.afp-report-table-monthly td:nth-child(1){width:30%;}
.afp-report-table-monthly th:nth-child(2),
.afp-report-table-monthly td:nth-child(2),
.afp-report-table-monthly th:nth-child(3),
.afp-report-table-monthly td:nth-child(3),
.afp-report-table-monthly th:nth-child(4),
.afp-report-table-monthly td:nth-child(4){width:23.33%;text-align:right;white-space:nowrap;}

.afp-report-table-matrix{
  min-width:1460px;
  table-layout:fixed;
}

.afp-report-table-matrix th:first-child,
.afp-report-table-matrix td:first-child{
  position:sticky;
  left:0;
  z-index:2;
  width:240px;
  min-width:240px;
  max-width:240px;
  background:#fff;
  box-shadow:8px 0 16px rgba(15,23,42,.04);
}

.afp-report-table-matrix thead th:first-child{
  z-index:3;
  background:#f4f8fe;
}

.afp-report-table-matrix th:not(:first-child),
.afp-report-table-matrix td:not(:first-child){
  width:86px;
  min-width:86px;
  max-width:86px;
  text-align:right;
  white-space:nowrap;
}

.afp-report-table-matrix th:nth-last-child(2),
.afp-report-table-matrix td:nth-last-child(2){
  width:116px;
  min-width:116px;
  max-width:116px;
}

.afp-report-table-matrix th:last-child,
.afp-report-table-matrix td:last-child{
  width:70px;
  min-width:70px;
  max-width:70px;
}

.afp-reports-advanced-view .afp-table thead th{
  padding-top:13px;
  padding-bottom:13px;
  color:#334155;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.afp-reports-advanced-view .afp-table tbody td{
  color:#334155;
}

.afp-reports-advanced-view .afp-table tbody td:first-child{
  color:#0f172a;
  font-weight:800;
}

.afp-reports-advanced-view .afp-table-scroll{
  overflow:auto;
  padding:0;
}

@media (max-width:900px){
  .afp-report-table-title,
  .afp-balancete-head.afp-report-table-title{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .afp-report-table-title > strong{
    white-space:normal;
  }
  .afp-report-table-card{
    overflow:auto;
  }
  .afp-report-table-2col,
  .afp-report-table-3col,
  .afp-report-table-monthly{
    min-width:620px;
  }
}


/* v1.5.30 — Relatórios: colunas compactas e ajustadas ao conteúdo */
.afp-reports-advanced-view .afp-report-table-card,
.afp-reports-advanced-view .afp-balancete-screen{
  overflow:hidden;
}

.afp-reports-advanced-view .afp-table-wrap{
  overflow:auto;
}

.afp-reports-advanced-view .afp-report-table{
  table-layout:auto !important;
  width:auto !important;
  max-width:100% !important;
  border-collapse:separate;
  border-spacing:0;
}

.afp-reports-advanced-view .afp-report-table th,
.afp-reports-advanced-view .afp-report-table td{
  width:auto !important;
  max-width:none !important;
  padding-left:12px !important;
  padding-right:12px !important;
  overflow:visible !important;
  text-overflow:clip !important;
  vertical-align:middle;
}

.afp-reports-advanced-view .afp-report-table th:first-child,
.afp-reports-advanced-view .afp-report-table td:first-child{
  min-width:150px;
  max-width:260px !important;
  white-space:nowrap;
}

.afp-reports-advanced-view .afp-report-table-2col th:nth-child(2),
.afp-reports-advanced-view .afp-report-table-2col td:nth-child(2),
.afp-reports-advanced-view .afp-report-table-3col th:nth-child(2),
.afp-reports-advanced-view .afp-report-table-3col td:nth-child(2),
.afp-reports-advanced-view .afp-report-table-3col th:nth-child(3),
.afp-reports-advanced-view .afp-report-table-3col td:nth-child(3),
.afp-reports-advanced-view .afp-report-table-monthly th:not(:first-child),
.afp-reports-advanced-view .afp-report-table-monthly td:not(:first-child){
  min-width:92px;
  text-align:right;
  white-space:nowrap;
}

.afp-reports-advanced-view .afp-report-table-monthly th:first-child,
.afp-reports-advanced-view .afp-report-table-monthly td:first-child{
  min-width:96px;
  max-width:120px !important;
}

.afp-reports-advanced-view .afp-report-table-card .afp-report-table{
  margin:0;
}

.afp-reports-advanced-view .afp-report-table-card-2col .afp-report-table{
  min-width:320px;
}

.afp-reports-advanced-view .afp-report-table-card-3col .afp-report-table{
  min-width:430px;
}

.afp-reports-advanced-view .afp-report-monthly-screen .afp-report-table{
  min-width:460px;
}

.afp-report-table-matrix{
  min-width:1040px !important;
  width:max-content !important;
  table-layout:fixed !important;
}

.afp-report-table-matrix th,
.afp-report-table-matrix td{
  padding-left:9px !important;
  padding-right:9px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.afp-report-table-matrix th:first-child,
.afp-report-table-matrix td:first-child{
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
}

.afp-report-table-matrix th:not(:first-child),
.afp-report-table-matrix td:not(:first-child){
  width:64px !important;
  min-width:64px !important;
  max-width:64px !important;
}

.afp-report-table-matrix th:nth-last-child(2),
.afp-report-table-matrix td:nth-last-child(2){
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
}

.afp-report-table-matrix th:last-child,
.afp-report-table-matrix td:last-child{
  width:56px !important;
  min-width:56px !important;
  max-width:56px !important;
}

@media (min-width:901px){
  .afp-reports-advanced-view .afp-report-grid .afp-report-table-card{
    align-self:start;
  }
}

@media (max-width:900px){
  .afp-reports-advanced-view .afp-report-table{
    min-width:max-content !important;
  }
  .afp-reports-advanced-view .afp-report-table th:first-child,
  .afp-reports-advanced-view .afp-report-table td:first-child{
    max-width:220px !important;
  }
}


/* v1.5.31 — Relatórios: tabelas ajustadas à largura da secção */
.afp-reports-advanced-view .afp-report-table-card,
.afp-reports-advanced-view .afp-balancete-screen{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table,
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:fixed !important;
}

.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table th,
.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table td,
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table th,
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table td{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:none !important;
  padding:11px 12px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  vertical-align:middle !important;
}

.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table th:first-child,
.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table td:first-child,
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table th:first-child,
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table td:first-child{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table th:not(:first-child),
.afp-reports-advanced-view .afp-report-table-card > table.afp-report-table td:not(:first-child),
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table th:not(:first-child),
.afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table td:not(:first-child){
  text-align:right !important;
  white-space:nowrap !important;
}

/* Tabelas simples: ocupam o cartão inteiro com proporções fixas */
.afp-reports-advanced-view .afp-report-table-2col th:nth-child(1),
.afp-reports-advanced-view .afp-report-table-2col td:nth-child(1){width:72% !important;}
.afp-reports-advanced-view .afp-report-table-2col th:nth-child(2),
.afp-reports-advanced-view .afp-report-table-2col td:nth-child(2){width:28% !important;}

.afp-reports-advanced-view .afp-report-table-3col th:nth-child(1),
.afp-reports-advanced-view .afp-report-table-3col td:nth-child(1){width:58% !important;}
.afp-reports-advanced-view .afp-report-table-3col th:nth-child(2),
.afp-reports-advanced-view .afp-report-table-3col td:nth-child(2){width:27% !important;}
.afp-reports-advanced-view .afp-report-table-3col th:nth-child(3),
.afp-reports-advanced-view .afp-report-table-3col td:nth-child(3){width:15% !important;}

.afp-reports-advanced-view .afp-report-table-monthly th:nth-child(1),
.afp-reports-advanced-view .afp-report-table-monthly td:nth-child(1){width:24% !important;}
.afp-reports-advanced-view .afp-report-table-monthly th:nth-child(2),
.afp-reports-advanced-view .afp-report-table-monthly td:nth-child(2),
.afp-reports-advanced-view .afp-report-table-monthly th:nth-child(3),
.afp-reports-advanced-view .afp-report-table-monthly td:nth-child(3),
.afp-reports-advanced-view .afp-report-table-monthly th:nth-child(4),
.afp-reports-advanced-view .afp-report-table-monthly td:nth-child(4){width:25.333% !important;}

/* Balancetes anuais: dentro da secção, com scroll interno apenas quando necessário */
.afp-reports-advanced-view .afp-report-matrix-card .afp-table-scroll{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
}

.afp-reports-advanced-view .afp-report-table-matrix{
  width:100% !important;
  min-width:1080px !important;
  table-layout:fixed !important;
}

.afp-reports-advanced-view .afp-report-table-matrix th,
.afp-reports-advanced-view .afp-report-table-matrix td{
  box-sizing:border-box !important;
  padding:10px 8px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

.afp-reports-advanced-view .afp-report-table-matrix th:first-child,
.afp-reports-advanced-view .afp-report-table-matrix td:first-child{
  width:18% !important;
  min-width:180px !important;
  max-width:220px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

.afp-reports-advanced-view .afp-report-table-matrix th:not(:first-child),
.afp-reports-advanced-view .afp-report-table-matrix td:not(:first-child){
  width:auto !important;
  min-width:58px !important;
  max-width:none !important;
  text-align:right !important;
  white-space:nowrap !important;
}

.afp-reports-advanced-view .afp-report-table-matrix th:nth-last-child(2),
.afp-reports-advanced-view .afp-report-table-matrix td:nth-last-child(2){
  min-width:86px !important;
}

.afp-reports-advanced-view .afp-report-table-matrix th:last-child,
.afp-reports-advanced-view .afp-report-table-matrix td:last-child{
  min-width:56px !important;
}

@media (max-width:900px){
  .afp-reports-advanced-view .afp-report-table-card,
  .afp-reports-advanced-view .afp-report-monthly-screen{
    overflow:auto !important;
  }
  .afp-reports-advanced-view .afp-report-table-card > table.afp-report-table,
  .afp-reports-advanced-view .afp-report-monthly-screen > table.afp-report-table{
    min-width:560px !important;
  }
}


/* v1.5.32 — SMTP por associação */
.afp-smtp-section-title{
  margin-top:10px;
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 100%);
}
.afp-smtp-section-title strong{display:block;color:#0f172a;font-size:15px;margin-bottom:4px;}


/* v1.5.36 — login split AssociaPlus */
.afp-login-screen-split{
  min-height:100vh;
  padding:0;
  background:#f8fafc;
}
.afp-login-layout{
  width:min(1420px,calc(100vw - 28px));
  min-height:min(830px,calc(100vh - 28px));
  margin:14px auto;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(420px,.8fr);
  overflow:hidden;
  border:1px solid #dbe5ee;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.13);
}
.afp-login-showcase{
  position:relative;
  display:flex;
  align-items:center;
  padding:clamp(28px,5vw,68px);
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 0%,rgba(16,185,129,.12),transparent 30%),
    radial-gradient(circle at 5% 95%,rgba(37,99,235,.12),transparent 30%),
    linear-gradient(135deg,#effafa 0%,#eef8f9 48%,#e8f5f5 100%);
}
.afp-login-showcase::before,
.afp-login-showcase::after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(15,118,110,.12);
  pointer-events:none;
}
.afp-login-showcase::before{width:310px;height:310px;right:-155px;top:-155px;}
.afp-login-showcase::after{width:220px;height:220px;left:-110px;bottom:-110px;}
.afp-login-showcase-inner{position:relative;z-index:1;max-width:700px;}
.afp-login-showcase-logo-wrap{margin:0 0 26px;}
.afp-login-showcase-logo{display:block;width:min(490px,90%);max-height:360px;object-fit:contain;object-position:left center;}
.afp-login-showcase-tag,
.afp-login-panel-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0f766e;
  font-size:12px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.afp-login-showcase-tag{
  padding:8px 12px;
  border:1px solid rgba(15,118,110,.18);
  border-radius:999px;
  background:rgba(255,255,255,.72);
}
.afp-login-showcase h1{
  margin:18px 0 12px;
  color:#0f3b69;
  font-size:clamp(34px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.07em;
}
.afp-login-showcase p{
  max-width:620px;
  margin:0;
  color:#35586f;
  font-size:18px;
  line-height:1.55;
}
.afp-login-feature-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:26px 0 0;
}
.afp-login-feature-row span{
  padding:8px 13px;
  border:1px solid rgba(15,118,110,.14);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#0f3b69;
  font-size:12px;
  font-weight:900;
}
.afp-login-showcase-footer{
  margin-top:24px;
  color:#0f766e;
  font-size:20px;
  font-weight:800;
  letter-spacing:.08em;
}
.afp-login-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(28px,4vw,62px);
  background:#fff;
}
.afp-login-panel-inner{width:100%;max-width:510px;}
.afp-login-panel h2{
  margin:12px 0 8px;
  color:#0f3b69;
  font-size:clamp(33px,3vw,46px);
  line-height:1.03;
  letter-spacing:-.07em;
}
.afp-login-panel-description{
  margin:0 0 28px;
  color:#64748b;
  font-size:15px;
  line-height:1.55;
}
.afp-login-form-clean .afp-field{margin-bottom:16px;}
.afp-login-form-clean .afp-field label{
  margin-bottom:8px;
  color:#173b68;
  font-size:13px;
  font-weight:900;
}
.afp-login-form-clean .afp-field input{
  min-height:50px;
  padding:14px 16px;
  border:1px solid #cfdce5;
  border-radius:15px;
  background:#fbfdff;
  color:#0f172a;
  font-size:15px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.afp-login-form-clean .afp-field input:focus{
  border-color:#0f766e;
  background:#fff;
  box-shadow:0 0 0 4px rgba(13,148,136,.12);
  outline:none;
}
.afp-login-form-clean .afp-login-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:52px;
  margin-top:7px;
  border-radius:15px;
  background:linear-gradient(90deg,#164a7c 0%,#0f766e 100%);
  box-shadow:0 14px 24px rgba(15,76,110,.22);
  font-size:15px;
}
.afp-login-form-clean .afp-login-submit:hover{filter:brightness(1.04);transform:translateY(-1px);}
.afp-login-form-clean .afp-login-link-btn{color:#0f766e;}
.afp-login-security-note{
  margin:14px 0 0;
  color:#94a3b8;
  font-size:11px;
  text-align:center;
}
@media (max-width:980px){
  .afp-login-layout{grid-template-columns:1fr;min-height:calc(100vh - 20px);margin:10px auto;}
  .afp-login-showcase{min-height:350px;padding:34px;}
  .afp-login-showcase-logo{width:min(360px,88%);max-height:230px;}
  .afp-login-showcase h1{font-size:clamp(30px,7vw,46px);}
  .afp-login-showcase p{font-size:16px;}
  .afp-login-showcase-footer{font-size:17px;}
  .afp-login-panel{padding:34px 28px 42px;}
}
@media (max-width:620px){
  .afp-login-layout{width:100%;min-height:100vh;margin:0;border:0;border-radius:0;}
  .afp-login-showcase{min-height:auto;padding:24px 20px 28px;}
  .afp-login-showcase-logo{width:min(300px,94%);max-height:190px;}
  .afp-login-showcase h1{margin-top:15px;font-size:33px;}
  .afp-login-showcase p{font-size:15px;}
  .afp-login-feature-row{gap:7px;margin-top:18px;}
  .afp-login-feature-row span{padding:7px 10px;font-size:11px;}
  .afp-login-showcase-footer{margin-top:18px;font-size:15px;}
  .afp-login-panel{padding:30px 20px 38px;}
  .afp-login-panel h2{font-size:34px;}
}
\n\n/* v1.5.37 — login AssociaPlus com logotipo transparente e composição integrada */
.afp-login-layout{
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
}
.afp-login-showcase{
  padding:clamp(30px,4.5vw,64px);
  background:
    radial-gradient(circle at 76% 8%,rgba(16,185,129,.17),transparent 28%),
    radial-gradient(circle at 8% 88%,rgba(37,99,235,.14),transparent 30%),
    linear-gradient(142deg,#edf9f8 0%,#f3fbfa 48%,#e7f5f4 100%);
}
.afp-login-showcase-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  max-width:690px;
}
.afp-login-showcase-logo-wrap{
  position:relative;
  width:min(475px,92%);
  margin:0 0 20px;
  padding:6px 0 12px;
}
.afp-login-showcase-logo-wrap::before{
  content:"";
  position:absolute;
  inset:8% 2% 8% 6%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.7) 0%,rgba(255,255,255,.18) 52%,transparent 74%);
  filter:blur(10px);
}
.afp-login-showcase-logo{
  display:block;
  width:100%;
  max-height:335px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 16px 18px rgba(15,59,105,.11));
}
.afp-login-showcase-tag{
  width:max-content;
  max-width:100%;
  margin-top:2px;
  background:rgba(255,255,255,.58);
  box-shadow:0 8px 20px rgba(15,118,110,.06);
}
.afp-login-showcase h1{
  max-width:650px;
  margin:18px 0 12px;
  font-size:clamp(36px,3.7vw,56px);
}
.afp-login-showcase p{
  max-width:630px;
  color:#31566d;
}
.afp-login-feature-row{
  gap:9px;
  margin-top:24px;
}
.afp-login-feature-row span{
  padding:8px 12px;
  background:rgba(255,255,255,.66);
  box-shadow:0 8px 18px rgba(15,76,110,.04);
}
.afp-login-showcase-footer{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:23px;
  font-size:17px;
  letter-spacing:.06em;
}
.afp-login-showcase-footer i{
  width:26px;
  height:1px;
  background:linear-gradient(90deg,rgba(15,118,110,.2),rgba(15,118,110,.85));
}
.afp-login-panel{
  padding:clamp(30px,4vw,64px);
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
.afp-login-panel-inner{
  max-width:470px;
}
@media (max-width:980px){
  .afp-login-showcase-logo-wrap{width:min(390px,92%);margin-bottom:16px;}
  .afp-login-showcase-logo{max-height:285px;}
  .afp-login-showcase h1{font-size:clamp(31px,6vw,45px);}
}
@media (max-width:620px){
  .afp-login-showcase-logo-wrap{width:min(300px,94%);margin:0 auto 14px;}
  .afp-login-showcase-logo{max-height:220px;object-position:center;}
  .afp-login-showcase-tag{margin-left:auto;margin-right:auto;}
  .afp-login-showcase h1{text-align:center;font-size:32px;}
  .afp-login-showcase p{text-align:center;}
  .afp-login-feature-row{justify-content:center;}
  .afp-login-showcase-footer{justify-content:center;font-size:14px;}
  .afp-login-showcase-footer i{width:18px;}
}

/* v1.5.38 — login AssociaPlus com painel institucional centrado */
.afp-login-showcase{
  justify-content:center;
  text-align:center;
}
.afp-login-showcase-inner{
  align-items:center;
  margin:0 auto;
  max-width:720px;
}
.afp-login-showcase-logo-wrap{
  width:min(455px,92%);
  margin:0 auto 18px;
}
.afp-login-showcase-logo{
  margin:0 auto;
  object-position:center center;
}
.afp-login-showcase-tag{
  margin-left:auto;
  margin-right:auto;
}
.afp-login-showcase h1,
.afp-login-showcase p{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.afp-login-feature-row,
.afp-login-showcase-footer{
  justify-content:center;
}
@media (min-width:981px){
  .afp-login-showcase-logo-wrap{width:min(430px,88%);}
  .afp-login-showcase h1{max-width:620px;}
  .afp-login-showcase p{max-width:600px;}
}


/* v1.5.40 — remover cabeçalho genérico duplicado dos módulos */
.afp-sidebar-footer .afp-install-app-btn{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.2) !important;
  color:#fff !important;
  padding:8px 10px;
  min-height:34px;
  white-space:nowrap;
}
.afp-sidebar-footer .afp-install-app-btn:hover{
  background:rgba(255,255,255,.2) !important;
}


/* v1.5.41 Web App / PWA install experience */
.afp-install-app-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  border-color:#cbd5e1;
}
.afp-install-app-btn img{
  width:25px;
  height:25px;
  object-fit:cover;
  border-radius:8px;
  box-shadow:0 4px 10px rgba(15,23,42,.12);
}
.afp-install-app-btn.compact{
  width:100%;
  justify-content:flex-start;
  padding:10px 12px;
}
.afp-login-webapp-install{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding:13px;
  border:1px solid #dbe8fb;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fbff 0%,#eefaf8 100%);
}
.afp-login-webapp-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#0f172a;
}
.afp-login-webapp-copy strong{font-size:13px;line-height:1.2}
.afp-login-webapp-copy small{font-size:11px;line-height:1.35;color:#64748b}
.afp-login-webapp-install .afp-install-app-btn{
  flex:0 0 auto;
  min-height:40px;
  padding:8px 11px;
  font-size:12px;
}
@media (max-width:560px){
  .afp-login-webapp-install{align-items:stretch;flex-direction:column}
  .afp-login-webapp-install .afp-install-app-btn{width:100%}
}

/* v1.5.42 — Bilheteira com QR Code e check-in móvel */
.afp-ticket-checkin-panel{
  border:1px solid #bfdbfe;
  background:linear-gradient(135deg,#f8fbff 0%,#effcf8 100%);
}
.afp-ticket-checkin-form{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.afp-ticket-checkin-form input{
  flex:1 1 270px;
  min-height:44px;
  padding:10px 13px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  background:#fff;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.afp-ticket-checkin-counter{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 11px;
  border-radius:999px;
  background:#dbeafe;
  color:#1e40af;
  font-size:12px;
  font-weight:800;
}
.afp-ticket-scanner-video{
  display:block;
  width:min(100%,520px);
  max-height:360px;
  margin:14px auto 0;
  border:3px solid #2563eb;
  border-radius:20px;
  background:#0f172a;
  object-fit:cover;
}
.afp-ticket-checkin-result{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:14px;
  padding:13px 15px;
  border-radius:14px;
  font-size:14px;
}
.afp-ticket-checkin-result.success{
  border:1px solid #86efac;
  background:#f0fdf4;
  color:#166534;
}
.afp-ticket-checkin-result.error{
  border:1px solid #fecaca;
  background:#fef2f2;
  color:#991b1b;
}
.afp-ticket-code{
  display:inline-block;
  padding:4px 7px;
  border-radius:8px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:11px;
  white-space:nowrap;
}
@media (max-width:680px){
  .afp-ticket-checkin-form{align-items:stretch;flex-direction:column}
  .afp-ticket-checkin-form input,.afp-ticket-checkin-form .afp-btn{width:100%;flex-basis:auto}
}

/* v1.5.47 tasks / kanban */
.afp-task-view-actions{
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.afp-kanban-shell{
  overflow:hidden;
}

.afp-kanban-shell > .afp-card-head{
  margin-bottom:14px;
}

.afp-kanban-board{
  display:grid;
  grid-template-columns:repeat(4,minmax(250px,1fr));
  gap:14px;
  align-items:start;
  overflow-x:auto;
  padding:2px 2px 10px;
}

.afp-kanban-column{
  min-width:250px;
  border:1px solid #dbe5f1;
  border-radius:18px;
  background:#f8fafc;
  overflow:hidden;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.afp-kanban-column.is-drag-over,
.afp-kanban-column-body.is-drag-over{
  border-color:#2563eb;
  background:#eff6ff;
}

.afp-kanban-column.is-drag-over{
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.afp-kanban-column-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  padding:14px 14px 12px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}

.afp-kanban-column-head strong{
  display:block;
  color:#0f172a;
  font-size:14px;
}

.afp-kanban-column-head strong span{
  color:#2563eb;
  margin-right:4px;
}

.afp-kanban-column-head small{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}

.afp-kanban-column-head b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#dbeafe;
  color:#1e40af;
  font-size:12px;
}

.afp-kanban-column-body{
  min-height:160px;
  padding:10px;
  border:1px solid transparent;
  border-radius:0 0 18px 18px;
  transition:border-color .18s ease, background .18s ease;
}

.afp-kanban-card{
  margin-bottom:10px;
  padding:12px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 10px rgba(15,23,42,.04);
  cursor:grab;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}

.afp-kanban-card:last-child{
  margin-bottom:0;
}

.afp-kanban-card:hover{
  transform:translateY(-2px);
  border-color:#bfdbfe;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.afp-kanban-card.is-dragging{
  opacity:.45;
  cursor:grabbing;
}

.afp-kanban-card.is-overdue{
  border-color:#fecaca;
  background:#fffafa;
}

.afp-kanban-card-top,
.afp-kanban-card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

.afp-kanban-card h4{
  margin:10px 0 6px;
  color:#0f172a;
  font-size:14px;
  line-height:1.35;
}

.afp-kanban-card p{
  margin:0 0 10px;
  color:#64748b;
  font-size:12px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.afp-kanban-overdue{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.afp-kanban-meta{
  display:grid;
  gap:4px;
  margin:8px 0 10px;
}

.afp-kanban-meta span{
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.afp-kanban-progress{
  height:6px;
  margin:6px 0 9px;
  border-radius:999px;
  overflow:hidden;
  background:#e2e8f0;
}

.afp-kanban-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#2563eb;
}

.afp-kanban-card-footer small{
  color:#64748b;
  font-size:10px;
  white-space:nowrap;
}

.afp-kanban-card-actions{
  display:flex;
  justify-content:flex-end;
  gap:5px;
  flex-wrap:wrap;
}

.afp-kanban-card-actions .afp-link-btn{
  padding:3px 5px;
  font-size:11px;
}

.afp-kanban-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:96px;
  padding:14px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  color:#94a3b8;
  font-size:12px;
  line-height:1.4;
  text-align:center;
}

@media (max-width:1100px){
  .afp-kanban-board{
    grid-template-columns:repeat(4,minmax(270px,270px));
  }
}

@media (max-width:760px){
  .afp-task-view-actions{
    justify-content:flex-start;
  }
  .afp-kanban-board{
    grid-template-columns:repeat(4,minmax(265px,265px));
    scroll-snap-type:x proximity;
  }
  .afp-kanban-column{
    scroll-snap-align:start;
  }
}


/* v1.5.48 — Kanban visível e seletor de vista destacado */
.afp-task-mode-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.afp-task-mode-tabs .afp-module-tab{min-height:70px;}
.afp-task-mode-tabs .afp-module-tab-copy small{display:block;}
.afp-tasks-view > .afp-kanban-shell{margin-bottom:20px;}
@media(max-width:680px){
  .afp-task-mode-tabs{grid-template-columns:1fr;}
}

/* v1.5.49 — Kanban único, filtros por fase e modal de tarefas */
.afp-tasks-view .afp-kanban-shell{margin-bottom:18px;}
.afp-kanban-column-filter{border-bottom:1px solid #e2e8f0;background:#f8fafc;}
.afp-kanban-column-filter summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;cursor:pointer;color:#475569;font-size:11px;font-weight:800;list-style:none;}
.afp-kanban-column-filter summary::-webkit-details-marker{display:none;}
.afp-kanban-column-filter summary:before{content:'▾';color:#2563eb;font-size:11px;transition:transform .18s ease;}
.afp-kanban-column-filter[open] summary:before{transform:rotate(180deg);}
.afp-kanban-column-filter summary span{margin-right:auto;}
.afp-kanban-column-filter summary b{padding:2px 6px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:9px;text-transform:uppercase;letter-spacing:.04em;}
.afp-kanban-column-filter-form{display:grid;gap:7px;padding:0 10px 10px;}
.afp-kanban-column-filter-form input,
.afp-kanban-column-filter-form select{width:100%;min-width:0;height:34px;padding:6px 8px;border:1px solid #dbe5f1;border-radius:9px;background:#fff;color:#334155;font-size:11px;}
.afp-kanban-column-filter-actions{display:flex;gap:6px;flex-wrap:wrap;}
.afp-kanban-column-filter-actions .afp-btn{min-height:30px;padding:5px 9px;font-size:11px;}
.afp-task-modal-box{width:min(940px,100%);}
.afp-task-modal-actions{align-items:center;margin-top:16px;}
.afp-task-modal-actions .danger{margin-left:auto;}
.afp-task-cancelled-tray{margin-top:16px;}
.afp-task-cancelled-tray > summary{cursor:pointer;color:#475569;font-weight:800;}
.afp-task-cancelled-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:14px;}
.afp-task-cancelled-grid .afp-kanban-card{margin:0;}
@media(max-width:760px){
  .afp-task-modal-actions .danger{margin-left:0;}
  .afp-kanban-column-filter-form{gap:6px;}
}


/* v1.5.50 candidaturas / apoios */
.afp-grants-summary-grid{margin-bottom:22px}.afp-grant-progress{display:flex;align-items:center;gap:8px;min-width:140px}.afp-grant-progress progress{width:90px}.afp-grant-revenue-tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3ff;color:#1e3a8a;font-size:12px;font-weight:800}.afp-grant-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.afp-grant-detail-card{margin-top:16px}.afp-grant-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.afp-grant-data-grid div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;background:#f8fafc}.afp-grant-history-table{min-width:760px}.afp-grant-documents-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.afp-grant-document-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px}.afp-grant-document-form{border-top:1px solid #e2e8f0;padding-top:14px}.afp-field small{display:block;margin-top:5px;color:#64748b;font-size:12px}@media(max-width:900px){.afp-grant-detail-grid,.afp-grant-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.afp-grant-detail-grid,.afp-grant-data-grid{grid-template-columns:1fr}.afp-grant-document-row{flex-direction:column}}

/* v1.5.51 ficha detalhada de candidaturas reorganizada */
.afp-grant-detail-modal-box{width:min(1380px,100%);padding:0 24px 24px}
.afp-grant-detail-header{margin:0 -24px 18px;padding:20px 24px 14px;border-bottom:1px solid #e2e8f0;align-items:flex-start}
.afp-grant-detail-heading{min-width:0}.afp-grant-detail-heading h3{margin:5px 0 4px;font-size:22px;color:#0f172a}.afp-grant-detail-eyebrow,.afp-grant-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.afp-grant-detail-eyebrow>span:first-child{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.afp-grant-detail-meta span{font-size:12px;color:#64748b}.afp-grant-detail-meta span+span:before{content:'•';margin-right:8px;color:#cbd5e1}.afp-grant-detail-header-actions{align-items:center;flex-shrink:0}
.afp-grant-financial-overview{padding:2px 0 4px}.afp-grant-financial-card{padding:16px;border:1px solid #e2e8f0;box-shadow:none}.afp-grant-financial-card .afp-stat{font-size:22px}.afp-grant-financial-card p{margin:6px 0 0}.afp-grant-detail-progress{padding:14px 16px;border:1px solid #dbeafe;border-radius:14px;background:#eff6ff}.afp-grant-detail-progress>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;font-size:13px;color:#1e3a8a}.afp-grant-detail-progress progress{display:block;width:100%;height:11px}
.afp-grant-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:16px;align-items:start;margin-top:14px}.afp-grant-detail-main{display:grid;gap:16px}.afp-grant-detail-card{margin-top:0;border:1px solid #e2e8f0;box-shadow:none}.afp-grant-detail-card .afp-card-head{margin-bottom:8px}.afp-grant-detail-card .afp-card-head h3,.afp-grant-documents-panel .afp-card-head h3{font-size:15px}.afp-grant-detail-card .afp-card-head p,.afp-grant-documents-panel .afp-card-head p{margin:4px 0 0;font-size:12px}.afp-grant-data-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.afp-grant-data-grid div{padding:11px;border:1px solid #edf2f7;background:#f8fafc}.afp-grant-data-grid strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.afp-grant-data-grid span{color:#0f172a;font-size:13px}.afp-grant-notes-card p{white-space:pre-wrap;margin:0;color:#334155;line-height:1.6}
.afp-grant-documents-panel{position:sticky;top:68px;padding:18px;border:1px solid #dbeafe;box-shadow:none;background:#fbfdff}.afp-grant-documents-head{align-items:flex-start}.afp-grant-documents-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:12px;font-weight:900}.afp-grant-documents-list{display:grid;gap:9px;margin:12px 0 14px}.afp-grant-document-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.afp-grant-document-legacy{border-style:dashed;background:#f8fafc}.afp-grant-document-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:900}.afp-grant-document-legacy .afp-grant-document-icon{background:#f1f5f9;color:#475569;font-size:18px}.afp-grant-document-content{min-width:0}.afp-grant-document-content strong{display:block;color:#0f172a;font-size:13px;overflow-wrap:anywhere}.afp-grant-document-content p{margin:4px 0 0;line-height:1.35}.afp-grant-document-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:3px}.afp-grant-document-type{display:inline-flex;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.afp-grant-document-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.afp-btn-small{min-height:30px;padding:5px 9px;font-size:11px}.afp-grant-documents-empty{padding:16px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;text-align:center}.afp-grant-documents-empty p{margin:6px 0 0}.afp-grant-document-upload{border-top:1px solid #e2e8f0;padding-top:12px}.afp-grant-document-upload summary{cursor:pointer;color:#1d4ed8;font-size:13px;font-weight:900}.afp-grant-document-form{margin-top:12px;border-top:0;padding-top:0}.afp-grant-document-form .afp-form-grid{grid-template-columns:1fr}.afp-grant-document-form .afp-span-2{grid-column:1}.afp-grant-history-card{margin-top:16px}.afp-grant-history-summary{display:flex;align-items:flex-end;flex-direction:column;gap:3px;font-size:12px;color:#64748b}.afp-grant-history-summary strong{color:#0f172a;font-size:16px}
@media(max-width:1050px){.afp-grant-detail-layout{grid-template-columns:1fr}.afp-grant-documents-panel{position:static}.afp-grant-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.afp-grant-detail-modal-box{padding:0 16px 16px}.afp-grant-detail-header{margin:0 -16px 14px;padding:16px}.afp-grant-detail-header{gap:10px}.afp-grant-detail-header-actions .afp-btn{display:none}.afp-grant-financial-overview .afp-grant-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.afp-grant-financial-card{padding:12px}.afp-grant-financial-card .afp-stat{font-size:17px}.afp-grant-data-grid{grid-template-columns:1fr}.afp-grant-document-card{grid-template-columns:34px minmax(0,1fr)}.afp-grant-document-icon{width:34px;height:34px}.afp-grant-document-actions{grid-column:2;flex-direction:row;align-items:center}.afp-grant-history-summary{display:none}}


/* v1.5.52 — ficha detalhada de candidaturas fiel à pré-visualização validada */
#afp-grant-detail-modal{
  align-items:flex-start;
  padding:28px;
  background:rgba(226,232,240,.72) !important;
}
#afp-grant-detail-modal .afp-grant-detail-modal-box{
  width:min(1380px,calc(100vw - 56px));
  max-width:calc(100vw - 56px);
  max-height:calc(100vh - 56px);
  margin:auto;
  padding:0 24px 24px;
  overflow:auto;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.15);
}
#afp-grant-detail-modal .afp-grant-detail-header{
  position:sticky;
  top:0;
  z-index:12;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:0 -24px 18px;
  padding:20px 24px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#fff !important;
}
#afp-grant-detail-modal .afp-grant-detail-brand{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}
#afp-grant-detail-modal .afp-grant-detail-logo{
  display:block;
  width:42px;
  height:42px;
  flex:0 0 42px;
  object-fit:contain;
}
#afp-grant-detail-modal .afp-grant-detail-heading{min-width:0}
#afp-grant-detail-modal .afp-grant-detail-heading h3{
  margin:6px 0 4px;
  color:#0f172a;
  font-size:23px;
  line-height:1.15;
  letter-spacing:-.02em;
}
#afp-grant-detail-modal .afp-grant-detail-eyebrow,
#afp-grant-detail-modal .afp-grant-detail-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
#afp-grant-detail-modal .afp-grant-detail-eyebrow>span:first-child{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#afp-grant-detail-modal .afp-grant-detail-meta span{
  color:#64748b;
  font-size:12px;
}
#afp-grant-detail-modal .afp-grant-detail-meta span+span:before{
  content:'•';
  margin-right:8px;
  color:#cbd5e1;
}
#afp-grant-detail-modal .afp-grant-detail-header-actions{
  align-items:center;
  flex-wrap:nowrap;
  flex-shrink:0;
}
#afp-grant-detail-modal .afp-grant-detail-header-actions .afp-btn.secondary{
  min-height:36px;
  padding:9px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#fff;
  color:#1d4ed8;
  box-shadow:none;
  font-size:12px;
}
#afp-grant-detail-modal .afp-grant-detail-header-actions .afp-icon-btn{
  width:28px;
  height:28px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#64748b;
  font-size:27px;
}
#afp-grant-detail-modal .afp-status{
  padding:4px 8px;
  box-shadow:none;
  font-size:10px;
  letter-spacing:0;
}
#afp-grant-detail-modal .afp-grant-financial-overview{padding:0}
#afp-grant-detail-modal .afp-grant-financial-overview .afp-grant-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 12px;
}
#afp-grant-detail-modal .afp-grant-financial-card,
#afp-grant-detail-modal .afp-grant-financial-card:hover{
  min-height:0;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
  transform:none;
  transition:none;
}
#afp-grant-detail-modal .afp-grant-financial-card .afp-card-label{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
#afp-grant-detail-modal .afp-grant-financial-card .afp-stat{
  margin:7px 0 0;
  color:#0f172a;
  font-size:23px;
  line-height:1.05;
  letter-spacing:-.025em;
}
#afp-grant-detail-modal .afp-grant-financial-card p{margin:7px 0 0}
#afp-grant-detail-modal .afp-grant-detail-progress{
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#eff6ff;
}
#afp-grant-detail-modal .afp-grant-detail-progress>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  color:#1e3a8a;
  font-size:13px;
}
#afp-grant-detail-modal .afp-grant-detail-progress-bar{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#dbeafe;
}
#afp-grant-detail-modal .afp-grant-detail-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#2563eb;
}
#afp-grant-detail-modal .afp-grant-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);
  gap:16px;
  align-items:start;
  margin-top:16px;
}
#afp-grant-detail-modal .afp-grant-detail-main{
  display:grid;
  gap:16px;
}
#afp-grant-detail-modal .afp-grant-detail-card,
#afp-grant-detail-modal .afp-grant-documents-panel{
  margin:0;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
#afp-grant-detail-modal .afp-grant-detail-card::before,
#afp-grant-detail-modal .afp-grant-documents-panel::before{display:none !important}
#afp-grant-detail-modal .afp-grant-detail-card .afp-card-head,
#afp-grant-detail-modal .afp-grant-documents-panel .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin:0 0 8px;
  padding:0;
  border:0;
}
#afp-grant-detail-modal .afp-grant-detail-card .afp-card-head h3,
#afp-grant-detail-modal .afp-grant-documents-panel .afp-card-head h3{
  margin:0;
  color:#0f172a;
  font-size:15px;
  line-height:1.2;
}
#afp-grant-detail-modal .afp-grant-detail-card .afp-card-head p,
#afp-grant-detail-modal .afp-grant-documents-panel .afp-card-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
}
#afp-grant-detail-modal .afp-grant-data-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 0;
}
#afp-grant-detail-modal .afp-grant-data-grid>div{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:11px;
  border:1px solid #edf2f7;
  border-radius:10px;
  background:#f8fafc;
}
#afp-grant-detail-modal .afp-grant-data-grid strong{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#afp-grant-detail-modal .afp-grant-data-grid span{
  color:#0f172a;
  font-size:13px;
}
#afp-grant-detail-modal .afp-grant-notes-card p{
  margin:0;
  color:#334155;
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
}
#afp-grant-detail-modal .afp-grant-documents-panel{
  position:sticky;
  top:84px;
  border-color:#dbeafe;
  background:#fbfdff;
}
#afp-grant-detail-modal .afp-grant-documents-count{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:30px;
  padding:0 8px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:900;
}
#afp-grant-detail-modal .afp-grant-documents-list{
  display:grid;
  gap:9px;
  margin:12px 0 14px;
}
#afp-grant-detail-modal .afp-grant-document-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
#afp-grant-detail-modal .afp-grant-document-legacy{
  border-style:dashed;
  background:#f8fafc;
}
#afp-grant-detail-modal .afp-grant-document-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef2ff;
  color:#3730a3;
  font-size:10px;
  font-weight:900;
}
#afp-grant-detail-modal .afp-grant-document-legacy .afp-grant-document-icon{
  background:#f1f5f9;
  color:#475569;
  font-size:18px;
}
#afp-grant-detail-modal .afp-grant-document-content{min-width:0}
#afp-grant-detail-modal .afp-grant-document-content strong{
  display:block;
  margin-top:4px;
  color:#0f172a;
  font-size:13px;
  overflow-wrap:anywhere;
}
#afp-grant-detail-modal .afp-grant-document-content p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
#afp-grant-detail-modal .afp-grant-document-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
#afp-grant-detail-modal .afp-grant-document-type{
  display:inline-flex;
  padding:2px 6px;
  border-radius:999px;
  background:#eef2ff;
  color:#3730a3;
  font-size:9px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
}
#afp-grant-detail-modal .afp-grant-document-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px;
}
#afp-grant-detail-modal .afp-grant-document-actions .afp-btn-small{
  min-height:0;
  padding:7px 9px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#fff;
  color:#1d4ed8;
  box-shadow:none;
  font-size:11px;
}
#afp-grant-detail-modal .afp-grant-document-actions .danger{
  margin:0;
  opacity:0;
  font-size:11px;
  transition:opacity .14s ease;
}
#afp-grant-detail-modal .afp-grant-document-card:hover .afp-grant-document-actions .danger,
#afp-grant-detail-modal .afp-grant-document-card:focus-within .afp-grant-document-actions .danger{opacity:1}
#afp-grant-detail-modal .afp-grant-documents-empty{
  padding:16px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  background:#fff;
  text-align:center;
}
#afp-grant-detail-modal .afp-grant-document-upload{
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}
#afp-grant-detail-modal .afp-grant-document-upload summary{
  cursor:pointer;
  color:#1d4ed8;
  font-size:13px;
  font-weight:900;
}
#afp-grant-detail-modal .afp-grant-document-upload summary::marker{color:#1d4ed8}
#afp-grant-detail-modal .afp-grant-document-form{
  margin-top:12px;
  padding-top:0;
  border-top:0;
}
#afp-grant-detail-modal .afp-grant-document-form .afp-form-grid{grid-template-columns:1fr}
#afp-grant-detail-modal .afp-grant-document-form .afp-span-2{grid-column:1}
#afp-grant-detail-modal .afp-grant-history-card{margin-top:16px}
#afp-grant-detail-modal .afp-grant-history-summary{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  color:#64748b;
  font-size:12px;
}
#afp-grant-detail-modal .afp-grant-history-summary strong{
  color:#0f172a;
  font-size:16px;
}
#afp-grant-detail-modal .afp-grant-history-card .afp-table-wrap{
  border:0;
  border-radius:0;
  box-shadow:none;
}
#afp-grant-detail-modal .afp-grant-history-table{
  width:100%;
  min-width:760px;
  margin-top:12px;
  border-collapse:collapse;
  font-size:12px;
}
#afp-grant-detail-modal .afp-grant-history-table th,
#afp-grant-detail-modal .afp-grant-history-table td{
  padding:11px 8px;
  border-bottom:1px solid #e2e8f0;
  text-align:left !important;
}
#afp-grant-detail-modal .afp-grant-history-table th{
  background:#fff;
  color:#64748b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
@media(max-width:1050px){
  #afp-grant-detail-modal .afp-grant-detail-layout{grid-template-columns:1fr}
  #afp-grant-detail-modal .afp-grant-documents-panel{position:static}
  #afp-grant-detail-modal .afp-grant-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  #afp-grant-detail-modal{padding:8px}
  #afp-grant-detail-modal .afp-grant-detail-modal-box{
    width:100%;
    max-width:100%;
    max-height:calc(100vh - 16px);
    padding:0 16px 16px;
    border-radius:18px;
  }
  #afp-grant-detail-modal .afp-grant-detail-header{
    margin:0 -16px 14px;
    padding:16px;
  }
  #afp-grant-detail-modal .afp-grant-detail-logo{
    width:34px;
    height:34px;
    flex-basis:34px;
  }
  #afp-grant-detail-modal .afp-grant-detail-heading h3{font-size:19px}
  #afp-grant-detail-modal .afp-grant-detail-header-actions .afp-btn{display:none}
  #afp-grant-detail-modal .afp-grant-financial-overview .afp-grant-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  #afp-grant-detail-modal .afp-grant-financial-card{padding:12px}
  #afp-grant-detail-modal .afp-grant-financial-card .afp-stat{font-size:17px}
  #afp-grant-detail-modal .afp-grant-data-grid{grid-template-columns:1fr}
  #afp-grant-detail-modal .afp-grant-document-card{grid-template-columns:34px minmax(0,1fr)}
  #afp-grant-detail-modal .afp-grant-document-icon{width:34px;height:34px}
  #afp-grant-detail-modal .afp-grant-document-actions{
    grid-column:2;
    flex-direction:row;
    align-items:center;
  }
  #afp-grant-detail-modal .afp-grant-document-actions .danger{opacity:1}
  #afp-grant-detail-modal .afp-grant-history-summary{display:none}
}


/* v1.5.53 — candidaturas em painel expandido, logótipo da associação e scroll geral único */
.afp-grants-workspace-view{
  padding:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
}
.afp-grant-workspace{
  width:100%;
  padding:0 24px 24px;
  overflow:visible;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.afp-grant-workspace-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:0 -24px 18px;
  padding:20px 24px 14px;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
}
.afp-grant-workspace-brand{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
}
.afp-grant-workspace-logo{
  display:block;
  width:46px;
  height:46px;
  flex:0 0 46px;
  object-fit:contain;
}
.afp-grant-workspace-heading{min-width:0}
.afp-grant-workspace-heading h3{
  margin:6px 0 4px;
  color:#0f172a;
  font-size:23px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.afp-grant-workspace-eyebrow,
.afp-grant-workspace-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.afp-grant-workspace-eyebrow>span:first-child{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.afp-grant-workspace-meta span{
  color:#64748b;
  font-size:12px;
}
.afp-grant-workspace-meta span+span:before{
  content:'•';
  margin-right:8px;
  color:#cbd5e1;
}
.afp-grant-workspace-header-actions{
  align-items:center;
  flex-wrap:nowrap;
  flex-shrink:0;
}
.afp-grant-workspace-header-actions .afp-btn.secondary{
  min-height:36px;
  padding:9px 12px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#fff;
  color:#1d4ed8;
  box-shadow:none;
  font-size:12px;
}
.afp-grant-workspace-header-actions .afp-icon-btn{
  width:30px;
  height:30px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#64748b;
  font-size:27px;
}
.afp-grant-workspace .afp-status{
  padding:4px 8px;
  box-shadow:none;
  font-size:10px;
  letter-spacing:0;
}
.afp-grant-workspace .afp-grant-financial-overview{padding:0}
.afp-grant-workspace .afp-grant-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 12px;
}
.afp-grant-workspace .afp-grant-financial-card,
.afp-grant-workspace .afp-grant-financial-card:hover{
  min-height:0;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
  transform:none;
  transition:none;
}
.afp-grant-workspace .afp-grant-financial-card .afp-card-label{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.afp-grant-workspace .afp-grant-financial-card .afp-stat{
  margin:7px 0 0;
  color:#0f172a;
  font-size:23px;
  line-height:1.05;
  letter-spacing:-.025em;
}
.afp-grant-workspace .afp-grant-financial-card p{margin:7px 0 0}
.afp-grant-workspace .afp-grant-detail-progress{
  padding:14px 16px;
  border:1px solid #dbeafe;
  border-radius:14px;
  background:#eff6ff;
}
.afp-grant-workspace .afp-grant-detail-progress>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  color:#1e3a8a;
  font-size:13px;
}
.afp-grant-workspace .afp-grant-detail-progress-bar{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#dbeafe;
}
.afp-grant-workspace .afp-grant-detail-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#2563eb;
}
.afp-grant-workspace .afp-grant-detail-layout,
.afp-grant-workspace .afp-grant-edit-layout{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);
  gap:16px;
  align-items:start;
  margin-top:16px;
}
.afp-grant-workspace .afp-grant-detail-main,
.afp-grant-workspace .afp-grant-edit-main{
  display:grid;
  gap:16px;
}
.afp-grant-workspace .afp-grant-detail-card,
.afp-grant-workspace .afp-grant-documents-panel,
.afp-grant-workspace .afp-grant-edit-sidebar{
  margin:0;
  padding:16px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.afp-grant-workspace .afp-grant-detail-card::before,
.afp-grant-workspace .afp-grant-documents-panel::before,
.afp-grant-workspace .afp-grant-edit-sidebar::before{display:none !important}
.afp-grant-workspace .afp-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  margin:0 0 8px;
  padding:0;
  border:0;
}
.afp-grant-workspace .afp-card-head h3{
  margin:0;
  color:#0f172a;
  font-size:15px;
  line-height:1.2;
}
.afp-grant-workspace .afp-card-head p{
  margin:4px 0 0;
  color:#64748b;
  font-size:12px;
}
.afp-grant-workspace .afp-grant-data-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:12px 0 0;
}
.afp-grant-workspace .afp-grant-data-grid>div{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:11px;
  border:1px solid #edf2f7;
  border-radius:10px;
  background:#f8fafc;
}
.afp-grant-workspace .afp-grant-data-grid strong{
  color:#64748b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.afp-grant-workspace .afp-grant-data-grid span{
  color:#0f172a;
  font-size:13px;
}
.afp-grant-workspace .afp-grant-notes-card p{
  margin:0;
  color:#334155;
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
}
.afp-grant-workspace .afp-grant-notes-card textarea{
  width:100%;
  min-height:132px;
  margin-top:6px;
}
.afp-grant-workspace .afp-grant-documents-panel,
.afp-grant-workspace .afp-grant-edit-sidebar{
  position:static;
  border-color:#dbeafe;
  background:#fbfdff;
}
.afp-grant-workspace .afp-grant-documents-count{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:30px;
  padding:0 8px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:900;
}
.afp-grant-workspace .afp-grant-documents-list{
  display:grid;
  gap:9px;
  margin:12px 0 14px;
}
.afp-grant-workspace .afp-grant-document-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
}
.afp-grant-workspace .afp-grant-document-legacy{border-style:dashed;background:#f8fafc}
.afp-grant-workspace .afp-grant-document-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef2ff;
  color:#3730a3;
  font-size:10px;
  font-weight:900;
}
.afp-grant-workspace .afp-grant-document-legacy .afp-grant-document-icon{background:#f1f5f9;color:#475569;font-size:18px}
.afp-grant-workspace .afp-grant-document-content{min-width:0}
.afp-grant-workspace .afp-grant-document-content strong{display:block;margin-top:4px;color:#0f172a;font-size:13px;overflow-wrap:anywhere}
.afp-grant-workspace .afp-grant-document-content p{margin:4px 0 0;color:#64748b;font-size:12px;line-height:1.35}
.afp-grant-workspace .afp-grant-document-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.afp-grant-workspace .afp-grant-document-type{display:inline-flex;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:9px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.afp-grant-workspace .afp-grant-document-actions{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.afp-grant-workspace .afp-grant-document-actions .afp-btn-small{min-height:0;padding:7px 9px;border:1px solid #bfdbfe;border-radius:8px;background:#fff;color:#1d4ed8;box-shadow:none;font-size:11px}
.afp-grant-workspace .afp-grant-document-actions .danger{margin:0;opacity:0;font-size:11px;transition:opacity .14s ease}
.afp-grant-workspace .afp-grant-document-card:hover .afp-grant-document-actions .danger,
.afp-grant-workspace .afp-grant-document-card:focus-within .afp-grant-document-actions .danger{opacity:1}
.afp-grant-workspace .afp-grant-documents-empty{padding:16px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;text-align:center}
.afp-grant-workspace .afp-grant-document-upload{padding-top:12px;border-top:1px solid #e2e8f0}
.afp-grant-workspace .afp-grant-document-upload summary{cursor:pointer;color:#1d4ed8;font-size:13px;font-weight:900}
.afp-grant-workspace .afp-grant-document-form{margin-top:12px;padding-top:0;border-top:0}
.afp-grant-workspace .afp-grant-document-form .afp-form-grid{grid-template-columns:1fr}
.afp-grant-workspace .afp-grant-document-form .afp-span-2{grid-column:1}
.afp-grant-workspace .afp-grant-history-card{margin-top:16px}
.afp-grant-workspace .afp-grant-history-summary{display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:#64748b;font-size:12px}
.afp-grant-workspace .afp-grant-history-summary strong{color:#0f172a;font-size:16px}
.afp-grant-workspace .afp-grant-history-card .afp-table-wrap{overflow-x:auto;overflow-y:visible;border:0;border-radius:0;box-shadow:none}
.afp-grant-workspace .afp-grant-history-table{width:100%;min-width:760px;margin-top:12px;border-collapse:collapse;font-size:12px}
.afp-grant-workspace .afp-grant-history-table th,
.afp-grant-workspace .afp-grant-history-table td{padding:11px 8px;border-bottom:1px solid #e2e8f0;text-align:left !important}
.afp-grant-workspace .afp-grant-history-table th{background:#fff;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.afp-grant-workspace .afp-grant-edit-data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.afp-grant-workspace .afp-grant-edit-data-grid .afp-field,
.afp-grant-workspace .afp-grant-sidebar-fields .afp-field{margin-bottom:0}
.afp-grant-workspace .afp-grant-sidebar-fields{display:grid;gap:13px;margin-top:14px}
.afp-grant-workspace .afp-field label{margin-bottom:6px;color:#475569;font-size:12px}
.afp-grant-workspace .afp-field input,
.afp-grant-workspace .afp-field select,
.afp-grant-workspace .afp-field textarea{width:100%;padding:11px 12px;border:1px solid #dbe5f1;border-radius:10px;background:#fff;color:#0f172a;font-size:13px;box-shadow:none}
.afp-grant-workspace .afp-field small{font-size:11px;line-height:1.45}
.afp-grant-workspace .afp-grant-form-actions{margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}
@media(max-width:1050px){
  .afp-grant-workspace .afp-grant-detail-layout,
  .afp-grant-workspace .afp-grant-edit-layout{grid-template-columns:1fr}
  .afp-grant-workspace .afp-grant-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .afp-grant-workspace{padding:0 16px 16px;border-radius:18px}
  .afp-grant-workspace-header{margin:0 -16px 14px;padding:16px}
  .afp-grant-workspace-logo{width:36px;height:36px;flex-basis:36px}
  .afp-grant-workspace-heading h3{font-size:19px}
  .afp-grant-workspace-header-actions .afp-btn{display:none}
  .afp-grant-workspace .afp-grant-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .afp-grant-workspace .afp-grant-financial-card{padding:12px}
  .afp-grant-workspace .afp-grant-financial-card .afp-stat{font-size:17px}
  .afp-grant-workspace .afp-grant-data-grid,
  .afp-grant-workspace .afp-grant-edit-data-grid{grid-template-columns:1fr}
  .afp-grant-workspace .afp-grant-edit-data-grid .afp-span-2{grid-column:1}
  .afp-grant-workspace .afp-grant-document-card{grid-template-columns:34px minmax(0,1fr)}
  .afp-grant-workspace .afp-grant-document-icon{width:34px;height:34px}
  .afp-grant-workspace .afp-grant-document-actions{grid-column:2;flex-direction:row;align-items:center}
  .afp-grant-workspace .afp-grant-document-actions .danger{opacity:1}
  .afp-grant-workspace .afp-grant-history-summary{display:none}
}


/* v1.5.54 — painel inicial de candidaturas orientado à gestão diária */
.afp-grants-dashboard-view{display:grid;gap:18px}
.afp-grants-dashboard-view>.afp-card,.afp-grants-dashboard-view>.afp-grid{margin-bottom:0}
.afp-grants-dashboard-header{margin-bottom:0}
.afp-grants-dashboard-header h2{font-size:30px;letter-spacing:-.04em}
.afp-grants-dashboard-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.afp-grants-dashboard-stat,.afp-grants-dashboard-stat:hover{display:flex;align-items:center;gap:14px;min-height:126px;padding:18px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(15,23,42,.035);transform:none}
.afp-grants-dashboard-stat .afp-stat{margin:7px 0 5px;color:#0f172a;font-size:24px;letter-spacing:-.035em}
.afp-grants-dashboard-stat p{margin:0;color:#64748b;font-size:12px}
.afp-grants-stat-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;font-size:23px;font-weight:900}
.afp-grants-stat-icon-blue{background:#e6efff;color:#0f5bea}.afp-grants-stat-icon-green{background:#dcfce7;color:#16a34a}.afp-grants-stat-icon-orange{background:#ffebe5;color:#f97316}
.afp-grants-attention{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #f4c85b;border-radius:14px;background:#fff9e8;color:#422006}
.afp-grants-attention-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#ffefbd;color:#ea7800;font-size:22px}
.afp-grants-attention div{min-width:0;flex:1}.afp-grants-attention strong{font-size:14px}.afp-grants-attention p{margin:3px 0 0;color:#765320;font-size:12px;line-height:1.4}
.afp-grants-attention .afp-btn{border-color:#f2ce78;background:#fff;color:#1d4ed8;box-shadow:none}
.afp-grants-dashboard-panel{padding:0;overflow:visible;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.035)}
.afp-grants-tabs{display:flex;gap:0;overflow-x:auto;padding:0 16px;border-bottom:1px solid #e2e8f0}
.afp-grants-tab{display:flex;align-items:center;gap:8px;min-height:58px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#334155;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer}
.afp-grants-tab.active{border-color:#2563eb;color:#1d4ed8}.afp-grants-tab b{display:flex;align-items:center;justify-content:center;min-width:23px;height:21px;padding:0 6px;border-radius:999px;background:#eef2ff;color:#475569;font-size:11px}.afp-grants-tab.active b{background:#dbeafe;color:#1d4ed8}
.afp-grants-dashboard-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #e2e8f0}
.afp-grants-dashboard-toolbar select{width:auto;min-width:120px;height:40px;padding:0 12px;border:1px solid #dbe5f1;border-radius:9px;background:#fff;color:#334155;font-size:12px;font-weight:700}
.afp-grants-search{display:flex;align-items:center;gap:8px;min-width:260px;flex:1;height:40px;padding:0 12px;border:1px solid #dbe5f1;border-radius:9px;background:#fff;color:#64748b}.afp-grants-search input{width:100%;border:0;outline:0;background:transparent;color:#334155;font-size:12px}
.afp-grants-more-filters{position:relative}.afp-grants-more-filters summary{height:40px;padding:11px 12px;border:1px solid #dbe5f1;border-radius:9px;background:#fff;color:#334155;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.afp-grants-more-filters summary::-webkit-details-marker{display:none}.afp-grants-more-filters>div{position:absolute;z-index:15;right:0;top:46px;display:grid;gap:11px;width:250px;padding:13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.14)}.afp-grants-more-filters label{display:grid;gap:6px;color:#64748b;font-size:11px;font-weight:800}.afp-grants-more-filters select{width:100%}
.afp-grants-dashboard-toolbar .afp-grants-apply{min-height:40px;padding:10px 14px}.afp-grants-reset{margin-left:auto;color:#1d4ed8;font-size:12px}
.afp-grants-dashboard-table-wrap{overflow-x:auto;border:0;border-radius:0;box-shadow:none}.afp-grants-dashboard-table{min-width:1240px;margin:0}.afp-grants-dashboard-table th{padding:12px 11px;background:#f8fafc;color:#64748b;font-size:10px;text-transform:none}.afp-grants-dashboard-table td{padding:14px 11px;border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:12px;vertical-align:middle}.afp-grants-dashboard-table tr:last-child td{border-bottom:0}
.afp-grants-application-cell{display:flex;align-items:center;gap:12px;min-width:250px}.afp-grants-application-cell>div{display:grid;gap:4px}.afp-grants-application-cell strong{font-size:13px}.afp-grants-application-cell small{color:#64748b;font-size:11px}.afp-grants-application-cell em{width:max-content;padding:3px 7px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:10px;font-style:normal;font-weight:800}.afp-grants-row-marker{display:block;width:4px;height:56px;border-radius:99px;background:#f59e0b}.afp-grants-row-marker.green{background:#22c55e}.afp-grants-row-marker.blue{background:#2563eb}.afp-grants-row-marker.gray{background:#94a3b8}.afp-grants-funder{color:#334155;font-size:12px;font-weight:600}.afp-grants-dashboard-table td:nth-child(4){text-align:left;white-space:nowrap}.afp-grants-dashboard-table td:nth-child(4) small,.afp-grants-dashboard-table td:nth-child(4) strong{display:block}.afp-grants-dashboard-table td:nth-child(4) small{margin-bottom:3px;color:#64748b}.afp-grants-dashboard-table td:nth-child(5){white-space:nowrap}
.afp-grants-execution{display:grid;gap:5px;min-width:215px}.afp-grants-execution small{color:#475569}.afp-grants-execution>div{display:flex;align-items:center;gap:8px}.afp-grants-execution i{display:block;width:145px;height:9px;overflow:hidden;border-radius:999px;background:#e2e8f0}.afp-grants-execution i span{display:block;height:100%;border-radius:999px;background:#2563eb}.afp-grants-execution b{font-size:12px}.afp-grants-execution em{font-size:11px;font-style:normal}.afp-grants-execution .pending{color:#ea580c}.afp-grants-execution .complete{color:#16a34a}.afp-grants-docs-cell{display:grid;gap:4px;min-width:74px}.afp-grants-docs-cell small{font-size:11px;font-weight:800}.afp-grants-docs-cell .complete{color:#16a34a}.afp-grants-docs-cell .missing{color:#dc2626}
.afp-grants-row-actions{display:flex;align-items:center;gap:8px;position:relative}.afp-grants-row-actions .afp-btn-small{min-height:33px;padding:8px 11px;border-color:#bfdbfe;background:#fff;color:#1d4ed8;box-shadow:none;font-size:11px}.afp-grants-row-actions details{position:relative}.afp-grants-row-actions details summary{display:flex;align-items:center;justify-content:center;width:33px;height:33px;border:1px solid #dbe5f1;border-radius:8px;background:#fff;color:#475569;font-size:18px;cursor:pointer;list-style:none}.afp-grants-row-actions details summary::-webkit-details-marker{display:none}.afp-grants-row-actions details div{position:absolute;z-index:20;right:0;top:38px;display:grid;min-width:125px;padding:6px;border:1px solid #e2e8f0;border-radius:9px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.14)}.afp-grants-row-actions details button{padding:8px;border:0;border-radius:6px;background:transparent;color:#334155;text-align:left;font-size:12px;cursor:pointer}.afp-grants-row-actions details button:hover{background:#f8fafc}.afp-grants-row-actions details .danger{color:#dc2626}
.afp-grants-dashboard-panel .afp-pagination{padding:14px 16px;border-top:1px solid #e2e8f0}
@media(max-width:1100px){.afp-grants-dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.afp-grants-dashboard-header{align-items:flex-start}.afp-grants-dashboard-header h2{font-size:24px}.afp-grants-dashboard-header .afp-inline-actions{width:100%}.afp-grants-dashboard-header .afp-btn{flex:1}.afp-grants-dashboard-summary{grid-template-columns:1fr;gap:9px}.afp-grants-dashboard-stat{min-height:auto;padding:14px}.afp-grants-attention{align-items:flex-start;flex-wrap:wrap}.afp-grants-attention .afp-btn{width:100%}.afp-grants-dashboard-toolbar{gap:8px;padding:12px}.afp-grants-search{min-width:100%;flex-basis:100%}.afp-grants-dashboard-toolbar select{flex:1;min-width:calc(50% - 4px)}.afp-grants-more-filters{flex:1}.afp-grants-more-filters summary{width:100%}.afp-grants-reset{margin-left:0}.afp-grants-tabs{padding:0 8px}.afp-grants-tab{min-height:52px;padding:0 12px}}
.afp-grants-dashboard-table th:nth-child(4){text-align:left}


/* ==========================================================================\n   v1.5.55 — Financeiro unificado: receitas e despesas num único módulo\n   ========================================================================== */
.afp-finance-dashboard{display:flex;flex-direction:column;gap:18px}.afp-finance-hero{margin-bottom:0}.afp-finance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.afp-finance-summary-card{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #e3eaf4;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(30,64,175,.045)}.afp-finance-summary-card small,.afp-finance-summary-card em{display:block}.afp-finance-summary-card small{text-transform:uppercase;letter-spacing:.04em;color:#51617d;font-weight:800;font-size:11px}.afp-finance-summary-card strong{display:block;font-size:24px;color:#111827;margin:5px 0}.afp-finance-summary-card em{font-style:normal;color:#6b7a90;font-size:12px}.afp-finance-summary-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;font-size:22px;font-weight:800;flex:0 0 auto}.afp-finance-summary-card.balance .afp-finance-summary-icon{background:#dcfce7;color:#16803c}.afp-finance-summary-card.revenues .afp-finance-summary-icon{background:#dbeafe;color:#1d4ed8}.afp-finance-summary-card.expenses .afp-finance-summary-icon{background:#fee2e2;color:#dc2626}.afp-finance-summary-card.pending .afp-finance-summary-icon{background:#fef3c7;color:#b45309}.afp-finance-attention{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #f4cc72;background:#fff9e8;border-radius:14px;padding:14px 18px}.afp-finance-attention>div{display:flex;align-items:center;gap:13px}.afp-finance-attention>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ffecb5;color:#c87800;font-size:20px}.afp-finance-attention p{margin:3px 0 0;color:#805b19;font-size:13px}.afp-finance-list-card{padding:0;overflow:visible}.afp-finance-tabs{display:flex;gap:12px;padding:0 16px;border-bottom:1px solid #e4ebf5;overflow:auto}.afp-finance-tabs button{display:flex;align-items:center;gap:8px;padding:15px 4px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:#334155;font-weight:800;white-space:nowrap;cursor:pointer}.afp-finance-tabs button.active{color:#075ee5;border-color:#075ee5}.afp-finance-tabs span{display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:99px;background:#eef3fa;font-size:11px;color:#475569}.afp-finance-toolbar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(105px,.65fr)) auto auto;gap:10px;padding:16px}.afp-finance-toolbar input,.afp-finance-toolbar select{min-width:0}.afp-finance-table td{vertical-align:middle}.afp-finance-table td>small,.afp-finance-table td>em{display:block;margin-top:4px;color:#718198;font-size:11px}.afp-finance-overdue{color:#dc2626!important;font-style:normal}.afp-finance-category-tag{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:800}.afp-finance-category-tag.revenue{background:#dbeafe;color:#1d4ed8}.afp-finance-category-tag.expense{background:#fee2e2;color:#b91c1c}.afp-finance-origin small,.afp-finance-origin strong{display:block}.afp-finance-origin small{color:#718198}.afp-finance-origin strong{color:#075ee5;font-size:12px;margin-top:3px}.afp-finance-amount.revenue,.positive{color:#11853d!important}.afp-finance-amount.expense,.negative{color:#dc2626!important}.afp-finance-row-actions{display:flex;gap:8px;align-items:center}.afp-finance-row-actions details{position:relative}.afp-finance-row-actions summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7e1ef;border-radius:8px;cursor:pointer;list-style:none;font-weight:900}.afp-finance-row-actions summary::-webkit-details-marker{display:none}.afp-finance-row-actions details>div{position:absolute;right:0;top:36px;z-index:6;display:flex;min-width:175px;flex-direction:column;padding:6px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.15)}.afp-finance-row-actions details button{padding:8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.afp-finance-row-actions details button:hover{background:#f2f6fb}.afp-finance-row-actions details button.danger{color:#dc2626}.afp-finance-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.afp-finance-period-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e3eaf4;border-radius:14px;background:#fff}.afp-finance-period-summary div{padding:14px 18px;border-right:1px solid #e7edf5}.afp-finance-period-summary div:last-child{border-right:0}.afp-finance-period-summary small,.afp-finance-period-summary strong{display:block}.afp-finance-period-summary small{color:#718198}.afp-finance-period-summary strong{margin-top:5px;font-size:18px}.afp-finance-workspace{display:flex;flex-direction:column;gap:15px}.afp-finance-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border:1px solid #e1e9f4;border-radius:16px;background:#fff}.afp-finance-workspace-brand{display:flex;align-items:center;gap:12px}.afp-finance-workspace-brand img{width:52px;height:52px;object-fit:contain}.afp-finance-workspace-brand span{color:#075ee5;font-size:10px;font-weight:900;letter-spacing:.08em}.afp-finance-workspace-brand h2{margin:2px 0;color:#101828}.afp-finance-workspace-brand p{margin:0;color:#708097;font-size:13px}.afp-finance-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.afp-finance-detail-stats>div{padding:15px;border:1px solid #e2eaf4;border-radius:13px;background:#fff}.afp-finance-detail-stats small,.afp-finance-detail-stats strong{display:block}.afp-finance-detail-stats small{text-transform:uppercase;color:#718198;font-weight:800;font-size:10px}.afp-finance-detail-stats strong{margin-top:6px;font-size:18px}.afp-finance-detail-layout,.afp-finance-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.afp-finance-kv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.afp-finance-kv-grid>div{padding:12px;border-radius:10px;background:#f6f8fb}.afp-finance-kv-grid small,.afp-finance-kv-grid strong,.afp-finance-kv-grid span{display:block}.afp-finance-kv-grid small{color:#718198;font-weight:800;text-transform:uppercase;font-size:10px}.afp-finance-kv-grid strong{margin-top:5px}.afp-finance-kv-grid span{margin-top:3px;color:#075ee5;font-size:12px}.afp-finance-description{margin-top:12px;padding:12px;background:#f6f8fb;border-radius:10px}.afp-finance-description small{color:#718198;font-weight:800;text-transform:uppercase;font-size:10px}.afp-finance-description p{margin:6px 0 0}.afp-finance-document-ready,.afp-finance-document-empty{display:flex;flex-direction:column;gap:10px;padding:15px;border-radius:12px;background:#f6f8fb}.afp-finance-document-ready span{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#e0e7ff;color:#3730a3;font-weight:900}.afp-finance-fiscal{display:flex;flex-direction:column;gap:5px;margin-top:14px;padding-top:14px;border-top:1px solid #e4ebf5}.afp-finance-fiscal small{color:#718198;font-weight:800;text-transform:uppercase;font-size:10px}.afp-finance-form-sidebar{display:flex;flex-direction:column;gap:10px}.afp-finance-form-actions{justify-content:flex-end;padding-top:2px}
@media(max-width:1180px){.afp-finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.afp-finance-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.afp-finance-toolbar input{grid-column:span 3}.afp-finance-settings-grid{grid-template-columns:1fr}.afp-finance-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.afp-finance-period-summary div:nth-child(2){border-right:0}}
@media(max-width:800px){.afp-finance-summary-grid,.afp-finance-detail-stats,.afp-finance-period-summary{grid-template-columns:1fr}.afp-finance-attention,.afp-finance-workspace-header{align-items:flex-start;flex-direction:column}.afp-finance-toolbar{display:flex;flex-direction:column}.afp-finance-toolbar input{width:100%}.afp-finance-detail-layout,.afp-finance-form-layout{grid-template-columns:1fr}.afp-finance-kv-grid{grid-template-columns:1fr}.afp-finance-period-summary div{border-right:0;border-bottom:1px solid #e7edf5}.afp-finance-period-summary div:last-child{border-bottom:0}}


/* ==========================================================================
   v1.5.56 — Dashboard principal visual e operacional
   ========================================================================== */
.afp-dashboard-v2 { display:flex; flex-direction:column; gap:20px; }
.afp-dashboard-v2-header { align-items:flex-start; }
.afp-dashboard-v2-top-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.afp-dashboard-v2-stat-card { display:flex; gap:16px; align-items:flex-start; min-height:132px; }
.afp-dashboard-v2-stat-icon { width:54px; height:54px; border-radius:18px; display:inline-flex; align-items:center; justify-content:center; font-size:26px; font-weight:800; flex:0 0 54px; }
.afp-dashboard-v2-stat-icon.green { background:#dcfce7; color:#15803d; }
.afp-dashboard-v2-stat-icon.blue { background:#dbeafe; color:#1d4ed8; }
.afp-dashboard-v2-stat-icon.orange { background:#ffedd5; color:#c2410c; }
.afp-dashboard-v2-stat-icon.purple { background:#f3e8ff; color:#7e22ce; }
.afp-dashboard-v2-stat-card p { margin:8px 0 0; color:#64748b; font-size:13px; }
.afp-dashboard-v2-alert { display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid #fdba74; background:#fff7ed; border-radius:18px; padding:18px 22px; }
.afp-dashboard-v2-alert strong { color:#9a3412; font-size:24px; display:block; margin-bottom:4px; }
.afp-dashboard-v2-alert p { margin:0; color:#7c2d12; }
.afp-dashboard-v2-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(320px,1fr); gap:20px; align-items:start; }
.afp-dashboard-v2-main, .afp-dashboard-v2-side { display:flex; flex-direction:column; gap:20px; min-width:0; }
.afp-dashboard-v2-financial-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.afp-dashboard-v2-mini-card { border:1px solid var(--afp-border); border-radius:16px; padding:16px 18px; background:#fff; }
.afp-dashboard-v2-mini-card small { display:block; font-weight:700; color:#475569; margin-bottom:8px; }
.afp-dashboard-v2-mini-card strong { font-size:34px; line-height:1.1; display:block; }
.afp-dashboard-v2-mini-card.revenue { box-shadow:inset 3px 0 0 #22c55e; }
.afp-dashboard-v2-mini-card.revenue strong { color:#16a34a; }
.afp-dashboard-v2-mini-card.expense { box-shadow:inset 3px 0 0 #ef4444; }
.afp-dashboard-v2-mini-card.expense strong { color:#dc2626; }
.afp-dashboard-v2-mini-card.pending { box-shadow:inset 3px 0 0 #f59e0b; }
.afp-dashboard-v2-mini-card.pending strong { color:#d97706; }
.afp-dashboard-v2-balance-row { display:flex; align-items:center; justify-content:space-between; margin:10px 0 8px; font-weight:700; }
.afp-dashboard-v2-balance-bar { display:flex; height:14px; border-radius:999px; overflow:hidden; background:#e2e8f0; }
.afp-dashboard-v2-balance-bar span { display:block; height:100%; }
.afp-dashboard-v2-balance-bar .revenue { background:#22c55e; }
.afp-dashboard-v2-balance-bar .expense { background:#ef4444; }
.afp-dashboard-v2-balance-bar .pending { background:#f59e0b; }
.afp-dashboard-v2-bar-scale { display:flex; justify-content:space-between; margin-top:8px; color:#64748b; font-size:12px; }
.afp-dashboard-mini-table td strong + small { display:block; color:#64748b; margin-top:4px; }
.afp-dashboard-progress-cell { display:flex; align-items:center; gap:12px; }
.afp-dashboard-progress { width:110px; height:8px; border-radius:999px; background:#e2e8f0; overflow:hidden; }
.afp-dashboard-progress i { display:block; height:100%; background:linear-gradient(90deg,#2563eb,#60a5fa); border-radius:999px; }
.afp-dashboard-v2-event-list, .afp-dashboard-v2-task-list, .afp-dashboard-v2-agenda-list { display:flex; flex-direction:column; gap:12px; }
.afp-dashboard-v2-event-item { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px 0; border-top:1px solid #eef2ff; }
.afp-dashboard-v2-event-item:first-child { border-top:0; padding-top:0; }
.afp-dashboard-v2-date-chip { width:64px; border:1px solid var(--afp-border); border-radius:16px; text-align:center; padding:10px 6px; background:#f8fafc; }
.afp-dashboard-v2-date-chip strong { display:block; font-size:28px; line-height:1; color:#0f172a; }
.afp-dashboard-v2-date-chip span { display:block; margin-top:4px; font-size:12px; color:#64748b; font-weight:700; }
.afp-dashboard-v2-event-copy h4 { margin:0 0 5px; font-size:18px; }
.afp-dashboard-v2-event-copy p, .afp-dashboard-v2-event-copy small { margin:0; color:#64748b; }
.afp-dashboard-v2-event-meta { display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.afp-dashboard-v2-task-item { display:grid; grid-template-columns:18px minmax(0,1fr) auto; gap:12px; align-items:center; }
.afp-dashboard-v2-task-check { width:18px; height:18px; border-radius:6px; border:1.5px solid #cbd5e1; background:#fff; }
.afp-dashboard-v2-task-copy strong { display:block; }
.afp-dashboard-v2-task-copy small { color:#64748b; display:block; margin-top:4px; }
.afp-dashboard-v2-more { align-self:flex-start; margin-top:6px; }
.afp-dashboard-v2-agenda-item { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #eef2ff; }
.afp-dashboard-v2-agenda-item:first-child { border-top:0; padding-top:0; }
.afp-dashboard-v2-agenda-item span { font-weight:600; }
.afp-dashboard-v2-agenda-item small { color:#64748b; }
.afp-dashboard-v2-shortcuts-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.afp-dashboard-shortcut { border:1px solid var(--afp-border); background:#fff; border-radius:18px; min-height:108px; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; font:inherit; cursor:pointer; transition:.2s ease; }
.afp-dashboard-shortcut:hover:not(:disabled) { border-color:#93c5fd; box-shadow:0 10px 24px rgba(37,99,235,.12); transform:translateY(-1px); }
.afp-dashboard-shortcut:disabled { opacity:.45; cursor:not-allowed; }
.afp-dashboard-shortcut span { width:42px; height:42px; border-radius:14px; background:#eff6ff; color:#2563eb; display:inline-flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; }
.afp-dashboard-shortcut strong { text-align:center; font-size:15px; color:#0f172a; }
.afp-dashboard-v2-new-actions { border:1px dashed var(--afp-border); border-radius:18px; padding:0 18px; background:#fff; }
.afp-dashboard-v2-new-actions > summary { cursor:pointer; list-style:none; padding:16px 0; font-weight:700; color:#0f172a; }
.afp-dashboard-v2-new-actions > summary::-webkit-details-marker { display:none; }
.afp-dashboard-v2-new-actions-grid { display:flex; flex-wrap:wrap; gap:12px; padding:0 0 18px; }
.afp-dashboard-empty-note { color:#64748b; }
@media (max-width: 1200px) {
  .afp-dashboard-v2-top-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .afp-dashboard-v2-layout { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .afp-dashboard-v2-top-stats, .afp-dashboard-v2-financial-mini-grid, .afp-dashboard-v2-shortcuts-grid { grid-template-columns:1fr; }
  .afp-dashboard-v2-alert { flex-direction:column; align-items:flex-start; }
  .afp-dashboard-v2-event-item { grid-template-columns:64px 1fr; }
  .afp-dashboard-v2-event-meta { grid-column:1 / -1; align-items:flex-start; }
  .afp-dashboard-v2-task-item { grid-template-columns:18px 1fr; }
  .afp-dashboard-v2-task-item .afp-status { grid-column:2; justify-self:flex-start; }
}


/* ==========================================================================
   v1.5.58 — Agenda Global transversal
   ========================================================================== */
.afp-agenda-view { display:flex; flex-direction:column; gap:18px; }
.afp-agenda-header { align-items:flex-start; }
.afp-agenda-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.afp-agenda-summary-card { display:flex; gap:14px; align-items:flex-start; min-height:120px; }
.afp-agenda-summary-icon { width:48px; height:48px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; font-size:21px; flex:0 0 48px; }
.afp-agenda-summary-icon.all { background:#dbeafe; color:#1d4ed8; }
.afp-agenda-summary-icon.event { background:#ede9fe; color:#7c3aed; }
.afp-agenda-summary-icon.rental { background:#dcfce7; color:#15803d; }
.afp-agenda-summary-icon.alert { background:#ffedd5; color:#c2410c; }
.afp-agenda-summary-card small { display:block; color:#64748b; font-weight:700; }
.afp-agenda-summary-card strong { display:block; margin-top:4px; font-size:30px; color:#0f172a; }
.afp-agenda-summary-card p { margin:6px 0 0; color:#64748b; font-size:13px; }
.afp-agenda-panel { padding:0; overflow:hidden; }
.afp-agenda-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:16px; border-bottom:1px solid #e2e8f0; background:#f8fafc; }
.afp-agenda-toolbar input { min-width:220px; flex:1 1 260px; }
.afp-agenda-view-switch { display:inline-flex; border:1px solid #cbd5e1; border-radius:12px; overflow:hidden; background:#fff; margin-left:auto; }
.afp-agenda-view-switch button { border:0; background:#fff; padding:10px 14px; font:inherit; cursor:pointer; color:#475569; }
.afp-agenda-view-switch button.active { background:#2563eb; color:#fff; }
.afp-agenda-result-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; border-bottom:1px solid #e2e8f0; }
.afp-agenda-date-group { padding:0 18px 10px; }
.afp-agenda-date-group > h3 { margin:18px 0 8px; color:#334155; font-size:16px; }
.afp-agenda-list-item { position:relative; display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:16px; align-items:center; padding:15px 14px 15px 18px; margin-bottom:10px; border:1px solid #e2e8f0; border-radius:15px; background:#fff; overflow:hidden; }
.afp-agenda-list-item::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#94a3b8; }
.afp-agenda-list-item.event::before { background:#8b5cf6; }.afp-agenda-list-item.task::before { background:#f59e0b; }.afp-agenda-list-item.rental::before { background:#22c55e; }.afp-agenda-list-item.grant::before { background:#2563eb; }.afp-agenda-list-item.finance::before { background:#ef4444; }
.afp-agenda-list-date strong, .afp-agenda-list-date small { display:block; }.afp-agenda-list-date small { color:#64748b; margin-top:4px; }
.afp-agenda-list-content h4 { margin:6px 0 4px; font-size:17px; }.afp-agenda-list-content p { margin:0; color:#475569; }.afp-agenda-list-content small { display:block; margin-top:6px; color:#64748b; }
.afp-agenda-list-actions { display:flex; align-items:flex-end; flex-direction:column; gap:8px; }
.afp-agenda-type { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:#475569; }.afp-agenda-type i { width:22px; height:22px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; font-style:normal; }.afp-agenda-type.event i { background:#ede9fe; color:#7c3aed; }.afp-agenda-type.task i { background:#fef3c7; color:#b45309; }.afp-agenda-type.rental i { background:#dcfce7; color:#15803d; }.afp-agenda-type.grant i { background:#dbeafe; color:#1d4ed8; }.afp-agenda-type.finance i { background:#fee2e2; color:#dc2626; }
.afp-agenda-calendar-nav { display:flex; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid #e2e8f0; }.afp-agenda-calendar-nav h3 { margin:0; text-transform:capitalize; }
.afp-agenda-calendar-weekdays, .afp-agenda-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.afp-agenda-calendar-weekdays span { padding:10px; text-align:center; font-size:12px; font-weight:700; color:#64748b; background:#f8fafc; border-bottom:1px solid #e2e8f0; }
.afp-agenda-calendar-day { min-height:132px; border-right:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; padding:8px; background:#fff; }.afp-agenda-calendar-day:nth-child(7n) { border-right:0; }.afp-agenda-calendar-day.empty { background:#f8fafc; }.afp-agenda-calendar-day.today { box-shadow:inset 0 0 0 2px #2563eb; }
.afp-agenda-calendar-day-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }.afp-agenda-calendar-day-head span { font-size:11px; color:#64748b; }
.afp-agenda-calendar-day-items { display:flex; flex-direction:column; gap:4px; }.afp-agenda-calendar-item { border:0; border-radius:7px; padding:5px 6px; display:flex; gap:5px; align-items:center; text-align:left; cursor:pointer; font:inherit; font-size:11px; overflow:hidden; }.afp-agenda-calendar-item span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.afp-agenda-calendar-item i { font-style:normal; font-weight:800; }.afp-agenda-calendar-item.event { background:#ede9fe; color:#6d28d9; }.afp-agenda-calendar-item.task { background:#fef3c7; color:#92400e; }.afp-agenda-calendar-item.rental { background:#dcfce7; color:#166534; }.afp-agenda-calendar-item.grant { background:#dbeafe; color:#1d4ed8; }.afp-agenda-calendar-item.finance { background:#fee2e2; color:#b91c1c; }
.afp-dashboard-agenda-link { border:0; background:transparent; width:100%; cursor:pointer; font:inherit; text-align:left; }.afp-dashboard-agenda-link:hover span { color:#2563eb; }.afp-dashboard-agenda-dot { display:inline-block; width:9px; height:9px; border-radius:999px; margin-right:8px; }.afp-dashboard-agenda-dot.event{background:#8b5cf6}.afp-dashboard-agenda-dot.task{background:#f59e0b}.afp-dashboard-agenda-dot.rental{background:#22c55e}.afp-dashboard-agenda-dot.grant{background:#2563eb}.afp-dashboard-agenda-dot.finance{background:#ef4444}
@media (max-width:1100px){.afp-agenda-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.afp-agenda-calendar-day{min-height:112px}}
@media (max-width:780px){.afp-agenda-summary-grid{grid-template-columns:1fr}.afp-agenda-view-switch{margin-left:0}.afp-agenda-list-item{grid-template-columns:1fr}.afp-agenda-list-actions{align-items:flex-start}.afp-agenda-calendar-weekdays,.afp-agenda-calendar-grid{min-width:780px}.afp-agenda-panel{overflow-x:auto}.afp-agenda-toolbar{position:sticky;left:0}.afp-agenda-calendar-nav{position:sticky;left:0;min-width:100%}}


/* ==========================================================================
   v1.5.59 — Eventos visualmente reorganizados
   ========================================================================== */
.afp-events-dashboard-view { display:flex; flex-direction:column; gap:20px; }
.afp-events-dashboard-stats .afp-card p { margin-top:8px; }
.afp-events-dashboard-alert strong { font-size:22px; }
.afp-events-insights-grid { align-items:stretch; }
.afp-events-insight-card strong { display:block; font-size:18px; color:#0f172a; margin-bottom:6px; }
.afp-events-insight-card p { margin:0; color:#475569; font-weight:700; }
.afp-events-list-panel { display:flex; flex-direction:column; gap:16px; }
.afp-events-toolbar { align-items:center; }
.afp-events-dashboard-list { display:flex; flex-direction:column; gap:16px; }
.afp-event-dashboard-card { display:flex; flex-direction:column; gap:18px; }
.afp-event-dashboard-card-head { display:grid; grid-template-columns:78px minmax(0,1fr) auto; gap:16px; align-items:start; }
.afp-event-dashboard-date-chip { width:72px; border:1px solid var(--afp-border); border-radius:18px; padding:12px 8px; text-align:center; background:#f8fafc; }
.afp-event-dashboard-date-chip strong { display:block; font-size:32px; line-height:1; color:#0f172a; }
.afp-event-dashboard-date-chip span { display:block; margin-top:6px; font-size:12px; font-weight:800; color:#64748b; }
.afp-event-dashboard-copy { min-width:0; }
.afp-event-dashboard-copy h3 { margin:4px 0 6px; font-size:26px; }
.afp-event-dashboard-copy p { margin:0 0 6px; color:#334155; font-weight:600; }
.afp-event-dashboard-copy small { display:block; color:#64748b; }
.afp-event-dashboard-kicker { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.afp-event-dashboard-kicker small { color:#64748b; }
.afp-event-dashboard-actions { display:flex; align-items:flex-start; gap:10px; }
.afp-event-dashboard-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.afp-event-dashboard-metrics > div { border:1px solid var(--afp-border); border-radius:16px; padding:14px 16px; background:#fff; }
.afp-event-dashboard-metrics small { display:block; color:#64748b; font-weight:700; margin-bottom:8px; }
.afp-event-dashboard-metrics strong { display:block; font-size:24px; line-height:1.15; color:#0f172a; }
.afp-event-dashboard-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; color:#475569; font-weight:600; }
.afp-event-workspace { display:flex; flex-direction:column; gap:18px; }
.afp-event-workspace-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.afp-event-form-metrics .afp-stat-compact { font-size:20px; }
.afp-event-form-card { display:flex; flex-direction:column; gap:16px; }
.afp-event-form-actions { justify-content:flex-start; }
.afp-events-quick-tabs { margin-top:-4px; }
@media (max-width: 1100px) {
  .afp-event-dashboard-card-head { grid-template-columns:78px 1fr; }
  .afp-event-dashboard-actions { grid-column:1 / -1; }
  .afp-event-dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .afp-event-dashboard-card-head,
  .afp-event-dashboard-metrics { grid-template-columns:1fr; }
  .afp-event-dashboard-date-chip { width:100%; max-width:88px; }
  .afp-event-workspace-header { flex-direction:column; }
  .afp-events-toolbar { grid-template-columns:1fr; }
}


/* ==========================================================================
   v1.5.60 — Detalhe de evento reorganizado
   ========================================================================== */
.afp-event-detail-v160 .afp-event-detail-hero-v160{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dbeafe;
  border-radius:24px;
  padding:26px 28px;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.afp-event-detail-v160 .afp-module-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  color:#2563eb;
  letter-spacing:.08em;
}
.afp-event-detail-v160 .afp-event-kicker-v160{
  gap:12px;
  margin-bottom:8px;
}
.afp-event-detail-v160 .afp-event-detail-meta-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:0;
  color:#475569;
  font-weight:600;
}
.afp-event-detail-v160 .afp-event-quick-facts-v160{
  margin-top:14px;
}
.afp-event-detail-v160 .afp-event-hero-actions-v160{
  align-items:flex-end;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid{
  margin-top:4px;
}
.afp-event-detail-v160 .afp-event-detail-highlight{
  position:relative;
  overflow:hidden;
}
.afp-event-detail-v160 .afp-event-detail-highlight::after{
  content:'';
  position:absolute;
  left:20px;
  right:20px;
  bottom:14px;
  height:4px;
  border-radius:999px;
  opacity:.95;
}
.afp-event-detail-v160 .afp-event-detail-highlight.revenue::after{ background:#22c55e; }
.afp-event-detail-v160 .afp-event-detail-highlight.expense::after{ background:#ef4444; }
.afp-event-detail-v160 .afp-event-detail-highlight.balance::after{ background:#2563eb; }
.afp-event-detail-v160 .afp-event-detail-highlight.margin::after{ background:#8b5cf6; }
.afp-event-detail-v160 .afp-event-highlight-label{
  display:block;
  margin-bottom:10px;
  color:#334155;
  font-weight:800;
}
.afp-event-detail-v160 .afp-event-detail-overview-shell{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
  gap:18px;
  align-items:start;
}
.afp-event-detail-v160 .afp-event-detail-main-summary{
  min-height:100%;
}
.afp-event-detail-v160 .afp-event-detail-summary-text{
  margin:0 0 18px;
  color:#475569;
  line-height:1.65;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv > div{
  border-top:1px solid #e2e8f0;
  padding-top:12px;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv small{
  display:block;
  color:#64748b;
  font-weight:700;
  margin-bottom:6px;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv strong{
  color:#0f172a;
  font-size:18px;
}
.afp-event-detail-v160 .afp-event-detail-sidecards{
  display:grid;
  gap:16px;
}
.afp-event-detail-v160 .afp-event-side-card ul{
  margin:0;
  padding:0;
  list-style:none;
}
.afp-event-detail-v160 .afp-event-side-card li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-top:1px solid #eef2ff;
  color:#475569;
}
.afp-event-detail-v160 .afp-event-side-card li:first-child{
  border-top:0;
  padding-top:0;
}
.afp-event-detail-v160 .afp-event-side-card li strong{
  color:#0f172a;
}
@media (max-width: 1180px){
  .afp-event-detail-v160 .afp-event-detail-overview-shell{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
  .afp-event-detail-v160 .afp-event-detail-mini-kv{ grid-template-columns:1fr; }
  .afp-event-detail-v160 .afp-event-hero-actions-v160{ align-items:stretch; }
}


/* ==========================================================================
   v1.5.61 — Reposição das ações internas do evento
   ========================================================================== */
.afp-event-detail-v160 .afp-event-side-link{
  display:inline-flex;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #eef2ff;
  width:100%;
  justify-content:flex-start;
}


/* ==========================================================================
   v1.5.62 — Correção das listas internas do evento
   ========================================================================== */
.afp-list-first-inline-hidden{
  display:none !important;
}

.afp-list-first-inline-toolbar{
  margin:14px 0 10px;
  padding:14px 16px;
  border:1px solid #dbe8fb;
  border-radius:16px;
  background:#f8fbff;
}

.afp-list-first-inline-form{
  margin-top:0 !important;
  margin-bottom:18px !important;
}


/* ==========================================================================
   v1.5.63 — Comunicação e Documentos visualmente reorganizados
   ========================================================================== */
.afp-archive-view,
.afp-communications-view { display:flex; flex-direction:column; gap:20px; }
.afp-archive-summary-grid-v163,
.afp-communications-summary-grid-v163 { align-items:stretch; }
.afp-archive-stat-v163,
.afp-communication-stat-v163 { display:flex; align-items:flex-start; gap:14px; min-height:128px; }
.afp-archive-stat-icon,
.afp-communication-stat-icon { width:50px; height:50px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 50px; font-size:23px; font-weight:800; }
.afp-archive-stat-icon.blue,
.afp-communication-stat-icon.blue { background:#dbeafe; color:#1d4ed8; }
.afp-archive-stat-icon.green,
.afp-communication-stat-icon.green { background:#dcfce7; color:#15803d; }
.afp-archive-stat-icon.orange,
.afp-communication-stat-icon.orange { background:#ffedd5; color:#c2410c; }
.afp-archive-stat-icon.red { background:#fee2e2; color:#b91c1c; }
.afp-communication-stat-icon.purple { background:#f3e8ff; color:#7e22ce; }
.afp-archive-stat-v163 h3,
.afp-communication-stat-v163 h3 { margin:0 0 6px; color:#475569; font-size:15px; }
.afp-archive-stat-v163 p,
.afp-communication-stat-v163 p { margin:7px 0 0; font-size:13px; }
.afp-archive-alert-v163 strong,
.afp-communications-alert-v163 strong { font-size:22px; }
.afp-archive-tabs-v163 { margin:0; }
.afp-archive-filter-card-v163 { margin-top:0; }
.afp-archive-list-card-v163 .afp-card-head { margin-bottom:14px; }
.afp-archive-list-card-v163 .afp-pill { min-width:38px; text-align:center; }
.afp-archive-form-card-v163 { border-color:#bfdbfe; box-shadow:0 18px 36px rgba(37,99,235,.08); }
.afp-archive-table td:first-child strong { display:block; margin-bottom:4px; }
.afp-archive-table tbody tr:hover { background:#f8fbff; }
.afp-communication-workspace-grid-v163 { order:8; }
.afp-communications-filter-card { order:7; }
.afp-communications-view > .afp-social-panel,
.afp-communications-view > .afp-social-calendar-panel,
.afp-communications-view > .afp-social-templates-panel { order:7; }
.afp-communications-view > .afp-page-create-actions { order:6; }
.afp-communications-view .afp-module-tabs,
.afp-communications-view .afp-module-workbar,
.afp-communications-view .afp-communications-alert-v163 { order:5; }
.afp-communications-view .afp-module-hero { order:1; }
.afp-communications-view .afp-communications-summary-grid-v163 { order:2; }
.afp-communications-view .afp-communication-tabs { order:3; }
.afp-communications-view .afp-communications-workbar { order:4; }
.afp-communications-view .afp-communications-alert-v163 { order:5; }
.afp-communication-workspace-grid-v163 > .afp-card { border-color:#dbeafe; }
.afp-communication-tabs { background:#fff; border:1px solid #e2e8f0; padding:8px; border-radius:18px; }
.afp-communication-tab { min-height:70px; }
.afp-communications-workbar { border-radius:16px; }
.afp-communications-filter-card .afp-card-head { margin-bottom:12px; }
.afp-social-overview-panel,
.afp-social-composer-panel,
.afp-social-filter-card,
.afp-social-calendar-panel,
.afp-social-templates-panel { border-color:#e2e8f0; }
@media (max-width: 980px) {
  .afp-archive-stat-v163,
  .afp-communication-stat-v163 { min-height:auto; }
}
@media (max-width: 820px) {
  .afp-archive-summary-grid-v163,
  .afp-communications-summary-grid-v163 { grid-template-columns:1fr; }
  .afp-archive-tabs-v163 { overflow-x:auto; flex-wrap:nowrap; }
  .afp-archive-tabs-v163 button { flex:0 0 auto; }
}


/* ==========================================================================
   v1.5.64 — Sócios visualmente reorganizados
   ========================================================================== */
.afp-members-view-v164 { display:flex; flex-direction:column; gap:20px; }
.afp-members-hero-v164 { background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%); border:1px solid #dbeafe; border-radius:24px; padding:24px 26px; box-shadow:0 14px 36px rgba(15,23,42,.05); }
.afp-members-top-stats-v164 .afp-card { min-height:136px; }
.afp-members-stat-card p { margin-top:8px; }
.afp-members-alert-v164 strong { font-size:22px; }
.afp-members-summary-row-v164 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.afp-members-mini-card { min-height:100%; }
.afp-member-focus-card .afp-card-head { align-items:center; }
.afp-member-focus-main { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px; }
.afp-member-focus-main strong { display:block; font-size:18px; color:#0f172a; }
.afp-member-focus-main p { margin:4px 0 0; color:#64748b; }
.afp-member-focus-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.afp-member-focus-stats > div { border:1px solid var(--afp-border); border-radius:14px; padding:12px 14px; }
.afp-member-focus-stats small { display:block; color:#64748b; font-weight:700; margin-bottom:6px; }
.afp-member-focus-stats strong { color:#0f172a; font-size:18px; }
.afp-members-actions-card { border:1px solid #e2e8f0; }
.afp-members-top-actions { flex-wrap:wrap; }
.afp-members-tabs { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; }
.afp-members-tab { border:1px solid var(--afp-border); border-radius:18px; background:#fff; min-height:88px; box-shadow:none; }
.afp-members-tab.active { border-color:#93c5fd; box-shadow:0 12px 28px rgba(37,99,235,.1); }
.afp-members-workbar { background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; padding:14px 18px; display:flex; flex-wrap:wrap; gap:14px; color:#475569; }
.afp-members-filter-card, .afp-member-detail-shell, .afp-member-dues-panel, .afp-member-fees-table, .afp-member-import-table { border-color:#e2e8f0; }
.afp-members-view-v164 .afp-card { box-shadow:0 8px 24px rgba(15,23,42,.04); }
@media (max-width: 1100px) {
  .afp-members-summary-row-v164 { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .afp-members-top-stats-v164 { grid-template-columns:1fr !important; }
  .afp-member-focus-stats { grid-template-columns:1fr; }
  .afp-members-alert-v164 { flex-direction:column; align-items:flex-start; }
}


/* ==========================================================================
   v1.5.65 — Sócios com cor e linguagem visual alinhada
   ========================================================================== */
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card,
.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card,
.afp-members-view-v164 .afp-member-focus-card {
  position: relative;
  overflow: hidden;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card::before,
.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card::before,
.afp-members-view-v164 .afp-member-focus-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  border-radius: 999px;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(1) {
  background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
  border-color: #bbf7d0;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(1)::before { background: #22c55e; }
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(1) .afp-stat { color: #15803d; }

.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(2) {
  background: linear-gradient(180deg, #ffffff 0%, #fff7ed 100%);
  border-color: #fed7aa;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(2)::before { background: #f97316; }
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(2) .afp-stat { color: #c2410c; }

.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(3) {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
  border-color: #bfdbfe;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(3)::before { background: #2563eb; }
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(3) .afp-stat { color: #1d4ed8; }

.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(4) {
  background: linear-gradient(180deg, #ffffff 0%, #faf5ff 100%);
  border-color: #ddd6fe;
}
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(4)::before { background: #8b5cf6; }
.afp-members-view-v164 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(4) .afp-stat { color: #7c3aed; }

.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card:nth-child(1) {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card:nth-child(1)::before { background: #0f172a; }
.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card:nth-child(2) {
  background: linear-gradient(180deg, #ffffff 0%, #fffbeb 100%);
  border-color: #fde68a;
}
.afp-members-view-v164 .afp-members-summary-row-v164 .afp-members-mini-card:nth-child(2)::before { background: #eab308; }
.afp-members-view-v164 .afp-member-focus-card {
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
  border-color: #bfdbfe;
}
.afp-members-view-v164 .afp-member-focus-card::before { background: #2563eb; }

.afp-members-view-v164 .afp-member-mini-stats > div {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.78);
}
.afp-members-view-v164 .afp-member-mini-stats > div:nth-child(1) { box-shadow: inset 3px 0 0 #22c55e; }
.afp-members-view-v164 .afp-member-mini-stats > div:nth-child(2) { box-shadow: inset 3px 0 0 #f59e0b; }
.afp-members-view-v164 .afp-member-mini-stats > div:nth-child(3) { box-shadow: inset 3px 0 0 #ef4444; }
.afp-members-view-v164 .afp-member-mini-stats > div:nth-child(4) { box-shadow: inset 3px 0 0 #64748b; }

.afp-members-view-v164 .afp-members-tab {
  transition: .2s ease;
}
.afp-members-view-v164 .afp-members-tab:hover {
  border-color: #bfdbfe;
  box-shadow: 0 8px 20px rgba(37, 99, 235, .08);
  transform: translateY(-1px);
}
.afp-members-view-v164 .afp-members-tab.active {
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
}
.afp-members-view-v164 .afp-members-tab.active .afp-module-tab-icon {
  color: #2563eb;
}
.afp-members-view-v164 .afp-members-tab.active .afp-module-tab-count {
  background: #dbeafe;
  color: #1d4ed8;
}

.afp-members-view-v164 .afp-members-workbar {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.afp-members-view-v164 .afp-members-workbar span strong {
  color: #0f172a;
}

.afp-members-view-v164 .afp-members-actions-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}
.afp-members-view-v164 .afp-members-actions-card .afp-btn:not(.secondary) {
  box-shadow: 0 10px 22px rgba(37, 99, 235, .16);
}


/* ==========================================================================
   v1.5.66 — Alugueres / Reservas visualmente reorganizados
   ========================================================================== */
.afp-rentals-view-v166 { display:flex; flex-direction:column; gap:20px; }
.afp-rentals-view-v166 > .afp-card,
.afp-rentals-view-v166 > .afp-grid,
.afp-rentals-view-v166 > .afp-settings-grid,
.afp-rentals-view-v166 > .afp-rentals-summary-row-v166 { margin-bottom:0; }
.afp-rentals-hero-v166 { background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%); border:1px solid #dbeafe; border-radius:24px; padding:24px 26px; box-shadow:0 14px 36px rgba(15,23,42,.05); }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card,
.afp-rentals-summary-row-v166 .afp-rentals-mini-card { position:relative; overflow:hidden; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card::before,
.afp-rentals-summary-row-v166 .afp-rentals-mini-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; border-radius:999px; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(1) { background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%); border-color:#bbf7d0; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(1)::before { background:#22c55e; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(1) .afp-stat { color:#15803d; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(2) { background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%); border-color:#fed7aa; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(2)::before { background:#f97316; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(2) .afp-stat { color:#c2410c; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(3) { background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%); border-color:#bfdbfe; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(3)::before { background:#2563eb; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(3) .afp-stat { color:#1d4ed8; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(4) { background:linear-gradient(180deg,#ffffff 0%,#faf5ff 100%); border-color:#ddd6fe; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(4)::before { background:#8b5cf6; }
.afp-rentals-top-stats-v166 .afp-rentals-stat-card:nth-child(4) .afp-stat { color:#7c3aed; }
.afp-rentals-alert-v166 strong { font-size:22px; }
.afp-rentals-summary-row-v166 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(1) { background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%); }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(1)::before { background:#0f172a; }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(2) { background:linear-gradient(180deg,#ffffff 0%,#fffbeb 100%); border-color:#fde68a; }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(2)::before { background:#eab308; }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(3) { background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%); border-color:#bfdbfe; }
.afp-rentals-summary-row-v166 .afp-rentals-mini-card:nth-child(3)::before { background:#2563eb; }
.afp-rental-mini-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.afp-rental-mini-stats > div { border:1px solid #e2e8f0; border-radius:14px; padding:12px 14px; background:rgba(255,255,255,.8); }
.afp-rental-mini-stats > div span { display:block; color:#64748b; font-weight:700; margin-bottom:6px; }
.afp-rental-mini-stats > div strong { color:#0f172a; font-size:18px; }
.afp-rentals-filter-card { background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%); }
.afp-rentals-view-v166 .afp-card { box-shadow:0 8px 24px rgba(15,23,42,.04); }
@media (max-width: 1100px) {
  .afp-rentals-summary-row-v166 { grid-template-columns:1fr; }
}
@media (max-width: 820px) {
  .afp-rentals-top-stats-v166 { grid-template-columns:1fr !important; }
  .afp-rental-mini-stats { grid-template-columns:1fr; }
  .afp-rentals-alert-v166 { flex-direction:column; align-items:flex-start; }
}


/* ==========================================================================
   v1.5.67 — Modalidades, atletas, aulas, presenças e pagamentos
   ========================================================================== */
.afp-modalities-view{display:flex;flex-direction:column;gap:20px}.afp-modalities-hero{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border:1px solid #dbeafe;border-radius:24px;padding:24px 26px;box-shadow:0 14px 36px rgba(15,23,42,.05)}.afp-modalities-top-stats .afp-card{position:relative;overflow:hidden;min-height:132px}.afp-modalities-top-stats .afp-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:99px}.afp-modalities-top-stats .afp-card:nth-child(1){background:linear-gradient(180deg,#fff,#f0fdf4);border-color:#bbf7d0}.afp-modalities-top-stats .afp-card:nth-child(1):before{background:#22c55e}.afp-modalities-top-stats .afp-card:nth-child(1) .afp-stat{color:#15803d}.afp-modalities-top-stats .afp-card:nth-child(2){background:linear-gradient(180deg,#fff,#fff7ed);border-color:#fed7aa}.afp-modalities-top-stats .afp-card:nth-child(2):before{background:#f97316}.afp-modalities-top-stats .afp-card:nth-child(2) .afp-stat{color:#c2410c}.afp-modalities-top-stats .afp-card:nth-child(3){background:linear-gradient(180deg,#fff,#eff6ff);border-color:#bfdbfe}.afp-modalities-top-stats .afp-card:nth-child(3):before{background:#2563eb}.afp-modalities-top-stats .afp-card:nth-child(3) .afp-stat{color:#1d4ed8}.afp-modalities-top-stats .afp-card:nth-child(4){background:linear-gradient(180deg,#fff,#faf5ff);border-color:#ddd6fe}.afp-modalities-top-stats .afp-card:nth-child(4):before{background:#8b5cf6}.afp-modalities-top-stats .afp-card:nth-child(4) .afp-stat{color:#7c3aed}.afp-modalities-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.afp-modalities-tabs .afp-module-tab{border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:13px;min-height:68px}.afp-modalities-tabs .afp-module-tab.active{border-color:#93c5fd;background:#eff6ff;box-shadow:0 8px 20px rgba(37,99,235,.1)}.afp-modalities-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.afp-modalities-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.afp-modalities-mini-grid>div{border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}.afp-modalities-mini-grid small{display:block;color:#64748b;font-weight:700;margin-bottom:5px}.afp-modalities-mini-grid strong{font-size:18px;color:#0f172a}.afp-modalities-session-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}.afp-modalities-session-list>div{border:1px solid #e2e8f0;border-radius:12px;padding:11px;background:#f8fafc}.afp-modalities-session-list span{display:block;color:#64748b;margin-top:4px}.afp-modalities-view .afp-card{box-shadow:0 8px 24px rgba(15,23,42,.04)}.afp-agenda-type.modality,.afp-agenda-calendar-item.modality{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.afp-dashboard-agenda-dot.modality{background:#8b5cf6}@media(max-width:1100px){.afp-modalities-summary-row{grid-template-columns:1fr}}@media(max-width:820px){.afp-modalities-top-stats{grid-template-columns:1fr!important}.afp-modalities-mini-grid{grid-template-columns:1fr}}


/* ==========================================================================
   v1.5.68 — Menu superior adaptável com grupo "Mais"
   ========================================================================== */
.afp-menu-adaptive{
  overflow:visible !important;
  flex-wrap:nowrap;
  justify-content:center;
  gap:8px;
  position:relative;
  z-index:50;
}
.afp-menu-adaptive > a{
  max-width:150px;
}
.afp-menu-more{
  position:relative;
  flex:0 0 auto;
  z-index:80;
}
.afp-menu-more > summary{
  list-style:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:36px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  color:#dbeafe;
  background:rgba(255,255,255,.055);
  font-size:13px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  user-select:none;
}
.afp-menu-more > summary::-webkit-details-marker{display:none;}
.afp-menu-more > summary::after{
  content:'▾';
  font-size:11px;
  opacity:.78;
}
.afp-menu-more > summary span{
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:900;
}
.afp-menu-more:hover > summary,
.afp-menu-more[open] > summary{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.24);
  color:#fff;
}
.afp-menu-more.active > summary{
  background:#fff;
  border-color:#fff;
  color:#172554;
  box-shadow:0 8px 22px rgba(15,23,42,.22);
}
.afp-menu-more.active > summary span{
  background:#dbeafe;
  color:#1d4ed8;
}
.afp-menu-more-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:250px;
  max-width:min(360px, calc(100vw - 40px));
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  padding:10px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 22px 55px rgba(15,23,42,.22);
  z-index:100;
}
.afp-menu-more-panel::before{
  content:'';
  position:absolute;
  top:-7px;
  right:22px;
  width:14px;
  height:14px;
  background:#fff;
  transform:rotate(45deg);
  border-left:1px solid rgba(15,23,42,.08);
  border-top:1px solid rgba(15,23,42,.08);
}
.afp-menu-more-panel a.afp-menu-more-link{
  color:#0f172a;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:11px 12px;
  min-height:40px;
  justify-content:flex-start;
  font-size:13px;
  box-shadow:none;
}
.afp-menu-more-panel a.afp-menu-more-link:hover{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.afp-menu-more-panel a.afp-menu-more-link.active{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
  box-shadow:none;
}
@media (max-width:1200px){
  .afp-menu-adaptive{
    justify-content:flex-start;
  }
  .afp-menu-adaptive > a{
    max-width:none;
  }
}
@media (max-width:760px){
  .afp-menu-adaptive{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .afp-menu-more{
    grid-column:1 / -1;
  }
  .afp-menu-more > summary{
    width:100%;
  }
  .afp-menu-more-panel{
    position:static;
    margin-top:8px;
    min-width:0;
    max-width:none;
    box-shadow:0 12px 28px rgba(15,23,42,.14);
  }
  .afp-menu-more-panel::before{display:none;}
}


/* ==========================================================================
   v1.5.69 — Menu superior configurável por utilizador
   ========================================================================== */
.afp-menu-user-configurable{
  padding-right:0;
}
.afp-menu-config-toggle{
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#dbeafe;
  min-height:36px;
  padding:10px 14px;
  font-size:13px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.afp-menu-config-toggle:hover,
.afp-menu-config-toggle.active{
  background:#fff;
  border-color:#fff;
  color:#172554;
  box-shadow:0 8px 22px rgba(15,23,42,.22);
}
.afp-menu-config-panel{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:min(440px, calc(100vw - 40px));
  max-height:min(680px, calc(100vh - 160px));
  overflow:auto;
  padding:16px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:22px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 24px 60px rgba(15,23,42,.24);
  z-index:140;
}
.afp-menu-config-panel::before{
  content:'';
  position:absolute;
  top:-7px;
  right:38px;
  width:14px;
  height:14px;
  background:#fff;
  transform:rotate(45deg);
  border-left:1px solid rgba(15,23,42,.08);
  border-top:1px solid rgba(15,23,42,.08);
}
.afp-menu-config-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.afp-menu-config-head strong{
  font-size:17px;
  color:#0f172a;
}
.afp-menu-config-head span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:900;
}
.afp-menu-config-panel p{
  margin:0 0 12px;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
}
.afp-menu-config-list{
  display:grid;
  gap:8px;
}
.afp-menu-config-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 11px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
}
.afp-menu-config-row.visible{
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
  border-color:#bfdbfe;
}
.afp-menu-config-row.more{
  background:#ffffff;
}
.afp-menu-config-row label{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-areas:'check title' 'check meta';
  align-items:center;
  column-gap:9px;
  cursor:pointer;
  min-width:0;
}
.afp-menu-config-row input{
  grid-area:check;
  width:17px;
  height:17px;
  accent-color:#2563eb;
}
.afp-menu-config-row label span{
  grid-area:title;
  color:#0f172a;
  font-size:13px;
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.afp-menu-config-row label small{
  grid-area:meta;
  color:#64748b;
  font-size:11px;
  font-weight:700;
}
.afp-menu-config-move{
  display:flex;
  gap:6px;
  flex:0 0 auto;
}
.afp-menu-config-move button{
  width:30px;
  height:30px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
  color:#0f172a;
  font-weight:900;
  cursor:pointer;
}
.afp-menu-config-move button:hover:not(:disabled){
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.afp-menu-config-move button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.afp-menu-config-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #e2e8f0;
}
@media (max-width:760px){
  .afp-menu-config-toggle{
    width:100%;
  }
  .afp-menu-config-panel{
    position:static;
    grid-column:1 / -1;
    width:auto;
    max-height:none;
    box-shadow:0 12px 28px rgba(15,23,42,.14);
  }
  .afp-menu-config-panel::before{display:none;}
}


/* ==========================================================================
   v1.5.70 — Formulário público de bilhetes configurável por evento
   ========================================================================== */
.afp-ticket-form-config-card{
  border:1px solid #bfdbfe;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 34px rgba(37,99,235,.08);
}
.afp-ticket-form-config-grid{
  display:grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.35fr);
  gap:18px;
}
.afp-ticket-form-config-block{
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  padding:16px;
}
.afp-ticket-form-config-block h4{margin:0 0 12px;color:#0f172a}
.afp-ticket-field-config-row{
  display:grid;
  grid-template-columns:minmax(160px,1fr) auto auto minmax(140px,.7fr);
  gap:10px;
  align-items:center;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
  background:#f8fafc;
}
.afp-ticket-field-config-row small{display:block;color:#64748b;margin-top:3px}
.afp-ticket-field-config-row label{font-weight:800;color:#475569;font-size:12px;white-space:nowrap}
.afp-ticket-field-config-row input[type="text"]{min-width:0}
.afp-ticket-custom-field-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 130px;
  gap:12px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
  padding:14px;
  margin-bottom:12px;
}
.afp-ticket-custom-field-row .afp-span-2{grid-column:1/-1}
.afp-ticket-event-links-table th:last-child,
.afp-ticket-event-links-table td:last-child{white-space:nowrap}
@media(max-width:1000px){
  .afp-ticket-form-config-grid{grid-template-columns:1fr}
  .afp-ticket-field-config-row{grid-template-columns:1fr}
  .afp-ticket-custom-field-row{grid-template-columns:1fr}
}


/* v1.5.71 — Alertas de inscrições por evento */
.afp-ticket-form-alerts-block{
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
  border-color:#bfdbfe !important;
}
.afp-ticket-alert-config-row{
  display:grid;
  grid-template-columns:minmax(220px,0.7fr) minmax(280px,1.3fr);
  gap:14px;
  align-items:end;
}
.afp-ticket-alert-config-row > label{
  display:flex;
  gap:8px;
  align-items:center;
  font-weight:800;
  color:#1e3a8a;
  padding:12px 14px;
  border:1px solid #bfdbfe;
  border-radius:14px;
  background:#ffffff;
}
.afp-ticket-alert-config-row small{
  grid-column:1 / -1;
  color:#64748b;
}
@media (max-width:900px){
  .afp-ticket-alert-config-row{grid-template-columns:1fr;}
}


/* v1.5.74 — Confirmação por email ao participante */
.afp-ticket-form-customer-email-block{
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
  border-color:#bfdbfe !important;
}
.afp-ticket-form-customer-email-block h4{color:#1d4ed8}


/* v1.5.75 — Bilheteira: personalização do email ao participante */
.afp-ticket-email-template-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #dbeafe;
}
.afp-ticket-email-template-grid .afp-span-2{ grid-column:1 / -1; }
.afp-ticket-email-placeholders{
  margin-top:12px;
  padding:12px 14px;
  border:1px dashed #93c5fd;
  border-radius:14px;
  background:#eff6ff;
  color:#1e3a8a;
  font-size:12px;
  line-height:1.55;
}
@media (max-width: 820px){
  .afp-ticket-email-template-grid{ grid-template-columns:1fr; }
}


/* v1.5.76 — Email de reserva com mensagem exclusiva */
.afp-ticket-form-customer-email-block .afp-field small.afp-muted{
  display:block;
  margin-top:6px;
  font-size:12px;
}


/* ==========================================================================
   v1.5.77 — Bilheteira ligada ao detalhe financeiro do evento
   ========================================================================== */
.afp-event-ticketing-panel { border-color:#bfdbfe; background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%); }
.afp-event-ticketing-stats > .afp-card { position:relative; overflow:hidden; }
.afp-event-ticketing-stats > .afp-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:5px; border-radius:999px; }
.afp-event-ticketing-stats > .afp-card:nth-child(1)::before { background:#2563eb; }
.afp-event-ticketing-stats > .afp-card:nth-child(2)::before { background:#f97316; }
.afp-event-ticketing-stats > .afp-card:nth-child(3)::before { background:#22c55e; }
.afp-event-ticketing-stats > .afp-card:nth-child(4)::before { background:#8b5cf6; }
.afp-event-ticketing-stats > .afp-card:nth-child(1) .afp-stat { color:#1d4ed8; }
.afp-event-ticketing-stats > .afp-card:nth-child(2) .afp-stat { color:#c2410c; }
.afp-event-ticketing-stats > .afp-card:nth-child(3) .afp-stat { color:#15803d; }
.afp-event-ticketing-stats > .afp-card:nth-child(4) .afp-stat { color:#7c3aed; }
.afp-event-ticketing-sessions-table,
.afp-event-ticketing-types-table,
.afp-event-ticketing-sales-table { min-width:920px; }
.afp-event-ticketing-panel code { background:#eef2ff; color:#3730a3; padding:3px 7px; border-radius:8px; font-weight:800; }


/* v1.5.78 — Email próprio por evento */
.afp-ticket-event-email-block{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-color:#bfdbfe !important;
}
.afp-ticket-event-email-block h4{ color:#1d4ed8; }
.afp-ticket-event-email-block .afp-ticket-email-template-grid{
  margin-top:12px;
}
.afp-ticket-event-email-block input[type="checkbox"]{
  margin-right:8px;
}


/* v1.5.79 — Período de inscrição por tipo de bilhete */
.afp-ticket-types-table th:nth-child(5),
.afp-ticket-types-table td:nth-child(5){min-width:220px;}


/* v1.5.83 — eventos pai / eventos filhos */
.afp-event-parent-note{display:block;margin-top:4px;color:#2563eb;font-weight:700}
.afp-event-children-panel .afp-alert.info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:16px;padding:14px 16px;margin:0 0 16px}
.afp-event-child-summary{margin:12px 0 16px}
.afp-event-child-summary .afp-card{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-color:#dbeafe}
.afp-event-children-table{min-width:980px}
.afp-event-children-table th:nth-child(4),.afp-event-children-table td:nth-child(4),.afp-event-children-table th:nth-child(5),.afp-event-children-table td:nth-child(5),.afp-event-children-table th:nth-child(6),.afp-event-children-table td:nth-child(6),.afp-event-children-table th:nth-child(7),.afp-event-children-table td:nth-child(7){text-align:right;white-space:nowrap}


/* v1.5.84 — Expositores: ações e formulário configurável */
.afp-exhibitor-config-card{margin-top:14px;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);border-color:#bfdbfe}
.afp-exhibitor-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:8px}
.afp-exhibitor-config-row{border:1px solid #e2e8f0;border-radius:14px;background:rgba(255,255,255,.88);padding:12px;display:flex;flex-direction:column;gap:8px}
.afp-exhibitor-config-row strong{color:#0f172a;font-size:13px}
.afp-exhibitor-config-row label{display:flex;align-items:center;gap:8px;margin:0;text-transform:none;letter-spacing:0;color:#475569;font-size:12px;font-weight:800}
.afp-exhibitor-config-row input{width:auto}
.afp-exhibitor-public-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:16px;padding:14px 16px;margin:16px 0;line-height:1.45;white-space:pre-wrap}


/* v1.5.86 — SMTP: diagnóstico do envio de teste */
.afp-smtp-diagnostic-note{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1e3a8a;
  border-radius:14px;
  padding:12px 14px;
  font-size:13px;
  line-height:1.45;
}


/* v1.5.89 — Ajuda e diagnóstico SMTP */
.afp-smtp-section-title + .afp-field input[name="smtp_host"] + .afp-muted,
.afp-field input[name="smtp_host"] + .afp-muted.afp-sm{
  display:block;
  margin-top:6px;
  color:#64748b;
}

/* v1.5.90 — Comprovativos de pagamento na bilheteira */
.afp-payment-proof-field small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
.afp-ticket-sales-table td a,
.afp-event-ticketing-sales-table td a {
  font-weight: 700;
}

/* v1.5.91 — Limites de uploads por associação */
.afp-usage-block small.afp-muted{display:block;margin-top:6px;line-height:1.35}
.afp-storage-admin-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 8px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:600}

/* v1.5.96 — Conta organizada por submenus e chave IfThenPay */
.afp-account-page .afp-account-hero{margin-bottom:18px;}
.afp-account-settings-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start;margin-top:18px;}
.afp-account-tabs{position:sticky;top:92px;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:12px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.afp-account-tab{appearance:none;border:1px solid transparent;background:transparent;border-radius:16px;padding:13px 14px;text-align:left;cursor:pointer;color:#334155;transition:.16s ease;}
.afp-account-tab:hover{background:#f8fafc;border-color:#e2e8f0;}
.afp-account-tab.active{background:linear-gradient(135deg,#eaf2ff 0%,#f8fbff 100%);border-color:#bfdbfe;color:#0f172a;box-shadow:0 10px 22px rgba(37,99,235,.10);}
.afp-account-tab strong{display:block;font-size:14px;margin-bottom:4px;}
.afp-account-tab small{display:block;color:#64748b;line-height:1.35;}
.afp-account-settings-card{margin:0;min-width:0;}
.afp-account-panel{display:none;}
.afp-account-panel.active{display:block;}
.afp-account-panel .afp-card-head{margin-bottom:16px;}
.afp-account-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px;}
.afp-account-save-bar{position:sticky;bottom:12px;margin-top:20px;padding:14px 16px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.10);z-index:2;}
.afp-ifthenpay-key-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#f8fbff 0%,#eff6ff 100%);padding:16px;}
.afp-ifthenpay-key-card strong{display:block;color:#0f172a;margin-bottom:4px;}
.afp-ifthenpay-key-card p{margin:0;}
.afp-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.afp-account-plan-grid-inline{margin-top:0;}
@media (max-width: 1080px){.afp-account-settings-layout{grid-template-columns:1fr}.afp-account-tabs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.afp-account-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){.afp-account-tabs,.afp-account-overview-grid{grid-template-columns:1fr}.afp-copy-row{grid-template-columns:1fr}.afp-ifthenpay-key-card{align-items:flex-start;flex-direction:column}}

/* v1.5.96 — IfThenPay: chave anti-phishing visível e callbacks por método */
.afp-ifthenpay-key-card{border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(16,185,129,.06));border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.afp-copy-row input[readonly]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:12px;}

/* v1.5.98 — Logos oficiais nos métodos de pagamento públicos */

/* v1.5.98 — Símbolos Multibanco e MB WAY fornecidos pelo utilizador aplicados como imagens locais. */


/* v1.5.99 — Bilheteira pública: métodos de pagamento em mobile */
@media (max-width: 760px) {
  .payment-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .payment-method-card {
    min-height: 128px;
    padding: 10px;
    border-radius: 16px;
    overflow: hidden;
  }
  .payment-method-card .pm-icon {
    width: 100%;
    height: 58px;
    box-sizing: border-box;
    margin-bottom: 8px;
    padding: 5px 6px;
  }
  .payment-method-card .pm-logo {
    max-width: 100%;
    max-height: 50px;
  }
  .payment-method-card .pm-logo-multibanco,
  .payment-method-card .pm-logo-mbway {
    max-width: 96px;
    max-height: 50px;
  }
  .payment-method-card .pm-title {
    font-size: 13px;
    line-height: 1.15;
  }
  .payment-method-card .pm-desc {
    font-size: 11px;
    line-height: 1.25;
  }
}
@media (max-width: 360px) {
  .payment-method-grid {
    gap: 8px !important;
  }
  .payment-method-card {
    min-height: 122px;
    padding: 9px;
  }
  .payment-method-card .pm-icon {
    height: 54px;
  }
  .payment-method-card .pm-logo-multibanco,
  .payment-method-card .pm-logo-mbway {
    max-width: 86px;
    max-height: 46px;
  }
}

/* v1.5.103 - Planos comerciais configuráveis */
.afp-current-plan-includes{margin-top:16px;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;}
.afp-current-plan-includes strong{display:block;margin-bottom:8px;color:#0f172a;}
.afp-plan-extras{margin-top:16px;border-top:1px solid #e2e8f0;padding-top:14px;}
.afp-plan-extras>strong{display:block;color:#0f172a;margin-bottom:8px;}
.afp-plan-extras ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;}
.afp-plan-extras li{display:grid;gap:2px;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#f8fafc;}
.afp-plan-extras li span{font-weight:800;color:#0f172a;}
.afp-plan-extras li em{font-style:normal;font-weight:800;color:#1d4ed8;}
.afp-plan-extras li small{color:#64748b;}
.afp-plan-option.current{outline:3px solid #93c5fd;position:relative;}
.afp-plan-option.current:before{content:'Plano atual';position:absolute;top:14px;right:14px;background:#dbeafe;color:#1e3a8a;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900;}
.afp-plan-option.current .afp-plan-option-head{padding-right:88px;}

/* v1.5.104 - Planos configuráveis: módulos incluídos e add-ons */
.afp-plan-module-chips{margin:16px 0 8px;display:flex;flex-direction:column;gap:8px}
.afp-plan-module-chips strong,.afp-plan-extras strong{color:#0f172a;font-size:14px}
.afp-plan-module-chips div{display:flex;flex-wrap:wrap;gap:6px}
.afp-plan-module-chips span{display:inline-flex;align-items:center;border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:12px;color:#334155;line-height:1.25}
.afp-plan-extras{margin-top:16px;border-top:1px solid #e2e8f0;padding-top:12px}
.afp-plan-extras ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.afp-plan-extras li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.afp-plan-extras li span{font-weight:700;color:#0f172a;line-height:1.3}
.afp-plan-extras li em{font-style:normal;font-weight:800;color:#0f766e;white-space:nowrap}
.afp-plan-extras li small{grid-column:1/-1;color:#64748b;line-height:1.35}
@media (max-width:720px){.afp-plan-extras li{grid-template-columns:1fr}.afp-plan-extras li em{white-space:normal}}

/* v1.5.105 - Quadro comparativo de planos no frontend */
.afp-plan-comparison-wrap{display:flex;flex-direction:column;gap:12px}
.afp-plan-comparison-scroll{width:100%;overflow:auto;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.afp-plan-comparison-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;font-size:14px;color:#0f172a}
.afp-plan-comparison-table th,.afp-plan-comparison-table td{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:14px 16px;vertical-align:middle;text-align:center;background:#fff;line-height:1.35}
.afp-plan-comparison-table th:first-child,.afp-plan-comparison-table td:first-child{position:sticky;left:0;z-index:2;text-align:left;background:#f8fafc;font-weight:900;min-width:220px;max-width:280px}
.afp-plan-comparison-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;vertical-align:top}
.afp-plan-comparison-table thead th:first-child{z-index:4}
.afp-plan-comparison-table th:last-child,.afp-plan-comparison-table td:last-child{border-right:0}
.afp-plan-comparison-table tr:last-child th,.afp-plan-comparison-table tr:last-child td{border-bottom:0}
.afp-plan-comparison-table .current{background:#eff6ff}
.afp-plan-comparison-table th.current{box-shadow:inset 0 4px 0 #2563eb;background:#eff6ff}
.afp-plan-compare-title{font-size:17px;font-weight:950;margin-bottom:6px;color:#0f172a}
.afp-plan-comparison-table thead small{display:block;font-size:12px;color:#475569;font-weight:700;line-height:1.35}
.afp-plan-compare-current{display:inline-flex;margin:0 0 8px;padding:5px 9px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}
.afp-plan-compare-section td{position:sticky;left:0;z-index:2;background:#0f172a!important;color:#fff!important;text-transform:uppercase;font-size:12px;font-weight:950;letter-spacing:.04em;text-align:left!important;border-bottom:0!important}
.afp-plan-compare-yes{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#047857;font-weight:900}
.afp-plan-compare-empty{color:#94a3b8;font-weight:800}
.afp-plan-compare-addon{display:inline-flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #ccfbf1;background:#f0fdfa;border-radius:12px;padding:7px 10px;color:#0f766e;font-weight:900}
.afp-plan-compare-addon small{font-size:12px;color:#0f766e;font-weight:800;line-height:1.25}
.afp-plan-compare-desc{display:block;max-width:260px;margin:auto;color:#475569;font-size:13px;line-height:1.35}
.afp-plan-price-row td{font-size:15px;font-weight:900;color:#1d4ed8}
.afp-plan-comparison-table tfoot th,.afp-plan-comparison-table tfoot td{background:#f8fafc;border-bottom:0}
.afp-plan-compare-action .afp-btn{width:100%;justify-content:center;white-space:nowrap}
@media (max-width:900px){.afp-plan-comparison-table{min-width:860px}.afp-plan-comparison-table th,.afp-plan-comparison-table td{padding:12px 12px}.afp-plan-comparison-table th:first-child,.afp-plan-comparison-table td:first-child{min-width:190px}.afp-plan-compare-title{font-size:15px}}

/* v1.5.108 - Cabeçalhos do comparativo apenas com o nome dos planos */
.afp-plan-comparison-subtitle{margin:8px 0 -2px;display:flex;flex-direction:column;gap:3px}
.afp-plan-comparison-subtitle h4{margin:0;color:#0f172a;font-size:16px;font-weight:950}
.afp-plan-addons-table .afp-plan-compare-section td{background:#164e63!important}

/* v1.5.109 — Reconciliação bancária */
.afp-bank-recon{display:flex;flex-direction:column;gap:16px;padding:16px}.afp-bank-recon-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.afp-bank-recon-summary article{background:#fff;border:1px solid #e3eaf4;border-radius:14px;padding:14px 16px}.afp-bank-recon-summary small{display:block;color:#64748b;font-weight:800;text-transform:uppercase;font-size:10px;letter-spacing:.03em}.afp-bank-recon-summary strong{display:block;margin-top:6px;font-size:20px;color:#0f172a}.afp-bank-recon-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.afp-bank-recon-card{margin:0}.afp-bank-account-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.afp-bank-account-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e3eaf4;border-radius:12px;padding:10px 12px;background:#f8fafc}.afp-bank-account-item strong,.afp-bank-account-item small{display:block}.afp-bank-account-item small{color:#64748b;margin-top:3px}.afp-bank-import-form small{display:block;color:#64748b;margin-top:5px}.afp-bank-transactions-card{margin:0}.afp-bank-transaction-table td{vertical-align:middle}.afp-bank-transaction-table td small{display:block;margin-top:4px;color:#64748b}.afp-bank-row-actions{gap:7px;flex-wrap:wrap}.afp-link-btn.danger{color:#dc2626}.afp-bank-import-table td{vertical-align:middle}
@media(max-width:1180px){.afp-bank-recon-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.afp-bank-recon-grid{grid-template-columns:1fr}}
@media(max-width:800px){.afp-bank-recon{padding:12px}.afp-bank-recon-summary{grid-template-columns:1fr}.afp-bank-account-item{align-items:flex-start;flex-direction:column}}

/* v1.5.111 — Importação bancária com mapeamento de colunas e natureza C/D */
.afp-bank-mapping-card{margin:0;border:1px solid #bfdbfe;background:linear-gradient(180deg,#eff6ff 0%,#fff 110px)}
.afp-bank-preview-alert{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #bfdbfe;background:#dbeafe;border-radius:14px;color:#1e3a8a}
.afp-bank-preview-alert strong{font-weight:950;color:#172554}.afp-bank-preview-alert span{color:#1e40af;font-weight:700;line-height:1.35}.afp-bank-mapping-form .afp-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.afp-bank-mapping-note{margin:10px 0 14px;line-height:1.45}.afp-bank-sample-wrap{margin-top:14px;border-radius:14px}.afp-bank-sample-table{min-width:900px}.afp-bank-sample-table th small{display:block;color:#64748b;font-weight:700;margin-top:3px}.afp-bank-sample-table td{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afp-bank-import-table .danger{white-space:nowrap}
@media(max-width:980px){.afp-bank-mapping-form .afp-form-grid{grid-template-columns:1fr 1fr}.afp-bank-preview-alert{flex-direction:column}}
@media(max-width:680px){.afp-bank-mapping-form .afp-form-grid{grid-template-columns:1fr}}

/* v1.5.111 — Importação bancária com coluna C/D para crédito/débito */

/* v1.5.112 — Reconciliação manual por dropdowns */
.afp-bank-manual-modal-box{max-width:760px}
.afp-bank-manual-selected{margin:0 0 16px;padding:14px 16px;border:1px solid #dbeafe;background:#eff6ff;border-radius:14px;color:#0f172a}
.afp-bank-manual-selected small{display:block;margin-bottom:5px;color:#475569;font-weight:850;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
.afp-bank-manual-selected strong{display:block;line-height:1.35}
.afp-bank-manual-form .afp-form-grid{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}
.afp-bank-manual-form select[name="match_id"]{min-height:44px}
@media(max-width:720px){.afp-bank-manual-form .afp-form-grid{grid-template-columns:1fr}.afp-bank-manual-modal-box{max-width:calc(100vw - 24px)}}

/* v1.5.113 — Pop-up de reconciliação manual sem caixa branca exterior */
#afp-bank-manual-modal.afp-modal{
  position:fixed !important;
  inset:0 !important;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:auto !important;
  background:rgba(15,23,42,.52) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:99999 !important;
}
#afp-bank-manual-modal .afp-bank-manual-modal-box{
  width:min(760px, calc(100vw - 32px)) !important;
  max-width:calc(100vw - 32px) !important;
  max-height:calc(100vh - 32px) !important;
  margin:auto !important;
  overflow:auto !important;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  border-radius:22px !important;
  box-shadow:0 24px 70px rgba(15,23,42,.32) !important;
  padding:24px !important;
  position:relative !important;
}
#afp-bank-manual-modal .afp-modal-header{
  background:#fff !important;
  border-bottom:0 !important;
  padding:0 0 12px !important;
  margin-bottom:14px !important;
}
@media(max-width:720px){
  #afp-bank-manual-modal.afp-modal{padding:10px !important;align-items:flex-start !important;}
  #afp-bank-manual-modal .afp-bank-manual-modal-box{width:100% !important;max-width:100% !important;max-height:calc(100vh - 20px) !important;border-radius:18px !important;padding:18px !important;}
}

/* v1.5.114 — Reconciliação manual contextual e paginação */
/* v1.5.115 — Pop-up contextual largo e campos horizontais */
.afp-bank-selected-row td{background:#eff6ff !important;border-top-color:#bfdbfe !important;border-bottom-color:#bfdbfe !important}
.afp-bank-manual-inline-row td{background:#f8fafc !important;padding:0 !important;border-top:0 !important}
.afp-bank-manual-popover{width:calc(100% - 20px);max-width:none;box-sizing:border-box;margin:8px 10px 14px;padding:14px 16px;border:1px solid #bfdbfe;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.18);position:relative;z-index:5}
.afp-bank-manual-popover:before{content:"";position:absolute;top:-9px;right:56px;width:16px;height:16px;background:#fff;border-left:1px solid #bfdbfe;border-top:1px solid #bfdbfe;transform:rotate(45deg)}
.afp-bank-manual-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #e5eefb}
.afp-bank-manual-popover-head h3{margin:0;color:#0f172a;font-size:18px;line-height:1.2}.afp-bank-manual-popover-head p{margin:4px 0 0}.afp-bank-manual-popover-head p strong{font-weight:850;color:#0f172a}
.afp-bank-manual-form-compact .afp-alert{margin:10px 0 0}.afp-bank-manual-horizontal{display:grid;grid-template-columns:minmax(150px,220px) minmax(340px,1fr) auto;gap:12px;align-items:end}.afp-bank-manual-horizontal .afp-field{margin:0}.afp-bank-manual-horizontal select{min-height:44px}.afp-bank-manual-match-field small{display:block;margin-top:5px}.afp-bank-manual-buttons{margin:0 !important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.afp-bank-manual-buttons .afp-btn{white-space:nowrap}
.afp-bank-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #e3eaf4;border-radius:14px;background:#f8fafc;color:#475569;font-weight:750;flex-wrap:wrap}.afp-bank-pagination strong{color:#0f172a}.afp-bank-pagination .afp-inline-actions{margin:0}
@media(max-width:980px){.afp-bank-manual-horizontal{grid-template-columns:minmax(130px,180px) minmax(220px,1fr)}.afp-bank-manual-buttons{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:720px){.afp-bank-manual-popover{width:calc(100% - 16px);margin:8px auto 14px;padding:14px}.afp-bank-manual-popover:before{right:28px}.afp-bank-manual-horizontal{grid-template-columns:1fr}.afp-bank-manual-buttons{width:100%;justify-content:space-between}.afp-bank-pagination{align-items:flex-start;flex-direction:column}.afp-bank-pagination .afp-inline-actions{width:100%;justify-content:space-between}}

/* v1.5.116 — Filtros e ações de sugestões na reconciliação bancária */
.afp-bank-filter-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(160px, .8fr) minmax(150px, .7fr) auto auto minmax(120px, auto);
  gap: 10px;
  align-items: center;
  margin: 14px 0 16px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(248, 250, 252, .9);
}
.afp-bank-filter-toolbar input,
.afp-bank-filter-toolbar select {
  width: 100%;
}
@media (max-width: 900px) {
  .afp-bank-filter-toolbar {
    grid-template-columns: 1fr;
  }
}

/* v1.5.117 — Criação de receita/despesa através do extrato bancário */
.afp-bank-create-popover{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4 0%,#fff 140px)}
.afp-bank-create-popover:before{background:#f0fdf4;border-color:#bbf7d0}
.afp-bank-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.afp-bank-create-grid .afp-span-2{grid-column:span 2}
.afp-bank-create-grid .afp-inline-actions{align-self:end;margin:0;justify-content:flex-end}
.afp-bank-create-grid textarea{min-height:54px}
@media(max-width:1100px){.afp-bank-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.afp-bank-create-grid .afp-span-2{grid-column:span 2}}
@media(max-width:680px){.afp-bank-create-grid{grid-template-columns:1fr}.afp-bank-create-grid .afp-span-2{grid-column:span 1}.afp-bank-create-grid .afp-inline-actions{justify-content:flex-start;flex-wrap:wrap}}


/* v1.5.118 — Estados da reconciliação bancária com cores próprias */
.afp-bank-transaction-table .afp-status.bank-status-pending{
  background:#fef3c7;
  color:#92400e;
  border:1px solid #fde68a;
}
.afp-bank-transaction-table .afp-status.bank-status-suggested{
  background:#dbeafe;
  color:#1e40af;
  border:1px solid #bfdbfe;
}
.afp-bank-transaction-table .afp-status.bank-status-reconciled{
  background:#dcfce7;
  color:#166534;
  border:1px solid #bbf7d0;
}
.afp-bank-transaction-table .afp-status.bank-status-ignored{
  background:#f1f5f9;
  color:#475569;
  border:1px solid #cbd5e1;
}
.afp-bank-transaction-table .afp-status.bank-status-duplicate{
  background:#f3e8ff;
  color:#6b21a8;
  border:1px solid #e9d5ff;
}

/* v1.5.119 — Reconciliação 1:1 e estado de reconciliação nos movimentos financeiros */

/* v1.5.120 — Painel de controlo e pendentes da reconciliação bancária */
.afp-bank-recon-summary-expanded{
  grid-template-columns:repeat(6,minmax(150px,1fr));
}
.afp-bank-recon-summary-expanded article em{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:.78rem;
  font-style:normal;
}
.afp-bank-pending-report{
  margin:18px 0;
}
.afp-bank-pending-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.afp-bank-pending-grid article{
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
  padding:14px;
  background:#f8fafc;
}
.afp-bank-pending-grid h4{
  margin:0 0 10px;
  font-size:.95rem;
  color:#0f172a;
}
.afp-bank-pending-item{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:9px 0;
  border-top:1px solid rgba(148,163,184,.22);
}
.afp-bank-pending-item:first-of-type{
  border-top:0;
  padding-top:0;
}
.afp-bank-pending-item strong{
  color:#0f172a;
  font-size:.88rem;
}
.afp-bank-pending-item small{
  color:#64748b;
  font-size:.78rem;
}
.afp-bank-filter-toolbar input[type="date"]{
  min-width:140px;
}
@media (max-width: 1100px){
  .afp-bank-recon-summary-expanded{grid-template-columns:repeat(3,minmax(140px,1fr));}
}
@media (max-width: 760px){
  .afp-bank-recon-summary-expanded{grid-template-columns:repeat(2,minmax(130px,1fr));}
  .afp-bank-pending-grid{grid-template-columns:1fr;}
}
.afp-finance-recon-undo{
  display:block;
  margin-top:4px;
  padding:0;
  font-size:.76rem;
}

/* ==========================================================================
   v1.5.121 — Interface SaaS com menu lateral e identidade AssociaPlus
   ========================================================================== */
:root{
  --ap-navy:#0b2f55;
  --ap-navy-2:#0f172a;
  --ap-blue:#2563eb;
  --ap-teal:#0f9f8e;
  --ap-bg:#f5f7fb;
  --ap-card:#ffffff;
  --ap-border:#e5eaf3;
  --ap-text:#111827;
  --ap-muted:#64748b;
  --ap-shadow:0 16px 42px rgba(15,23,42,.08);
}

body.page-slug-associaplus,
body.page-slug-associaplus html{
  background:var(--ap-bg) !important;
}

#afp-root.afp-app{
  --afp-outer-gap:clamp(10px,1.25vw,22px) !important;
  --afp-content-max:1720px !important;
  width:min(var(--afp-content-max), calc(100vw - (var(--afp-outer-gap) * 2))) !important;
  max-width:var(--afp-content-max) !important;
  min-height:calc(100vh - (var(--afp-outer-gap) * 2)) !important;
  margin:var(--afp-outer-gap) auto !important;
  background:transparent !important;
  color:var(--ap-text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.afp-shell{
  display:grid !important;
  grid-template-columns:292px minmax(0,1fr) !important;
  gap:0 !important;
  width:100% !important;
  min-height:calc(100vh - (var(--afp-outer-gap) * 2)) !important;
  border-radius:28px !important;
  overflow:hidden !important;
  background:var(--ap-bg) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.10) !important;
}

.afp-sidebar{
  position:sticky !important;
  top:var(--afp-outer-gap) !important;
  z-index:40 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  height:calc(100vh - (var(--afp-outer-gap) * 2)) !important;
  min-height:0 !important;
  width:292px !important;
  padding:20px 16px !important;
  border-radius:28px 0 0 28px !important;
  border-right:1px solid var(--ap-border) !important;
  background:#ffffff !important;
  color:var(--ap-text) !important;
  box-shadow:8px 0 28px rgba(15,23,42,.04) !important;
  overflow:hidden !important;
}

.afp-sidebar > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  flex:1 1 auto !important;
}

.afp-product-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:118px;
  padding:10px 10px 14px;
  margin:0 0 14px;
  border:1px solid #e8eef7;
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 10px 28px rgba(15,23,42,.04);
}

.afp-product-logo{
  display:block;
  max-width:178px;
  max-height:104px;
  width:auto;
  height:auto;
  object-fit:contain;
}

.afp-product-logo-fallback{
  font-size:22px;
  font-weight:900;
  color:var(--ap-navy);
  letter-spacing:-.04em;
}

.afp-brand-wrap{
  grid-area:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
  margin:0 0 12px !important;
  padding:12px !important;
  border:1px solid #e7edf7 !important;
  border-radius:20px !important;
  background:#f8fafc !important;
}

.afp-header-logo,
.afp-header-logo-placeholder{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  border:1px solid #e2e8f0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

.afp-header-logo{
  object-fit:contain !important;
  padding:5px !important;
}

.afp-header-logo-placeholder{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--ap-navy) !important;
  font-weight:900 !important;
  font-size:17px !important;
}

.afp-brand-wrap .afp-brand,
.afp-brand{
  margin:0 !important;
  max-width:100% !important;
  min-width:0 !important;
  color:var(--ap-text) !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.22 !important;
  letter-spacing:-.01em !important;
  white-space:normal !important;
}

.afp-brand-sub{
  margin-top:3px !important;
  color:var(--ap-muted) !important;
  font-size:11px !important;
  font-weight:700 !important;
}

.afp-userbox{
  grid-area:auto !important;
  justify-self:auto !important;
  max-width:100% !important;
  margin:0 0 14px !important;
  padding:12px !important;
  border:1px solid #e8eef7 !important;
  border-radius:18px !important;
  background:#ffffff !important;
  color:var(--ap-muted) !important;
  font-size:12px !important;
  line-height:1.38 !important;
  box-shadow:0 8px 24px rgba(15,23,42,.035) !important;
}

.afp-userbox strong{color:var(--ap-text) !important;}

.afp-menu,
.afp-menu-adaptive,
.afp-menu-user-configurable{
  grid-area:auto !important;
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:6px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:4px 0 12px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:#cbd5e1 transparent !important;
  position:relative !important;
  z-index:1 !important;
}

.afp-menu::-webkit-scrollbar{width:6px !important;height:6px !important;}
.afp-menu::-webkit-scrollbar-thumb{background:#cbd5e1 !important;border-radius:999px !important;}

.afp-menu a,
.afp-menu-adaptive > a{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
  min-height:42px !important;
  max-width:none !important;
  width:100% !important;
  padding:11px 12px !important;
  border:1px solid transparent !important;
  border-radius:15px !important;
  background:transparent !important;
  color:#475569 !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease !important;
}

.afp-menu a:hover,
.afp-menu a:focus-visible{
  background:#eff6ff !important;
  border-color:#dbeafe !important;
  color:var(--ap-blue) !important;
  transform:translateX(2px) !important;
}

.afp-menu a.active,
.afp-menu-more.active > summary{
  background:linear-gradient(135deg,var(--ap-blue) 0%,#1d4ed8 100%) !important;
  border-color:#1d4ed8 !important;
  color:#ffffff !important;
  box-shadow:0 10px 24px rgba(37,99,235,.25) !important;
}

.afp-menu-icon{
  width:30px;
  height:30px;
  border-radius:11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  background:#eef4ff;
  color:var(--ap-blue);
  font-size:14px;
  font-weight:900;
}

.afp-menu a.active .afp-menu-icon{
  background:rgba(255,255,255,.18);
  color:#ffffff;
}

.afp-menu-more,
.afp-menu-config-toggle,
.afp-menu-config-panel{display:none !important;}

.afp-sidebar-footer{
  grid-area:auto !important;
  justify-self:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
  flex:0 0 auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:14px 0 0 !important;
  border-top:1px solid #e8eef7 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ap-muted) !important;
  white-space:normal !important;
}

.afp-account-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:10px 12px;
  border:1px solid #e8eef7;
  border-radius:16px;
  background:#f8fafc;
}

.afp-badge.afp-badge-header{
  background:#dcfce7 !important;
  color:#166534 !important;
}

.afp-plan-name{font-weight:800;color:var(--ap-navy);}
.afp-header-logout{width:100%;justify-content:center;}

.afp-main{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:24px !important;
  overflow:auto !important;
  background:var(--ap-bg) !important;
}

.afp-view{
  border:1px solid var(--ap-border) !important;
  border-radius:26px !important;
  background:#ffffff !important;
  box-shadow:var(--ap-shadow) !important;
  padding:24px !important;
}

.afp-card,
.afp-table-wrap,
.afp-modal-box,
.afp-bank-manual-panel,
.afp-bank-create-panel{
  border:1px solid var(--ap-border) !important;
  border-radius:22px !important;
  background:#ffffff !important;
  box-shadow:0 10px 28px rgba(15,23,42,.045) !important;
}

.afp-card{padding:22px !important;}

.afp-section-header,
.afp-dashboard-v2-header{
  align-items:center !important;
  padding:22px 24px !important;
  margin:-2px 0 22px !important;
  border:1px solid #dbeafe !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at right top, rgba(37,99,235,.12), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#eff6ff 100%) !important;
}

.afp-section-header h2,
.afp-view h2{
  color:var(--ap-text) !important;
  font-size:30px !important;
  line-height:1.15 !important;
  letter-spacing:-.035em !important;
  font-weight:850 !important;
}

.afp-muted{color:var(--ap-muted) !important;}

.afp-btn{
  border-radius:12px !important;
  padding:11px 16px !important;
  background:linear-gradient(135deg,var(--ap-blue),#1d4ed8) !important;
  color:#ffffff !important;
  border:1px solid #1d4ed8 !important;
  box-shadow:0 10px 22px rgba(37,99,235,.20) !important;
}

.afp-btn:hover{filter:brightness(.98);transform:translateY(-1px);}

.afp-btn.secondary{
  background:#ffffff !important;
  color:var(--ap-navy) !important;
  border:1px solid #dbe3ef !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04) !important;
}

.afp-link-btn{color:var(--ap-blue) !important;font-weight:850 !important;}
.afp-link-btn.danger{color:#dc2626 !important;}

.afp-dashboard-v2-top-stats,
.afp-grid,
.afp-grid-4{
  gap:16px !important;
}

.afp-dashboard-v2-stat-card{
  min-height:124px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}

.afp-dashboard-v2-stat-icon,
.afp-dashboard-v2-stat-icon.green,
.afp-dashboard-v2-stat-icon.blue,
.afp-dashboard-v2-stat-icon.orange,
.afp-dashboard-v2-stat-icon.purple{
  width:50px !important;
  height:50px !important;
  border-radius:16px !important;
  box-shadow:none !important;
}

.afp-stat{
  color:var(--ap-text) !important;
  font-size:30px !important;
  letter-spacing:-.04em !important;
}

.afp-card-label,
.afp-card h3,
.afp-table th{
  color:#334155 !important;
  font-weight:850 !important;
}

.afp-table th,
.afp-table td{
  padding:13px 15px !important;
  border-bottom:1px solid #eef2f7 !important;
}

.afp-table th{
  background:#f8fafc !important;
  font-size:12px !important;
}

.afp-toolbar input,
.afp-toolbar select,
.afp-inline-form input,
.afp-field input,
.afp-field select,
.afp-field textarea{
  border:1px solid #dbe3ef !important;
  border-radius:13px !important;
  background:#ffffff !important;
  box-shadow:0 6px 16px rgba(15,23,42,.025) !important;
}

.afp-status{
  border-radius:999px !important;
  font-weight:850 !important;
  padding:7px 10px !important;
}

@media (max-width:1100px){
  .afp-shell{
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }
  .afp-sidebar{
    position:relative !important;
    top:auto !important;
    width:100% !important;
    height:auto !important;
    border-radius:26px 26px 0 0 !important;
    overflow:visible !important;
  }
  .afp-product-brand{
    min-height:86px;
  }
  .afp-product-logo{
    max-height:76px;
    max-width:190px;
  }
  .afp-menu,
  .afp-menu-adaptive,
  .afp-menu-user-configurable{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .afp-main{padding:16px !important;}
}

@media (max-width:640px){
  #afp-root.afp-app{width:100% !important;margin:0 !important;}
  .afp-shell{border-radius:0 !important;min-height:100vh !important;}
  .afp-sidebar{border-radius:0 !important;padding:14px !important;}
  .afp-menu,
  .afp-menu-adaptive,
  .afp-menu-user-configurable{grid-template-columns:1fr !important;}
  .afp-main{padding:12px !important;}
  .afp-view{padding:16px !important;border-radius:22px !important;}
  .afp-section-header,
  .afp-dashboard-v2-header{padding:18px !important;align-items:flex-start !important;}
  .afp-section-header h2,.afp-view h2{font-size:25px !important;}
}

/* v1.5.122 — Organização visual, submenus internos, tabelas e mobile */
.afp-module-subnav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:12px 0 18px;
  padding:8px;
  background:#fff;
  border:1px solid #e5edf7;
  border-radius:18px;
  box-shadow:0 10px 26px rgba(15,23,42,.04);
}
.afp-module-subnav button{
  appearance:none;
  border:1px solid transparent;
  background:#f7f9fd;
  color:#334155;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:all .16s ease;
  white-space:nowrap;
}
.afp-module-subnav button:hover{
  background:#eef4ff;
  color:#0f3c9e;
}
.afp-module-subnav button.active{
  background:#2563eb;
  color:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.22);
}

/* Bilheteira por separadores */
.afp-ticketing-view .afp-ticket-section{display:none !important;}
.afp-ticket-tab-overview .afp-ticket-section-overview{display:grid !important;}
.afp-ticket-tab-overview .afp-ticketing-flow-card.afp-ticket-section-overview{display:block !important;}
.afp-ticket-tab-links .afp-ticket-section-links{display:block !important;}
.afp-ticket-tab-sessions .afp-ticket-section-sessions{display:block !important;}
.afp-ticket-tab-types .afp-ticket-section-types{display:block !important;}
.afp-ticket-tab-sales .afp-ticket-section-sales{display:block !important;}
.afp-ticket-tab-forms .afp-ticket-section-forms{display:grid !important;}
.afp-ticket-tab-checkin .afp-ticket-section-checkin{display:block !important;}
.afp-ticketing-flow-card{padding:20px;}
.afp-flow-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.afp-flow-steps button{
  border:1px solid #dbe7f6;
  background:#f8fbff;
  border-radius:18px;
  padding:16px;
  text-align:left;
  color:#0f172a;
  cursor:pointer;
  display:flex;
  gap:12px;
  align-items:center;
  min-height:74px;
}
.afp-flow-steps button strong{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#2563eb;
  color:#fff;
  flex:0 0 auto;
}
.afp-flow-steps button span{font-weight:800;line-height:1.25;}
.afp-flow-steps button:hover{background:#eef4ff;border-color:#bfdbfe;}

/* Relatórios por separadores */
.afp-reports-view .afp-report-kpi-grid,
.afp-reports-view .afp-report-grid,
.afp-reports-view .afp-report-monthly-screen,
.afp-reports-view .afp-report-matrix-card{display:none !important;}
.afp-report-tab-overview .afp-report-kpi-grid{display:grid !important;}
.afp-report-tab-overview .afp-report-grid:not(.afp-report-grid-annual):not(.afp-report-grid-sections){display:grid !important;}
.afp-report-tab-finance .afp-report-grid-annual,
.afp-report-tab-finance .afp-report-grid-sections{display:grid !important;}
.afp-report-tab-monthly .afp-report-monthly-screen{display:block !important;}
.afp-report-tab-matrix .afp-report-matrix-card{display:block !important;}

/* Tabelas mais limpas e contidas no novo layout */
.afp-table-wrap{
  width:100%;
  overflow:auto;
  border-radius:16px;
  border:1px solid #e5edf7;
  background:#fff;
}
.afp-table{
  min-width:860px;
  border-collapse:separate;
  border-spacing:0;
}
.afp-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f8fafc;
  color:#334155;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
  border-bottom:1px solid #e5edf7;
  padding:12px 14px;
}
.afp-table tbody td{
  padding:12px 14px;
  border-bottom:1px solid #edf2f7;
  vertical-align:top;
}
.afp-table tbody tr:hover td{background:#f8fbff;}
.afp-table tbody tr:last-child td{border-bottom:none;}
.afp-compact-pagination{
  margin:14px 0 4px;
  padding:8px 4px 0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#64748b;
  font-weight:700;
  font-size:13px;
}
.afp-compact-pagination .afp-btn[disabled]{opacity:.45;cursor:not-allowed;}

/* Formulários alinhados com o layout SaaS */
.afp-card form .afp-form-grid,
.afp-form-grid{
  gap:14px;
}
.afp-field label{
  font-size:12px;
  font-weight:800;
  color:#334155;
  margin-bottom:6px;
}
.afp-field input,
.afp-field select,
.afp-field textarea,
.afp-toolbar input,
.afp-toolbar select{
  border-radius:12px !important;
  border:1px solid #dbe7f6 !important;
  background:#fff !important;
  min-height:42px;
  box-shadow:none !important;
}
.afp-field input:focus,
.afp-field select:focus,
.afp-field textarea:focus,
.afp-toolbar input:focus,
.afp-toolbar select:focus{
  border-color:#2563eb !important;
  outline:3px solid rgba(37,99,235,.12) !important;
}
.afp-card-head{gap:14px;}
.afp-inline-actions{gap:8px;flex-wrap:wrap;}

/* Mobile: menos largura forçada e navegação usável */
@media (max-width: 900px){
  .afp-module-subnav{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:8px;
    -webkit-overflow-scrolling:touch;
  }
  .afp-module-subnav button{flex:0 0 auto;}
  .afp-flow-steps{grid-template-columns:1fr 1fr;}
  .afp-ticket-tab-forms .afp-ticket-section-forms{display:block !important;}
  .afp-table{min-width:720px;}
  .afp-section-header.afp-module-hero{align-items:flex-start;}
}
@media (max-width: 640px){
  .afp-flow-steps{grid-template-columns:1fr;}
  .afp-grid.afp-grid-4{grid-template-columns:1fr !important;}
  .afp-report-tab-overview .afp-report-grid:not(.afp-report-grid-annual):not(.afp-report-grid-sections),
  .afp-report-tab-finance .afp-report-grid-annual,
  .afp-report-tab-finance .afp-report-grid-sections{display:block !important;}
  .afp-table{min-width:640px;}
  .afp-compact-pagination{justify-content:center;}
  .afp-toolbar{display:grid !important;grid-template-columns:1fr !important;}
  .afp-btn{width:auto;}
}

/* v1.5.123 — Bilheteira hierárquica e formulários em painel contextual */
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-list {
  display: grid;
  gap: 16px;
}
.afp-ticket-hierarchy-event-card,
.afp-ticket-hierarchy-focus,
.afp-ticket-hierarchy-section-card,
.afp-ticket-inline-panel {
  border-radius: 22px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.05);
}
.afp-ticket-hierarchy-event-main {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.afp-ticket-hierarchy-event-main h3,
.afp-ticket-hierarchy-focus h3,
.afp-ticket-hierarchy-section-card h3 {
  margin: 6px 0 4px;
}
.afp-ticket-hierarchy-event-main p,
.afp-ticket-hierarchy-focus .afp-muted {
  margin: 0;
}
.afp-ticket-hierarchy-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.afp-ticket-hierarchy-metrics span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
}
.afp-ticket-hierarchy-metrics strong {
  color: #0f172a;
  font-size: 20px;
  line-height: 1.1;
}
.afp-ticket-hierarchy-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0 16px;
  color: #64748b;
  font-size: 13px;
}
.afp-ticket-hierarchy-breadcrumb strong {
  color: #0f172a;
}
.afp-ticket-inline-panel {
  margin: 16px 0;
  padding: 18px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border-color: #bfdbfe;
}
.afp-ticket-inline-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #dbeafe;
}
.afp-ticket-inline-panel-head strong {
  display: block;
  color: #0f172a;
  font-size: 16px;
}
.afp-ticket-inline-panel-head span {
  display: block;
  color: #64748b;
  font-size: 13px;
  margin-top: 3px;
}
.afp-ticket-drawer-form .afp-form-grid {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
}
.afp-ticket-drawer-form .afp-span-2 {
  grid-column: span 2;
}
.afp-ticket-hierarchy-section-card {
  margin-top: 16px;
}
.afp-ticket-hierarchy-view .afp-table-wrap {
  max-height: none;
}
.afp-ticket-hierarchy-view .afp-table td,
.afp-ticket-hierarchy-view .afp-table th {
  vertical-align: middle;
}
@media (max-width: 980px) {
  .afp-ticket-hierarchy-event-main,
  .afp-ticket-inline-panel-head,
  .afp-ticket-hierarchy-focus .afp-card-head {
    flex-direction: column;
    align-items: stretch;
  }
  .afp-ticket-hierarchy-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .afp-ticket-drawer-form .afp-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .afp-ticket-hierarchy-metrics,
  .afp-ticket-drawer-form .afp-form-grid {
    grid-template-columns: 1fr;
  }
  .afp-ticket-drawer-form .afp-span-2 {
    grid-column: span 1;
  }
  .afp-ticket-inline-panel {
    padding: 14px;
  }
}

/* v1.5.124 — Bilheteira: ações do link público e formulário no fluxo hierárquico */
.afp-ticket-public-toolbar{gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.afp-ticket-public-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.afp-ticket-form-config-card{border:1px solid #bfdbfe;box-shadow:0 18px 45px rgba(37,99,235,.10)}
.afp-ticket-form-config-card .afp-card-head{position:sticky;top:0;z-index:2;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #e2e8f0;margin:-20px -20px 18px;padding:18px 20px;border-radius:18px 18px 0 0}
@media (max-width: 780px){.afp-ticket-public-toolbar{justify-content:flex-start}.afp-ticket-public-toolbar .afp-btn{width:100%;justify-content:center}.afp-ticket-public-actions{display:flex}.afp-ticket-public-actions .afp-link-btn{padding:6px 0}}

/* v1.5.132 - Configuração do formulário da bilheteira sem dependência de listener JS */
.afp-ticket-form-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px;
  height: 1px;
}
.afp-ticket-form-toggle-btn {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.afp-ticket-form-config-container {
  display: none;
  margin-top: 16px;
}
.afp-ticket-form-toggle:checked ~ .afp-ticket-form-config-container {
  display: block;
}
.afp-ticket-form-config-container .afp-ticket-form-config-card {
  margin-bottom: 16px;
}


/* v1.5.133 — Correção real da abertura do painel de configuração do formulário da bilheteira */
.afp-ticket-form-config-container.is-open {
  display: block !important;
}
.afp-ticket-form-toggle-btn[data-action="configure-ticket-event-form"] {
  cursor: pointer;
}


/* v1.5.134 - Configuração do formulário da bilheteira com abertura nativa */
.afp-ticket-form-config-details {
  margin: 14px 0 18px;
}
.afp-ticket-form-config-details > summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: fit-content;
}
.afp-ticket-form-config-details > summary::-webkit-details-marker {
  display: none;
}
.afp-ticket-form-config-details[open] > summary {
  margin-bottom: 12px;
}
.afp-ticket-form-config-details .afp-ticket-form-config-card {
  margin-top: 0;
}

/* v1.5.136 - Formulário da bilheteira sempre acessível no evento selecionado */
.afp-ticket-form-config-container.is-open{scroll-margin-top:24px;}
.afp-ticket-form-direct-anchor{white-space:nowrap;}


/* v1.5.138 - Na bilheteira hierárquica, os blocos não podem herdar a ocultação dos separadores antigos. */
.afp-ticketing-hierarchy-view .afp-ticket-section {
  display: block !important;
}
.afp-ticketing-hierarchy-view .afp-grid.afp-ticket-section,
.afp-ticketing-hierarchy-view .afp-ticket-section-overview {
  display: grid !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-config-container.is-open {
  display: block !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-popup {
  position: relative;
  z-index: 5;
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid #dbeafe;
  border-radius: 22px;
  background: #f8fbff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .10);
}
.afp-ticketing-hierarchy-view .afp-ticket-form-popup .afp-ticket-form-config-card {
  margin: 0;
  max-height: calc(100vh - 170px);
  overflow: auto;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-popup .afp-card-head {
  top: 0;
}


/* v1.5.138 - Painel contextual do formulário da bilheteira fechado por defeito */
@media (max-width: 780px) {
  .afp-ticketing-hierarchy-view .afp-ticket-form-popup {
    padding: 10px;
    border-radius: 16px;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-form-popup .afp-ticket-form-config-card {
    max-height: calc(100vh - 120px);
  }
}

/* v1.5.139 — Retoque visual do módulo Financeiro
   Objetivo: tornar o Financeiro menos branco, mais SaaS e mais legível sem alterar funcionalidades. */
.afp-finance-dashboard{
  --afp-finance-navy:#0f172a;
  --afp-finance-blue:#2563eb;
  --afp-finance-cyan:#06b6d4;
  --afp-finance-green:#16a34a;
  --afp-finance-red:#dc2626;
  --afp-finance-amber:#f59e0b;
  --afp-finance-muted:#64748b;
  gap:20px;
  padding-bottom:14px;
}
.afp-finance-dashboard .afp-card{
  border:1px solid rgba(148,163,184,.22);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 18px 46px rgba(15,23,42,.065);
}
.afp-finance-hero{
  position:relative;
  overflow:hidden;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(59,130,246,.42),transparent 30%),
    radial-gradient(circle at 8% 92%,rgba(34,197,94,.22),transparent 30%),
    linear-gradient(135deg,#0f172a 0%,#163c8f 54%,#2563eb 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(37,99,235,.22);
}
.afp-finance-hero::after{
  content:"";
  position:absolute;
  right:-110px;
  top:-95px;
  width:280px;
  height:280px;
  border-radius:999px;
  border:42px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.afp-finance-hero h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-finance-hero .afp-muted,
.afp-finance-hero p{
  color:rgba(226,232,240,.88) !important;
  max-width:740px;
}
.afp-finance-hero .afp-inline-actions{position:relative;z-index:1;}
.afp-finance-hero .afp-btn{
  border:1px solid rgba(255,255,255,.22);
  background:#fff;
  color:#1d4ed8;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.afp-finance-hero .afp-btn.secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.24);
  box-shadow:none;
  backdrop-filter:blur(10px);
}
.afp-finance-hero .afp-btn.secondary:hover{background:rgba(255,255,255,.2);}

.afp-finance-summary-grid{gap:16px;}
.afp-finance-summary-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  align-items:flex-start;
  padding:20px;
  border:0;
  border-radius:22px;
  box-shadow:0 18px 42px rgba(15,23,42,.12);
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-finance-summary-card:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(15,23,42,.16);}
.afp-finance-summary-card::after{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-42px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.afp-finance-summary-card small,
.afp-finance-summary-card strong,
.afp-finance-summary-card em{position:relative;z-index:1;color:#fff !important;}
.afp-finance-summary-card small{opacity:.76;font-size:10px;letter-spacing:.09em;}
.afp-finance-summary-card strong{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.035em;margin:8px 0 5px;}
.afp-finance-summary-card em{opacity:.76;line-height:1.35;}
.afp-finance-summary-icon{
  position:relative;
  z-index:1;
  width:48px;
  height:48px;
  border-radius:16px;
  color:#fff !important;
  background:rgba(255,255,255,.18) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.afp-finance-summary-card.balance{background:linear-gradient(135deg,#0f766e 0%,#22c55e 100%);}
.afp-finance-summary-card.revenues{background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%);}
.afp-finance-summary-card.expenses{background:linear-gradient(135deg,#b91c1c 0%,#fb7185 100%);}
.afp-finance-summary-card.pending{background:linear-gradient(135deg,#92400e 0%,#f59e0b 100%);}

.afp-finance-attention{
  border:0;
  border-radius:20px;
  background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 100%);
  box-shadow:0 14px 34px rgba(146,64,14,.11);
}
.afp-finance-attention>div>span{background:#fff;color:#d97706;box-shadow:0 10px 24px rgba(217,119,6,.18);}
.afp-finance-attention strong{color:#78350f;}
.afp-finance-attention p{color:#92400e;}

.afp-finance-list-card{
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}
.afp-finance-tabs{
  gap:8px;
  padding:14px 16px 12px;
  border-bottom:1px solid rgba(148,163,184,.18);
  background:linear-gradient(180deg,#f8fbff 0%,#fff 100%);
  border-radius:22px 22px 0 0;
}
.afp-finance-tabs button{
  border:1px solid rgba(148,163,184,.2);
  border-radius:999px;
  padding:10px 12px;
  background:#fff;
  color:#334155;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.afp-finance-tabs button.active{
  border-color:rgba(37,99,235,.28);
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%);
  color:#fff;
  box-shadow:0 12px 30px rgba(37,99,235,.24);
}
.afp-finance-tabs button.active span{background:rgba(255,255,255,.22);color:#fff;}
.afp-finance-tabs span{background:#eef2ff;color:#334155;}

.afp-finance-toolbar{
  margin:14px 16px 0;
  padding:14px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:18px;
  background:linear-gradient(135deg,#f1f5ff 0%,#f8fafc 100%);
}
.afp-finance-toolbar input,
.afp-finance-toolbar select{
  border-color:rgba(148,163,184,.36);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.afp-finance-toolbar input:focus,
.afp-finance-toolbar select:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

.afp-finance-table{border-collapse:separate;border-spacing:0 8px;padding:6px 12px 14px;}
.afp-finance-table thead th{
  border:0;
  background:transparent;
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.afp-finance-table tbody tr{
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.afp-finance-table tbody td{
  border-top:1px solid rgba(226,232,240,.88);
  border-bottom:1px solid rgba(226,232,240,.88);
  background:#fff;
}
.afp-finance-table tbody td:first-child{border-left:1px solid rgba(226,232,240,.88);border-radius:14px 0 0 14px;}
.afp-finance-table tbody td:last-child{border-right:1px solid rgba(226,232,240,.88);border-radius:0 14px 14px 0;}
.afp-finance-table tbody tr:hover td{background:#f8fbff;}
.afp-finance-category-tag{box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);}
.afp-finance-category-tag.revenue{background:#e0f2fe;color:#075985;}
.afp-finance-category-tag.expense{background:#ffe4e6;color:#9f1239;}
.afp-finance-row-actions .afp-btn-small{border-radius:999px;}
.afp-finance-row-actions summary{background:#f8fafc;border-color:#dbe4f0;border-radius:999px;}
.afp-finance-row-actions details>div{border-radius:14px;box-shadow:0 20px 45px rgba(15,23,42,.18);}

.afp-finance-workspace-header{
  border:0;
  border-radius:22px;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 62%,#ecfeff 100%);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}
.afp-finance-workspace-brand span{color:#2563eb;}
.afp-finance-workspace-brand img{border-radius:16px;background:#fff;padding:6px;box-shadow:0 10px 28px rgba(15,23,42,.1);}
.afp-finance-detail-stats>div{
  border:0;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.07);
}
.afp-finance-detail-layout .afp-card,
.afp-finance-form-layout .afp-card,
.afp-finance-settings-grid .afp-card{
  border-radius:22px;
  box-shadow:0 18px 44px rgba(15,23,42,.07);
}
.afp-finance-kv-grid>div,
.afp-finance-description,
.afp-finance-document-ready,
.afp-finance-document-empty{
  background:linear-gradient(135deg,#f8fafc 0%,#eef6ff 100%);
  border:1px solid rgba(226,232,240,.72);
  border-radius:14px;
}
#afp-finance-movement-form .afp-card-head h3,
.afp-finance-detail-layout .afp-card-head h3,
.afp-finance-settings-grid h3{letter-spacing:-.018em;}
#afp-finance-movement-form input,
#afp-finance-movement-form select,
#afp-finance-movement-form textarea,
.afp-finance-settings-grid input{
  border-radius:12px;
  border-color:rgba(148,163,184,.35);
  background:#fbfdff;
}
#afp-finance-movement-form input:focus,
#afp-finance-movement-form select:focus,
#afp-finance-movement-form textarea:focus,
.afp-finance-settings-grid input:focus{
  border-color:#2563eb;
  background:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.afp-finance-form-actions{
  position:sticky;
  bottom:8px;
  z-index:3;
  margin-top:4px;
  padding:12px;
  border:1px solid rgba(226,232,240,.8);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 18px 44px rgba(15,23,42,.1);
  backdrop-filter:blur(12px);
}
.afp-finance-period-summary{
  overflow:hidden;
  border:0;
  border-radius:22px;
  background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);
  box-shadow:0 20px 46px rgba(15,23,42,.16);
}
.afp-finance-period-summary div{border-color:rgba(255,255,255,.12);}
.afp-finance-period-summary small{color:rgba(226,232,240,.72);}
.afp-finance-period-summary strong{color:#fff !important;}

@media(max-width:1180px){
  .afp-finance-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));}
  .afp-finance-toolbar input{grid-column:span 2;}
}
@media(max-width:800px){
  .afp-finance-hero{padding:20px !important;border-radius:20px !important;}
  .afp-finance-hero .afp-inline-actions{width:100%;display:grid;grid-template-columns:1fr;}
  .afp-finance-summary-card{min-height:auto;}
  .afp-finance-tabs{padding:12px;}
  .afp-finance-tabs button{padding:9px 11px;font-size:12px;}
  .afp-finance-toolbar{margin:12px;padding:12px;}
  .afp-finance-table{border-spacing:0 7px;padding:4px 6px 12px;}
  .afp-finance-table tbody td:first-child,
  .afp-finance-table tbody td:last-child{border-radius:0;}
  .afp-finance-form-actions{position:static;display:grid;grid-template-columns:1fr;}
}

/* v1.5.140 — Refinamento visual do Financeiro: submenus, filtros e tabelas
   Apenas camada visual; sem alterações às regras funcionais. */
.afp-finance-list-card{
  overflow:hidden;
  border:1px solid rgba(226,232,240,.72) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.075) !important;
}

/* Submenus internos do Financeiro */
.afp-finance-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  padding:16px;
  border-bottom:1px solid rgba(203,213,225,.65);
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 34%),
    linear-gradient(135deg,#f8fbff 0%,#ffffff 56%,#f0fdfa 100%);
}
.afp-finance-tabs button{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:10px 14px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:14px;
  background:rgba(255,255,255,.84);
  color:#334155;
  font-size:13px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(15,23,42,.045), inset 0 1px 0 rgba(255,255,255,.85);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease;
}
.afp-finance-tabs button:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.34);
  background:#fff;
  color:#1d4ed8;
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}
.afp-finance-tabs button.active{
  border-color:rgba(37,99,235,.15);
  background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 52%,#0891b2 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(37,99,235,.26);
}
.afp-finance-tabs button.active::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:-17px;
  height:3px;
  border-radius:999px 999px 0 0;
  background:#2563eb;
}
.afp-finance-tabs span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:800;
}
.afp-finance-tabs button.active span{
  background:rgba(255,255,255,.22);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}

/* Filtros do Financeiro */
.afp-finance-toolbar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) repeat(5,minmax(132px,1fr)) auto auto;
  gap:10px;
  align-items:center;
  margin:16px;
  padding:14px;
  border:1px solid rgba(203,213,225,.75);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(239,246,255,.94) 0%,rgba(255,255,255,.98) 55%,rgba(236,254,255,.88) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 32px rgba(15,23,42,.055);
}
.afp-finance-toolbar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:linear-gradient(180deg,#2563eb,#06b6d4);
}
.afp-finance-toolbar input,
.afp-finance-toolbar select{
  min-height:40px;
  width:100%;
  border:1px solid rgba(148,163,184,.34);
  border-radius:13px;
  background:#fff;
  color:#0f172a;
  font-size:13px;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.afp-finance-toolbar input{padding-left:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 13px center;}
.afp-finance-toolbar select{appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat calc(100% - 12px) center;}
.afp-finance-toolbar input:focus,
.afp-finance-toolbar select:focus{
  outline:none;
  border-color:#2563eb;
  background-color:#fff;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06);
}
.afp-finance-toolbar #afp-apply-finance-filters{
  min-height:40px;
  white-space:nowrap;
  border-radius:13px;
  box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.afp-finance-toolbar #afp-clear-finance-filters{
  min-height:40px;
  padding:0 12px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:13px;
  background:#fff;
  color:#475569;
  font-weight:700;
  white-space:nowrap;
}
.afp-finance-toolbar #afp-clear-finance-filters:hover{
  color:#dc2626;
  border-color:rgba(220,38,38,.22);
  background:#fff7f7;
}

/* Tabela financeira */
.afp-finance-list-card>.afp-table-wrap{
  margin:0 16px 16px;
  border:1px solid rgba(226,232,240,.88);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.045);
  overflow:auto;
}
.afp-finance-table{
  min-width:1180px;
  width:100%;
  padding:0;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}
.afp-finance-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  height:44px;
  padding:12px 14px;
  border:0;
  border-bottom:1px solid rgba(203,213,225,.8);
  background:linear-gradient(180deg,#f8fafc 0%,#eef4ff 100%);
  color:#475569;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.065em;
  white-space:nowrap;
}
.afp-finance-table tbody tr{
  background:#fff;
  box-shadow:none;
  transition:background .14s ease,box-shadow .14s ease;
}
.afp-finance-table tbody tr:nth-child(even) td{background:#fbfdff;}
.afp-finance-table tbody tr:hover td{
  background:#f0f7ff;
  box-shadow:inset 0 1px 0 rgba(191,219,254,.7), inset 0 -1px 0 rgba(191,219,254,.7);
}
.afp-finance-table tbody td{
  padding:13px 14px;
  border:0;
  border-bottom:1px solid rgba(226,232,240,.82);
  background:#fff;
  vertical-align:middle;
  color:#0f172a;
}
.afp-finance-table tbody td:first-child{
  border-left:0;
  border-radius:0;
  box-shadow:inset 4px 0 0 rgba(148,163,184,.18);
}
.afp-finance-table tbody td:last-child{border-right:0;border-radius:0;}
.afp-finance-table tbody td strong{font-weight:800;letter-spacing:-.012em;}
.afp-finance-table tbody td small{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  line-height:1.35;
}
.afp-finance-table tbody td em.afp-finance-overdue{
  display:inline-flex;
  margin-top:6px;
  padding:3px 7px;
  border-radius:999px;
  background:#fee2e2;
  color:#991b1b;
  font-style:normal;
  font-size:11px;
  font-weight:800;
}
.afp-finance-category-tag{
  display:inline-flex;
  align-items:center;
  max-width:190px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  box-shadow:none;
}
.afp-finance-category-tag.revenue{background:#dcfce7;color:#166534;border:1px solid rgba(22,101,52,.12);}
.afp-finance-category-tag.expense{background:#ffe4e6;color:#9f1239;border:1px solid rgba(159,18,57,.12);}
.afp-finance-amount{
  display:inline-flex;
  justify-content:flex-end;
  min-width:96px;
  font-size:14px;
  font-weight:900;
}
.afp-finance-amount.revenue{color:#15803d !important;}
.afp-finance-amount.expense{color:#be123c !important;}
.afp-finance-origin small{margin:0 0 3px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.045em;font-size:10px;}
.afp-finance-origin strong{font-size:13px;color:#0f172a;}
.afp-finance-table td a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:999px;
  background:#eef2ff;
  color:#1d4ed8;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.afp-finance-table td a:hover{background:#dbeafe;color:#1e40af;}
.afp-finance-row-actions{
  display:flex;
  align-items:center;
  gap:7px;
  justify-content:flex-start;
  flex-wrap:nowrap;
}
.afp-finance-row-actions .afp-btn-small{
  min-height:34px;
  padding:7px 12px;
  border-radius:11px;
  font-weight:800;
}
.afp-finance-row-actions summary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  border:1px solid rgba(148,163,184,.32);
  border-radius:11px;
  background:#fff;
  color:#475569;
  cursor:pointer;
  font-weight:900;
  box-shadow:0 8px 18px rgba(15,23,42,.045);
}
.afp-finance-row-actions summary:hover{background:#eff6ff;color:#1d4ed8;border-color:rgba(37,99,235,.22);}
.afp-finance-row-actions details>div{
  right:0;
  min-width:178px;
  padding:8px;
  border:1px solid rgba(226,232,240,.88);
  border-radius:14px;
  background:#fff;
  box-shadow:0 22px 50px rgba(15,23,42,.18);
}
.afp-finance-row-actions details>div button{
  width:100%;
  min-height:34px;
  border-radius:10px;
  font-weight:700;
}
.afp-finance-row-actions details>div button:hover{background:#f1f5f9;}
.afp-finance-row-actions details>div button.danger:hover{background:#fef2f2;color:#dc2626;}
.afp-finance-list-card .afp-pagination{
  margin:0 16px 16px;
  padding:10px 12px;
  border:1px solid rgba(226,232,240,.78);
  border-radius:16px;
  background:#fbfdff;
}

@media(max-width:1320px){
  .afp-finance-toolbar{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(130px,1fr));}
  .afp-finance-toolbar #afp-finance-period,
  .afp-finance-toolbar #afp-finance-docs,
  .afp-finance-toolbar #afp-apply-finance-filters,
  .afp-finance-toolbar #afp-clear-finance-filters{grid-column:auto;}
}
@media(max-width:900px){
  .afp-finance-tabs{flex-wrap:nowrap;overflow-x:auto;padding:12px;scrollbar-width:thin;}
  .afp-finance-tabs button{flex:0 0 auto;min-height:38px;font-size:12px;padding:9px 12px;}
  .afp-finance-tabs button.active::after{display:none;}
  .afp-finance-toolbar{grid-template-columns:1fr 1fr;margin:12px;padding:12px;border-radius:18px;}
  .afp-finance-toolbar input{grid-column:1/-1;}
  .afp-finance-toolbar #afp-apply-finance-filters,
  .afp-finance-toolbar #afp-clear-finance-filters{width:100%;justify-content:center;}
  .afp-finance-list-card>.afp-table-wrap{margin:0 12px 12px;border-radius:16px;}
  .afp-finance-table{min-width:1040px;}
  .afp-finance-table thead th{padding:10px 12px;}
  .afp-finance-table tbody td{padding:11px 12px;}
}
@media(max-width:560px){
  .afp-finance-toolbar{grid-template-columns:1fr;}
  .afp-finance-toolbar select,
  .afp-finance-toolbar input{min-height:42px;}
  .afp-finance-list-card .afp-pagination{margin:0 12px 12px;}
}

/* v1.5.141 — Financeiro: filtros contidos e tabelas ajustadas sem scroll horizontal */
.afp-finance-list-card,
.afp-finance-toolbar,
.afp-finance-list-card>.afp-table-wrap{
  box-sizing:border-box;
  max-width:100%;
}
.afp-finance-toolbar{
  grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
  gap:10px;
  overflow:hidden;
}
.afp-finance-toolbar>*{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.afp-finance-toolbar input,
.afp-finance-toolbar select,
.afp-finance-toolbar button,
.afp-finance-toolbar .afp-btn,
.afp-finance-toolbar .afp-link-btn{
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}
.afp-finance-toolbar input#afp-finance-search{
  grid-column:span 2;
}
.afp-finance-toolbar #afp-apply-finance-filters,
.afp-finance-toolbar #afp-clear-finance-filters{
  justify-content:center;
  padding-left:10px;
  padding-right:10px;
}
.afp-finance-list-card>.afp-table-wrap{
  overflow-x:hidden;
  overflow-y:visible;
}
.afp-finance-table{
  min-width:0 !important;
  width:100%;
  max-width:100%;
  table-layout:fixed;
}
.afp-finance-table thead th,
.afp-finance-table tbody td{
  padding-left:8px;
  padding-right:8px;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.28;
}
.afp-finance-table thead th{
  font-size:10px;
  letter-spacing:.045em;
}
.afp-finance-table tbody td{
  font-size:12px;
}
.afp-finance-table tbody td small{
  font-size:11px;
}
.afp-finance-table thead th:nth-child(1),
.afp-finance-table tbody td:nth-child(1){width:8%;}
.afp-finance-table thead th:nth-child(2),
.afp-finance-table tbody td:nth-child(2){width:8%;}
.afp-finance-table thead th:nth-child(3),
.afp-finance-table tbody td:nth-child(3){width:16%;}
.afp-finance-table thead th:nth-child(4),
.afp-finance-table tbody td:nth-child(4){width:12%;}
.afp-finance-table thead th:nth-child(5),
.afp-finance-table tbody td:nth-child(5){width:10%;}
.afp-finance-table thead th:nth-child(6),
.afp-finance-table tbody td:nth-child(6){width:9%;}
.afp-finance-table thead th:nth-child(7),
.afp-finance-table tbody td:nth-child(7){width:12%;}
.afp-finance-table thead th:nth-child(8),
.afp-finance-table tbody td:nth-child(8){width:9%;}
.afp-finance-table thead th:nth-child(9),
.afp-finance-table tbody td:nth-child(9){width:6%;}
.afp-finance-table thead th:nth-child(10),
.afp-finance-table tbody td:nth-child(10){width:10%;}
.afp-finance-category-tag,
.afp-finance-table td a,
.afp-finance-table .afp-status{
  max-width:100%;
  white-space:normal;
  line-height:1.15;
}
.afp-finance-amount{
  min-width:0;
  width:100%;
  justify-content:flex-end;
  font-size:13px;
  white-space:nowrap;
}
.afp-finance-row-actions{
  gap:5px;
  flex-wrap:wrap;
}
.afp-finance-row-actions .afp-btn-small{
  min-height:31px;
  padding:6px 8px;
  border-radius:10px;
  font-size:12px;
}
.afp-finance-row-actions summary{
  width:31px;
  height:31px;
  border-radius:10px;
}
.afp-finance-row-actions details{
  position:relative;
}
.afp-finance-row-actions details>div{
  position:absolute;
  z-index:30;
}

@media(max-width:1180px){
  .afp-finance-toolbar input#afp-finance-search{grid-column:1/-1;}
  .afp-finance-table thead th,
  .afp-finance-table tbody td{padding-left:6px;padding-right:6px;}
  .afp-finance-table thead th{font-size:9.5px;}
  .afp-finance-table tbody td{font-size:11.5px;}
  .afp-finance-row-actions .afp-btn-small{padding:6px 7px;font-size:11.5px;}
}

@media(max-width:900px){
  .afp-finance-list-card>.afp-table-wrap{
    overflow:visible;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .afp-finance-table,
  .afp-finance-table thead,
  .afp-finance-table tbody,
  .afp-finance-table tr,
  .afp-finance-table td{
    display:block;
    width:100% !important;
    max-width:100%;
  }
  .afp-finance-table thead{display:none;}
  .afp-finance-table tbody tr{
    margin:0 0 12px;
    padding:10px;
    border:1px solid rgba(226,232,240,.88);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 26px rgba(15,23,42,.055);
  }
  .afp-finance-table tbody tr:nth-child(even) td,
  .afp-finance-table tbody tr:hover td{background:transparent;box-shadow:none;}
  .afp-finance-table tbody td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:9px 6px;
    border-bottom:1px solid rgba(226,232,240,.7);
    background:transparent;
  }
  .afp-finance-table tbody td:last-child{border-bottom:0;}
  .afp-finance-table tbody td::before{
    color:#64748b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .afp-finance-table tbody td:nth-child(1)::before{content:"Documento";}
  .afp-finance-table tbody td:nth-child(2)::before{content:"Data";}
  .afp-finance-table tbody td:nth-child(3)::before{content:"Entidade";}
  .afp-finance-table tbody td:nth-child(4)::before{content:"Categoria";}
  .afp-finance-table tbody td:nth-child(5)::before{content:"Origem";}
  .afp-finance-table tbody td:nth-child(6)::before{content:"Estado";}
  .afp-finance-table tbody td:nth-child(7)::before{content:"Reconciliação";}
  .afp-finance-table tbody td:nth-child(8)::before{content:"Valor";}
  .afp-finance-table tbody td:nth-child(9)::before{content:"PDF";}
  .afp-finance-table tbody td:nth-child(10)::before{content:"Ações";}
  .afp-finance-amount{justify-content:flex-start;font-size:14px;}
  .afp-finance-row-actions{justify-content:flex-start;}
}

@media(max-width:620px){
  .afp-finance-toolbar{grid-template-columns:1fr;}
  .afp-finance-toolbar input#afp-finance-search{grid-column:1/-1;}
  .afp-finance-table tbody td{grid-template-columns:96px minmax(0,1fr);}
}

/* v1.5.142 — Financeiro: tabela compacta sem Documento/Origem e ações visíveis */
.afp-finance-toolbar{
  display:grid;
  grid-template-columns:repeat(9,minmax(0,1fr));
  gap:10px;
  align-items:end;
  padding:16px;
  box-sizing:border-box;
  max-width:100%;
}
.afp-finance-toolbar input#afp-finance-search{grid-column:span 2;}
.afp-finance-toolbar input,
.afp-finance-toolbar select,
.afp-finance-toolbar button,
.afp-finance-toolbar .afp-btn,
.afp-finance-toolbar .afp-link-btn{
  width:100%;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.afp-finance-list-card>.afp-table-wrap{
  overflow-x:hidden !important;
  max-width:100%;
}
.afp-finance-table-compact{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
}
.afp-finance-table-compact thead th,
.afp-finance-table-compact tbody td{
  padding-left:8px;
  padding-right:8px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.afp-finance-table-compact thead th:nth-child(1),
.afp-finance-table-compact tbody td:nth-child(1){width:8%;}
.afp-finance-table-compact thead th:nth-child(2),
.afp-finance-table-compact tbody td:nth-child(2){width:9%;}
.afp-finance-table-compact thead th:nth-child(3),
.afp-finance-table-compact tbody td:nth-child(3){width:20%;}
.afp-finance-table-compact thead th:nth-child(4),
.afp-finance-table-compact tbody td:nth-child(4){width:12%;}
.afp-finance-table-compact thead th:nth-child(5),
.afp-finance-table-compact tbody td:nth-child(5){width:10%;}
.afp-finance-table-compact thead th:nth-child(6),
.afp-finance-table-compact tbody td:nth-child(6){width:16%;}
.afp-finance-table-compact thead th:nth-child(7),
.afp-finance-table-compact tbody td:nth-child(7){width:10%;}
.afp-finance-table-compact thead th:nth-child(8),
.afp-finance-table-compact tbody td:nth-child(8){width:15%;}
.afp-finance-row-actions-inline{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
  justify-content:flex-start;
}
.afp-finance-row-actions-inline .afp-btn-small{
  min-height:29px;
  padding:5px 7px;
  border-radius:9px;
  font-size:11px;
  line-height:1.1;
  white-space:nowrap;
}
.afp-finance-row-actions-inline .afp-btn-small.danger,
.afp-finance-row-actions-inline .afp-btn-small.danger:hover{
  border-color:rgba(220,38,38,.24);
  background:#fff1f2;
  color:#b91c1c;
}
.afp-finance-table-compact .afp-finance-amount{
  justify-content:flex-end;
  font-size:13px;
}
.afp-finance-table-compact .afp-status,
.afp-finance-table-compact .afp-finance-category-tag{
  max-width:100%;
}
@media(max-width:1180px){
  .afp-finance-toolbar{grid-template-columns:repeat(3,minmax(0,1fr));}
  .afp-finance-toolbar input#afp-finance-search{grid-column:1/-1;}
  .afp-finance-table-compact thead th,
  .afp-finance-table-compact tbody td{padding-left:6px;padding-right:6px;}
  .afp-finance-row-actions-inline .afp-btn-small{font-size:10.5px;padding:5px 6px;}
}
@media(max-width:900px){
  .afp-finance-list-card>.afp-table-wrap{overflow:visible!important;}
  .afp-finance-table-compact,
  .afp-finance-table-compact thead,
  .afp-finance-table-compact tbody,
  .afp-finance-table-compact tr,
  .afp-finance-table-compact td{display:block;width:100%!important;max-width:100%;}
  .afp-finance-table-compact thead{display:none;}
  .afp-finance-table-compact tbody tr{
    margin:0 0 12px;
    padding:10px;
    border:1px solid rgba(226,232,240,.88);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 26px rgba(15,23,42,.055);
  }
  .afp-finance-table-compact tbody td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:10px;
    align-items:start;
    padding:9px 6px;
    border-bottom:1px solid rgba(226,232,240,.7);
    background:transparent;
  }
  .afp-finance-table-compact tbody td:last-child{border-bottom:0;}
  .afp-finance-table-compact tbody td::before{
    color:#64748b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .afp-finance-table-compact tbody td:nth-child(1)::before{content:"N.º";}
  .afp-finance-table-compact tbody td:nth-child(2)::before{content:"Data";}
  .afp-finance-table-compact tbody td:nth-child(3)::before{content:"Entidade";}
  .afp-finance-table-compact tbody td:nth-child(4)::before{content:"Categoria";}
  .afp-finance-table-compact tbody td:nth-child(5)::before{content:"Estado";}
  .afp-finance-table-compact tbody td:nth-child(6)::before{content:"Reconciliação";}
  .afp-finance-table-compact tbody td:nth-child(7)::before{content:"Valor";}
  .afp-finance-table-compact tbody td:nth-child(8)::before{content:"Ações";}
  .afp-finance-table-compact .afp-finance-amount{justify-content:flex-start;font-size:14px;}
  .afp-finance-row-actions-inline{justify-content:flex-start;}
}
@media(max-width:620px){
  .afp-finance-toolbar{grid-template-columns:1fr;padding:12px;margin:12px;}
  .afp-finance-toolbar input#afp-finance-search{grid-column:1/-1;}
  .afp-finance-table-compact tbody td{grid-template-columns:96px minmax(0,1fr);}
}

/* v1.5.143 — Conta: contas bancárias e Reconciliação mais limpa */
.afp-account-bank-layout{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.afp-account-bank-intro{
  border:1px solid rgba(37,99,235,.16);
  background:linear-gradient(135deg,rgba(37,99,235,.08),rgba(14,165,233,.06));
  border-radius:18px;
  padding:16px 18px;
}
.afp-account-bank-intro strong{display:block;color:#0f172a;font-size:1rem;margin-bottom:4px;}
.afp-account-bank-form-grid{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:16px;
}
.afp-account-bank-save{margin-top:-6px;}
.afp-account-bank-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.afp-account-bank-item{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.afp-account-bank-actions{justify-content:flex-end;flex-wrap:wrap;margin:0;}
.afp-bank-import-card-wide{
  margin:0;
  width:100%;
}
.afp-bank-import-form-wide{
  margin-top:12px;
}
.afp-bank-import-grid{
  grid-template-columns:minmax(220px,.9fr) minmax(320px,1.4fr) auto;
  align-items:end;
}
.afp-bank-import-file-field small{display:block;margin-top:5px;color:#64748b;}
.afp-bank-import-submit-field .afp-btn{width:100%;white-space:nowrap;}
.afp-bank-imports-wrap{margin-top:14px;}
.afp-bank-filter-toolbar-modern{
  display:flex !important;
  align-items:flex-end;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
  overflow:visible;
}
.afp-bank-filter-toolbar-modern input,
.afp-bank-filter-toolbar-modern select{
  flex:1 1 150px;
  min-width:0;
  max-width:100%;
}
.afp-bank-filter-toolbar-modern #afp-bank-search{flex:2 1 260px;}
.afp-bank-filter-toolbar-modern input[type="date"]{flex:0 1 150px;min-width:135px;}
.afp-bank-filter-toolbar-modern .afp-btn,
.afp-bank-filter-toolbar-modern .afp-link-btn{flex:0 0 auto;white-space:nowrap;}
.afp-bank-filter-toolbar-modern .afp-muted{flex:1 1 100%;font-size:.78rem;}
@media(max-width:980px){
  .afp-bank-import-grid{grid-template-columns:1fr;}
  .afp-bank-import-submit-field .afp-btn{width:auto;}
}
@media(max-width:720px){
  .afp-account-bank-form-grid{padding:14px;}
  .afp-account-bank-item{align-items:flex-start;flex-direction:column;}
  .afp-account-bank-actions{width:100%;justify-content:space-between;}
  .afp-bank-filter-toolbar-modern{display:grid !important;grid-template-columns:1fr;}
  .afp-bank-filter-toolbar-modern input,
  .afp-bank-filter-toolbar-modern select,
  .afp-bank-filter-toolbar-modern input[type="date"]{width:100%;min-width:0;}
}

/* v1.5.144 — Reconciliação: tabela alinhada com filtros e cabeçalho centrado */
.afp-bank-transactions-card{
  overflow:hidden !important;
}
.afp-bank-transactions-card .afp-bank-filter-toolbar-modern,
.afp-bank-transactions-card > .afp-table-wrap,
.afp-bank-transactions-card .afp-bank-pagination{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.afp-bank-transactions-card > .afp-table-wrap{
  overflow:visible !important;
}
.afp-bank-transaction-table{
  width:100% !important;
  max-width:100% !important;
  table-layout:fixed !important;
}
.afp-bank-transaction-table thead th{
  text-align:center !important;
  vertical-align:middle !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.afp-bank-transaction-table tbody td{
  padding-left:8px !important;
  padding-right:8px !important;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.afp-bank-transaction-table thead th:nth-child(1),
.afp-bank-transaction-table tbody td:nth-child(1){width:9%;}
.afp-bank-transaction-table thead th:nth-child(2),
.afp-bank-transaction-table tbody td:nth-child(2){width:12%;}
.afp-bank-transaction-table thead th:nth-child(3),
.afp-bank-transaction-table tbody td:nth-child(3){width:25%;}
.afp-bank-transaction-table thead th:nth-child(4),
.afp-bank-transaction-table tbody td:nth-child(4){width:10%;text-align:right;}
.afp-bank-transaction-table thead th:nth-child(5),
.afp-bank-transaction-table tbody td:nth-child(5){width:13%;text-align:center;}
.afp-bank-transaction-table thead th:nth-child(6),
.afp-bank-transaction-table tbody td:nth-child(6){width:19%;}
.afp-bank-transaction-table thead th:nth-child(7),
.afp-bank-transaction-table tbody td:nth-child(7){width:12%;}
.afp-bank-transaction-table .afp-status{
  justify-content:center;
  text-align:center;
  white-space:normal;
}
.afp-bank-transaction-table .afp-bank-row-actions{
  justify-content:center;
  gap:6px;
}
.afp-bank-transaction-table .afp-bank-row-actions .afp-btn-small,
.afp-bank-transaction-table .afp-bank-row-actions .afp-link-btn{
  margin-right:0;
  white-space:nowrap;
}
@media(max-width:1180px){
  .afp-bank-transaction-table thead th,
  .afp-bank-transaction-table tbody td{
    font-size:12px;
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .afp-bank-transaction-table .afp-bank-row-actions .afp-btn-small,
  .afp-bank-transaction-table .afp-bank-row-actions .afp-link-btn{
    font-size:11px;
  }
}
@media(max-width:900px){
  .afp-bank-transactions-card > .afp-table-wrap{overflow:visible !important;}
  .afp-bank-transaction-table,
  .afp-bank-transaction-table thead,
  .afp-bank-transaction-table tbody,
  .afp-bank-transaction-table tr,
  .afp-bank-transaction-table td{
    display:block;
    width:100% !important;
    max-width:100% !important;
  }
  .afp-bank-transaction-table thead{display:none;}
  .afp-bank-transaction-table tbody tr{
    margin:0 0 12px;
    padding:10px;
    border:1px solid rgba(226,232,240,.88);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 26px rgba(15,23,42,.055);
  }
  .afp-bank-transaction-table tbody td{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:8px 4px !important;
    border-bottom:1px solid rgba(226,232,240,.72);
    text-align:left !important;
  }
  .afp-bank-transaction-table tbody td:last-child{border-bottom:0;}
  .afp-bank-transaction-table tbody td::before{
    color:#64748b;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .afp-bank-transaction-table tbody td:nth-child(1)::before{content:'Data';}
  .afp-bank-transaction-table tbody td:nth-child(2)::before{content:'Conta';}
  .afp-bank-transaction-table tbody td:nth-child(3)::before{content:'Descrição';}
  .afp-bank-transaction-table tbody td:nth-child(4)::before{content:'Valor';}
  .afp-bank-transaction-table tbody td:nth-child(5)::before{content:'Estado';}
  .afp-bank-transaction-table tbody td:nth-child(6)::before{content:'Sugestão';}
  .afp-bank-transaction-table tbody td:nth-child(7)::before{content:'Ações';}
  .afp-bank-transaction-table .afp-bank-row-actions{justify-content:flex-start;}
}

/* v1.5.145 — Financeiro: tabelas de movimentos alinhadas com filtros e cabeçalhos centrados */
.afp-finance-list-card{
  overflow:hidden !important;
}
.afp-finance-list-card .afp-finance-toolbar,
.afp-finance-list-card > .afp-table-wrap,
.afp-finance-list-card .afp-pagination,
.afp-finance-list-card .afp-pager,
.afp-finance-list-card .afp-finance-pagination{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.afp-finance-list-card > .afp-table-wrap{
  overflow:visible !important;
}
.afp-finance-list-card .afp-finance-table-compact,
.afp-finance-list-card table.afp-finance-table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.afp-finance-list-card .afp-finance-table-compact thead th,
.afp-finance-list-card table.afp-finance-table thead th{
  text-align:center !important;
  vertical-align:middle !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.afp-finance-list-card .afp-finance-table-compact tbody td,
.afp-finance-list-card table.afp-finance-table tbody td{
  padding-left:8px !important;
  padding-right:8px !important;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(1),
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(2),
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(4),
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(5),
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(6),
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(8){
  text-align:center;
}
.afp-finance-list-card .afp-finance-table-compact tbody td:nth-child(7){
  text-align:right;
}
.afp-finance-list-card .afp-finance-table-compact .afp-status,
.afp-finance-list-card .afp-finance-table-compact .afp-finance-category-tag{
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
  text-align:center;
}
.afp-finance-list-card .afp-finance-table-compact .afp-finance-amount{
  justify-content:flex-end;
  text-align:right;
}
.afp-finance-list-card .afp-finance-row-actions-inline{
  justify-content:center;
}
@media(max-width:1180px){
  .afp-finance-list-card .afp-finance-table-compact thead th,
  .afp-finance-list-card .afp-finance-table-compact tbody td{
    font-size:12px;
    padding-left:6px !important;
    padding-right:6px !important;
  }
}
@media(max-width:900px){
  .afp-finance-list-card > .afp-table-wrap{overflow:visible !important;}
  .afp-finance-list-card .afp-finance-table-compact tbody td{
    text-align:left !important;
  }
  .afp-finance-list-card .afp-finance-table-compact .afp-status,
  .afp-finance-list-card .afp-finance-table-compact .afp-finance-category-tag{
    margin-left:0;
    margin-right:0;
    justify-content:flex-start;
    text-align:left;
  }
  .afp-finance-list-card .afp-finance-table-compact .afp-finance-amount{
    justify-content:flex-start;
    text-align:left;
  }
  .afp-finance-list-card .afp-finance-row-actions-inline{
    justify-content:flex-start;
  }
}


/* v1.5.147 — Reposição do estado aprovado v1.5.145; removidas alterações globais da v1.5.146. */

/* v1.5.148 — Bilheteira: revisão visual isolada, sem impacto no Financeiro */
.afp-ticketing-hierarchy-view{
  --afp-ticket-blue:#2563eb;
  --afp-ticket-indigo:#4f46e5;
  --afp-ticket-green:#16a34a;
  --afp-ticket-amber:#f59e0b;
  --afp-ticket-purple:#7c3aed;
  --afp-ticket-text:#0f172a;
  --afp-ticket-muted:#64748b;
  --afp-ticket-border:rgba(148,163,184,.22);
  gap:20px;
}
.afp-ticketing-hierarchy-view .afp-module-hero{
  position:relative;
  overflow:hidden;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(96,165,250,.42),transparent 30%),
    radial-gradient(circle at 9% 88%,rgba(34,197,94,.22),transparent 32%),
    linear-gradient(135deg,#0f172a 0%,#17356f 52%,#2563eb 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(37,99,235,.20);
}
.afp-ticketing-hierarchy-view .afp-module-hero::after{
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  border-radius:999px;
  right:-72px;
  top:-86px;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
.afp-ticketing-hierarchy-view .afp-module-hero h2{
  color:#fff !important;
  margin-bottom:6px;
}
.afp-ticketing-hierarchy-view .afp-module-hero .afp-muted{
  color:rgba(255,255,255,.80) !important;
  max-width:760px;
}
.afp-ticketing-hierarchy-view .afp-module-hero .afp-btn.secondary{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.30) !important;
  box-shadow:none !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview{
  gap:14px;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:18px !important;
  border:1px solid var(--afp-ticket-border) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065);
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card::before{
  content:'';
  position:absolute;
  inset:auto -32px -46px auto;
  width:124px;
  height:124px;
  border-radius:999px;
  opacity:.14;
  background:var(--afp-ticket-blue);
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(2)::before{background:var(--afp-ticket-amber);}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(3)::before{background:var(--afp-ticket-green);}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(4)::before{background:var(--afp-ticket-purple);}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card h3{
  margin:0 0 8px;
  color:var(--afp-ticket-muted);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-weight:850;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card .afp-stat{
  color:var(--afp-ticket-text);
  font-size:2rem;
  line-height:1.05;
  font-weight:900;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(1){border-top:4px solid var(--afp-ticket-blue) !important;}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(2){border-top:4px solid var(--afp-ticket-amber) !important;}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(3){border-top:4px solid var(--afp-ticket-green) !important;}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(4){border-top:4px solid var(--afp-ticket-purple) !important;}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-list{
  gap:14px;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-event-card,
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-focus,
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-section-card,
.afp-ticketing-hierarchy-view .afp-ticket-inline-panel,
.afp-ticketing-hierarchy-view .afp-ticket-checkin-panel{
  border:1px solid var(--afp-ticket-border) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-event-card{
  padding:18px 20px !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-event-card:hover{
  border-color:rgba(37,99,235,.34) !important;
  box-shadow:0 24px 62px rgba(37,99,235,.11) !important;
  transform:translateY(-1px);
  transition:.18s ease;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-event-main h3{
  font-size:1.05rem;
  color:var(--afp-ticket-text);
}
.afp-ticketing-hierarchy-view .afp-badge{
  border:1px solid rgba(37,99,235,.18);
  background:#eff6ff;
  color:#1d4ed8;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  padding:4px 9px;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics{
  gap:10px;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics span{
  border:1px solid rgba(226,232,240,.88);
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics span:nth-child(1){border-left:4px solid var(--afp-ticket-blue);}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics span:nth-child(2){border-left:4px solid var(--afp-ticket-amber);}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics span:nth-child(3){border-left:4px solid var(--afp-ticket-green);}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-metrics span:nth-child(4){border-left:4px solid var(--afp-ticket-purple);}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-breadcrumb{
  padding:10px 12px;
  border:1px solid rgba(226,232,240,.85);
  border-radius:999px;
  background:#fff;
  width:fit-content;
  max-width:100%;
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-focus{
  padding:20px !important;
  border-top:4px solid var(--afp-ticket-blue) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-focus .afp-card-head,
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-section-card .afp-card-head,
.afp-ticketing-hierarchy-view .afp-ticket-checkin-panel .afp-card-head{
  align-items:flex-start;
  gap:14px;
  border-bottom:1px solid rgba(226,232,240,.82);
  padding-bottom:14px;
  margin-bottom:14px;
}
.afp-ticketing-hierarchy-view .afp-ticket-inline-panel{
  border-color:rgba(37,99,235,.28) !important;
  background:linear-gradient(135deg,#f8fbff 0%,#ffffff 60%,#eff6ff 100%) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-inline-panel-head{
  border-bottom-color:rgba(191,219,254,.80);
}
.afp-ticketing-hierarchy-view .afp-ticket-public-toolbar,
.afp-ticketing-hierarchy-view .afp-inline-actions{
  flex-wrap:wrap;
  gap:8px;
}
.afp-ticketing-hierarchy-view .afp-btn,
.afp-ticketing-hierarchy-view .afp-link-btn{
  border-radius:12px;
}
.afp-ticketing-hierarchy-view .afp-ticket-public-actions{
  gap:6px;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-popup{
  border-color:rgba(37,99,235,.24) !important;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-config-card{
  border-radius:22px !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-config-grid{
  gap:14px;
}
.afp-ticketing-hierarchy-view .afp-ticket-form-config-block{
  border:1px solid rgba(226,232,240,.86);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-section-card{
  overflow:hidden !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-hierarchy-section-card > .afp-table-wrap{
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table,
.afp-ticketing-hierarchy-view .afp-ticket-types-table,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table thead th,
.afp-ticketing-hierarchy-view .afp-ticket-types-table thead th,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table thead th{
  text-align:center !important;
  vertical-align:middle !important;
  padding:10px 7px !important;
  background:#f8fafc;
  color:#334155;
  font-size:11px;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td,
.afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td{
  padding:10px 7px !important;
  vertical-align:middle !important;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:not(:first-child),
.afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:not(:first-child),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(n+3){
  text-align:center;
}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(5){
  text-align:right;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table .afp-status,
.afp-ticketing-hierarchy-view .afp-ticket-types-table .afp-status,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table .afp-status{
  margin-left:auto;
  margin-right:auto;
  justify-content:center;
  text-align:center;
  white-space:normal;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:last-child,
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:last-child,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:last-child{
  white-space:normal !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:last-child .afp-link-btn,
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:last-child .afp-link-btn,
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:last-child .afp-link-btn{
  margin:2px 3px;
  padding:6px 8px;
  font-size:12px;
}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(1),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(1){width:22%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(2),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(2){width:12%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(3),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(3){width:12%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(4),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(4){width:7%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(5),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(5){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(6),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(6){width:10%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(7),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(7){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(8),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(8){width:10%;}
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table th:nth-child(9),
.afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:nth-child(9){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(1),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(1){width:19%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(2),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(2){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(3),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(3){width:17%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(4),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(4){width:12%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(5),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(5){width:10%;min-width:0 !important;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(6),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(6){width:10%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(7),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(7){width:10%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(8),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(8){width:7%;}
.afp-ticketing-hierarchy-view .afp-ticket-types-table th:nth-child(9),
.afp-ticketing-hierarchy-view .afp-ticket-types-table td:nth-child(9){width:6%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(1),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(1){width:12%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(2),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(2){width:18%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(3),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(3){width:12%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(4),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(4){width:6%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(5),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(5){width:8%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(6),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(6){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(7),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(7){width:13%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(8),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(8){width:9%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(9),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(9){width:6%;}
.afp-ticketing-hierarchy-view .afp-ticket-sales-table th:nth-child(10),
.afp-ticketing-hierarchy-view .afp-ticket-sales-table td:nth-child(10){width:7%;}
@media (max-width:1180px){
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table thead th,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table thead th,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table thead th,
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td{
    font-size:12px;
    padding-left:5px !important;
    padding-right:5px !important;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table td:last-child .afp-link-btn,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table td:last-child .afp-link-btn,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table td:last-child .afp-link-btn{
    font-size:11px;
    padding:5px 6px;
  }
}
@media (max-width:900px){
  .afp-ticketing-hierarchy-view .afp-table-wrap{overflow:visible !important;}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table,
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table thead,
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody,
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tr,
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table td,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table thead,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tr,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table td,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table thead,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tr,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table td{
    display:block;
    width:100% !important;
    max-width:100% !important;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table thead,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table thead,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table thead{display:none;}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody tr,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody tr,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody tr{
    margin:0 0 12px;
    padding:12px;
    border:1px solid rgba(226,232,240,.88);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 26px rgba(15,23,42,.055);
  }
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td{
    display:grid;
    grid-template-columns:118px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:8px 4px !important;
    border-bottom:1px solid rgba(226,232,240,.72);
    text-align:left !important;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:last-child,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:last-child,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:last-child{border-bottom:0;}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td::before,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td::before,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td::before{
    color:#64748b;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.03em;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(1)::before{content:'Sessão';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(2)::before{content:'Data';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(3)::before{content:'Lotação';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(4)::before{content:'Tipos';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(5)::before{content:'Bilhetes';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(6)::before{content:'Receita';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(7)::before{content:'Estado';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(8)::before{content:'Link';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table tbody td:nth-child(9)::before{content:'Ações';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(1)::before{content:'Bilhete';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(2)::before{content:'Preço';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(3)::before{content:'Período';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(4)::before{content:'Capacidade';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(5)::before{content:'Vendidos';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(6)::before{content:'Disponível';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(7)::before{content:'Receita';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(8)::before{content:'Estado';}
  .afp-ticketing-hierarchy-view .afp-ticket-types-table tbody td:nth-child(9)::before{content:'Ações';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(1)::before{content:'Bilhete';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(2)::before{content:'Participante';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(3)::before{content:'Código';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(4)::before{content:'Qtd.';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(5)::before{content:'Total';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(6)::before{content:'Estado';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(7)::before{content:'Pagamento';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(8)::before{content:'Comprovativo';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(9)::before{content:'Check-in';}
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table tbody td:nth-child(10)::before{content:'Ações';}
  .afp-ticketing-hierarchy-view .afp-ticket-sessions-table .afp-status,
  .afp-ticketing-hierarchy-view .afp-ticket-types-table .afp-status,
  .afp-ticketing-hierarchy-view .afp-ticket-sales-table .afp-status{
    margin-left:0;
    margin-right:0;
    justify-content:flex-start;
    text-align:left;
  }
}
@media (max-width:720px){
  .afp-ticketing-hierarchy-view .afp-module-hero{
    padding:20px !important;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-hierarchy-event-main,
  .afp-ticketing-hierarchy-view .afp-ticket-hierarchy-focus .afp-card-head,
  .afp-ticketing-hierarchy-view .afp-ticket-hierarchy-section-card .afp-card-head,
  .afp-ticketing-hierarchy-view .afp-ticket-checkin-panel .afp-card-head,
  .afp-ticketing-hierarchy-view .afp-ticket-inline-panel-head{
    flex-direction:column;
    align-items:stretch;
  }
  .afp-ticketing-hierarchy-view .afp-ticket-hierarchy-breadcrumb{
    border-radius:18px;
    width:100%;
  }
  .afp-ticketing-hierarchy-view .afp-inline-actions .afp-btn,
  .afp-ticketing-hierarchy-view .afp-ticket-public-toolbar .afp-btn{
    width:100%;
    justify-content:center;
  }
}

/* v1.5.149 — Bilheteira: cartões do topo coloridos, estilo alinhado com Financeiro aprovado */
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:126px !important;
  padding:20px !important;
  border:0 !important;
  border-radius:22px !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease, box-shadow .16s ease !important;
  color:#fff !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card::before{
  content:"" !important;
  position:absolute !important;
  right:-38px !important;
  bottom:-46px !important;
  width:132px !important;
  height:132px !important;
  border-radius:999px !important;
  opacity:1 !important;
  background:rgba(255,255,255,.16) !important;
  pointer-events:none !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card::after{
  content:"";
  position:absolute;
  left:-42px;
  top:-54px;
  width:128px;
  height:128px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  pointer-events:none;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card h3,
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card .afp-stat,
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card p,
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card small,
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card h3{
  margin:0 0 8px !important;
  opacity:.78;
  font-size:10px !important;
  letter-spacing:.09em !important;
  text-transform:uppercase;
  font-weight:900 !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card .afp-stat{
  font-size:clamp(22px,2.1vw,30px) !important;
  line-height:1.05 !important;
  letter-spacing:-.035em;
  font-weight:900 !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(1){
  background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(2){
  background:linear-gradient(135deg,#92400e 0%,#f59e0b 100%) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(3){
  background:linear-gradient(135deg,#0f766e 0%,#22c55e 100%) !important;
}
.afp-ticketing-hierarchy-view .afp-ticket-section-overview > .afp-card:nth-child(4){
  background:linear-gradient(135deg,#5b21b6 0%,#a855f7 100%) !important;
}


/* v1.5.150 — Eventos: revisão visual isolada
   Escopo limitado ao módulo Eventos para não afetar Financeiro/Bilheteira. */
.afp-events-dashboard-view{
  gap:22px;
}
.afp-events-dashboard-view .afp-module-hero{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:26px 28px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(125,211,252,.28), transparent 34%),
    radial-gradient(circle at 92% 10%, rgba(167,139,250,.22), transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#0891b2 100%) !important;
  color:#fff !important;
  box-shadow:0 22px 56px rgba(15,23,42,.18) !important;
}
.afp-events-dashboard-view .afp-module-hero::after{
  content:"";
  position:absolute;
  right:-54px;
  bottom:-62px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.afp-events-dashboard-view .afp-module-hero h2,
.afp-events-dashboard-view .afp-module-hero p,
.afp-events-dashboard-view .afp-module-hero .afp-muted,
.afp-events-dashboard-view .afp-module-kicker,
.afp-events-dashboard-view .afp-module-kicker span{color:#fff !important;position:relative;z-index:1;}
.afp-events-dashboard-view .afp-module-kicker .afp-badge{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18);
}
.afp-events-dashboard-view .afp-module-hero .afp-inline-actions{position:relative;z-index:1;}
.afp-events-dashboard-view .afp-module-hero .afp-btn{
  border:1px solid rgba(255,255,255,.22);
  background:#fff;
  color:#1d4ed8;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.afp-events-dashboard-view .afp-module-hero .afp-btn.secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.24);
  box-shadow:none;
  backdrop-filter:blur(10px);
}

.afp-events-dashboard-stats{gap:16px;}
.afp-events-dashboard-stats > .afp-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  padding:20px !important;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease, box-shadow .16s ease;
}
.afp-events-dashboard-stats > .afp-card:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(15,23,42,.16) !important;}
.afp-events-dashboard-stats > .afp-card::before{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-42px;
  width:128px;
  height:128px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-events-dashboard-stats > .afp-card::after{
  content:"";
  position:absolute;
  left:-48px;
  top:-58px;
  width:134px;
  height:134px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.afp-events-dashboard-stats > .afp-card h3,
.afp-events-dashboard-stats > .afp-card .afp-stat,
.afp-events-dashboard-stats > .afp-card p,
.afp-events-dashboard-stats > .afp-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-events-dashboard-stats > .afp-card h3{
  margin:0 0 8px !important;
  opacity:.78;
  font-size:10px !important;
  letter-spacing:.09em !important;
  text-transform:uppercase;
  font-weight:900 !important;
}
.afp-events-dashboard-stats > .afp-card .afp-stat{
  font-size:clamp(22px,2.1vw,30px) !important;
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:900;
}
.afp-events-dashboard-stats > .afp-card:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-events-dashboard-stats > .afp-card:nth-child(2){background:linear-gradient(135deg,#0f766e 0%,#22c55e 100%) !important;}
.afp-events-dashboard-stats > .afp-card:nth-child(3){background:linear-gradient(135deg,#4c1d95 0%,#8b5cf6 100%) !important;}
.afp-events-dashboard-stats > .afp-card:nth-child(4){background:linear-gradient(135deg,#92400e 0%,#f59e0b 100%) !important;}

.afp-events-dashboard-alert{
  border:0 !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 100%) !important;
  box-shadow:0 14px 34px rgba(146,64,14,.11) !important;
}
.afp-events-dashboard-alert strong{color:#78350f;}
.afp-events-dashboard-alert p{color:#92400e;}

.afp-events-insights-grid{gap:16px;}
.afp-events-insight-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(226,232,240,.78) !important;
  border-radius:22px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.065) !important;
}
.afp-events-insight-card::after{
  content:"";
  position:absolute;
  right:-28px;
  top:-32px;
  width:90px;
  height:90px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
}
.afp-events-insight-card h3,
.afp-events-insight-card strong,
.afp-events-insight-card p{position:relative;z-index:1;}
.afp-events-insight-card h3{color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.afp-events-insight-card strong{font-size:18px;color:#0f172a;}
.afp-events-insight-card p{font-size:20px;color:#1d4ed8;font-weight:900;}

.afp-events-list-panel{
  overflow:hidden;
  border:1px solid rgba(226,232,240,.72) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.075) !important;
}
.afp-events-list-panel > .afp-card-head{
  padding:18px 18px 0;
}
.afp-events-quick-tabs.afp-finance-tabs{
  margin:0 !important;
}
.afp-events-toolbar.afp-finance-toolbar{
  grid-template-columns:minmax(220px,1.4fr) minmax(160px,.7fr) auto auto;
  max-width:100%;
  box-sizing:border-box;
}
.afp-events-toolbar.afp-finance-toolbar > *{min-width:0;}
.afp-events-toolbar #afp-events-search{grid-column:auto;}
.afp-events-toolbar #afp-apply-events-filters,
.afp-events-toolbar #afp-clear-events-filters{
  width:auto;
  justify-content:center;
  white-space:nowrap;
}

.afp-events-dashboard-list{
  padding:0 16px 18px;
  gap:14px;
}
.afp-event-dashboard-card{
  position:relative;
  overflow:visible;
  border:1px solid rgba(226,232,240,.8) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%) !important;
  box-shadow:0 14px 36px rgba(15,23,42,.065) !important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.afp-event-dashboard-card:hover{
  transform:translateY(-1px);
  border-color:rgba(37,99,235,.18) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.09) !important;
}
.afp-event-dashboard-card-head{
  align-items:center;
}
.afp-event-dashboard-date-chip{
  border:0 !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;
  color:#fff !important;
  box-shadow:0 12px 30px rgba(37,99,235,.2);
}
.afp-event-dashboard-date-chip strong,
.afp-event-dashboard-date-chip span{color:#fff !important;}
.afp-event-dashboard-date-chip span{opacity:.82;}
.afp-event-dashboard-copy h3{
  color:#0f172a;
  letter-spacing:-.035em;
}
.afp-event-dashboard-kicker .afp-status{
  border-radius:999px;
  font-weight:850;
}
.afp-event-dashboard-actions{
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.afp-event-dashboard-actions details{position:relative;}
.afp-event-dashboard-actions summary{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-weight:900;
  cursor:pointer;
  list-style:none;
  box-shadow:0 8px 18px rgba(15,23,42,.045);
}
.afp-event-dashboard-actions summary::-webkit-details-marker{display:none;}
.afp-event-dashboard-actions details > div{
  position:absolute;
  right:0;
  top:40px;
  z-index:12;
  display:flex;
  min-width:150px;
  flex-direction:column;
  gap:4px;
  padding:7px;
  border:1px solid rgba(203,213,225,.9);
  border-radius:14px;
  background:#fff;
  box-shadow:0 20px 45px rgba(15,23,42,.18);
}
.afp-event-dashboard-actions details button{
  padding:8px 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#334155;
  text-align:left;
  font-weight:750;
  cursor:pointer;
}
.afp-event-dashboard-actions details button:hover{background:#f1f5f9;}
.afp-event-dashboard-actions details button.danger{color:#dc2626;}
.afp-event-dashboard-metrics{gap:12px;}
.afp-event-dashboard-metrics > div{
  border:1px solid rgba(226,232,240,.78) !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%) !important;
}
.afp-event-dashboard-metrics small{
  font-size:10px;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.afp-event-dashboard-metrics strong{font-size:20px;}
.afp-event-dashboard-footer{
  padding-top:12px;
  border-top:1px solid rgba(226,232,240,.72);
}

.afp-event-workspace{
  padding:0 16px 18px;
}
.afp-event-workspace-header,
.afp-event-form-card{
  border-radius:22px !important;
  box-shadow:0 14px 34px rgba(15,23,42,.065) !important;
}
.afp-event-workspace-header{
  padding:16px 18px;
  border:1px solid rgba(226,232,240,.78) !important;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 64%,#ecfeff 100%) !important;
}
.afp-event-form-card input,
.afp-event-form-card select,
.afp-event-form-card textarea{
  border-radius:12px;
  border-color:rgba(148,163,184,.35);
  background:#fbfdff;
}
.afp-event-form-card input:focus,
.afp-event-form-card select:focus,
.afp-event-form-card textarea:focus{
  border-color:#2563eb;
  background:#fff;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

@media(max-width:1100px){
  .afp-events-toolbar.afp-finance-toolbar{grid-template-columns:1fr 1fr;}
  .afp-events-toolbar #afp-events-search{grid-column:1 / -1;}
  .afp-events-toolbar #afp-apply-events-filters,
  .afp-events-toolbar #afp-clear-events-filters{width:100%;}
}
@media(max-width:820px){
  .afp-events-dashboard-view .afp-module-hero{padding:20px !important;border-radius:20px !important;}
  .afp-events-dashboard-view .afp-module-hero .afp-inline-actions{width:100%;display:grid;grid-template-columns:1fr;}
  .afp-events-dashboard-stats > .afp-card{min-height:auto;}
  .afp-events-toolbar.afp-finance-toolbar{grid-template-columns:1fr;margin:12px;padding:12px;}
  .afp-events-toolbar #afp-events-search{grid-column:auto;}
  .afp-event-dashboard-card{padding:14px !important;}
  .afp-event-dashboard-actions{justify-content:flex-start;}
  .afp-event-dashboard-actions .afp-btn-small{width:100%;justify-content:center;}
  .afp-event-dashboard-actions details{width:100%;}
  .afp-event-dashboard-actions summary{width:100%;height:38px;}
  .afp-event-dashboard-actions details > div{position:static;margin-top:8px;min-width:0;width:100%;box-sizing:border-box;}
  .afp-event-workspace{padding:0 12px 14px;}
}

/* v1.5.151 — Evento: revisão visual interna isolada
   Escopo limitado à ficha/detalhe do evento para não afetar Financeiro, Bilheteira ou a listagem de Eventos. */
.afp-event-detail-v160{
  gap:22px;
  background:transparent !important;
}
.afp-event-detail-v160 .afp-event-detail-hero-v160{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:28px !important;
  padding:28px !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(125,211,252,.26), transparent 35%),
    radial-gradient(circle at 88% 12%, rgba(196,181,253,.24), transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 54%,#0891b2 100%) !important;
  color:#fff !important;
  box-shadow:0 24px 62px rgba(15,23,42,.2) !important;
}
.afp-event-detail-v160 .afp-event-detail-hero-v160::before{
  content:"";
  position:absolute;
  right:-68px;
  bottom:-78px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  pointer-events:none;
}
.afp-event-detail-v160 .afp-event-detail-hero-v160::after{
  content:"";
  position:absolute;
  left:-70px;
  top:-90px;
  width:210px;
  height:210px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.afp-event-detail-v160 .afp-event-detail-hero-v160 h2,
.afp-event-detail-v160 .afp-event-detail-hero-v160 p,
.afp-event-detail-v160 .afp-event-detail-hero-v160 .afp-muted,
.afp-event-detail-v160 .afp-event-detail-hero-v160 .afp-event-kicker,
.afp-event-detail-v160 .afp-event-detail-hero-v160 .afp-event-detail-meta-line,
.afp-event-detail-v160 .afp-event-detail-hero-v160 .afp-module-eyebrow{
  color:#fff !important;
}
.afp-event-detail-v160 .afp-event-detail-hero-v160 h2{
  letter-spacing:-.045em;
  text-shadow:0 12px 36px rgba(0,0,0,.16);
}
.afp-event-detail-v160 .afp-event-kicker-v160 .afp-module-eyebrow,
.afp-event-detail-v160 .afp-event-kicker-v160 .afp-status{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}
.afp-event-detail-v160 .afp-event-quick-facts-v160 span{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.14) !important;
  color:rgba(255,255,255,.88) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}
.afp-event-detail-v160 .afp-event-quick-facts-v160 strong{color:#fff !important;}
.afp-event-detail-v160 .afp-event-hero-actions-v160 .afp-btn{
  border:1px solid rgba(255,255,255,.24) !important;
  background:#fff !important;
  color:#1d4ed8 !important;
  box-shadow:0 14px 32px rgba(0,0,0,.18) !important;
}
.afp-event-detail-v160 .afp-event-hero-actions-v160 .afp-btn.secondary{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}
.afp-event-detail-v160 .afp-event-hero-actions-v160 .afp-btn.danger{
  background:rgba(220,38,38,.95) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.22) !important;
}

.afp-event-detail-v160 .afp-event-detail-highlight-grid{
  gap:16px !important;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  padding:20px !important;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 44px rgba(15,23,42,.13) !important;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card::before{
  display:block !important;
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:132px;
  height:132px;
  border-radius:999px;
  background:rgba(255,255,255,.16) !important;
  pointer-events:none;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card::after{
  content:"";
  position:absolute;
  left:-44px;
  top:-52px;
  width:126px;
  height:126px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  pointer-events:none;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card.revenue{background:linear-gradient(135deg,#0f766e 0%,#22c55e 100%) !important;}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card.expense{background:linear-gradient(135deg,#991b1b 0%,#f97316 100%) !important;}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card.balance{background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card.margin{background:linear-gradient(135deg,#4c1d95 0%,#8b5cf6 100%) !important;}
.afp-event-detail-v160 .afp-event-detail-highlight-grid .afp-event-highlight-label,
.afp-event-detail-v160 .afp-event-detail-highlight-grid .afp-stat,
.afp-event-detail-v160 .afp-event-detail-highlight-grid .afp-muted,
.afp-event-detail-v160 .afp-event-detail-highlight-grid p{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid .afp-event-highlight-label{
  display:block;
  margin-bottom:8px;
  opacity:.78;
  font-size:10px !important;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:900;
}
.afp-event-detail-v160 .afp-event-detail-highlight-grid .afp-stat{
  font-size:clamp(23px,2.2vw,32px) !important;
  line-height:1.05;
  letter-spacing:-.04em;
  font-weight:900;
}

.afp-event-detail-v160 .afp-event-detail-overview-shell{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:18px;
  align-items:start;
}
.afp-event-detail-v160 .afp-event-detail-main-summary,
.afp-event-detail-v160 .afp-event-side-card,
.afp-event-detail-v160 > .afp-card,
.afp-event-detail-v160 > .afp-settings-grid > .afp-card{
  border:1px solid rgba(226,232,240,.76) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.075) !important;
}
.afp-event-detail-v160 > .afp-card::before,
.afp-event-detail-v160 > .afp-settings-grid > .afp-card::before{
  display:none !important;
}
.afp-event-detail-v160 .afp-card-head{
  gap:14px;
  align-items:flex-start;
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.72);
}
.afp-event-detail-v160 .afp-card-head h3,
.afp-event-detail-v160 > .afp-card > h3{
  margin:0 !important;
  border:0 !important;
  padding:0 !important;
  color:#0f172a;
  letter-spacing:-.025em;
}
.afp-event-detail-v160 .afp-event-detail-summary-text{
  padding:14px 16px;
  border:1px solid rgba(219,234,254,.9);
  border-radius:18px;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);
  color:#334155;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:12px;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv > div,
.afp-event-detail-v160 .afp-event-side-card li,
.afp-event-detail-v160 .afp-kv-item{
  border:1px solid rgba(226,232,240,.76) !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%) !important;
  box-shadow:none !important;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv > div{
  padding:12px 14px;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv small,
.afp-event-detail-v160 .afp-event-side-card li{
  color:#64748b;
}
.afp-event-detail-v160 .afp-event-detail-mini-kv strong,
.afp-event-detail-v160 .afp-event-side-card strong{
  color:#0f172a;
  font-weight:900;
}
.afp-event-detail-v160 .afp-event-detail-sidecards{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.afp-event-detail-v160 .afp-event-side-card{
  padding:16px !important;
  position:relative;
  overflow:hidden;
}
.afp-event-detail-v160 .afp-event-side-card::after{
  content:"";
  position:absolute;
  right:-30px;
  top:-34px;
  width:92px;
  height:92px;
  border-radius:999px;
  background:rgba(37,99,235,.07);
  pointer-events:none;
}
.afp-event-detail-v160 .afp-event-side-card .afp-pill{
  background:#eff6ff !important;
  color:#1d4ed8 !important;
  border:1px solid #bfdbfe !important;
}
.afp-event-detail-v160 .afp-event-side-card ul{
  display:grid;
  gap:8px;
  margin:12px 0;
  padding:0;
  list-style:none;
}
.afp-event-detail-v160 .afp-event-side-card li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
}
.afp-event-detail-v160 .afp-event-side-link{
  width:100%;
  justify-content:center;
  padding:9px 12px;
  border-radius:12px;
  background:#eff6ff;
  color:#1d4ed8;
  font-weight:850;
}

.afp-event-detail-v160 .afp-event-tabs{
  border-color:rgba(191,219,254,.9) !important;
  background:rgba(248,251,255,.94) !important;
}
.afp-event-detail-v160 .afp-event-workbar{
  border:1px solid rgba(191,219,254,.82) !important;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%) !important;
  box-shadow:0 12px 28px rgba(37,99,235,.07) !important;
}
.afp-event-detail-v160 .afp-event-workbar span{
  border:1px solid rgba(226,232,240,.84);
  background:#fff;
}

.afp-event-detail-v160 form,
.afp-event-detail-v160 .afp-review-form,
.afp-event-detail-v160 .afp-document-generate-box,
.afp-event-detail-v160 .afp-social-generate-box{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(191,219,254,.82) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.045) !important;
}
.afp-event-detail-v160 input,
.afp-event-detail-v160 select,
.afp-event-detail-v160 textarea{
  border-radius:12px !important;
  border-color:rgba(148,163,184,.38) !important;
  background:#fbfdff !important;
}
.afp-event-detail-v160 input:focus,
.afp-event-detail-v160 select:focus,
.afp-event-detail-v160 textarea:focus{
  border-color:#2563eb !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
}

.afp-event-detail-v160 .afp-table-wrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow-x:auto;
  border:1px solid rgba(226,232,240,.82) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(15,23,42,.045) !important;
}
.afp-event-detail-v160 .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%) !important;
  color:#334155 !important;
  font-size:11px !important;
  letter-spacing:.055em;
  text-transform:uppercase;
  font-weight:900 !important;
}
.afp-event-detail-v160 .afp-table tbody td{
  vertical-align:middle;
}
.afp-event-detail-v160 .afp-table tbody tr:hover td{
  background:#f8fbff;
}
.afp-event-detail-v160 .afp-link-btn,
.afp-event-detail-v160 .afp-btn-small{
  border-radius:10px !important;
}

.afp-event-detail-v160 .afp-kpi-grid{
  gap:14px;
}
.afp-event-detail-v160 .afp-kpi-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(226,232,240,.76) !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}
.afp-event-detail-v160 .afp-kpi-card::after{
  content:"";
  position:absolute;
  right:-22px;
  top:-26px;
  width:74px;
  height:74px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  pointer-events:none;
}
.afp-event-detail-v160 .afp-kpi-card span,
.afp-event-detail-v160 .afp-kpi-card strong,
.afp-event-detail-v160 .afp-kpi-card small{
  position:relative;
  z-index:1;
}

@media(max-width:1100px){
  .afp-event-detail-v160 .afp-event-detail-overview-shell{
    grid-template-columns:1fr;
  }
  .afp-event-detail-v160 .afp-event-detail-sidecards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .afp-event-detail-v160 .afp-event-detail-hero-v160{
    padding:20px !important;
    border-radius:22px !important;
  }
  .afp-event-detail-v160 .afp-event-hero-actions-v160{
    width:100%;
    max-width:none;
  }
  .afp-event-detail-v160 .afp-event-hero-actions-v160 .afp-btn{
    width:100%;
    justify-content:center;
  }
  .afp-event-detail-v160 .afp-event-detail-sidecards{
    grid-template-columns:1fr;
  }
  .afp-event-detail-v160 .afp-event-detail-highlight-grid > .afp-card{
    min-height:auto;
  }
  .afp-event-detail-v160 form,
  .afp-event-detail-v160 .afp-review-form,
  .afp-event-detail-v160 .afp-document-generate-box,
  .afp-event-detail-v160 .afp-social-generate-box{
    padding:14px;
  }
}

/* v1.5.152 — Agenda Global: melhoria visual isolada */
.afp-agenda-view-v152{
  gap:20px;
  padding-bottom:14px;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(96,165,250,.42),transparent 30%),
    radial-gradient(circle at 10% 88%,rgba(20,184,166,.22),transparent 32%),
    linear-gradient(135deg,#0f172a 0%,#17356f 52%,#2563eb 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(37,99,235,.20);
}
.afp-agenda-view-v152 .afp-agenda-hero-v152::after{
  content:"";
  position:absolute;
  right:-76px;
  top:-92px;
  width:248px;
  height:248px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152 h2{
  color:#fff !important;
  margin-bottom:6px;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-muted,
.afp-agenda-view-v152 .afp-agenda-hero-v152 p{
  color:rgba(226,232,240,.88) !important;
  max-width:760px;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-inline-actions{
  position:relative;
  z-index:1;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-btn{
  border:1px solid rgba(255,255,255,.22) !important;
  background:#fff !important;
  color:#1d4ed8 !important;
  box-shadow:0 12px 30px rgba(0,0,0,.18) !important;
}
.afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-btn.secondary{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.30) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}
.afp-agenda-view-v152 .afp-agenda-summary-grid{
  gap:16px;
}
.afp-agenda-view-v152 .afp-agenda-summary-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  align-items:flex-start;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-agenda-view-v152 .afp-agenda-summary-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-agenda-view-v152 .afp-agenda-summary-card::after{
  content:"";
  position:absolute;
  right:-36px;
  bottom:-42px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-agenda-view-v152 .afp-agenda-summary-card:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-agenda-view-v152 .afp-agenda-summary-card:nth-child(2){background:linear-gradient(135deg,#6d28d9 0%,#8b5cf6 100%) !important;}
.afp-agenda-view-v152 .afp-agenda-summary-card:nth-child(3){background:linear-gradient(135deg,#0f766e 0%,#22c55e 100%) !important;}
.afp-agenda-view-v152 .afp-agenda-summary-card:nth-child(4){background:linear-gradient(135deg,#92400e 0%,#f59e0b 100%) !important;}
.afp-agenda-view-v152 .afp-agenda-summary-card .afp-agenda-summary-icon,
.afp-agenda-view-v152 .afp-agenda-summary-card div,
.afp-agenda-view-v152 .afp-agenda-summary-card small,
.afp-agenda-view-v152 .afp-agenda-summary-card strong,
.afp-agenda-view-v152 .afp-agenda-summary-card p{
  position:relative;
  z-index:1;
}
.afp-agenda-view-v152 .afp-agenda-summary-card .afp-agenda-summary-icon{
  width:50px;
  height:50px;
  border-radius:16px;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.afp-agenda-view-v152 .afp-agenda-summary-card small{
  color:rgba(255,255,255,.78) !important;
  text-transform:uppercase;
  letter-spacing:.085em;
  font-size:10px;
  font-weight:900;
}
.afp-agenda-view-v152 .afp-agenda-summary-card strong{
  color:#fff !important;
  font-size:clamp(26px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-agenda-view-v152 .afp-agenda-summary-card p{
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-agenda-view-v152 .afp-agenda-panel{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-agenda-view-v152 .afp-agenda-toolbar{
  gap:10px;
  padding:16px;
  border-bottom:1px solid rgba(148,163,184,.18) !important;
  background:linear-gradient(135deg,#f1f5ff 0%,#f8fafc 100%) !important;
}
.afp-agenda-view-v152 .afp-agenda-toolbar input,
.afp-agenda-view-v152 .afp-agenda-toolbar select{
  border-color:rgba(148,163,184,.36) !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.afp-agenda-view-v152 .afp-agenda-toolbar input:focus,
.afp-agenda-view-v152 .afp-agenda-toolbar select:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.12) !important;
}
.afp-agenda-view-v152 .afp-agenda-view-switch{
  border-color:rgba(148,163,184,.28) !important;
  border-radius:999px !important;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.afp-agenda-view-v152 .afp-agenda-view-switch button{
  border-radius:999px;
  font-weight:850;
}
.afp-agenda-view-v152 .afp-agenda-view-switch button.active{
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;
  box-shadow:0 10px 24px rgba(37,99,235,.22);
}
.afp-agenda-view-v152 .afp-agenda-result-head,
.afp-agenda-view-v152 .afp-agenda-calendar-nav{
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.afp-agenda-view-v152 .afp-agenda-date-group > h3{
  padding-left:4px;
  color:#0f172a;
  letter-spacing:-.025em;
}
.afp-agenda-view-v152 .afp-agenda-list-item{
  border:1px solid rgba(226,232,240,.86) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(15,23,42,.055);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.afp-agenda-view-v152 .afp-agenda-list-item:hover{
  transform:translateY(-1px);
  border-color:#bfdbfe !important;
  box-shadow:0 16px 40px rgba(37,99,235,.10);
}
.afp-agenda-view-v152 .afp-agenda-list-item::before{
  width:5px;
  border-radius:999px;
}
.afp-agenda-view-v152 .afp-agenda-list-content h4{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-agenda-view-v152 .afp-agenda-list-actions .afp-btn-small{
  border-radius:999px !important;
}
.afp-agenda-view-v152 .afp-agenda-type{
  font-weight:850;
}
.afp-agenda-view-v152 .afp-agenda-type i{
  border-radius:10px;
}
.afp-agenda-view-v152 .afp-agenda-calendar-weekdays span{
  background:#f1f5ff !important;
  color:#475569 !important;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.afp-agenda-view-v152 .afp-agenda-calendar-day{
  background:#fff !important;
  transition:background .16s ease,box-shadow .16s ease;
}
.afp-agenda-view-v152 .afp-agenda-calendar-day:hover{
  background:#f8fbff !important;
}
.afp-agenda-view-v152 .afp-agenda-calendar-day.today{
  box-shadow:inset 0 0 0 2px #2563eb,0 10px 24px rgba(37,99,235,.08) !important;
}
.afp-agenda-view-v152 .afp-agenda-calendar-item{
  border-radius:9px !important;
  font-weight:750;
}
@media(max-width:780px){
  .afp-agenda-view-v152 .afp-agenda-hero-v152{
    padding:20px !important;
    border-radius:22px !important;
  }
  .afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-inline-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }
  .afp-agenda-view-v152 .afp-agenda-hero-v152 .afp-btn{
    width:100%;
    justify-content:center;
  }
  .afp-agenda-view-v152 .afp-agenda-summary-card{
    min-height:auto;
  }
  .afp-agenda-view-v152 .afp-agenda-toolbar{
    align-items:stretch;
  }
  .afp-agenda-view-v152 .afp-agenda-toolbar input,
  .afp-agenda-view-v152 .afp-agenda-toolbar select,
  .afp-agenda-view-v152 .afp-agenda-toolbar .afp-btn,
  .afp-agenda-view-v152 .afp-agenda-view-switch{
    width:100%;
    margin-left:0;
  }
  .afp-agenda-view-v152 .afp-agenda-view-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}

/* v1.5.153 — Sócios: melhoria visual isolada e alinhada ao novo padrão */
.afp-members-view-v153{
  gap:20px;
  padding-bottom:14px;
}
.afp-members-view-v153 .afp-members-hero-v164{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(34,197,94,.36),transparent 30%),
    radial-gradient(circle at 10% 90%,rgba(14,165,233,.24),transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#14532d 48%,#2563eb 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(21,128,61,.20);
}
.afp-members-view-v153 .afp-members-hero-v164::after{
  content:"";
  position:absolute;
  right:-76px;
  top:-92px;
  width:248px;
  height:248px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
.afp-members-view-v153 .afp-members-hero-v164 h2{
  color:#fff !important;
  margin-bottom:6px;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-members-view-v153 .afp-members-hero-v164 .afp-muted,
.afp-members-view-v153 .afp-members-hero-v164 p,
.afp-members-view-v153 .afp-members-hero-v164 .afp-module-kicker{
  color:rgba(226,232,240,.88) !important;
}
.afp-members-view-v153 .afp-members-hero-v164 .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-members-view-v153 .afp-members-top-stats-v164{
  gap:16px;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card::before{
  content:"";
  position:absolute;
  left:auto;
  top:auto;
  right:-36px;
  bottom:-42px;
  width:128px;
  height:128px;
  border-radius:50%;
  background:rgba(255,255,255,.16) !important;
  pointer-events:none;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(1){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(2){background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(3){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card h3,
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card .afp-stat,
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card p,
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card h3{
  color:rgba(255,255,255,.80) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card .afp-stat{
  font-size:clamp(26px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card p,
.afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card .afp-muted{
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-members-view-v153 .afp-members-summary-row-v164{
  gap:16px;
}
.afp-members-view-v153 .afp-members-summary-row-v164 .afp-members-mini-card,
.afp-members-view-v153 .afp-member-focus-card,
.afp-members-view-v153 .afp-members-actions-card,
.afp-members-view-v153 .afp-members-filter-card{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-members-view-v153 .afp-members-summary-row-v164 .afp-members-mini-card::before,
.afp-members-view-v153 .afp-member-focus-card::before{
  left:0;
  top:0;
  bottom:0;
  width:5px;
  height:auto;
  border-radius:999px;
  background:linear-gradient(180deg,#2563eb,#22c55e) !important;
}
.afp-members-view-v153 .afp-member-mini-stats{
  gap:10px;
}
.afp-members-view-v153 .afp-member-mini-stats > div,
.afp-members-view-v153 .afp-member-focus-stats > div{
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.04) !important;
}
.afp-members-view-v153 .afp-members-actions-card{
  overflow:hidden;
}
.afp-members-view-v153 .afp-members-actions-card .afp-card-head{
  gap:16px;
}
.afp-members-view-v153 .afp-members-top-actions .afp-btn,
.afp-members-view-v153 .afp-members-top-actions .afp-btn.secondary{
  border-radius:13px !important;
  min-height:40px;
  font-weight:800;
}
.afp-members-view-v153 .afp-members-top-actions .afp-btn:not(.secondary){
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
.afp-members-view-v153 .afp-members-tabs{
  gap:10px;
}
.afp-members-view-v153 .afp-members-tab{
  border-color:rgba(148,163,184,.25) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
}
.afp-members-view-v153 .afp-members-tab:hover{
  border-color:#bfdbfe !important;
  box-shadow:0 14px 30px rgba(37,99,235,.10) !important;
}
.afp-members-view-v153 .afp-members-tab.active{
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
}
.afp-members-view-v153 .afp-members-tab.active .afp-module-tab-copy strong,
.afp-members-view-v153 .afp-members-tab.active .afp-module-tab-copy small,
.afp-members-view-v153 .afp-members-tab.active .afp-module-tab-icon{
  color:#fff !important;
}
.afp-members-view-v153 .afp-members-tab.active .afp-module-tab-count{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.afp-members-view-v153 .afp-members-workbar{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#f1f5ff 0%,#f8fafc 100%) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.afp-members-view-v153 .afp-members-filter-card{
  overflow:hidden;
}
.afp-members-view-v153 .afp-members-filter-card .afp-card-head{
  padding-bottom:0;
}
.afp-members-view-v153 .afp-members-filter-summary span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border:1px solid rgba(37,99,235,.14);
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  font-weight:850;
}
.afp-members-view-v153 .afp-members-toolbar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(180px,.6fr) minmax(260px,1.4fr) auto auto;
  gap:10px;
  align-items:center;
  margin:16px;
  padding:14px;
  border:1px solid rgba(203,213,225,.75);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(239,246,255,.94) 0%,rgba(255,255,255,.98) 55%,rgba(236,254,255,.88) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 32px rgba(15,23,42,.055);
}
.afp-members-view-v153 .afp-members-toolbar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:linear-gradient(180deg,#2563eb,#22c55e);
}
.afp-members-view-v153 .afp-members-toolbar input,
.afp-members-view-v153 .afp-members-toolbar select{
  min-height:40px;
  width:100%;
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-size:13px;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-members-view-v153 .afp-members-toolbar input{
  padding-left:38px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat 13px center !important;
}
.afp-members-view-v153 .afp-members-toolbar select{
  appearance:none;
  padding-right:36px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat calc(100% - 12px) center !important;
}
.afp-members-view-v153 .afp-members-toolbar input:focus,
.afp-members-view-v153 .afp-members-toolbar select:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-members-view-v153 .afp-members-toolbar .afp-btn{
  min-height:40px;
  border-radius:13px !important;
  justify-content:center;
  white-space:nowrap;
}
.afp-members-view-v153 .afp-card > .afp-table-wrap{
  margin:0 16px 16px;
  border:1px solid rgba(226,232,240,.88);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.045);
  overflow:auto;
}
.afp-members-view-v153 .afp-members-table,
.afp-members-view-v153 .afp-member-dues-table,
.afp-members-view-v153 .afp-member-dues-all-table,
.afp-members-view-v153 .afp-member-fees-table,
.afp-members-view-v153 .afp-member-import-table{
  min-width:0 !important;
  width:100%;
  max-width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}
.afp-members-view-v153 .afp-members-table thead th,
.afp-members-view-v153 .afp-member-dues-table thead th,
.afp-members-view-v153 .afp-member-dues-all-table thead th,
.afp-members-view-v153 .afp-member-fees-table thead th,
.afp-members-view-v153 .afp-member-import-table thead th{
  padding:12px 8px;
  border:0;
  border-bottom:1px solid rgba(203,213,225,.8);
  background:linear-gradient(180deg,#f8fafc 0%,#eef4ff 100%) !important;
  color:#475569;
  font-size:10.5px;
  font-weight:850;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.055em;
  white-space:normal;
}
.afp-members-view-v153 .afp-members-table tbody td,
.afp-members-view-v153 .afp-member-dues-table tbody td,
.afp-members-view-v153 .afp-member-dues-all-table tbody td,
.afp-members-view-v153 .afp-member-fees-table tbody td,
.afp-members-view-v153 .afp-member-import-table tbody td{
  padding:12px 8px;
  border:0;
  border-bottom:1px solid rgba(226,232,240,.82);
  background:#fff;
  vertical-align:middle;
  color:#0f172a;
  font-size:12px;
  line-height:1.28;
  overflow-wrap:anywhere;
}
.afp-members-view-v153 .afp-members-table tbody tr:nth-child(even) td,
.afp-members-view-v153 .afp-member-dues-table tbody tr:nth-child(even) td,
.afp-members-view-v153 .afp-member-dues-all-table tbody tr:nth-child(even) td,
.afp-members-view-v153 .afp-member-fees-table tbody tr:nth-child(even) td,
.afp-members-view-v153 .afp-member-import-table tbody tr:nth-child(even) td{
  background:#fbfdff;
}
.afp-members-view-v153 .afp-members-table tbody tr:hover td,
.afp-members-view-v153 .afp-member-dues-table tbody tr:hover td,
.afp-members-view-v153 .afp-member-dues-all-table tbody tr:hover td,
.afp-members-view-v153 .afp-member-fees-table tbody tr:hover td,
.afp-members-view-v153 .afp-member-import-table tbody tr:hover td{
  background:#f0f7ff;
  box-shadow:inset 0 1px 0 rgba(191,219,254,.7),inset 0 -1px 0 rgba(191,219,254,.7);
}
.afp-members-view-v153 .afp-members-table tbody td:first-child,
.afp-members-view-v153 .afp-member-dues-table tbody td:first-child,
.afp-members-view-v153 .afp-member-dues-all-table tbody td:first-child,
.afp-members-view-v153 .afp-member-fees-table tbody td:first-child,
.afp-members-view-v153 .afp-member-import-table tbody td:first-child{
  box-shadow:inset 4px 0 0 rgba(34,197,94,.16);
}
.afp-members-view-v153 .afp-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:center;
  align-items:center;
}
.afp-members-view-v153 .afp-row-actions .afp-link-btn,
.afp-members-view-v153 .afp-table .afp-link-btn{
  min-height:28px;
  padding:6px 8px;
  border-radius:999px;
  background:#eef2ff;
  color:#1d4ed8;
  font-size:11px;
  font-weight:850;
}
.afp-members-view-v153 .afp-row-actions .afp-link-btn:hover,
.afp-members-view-v153 .afp-table .afp-link-btn:hover{
  background:#dbeafe;
  color:#1e40af;
}
.afp-members-view-v153 .afp-row-actions .afp-link-btn.danger,
.afp-members-view-v153 .afp-table .afp-link-btn.danger{
  background:#fff1f2;
  color:#be123c;
}
.afp-members-view-v153 .afp-row-actions .afp-link-btn.danger:hover,
.afp-members-view-v153 .afp-table .afp-link-btn.danger:hover{
  background:#ffe4e6;
  color:#9f1239;
}
.afp-members-view-v153 .afp-card .afp-pagination{
  margin:0 16px 16px;
  padding:10px 12px;
  border:1px solid rgba(226,232,240,.78);
  border-radius:16px;
  background:#fbfdff;
}
.afp-members-view-v153 .afp-member-detail-hero{
  position:relative;
  overflow:hidden;
  border:0 !important;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 56%,#06b6d4 100%) !important;
  color:#fff !important;
}
.afp-members-view-v153 .afp-member-detail-hero h3,
.afp-members-view-v153 .afp-member-detail-hero .afp-muted,
.afp-members-view-v153 .afp-member-detail-hero p,
.afp-members-view-v153 .afp-member-detail-hero span,
.afp-members-view-v153 .afp-member-detail-hero strong{
  color:#fff !important;
}
.afp-members-view-v153 .afp-member-number-badge{
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.18);
  color:#fff !important;
}
.afp-members-view-v153 .afp-member-detail-grid > div,
.afp-members-view-v153 .afp-member-detail-address,
.afp-members-view-v153 .afp-member-detail-notes{
  border-color:rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.10) !important;
  backdrop-filter:blur(10px);
}
.afp-members-view-v153 .afp-member-detail-hero .afp-btn.secondary{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
}
.afp-members-view-v153 .afp-form-drawer{
  border-color:rgba(37,99,235,.18) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
}
@media(max-width:1100px){
  .afp-members-view-v153 .afp-members-toolbar{
    grid-template-columns:1fr 1fr;
  }
  .afp-members-view-v153 .afp-members-toolbar input{
    grid-column:1/-1;
  }
}
@media(max-width:820px){
  .afp-members-view-v153 .afp-members-hero-v164{
    padding:20px !important;
    border-radius:22px !important;
  }
  .afp-members-view-v153 .afp-members-top-stats-v164 .afp-members-stat-card{
    min-height:auto;
  }
  .afp-members-view-v153 .afp-members-actions-card .afp-card-head,
  .afp-members-view-v153 .afp-members-filter-card .afp-card-head{
    align-items:flex-start;
  }
  .afp-members-view-v153 .afp-members-top-actions,
  .afp-members-view-v153 .afp-members-top-actions .afp-btn,
  .afp-members-view-v153 .afp-members-top-actions .afp-btn.secondary{
    width:100%;
  }
  .afp-members-view-v153 .afp-members-toolbar{
    grid-template-columns:1fr;
    margin:12px;
    padding:12px;
  }
  .afp-members-view-v153 .afp-members-toolbar input,
  .afp-members-view-v153 .afp-members-toolbar select,
  .afp-members-view-v153 .afp-members-toolbar .afp-btn{
    width:100%;
  }
  .afp-members-view-v153 .afp-card > .afp-table-wrap{
    margin:0 12px 12px;
    border-radius:16px;
  }
  .afp-members-view-v153 .afp-members-tabs{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
    scrollbar-width:thin;
  }
  .afp-members-view-v153 .afp-members-tab{
    flex:0 0 220px;
  }
}
@media(max-width:560px){
  .afp-members-view-v153 .afp-members-table,
  .afp-members-view-v153 .afp-member-dues-table,
  .afp-members-view-v153 .afp-member-dues-all-table,
  .afp-members-view-v153 .afp-member-fees-table,
  .afp-members-view-v153 .afp-member-import-table,
  .afp-members-view-v153 .afp-members-table thead,
  .afp-members-view-v153 .afp-member-dues-table thead,
  .afp-members-view-v153 .afp-member-dues-all-table thead,
  .afp-members-view-v153 .afp-member-fees-table thead,
  .afp-members-view-v153 .afp-member-import-table thead,
  .afp-members-view-v153 .afp-members-table tbody,
  .afp-members-view-v153 .afp-member-dues-table tbody,
  .afp-members-view-v153 .afp-member-dues-all-table tbody,
  .afp-members-view-v153 .afp-member-fees-table tbody,
  .afp-members-view-v153 .afp-member-import-table tbody,
  .afp-members-view-v153 .afp-members-table tr,
  .afp-members-view-v153 .afp-member-dues-table tr,
  .afp-members-view-v153 .afp-member-dues-all-table tr,
  .afp-members-view-v153 .afp-member-fees-table tr,
  .afp-members-view-v153 .afp-member-import-table tr,
  .afp-members-view-v153 .afp-members-table td,
  .afp-members-view-v153 .afp-member-dues-table td,
  .afp-members-view-v153 .afp-member-dues-all-table td,
  .afp-members-view-v153 .afp-member-fees-table td,
  .afp-members-view-v153 .afp-member-import-table td{
    display:block;
    width:100% !important;
    max-width:100%;
  }
  .afp-members-view-v153 .afp-members-table thead,
  .afp-members-view-v153 .afp-member-dues-table thead,
  .afp-members-view-v153 .afp-member-dues-all-table thead,
  .afp-members-view-v153 .afp-member-fees-table thead,
  .afp-members-view-v153 .afp-member-import-table thead{
    display:none;
  }
  .afp-members-view-v153 .afp-members-table tbody tr,
  .afp-members-view-v153 .afp-member-dues-table tbody tr,
  .afp-members-view-v153 .afp-member-dues-all-table tbody tr,
  .afp-members-view-v153 .afp-member-fees-table tbody tr,
  .afp-members-view-v153 .afp-member-import-table tbody tr{
    margin:0 0 12px;
    border:1px solid rgba(226,232,240,.92);
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.045);
  }
  .afp-members-view-v153 .afp-members-table tbody td,
  .afp-members-view-v153 .afp-member-dues-table tbody td,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td,
  .afp-members-view-v153 .afp-member-fees-table tbody td,
  .afp-members-view-v153 .afp-member-import-table tbody td{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:12px;
    padding:11px 12px;
    box-shadow:none !important;
  }
  .afp-members-view-v153 .afp-members-table tbody td::before,
  .afp-members-view-v153 .afp-member-dues-table tbody td::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td::before,
  .afp-members-view-v153 .afp-member-fees-table tbody td::before,
  .afp-members-view-v153 .afp-member-import-table tbody td::before{
    color:#64748b;
    font-size:10px;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(1)::before{content:"N.º";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(2)::before{content:"Sócio";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(3)::before{content:"Contacto";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(4)::before{content:"Tipo";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(5)::before{content:"Estado";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(6)::before{content:"Pendente";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(7)::before{content:"Pago";}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(8)::before{content:"Ações";}
  .afp-members-view-v153 .afp-member-fees-table tbody td:nth-child(1)::before{content:"Tipo";}
  .afp-members-view-v153 .afp-member-fees-table tbody td:nth-child(2)::before{content:"Valor";}
  .afp-members-view-v153 .afp-member-fees-table tbody td:nth-child(3)::before{content:"Periodicidade";}
  .afp-members-view-v153 .afp-member-fees-table tbody td:nth-child(4)::before{content:"Estado";}
  .afp-members-view-v153 .afp-member-fees-table tbody td:nth-child(5)::before{content:"Ações";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(1)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(1)::before{content:"Sócio";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(2)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(2)::before{content:"Referência";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(3)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(3)::before{content:"Tipo";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(4)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(4)::before{content:"Ano";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(5)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(5)::before{content:"Limite";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(6)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(6)::before{content:"Valor";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(7)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(7)::before{content:"Estado";}
  .afp-members-view-v153 .afp-member-dues-table tbody td:nth-child(8)::before,
  .afp-members-view-v153 .afp-member-dues-all-table tbody td:nth-child(8)::before{content:"Ações";}
  .afp-members-view-v153 .afp-row-actions{
    justify-content:flex-start;
  }
}

/* v1.5.154 — Candidaturas/Apoios: melhoria visual isolada e alinhada ao novo padrão */
.afp-grants-view-v154{
  gap:20px;
  padding-bottom:14px;
}
.afp-grants-view-v154.afp-grants-dashboard-view{
  display:grid;
  gap:20px;
}
.afp-grants-view-v154 .afp-grants-dashboard-header{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  margin-bottom:0 !important;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 84% 16%,rgba(34,197,94,.30),transparent 30%),
    radial-gradient(circle at 12% 90%,rgba(14,165,233,.24),transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 48%,#15803d 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(37,99,235,.18);
}
.afp-grants-view-v154 .afp-grants-dashboard-header::after{
  content:"";
  position:absolute;
  right:-72px;
  top:-94px;
  width:252px;
  height:252px;
  border-radius:999px;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.afp-grants-view-v154 .afp-grants-dashboard-header h2{
  position:relative;
  z-index:1;
  color:#fff !important;
  margin-bottom:6px;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-grants-view-v154 .afp-grants-dashboard-header p,
.afp-grants-view-v154 .afp-grants-dashboard-header .afp-muted{
  position:relative;
  z-index:1;
  color:rgba(226,232,240,.88) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-header .afp-inline-actions{
  position:relative;
  z-index:1;
}
.afp-grants-view-v154 .afp-grants-dashboard-header .afp-btn{
  border-radius:13px !important;
  font-weight:850;
}
.afp-grants-view-v154 .afp-grants-dashboard-header .afp-btn.secondary{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-grants-view-v154 .afp-grants-dashboard-header .afp-btn:not(.secondary){
  background:#fff !important;
  color:#1d4ed8 !important;
  box-shadow:0 12px 30px rgba(15,23,42,.16) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-summary{
  gap:16px;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat,
.afp-grants-view-v154 .afp-grants-dashboard-stat:hover{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  min-height:138px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat::before{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-44px;
  width:132px;
  height:132px;
  border-radius:50%;
  background:rgba(255,255,255,.16) !important;
  pointer-events:none;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-grants-view-v154 .afp-grants-dashboard-stat:nth-child(2){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-grants-view-v154 .afp-grants-dashboard-stat:nth-child(3){background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;}
.afp-grants-view-v154 .afp-grants-dashboard-stat:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-grants-view-v154 .afp-grants-dashboard-stat .afp-stat,
.afp-grants-view-v154 .afp-grants-dashboard-stat .afp-card-label,
.afp-grants-view-v154 .afp-grants-dashboard-stat p{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat .afp-card-label{
  color:rgba(255,255,255,.78) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat .afp-stat{
  margin:8px 0 6px;
  font-size:clamp(22px,2.1vw,32px);
  letter-spacing:-.04em;
}
.afp-grants-view-v154 .afp-grants-dashboard-stat p{
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-grants-view-v154 .afp-grants-stat-icon{
  position:relative;
  z-index:1;
  width:52px;
  height:52px;
  border-radius:18px;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.afp-grants-view-v154 .afp-grants-attention{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(251,191,36,.42) !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 58%,#ffffff 100%) !important;
  box-shadow:0 14px 34px rgba(180,83,9,.10);
}
.afp-grants-view-v154 .afp-grants-attention::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#f59e0b,#ef4444);
}
.afp-grants-view-v154 .afp-grants-attention-icon{
  background:linear-gradient(135deg,#f59e0b,#ef4444) !important;
  color:#fff !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-panel{
  overflow:visible;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-grants-view-v154 .afp-grants-tabs{
  gap:10px;
  padding:16px 16px 0;
  border-bottom:0;
}
.afp-grants-view-v154 .afp-grants-tab{
  min-height:46px;
  padding:0 14px;
  border:1px solid rgba(148,163,184,.25) !important;
  border-radius:16px !important;
  background:#fff !important;
  color:#334155 !important;
  box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
}
.afp-grants-view-v154 .afp-grants-tab:hover{
  border-color:#bfdbfe !important;
  box-shadow:0 14px 30px rgba(37,99,235,.10) !important;
}
.afp-grants-view-v154 .afp-grants-tab.active{
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
}
.afp-grants-view-v154 .afp-grants-tab b{
  background:#eef2ff !important;
  color:#475569 !important;
}
.afp-grants-view-v154 .afp-grants-tab.active b{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.afp-grants-view-v154 .afp-grants-dashboard-toolbar{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(128px,.65fr)) auto auto;
  gap:10px;
  align-items:center;
  margin:16px;
  padding:14px;
  border:1px solid rgba(203,213,225,.75);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(239,246,255,.94) 0%,rgba(255,255,255,.98) 58%,rgba(236,254,255,.88) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 32px rgba(15,23,42,.055);
}
.afp-grants-view-v154 .afp-grants-dashboard-toolbar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:linear-gradient(180deg,#2563eb,#22c55e);
}
.afp-grants-view-v154 .afp-grants-search,
.afp-grants-view-v154 .afp-grants-dashboard-toolbar select,
.afp-grants-view-v154 .afp-grants-more-filters summary{
  position:relative;
  min-height:40px;
  height:40px;
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}
.afp-grants-view-v154 .afp-grants-search{
  min-width:0;
  width:100%;
}
.afp-grants-view-v154 .afp-grants-dashboard-toolbar select{
  width:100%;
  min-width:0;
  font-weight:750;
}
.afp-grants-view-v154 .afp-grants-more-filters summary{
  display:flex;
  align-items:center;
  padding:0 12px;
}
.afp-grants-view-v154 .afp-grants-more-filters>div{
  border:1px solid rgba(148,163,184,.24) !important;
  border-radius:16px !important;
  box-shadow:0 18px 42px rgba(15,23,42,.16) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-toolbar .afp-grants-apply{
  position:relative;
  border-radius:13px !important;
  min-height:40px;
  font-weight:850;
}
.afp-grants-view-v154 .afp-grants-reset{
  position:relative;
  min-height:40px;
  padding:10px 8px;
  border-radius:13px;
  font-weight:850;
}
.afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
  margin:0 16px 16px;
  overflow-x:auto;
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:20px !important;
  background:#fff;
  box-shadow:0 12px 30px rgba(15,23,42,.045) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-table{
  margin:0;
  border-collapse:separate;
  border-spacing:0;
}
.afp-grants-view-v154 .afp-grants-dashboard-table th{
  padding:14px 12px;
  background:linear-gradient(180deg,#f8fafc 0%,#eef5ff 100%) !important;
  color:#334155 !important;
  text-align:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.afp-grants-view-v154 .afp-grants-dashboard-table td{
  padding:15px 12px;
  border-bottom:1px solid rgba(226,232,240,.9) !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-table tbody tr:hover td{
  background:#f8fbff;
}
.afp-grants-view-v154 .afp-grants-application-cell em,
.afp-grants-view-v154 .afp-grants-docs-cell small{
  border-radius:999px;
}
.afp-grants-view-v154 .afp-grants-row-marker{
  width:5px;
  border-radius:999px;
}
.afp-grants-view-v154 .afp-grants-execution i{
  background:#e2e8f0;
}
.afp-grants-view-v154 .afp-grants-execution i span{
  background:linear-gradient(90deg,#2563eb,#22c55e) !important;
}
.afp-grants-view-v154 .afp-grants-row-actions .afp-btn-small,
.afp-grants-view-v154 .afp-grants-row-actions details summary{
  border-radius:11px !important;
  box-shadow:0 7px 16px rgba(15,23,42,.04);
}
.afp-grants-view-v154 .afp-grants-dashboard-panel .afp-pagination{
  margin:0 16px 16px;
  padding:12px 0 0;
  border-top:0;
}
.afp-grants-view-v154 .afp-grant-workspace{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 20px 54px rgba(15,23,42,.08) !important;
}
.afp-grants-view-v154 .afp-grant-workspace-header{
  position:relative;
  overflow:hidden;
  margin:0 -24px 18px;
  padding:22px 24px 18px;
  border-bottom:0 !important;
  background:
    radial-gradient(circle at 90% 18%,rgba(34,197,94,.22),transparent 30%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 55%,#15803d 100%) !important;
  color:#fff;
}
.afp-grants-view-v154 .afp-grant-workspace-header::after{
  content:"";
  position:absolute;
  right:-62px;
  top:-88px;
  width:220px;
  height:220px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
.afp-grants-view-v154 .afp-grant-workspace-brand,
.afp-grants-view-v154 .afp-grant-workspace-header-actions{
  position:relative;
  z-index:1;
}
.afp-grants-view-v154 .afp-grant-workspace-heading h3{
  color:#fff !important;
  letter-spacing:-.03em;
}
.afp-grants-view-v154 .afp-grant-workspace-eyebrow>span:first-child,
.afp-grants-view-v154 .afp-grant-workspace-meta span{
  color:rgba(226,232,240,.88) !important;
}
.afp-grants-view-v154 .afp-grant-workspace-logo{
  width:54px;
  height:54px;
  padding:6px;
  border-radius:16px;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.afp-grants-view-v154 .afp-grant-workspace-header-actions .afp-btn.secondary,
.afp-grants-view-v154 .afp-grant-workspace-header-actions .afp-icon-btn{
  border-color:rgba(255,255,255,.26) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card:hover{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:20px !important;
  color:#fff !important;
  box-shadow:0 14px 34px rgba(15,23,42,.12) !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card:nth-child(1){background:linear-gradient(135deg,#1d4ed8,#06b6d4) !important;}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card:nth-child(2){background:linear-gradient(135deg,#15803d,#22c55e) !important;}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card:nth-child(3){background:linear-gradient(135deg,#b45309,#f97316) !important;}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card:nth-child(4){background:linear-gradient(135deg,#6d28d9,#a855f7) !important;}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card::before{
  content:"";
  position:absolute;
  right:-34px;
  bottom:-40px;
  width:116px;
  height:116px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card .afp-card-label,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card .afp-stat,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card p,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card .afp-muted,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card .afp-sm{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-financial-card .afp-card-label{
  color:rgba(255,255,255,.78) !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-progress{
  border-color:rgba(37,99,235,.16) !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.045);
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-progress-bar span{
  background:linear-gradient(90deg,#2563eb,#22c55e) !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-card,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-documents-panel,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-edit-sidebar{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 34px rgba(15,23,42,.055) !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-card,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-documents-panel,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-edit-sidebar{
  position:relative;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-card::before,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-documents-panel::before,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-edit-sidebar::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:20px 0 0 20px;
  background:linear-gradient(180deg,#2563eb,#22c55e) !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-data-grid>div,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-document-card,
.afp-grants-view-v154 .afp-grant-workspace .afp-grant-documents-empty{
  border-color:rgba(226,232,240,.9) !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
.afp-grants-view-v154 .afp-grant-workspace input,
.afp-grants-view-v154 .afp-grant-workspace select,
.afp-grants-view-v154 .afp-grant-workspace textarea{
  border-radius:13px !important;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-table-wrap{
  border:1px solid rgba(226,232,240,.95) !important;
  border-radius:16px !important;
  background:#fff;
}
.afp-grants-view-v154 .afp-grant-workspace .afp-table th{
  background:linear-gradient(180deg,#f8fafc 0%,#eef5ff 100%) !important;
  color:#334155 !important;
  text-align:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
@media(max-width:1180px){
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .afp-grants-view-v154 .afp-grants-search{
    grid-column:1/-1;
  }
  .afp-grants-view-v154 .afp-grants-reset{
    margin-left:0;
  }
}
@media(max-width:760px){
  .afp-grants-view-v154 .afp-grants-dashboard-header{
    padding:20px !important;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-header .afp-inline-actions,
  .afp-grants-view-v154 .afp-grants-dashboard-header .afp-btn{
    width:100%;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-summary{
    grid-template-columns:1fr;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar{
    display:flex;
    flex-direction:column;
    margin:12px;
    padding:12px;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar > *,
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar select,
  .afp-grants-view-v154 .afp-grants-more-filters,
  .afp-grants-view-v154 .afp-grants-more-filters summary,
  .afp-grants-view-v154 .afp-grants-search{
    width:100%;
    min-width:0;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
    margin:0 12px 12px;
    border-radius:16px !important;
  }
  .afp-grants-view-v154 .afp-grant-workspace{
    padding:0 14px 16px;
    border-radius:20px !important;
  }
  .afp-grants-view-v154 .afp-grant-workspace-header{
    margin:0 -14px 14px;
    padding:18px 14px;
  }
  .afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .afp-grants-view-v154 .afp-grant-workspace .afp-grant-detail-grid{
    grid-template-columns:1fr;
  }
  .afp-grants-view-v154 .afp-grant-workspace-brand{
    flex-direction:column;
  }
}

/* v1.5.155 — Candidaturas/Apoios: alinhamento do cartão da tabela com o cartão dos filtros
   Escopo limitado ao painel inicial de Candidaturas/Apoios. */
.afp-grants-view-v154 .afp-grants-dashboard-toolbar,
.afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
  width:calc(100% - 32px) !important;
  max-width:calc(100% - 32px) !important;
  margin-left:16px !important;
  margin-right:16px !important;
  box-sizing:border-box !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-toolbar{
  margin-top:16px !important;
  margin-bottom:16px !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
  margin-top:0 !important;
  margin-bottom:16px !important;
}
.afp-grants-view-v154 .afp-grants-dashboard-table{
  width:100% !important;
}
@media(max-width:760px){
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar,
  .afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
    margin-left:12px !important;
    margin-right:12px !important;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-toolbar{
    margin-top:12px !important;
    margin-bottom:12px !important;
  }
  .afp-grants-view-v154 .afp-grants-dashboard-table-wrap{
    margin-top:0 !important;
    margin-bottom:12px !important;
  }
}

/* v1.5.156 — Modalidades: melhoria visual isolada e alinhada ao novo padrão */
.afp-modalities-view-v156{
  gap:20px;
  padding-bottom:14px;
}
.afp-modalities-view-v156 .afp-modalities-hero{
  position:relative;
  overflow:hidden;
  align-items:flex-start;
  padding:24px 26px !important;
  border:0 !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(34,197,94,.30),transparent 30%),
    radial-gradient(circle at 12% 92%,rgba(14,165,233,.24),transparent 34%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 45%,#15803d 100%) !important;
  color:#fff;
  box-shadow:0 22px 60px rgba(37,99,235,.18);
}
.afp-modalities-view-v156 .afp-modalities-hero::after{
  content:"";
  position:absolute;
  right:-76px;
  top:-96px;
  width:254px;
  height:254px;
  border-radius:999px;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}
.afp-modalities-view-v156 .afp-modalities-hero > div{
  position:relative;
  z-index:1;
}
.afp-modalities-view-v156 .afp-modalities-hero h2{
  color:#fff !important;
  margin-bottom:6px;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-modalities-view-v156 .afp-modalities-hero .afp-muted,
.afp-modalities-view-v156 .afp-modalities-hero p,
.afp-modalities-view-v156 .afp-modalities-hero .afp-module-kicker{
  color:rgba(226,232,240,.88) !important;
}
.afp-modalities-view-v156 .afp-modalities-hero .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-modalities-view-v156 .afp-modalities-hero .afp-btn.secondary{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-modalities-view-v156 .afp-modalities-top-stats{
  gap:16px;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card::before{
  content:"";
  position:absolute;
  left:auto !important;
  top:auto !important;
  right:-38px;
  bottom:-42px;
  width:130px !important;
  height:130px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.16) !important;
  pointer-events:none;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card:nth-child(1){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card:nth-child(2){background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card:nth-child(3){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card h3,
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card .afp-stat,
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card p,
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card h3{
  color:rgba(255,255,255,.80) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card p,
.afp-modalities-view-v156 .afp-modalities-top-stats .afp-card .afp-muted{
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-modalities-view-v156 .afp-dashboard-v2-alert{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(251,191,36,.42) !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 58%,#ffffff 100%) !important;
  box-shadow:0 14px 34px rgba(180,83,9,.10);
}
.afp-modalities-view-v156 .afp-dashboard-v2-alert::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#f59e0b,#ef4444);
}
.afp-modalities-view-v156 .afp-modalities-tabs{
  gap:10px;
}
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab{
  border:1px solid rgba(148,163,184,.25) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 8px 20px rgba(15,23,42,.035) !important;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab:hover{
  transform:translateY(-1px);
  border-color:#bfdbfe !important;
  box-shadow:0 14px 30px rgba(37,99,235,.10) !important;
}
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab.active{
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;
  border-color:transparent !important;
  color:#fff !important;
}
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab.active .afp-module-tab-icon,
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab.active .afp-module-tab-copy strong,
.afp-modalities-view-v156 .afp-modalities-tabs .afp-module-tab.active .afp-module-tab-copy small{
  color:#fff !important;
}
.afp-modalities-view-v156 .afp-module-workbar{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#f1f5ff 0%,#f8fafc 100%) !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.afp-modalities-view-v156 .afp-module-workbar span strong{
  color:#1d4ed8;
}
.afp-modalities-view-v156 .afp-card{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-modalities-view-v156 .afp-modalities-summary-row{
  gap:16px;
}
.afp-modalities-view-v156 .afp-modalities-summary-row > .afp-card{
  position:relative;
  overflow:hidden;
}
.afp-modalities-view-v156 .afp-modalities-summary-row > .afp-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#2563eb,#22c55e);
}
.afp-modalities-view-v156 .afp-modalities-summary-row > .afp-card:nth-child(2)::before{background:linear-gradient(180deg,#f97316,#f59e0b);}
.afp-modalities-view-v156 .afp-modalities-summary-row > .afp-card:nth-child(3)::before{background:linear-gradient(180deg,#8b5cf6,#06b6d4);}
.afp-modalities-view-v156 .afp-modalities-mini-grid{
  gap:10px;
}
.afp-modalities-view-v156 .afp-modalities-mini-grid > div{
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.04) !important;
}
.afp-modalities-view-v156 .afp-modalities-mini-grid small{
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:10px;
  font-weight:900;
}
.afp-modalities-view-v156 .afp-modalities-mini-grid strong{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-modalities-view-v156 .afp-card > h3,
.afp-modalities-view-v156 .afp-card-head h3{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-modalities-view-v156 .afp-settings-grid{
  gap:16px;
}
.afp-modalities-view-v156 form{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(203,213,225,.75);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(239,246,255,.88) 0%,rgba(255,255,255,.98) 58%,rgba(236,254,255,.82) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 32px rgba(15,23,42,.045);
}
.afp-modalities-view-v156 .afp-field input,
.afp-modalities-view-v156 .afp-field select,
.afp-modalities-view-v156 .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-modalities-view-v156 .afp-field input:focus,
.afp-modalities-view-v156 .afp-field select:focus,
.afp-modalities-view-v156 .afp-field textarea:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-modalities-view-v156 .afp-btn{
  border-radius:13px !important;
  font-weight:850;
}
.afp-modalities-view-v156 .afp-btn:not(.secondary){
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
.afp-modalities-view-v156 .afp-table-wrap{
  margin-top:16px;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 26px rgba(15,23,42,.045) !important;
  overflow:auto;
}
.afp-modalities-view-v156 .afp-table{
  width:100%;
}
.afp-modalities-view-v156 .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc,#eef2ff) !important;
  color:#334155 !important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.afp-modalities-view-v156 .afp-table tbody td{
  vertical-align:middle;
}
.afp-modalities-view-v156 .afp-table tbody td:not(:first-child){
  text-align:center;
}
.afp-modalities-view-v156 .afp-table tbody td:last-child{
  white-space:nowrap;
}
.afp-modalities-view-v156 .afp-modalities-session-list > div{
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  box-shadow:0 8px 20px rgba(15,23,42,.035);
}
.afp-modalities-view-v156 .afp-status{
  justify-content:center;
  min-width:78px;
}
@media(max-width:1100px){
  .afp-modalities-view-v156 .afp-modalities-summary-row{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .afp-modalities-view-v156 .afp-modalities-top-stats{grid-template-columns:1fr !important;}
  .afp-modalities-view-v156 .afp-modalities-mini-grid{grid-template-columns:1fr;}
  .afp-modalities-view-v156 .afp-modalities-hero{padding:22px 18px !important;}
  .afp-modalities-view-v156 form{padding:12px;}
  .afp-modalities-view-v156 .afp-module-workbar{align-items:flex-start;}
}

/* v1.5.157 — Tarefas/Kanban: melhoria visual isolada e alinhada ao novo padrão */
.afp-tasks-view-v157 .afp-module-hero{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#06b6d4 100%) !important;
  color:#fff !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-tasks-view-v157 .afp-module-hero::after{
  content:"";
  position:absolute;
  right:-56px;
  bottom:-76px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-tasks-view-v157 .afp-module-hero > *{
  position:relative;
  z-index:1;
}
.afp-tasks-view-v157 .afp-module-hero h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-tasks-view-v157 .afp-module-hero .afp-muted,
.afp-tasks-view-v157 .afp-module-hero p,
.afp-tasks-view-v157 .afp-module-hero .afp-module-kicker{
  color:rgba(226,232,240,.88) !important;
}
.afp-tasks-view-v157 .afp-module-hero .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-tasks-view-v157 .afp-module-hero .afp-btn.secondary{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-tasks-view-v157 .afp-task-view-actions .afp-btn:not(.secondary){
  background:#fff !important;
  color:#1d4ed8 !important;
  box-shadow:0 12px 28px rgba(15,23,42,.18) !important;
}
.afp-tasks-view-v157 .afp-tasks-top-stats{
  gap:16px;
  margin:18px 0;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card::before{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card:nth-child(1){background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card:nth-child(2){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card:nth-child(3){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card:nth-child(4){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card h3,
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card .afp-stat,
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card p{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card h3{
  margin:0 0 8px;
  color:rgba(255,255,255,.80) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-tasks-view-v157 .afp-tasks-top-stats .afp-card p{
  margin:7px 0 0;
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-tasks-view-v157 .afp-kanban-shell,
.afp-tasks-view-v157 .afp-task-cancelled-tray{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-tasks-view-v157 .afp-kanban-shell > .afp-card-head{
  align-items:flex-start;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.78);
}
.afp-tasks-view-v157 .afp-kanban-shell > .afp-card-head h3,
.afp-tasks-view-v157 .afp-task-modal-box .afp-modal-header h3{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-tasks-view-v157 .afp-kanban-board{
  gap:16px;
  padding:4px 4px 12px;
}
.afp-tasks-view-v157 .afp-kanban-column{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  box-shadow:0 14px 34px rgba(15,23,42,.055) !important;
}
.afp-tasks-view-v157 .afp-kanban-column.is-drag-over,
.afp-tasks-view-v157 .afp-kanban-column-body.is-drag-over{
  border-color:#2563eb !important;
  background:#eff6ff !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 18px 42px rgba(37,99,235,.12) !important;
}
.afp-tasks-view-v157 .afp-kanban-column-head{
  padding:15px 15px 13px;
  border-bottom:0 !important;
  background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;
  color:#fff !important;
}
.afp-tasks-view-v157 .afp-kanban-column:nth-child(1) .afp-kanban-column-head{background:linear-gradient(135deg,#f97316 0%,#f59e0b 100%) !important;}
.afp-tasks-view-v157 .afp-kanban-column:nth-child(2) .afp-kanban-column-head{background:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%) !important;}
.afp-tasks-view-v157 .afp-kanban-column:nth-child(3) .afp-kanban-column-head{background:linear-gradient(135deg,#7c3aed 0%,#a855f7 100%) !important;}
.afp-tasks-view-v157 .afp-kanban-column:nth-child(4) .afp-kanban-column-head{background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-tasks-view-v157 .afp-kanban-column-head strong,
.afp-tasks-view-v157 .afp-kanban-column-head strong span,
.afp-tasks-view-v157 .afp-kanban-column-head small{
  color:#fff !important;
}
.afp-tasks-view-v157 .afp-kanban-column-head small{
  color:rgba(255,255,255,.78) !important;
}
.afp-tasks-view-v157 .afp-kanban-column-head b{
  background:rgba(255,255,255,.20) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.afp-tasks-view-v157 .afp-kanban-column-filter{
  border-bottom:1px solid rgba(226,232,240,.84) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
}
.afp-tasks-view-v157 .afp-kanban-column-filter summary{
  padding:11px 13px;
  color:#475569;
}
.afp-tasks-view-v157 .afp-kanban-column-filter summary:before{
  color:#2563eb;
}
.afp-tasks-view-v157 .afp-kanban-column-filter summary b{
  background:#fff7ed;
  color:#c2410c;
}
.afp-tasks-view-v157 .afp-kanban-column-filter-form{
  padding:0 12px 12px;
}
.afp-tasks-view-v157 .afp-kanban-column-filter-form input,
.afp-tasks-view-v157 .afp-kanban-column-filter-form select,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field input,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field select,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-tasks-view-v157 .afp-kanban-column-filter-form input:focus,
.afp-tasks-view-v157 .afp-kanban-column-filter-form select:focus,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field input:focus,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field select:focus,
.afp-tasks-view-v157 .afp-task-modal-box .afp-field textarea:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-tasks-view-v157 .afp-kanban-column-body{
  min-height:190px;
  padding:12px;
  background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);
}
.afp-tasks-view-v157 .afp-kanban-card{
  position:relative;
  overflow:hidden;
  margin-bottom:12px;
  padding:13px;
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(15,23,42,.055) !important;
}
.afp-tasks-view-v157 .afp-kanban-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,#2563eb,#06b6d4);
  opacity:.78;
}
.afp-tasks-view-v157 .afp-kanban-card.is-overdue::before{
  background:linear-gradient(180deg,#ef4444,#f97316);
  opacity:1;
}
.afp-tasks-view-v157 .afp-kanban-card:hover{
  transform:translateY(-2px);
  border-color:#bfdbfe !important;
  box-shadow:0 14px 30px rgba(37,99,235,.10) !important;
}
.afp-tasks-view-v157 .afp-kanban-card h4{
  color:#0f172a;
  letter-spacing:-.01em;
}
.afp-tasks-view-v157 .afp-kanban-meta span{
  padding:4px 7px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #edf2f7;
}
.afp-tasks-view-v157 .afp-kanban-progress{
  height:7px;
  background:#e2e8f0;
}
.afp-tasks-view-v157 .afp-kanban-progress span{
  background:linear-gradient(90deg,#2563eb,#06b6d4);
}
.afp-tasks-view-v157 .afp-kanban-overdue{
  background:#fee2e2;
  color:#991b1b;
  box-shadow:inset 0 0 0 1px rgba(248,113,113,.22);
}
.afp-tasks-view-v157 .afp-kanban-empty{
  min-height:110px;
  border-color:#cbd5e1;
  background:rgba(255,255,255,.70);
  color:#64748b;
}
.afp-tasks-view-v157 .afp-btn{
  border-radius:13px !important;
  font-weight:850;
}
.afp-tasks-view-v157 .afp-kanban-column-filter-actions .afp-btn:not(.secondary),
.afp-tasks-view-v157 .afp-task-modal-actions .afp-btn:not(.secondary):not(.danger){
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
.afp-tasks-view-v157 .afp-task-cancelled-tray{
  padding:18px;
}
.afp-tasks-view-v157 .afp-task-cancelled-tray > summary{
  color:#334155;
  font-weight:900;
}
.afp-tasks-view-v157 .afp-task-cancelled-grid{
  gap:12px;
}
.afp-tasks-view-v157 .afp-task-modal-box{
  border-radius:26px !important;
  border:1px solid rgba(148,163,184,.22) !important;
  box-shadow:0 28px 70px rgba(15,23,42,.22) !important;
}
.afp-tasks-view-v157 .afp-task-modal-box .afp-modal-header{
  margin:-22px -22px 18px;
  padding:22px;
  border-radius:26px 26px 0 0;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 56%,#ecfeff 100%);
  border-bottom:1px solid rgba(226,232,240,.9);
}
.afp-tasks-view-v157 .afp-task-modal-box form{
  padding:14px;
  border:1px solid rgba(203,213,225,.75);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(239,246,255,.88) 0%,rgba(255,255,255,.98) 58%,rgba(236,254,255,.82) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 12px 32px rgba(15,23,42,.045);
}
@media(max-width:1100px){
  .afp-tasks-view-v157 .afp-tasks-top-stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:820px){
  .afp-tasks-view-v157 .afp-module-hero{padding:22px 18px !important;}
  .afp-tasks-view-v157 .afp-task-view-actions{justify-content:flex-start;}
  .afp-tasks-view-v157 .afp-tasks-top-stats{grid-template-columns:1fr !important;}
  .afp-tasks-view-v157 .afp-kanban-board{gap:12px;}
  .afp-tasks-view-v157 .afp-task-modal-box .afp-modal-header{margin:-16px -16px 16px;padding:18px;border-radius:22px 22px 0 0;}
  .afp-tasks-view-v157 .afp-task-modal-box form{padding:12px;}
}


/* v1.5.158 — Relatórios: melhoria visual isolada e alinhada ao novo padrão */
.afp-reports-view-v158 .afp-module-hero{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#06b6d4 100%) !important;
  color:#fff !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-reports-view-v158 .afp-module-hero::after{
  content:"";
  position:absolute;
  right:-56px;
  bottom:-76px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-reports-view-v158 .afp-module-hero > *{
  position:relative;
  z-index:1;
}
.afp-reports-view-v158 .afp-module-hero h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-reports-view-v158 .afp-module-hero .afp-muted,
.afp-reports-view-v158 .afp-module-hero p,
.afp-reports-view-v158 .afp-module-hero .afp-module-kicker{
  color:rgba(226,232,240,.88) !important;
}
.afp-reports-view-v158 .afp-module-hero .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-reports-view-v158 .afp-module-hero .afp-btn.secondary{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-reports-view-v158 .afp-report-filter-card{
  width:100%;
  margin:18px 0 0;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#ecfeff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-reports-view-v158 .afp-report-filter-card .afp-card-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.78);
}
.afp-reports-view-v158 .afp-report-filters{
  gap:12px;
  align-items:end;
  padding-top:4px;
}
.afp-reports-view-v158 .afp-report-filters .afp-field input,
.afp-reports-view-v158 .afp-report-filters .afp-field select{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-reports-view-v158 .afp-report-filters .afp-field input:focus,
.afp-reports-view-v158 .afp-report-filters .afp-field select:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-reports-view-v158 .afp-report-actions{
  gap:8px;
  align-items:end;
}
.afp-reports-view-v158 .afp-reports-subnav{
  width:100%;
  margin:18px 0 0;
  padding:8px;
  border:1px solid rgba(226,232,240,.92);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.afp-reports-view-v158 .afp-reports-subnav button{
  border-radius:13px !important;
  font-weight:850;
}
.afp-reports-view-v158 .afp-reports-subnav button.active{
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
.afp-reports-view-v158 .afp-report-kpi-grid{
  gap:16px;
  margin:18px 0 0;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card{
  position:relative;
  overflow:hidden;
  min-height:126px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card::before{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card:nth-child(1){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card:nth-child(2){background:linear-gradient(135deg,#b91c1c 0%,#f97316 100%) !important;}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card:nth-child(3){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card h3,
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card .afp-stat,
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card p{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card h3{
  margin:0 0 8px;
  color:rgba(255,255,255,.80) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-reports-view-v158 .afp-report-kpi-grid .afp-card p{
  margin:7px 0 0;
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-reports-view-v158 .afp-report-grid,
.afp-reports-view-v158 .afp-report-grid-annual,
.afp-reports-view-v158 .afp-report-grid-sections{
  width:100%;
  gap:16px;
  margin-top:18px;
}
.afp-reports-view-v158 .afp-report-grid > .afp-card,
.afp-reports-view-v158 .afp-report-table-card,
.afp-reports-view-v158 .afp-report-monthly-screen,
.afp-reports-view-v158 .afp-report-matrix-card{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-reports-view-v158 .afp-report-grid > .afp-card{
  padding:20px;
}
.afp-reports-view-v158 .afp-report-table-card,
.afp-reports-view-v158 .afp-report-monthly-screen,
.afp-reports-view-v158 .afp-report-matrix-card{
  width:100%;
  margin-top:18px;
  overflow:auto;
}
.afp-reports-view-v158 .afp-report-table-title{
  align-items:flex-start;
  padding:18px 18px 14px;
  border-bottom:1px solid rgba(226,232,240,.78);
  background:linear-gradient(135deg,#f8fafc 0%,#ffffff 54%,#eff6ff 100%);
}
.afp-reports-view-v158 .afp-report-table-title h3,
.afp-reports-view-v158 .afp-card-head h3{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-reports-view-v158 .afp-report-table-kicker{
  color:#2563eb;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.afp-reports-view-v158 .afp-report-table-title > strong{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:12px;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
}
.afp-reports-view-v158 .afp-report-mini-stats{
  gap:10px;
}
.afp-reports-view-v158 .afp-report-mini-stats > div{
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.04) !important;
}
.afp-reports-view-v158 .afp-report-mini-stats span{
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:10px;
  font-weight:900;
}
.afp-reports-view-v158 .afp-report-mini-stats strong{
  color:#0f172a;
  letter-spacing:-.02em;
}
.afp-reports-view-v158 .afp-table{
  width:100%;
}
.afp-reports-view-v158 .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc,#eef2ff) !important;
  color:#334155 !important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.afp-reports-view-v158 .afp-table tbody td{
  vertical-align:middle;
}
.afp-reports-view-v158 .afp-table tbody td:not(:first-child){
  text-align:center;
}
.afp-reports-view-v158 .afp-table tbody td:last-child{
  white-space:nowrap;
}
.afp-reports-view-v158 .afp-btn{
  border-radius:13px !important;
  font-weight:850;
}
.afp-reports-view-v158 .afp-report-actions .afp-btn:not(.secondary){
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
@media(max-width:1100px){
  .afp-reports-view-v158 .afp-report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .afp-reports-view-v158 .afp-report-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:820px){
  .afp-reports-view-v158 .afp-module-hero{padding:22px 18px !important;}
  .afp-reports-view-v158 .afp-module-hero .afp-inline-actions{justify-content:flex-start;}
  .afp-reports-view-v158 .afp-report-kpi-grid{grid-template-columns:1fr !important;}
  .afp-reports-view-v158 .afp-report-filters{grid-template-columns:1fr;}
  .afp-reports-view-v158 .afp-report-actions{width:100%;justify-content:flex-start;}
  .afp-reports-view-v158 .afp-reports-subnav{overflow:auto;}
  .afp-reports-view-v158 .afp-report-table-title{padding:16px;}
}

/* v1.5.159 — Comunicação e Documentos/Arquivo: melhoria visual isolada e alinhada ao novo padrão */
.afp-communications-view .afp-module-hero,
.afp-archive-view .afp-module-hero{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  color:#fff !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-communications-view .afp-module-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#312e81 0%,#2563eb 52%,#06b6d4 100%) !important;
}
.afp-archive-view .afp-module-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#334155 48%,#2563eb 100%) !important;
}
.afp-communications-view .afp-module-hero::after,
.afp-archive-view .afp-module-hero::after{
  content:"";
  position:absolute;
  right:-56px;
  bottom:-76px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-communications-view .afp-module-hero > *,
.afp-archive-view .afp-module-hero > *{
  position:relative;
  z-index:1;
}
.afp-communications-view .afp-module-hero h2,
.afp-archive-view .afp-module-hero h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-communications-view .afp-module-hero .afp-muted,
.afp-archive-view .afp-module-hero .afp-muted,
.afp-communications-view .afp-module-hero p,
.afp-archive-view .afp-module-hero p,
.afp-communications-view .afp-module-hero .afp-module-kicker,
.afp-archive-view .afp-module-hero .afp-module-kicker{
  color:rgba(226,232,240,.88) !important;
}
.afp-communications-view .afp-module-hero .afp-badge,
.afp-archive-view .afp-module-hero .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-communications-view .afp-module-hero .afp-btn,
.afp-archive-view .afp-module-hero .afp-btn{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-communications-view .afp-communications-summary-grid-v163,
.afp-archive-view .afp-archive-summary-grid-v163{
  width:100%;
  gap:16px;
  margin:0;
}
.afp-communications-view .afp-communication-stat-v163,
.afp-archive-view .afp-archive-stat-v163{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-communications-view .afp-communication-stat-v163:hover,
.afp-archive-view .afp-archive-stat-v163:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-communications-view .afp-communication-stat-v163::before,
.afp-archive-view .afp-archive-stat-v163::before{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-42px;
  width:130px;
  height:130px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-communications-view .afp-communication-stat-v163:nth-child(1),
.afp-archive-view .afp-archive-stat-v163:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-communications-view .afp-communication-stat-v163:nth-child(2),
.afp-archive-view .afp-archive-stat-v163:nth-child(2){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-communications-view .afp-communication-stat-v163:nth-child(3),
.afp-archive-view .afp-archive-stat-v163:nth-child(3){background:linear-gradient(135deg,#c2410c 0%,#f97316 100%) !important;}
.afp-communications-view .afp-communication-stat-v163:nth-child(4),
.afp-archive-view .afp-archive-stat-v163:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-archive-view .afp-archive-stat-v163:nth-child(4){background:linear-gradient(135deg,#b91c1c 0%,#f97316 100%) !important;}
.afp-communications-view .afp-communication-stat-v163 h3,
.afp-communications-view .afp-communication-stat-v163 .afp-stat,
.afp-communications-view .afp-communication-stat-v163 p,
.afp-communications-view .afp-communication-stat-v163 .afp-muted,
.afp-archive-view .afp-archive-stat-v163 h3,
.afp-archive-view .afp-archive-stat-v163 .afp-stat,
.afp-archive-view .afp-archive-stat-v163 p,
.afp-archive-view .afp-archive-stat-v163 .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-communications-view .afp-communication-stat-v163 h3,
.afp-archive-view .afp-archive-stat-v163 h3{
  margin:0 0 8px;
  color:rgba(255,255,255,.82) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-communications-view .afp-communication-stat-v163 .afp-stat,
.afp-archive-view .afp-archive-stat-v163 .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-communications-view .afp-communication-stat-icon,
.afp-archive-view .afp-archive-stat-icon{
  position:relative;
  z-index:1;
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.afp-communications-view .afp-communication-tabs,
.afp-archive-view .afp-archive-tabs-v163{
  width:100%;
  margin:0;
  padding:8px;
  border:1px solid rgba(226,232,240,.92) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 12px 28px rgba(15,23,42,.045) !important;
}
.afp-communications-view .afp-communication-tab,
.afp-archive-view .afp-archive-tabs-v163 button{
  border-radius:14px !important;
  font-weight:850;
}
.afp-communications-view .afp-communication-tab.active,
.afp-archive-view .afp-archive-tabs-v163 button.active{
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(37,99,235,.18) !important;
}
.afp-communications-view .afp-communication-tab.active small,
.afp-communications-view .afp-communication-tab.active strong,
.afp-communications-view .afp-communication-tab.active .afp-module-tab-icon,
.afp-communications-view .afp-communication-tab.active .afp-module-tab-count{
  color:#fff !important;
}
.afp-communications-view .afp-communications-workbar,
.afp-archive-view .afp-archive-filter-card,
.afp-communications-view .afp-communications-filter-card,
.afp-communications-view .afp-communication-workspace-grid-v163 > .afp-card,
.afp-communications-view .afp-communications-campaign-card,
.afp-communications-view .afp-communications-email-history-card,
.afp-communications-view .afp-social-panel,
.afp-communications-view .afp-social-calendar-panel,
.afp-communications-view .afp-social-templates-panel,
.afp-archive-view .afp-archive-form-card-v163,
.afp-archive-view .afp-archive-list-card-v163{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-archive-view .afp-archive-filter-card,
.afp-communications-view .afp-communications-filter-card{
  width:100%;
  margin:0;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#ecfeff 100%) !important;
}
.afp-archive-view .afp-archive-filter-card .afp-card-head,
.afp-communications-view .afp-communications-filter-card .afp-card-head,
.afp-communications-view .afp-communications-campaign-card .afp-card-head,
.afp-communications-view .afp-communications-email-history-card .afp-card-head,
.afp-communications-view .afp-social-panel .afp-card-head,
.afp-communications-view .afp-social-calendar-panel .afp-card-head,
.afp-communications-view .afp-social-templates-panel .afp-card-head,
.afp-archive-view .afp-archive-list-card-v163 .afp-card-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.78);
}
.afp-archive-view .afp-archive-toolbar,
.afp-communications-view .afp-communications-toolbar,
.afp-communications-view .afp-social-toolbar,
.afp-communications-view .afp-social-generator-toolbar{
  gap:12px;
  align-items:center;
  padding-top:4px;
}
.afp-archive-view .afp-archive-toolbar select,
.afp-archive-view .afp-archive-toolbar input,
.afp-communications-view .afp-communications-toolbar select,
.afp-communications-view .afp-communications-toolbar input,
.afp-communications-view .afp-social-toolbar select,
.afp-communications-view .afp-social-toolbar input,
.afp-communications-view .afp-social-generator-toolbar select,
.afp-communications-view .afp-social-generator-toolbar input,
.afp-communications-view .afp-field input,
.afp-communications-view .afp-field select,
.afp-communications-view .afp-field textarea,
.afp-archive-view .afp-field input,
.afp-archive-view .afp-field select,
.afp-archive-view .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-archive-view .afp-archive-toolbar select:focus,
.afp-archive-view .afp-archive-toolbar input:focus,
.afp-communications-view .afp-communications-toolbar select:focus,
.afp-communications-view .afp-communications-toolbar input:focus,
.afp-communications-view .afp-field input:focus,
.afp-communications-view .afp-field select:focus,
.afp-communications-view .afp-field textarea:focus,
.afp-archive-view .afp-field input:focus,
.afp-archive-view .afp-field select:focus,
.afp-archive-view .afp-field textarea:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-archive-view .afp-table-wrap,
.afp-communications-view .afp-table-wrap{
  border-radius:18px;
  border:1px solid rgba(226,232,240,.82);
  overflow:auto;
  background:#fff;
}
.afp-archive-view .afp-table thead th,
.afp-communications-view .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%) !important;
  color:#0f172a !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.afp-archive-view .afp-table tbody td,
.afp-communications-view .afp-table tbody td{
  vertical-align:middle;
}
.afp-archive-view .afp-table tbody tr:hover,
.afp-communications-view .afp-table tbody tr:hover{
  background:#f8fbff;
}
.afp-communications-view .afp-social-mini-stats .afp-mini-stat{
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.045);
}
.afp-communications-view .afp-social-preview-card{
  border-radius:22px;
  box-shadow:0 18px 46px rgba(15,23,42,.065);
}
.afp-communications-view .afp-dashboard-v2-alert,
.afp-archive-view .afp-dashboard-v2-alert{
  border:1px solid rgba(251,191,36,.32) !important;
  border-radius:22px !important;
  box-shadow:0 16px 36px rgba(217,119,6,.09) !important;
}
@media (max-width: 980px){
  .afp-communications-view .afp-module-hero,
  .afp-archive-view .afp-module-hero{padding:22px !important;}
  .afp-communications-view .afp-communication-workspace-grid-v163{grid-template-columns:1fr;}
  .afp-communications-view .afp-module-hero .afp-inline-actions,
  .afp-archive-view .afp-module-hero .afp-inline-actions{align-items:stretch; width:100%;}
  .afp-communications-view .afp-module-hero .afp-btn,
  .afp-archive-view .afp-module-hero .afp-btn{width:100%; justify-content:center;}
}
@media (max-width: 820px){
  .afp-communications-view .afp-communications-summary-grid-v163,
  .afp-archive-view .afp-archive-summary-grid-v163{grid-template-columns:1fr !important;}
  .afp-communications-view .afp-communication-tabs,
  .afp-archive-view .afp-archive-tabs-v163{overflow-x:auto; flex-wrap:nowrap;}
  .afp-communications-view .afp-communication-tab,
  .afp-archive-view .afp-archive-tabs-v163 button{flex:0 0 auto; min-width:190px;}
}

/* v1.5.160 — Alugueres/Reservas: melhoria visual isolada e alinhada ao novo padrão */
.afp-rentals-view-v160{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.afp-rentals-view-v160 > .afp-card,
.afp-rentals-view-v160 > .afp-grid,
.afp-rentals-view-v160 > .afp-settings-grid,
.afp-rentals-view-v160 > .afp-rentals-summary-row-v160{
  width:100%;
  margin:0;
}
.afp-rentals-view-v160 .afp-module-hero,
.afp-rentals-hero-v160{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#0f766e 0%,#2563eb 54%,#7c3aed 100%) !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-rentals-view-v160 .afp-module-hero::after,
.afp-rentals-hero-v160::after{
  content:"";
  position:absolute;
  right:-58px;
  bottom:-78px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-rentals-view-v160 .afp-module-hero > *,
.afp-rentals-hero-v160 > *{
  position:relative;
  z-index:1;
}
.afp-rentals-view-v160 .afp-module-hero h2,
.afp-rentals-hero-v160 h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-rentals-view-v160 .afp-module-hero .afp-muted,
.afp-rentals-view-v160 .afp-module-hero p,
.afp-rentals-view-v160 .afp-module-hero .afp-module-kicker,
.afp-rentals-hero-v160 .afp-muted,
.afp-rentals-hero-v160 p,
.afp-rentals-hero-v160 .afp-module-kicker{
  color:rgba(226,232,240,.90) !important;
}
.afp-rentals-view-v160 .afp-module-hero .afp-badge,
.afp-rentals-hero-v160 .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-rentals-top-stats-v160{
  gap:16px;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card::before{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-46px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
  left:auto;
  top:auto;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card:nth-child(1){background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%) !important;}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card:nth-child(2){background:linear-gradient(135deg,#c2410c 0%,#f97316 100%) !important;}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card:nth-child(3){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card:nth-child(4){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card h3,
.afp-rentals-top-stats-v160 .afp-rentals-stat-card .afp-stat,
.afp-rentals-top-stats-v160 .afp-rentals-stat-card p,
.afp-rentals-top-stats-v160 .afp-rentals-stat-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card h3{
  margin:0 0 8px;
  color:rgba(255,255,255,.82) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-rentals-top-stats-v160 .afp-rentals-stat-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-rentals-alert-v160{
  border:1px solid rgba(251,191,36,.32) !important;
  border-radius:22px !important;
  box-shadow:0 16px 36px rgba(217,119,6,.09) !important;
}
.afp-rentals-alert-v160 strong{
  font-size:22px;
}
.afp-rentals-summary-row-v160{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card,
.afp-rentals-view-v160 > .afp-card,
.afp-rentals-view-v160 > .afp-settings-grid > .afp-card{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card{
  position:relative;
  overflow:hidden;
  padding:20px;
}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:999px;
}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card:nth-child(1)::before{background:#0f172a;}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card:nth-child(2)::before{background:#eab308;}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card:nth-child(3)::before{background:#2563eb;}
.afp-rentals-summary-row-v160 .afp-rentals-mini-card h3,
.afp-rentals-view-v160 .afp-card h3{
  letter-spacing:-.02em;
}
.afp-rentals-view-v160 .afp-rental-mini-stats{
  gap:10px;
}
.afp-rentals-view-v160 .afp-rental-mini-stats > div{
  border:1px solid rgba(226,232,240,.82);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(15,23,42,.035);
}
.afp-rentals-view-v160 .afp-rentals-filter-card{
  width:100%;
  margin:0;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#ecfeff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-rentals-view-v160 .afp-rentals-filter-card .afp-card-head,
.afp-rentals-view-v160 > .afp-card .afp-card-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.78);
}
.afp-rentals-view-v160 .afp-rentals-toolbar,
.afp-rentals-view-v160 .afp-toolbar{
  gap:12px;
  align-items:center;
}
.afp-rentals-view-v160 .afp-rentals-toolbar select,
.afp-rentals-view-v160 .afp-rentals-toolbar input,
.afp-rentals-view-v160 .afp-field input,
.afp-rentals-view-v160 .afp-field select,
.afp-rentals-view-v160 .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-rentals-view-v160 .afp-rentals-toolbar select:focus,
.afp-rentals-view-v160 .afp-rentals-toolbar input:focus,
.afp-rentals-view-v160 .afp-field input:focus,
.afp-rentals-view-v160 .afp-field select:focus,
.afp-rentals-view-v160 .afp-field textarea:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-rentals-view-v160 .afp-table-wrap{
  border-radius:18px;
  border:1px solid rgba(226,232,240,.82);
  overflow:auto;
  background:#fff;
}
.afp-rentals-view-v160 .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%) !important;
  color:#0f172a !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.afp-rentals-view-v160 .afp-table tbody td{
  vertical-align:middle;
}
.afp-rentals-view-v160 .afp-table tbody tr:hover{
  background:#f8fbff;
}
.afp-rentals-view-v160 .afp-btn:not(.secondary):not(.danger){
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.16) !important;
}
.afp-rentals-view-v160 .afp-btn.secondary{
  border-color:rgba(148,163,184,.38) !important;
  background:#fff !important;
}
.afp-rentals-view-v160 .afp-link-btn{
  font-weight:850;
}
@media (max-width: 980px){
  .afp-rentals-view-v160 .afp-module-hero,
  .afp-rentals-hero-v160{padding:22px !important;}
  .afp-rentals-summary-row-v160{grid-template-columns:1fr;}
  .afp-rentals-view-v160 .afp-settings-grid{grid-template-columns:1fr !important;}
}
@media (max-width: 820px){
  .afp-rentals-top-stats-v160{grid-template-columns:1fr !important;}
  .afp-rentals-alert-v160{flex-direction:column; align-items:flex-start;}
  .afp-rentals-view-v160 .afp-rentals-toolbar{grid-template-columns:1fr;}
  .afp-rentals-view-v160 .afp-rentals-toolbar .afp-btn,
  .afp-rentals-view-v160 .afp-toolbar .afp-btn{width:100%; justify-content:center;}
}


/* v1.5.161 — Inventário/Património: melhoria visual isolada e alinhada ao novo padrão */
.afp-inventory-view-v161{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.afp-inventory-view-v161 > .afp-card,
.afp-inventory-view-v161 > .afp-grid,
.afp-inventory-view-v161 > .afp-inventory-summary-row-v161{
  width:100%;
  margin:0;
}
.afp-inventory-view-v161 .afp-module-hero,
.afp-inventory-hero-v161{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#2563eb 52%,#06b6d4 100%) !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-inventory-view-v161 .afp-module-hero::after,
.afp-inventory-hero-v161::after{
  content:"";
  position:absolute;
  right:-58px;
  bottom:-78px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-inventory-view-v161 .afp-module-hero > *,
.afp-inventory-hero-v161 > *{
  position:relative;
  z-index:1;
}
.afp-inventory-view-v161 .afp-module-hero h2,
.afp-inventory-hero-v161 h2{
  color:#fff !important;
  font-size:clamp(26px,3vw,38px);
  letter-spacing:-.035em;
}
.afp-inventory-view-v161 .afp-module-hero .afp-muted,
.afp-inventory-view-v161 .afp-module-hero p,
.afp-inventory-view-v161 .afp-module-hero .afp-module-kicker,
.afp-inventory-hero-v161 .afp-muted,
.afp-inventory-hero-v161 p,
.afp-inventory-hero-v161 .afp-module-kicker{
  color:rgba(226,232,240,.90) !important;
}
.afp-inventory-view-v161 .afp-module-hero .afp-badge,
.afp-inventory-hero-v161 .afp-badge{
  background:rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-inventory-view-v161 .afp-module-hero .afp-btn{
  border-color:rgba(255,255,255,.28) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.afp-inventory-top-stats-v161{
  gap:16px;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card{
  position:relative;
  overflow:hidden;
  min-height:132px;
  padding:20px;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card::before{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-46px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
  left:auto;
  top:auto;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card:nth-child(1){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card:nth-child(2){background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%) !important;}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card:nth-child(3){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card:nth-child(4){background:linear-gradient(135deg,#c2410c 0%,#f97316 100%) !important;}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card h3,
.afp-inventory-top-stats-v161 .afp-inventory-stat-card .afp-stat,
.afp-inventory-top-stats-v161 .afp-inventory-stat-card p,
.afp-inventory-top-stats-v161 .afp-inventory-stat-card .afp-muted{
  position:relative;
  z-index:1;
  color:#fff !important;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card h3{
  margin:0 0 8px;
  color:rgba(255,255,255,.82) !important;
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
}
.afp-inventory-top-stats-v161 .afp-inventory-stat-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px);
  letter-spacing:-.04em;
}
.afp-inventory-alert-v161{
  border:1px solid rgba(251,191,36,.32) !important;
  border-radius:22px !important;
  box-shadow:0 16px 36px rgba(217,119,6,.09) !important;
}
.afp-inventory-alert-v161 strong{
  font-size:22px;
}
.afp-inventory-summary-row-v161{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.afp-inventory-summary-row-v161 .afp-inventory-mini-card,
.afp-inventory-view-v161 > .afp-card{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-inventory-summary-row-v161 .afp-inventory-mini-card{
  position:relative;
  overflow:hidden;
  padding:20px;
}
.afp-inventory-summary-row-v161 .afp-inventory-mini-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:999px;
}
.afp-inventory-summary-row-v161 .afp-inventory-mini-card:nth-child(1)::before{background:#2563eb;}
.afp-inventory-summary-row-v161 .afp-inventory-mini-card:nth-child(2)::before{background:#0f766e;}
.afp-inventory-view-v161 .afp-inventory-mini-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.afp-inventory-view-v161 .afp-inventory-mini-stats > div{
  border:1px solid rgba(226,232,240,.82);
  border-radius:16px;
  background:#fff;
  padding:12px;
  box-shadow:0 8px 20px rgba(15,23,42,.035);
}
.afp-inventory-view-v161 .afp-inventory-mini-stats span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.afp-inventory-view-v161 .afp-inventory-mini-stats strong{
  display:block;
  margin-top:5px;
  color:#0f172a;
  font-size:18px;
}
.afp-inventory-view-v161 .afp-inventory-filter-card,
.afp-inventory-view-v161 .afp-inventory-filter-card-v161{
  width:100%;
  margin:0;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 56%,#ecfeff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-inventory-view-v161 .afp-card-head,
.afp-inventory-view-v161 .afp-inventory-filter-card .afp-card-head,
.afp-inventory-view-v161 .afp-inventory-form-card-v161 .afp-card-head,
.afp-inventory-view-v161 .afp-inventory-list-card-v161 .afp-card-head{
  padding-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.78);
}
.afp-inventory-view-v161 .afp-inventory-toolbar,
.afp-inventory-view-v161 .afp-toolbar{
  gap:12px;
  align-items:center;
}
.afp-inventory-view-v161 .afp-inventory-toolbar select,
.afp-inventory-view-v161 .afp-inventory-toolbar input,
.afp-inventory-view-v161 .afp-field input,
.afp-inventory-view-v161 .afp-field select,
.afp-inventory-view-v161 .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background-color:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-inventory-view-v161 .afp-inventory-toolbar select:focus,
.afp-inventory-view-v161 .afp-inventory-toolbar input:focus,
.afp-inventory-view-v161 .afp-field input:focus,
.afp-inventory-view-v161 .afp-field select:focus,
.afp-inventory-view-v161 .afp-field textarea:focus{
  outline:none;
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-inventory-view-v161 .afp-table-wrap{
  border-radius:18px;
  border:1px solid rgba(226,232,240,.82);
  overflow:auto;
  background:#fff;
}
.afp-inventory-view-v161 .afp-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%) !important;
  color:#0f172a !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.afp-inventory-view-v161 .afp-table tbody td{
  vertical-align:middle;
}
.afp-inventory-view-v161 .afp-table tbody tr:hover{
  background:#f8fbff;
}
.afp-inventory-view-v161 .afp-btn:not(.secondary):not(.danger){
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.16) !important;
}
.afp-inventory-view-v161 .afp-btn.secondary{
  border-color:rgba(148,163,184,.38) !important;
  background:#fff !important;
}
.afp-inventory-view-v161 .afp-link-btn{
  font-weight:850;
}
@media (max-width: 980px){
  .afp-inventory-view-v161 .afp-module-hero,
  .afp-inventory-hero-v161{padding:22px !important;}
  .afp-inventory-summary-row-v161{grid-template-columns:1fr;}
}
@media (max-width: 820px){
  .afp-inventory-top-stats-v161{grid-template-columns:1fr !important;}
  .afp-inventory-view-v161 .afp-inventory-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .afp-inventory-alert-v161{flex-direction:column; align-items:flex-start;}
  .afp-inventory-view-v161 .afp-inventory-toolbar{grid-template-columns:1fr;}
  .afp-inventory-view-v161 .afp-inventory-toolbar .afp-btn,
  .afp-inventory-view-v161 .afp-toolbar .afp-btn{width:100%; justify-content:center;}
}

/* v1.5.162 — Utilizadores: melhoria visual isolada e alinhada ao novo padrão */
.afp-users-view-v162{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.afp-users-hero-v162{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:28px !important;
  padding:28px !important;
  background:linear-gradient(135deg,#0f172a 0%,#4338ca 54%,#06b6d4 100%) !important;
  color:#fff !important;
  box-shadow:0 24px 58px rgba(67,56,202,.22) !important;
}
.afp-users-hero-v162::before{
  content:"";
  position:absolute;
  inset:-45% -15% auto auto;
  width:360px;
  height:360px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  filter:blur(2px);
  pointer-events:none;
}
.afp-users-hero-v162 h2,
.afp-users-hero-v162 .afp-muted{
  position:relative;
  color:#fff !important;
}
.afp-users-hero-v162 .afp-muted{opacity:.86;}
.afp-users-hero-v162 .afp-btn{
  position:relative;
  border-color:rgba(255,255,255,.28) !important;
}
.afp-users-hero-v162 .afp-btn:not(.secondary){
  background:#fff !important;
  color:#312e81 !important;
  box-shadow:0 16px 34px rgba(15,23,42,.18) !important;
}
.afp-users-hero-v162 .afp-btn.secondary{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
}
.afp-users-stats-v162{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.afp-users-stat-card-v162{
  position:relative;
  overflow:hidden;
  min-height:136px;
  border-radius:24px;
  padding:20px;
  color:#fff;
  box-shadow:0 20px 48px rgba(15,23,42,.12);
}
.afp-users-stat-card-v162::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-52px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.afp-users-stat-card-v162 span{
  display:block;
  position:relative;
  z-index:1;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  opacity:.88;
}
.afp-users-stat-card-v162 strong{
  display:block;
  position:relative;
  z-index:1;
  margin-top:11px;
  font-size:34px;
  line-height:1;
  font-weight:950;
}
.afp-users-stat-card-v162 small{
  display:block;
  position:relative;
  z-index:1;
  margin-top:10px;
  color:rgba(255,255,255,.86);
  font-weight:750;
}
.afp-users-stat-card-v162.users-total{background:linear-gradient(135deg,#2563eb,#06b6d4);}
.afp-users-stat-card-v162.users-active{background:linear-gradient(135deg,#059669,#22c55e);}
.afp-users-stat-card-v162.users-inactive{background:linear-gradient(135deg,#ea580c,#f97316);}
.afp-users-stat-card-v162.users-master{background:linear-gradient(135deg,#7c3aed,#db2777);}
.afp-users-governance-card-v162{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef2ff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-users-governance-card-v162 h3{
  margin:0 0 6px;
  color:#0f172a;
}
.afp-users-governance-card-v162 p{margin:0;}
.afp-users-governance-metrics-v162{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.afp-users-governance-metrics-v162 span{
  min-width:150px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 9px 22px rgba(15,23,42,.045);
}
.afp-users-governance-metrics-v162 strong{
  display:block;
  color:#312e81;
  font-size:24px;
  line-height:1;
  font-weight:950;
}
.afp-users-governance-metrics-v162 small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.afp-users-table-card-v162{
  width:100%;
  margin:0;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
  overflow:auto;
}
.afp-users-table-v162 thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 100%) !important;
  color:#0f172a !important;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.afp-users-table-v162 tbody td{
  vertical-align:middle;
}
.afp-users-table-v162 tbody tr:hover{
  background:#f8fbff;
}
.afp-users-view-v162 .afp-perm-mini{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.afp-users-view-v162 .afp-pill{
  border:1px solid rgba(99,102,241,.18);
  background:#eef2ff;
  color:#3730a3;
  font-weight:800;
}
.afp-users-modal-box-v162{
  border-radius:26px !important;
  border:1px solid rgba(148,163,184,.28) !important;
  box-shadow:0 30px 80px rgba(15,23,42,.22) !important;
  overflow:hidden;
}
.afp-users-modal-header-v162{
  background:linear-gradient(135deg,#0f172a,#4338ca) !important;
  color:#fff !important;
  margin:-24px -24px 22px !important;
  padding:22px 24px !important;
}
.afp-users-modal-header-v162 h3{color:#fff !important;}
.afp-users-modal-header-v162 .afp-icon-btn{
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
}
.afp-users-modal-box-v162 .afp-field input,
.afp-users-modal-box-v162 .afp-field select,
.afp-users-modal-box-v162 .afp-field textarea,
.afp-users-view-v162 .afp-field input,
.afp-users-view-v162 .afp-field select,
.afp-users-view-v162 .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#0f172a;
  font-weight:600;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-users-modal-box-v162 .afp-field input:focus,
.afp-users-modal-box-v162 .afp-field select:focus,
.afp-users-view-v162 .afp-field input:focus,
.afp-users-view-v162 .afp-field select:focus{
  outline:none;
  border-color:#4338ca !important;
  box-shadow:0 0 0 4px rgba(67,56,202,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-users-modal-box-v162 .afp-permissions-scroll{
  border:1px solid rgba(226,232,240,.9);
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  padding:14px;
}
.afp-users-modal-box-v162 .afp-permission-group{
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 9px 22px rgba(15,23,42,.035);
}
.afp-users-modal-box-v162 .afp-permission-group h4{
  margin-top:0;
  color:#312e81;
}
.afp-users-view-v162 .afp-btn:not(.secondary):not(.danger),
.afp-users-modal-box-v162 .afp-btn:not(.secondary):not(.danger){
  background:linear-gradient(135deg,#4338ca,#06b6d4) !important;
  box-shadow:0 12px 24px rgba(67,56,202,.16) !important;
}
.afp-users-view-v162 .afp-link-btn{
  font-weight:850;
}
@media (max-width: 980px){
  .afp-users-stats-v162{grid-template-columns:repeat(2,minmax(0,1fr));}
  .afp-users-governance-card-v162{flex-direction:column;align-items:stretch;}
  .afp-users-governance-metrics-v162{justify-content:stretch;}
  .afp-users-governance-metrics-v162 span{flex:1 1 180px;}
}
@media (max-width: 720px){
  .afp-users-hero-v162{padding:22px !important;}
  .afp-users-stats-v162{grid-template-columns:1fr;}
  .afp-users-stat-card-v162{min-height:122px;}
  .afp-users-governance-metrics-v162{flex-direction:column;}
  .afp-users-governance-metrics-v162 span{min-width:0;}
  .afp-users-modal-header-v162{margin:-18px -18px 18px !important;padding:20px !important;}
}

/* v1.5.163 — Tesouraria: melhoria visual isolada e alinhada ao novo padrão */
.afp-treasury-view-v163{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.afp-treasury-hero-v163{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:28px !important;
  padding:28px !important;
  background:linear-gradient(135deg,#0f172a 0%,#047857 52%,#06b6d4 100%) !important;
  color:#fff !important;
  box-shadow:0 24px 58px rgba(5,150,105,.22) !important;
}
.afp-treasury-hero-v163::before{
  content:"";
  position:absolute;
  inset:-48% -18% auto auto;
  width:380px;
  height:380px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-treasury-hero-v163 h2,
.afp-treasury-hero-v163 .afp-muted{
  position:relative;
  color:#fff !important;
}
.afp-treasury-hero-v163 .afp-muted{opacity:.88;}
.afp-treasury-stats-v163{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.afp-treasury-stat-card-v163{
  position:relative;
  overflow:hidden;
  min-height:136px;
  border-radius:24px;
  padding:20px;
  color:#fff;
  box-shadow:0 20px 48px rgba(15,23,42,.12);
}
.afp-treasury-stat-card-v163::after{
  content:"";
  position:absolute;
  right:-44px;
  bottom:-54px;
  width:154px;
  height:154px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.afp-treasury-stat-card-v163 span,
.afp-treasury-stat-card-v163 strong,
.afp-treasury-stat-card-v163 small{
  position:relative;
  z-index:1;
}
.afp-treasury-stat-card-v163 span{
  display:block;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  opacity:.9;
}
.afp-treasury-stat-card-v163 strong{
  display:block;
  margin-top:11px;
  font-size:30px;
  line-height:1.06;
  font-weight:950;
  word-break:break-word;
}
.afp-treasury-stat-card-v163 small{
  display:block;
  margin-top:10px;
  color:rgba(255,255,255,.86);
  font-weight:750;
}
.afp-treasury-stat-card-v163.treasury-year{background:linear-gradient(135deg,#334155,#0f172a);}
.afp-treasury-stat-card-v163.treasury-cash{background:linear-gradient(135deg,#059669,#22c55e);}
.afp-treasury-stat-card-v163.treasury-bank{background:linear-gradient(135deg,#2563eb,#06b6d4);}
.afp-treasury-stat-card-v163.treasury-total{background:linear-gradient(135deg,#7c3aed,#db2777);}
.afp-treasury-context-card-v163{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#ecfdf5 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-treasury-context-card-v163 h3{
  margin:0 0 6px;
  color:#0f172a;
}
.afp-treasury-context-card-v163 p{margin:0;}
.afp-treasury-context-metrics-v163{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.afp-treasury-context-metrics-v163 span{
  min-width:180px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  background:#fff;
  padding:14px 16px;
  box-shadow:0 9px 22px rgba(15,23,42,.045);
}
.afp-treasury-context-metrics-v163 strong{
  display:block;
  color:#047857;
  font-size:23px;
  line-height:1.05;
  font-weight:950;
}
.afp-treasury-context-metrics-v163 small{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.afp-treasury-layout-v163{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:18px;
  align-items:start;
}
.afp-treasury-form-card-v163,
.afp-treasury-balance-card-v163{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-treasury-form-card-v163 .afp-card-head,
.afp-treasury-balance-card-v163 .afp-card-head{
  align-items:flex-start;
  border-bottom:1px solid rgba(226,232,240,.9);
  padding-bottom:14px;
  margin-bottom:18px;
}
.afp-treasury-form-card-v163 h3,
.afp-treasury-balance-card-v163 h3{
  margin:0 0 5px;
  color:#0f172a;
}
.afp-treasury-form-grid-v163{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.afp-treasury-view-v163 .afp-field input,
.afp-treasury-view-v163 .afp-field select,
.afp-treasury-view-v163 .afp-field textarea{
  border:1px solid rgba(148,163,184,.34) !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#0f172a;
  font-weight:650;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
.afp-treasury-view-v163 .afp-field input:focus,
.afp-treasury-view-v163 .afp-field select:focus,
.afp-treasury-view-v163 .afp-field textarea:focus{
  outline:none;
  border-color:#059669 !important;
  box-shadow:0 0 0 4px rgba(5,150,105,.12),0 10px 24px rgba(15,23,42,.06) !important;
}
.afp-treasury-actions-v163{
  margin-top:18px;
  justify-content:flex-end;
}
.afp-treasury-view-v163 .afp-btn:not(.secondary):not(.danger){
  background:linear-gradient(135deg,#059669,#06b6d4) !important;
  box-shadow:0 12px 24px rgba(5,150,105,.16) !important;
}
.afp-treasury-balance-list-v163{
  display:grid;
  gap:10px;
}
.afp-treasury-balance-list-v163 div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid rgba(226,232,240,.95);
  border-radius:17px;
  background:linear-gradient(180deg,#ffffff,#f8fafc);
  padding:14px 16px;
}
.afp-treasury-balance-list-v163 div.total{
  border-color:rgba(5,150,105,.22);
  background:linear-gradient(135deg,#ecfdf5 0%,#eff6ff 100%);
}
.afp-treasury-balance-list-v163 small{
  color:#64748b;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.afp-treasury-balance-list-v163 strong{
  color:#0f172a;
  font-size:18px;
  font-weight:950;
  text-align:right;
}
.afp-treasury-balance-list-v163 div.total strong{
  color:#047857;
  font-size:22px;
}
.afp-treasury-note-v163{
  margin-top:14px;
  border:1px dashed rgba(14,165,233,.35);
  border-radius:18px;
  background:#f0f9ff;
  color:#0369a1;
  padding:13px 15px;
  font-size:13px;
  font-weight:750;
}
@media (max-width: 1100px){
  .afp-treasury-stats-v163{grid-template-columns:repeat(2,minmax(0,1fr));}
  .afp-treasury-layout-v163{grid-template-columns:1fr;}
}
@media (max-width: 820px){
  .afp-treasury-context-card-v163{flex-direction:column;align-items:stretch;}
  .afp-treasury-context-metrics-v163{justify-content:stretch;}
  .afp-treasury-context-metrics-v163 span{flex:1 1 180px;}
  .afp-treasury-form-grid-v163{grid-template-columns:1fr;}
  .afp-treasury-actions-v163{justify-content:flex-start;}
}
@media (max-width: 560px){
  .afp-treasury-hero-v163{padding:22px !important;}
  .afp-treasury-stats-v163{grid-template-columns:1fr;}
  .afp-treasury-stat-card-v163{min-height:122px;}
  .afp-treasury-stat-card-v163 strong{font-size:28px;}
  .afp-treasury-context-metrics-v163{flex-direction:column;}
  .afp-treasury-context-metrics-v163 span{min-width:0;}
  .afp-treasury-balance-list-v163 div{align-items:flex-start;flex-direction:column;gap:6px;}
  .afp-treasury-balance-list-v163 strong{text-align:left;}
}


/* v1.5.164 — Dashboard/Painel Inicial: melhoria visual isolada */
.afp-dashboard-view-v164{
  display:flex;
  flex-direction:column;
  gap:20px;
  background:#f8fafc !important;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164{
  position:relative;
  overflow:hidden;
  border:0 !important;
  border-radius:26px !important;
  padding:28px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.24),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#1d4ed8 52%,#06b6d4 100%) !important;
  box-shadow:0 22px 54px rgba(15,23,42,.18) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164::after{
  content:"";
  position:absolute;
  right:-58px;
  bottom:-78px;
  width:235px;
  height:235px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 > *{
  position:relative;
  z-index:1;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 h2,
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 p,
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-muted,
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-module-kicker{
  color:#fff !important;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-module-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
  opacity:.94;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-badge{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-inline-actions{
  position:relative;
  z-index:1;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-btn{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.24) !important;
  box-shadow:0 12px 26px rgba(15,23,42,.14) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-btn.secondary{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.22) !important;
}
.afp-dashboard-context-v164{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:13px 16px;
  border:1px solid rgba(148,163,184,.22);
  border-radius:18px;
  background:linear-gradient(135deg,#f1f5ff 0%,#ffffff 54%,#ecfeff 100%);
  box-shadow:0 12px 28px rgba(15,23,42,.045);
}
.afp-dashboard-context-v164 span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#64748b;
  font-size:13px;
  font-weight:750;
}
.afp-dashboard-context-v164 strong{
  color:#0f172a;
  font-weight:900;
}
.afp-dashboard-top-stats-v164{
  gap:16px !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card{
  position:relative;
  overflow:hidden;
  min-height:136px !important;
  padding:20px !important;
  border:0 !important;
  border-radius:22px !important;
  color:#fff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.12) !important;
  transition:transform .16s ease,box-shadow .16s ease;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 54px rgba(15,23,42,.16) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card::after{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-46px;
  width:135px;
  height:135px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  pointer-events:none;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:nth-child(1){background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:nth-child(2){background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:nth-child(3){background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:nth-child(4){background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card > *{
  position:relative;
  z-index:1;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-icon,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-icon.green,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-icon.blue,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-icon.orange,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-icon.purple{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card .afp-card-label,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card .afp-stat,
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card p{
  color:#fff !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card .afp-card-label{
  text-transform:uppercase;
  letter-spacing:.075em;
  font-size:11px;
  font-weight:900;
  color:rgba(255,255,255,.82) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card .afp-stat{
  font-size:clamp(24px,2.2vw,34px) !important;
  letter-spacing:-.04em;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card p{
  margin-top:7px;
  color:rgba(255,255,255,.78) !important;
  line-height:1.35;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-alert{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(251,191,36,.42) !important;
  border-radius:20px !important;
  background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 58%,#ffffff 100%) !important;
  box-shadow:0 14px 34px rgba(180,83,9,.10) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-alert::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,#f59e0b,#ef4444);
}
.afp-dashboard-view-v164 .afp-dashboard-v2-layout{
  grid-template-columns:minmax(0,2fr) minmax(340px,1fr);
  gap:18px;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-main,
.afp-dashboard-view-v164 .afp-dashboard-v2-side{
  gap:18px;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-financial-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-grants-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-events-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-task-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-agenda-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-shortcuts-card,
.afp-dashboard-view-v164 .afp-dashboard-v2-new-actions{
  border:1px solid rgba(148,163,184,.22) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.065) !important;
}
.afp-dashboard-view-v164 .afp-card-head{
  align-items:flex-start;
  padding-bottom:12px;
  margin-bottom:14px;
  border-bottom:1px solid rgba(226,232,240,.72);
}
.afp-dashboard-view-v164 .afp-card-head h3{
  margin:0;
  color:#0f172a !important;
  letter-spacing:-.02em;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-financial-mini-grid{
  gap:12px;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card{
  border:1px solid rgba(226,232,240,.88) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(15,23,42,.04) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card.revenue{background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%) !important;border-color:#bbf7d0 !important;box-shadow:none !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card.expense{background:linear-gradient(180deg,#ffffff 0%,#fef2f2 100%) !important;border-color:#fecaca !important;box-shadow:none !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card.pending{background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%) !important;border-color:#fed7aa !important;box-shadow:none !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card small{
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:10px;
  font-weight:900;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-mini-card strong{
  font-size:clamp(22px,2.2vw,32px);
  letter-spacing:-.04em;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-balance-row{
  padding:13px 14px;
  border:1px solid rgba(226,232,240,.9);
  border-radius:16px;
  background:#fff;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-balance-bar{
  height:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.afp-dashboard-view-v164 .afp-dashboard-mini-table thead th{
  text-align:center !important;
  background:linear-gradient(180deg,#f8fafc,#eef2ff) !important;
  color:#334155 !important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.afp-dashboard-view-v164 .afp-dashboard-mini-table tbody td{
  vertical-align:middle;
}
.afp-dashboard-view-v164 .afp-dashboard-mini-table tbody td:not(:first-child){
  text-align:center;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-event-item,
.afp-dashboard-view-v164 .afp-dashboard-v2-task-item,
.afp-dashboard-view-v164 .afp-dashboard-v2-agenda-item{
  border:1px solid rgba(226,232,240,.86) !important;
  border-radius:16px;
  padding:12px !important;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.035);
}
.afp-dashboard-view-v164 .afp-dashboard-v2-event-item:first-child,
.afp-dashboard-view-v164 .afp-dashboard-v2-agenda-item:first-child{
  border-top:1px solid rgba(226,232,240,.86) !important;
  padding-top:12px !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-date-chip{
  border:0 !important;
  background:linear-gradient(135deg,#eff6ff,#dbeafe) !important;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.10);
}
.afp-dashboard-view-v164 .afp-dashboard-v2-date-chip strong{color:#1d4ed8 !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-date-chip span{color:#2563eb !important;}
.afp-dashboard-view-v164 .afp-dashboard-v2-task-check{
  border-color:#93c5fd !important;
  background:linear-gradient(135deg,#eff6ff,#ffffff) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-agenda-item{
  appearance:none;
  width:100%;
  border-top:1px solid rgba(226,232,240,.86) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-shortcut{
  border:1px solid rgba(226,232,240,.9) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  box-shadow:0 10px 22px rgba(15,23,42,.04) !important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.afp-dashboard-view-v164 .afp-dashboard-shortcut:hover:not(:disabled){
  transform:translateY(-1px);
  border-color:#bfdbfe !important;
  box-shadow:0 16px 32px rgba(37,99,235,.10) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-shortcut span{
  background:linear-gradient(135deg,#2563eb,#06b6d4) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(37,99,235,.16);
}
.afp-dashboard-view-v164 .afp-dashboard-v2-new-actions{
  padding:0 18px !important;
  border-style:solid !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-new-actions > summary{
  color:#0f172a;
}
@media(max-width:1100px){
  .afp-dashboard-view-v164 .afp-dashboard-v2-layout{grid-template-columns:1fr;}
  .afp-dashboard-view-v164 .afp-dashboard-top-stats-v164{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:820px){
  .afp-dashboard-view-v164 .afp-dashboard-hero-v164{padding:22px 18px !important;}
  .afp-dashboard-view-v164 .afp-dashboard-hero-v164 .afp-inline-actions{width:100%;display:grid;grid-template-columns:1fr;}
  .afp-dashboard-view-v164 .afp-dashboard-context-v164{align-items:flex-start;justify-content:flex-start;}
  .afp-dashboard-view-v164 .afp-dashboard-top-stats-v164,
  .afp-dashboard-view-v164 .afp-dashboard-v2-financial-mini-grid,
  .afp-dashboard-view-v164 .afp-dashboard-v2-shortcuts-grid{grid-template-columns:1fr !important;}
  .afp-dashboard-view-v164 .afp-dashboard-v2-event-item{grid-template-columns:64px 1fr;}
  .afp-dashboard-view-v164 .afp-dashboard-v2-event-meta{grid-column:1 / -1;align-items:flex-start;}
  .afp-dashboard-view-v164 .afp-dashboard-v2-task-item{grid-template-columns:18px 1fr;}
  .afp-dashboard-view-v164 .afp-dashboard-v2-task-item .afp-status{grid-column:2;justify-self:flex-start;}
}

/* v1.5.165 — Dashboard: alinhamento KPI e menu lateral desktop sem scroll interno */
@media (min-width:1101px){
  #afp-root.afp-app{
    --afp-outer-gap:clamp(8px,1vw,14px) !important;
    --afp-desktop-sidebar-width:280px !important;
  }
  #afp-root.afp-app .afp-shell{
    grid-template-columns:var(--afp-desktop-sidebar-width) minmax(0,1fr) !important;
    align-items:start !important;
    min-height:auto !important;
    overflow:visible !important;
  }
  #afp-root.afp-app .afp-sidebar{
    position:relative !important;
    top:auto !important;
    align-self:start !important;
    width:var(--afp-desktop-sidebar-width) !important;
    height:auto !important;
    min-height:calc(100vh - (var(--afp-outer-gap) * 2)) !important;
    max-height:none !important;
    padding:12px 12px !important;
    overflow:visible !important;
  }
  #afp-root.afp-app .afp-sidebar > div:first-child{
    flex:0 0 auto !important;
    min-height:0 !important;
  }
  #afp-root.afp-app .afp-product-brand{
    min-height:70px !important;
    margin-bottom:8px !important;
    padding:7px 8px !important;
    border-radius:18px !important;
  }
  #afp-root.afp-app .afp-product-logo{
    max-width:150px !important;
    max-height:58px !important;
  }
  #afp-root.afp-app .afp-product-logo-fallback{
    font-size:18px !important;
  }
  #afp-root.afp-app .afp-brand-wrap{
    gap:8px !important;
    margin-bottom:8px !important;
    padding:8px !important;
    border-radius:16px !important;
  }
  #afp-root.afp-app .afp-header-logo,
  #afp-root.afp-app .afp-header-logo-placeholder{
    width:36px !important;
    height:36px !important;
    border-radius:12px !important;
    flex:0 0 36px !important;
  }
  #afp-root.afp-app .afp-brand-wrap .afp-brand,
  #afp-root.afp-app .afp-brand{
    font-size:12px !important;
    line-height:1.18 !important;
  }
  #afp-root.afp-app .afp-brand-sub{
    margin-top:2px !important;
    font-size:10px !important;
  }
  #afp-root.afp-app .afp-userbox{
    margin-bottom:8px !important;
    padding:8px 9px !important;
    border-radius:14px !important;
    font-size:10.5px !important;
    line-height:1.24 !important;
  }
  #afp-root.afp-app .afp-menu,
  #afp-root.afp-app .afp-menu-adaptive,
  #afp-root.afp-app .afp-menu-user-configurable{
    flex:0 0 auto !important;
    gap:3px !important;
    padding:0 !important;
    max-height:none !important;
    overflow:visible !important;
    scrollbar-width:none !important;
  }
  #afp-root.afp-app .afp-menu::-webkit-scrollbar{
    display:none !important;
  }
  #afp-root.afp-app .afp-menu a,
  #afp-root.afp-app .afp-menu-adaptive > a{
    min-height:30px !important;
    padding:5px 8px !important;
    gap:8px !important;
    border-radius:11px !important;
    font-size:11.5px !important;
    line-height:1.05 !important;
  }
  #afp-root.afp-app .afp-menu-icon{
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
    border-radius:8px !important;
    font-size:12px !important;
  }
  #afp-root.afp-app .afp-sidebar-footer{
    gap:6px !important;
    margin-top:8px !important;
    padding-top:8px !important;
  }
  #afp-root.afp-app .afp-account-summary{
    padding:6px 8px !important;
    border-radius:12px !important;
    font-size:10.5px !important;
  }
  #afp-root.afp-app .afp-badge.afp-badge-header,
  #afp-root.afp-app .afp-plan-name{
    font-size:10px !important;
  }
  #afp-root.afp-app .afp-header-logout{
    min-height:32px !important;
    padding:7px 10px !important;
    font-size:11.5px !important;
  }
  #afp-root.afp-app .afp-main{
    overflow:visible !important;
  }
}

.afp-dashboard-view-v164 .afp-dashboard-top-stats-v164{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card{
  display:grid !important;
  grid-template-columns:54px minmax(0,1fr) !important;
  align-items:center !important;
  height:100% !important;
  min-width:0 !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card > div:not(.afp-dashboard-v2-stat-icon){
  min-width:0 !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card .afp-stat{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  font-size:clamp(23px,1.85vw,32px) !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card p{
  min-height:34px !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
}
.afp-dashboard-view-v164 .afp-dashboard-v2-stat-card:first-child{
  align-self:stretch !important;
}
@media(max-width:1100px){
  .afp-dashboard-view-v164 .afp-dashboard-top-stats-v164{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:820px){
  .afp-dashboard-view-v164 .afp-dashboard-top-stats-v164{
    grid-template-columns:1fr !important;
  }
}

/* v1.5.166 — Bilheteira pública: confirmação e email de pagamento corrigidos no backend/inline portal. */

/* v1.5.168 — Mecanismo de utilização alinhado com OficinaPlus
   Objetivo: manter as cores do AssociaPlus e aproximar a experiência de uso:
   menu lateral desktop permanente, ações rápidas claras, listagem primeiro,
   formulários recolhidos por defeito, botões consistentes e modais/painéis mais limpos. */

#afp-root.afp-app{
  --afp-action-blue:#2563eb;
  --afp-action-cyan:#06b6d4;
  --afp-success:#16a34a;
  --afp-warning:#f59e0b;
  --afp-danger:#dc2626;
  --afp-panel-border:rgba(226,232,240,.92);
  --afp-panel-shadow:0 16px 36px rgba(15,23,42,.07);
}

/* Shell desktop: mecanismo igual ao pretendido — menu lateral sempre presente, conteúdo principal livre. */
@media (min-width:1101px){
  #afp-root.afp-app .afp-shell{
    display:grid !important;
    grid-template-columns:minmax(260px,276px) minmax(0,1fr) !important;
    gap:clamp(14px,1.35vw,22px) !important;
    align-items:start !important;
    max-width:none !important;
    overflow:visible !important;
  }
  #afp-root.afp-app .afp-sidebar{
    position:sticky !important;
    top:10px !important;
    height:auto !important;
    min-height:calc(100vh - 20px) !important;
    max-height:none !important;
    overflow:visible !important;
    border-radius:24px !important;
    box-shadow:0 18px 44px rgba(15,23,42,.12) !important;
  }
  #afp-root.afp-app .afp-sidebar > div:first-child,
  #afp-root.afp-app .afp-menu,
  #afp-root.afp-app .afp-menu-adaptive,
  #afp-root.afp-app .afp-menu-user-configurable{
    max-height:none !important;
    overflow:visible !important;
  }
  #afp-root.afp-app .afp-menu{
    gap:4px !important;
  }
  #afp-root.afp-app .afp-menu a{
    min-height:32px !important;
    padding:6px 9px !important;
    font-size:12px !important;
    border-radius:12px !important;
  }
  #afp-root.afp-app .afp-main{
    min-width:0 !important;
    overflow:visible !important;
  }
}

/* Menus e navegação interna: tabs com aspeto de app, legíveis e clicáveis. */
#afp-root.afp-app .afp-module-tabs,
#afp-root.afp-app .afp-event-tabs,
#afp-root.afp-app .afp-ticketing-tabs,
#afp-root.afp-app .afp-modalities-tabs,
#afp-root.afp-app .afp-report-tabs{
  background:rgba(255,255,255,.78) !important;
  border:1px solid var(--afp-panel-border) !important;
  border-radius:20px !important;
  padding:8px !important;
  box-shadow:0 10px 26px rgba(15,23,42,.045) !important;
  backdrop-filter:blur(10px);
}
#afp-root.afp-app .afp-module-tab,
#afp-root.afp-app .afp-event-tab,
#afp-root.afp-app .afp-ticketing-tab,
#afp-root.afp-app .afp-report-tab{
  border-radius:15px !important;
  min-height:42px !important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
#afp-root.afp-app .afp-module-tab:hover,
#afp-root.afp-app .afp-event-tab:hover,
#afp-root.afp-app .afp-ticketing-tab:hover,
#afp-root.afp-app .afp-report-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(37,99,235,.08) !important;
}

/* Ações rápidas: fica claro onde se cria cada registo, sem obrigar a procurar formulários no meio da página. */
#afp-root.afp-app .afp-page-create-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(236,254,255,.92)) !important;
  border:1px solid rgba(191,219,254,.95) !important;
  border-radius:22px !important;
  padding:14px 16px !important;
  margin:14px 0 18px !important;
  box-shadow:0 14px 30px rgba(37,99,235,.08) !important;
}
#afp-root.afp-app .afp-page-create-actions-empty{display:none !important;}
#afp-root.afp-app .afp-page-create-actions-copy{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  min-width:0 !important;
}
#afp-root.afp-app .afp-page-create-actions-copy strong{
  color:#0f172a !important;
  font-size:14px !important;
}
#afp-root.afp-app .afp-page-create-actions-copy span{
  color:#64748b !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
#afp-root.afp-app .afp-page-create-actions-buttons{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-end !important;
}
#afp-root.afp-app .afp-page-create-btn{
  position:relative !important;
  min-height:38px !important;
  padding:10px 15px 10px 38px !important;
  border-radius:14px !important;
  box-shadow:0 12px 24px rgba(37,99,235,.16) !important;
  white-space:nowrap !important;
}
#afp-root.afp-app .afp-page-create-btn::before{
  content:'+';
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  font-weight:900;
}

/* Formulários de criação/edição: aparecem como painel próprio, com cabeçalho e ação de fecho claros. */
#afp-root.afp-app .afp-form-card{
  border:1px solid rgba(191,219,254,.9) !important;
  border-radius:24px !important;
  box-shadow:0 18px 42px rgba(37,99,235,.10) !important;
  overflow:hidden !important;
}
#afp-root.afp-app .afp-form-card-hidden{display:none !important;}
#afp-root.afp-app .afp-form-card-toolbar,
#afp-root.afp-app .afp-list-first-inline-toolbar{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin:-24px -24px 20px !important;
  padding:16px 20px !important;
  background:linear-gradient(135deg,#0f172a,#1d4ed8 58%,#06b6d4) !important;
  color:#fff !important;
}
#afp-root.afp-app .afp-form-card-toolbar strong,
#afp-root.afp-app .afp-list-first-inline-toolbar strong{
  display:block !important;
  font-size:16px !important;
  color:#fff !important;
}
#afp-root.afp-app .afp-form-card-toolbar span,
#afp-root.afp-app .afp-list-first-inline-toolbar span{
  display:block !important;
  margin-top:2px !important;
  color:rgba(255,255,255,.78) !important;
  font-size:12px !important;
}
#afp-root.afp-app .afp-form-card-toolbar .afp-btn.secondary,
#afp-root.afp-app .afp-list-first-inline-toolbar .afp-btn.secondary{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
}

/* Botões: mais parecidos com uma aplicação SaaS, mantendo azul/ciano do AssociaPlus. */
#afp-root.afp-app .afp-btn{
  border:0 !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,var(--afp-action-blue),var(--afp-action-cyan)) !important;
  box-shadow:0 10px 22px rgba(37,99,235,.16) !important;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
#afp-root.afp-app .afp-btn:hover:not(:disabled){
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(37,99,235,.22) !important;
  filter:saturate(1.04);
}
#afp-root.afp-app .afp-btn.secondary{
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid var(--afp-panel-border) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.055) !important;
}
#afp-root.afp-app .afp-btn.danger,
#afp-root.afp-app button.danger{
  background:linear-gradient(135deg,#dc2626,#f97316) !important;
  color:#fff !important;
}
#afp-root.afp-app .afp-link-btn{
  border-radius:999px !important;
  padding:5px 9px !important;
}

/* Campos: cartões/formulários mais claros e consistentes. */
#afp-root.afp-app .afp-field label{
  font-size:12px !important;
  font-weight:800 !important;
  color:#334155 !important;
  margin-bottom:6px !important;
}
#afp-root.afp-app input,
#afp-root.afp-app select,
#afp-root.afp-app textarea{
  border:1px solid #dbe4f0 !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.02) !important;
  transition:border-color .15s ease, box-shadow .15s ease !important;
}
#afp-root.afp-app input:focus,
#afp-root.afp-app select:focus,
#afp-root.afp-app textarea:focus{
  outline:none !important;
  border-color:#60a5fa !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.10) !important;
}

/* Cartões, tabelas e listagens: reforço do padrão que já vinha a ser aplicado. */
#afp-root.afp-app .afp-card{
  border:1px solid rgba(226,232,240,.82) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.055) !important;
}
#afp-root.afp-app .afp-card:hover{
  box-shadow:0 16px 34px rgba(15,23,42,.075) !important;
}
#afp-root.afp-app .afp-table-wrap{
  border:1px solid rgba(226,232,240,.86) !important;
  border-radius:18px !important;
  overflow:auto !important;
  background:#fff !important;
}
#afp-root.afp-app table thead th{
  background:linear-gradient(180deg,#f8fafc,#eef4ff) !important;
  color:#0f172a !important;
  font-weight:800 !important;
  text-align:center !important;
  vertical-align:middle !important;
}
#afp-root.afp-app table tbody tr{
  transition:background .15s ease, transform .15s ease !important;
}
#afp-root.afp-app table tbody tr:hover{
  background:#f8fbff !important;
}

/* Modais: uso mais limpo, com cabeçalho fixo e aparência próxima da app de oficinas. */
#afp-root.afp-app .afp-modal{
  background:rgba(15,23,42,.52) !important;
  backdrop-filter:blur(7px) !important;
}
#afp-root.afp-app .afp-modal-box,
#afp-root.afp-app .afp-modal-content{
  border:1px solid rgba(226,232,240,.88) !important;
  border-radius:26px !important;
  box-shadow:0 26px 80px rgba(15,23,42,.28) !important;
}
#afp-root.afp-app .afp-modal-header{
  border-bottom:1px solid rgba(226,232,240,.80) !important;
  margin-bottom:18px !important;
  padding-bottom:14px !important;
}
#afp-root.afp-app .afp-modal-header h3{
  margin:0 !important;
  color:#0f172a !important;
}
#afp-root.afp-app .afp-icon-btn{
  display:inline-grid !important;
  place-items:center !important;
  color:#0f172a !important;
  background:#eef4ff !important;
  border:1px solid rgba(191,219,254,.92) !important;
  transition:transform .15s ease, background .15s ease !important;
}
#afp-root.afp-app .afp-icon-btn:hover{
  transform:scale(1.04);
  background:#dbeafe !important;
}

/* Indicadores/estados: melhorar leitura sem alterar lógica. */
#afp-root.afp-app .afp-status,
#afp-root.afp-app .afp-badge{
  border-radius:999px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}

/* Responsivo: ações rápidas passam a coluna, sem esmagar botões. */
@media(max-width:820px){
  #afp-root.afp-app .afp-page-create-actions{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  #afp-root.afp-app .afp-page-create-actions-buttons{
    justify-content:stretch !important;
  }
  #afp-root.afp-app .afp-page-create-btn,
  #afp-root.afp-app .afp-page-create-actions-buttons .afp-btn{
    width:100% !important;
    justify-content:center !important;
  }
  #afp-root.afp-app .afp-form-card-toolbar,
  #afp-root.afp-app .afp-list-first-inline-toolbar{
    flex-direction:column !important;
    align-items:stretch !important;
  }
}

/* v1.5.169 — Paridade real com OficinaPlus: formulários em modal + responsividade
   Mantém as cores AssociaPlus; altera apenas comportamento visual/UX. */
:root{
  --afp-oficina-sidebar-width: 258px;
  --afp-oficina-modal-max: 860px;
  --afp-oficina-modal-large: 1080px;
}
body.afp-oficinaplus-modal-open{overflow:hidden!important;}

/* Desktop: menu lateral fixo, sempre aberto, sem scroll interno. */
@media (min-width:901px){
  #afp-root.afp-app .afp-shell{
    display:flex!important;
    min-height:100vh!important;
    background:#f5f7fb!important;
  }
  #afp-root.afp-app .afp-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:var(--afp-oficina-sidebar-width)!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:100vh!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    gap:8px!important;
    overflow:visible!important;
    padding:12px 11px!important;
    z-index:90!important;
    border-radius:0!important;
  }
  #afp-root.afp-app .afp-sidebar>div:first-child{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    gap:7px!important;
  }
  #afp-root.afp-app .afp-product-brand{
    min-height:auto!important;
    padding:4px 4px 2px!important;
    margin:0!important;
  }
  #afp-root.afp-app .afp-product-logo{
    max-height:32px!important;
    width:auto!important;
  }
  #afp-root.afp-app .afp-brand-wrap{
    min-height:auto!important;
    padding:8px 9px!important;
    gap:9px!important;
    border-radius:14px!important;
  }
  #afp-root.afp-app .afp-header-logo,
  #afp-root.afp-app .afp-header-logo-placeholder{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }
  #afp-root.afp-app .afp-brand{
    font-size:12px!important;
    line-height:1.18!important;
  }
  #afp-root.afp-app .afp-brand-sub{
    font-size:10px!important;
    margin-top:1px!important;
  }
  #afp-root.afp-app .afp-userbox{
    padding:7px 9px!important;
    border-radius:13px!important;
    font-size:10px!important;
    line-height:1.24!important;
    margin:0!important;
  }
  #afp-root.afp-app .afp-userbox strong{font-size:11px!important;}
  #afp-root.afp-app .afp-menu,
  #afp-root.afp-app .afp-menu-adaptive,
  #afp-root.afp-app .afp-menu-user-configurable{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:3px!important;
    overflow:visible!important;
    max-height:none!important;
    padding:3px 0!important;
    margin:0!important;
    scrollbar-width:none!important;
  }
  #afp-root.afp-app .afp-menu::-webkit-scrollbar{display:none!important;}
  #afp-root.afp-app .afp-menu a,
  #afp-root.afp-app .afp-menu-more>summary{
    min-height:28px!important;
    padding:6px 8px!important;
    border-radius:10px!important;
    font-size:11px!important;
    line-height:1.15!important;
    gap:7px!important;
    white-space:nowrap!important;
  }
  #afp-root.afp-app .afp-menu-icon{
    width:21px!important;
    min-width:21px!important;
    height:21px!important;
    border-radius:7px!important;
    font-size:11px!important;
  }
  #afp-root.afp-app .afp-sidebar-footer,
  #afp-root.afp-app .afp-global-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    flex:0 0 auto!important;
    padding:8px 0 0!important;
    margin:0!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    overflow:visible!important;
  }
  #afp-root.afp-app .afp-account-summary{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    font-size:10px!important;
  }
  #afp-root.afp-app .afp-sidebar-footer .afp-btn,
  #afp-root.afp-app .afp-sidebar-footer .afp-install-app-btn{
    min-height:28px!important;
    padding:6px 9px!important;
    border-radius:10px!important;
    font-size:11px!important;
    justify-content:center!important;
  }
  #afp-root.afp-app .afp-main{
    margin-left:var(--afp-oficina-sidebar-width)!important;
    width:calc(100% - var(--afp-oficina-sidebar-width))!important;
    min-width:0!important;
    padding:22px clamp(16px,2.2vw,34px)!important;
  }
}

/* Botão mobile/tablet para menu off-canvas, à semelhança do OficinaPlus. */
#afp-root.afp-app .afp-mobile-menu-toggle,
#afp-root.afp-app .afp-mobile-menu-backdrop{display:none;}

@media (max-width:900px){
  #afp-root.afp-app .afp-shell{
    display:block!important;
    min-height:100vh!important;
    background:#f5f7fb!important;
  }
  #afp-root.afp-app .afp-mobile-menu-toggle{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    top:12px!important;
    left:12px!important;
    width:42px!important;
    height:42px!important;
    z-index:120!important;
    border:1px solid rgba(191,219,254,.9)!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#0f172a!important;
    box-shadow:0 14px 32px rgba(15,23,42,.16)!important;
    font-size:22px!important;
    font-weight:900!important;
  }
  #afp-root.afp-app .afp-mobile-menu-backdrop{
    display:none!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(15,23,42,.52)!important;
    backdrop-filter:blur(4px)!important;
    z-index:100!important;
  }
  #afp-root.afp-app .afp-shell.afp-mobile-menu-open .afp-mobile-menu-backdrop{display:block!important;}
  #afp-root.afp-app .afp-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(292px,86vw)!important;
    height:100vh!important;
    max-height:100vh!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    z-index:110!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    overflow:auto!important;
    padding:15px 12px!important;
    border-radius:0 24px 24px 0!important;
  }
  #afp-root.afp-app .afp-shell.afp-mobile-menu-open .afp-sidebar{transform:translateX(0)!important;}
  #afp-root.afp-app .afp-main{
    margin-left:0!important;
    width:100%!important;
    min-width:0!important;
    padding:66px 12px 18px!important;
  }
  #afp-root.afp-app .afp-menu,
  #afp-root.afp-app .afp-menu-adaptive,
  #afp-root.afp-app .afp-menu-user-configurable{
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    overflow:visible!important;
    padding:10px 0!important;
  }
  #afp-root.afp-app .afp-menu a{
    min-height:39px!important;
    padding:10px 12px!important;
    border-radius:13px!important;
    font-size:13px!important;
  }
  #afp-root.afp-app .afp-sidebar-footer{
    display:grid!important;
    gap:8px!important;
  }
}

/* Modais de criação/edição gerados a partir dos formulários que antes ficavam na página. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  position:fixed!important;
  inset:0!important;
  z-index:10020!important;
  width:auto!important;
  max-width:none!important;
  max-height:none!important;
  height:auto!important;
  margin:0!important;
  padding:clamp(10px,2vw,24px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-shadow:none!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar{
  width:min(var(--afp-oficina-modal-max),96vw)!important;
  margin:0!important;
  border-radius:24px 24px 0 0!important;
  padding:18px 22px!important;
  flex:0 0 auto!important;
  box-shadow:0 18px 48px rgba(15,23,42,.22)!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-max),96vw)!important;
  max-height:calc(100vh - 128px)!important;
  overflow:auto!important;
  margin:0!important;
  padding:22px!important;
  background:#fff!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 24px 24px!important;
  box-shadow:0 24px 80px rgba(15,23,42,.26)!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar+form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar+form{border-top:0!important;}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-card-head:first-child{
  margin-top:0!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child{
  position:sticky!important;
  bottom:-22px!important;
  margin:20px -22px -22px!important;
  padding:14px 22px!important;
  background:#fff!important;
  border-top:1px solid rgba(226,232,240,.9)!important;
  justify-content:flex-end!important;
  z-index:2!important;
}
#afp-root.afp-app .afp-form-card-hidden{display:none!important;}

/* Janelas maiores para formulários naturalmente extensos. */
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-event-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-event-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-rental-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-rental-form):not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-large),96vw)!important;
}

/* Grelhas e tabelas com comportamento tipo OficinaPlus em tablets/telemóveis. */
@media (max-width:1180px){
  #afp-root.afp-app .afp-grid,
  #afp-root.afp-app .afp-grid-4,
  #afp-root.afp-app .afp-dashboard-grid,
  #afp-root.afp-app .afp-report-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  #afp-root.afp-app .afp-grid,
  #afp-root.afp-app .afp-grid-2,
  #afp-root.afp-app .afp-grid-3,
  #afp-root.afp-app .afp-grid-4,
  #afp-root.afp-app .afp-dashboard-grid,
  #afp-root.afp-app .afp-report-grid,
  #afp-root.afp-app .afp-form-grid{
    grid-template-columns:1fr!important;
  }
  #afp-root.afp-app .afp-span-2,
  #afp-root.afp-app .afp-span-3{
    grid-column:auto!important;
  }
  #afp-root.afp-app .afp-section-header,
  #afp-root.afp-app .afp-module-hero,
  #afp-root.afp-app .afp-page-create-actions,
  #afp-root.afp-app .afp-card-head,
  #afp-root.afp-app .afp-inline-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-inline-actions .afp-btn,
  #afp-root.afp-app .afp-inline-actions button,
  #afp-root.afp-app .afp-card-head .afp-btn{
    width:100%!important;
    justify-content:center!important;
  }
  #afp-root.afp-app .afp-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #afp-root.afp-app .afp-table{
    min-width:720px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
    justify-content:flex-start!important;
    padding:8px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar{
    width:100%!important;
    border-radius:18px 18px 0 0!important;
    padding:15px!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
    width:100%!important;
    max-height:calc(100vh - 98px)!important;
    border-radius:0 0 18px 18px!important;
    padding:16px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child{
    bottom:-16px!important;
    margin:18px -16px -16px!important;
    padding:12px 16px!important;
  }
}

/* v1.5.170 — Ajuste das janelas modais ao padrão pedido
   - Banner superior mantém-se.
   - Remove o cartão/retângulo interno redundante do título do formulário.
   - Todas as janelas usam a largura base do formulário de novo movimento.
   - Remove scroll interno dos formulários/janelas; o scroll fica apenas no contentor principal. */
:root{
  --afp-oficina-modal-max: 1320px;
  --afp-oficina-modal-large: 1320px;
}
body.afp-oficinaplus-modal-open{
  overflow:auto!important;
}
#afp-root.afp-app .afp-main{
  position:relative!important;
}

/* Modais gerados pelo mecanismo estilo OficinaPlus */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  align-items:center!important;
  justify-content:flex-start!important;
  padding:clamp(14px,2vw,28px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-height:100vh!important;
  height:auto!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar{
  width:min(var(--afp-oficina-modal-large),96vw)!important;
  max-width:min(var(--afp-oficina-modal-large),96vw)!important;
  margin:0!important;
  border-radius:26px 26px 0 0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-bottom:0!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar strong,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar strong,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar span,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar span{
  color:#fff!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar .afp-btn.secondary,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar .afp-btn.secondary{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:none!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-large),96vw)!important;
  max-width:min(var(--afp-oficina-modal-large),96vw)!important;
  max-height:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin:0 0 28px!important;
  padding:28px!important;
  border-radius:0 0 26px 26px!important;
}

/* Remove o cartão central redundante com o título, mantendo o banner superior como cabeçalho único. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-card-head:first-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-card-head:first-child,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-module-hero:first-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-module-hero:first-child{
  display:none!important;
}

/* O rodapé deixa de ser sticky para não criar uma segunda área fixa dentro da janela. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child{
  position:static!important;
  bottom:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border-top:0!important;
  justify-content:flex-end!important;
}

/* Modais nativos: mesma largura e sem scroll interno em caixas/conteúdo. */
#afp-root.afp-app .afp-modal,
#afp-root.afp-app .afp-modal-backdrop{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-items:flex-start!important;
}
#afp-root.afp-app .afp-modal-box,
#afp-root.afp-app .afp-modal-content,
#afp-root.afp-app .afp-task-modal-box,
#afp-root.afp-app .afp-bank-manual-modal-box,
#afp-root.afp-app .afp-grant-detail-modal-box{
  width:min(var(--afp-oficina-modal-large),96vw)!important;
  max-width:min(var(--afp-oficina-modal-large),96vw)!important;
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
#afp-root.afp-app .afp-modal-header{
  position:static!important;
  top:auto!important;
}

@media (max-width:760px){
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
    padding:8px!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
    width:100%!important;
    max-width:100%!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
    padding:16px!important;
    margin-bottom:16px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child{
    margin:18px 0 0!important;
    padding:0!important;
  }
}

/* v1.5.171 — Correção real dos modais
   - Remove o cabeçalho/cartão intermédio que ainda aparecia dentro da janela.
   - O modal passa a ser apenas: banner superior + formulário.
   - O fundo/overlay acompanha a altura real do formulário.
   - Sem scroll interno na janela/modal/formulário; quando o conteúdo for maior, usa-se o scroll principal da página. */
body.afp-oficinaplus-modal-open{
  overflow:auto!important;
}
#afp-root.afp-app .afp-main{
  position:relative!important;
  min-height:100vh!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  position:absolute!important;
  inset:auto!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  z-index:10020!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(14px,2vw,28px) 0 36px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-shadow:none!important;
}

/* Banner único no topo da janela */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar{
  width:min(var(--afp-oficina-modal-large,1320px),96vw)!important;
  max-width:min(var(--afp-oficina-modal-large,1320px),96vw)!important;
  margin:0!important;
  padding:18px 28px!important;
  min-height:84px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:0 0 auto!important;
  border-radius:26px 26px 0 0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.25)!important;
  position:static!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar strong,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.1!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar span,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.86)!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar .afp-btn.secondary,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar .afp-btn.secondary{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

/* Remove, de forma explícita, o retângulo/cartão intermédio que estava a duplicar o título do formulário. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) .afp-modal-redundant-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-modal-redundant-header{
  display:none!important;
}

/* Formulário acompanha o conteúdo, sem max-height nem scroll interno. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-large,1320px),96vw)!important;
  max-width:min(var(--afp-oficina-modal-large,1320px),96vw)!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:28px!important;
  display:block!important;
  overflow:visible!important;
  overflow-y:visible!important;
  overflow-x:visible!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  position:static!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form *,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form *{
  max-height:none!important;
}

/* Em formulários financeiros, elimina o rodapé flutuante/sticky e deixa os botões no fim natural do formulário. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) #afp-finance-movement-form .afp-finance-form-actions,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child{
  position:static!important;
  inset:auto!important;
  bottom:auto!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}

/* Modais nativos da aplicação: sem scroll interno na caixa/conteúdo. */
#afp-root.afp-app .afp-modal,
#afp-root.afp-app .afp-modal-backdrop{
  overflow:visible!important;
  max-height:none!important;
}
#afp-root.afp-app .afp-modal-box,
#afp-root.afp-app .afp-modal-content,
#afp-root.afp-app .afp-task-modal-box,
#afp-root.afp-app .afp-bank-manual-modal-box,
#afp-root.afp-app .afp-grant-detail-modal-box{
  max-height:none!important;
  height:auto!important;
  overflow:visible!important;
}
#afp-root.afp-app .afp-modal-header{
  position:static!important;
  top:auto!important;
}

@media (max-width:760px){
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
    padding:8px 0 18px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar{
    min-height:auto!important;
    padding:15px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    border-radius:18px 18px 0 0!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
    padding:16px!important;
    border-radius:0 0 18px 18px!important;
  }
}

/* v1.5.173 — Ajuste de largura das janelas modais
   A modal passa a respeitar a área útil do ecrã/app, especialmente em desktop com menu lateral fixo.
   O objetivo é evitar que a janela fique larga demais e esconda campos na lateral. */
:root{
  --afp-oficina-modal-large: 1180px;
  --afp-oficina-modal-max: 980px;
  --afp-modal-safe-gap: clamp(16px, 2.2vw, 34px);
}

#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  box-sizing:border-box!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  padding-left:var(--afp-modal-safe-gap)!important;
  padding-right:var(--afp-modal-safe-gap)!important;
  align-items:center!important;
}

#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
  box-sizing:border-box!important;
  width:min(var(--afp-oficina-modal-max,980px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  max-width:min(var(--afp-oficina-modal-max,980px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  min-width:0!important;
}

/* Formulários naturalmente largos, como o novo movimento financeiro, têm mais largura,
   mas nunca ultrapassam a área útil disponível da aplicação. */
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-event-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-event-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-rental-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-rental-form):not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  max-width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
}

/* Evita que o layout interno do formulário financeiro force a janela para fora do ecrã. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) #afp-finance-movement-form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) #afp-finance-movement-form *{
  box-sizing:border-box!important;
  min-width:0!important;
}
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) #afp-finance-movement-form .afp-finance-form-layout{
  grid-template-columns:minmax(0,1fr) minmax(260px,300px)!important;
  gap:18px!important;
}

@media (max-width:1280px){
  :root{
    --afp-oficina-modal-large: 1060px;
    --afp-oficina-modal-max: 920px;
  }
}

@media (max-width:1040px){
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) #afp-finance-movement-form .afp-finance-form-layout{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:760px){
  :root{
    --afp-modal-safe-gap: 8px;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
  }
}

/* v1.5.174 — Uniformização global das janelas modais
   Replicar em todos os módulos a lógica aprovada no formulário de novo movimento:
   banner azul no topo, formulário/conteúdo logo abaixo, sem cartão intermédio,
   largura ajustada à área útil e sem scroll interno da janela. */
:root{
  --afp-oficina-modal-large: 1180px;
  --afp-oficina-modal-max: 1180px;
  --afp-modal-safe-gap: clamp(16px, 2.2vw, 34px);
}

/* List-first forms: todos os formulários convertidos em janela usam a mesma largura do movimento financeiro. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form{
  width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  max-width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Overlay dos formulários convertidos: a área escura é só a camada exterior; o fundo branco acompanha o formulário. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  padding:clamp(14px,2vw,28px) var(--afp-modal-safe-gap) 36px!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:rgba(15,23,42,.56)!important;
}

/* Garante que nenhum cabeçalho interno/card duplicado fica entre o banner e o formulário. */
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) .afp-modal-redundant-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-modal-redundant-header{
  display:none!important;
}

/* Modais nativos da aplicação — utilizadores, tarefas, receitas/despesas antigas e outros diálogos. */
#afp-root.afp-app .afp-modal:not(.hidden),
#afp-root.afp-app .afp-modal-backdrop:not(.hidden){
  position:fixed!important;
  inset:0!important;
  z-index:10020!important;
  width:100%!important;
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(14px,2vw,28px) var(--afp-modal-safe-gap) 36px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-modal:not(.hidden)>.afp-modal-box,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden)>.afp-modal,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-box,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-bank-manual-modal-box,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box{
  width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  max-width:min(var(--afp-oficina-modal-large,1180px), calc(100% - (var(--afp-modal-safe-gap) * 2)))!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  display:block!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Banner único em todos os modais nativos. */
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-modal-header,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-detail-header,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header{
  width:100%!important;
  max-width:100%!important;
  min-height:84px!important;
  margin:0!important;
  padding:18px 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  position:static!important;
  top:auto!important;
  border-radius:26px 26px 0 0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.25)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-header h2,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-header h3,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-header h4,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-header h2,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-header h3,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header h2,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header h3{
  margin:0!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.15!important;
}
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-header .afp-muted,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-header .afp-muted,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-header .afp-grant-detail-meta,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header .afp-muted{
  color:rgba(255,255,255,.86)!important;
}
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-header .afp-icon-btn,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-header .afp-icon-btn,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header .afp-icon-btn{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:none!important;
}

/* Conteúdo diretamente a seguir ao banner. O fundo branco passa a ter exatamente a largura/altura do conteúdo. */
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>form,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-modal-content,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-settings-panel,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-card,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-task-modal-box>form,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162>form,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-financial-overview,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-detail-body,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-content{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:28px!important;
  display:block!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  box-sizing:border-box!important;
}

/* Quando o detalhe de candidatura tem vários blocos, eles ficam num só fundo branco abaixo do banner. */
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-financial-overview{
  border-radius:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
#afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-detail-body{
  border-top:0!important;
}

/* Remove scrolls internos herdados em caixas, permissões, tabelas de modal e painéis internos. */
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box *,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal *{
  max-height:none!important;
  box-sizing:border-box!important;
}
#afp-root.afp-app .afp-modal:not(.hidden) .afp-permissions-scroll,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-table-wrap,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-content,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-settings-panel,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-content{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  max-height:none!important;
}

/* Botões sempre no fim natural do formulário, sem barra sticky/flutuante. */
#afp-root.afp-app .afp-modal:not(.hidden) form>.afp-inline-actions:last-child,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-task-modal-actions,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-event-form-actions,
#afp-root.afp-app .afp-modal-backdrop:not(.hidden) form>.afp-inline-actions:last-child{
  position:static!important;
  inset:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}

/* Popovers de reconciliação/criação através do extrato seguem a mesma linguagem visual compacta. */
#afp-root.afp-app .afp-bank-manual-popover{
  width:min(var(--afp-oficina-modal-large,1180px),100%)!important;
  max-width:100%!important;
  overflow:visible!important;
  max-height:none!important;
  border-radius:24px!important;
}
#afp-root.afp-app .afp-bank-manual-popover-head{
  margin:-1px -1px 0!important;
  padding:16px 22px!important;
  border-radius:24px 24px 0 0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
}
#afp-root.afp-app .afp-bank-manual-popover-head h4,
#afp-root.afp-app .afp-bank-manual-popover-head strong{
  color:#fff!important;
}
#afp-root.afp-app .afp-bank-manual-popover-head .afp-muted,
#afp-root.afp-app .afp-bank-manual-popover-head small{
  color:rgba(255,255,255,.86)!important;
}

@media (max-width:1280px){
  :root{
    --afp-oficina-modal-large: 1060px;
    --afp-oficina-modal-max: 1060px;
  }
}
@media (max-width:1040px){
  :root{
    --afp-oficina-modal-large: 920px;
    --afp-oficina-modal-max: 920px;
  }
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  :root{
    --afp-modal-safe-gap: 8px;
    --afp-oficina-modal-large: 100%;
    --afp-oficina-modal-max: 100%;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-modal:not(.hidden),
  #afp-root.afp-app .afp-modal-backdrop:not(.hidden){
    padding:8px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-modal:not(.hidden)>.afp-modal-box,
  #afp-root.afp-app .afp-modal-backdrop:not(.hidden)>.afp-modal,
  #afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-box{
    width:100%!important;
    max-width:100%!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-modal-header,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-grant-detail-modal-box>.afp-grant-detail-header,
  #afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-header{
    min-height:auto!important;
    padding:15px!important;
    border-radius:18px 18px 0 0!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>form,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-modal-box>.afp-modal-content,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-task-modal-box>form,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162>form,
  #afp-root.afp-app .afp-modal-backdrop:not(.hidden) .afp-modal-content{
    padding:16px!important;
    border-radius:0 0 18px 18px!important;
  }
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-form-grid{
    grid-template-columns:1fr!important;
  }
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-span-2,
  #afp-root.afp-app .afp-oficinaplus-modal-card:not(.afp-form-card-hidden) .afp-span-2,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-span-2{
    grid-column:auto!important;
  }
}

/* v1.5.175 — Correção definitiva do alinhamento das janelas/formulários
   Referência aprovada: janela de novo movimento financeiro.
   - Todas as restantes janelas criadas a partir de formulários embutidos passam a usar uma camada própria na área principal.
   - A camada abre sempre no topo da aplicação e mostra primeiro o banner.
   - O cartão/listagem original deixa de ser usado como modal, evitando conteúdo acima/abaixo da janela.
   - O fundo branco acompanha só o formulário; o overlay escuro cobre apenas a área útil da aplicação. */
:root{
  --afp-modal-approved-width: 1180px;
  --afp-modal-approved-narrow-width: 980px;
  --afp-modal-approved-gap: clamp(16px, 2vw, 32px);
}

body.afp-oficinaplus-modal-open{
  overflow:auto!important;
}

#afp-root.afp-app .afp-main{
  position:relative!important;
  min-height:100vh!important;
  overflow:visible!important;
}

/* Modal de formulário gerado pela lógica listagem-primeiro. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden){
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:10040!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:var(--afp-modal-approved-gap) var(--afp-modal-approved-gap) 42px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Mantém o comportamento aprovado do movimento financeiro, mas reforça o alinhamento ao topo. */
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden){
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:10040!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:var(--afp-modal-approved-gap) var(--afp-modal-approved-gap) 42px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

/* Banner superior: igual ao aprovado. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar{
  width:min(var(--afp-modal-approved-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
  max-width:min(var(--afp-modal-approved-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
  min-width:0!important;
  min-height:84px!important;
  height:auto!important;
  margin:0!important;
  padding:18px 28px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:0 0 auto!important;
  position:static!important;
  border-radius:26px 26px 0 0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.25)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar strong,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:800!important;
}

#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar span,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
}

#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar .afp-btn.secondary,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar .afp-btn.secondary{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

/* Formulário/conteúdo: fundo branco imediatamente abaixo do banner e com a mesma largura. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form{
  width:min(var(--afp-modal-approved-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
  max-width:min(var(--afp-modal-approved-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:28px!important;
  display:block!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  position:static!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  box-sizing:border-box!important;
}

/* Nenhum cartão/cabeçalho intermédio entre banner e formulário. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-finance-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-grant-workspace-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-section-header,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-module-hero,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form>.afp-card-head,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-modal-redundant-header,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) .afp-modal-redundant-header{
  display:none!important;
}

/* Evitar heranças que provocavam caixas internas com scroll ou alturas fixas. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) *,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) *{
  max-height:none!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-table-wrap,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-permissions-scroll,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-modal-content{
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  max-height:none!important;
}

/* Ações no fim natural do formulário. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-inline-actions:last-child,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-event-form-actions,
#afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form .afp-task-modal-actions,
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) #afp-finance-movement-form .afp-finance-form-actions{
  position:static!important;
  inset:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}

/* Larguras específicas: formulários mais simples podem ficar ligeiramente mais estreitos, mas no mesmo molde visual. */
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-bank-account-form):not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-bank-account-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-expense-category-form):not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-expense-category-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-revenue-category-form):not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-revenue-category-form):not(.afp-form-card-hidden)>form,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-section-form):not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
#afp-root.afp-app .afp-oficinaplus-inline-modal:has(#afp-finance-section-form):not(.afp-form-card-hidden)>form{
  width:min(var(--afp-modal-approved-narrow-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
  max-width:min(var(--afp-modal-approved-narrow-width), calc(100% - (var(--afp-modal-approved-gap) * 2)))!important;
}

@media (max-width:1040px){
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) .afp-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) #afp-finance-movement-form .afp-finance-form-layout{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:760px){
  :root{--afp-modal-approved-gap:8px;}
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden),
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden){
    padding:8px 8px 28px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form{
    width:100%!important;
    max-width:100%!important;
  }
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-toolbar,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>.afp-form-card-toolbar{
    min-height:auto!important;
    padding:15px!important;
    border-radius:18px 18px 0 0!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>form,
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden)>.afp-list-first-inline-form,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden)>form{
    padding:16px!important;
    border-radius:0 0 18px 18px!important;
  }
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-form-grid,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) .afp-form-grid{
    grid-template-columns:1fr!important;
  }
  #afp-root.afp-app .afp-oficinaplus-inline-modal:not(.afp-form-card-hidden) .afp-span-2,
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) .afp-span-2{
    grid-column:auto!important;
  }
}

/* v1.5.176 — Uniformização do banner das janelas já aprovadas
   Pedido: movimento financeiro e utilizadores devem usar o mesmo estilo de banner azul
   aplicado às restantes janelas modais. Mantém formulários, regras e comportamentos intactos. */
#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) > .afp-form-card-toolbar,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162{
  width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  max-width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  min-width:0!important;
  min-height:84px!important;
  height:auto!important;
  margin:0!important;
  padding:18px 28px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:0 0 auto!important;
  position:static!important;
  border-radius:26px 26px 0 0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.25)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) > .afp-form-card-toolbar strong,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162 strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:800!important;
}

#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) > .afp-form-card-toolbar span,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162 span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
}

#afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) > .afp-form-card-toolbar .afp-btn.secondary,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162 .afp-btn.secondary{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162{
  width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  max-width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  padding:0!important;
  border-radius:26px!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}

#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > form{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-header-v162 h3,
#afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-header-v162 .afp-icon-btn{
  display:none!important;
}

@media (max-width:760px){
  #afp-root.afp-app .afp-oficinaplus-modal-card:has(#afp-finance-movement-form):not(.afp-form-card-hidden) > .afp-form-card-toolbar,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162,
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
  }
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162{
    min-height:auto!important;
    padding:15px!important;
    border-radius:18px 18px 0 0!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app .afp-modal:not(.hidden) .afp-users-modal-box-v162 > form{
    padding:16px!important;
    border-radius:0 0 18px 18px!important;
  }
}

/* v1.5.177 — Correção final do modal de Utilizadores
   Pedido: a janela de utilizador deve ficar exatamente nos mesmos moldes das restantes modais aprovadas.
   - Overlay limitado à área útil da aplicação, como no movimento financeiro.
   - Banner azul igual ao padrão global.
   - Formulário imediatamente abaixo do banner.
   - Fundo branco ajustado ao formulário, sem cartão intermédio e sem scroll interno. */
#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden){
  position:absolute!important;
  inset:0 0 auto 0!important;
  z-index:10040!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:var(--afp-modal-approved-gap,24px) var(--afp-modal-approved-gap,24px) 42px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(15,23,42,.56)!important;
  backdrop-filter:blur(7px)!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

afP-dummy{display:none;}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162{
  width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  max-width:min(var(--afp-modal-approved-width,1180px), calc(100% - (var(--afp-modal-approved-gap,24px) * 2)))!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  position:static!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:84px!important;
  height:auto!important;
  margin:0!important;
  padding:18px 28px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:0 0 auto!important;
  position:static!important;
  border-radius:26px 26px 0 0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#16285f 0%,#2563eb 55%,#06b6d4 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 70px rgba(15,23,42,.25)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-title-v176{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-title-v176 strong{
  display:block!important;
  margin:0 0 4px!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:800!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-title-v176 span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:500!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162 .afp-btn.secondary,
#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-cancel-v176{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.30)!important;
  box-shadow:none!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-header-v162 h3,
#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-header-v162 .afp-icon-btn{
  display:none!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162 > form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:28px!important;
  display:block!important;
  position:static!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  border:1px solid rgba(226,232,240,.92)!important;
  border-top:0!important;
  border-radius:0 0 26px 26px!important;
  background:#fff!important;
  box-shadow:0 30px 90px rgba(15,23,42,.28)!important;
  box-sizing:border-box!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-permissions-scroll,
#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-modal-content,
#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-form-grid{
  max-height:none!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
}

#afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) form .afp-inline-actions:last-child{
  position:static!important;
  inset:auto!important;
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  justify-content:flex-end!important;
}

@media (max-width:760px){
  #afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden){
    padding:8px 8px 28px!important;
  }
  #afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162{
    width:100%!important;
    max-width:100%!important;
  }
  #afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162 > .afp-users-modal-header-v162{
    min-height:auto!important;
    padding:15px!important;
    border-radius:18px 18px 0 0!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  #afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-users-modal-box-v162 > form{
    padding:16px!important;
    border-radius:0 0 18px 18px!important;
  }
  #afp-root.afp-app #afp-user-modal.afp-modal:not(.hidden) .afp-form-grid{
    grid-template-columns:1fr!important;
  }
}

/* v1.5.179 — Sócios: painel inicial simplificado */
.afp-members-view-v179 .afp-members-home-panel-v179{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.afp-members-view-v179 .afp-members-home-kpis-v179{
  margin-top:0;
}
.afp-members-view-v179 .afp-members-home-quick-card-v179{
  border:1px solid rgba(59,130,246,.16);
  box-shadow:0 18px 45px rgba(15,23,42,.08);
}
.afp-members-view-v179 .afp-members-home-quick-card-v179 .afp-card-head{
  align-items:flex-start;
  gap:16px;
}
.afp-members-view-v179 .afp-members-home-actions-v179{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.afp-members-view-v179 .afp-members-home-actions-v179 .afp-btn{
  width:100%;
  justify-content:center;
  min-height:44px;
}
.afp-members-view-v179 .afp-members-home-alert-v179{
  margin:0;
}
.afp-members-view-v179 .afp-members-tabs{
  margin-bottom:4px;
}
.afp-members-view-v179 .afp-members-home-panel-v179 + .afp-card,
.afp-members-view-v179 .afp-members-home-panel-v179 + .afp-settings-grid{
  margin-top:0;
}
@media (max-width: 1100px){
  .afp-members-view-v179 .afp-members-home-actions-v179{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 720px){
  .afp-members-view-v179 .afp-members-home-actions-v179{
    grid-template-columns:1fr;
  }
  .afp-members-view-v179 .afp-members-home-alert-v179{
    align-items:stretch;
  }
  .afp-members-view-v179 .afp-members-home-alert-v179 .afp-btn{
    width:100%;
  }
}

/* v1.5.180 — Sócios: cartões principais logo abaixo do banner e cores alinhadas */
.afp-members-view-v180 .afp-members-home-kpis-v180{
  margin:0;
  gap:16px;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card{
  position:relative;
  overflow:hidden;
  min-height:136px;
  padding:20px;
  border:1px solid #e2e8f0;
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  border-radius:999px;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card h3{
  margin:0 0 8px;
  color:#475569;
  font-size:15px;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card .afp-stat{
  margin:0;
  font-size:34px;
  line-height:1.05;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card p{
  margin:9px 0 0;
  font-size:13px;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(1){
  background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%);
  border-color:#bbf7d0;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(1)::before{background:#22c55e;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(1) .afp-stat{color:#15803d;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(2){
  background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%);
  border-color:#fed7aa;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(2)::before{background:#f97316;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(2) .afp-stat{color:#c2410c;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(3){
  background:linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);
  border-color:#bfdbfe;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(3)::before{background:#2563eb;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(3) .afp-stat{color:#1d4ed8;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(4){
  background:linear-gradient(180deg,#ffffff 0%,#faf5ff 100%);
  border-color:#ddd6fe;
}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(4)::before{background:#8b5cf6;}
.afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card:nth-child(4) .afp-stat{color:#7c3aed;}
.afp-members-view-v180 .afp-members-home-panel-v180{
  display:flex;
  flex-direction:column;
  gap:18px;
}
@media(max-width:1100px){
  .afp-members-view-v180 .afp-members-home-kpis-v180{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .afp-members-view-v180 .afp-members-home-kpis-v180{grid-template-columns:1fr!important;}
  .afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card{min-height:auto;padding:16px;}
  .afp-members-view-v180 .afp-members-home-kpis-v180 .afp-members-stat-card .afp-stat{font-size:29px;}
}

/* v1.5.181 — Correção: cores fortes nos cartões principais do painel inicial de Sócios */
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card{
  border:0 !important;
  color:#ffffff !important;
  box-shadow:0 18px 42px rgba(15,23,42,.14) !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card::before,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card::before{
  display:none !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card h3,
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-stat,
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card p,
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-muted,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card h3,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-stat,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card p,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-muted{
  color:#ffffff !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card h3,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card h3{
  opacity:.92 !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card p,
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-muted,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card p,
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card .afp-muted{
  opacity:.82 !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(1),
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(1){
  background:linear-gradient(135deg,#15803d 0%,#22c55e 100%) !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(2),
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(2){
  background:linear-gradient(135deg,#b45309 0%,#f97316 100%) !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(3),
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(3){
  background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%) !important;
}
#afp-root .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(4),
#afp-root .afp-members-view-v180 .afp-members-home-kpis-v180 > .afp-members-stat-card:nth-child(4){
  background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%) !important;
}

/* v1.5.182 — Sócios: tabela alinhada, ações em dropdown, fotos e ligação a modalidades */
.afp-members-table {
  table-layout: fixed;
  width: 100%;
}
.afp-members-table th,
.afp-members-table td {
  vertical-align: middle;
  text-align: left;
}
.afp-members-table thead th {
  text-align: center;
  white-space: nowrap;
}
.afp-members-table th:nth-child(1),
.afp-members-table td:nth-child(1) { width: 74px; text-align: center; }
.afp-members-table th:nth-child(2),
.afp-members-table td:nth-child(2) { width: 88px; text-align: center; }
.afp-members-table th:nth-child(3),
.afp-members-table td:nth-child(3) { width: 18%; }
.afp-members-table th:nth-child(4),
.afp-members-table td:nth-child(4) { width: 21%; }
.afp-members-table th:nth-child(5),
.afp-members-table td:nth-child(5) { width: 22%; }
.afp-members-table th:nth-child(6),
.afp-members-table td:nth-child(6) { width: 92px; text-align: center; }
.afp-members-table th:nth-child(7),
.afp-members-table td:nth-child(7) { width: 132px; text-align: right; }
.afp-members-table th:nth-child(8),
.afp-members-table td:nth-child(8) { width: 116px; text-align: center; }
.afp-members-table td {
  overflow-wrap: anywhere;
}
.afp-member-avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #e0f2fe, #dbeafe);
  color: #1d4ed8;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .16);
}
.afp-member-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.afp-member-avatar.large {
  width: 70px;
  height: 70px;
  flex: 0 0 70px;
  font-size: 1.4rem;
}
.afp-member-avatar.detail {
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  font-size: 1.6rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .15), inset 0 0 0 2px rgba(255, 255, 255, .75);
}
.afp-member-photo-input {
  display: flex;
  gap: 14px;
  align-items: center;
}
.afp-member-photo-input input[type="file"] {
  min-width: 0;
}
.afp-checkbox-line {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: .86rem;
  color: #475569;
}
.afp-member-modalities-list {
  margin-top: 4px;
  color: #475569;
  font-size: .82rem;
  line-height: 1.35;
}
.afp-member-modalities-field select[multiple] {
  min-height: 112px;
  padding: 8px;
}
.afp-member-detail-title-wrap {
  display: flex;
  gap: 16px;
  align-items: center;
}
.afp-actions-dropdown {
  position: relative;
  display: inline-block;
  text-align: left;
}
.afp-actions-dropdown summary {
  list-style: none;
  cursor: pointer;
  border: 1px solid rgba(37, 99, 235, .18);
  background: #f8fbff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 11px;
  min-width: 92px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: .82rem;
  font-weight: 700;
}
.afp-actions-dropdown summary::-webkit-details-marker {
  display: none;
}
.afp-actions-dropdown[open] summary {
  background: #2563eb;
  color: #fff;
  box-shadow: 0 10px 24px rgba(37, 99, 235, .22);
}
.afp-actions-dropdown-menu {
  position: absolute;
  z-index: 45;
  top: calc(100% + 8px);
  right: 0;
  width: 190px;
  padding: 8px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .35);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
}
.afp-actions-dropdown-menu button {
  width: 100%;
  border: 0;
  background: transparent;
  color: #0f172a;
  text-align: left;
  border-radius: 10px;
  padding: 9px 10px;
  font-weight: 650;
  cursor: pointer;
}
.afp-actions-dropdown-menu button:hover {
  background: #eff6ff;
  color: #1d4ed8;
}
.afp-actions-dropdown-menu button.danger {
  color: #dc2626;
}
.afp-actions-dropdown-menu button.danger:hover {
  background: #fef2f2;
  color: #b91c1c;
}
.afp-members-table .afp-row-actions {
  overflow: visible;
}
.afp-members-table tbody tr {
  position: relative;
}
.afp-members-table tbody tr:has(.afp-actions-dropdown[open]) {
  z-index: 20;
}

@media (max-width: 1180px) {
  .afp-members-table {
    min-width: 980px;
  }
  .afp-members-table th:nth-child(3),
  .afp-members-table td:nth-child(3),
  .afp-members-table th:nth-child(4),
  .afp-members-table td:nth-child(4),
  .afp-members-table th:nth-child(5),
  .afp-members-table td:nth-child(5) {
    width: auto;
  }
}

@media (max-width: 760px) {
  .afp-member-photo-input,
  .afp-member-detail-title-wrap {
    align-items: flex-start;
  }
  .afp-member-avatar.detail {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }
  .afp-actions-dropdown-menu {
    right: auto;
    left: 0;
  }
}

/* v1.5.183 — Sócios: correção da tabela e dropdown de ações */
.afp-members-view-v153 .afp-members-table{
  table-layout:fixed !important;
  width:100% !important;
  min-width:1040px !important;
}
.afp-members-view-v153 .afp-members-table th,
.afp-members-view-v153 .afp-members-table td{
  box-sizing:border-box;
}
.afp-members-view-v153 .afp-members-table th:nth-child(1),
.afp-members-view-v153 .afp-members-table td:nth-child(1){
  width:64px !important;
  text-align:center !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(2),
.afp-members-view-v153 .afp-members-table td:nth-child(2){
  width:82px !important;
  text-align:center !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(3),
.afp-members-view-v153 .afp-members-table td:nth-child(3){
  width:18% !important;
  text-align:left !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(4),
.afp-members-view-v153 .afp-members-table td:nth-child(4){
  width:20% !important;
  text-align:left !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(5),
.afp-members-view-v153 .afp-members-table td:nth-child(5){
  width:20% !important;
  text-align:left !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(6),
.afp-members-view-v153 .afp-members-table td:nth-child(6){
  width:106px !important;
  text-align:center !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(7),
.afp-members-view-v153 .afp-members-table td:nth-child(7){
  width:132px !important;
  text-align:right !important;
}
.afp-members-view-v153 .afp-members-table th:nth-child(8),
.afp-members-view-v153 .afp-members-table td:nth-child(8){
  width:148px !important;
  text-align:center !important;
  overflow:visible !important;
}
.afp-members-view-v153 .afp-member-actions-col{
  display:table-cell !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.afp-members-view-v153 .afp-member-action-select{
  width:100%;
  max-width:132px;
  min-width:112px;
  height:36px;
  border:1px solid rgba(37,99,235,.22);
  border-radius:999px;
  padding:0 34px 0 12px;
  background:#f8fbff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat calc(100% - 12px) center !important;
  color:#1d4ed8;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:0 8px 18px rgba(37,99,235,.08);
}
.afp-members-view-v153 .afp-member-action-select:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(37,99,235,.12);
}
.afp-members-view-v153 .afp-member-action-select option{
  color:#0f172a;
  font-weight:650;
  background:#fff;
}
.afp-members-view-v153 .afp-member-contact-col,
.afp-members-view-v153 .afp-member-type-col,
.afp-members-view-v153 .afp-member-name-col{
  overflow-wrap:anywhere;
  word-break:normal;
}
.afp-members-view-v153 .afp-member-status-col .afp-status{
  justify-content:center;
  min-width:82px;
}
@media(max-width:1180px){
  .afp-members-view-v153 .afp-members-table{
    min-width:1040px !important;
  }
}
@media(max-width:560px){
  .afp-members-view-v153 .afp-members-table{
    min-width:0 !important;
  }
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(1)::before{content:"Foto" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(2)::before{content:"N.º" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(3)::before{content:"Sócio" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(4)::before{content:"Contacto" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(5)::before{content:"Tipo / modalidades" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(6)::before{content:"Estado" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(7)::before{content:"Quotas" !important;}
  .afp-members-view-v153 .afp-members-table tbody td:nth-child(8)::before{content:"Ações" !important;}
  .afp-members-view-v153 .afp-members-table td.afp-member-actions-col{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    text-align:left !important;
  }
  .afp-members-view-v153 .afp-member-action-select{
    width:100%;
    max-width:220px;
  }
}

/* v1.5.184 — Ficha de sócio em modal com separadores */
.afp-members-view-v184,
.afp-members-view-v180{
  position:relative;
}
.afp-member-detail-modal-layer{
  position:absolute;
  inset:0;
  z-index:12000;
  min-height:100%;
  background:rgba(15,23,42,.48);
  backdrop-filter:blur(2px);
  padding:24px;
}
.afp-member-detail-modal-shell{
  width:min(1280px, calc(100% - 12px));
  margin:0 auto 56px;
  background:#fff;
  border:1px solid #dbeafe;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(15,23,42,.25);
  overflow:visible;
}
.afp-member-detail-modal-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 28px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(135deg,#1e3a8a 0%,#2563eb 48%,#06b6d4 100%);
  color:#fff;
}
.afp-member-detail-modal-banner h2{
  margin:0;
  color:#fff;
  font-size:25px;
  font-weight:900;
}
.afp-member-detail-modal-banner p{
  margin:4px 0 0;
  color:rgba(255,255,255,.88);
}
.afp-member-detail-modal-banner .afp-btn.secondary{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
.afp-member-detail-modal-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 28px;
  border-bottom:1px solid #e2e8f0;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.afp-member-detail-modal-summary h3{
  margin:4px 0 2px;
  font-size:26px;
  color:#0f172a;
}
.afp-member-profile-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-bottom:1px solid #e2e8f0;
  background:#fff;
  padding:0 22px;
}
.afp-member-profile-tabs button{
  appearance:none;
  border:0;
  background:transparent;
  color:#334155;
  font-size:16px;
  font-weight:700;
  padding:18px 22px;
  cursor:pointer;
  border-bottom:3px solid transparent;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.afp-member-profile-tabs button:hover{
  background:#eff6ff;
  color:#1d4ed8;
}
.afp-member-profile-tabs button.active{
  background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);
  color:#fff;
  border-bottom-color:#1d4ed8;
}
.afp-member-detail-modal-content{
  padding:24px 28px 30px;
  background:#fff;
  border-radius:0 0 24px 24px;
}
.afp-member-detail-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.afp-member-detail-profile-grid > div,
.afp-member-detail-placeholder{
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#f8fafc;
  padding:16px;
}
.afp-member-detail-profile-grid span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:5px;
}
.afp-member-detail-profile-grid strong{
  display:block;
  color:#0f172a;
  font-size:15px;
  line-height:1.35;
  word-break:break-word;
}
.afp-member-detail-edit-form .afp-form-grid,
.afp-member-document-form .afp-form-grid{
  align-items:start;
}
.afp-member-detail-form-actions{
  margin-top:18px;
}
.afp-member-detail-kpis{
  margin-bottom:18px;
}
.afp-member-detail-kpis .afp-card:nth-child(1){background:linear-gradient(135deg,#15803d,#22c55e)!important;color:#fff!important;}
.afp-member-detail-kpis .afp-card:nth-child(2){background:linear-gradient(135deg,#b45309,#f97316)!important;color:#fff!important;}
.afp-member-detail-kpis .afp-card:nth-child(3){background:linear-gradient(135deg,#1d4ed8,#06b6d4)!important;color:#fff!important;}
.afp-member-detail-kpis .afp-card:nth-child(4){background:linear-gradient(135deg,#6d28d9,#a855f7)!important;color:#fff!important;}
.afp-member-detail-kpis .afp-card h3,
.afp-member-detail-kpis .afp-card .afp-stat,
.afp-member-detail-kpis .afp-card .afp-muted,
.afp-member-detail-kpis .afp-card p{color:#fff!important;}
.afp-member-documents-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:18px;
}
.afp-member-document-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#f8fafc;
}
.afp-member-document-row strong{
  color:#0f172a;
}
.afp-member-document-form{
  border-top:1px solid #e2e8f0;
  padding-top:18px;
  margin-top:6px;
}
.afp-member-detail-placeholder h3{
  margin-top:0;
}
.afp-member-detail-table-card{
  box-shadow:none;
}
.afp-member-detail-modal-content .afp-card{
  border-color:#e2e8f0;
}

@media(max-width:1100px){
  .afp-member-detail-modal-layer{padding:18px;}
  .afp-member-detail-modal-shell{width:100%;}
  .afp-member-detail-modal-summary{align-items:flex-start;flex-direction:column;}
  .afp-member-profile-tabs{padding:0 14px;}
  .afp-member-profile-tabs button{padding:14px 16px;font-size:15px;}
}
@media(max-width:760px){
  .afp-member-detail-modal-layer{padding:10px;}
  .afp-member-detail-modal-banner{padding:18px;align-items:flex-start;flex-direction:column;}
  .afp-member-detail-modal-summary{padding:18px;}
  .afp-member-detail-modal-content{padding:18px;}
  .afp-member-detail-profile-grid{grid-template-columns:1fr;}
  .afp-member-document-row{align-items:flex-start;flex-direction:column;}
  .afp-member-document-row .afp-inline-actions,
  .afp-member-detail-modal-summary .afp-inline-actions{width:100%;}
  .afp-member-document-row .afp-btn,
  .afp-member-detail-modal-summary .afp-btn{width:100%;justify-content:center;}
  .afp-member-profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;}
  .afp-member-profile-tabs button{border-radius:0;font-size:14px;padding:13px 8px;}
}

/* v1.5.185 — Ajustes ficha de sócio: modal sempre no topo visível e formulários por separador */
.afp-member-detail-modal-layer{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:auto !important;
  min-height:100% !important;
  display:block !important;
  padding:18px 22px 56px !important;
  overflow:visible !important;
}
.afp-member-detail-modal-shell{
  width:min(1220px, 100%) !important;
  max-width:calc(100% - 4px) !important;
  margin:0 auto 48px !important;
  overflow:visible !important;
}
.afp-member-detail-modal-content{
  overflow:visible !important;
}
.afp-member-extra-card .afp-card-head,
.afp-member-modalities-detail-form{
  margin-top:18px;
}
.afp-member-extra-form .afp-form-grid,
.afp-member-modalities-detail-form .afp-form-grid{
  align-items:start;
}
.afp-member-extra-form textarea,
.afp-member-modalities-detail-form select[multiple]{
  min-height:120px;
}
.afp-member-modalities-detail-form select[multiple]{
  width:100%;
}
.afp-member-detail-profile-grid .afp-span-2{
  grid-column:1 / -1;
}
.afp-member-detail-modal-shell .afp-table-wrap{
  overflow-x:auto;
  overflow-y:visible;
}
@media(max-width:760px){
  .afp-member-detail-modal-layer{padding:10px 8px 36px !important;}
  .afp-member-detail-modal-shell{border-radius:18px !important;}
  .afp-member-detail-modal-banner{border-radius:18px 18px 0 0 !important;}
}

/* v1.5.186 — Ficha de sócio: históricos, familiares e matriz de modalidades */
.afp-member-history-form{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e2e8f0;
}
.afp-member-modalities-matrix-card .afp-card-head{
  margin-bottom:14px;
}
.afp-member-modalities-matrix th:first-child,
.afp-member-modalities-matrix td:first-child{
  width:92px;
  text-align:center;
}
.afp-checkbox-center{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:100%;
}
.afp-checkbox-center input{
  width:20px;
  height:20px;
  accent-color:#2563eb;
}
.afp-member-modality-date{
  min-width:150px;
  max-width:190px;
}
.afp-member-extra-card .afp-table td,
.afp-member-extra-card .afp-table th,
.afp-member-modalities-matrix-card .afp-table td,
.afp-member-modalities-matrix-card .afp-table th{
  vertical-align:middle;
}
.afp-member-extra-card .afp-module-tab-count{
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
}
@media(max-width:760px){
  .afp-member-modalities-matrix th:first-child,
  .afp-member-modalities-matrix td:first-child{
    width:auto;
  }
  .afp-member-modality-date{
    width:100%;
    max-width:none;
  }
}

/* v1.5.188 — correção isolada: menu lateral desktop com scroll vertical.
   Base preservada: v1.5.186. Não altera Sócios, dados, formulários, quotas ou lógica JS. */
@media (min-width:901px){
  #afp-root.afp-app .afp-sidebar{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    max-height:100vh !important;
    scrollbar-width:thin !important;
    scrollbar-color:rgba(37,99,235,.35) transparent !important;
  }
  #afp-root.afp-app .afp-sidebar::-webkit-scrollbar{
    width:8px !important;
  }
  #afp-root.afp-app .afp-sidebar::-webkit-scrollbar-track{
    background:transparent !important;
  }
  #afp-root.afp-app .afp-sidebar::-webkit-scrollbar-thumb{
    background:rgba(37,99,235,.28) !important;
    border-radius:999px !important;
  }
}

/* v1.5.189 — Comunicação: cabeçalho fixado no topo do módulo.
   Corrige situações em que cartões/tabelas herdadas assumiam prioridade visual no topo.
   Mantém o restante funcionamento do módulo inalterado. */
.afp-communications-view{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
}
.afp-communications-view > .afp-section-header.afp-module-hero.afp-communications-hero-v163{
  order:-100 !important;
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-communications-summary-grid-v163{
  order:-90 !important;
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-module-tabs.afp-communication-tabs{
  order:-80 !important;
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-module-workbar.afp-communications-workbar{
  order:-70 !important;
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-dashboard-v2-alert.afp-communications-alert-v163{
  order:-60 !important;
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-settings-grid.afp-communication-workspace-grid-v163,
.afp-communications-view > .afp-communications-filter-card,
.afp-communications-view > .afp-communications-email-history-card,
.afp-communications-view > .afp-social-panel,
.afp-communications-view > .afp-social-calendar-panel,
.afp-communications-view > .afp-social-templates-panel{
  width:100% !important;
  margin:0 !important;
}
.afp-communications-view > .afp-settings-grid.afp-communication-workspace-grid-v163{order:10 !important;}
.afp-communications-view > .afp-communications-filter-card{order:20 !important;}
.afp-communications-view > .afp-communications-email-history-card{order:30 !important;}
.afp-communications-view > .afp-social-panel{order:20 !important;}
.afp-communications-view > .afp-social-calendar-panel{order:20 !important;}
.afp-communications-view > .afp-social-templates-panel{order:20 !important;}

/* v1.5.190 Dashboard sucinto e configurável por associação */
.afp-dashboard-view-v190{gap:18px!important;}
.afp-dashboard-view-v190 .afp-dashboard-hero-v164 .afp-muted{max-width:820px;}
.afp-dashboard-context-v190{margin-top:-4px;}
.afp-dashboard-global-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;}
.afp-dashboard-global-card{position:relative;display:flex;align-items:flex-start;gap:14px;min-height:142px;padding:18px!important;border:0!important;border-radius:22px!important;overflow:hidden;cursor:pointer;box-shadow:0 14px 30px rgba(15,23,42,.08)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;}
.afp-dashboard-global-card:hover,.afp-dashboard-global-card:focus{transform:translateY(-2px);box-shadow:0 20px 42px rgba(15,23,42,.14)!important;outline:none;filter:saturate(1.05);}
.afp-dashboard-global-card::after{content:"";position:absolute;right:-38px;top:-40px;width:132px;height:132px;border-radius:999px;background:rgba(255,255,255,.15);}
.afp-dashboard-global-card.green{background:linear-gradient(135deg,#15803d 0%,#22c55e 100%)!important;}
.afp-dashboard-global-card.blue{background:linear-gradient(135deg,#1d4ed8 0%,#06b6d4 100%)!important;}
.afp-dashboard-global-card.orange{background:linear-gradient(135deg,#b45309 0%,#f97316 100%)!important;}
.afp-dashboard-global-card.purple{background:linear-gradient(135deg,#6d28d9 0%,#a855f7 100%)!important;}
.afp-dashboard-global-card.red{background:linear-gradient(135deg,#b91c1c 0%,#ef4444 100%)!important;}
.afp-dashboard-global-card.slate{background:linear-gradient(135deg,#334155 0%,#64748b 100%)!important;}
.afp-dashboard-global-card>*{position:relative;z-index:1;}
.afp-dashboard-global-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.2);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;flex:0 0 48px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);}
.afp-dashboard-global-copy{min-width:0;color:#fff;}
.afp-dashboard-global-copy span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:rgba(255,255,255,.82);margin-bottom:8px;}
.afp-dashboard-global-copy strong{display:block;font-size:32px;line-height:1.05;color:#fff;font-weight:900;word-break:break-word;}
.afp-dashboard-global-copy p{margin:8px 0 0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.35;}
.afp-dashboard-config-panel{border:1px solid #dbeafe!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)!important;border-radius:22px!important;box-shadow:0 12px 28px rgba(15,23,42,.05)!important;}
.afp-dashboard-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.afp-dashboard-config-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:16px;padding:12px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.afp-dashboard-config-option:hover{border-color:#93c5fd;box-shadow:0 8px 18px rgba(37,99,235,.08);transform:translateY(-1px);}
.afp-dashboard-config-option input{margin-top:3px;width:17px;height:17px;accent-color:#2563eb;}
.afp-dashboard-config-option strong{display:block;font-size:13px;color:#0f172a;}
.afp-dashboard-config-option small{display:block;margin-top:3px;color:#64748b;font-size:12px;line-height:1.25;}
.afp-dashboard-overview-v190{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:18px;align-items:start;}
.afp-dashboard-overview-v190 .afp-card{border-radius:22px!important;box-shadow:0 10px 28px rgba(15,23,42,.05)!important;}
.afp-dashboard-shortcuts-v190{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.afp-dashboard-empty-config{grid-column:1/-1;text-align:center;padding:28px!important;border:1px dashed #cbd5e1!important;}
.afp-dashboard-empty-config h3{margin:0 0 8px;}
.afp-dashboard-empty-config p{margin:0;color:#64748b;}
.afp-dashboard-alert-v190{margin:0;}
@media (max-width:1300px){.afp-dashboard-global-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.afp-dashboard-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:1050px){.afp-dashboard-global-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.afp-dashboard-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.afp-dashboard-overview-v190{grid-template-columns:1fr;}}
@media (max-width:680px){.afp-dashboard-global-grid,.afp-dashboard-config-grid,.afp-dashboard-shortcuts-v190{grid-template-columns:1fr!important;}.afp-dashboard-global-card{min-height:120px;}.afp-dashboard-global-copy strong{font-size:28px;}.afp-dashboard-view-v190 .afp-dashboard-hero-v164 .afp-inline-actions{width:100%;}.afp-dashboard-view-v190 .afp-dashboard-hero-v164 .afp-btn{width:100%;justify-content:center;}}


/* v1.5.191 — Dashboard mais compacto */
.afp-dashboard-view-v190 .afp-dashboard-v2-new-actions,
.afp-dashboard-view-v190 #afp-dashboard-new-actions-panel{
  display:none!important;
}
.afp-dashboard-view-v190 .afp-dashboard-overview-v190{
  gap:14px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-next-card,
.afp-dashboard-view-v190 .afp-dashboard-v2-shortcuts-card{
  padding:16px!important;
  border-radius:18px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-next-card .afp-card-head,
.afp-dashboard-view-v190 .afp-dashboard-v2-shortcuts-card .afp-card-head{
  margin-bottom:10px!important;
  padding-bottom:8px!important;
  gap:10px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-next-card .afp-card-head h3,
.afp-dashboard-view-v190 .afp-dashboard-v2-shortcuts-card .afp-card-head h3{
  font-size:16px!important;
  line-height:1.2!important;
}
.afp-dashboard-view-v190 .afp-dashboard-next-card .afp-card-head p,
.afp-dashboard-view-v190 .afp-dashboard-v2-shortcuts-card .afp-card-head p{
  margin-top:2px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.afp-dashboard-view-v190 .afp-dashboard-v2-agenda-list{
  gap:6px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-v2-agenda-item{
  padding:8px 10px!important;
  min-height:42px!important;
  border-radius:12px!important;
  gap:10px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-v2-agenda-item span{
  font-size:13px!important;
  line-height:1.25!important;
}
.afp-dashboard-view-v190 .afp-dashboard-v2-agenda-item small{
  font-size:12px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-empty-note{
  padding:10px!important;
  font-size:13px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-shortcuts-v190{
  gap:8px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-shortcut{
  min-height:48px!important;
  padding:10px 12px!important;
  gap:9px!important;
  border-radius:14px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-shortcut span{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
  border-radius:11px!important;
  font-size:16px!important;
}
.afp-dashboard-view-v190 .afp-dashboard-shortcut strong{
  font-size:13px!important;
  line-height:1.2!important;
}
@media (max-width:680px){
  .afp-dashboard-view-v190 .afp-dashboard-next-card,
  .afp-dashboard-view-v190 .afp-dashboard-v2-shortcuts-card{
    padding:14px!important;
  }
}

/* v1.5.192 — Emails automáticos de aniversário */
.afp-birthday-email-title {
  margin-top: 8px;
}
.afp-account-panel .afp-birthday-email-title strong::before {
  content: '🎂';
  margin-right: 8px;
}

/* v1.5.193 — Conta: alteração autónoma de password */
.afp-account-security-layout-v193 {
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(320px, 1.4fr);
  gap: 18px;
  align-items: start;
}
.afp-account-security-info-v193 {
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 18px;
  padding: 18px;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(14, 165, 233, 0.05));
  display: grid;
  gap: 6px;
}
.afp-account-security-info-v193 strong {
  font-size: 1.05rem;
  color: #0f172a;
}
.afp-account-security-info-v193 span {
  color: #2563eb;
  font-weight: 700;
  word-break: break-word;
}
.afp-password-form-grid-v193 {
  align-items: end;
}
#afp-change-password-feedback {
  min-height: 20px;
}
@media (max-width: 900px) {
  .afp-account-security-layout-v193 {
    grid-template-columns: 1fr;
  }
}

/* v1.5.194 — proteção contra submissões duplicadas */
.afp-btn-loading,
button.afp-btn-loading,
input.afp-btn-loading {
  opacity: 0.68 !important;
  cursor: wait !important;
  pointer-events: none !important;
  filter: grayscale(0.18);
}
form[data-afp-submitting="1"] button[type="submit"],
form[data-afp-submitting="1"] input[type="submit"] {
  opacity: 0.68 !important;
  cursor: wait !important;
  pointer-events: none !important;
}

/* v1.5.195 — Configuração de alertas da aplicação */
.afp-alert-settings-grid-v195 .afp-smtp-section-title {
  border-left: 4px solid #2563eb;
  background: #f8fafc;
  padding: 14px 16px;
  border-radius: 14px;
}
.afp-alert-settings-grid-v195 select {
  min-height: 42px;
}

/* v1.5.196 — Conta: tornar Alertas visível e área de navegação rolável */
.afp-account-tabs{
  max-height:calc(100vh - 128px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.afp-account-tabs::-webkit-scrollbar{width:8px;}
.afp-account-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}
.afp-account-tab[data-account-tab="alerts"]{
  border-color:#bfdbfe;
  background:linear-gradient(135deg,#eff6ff 0%,#ffffff 100%);
}
.afp-account-tab[data-account-tab="alerts"].active{
  background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(37,99,235,.22);
}
.afp-account-tab[data-account-tab="alerts"].active small{color:rgba(255,255,255,.82);}
.afp-account-alerts-shortcut-v196{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid #dbeafe;
  background:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.afp-account-alerts-shortcut-v196 strong{display:block;color:#0f172a;margin-bottom:3px;}
.afp-account-alerts-shortcut-v196 span{display:block;color:#475569;font-size:13px;}
@media (max-width:1080px){
  .afp-account-tabs{max-height:none;overflow-y:visible;}
  .afp-account-alerts-shortcut-v196{align-items:flex-start;flex-direction:column;}
}

/* v1.5.198 — Eventos: opção de lançamento financeiro de expositores/patrocínios */
.afp-event-partner-sync-field{
  background: rgba(14,165,233,.08);
  border: 1px solid rgba(14,165,233,.22);
  border-radius: 14px;
  padding: 12px 14px;
}
.afp-event-partner-sync-field label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:700;
  color:#0f172a;
}
.afp-event-partner-sync-field input[type="checkbox"]{
  margin-top:3px;
}

/* v1.5.199 — Eventos: seleção exclusiva de destino da receita */
.afp-event-partner-sync-options{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:8px 14px;
  margin-top:8px;
}
.afp-event-partner-sync-field .afp-event-partner-sync-options label{
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
}
.afp-event-partner-sync-field input[type="checkbox"]{
  width:16px !important;
  height:16px !important;
  min-width:16px !important;
  min-height:16px !important;
  margin:0 !important;
  flex:0 0 16px;
}
.afp-event-partner-sync-field > strong{
  display:block;
  color:#0f172a;
  margin-bottom:2px;
}
