/* Servixo 4.15 focused fixes and entitlements */
.sx-update-details + .sx-files-database,
.sx-update-change-list + details,
.sx-change-list + details,
.sx-update-notes + details{margin-top:24px!important}
.sx-portal-cta-public{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px!important;max-width:780px}
.sx-public-portal-button{min-height:92px!important;border:0!important;color:#fff!important;justify-content:flex-start!important;box-shadow:0 16px 36px rgba(20,55,70,.15)!important}
.sx-public-portal-button span,.sx-public-portal-button small{color:#fff!important}
.sx-company-portal-button{background:linear-gradient(135deg,#79bfc7,#5faab5)!important}
.sx-employee-portal-button{background:linear-gradient(135deg,#b396cf,#9579b8)!important}
.sx-public-portal-button .sx-cta-icon{background:rgba(255,255,255,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.32)!important}
.sx-public-portal-button .sx-cta-icon svg{stroke:#fff!important;fill:none!important;stroke-width:1.8}
.sx-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.mc-filter-grid{display:grid!important;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(180px,1fr) auto!important;gap:12px!important;align-items:end!important}
.mc-filter-grid>*{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.mc-filter-grid .cp-btn{width:auto!important;min-width:96px!important;justify-self:end}
.sx415-payments-layout .sx415-balance-list-card{order:1}.sx415-payments-layout .sx415-payment-form-card{order:2}
.sx415-plan-modules{border:1px solid var(--sx-border,#d8e7e2);border-radius:14px;padding:16px;margin:12px 0 18px}.sx415-plan-modules legend{font-weight:800;padding:0 8px}.sx415-plan-modules>p{margin:0 0 12px;color:var(--sx-muted,#657b74);font-size:13px}.sx415-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sx415-module-option{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:12px!important;border:1px solid var(--sx-border,#d8e7e2);border-radius:12px;background:var(--sx-soft,#f7fbfa)}.sx415-module-option input{width:18px!important;height:18px!important;min-width:18px!important;margin-top:2px}.sx415-module-option span{display:grid;gap:2px}.sx415-module-option small{font-size:12px;color:var(--sx-muted,#657b74);line-height:1.35}
.cp-photo-card img{display:block!important;visibility:visible!important;opacity:1!important;min-height:150px;object-fit:cover}
.cp-subtle{display:block!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;margin:5px 0 0!important;color:var(--cp-muted,#688079)!important;box-shadow:none!important}
@media(max-width:900px){.mc-filter-grid{grid-template-columns:1fr 1fr!important}.mc-filter-grid .cp-btn{justify-self:stretch;width:100%!important}.sx415-module-grid{grid-template-columns:1fr}.sx-portal-grid{grid-template-columns:1fr!important}}
@media(max-width:640px){.sx-portal-cta-public{grid-template-columns:1fr}.mc-filter-grid{grid-template-columns:1fr!important}.sx415-payments-layout{display:flex!important;flex-direction:column}.sx415-balance-list-card{order:1!important}.sx415-payment-form-card{order:2!important}}

/* Compact, consistent plan and add-on switches. */
.sx-billing48 .sx-switch-card{min-height:52px!important;padding:12px 14px!important;border-radius:12px!important}
.sx-billing48 .sx-switch-card input[type="checkbox"]{appearance:none!important;width:44px!important;height:24px!important;min-width:44px!important;border-radius:999px!important;background:#cbd8d5!important;position:relative!important;border:0!important;margin:0!important;box-shadow:none!important}
.sx-billing48 .sx-switch-card input[type="checkbox"]:before{content:""!important;position:absolute!important;width:18px!important;height:18px!important;left:3px!important;top:3px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 2px 7px rgba(4,34,28,.18)!important;transition:transform .18s ease!important}
.sx-billing48 .sx-switch-card input[type="checkbox"]:checked:before{transform:translateX(20px)!important}

.sx415-subscription-overrides{margin:8px 0 2px;padding:18px;border:1px solid var(--sx-line,#d8e2df);border-radius:12px;background:color-mix(in srgb,var(--sx-panel,#fff) 94%,var(--sx-accent,#1f8f78) 6%)}
.sx415-subscription-overrides legend{padding:0 8px;font-weight:800}
.sx415-subscription-overrides>p{margin:0 0 14px;color:var(--sx-muted,#66746f);font-size:.9rem}
.sx415-override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sx415-override-grid label{display:grid;gap:7px;min-width:0}
.sx415-override-grid label>span{font-size:.88rem;font-weight:750}
@media(max-width:720px){.sx415-override-grid{grid-template-columns:1fr}.sx415-subscription-overrides{padding:14px}}
