.so-app{
  align-content:start!important;
  align-items:stretch!important;
  align-self:start!important;
  column-gap:0!important;
  display:grid!important;
  flex:none!important;
  gap:0!important;
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:none!important;
  height:auto!important;
  justify-content:stretch!important;
  justify-self:stretch!important;
  min-height:0!important;
  max-width:820px!important;
  max-height:none!important;
  padding:0!important;
  width:calc(100% - 16px)!important;
  margin:8px auto!important;
  position:relative;
  row-gap:0!important;
}
.so-app-host{align-content:start!important;align-items:start!important;display:block!important;gap:0!important;height:auto!important;justify-content:start!important;margin:0!important;max-height:none!important;max-width:none!important;min-height:0!important;padding:0!important;row-gap:0!important;width:100%!important}
.so-app-host::before,.so-app-host::after{content:none!important;display:none!important;height:0!important;margin:0!important;padding:0!important}
.so-app-host>br,.so-app-host>p:empty,.so-app-host>p:has(>br:only-child){display:none!important;height:0!important;margin:0!important;min-height:0!important;padding:0!important}
.so-app::before,.so-app::after,.so-app>.so-header::before,.so-app>.so-header::after,.so-app>main::before,.so-app>main::after,.so-app [data-so-office-home]::before,.so-app [data-so-office-home]::after,.so-app [data-so-office-filter]::before,.so-app [data-so-office-filter]::after,.so-app [data-so-office-workspace]::before,.so-app [data-so-office-workspace]::after,.so-app [data-so-office-panel]::before,.so-app [data-so-office-panel]::after,.so-app .so-office-actions::before,.so-app .so-office-actions::after{content:none!important;display:none!important;height:0!important;margin:0!important;min-height:0!important;padding:0!important}
.so-app>br,.so-app>p:empty,.so-app>main>br,.so-app>main>p:empty,.so-app [data-so-office-home]>br,.so-app [data-so-office-filter]>br,.so-app [data-so-office-workspace]>br{display:none!important;height:0!important;margin:0!important;padding:0!important}
.so-app>.so-header,.so-app>main,.so-app [data-so-office-home],.so-app [data-so-office-filter],.so-app [data-so-office-workspace]{margin-block:0!important;padding-block-start:0!important}
.so-app [data-so-office-home]>h3,.so-app [data-so-office-filter]>h3,.so-app [data-so-office-filter]>h4{margin-block:0 5px!important;padding-block:0!important}
.so-app [data-so-office-home]>.so-office-actions{margin-block:0!important}
.so-app main[data-so-main]{align-content:start!important;display:grid!important;gap:0!important;grid-auto-flow:row!important;grid-auto-rows:max-content!important}
.so-app [data-so-office-home]:not([hidden]),.so-app [data-so-office-filter]:not([hidden]),.so-app [data-so-office-workspace]:not([hidden]){align-content:start!important;display:grid!important;gap:4px!important;grid-auto-flow:row!important;grid-auto-rows:max-content!important;height:auto!important;justify-content:stretch!important}
.so-app [data-so-office-home]>*:not([hidden]),.so-app [data-so-office-filter]>*:not([hidden]),.so-app [data-so-office-workspace]>*:not([hidden]){margin-block-start:0!important;margin-block-end:0!important}
.so-app .so-header{padding:10px 14px!important}
.so-app .so-header h2{font-size:22px!important;line-height:1.15!important;margin:0!important}
.so-app main,.so-app .so-gate{margin:0!important;padding:10px 12px!important;min-height:0!important}
.so-app section,.so-app form,.so-app [data-so-workspace],.so-app [data-so-panel]{min-height:0!important}
.so-app form,.so-app [data-so-workspace],.so-app [data-so-panel]{margin:0!important;padding:0!important}
.so-app form.so-gate{margin:0 auto!important;max-width:520px;padding:10px 12px!important}
.so-app .so-event-title{margin:0!important;padding:0!important}
.so-app .so-event-title h3{font-size:22px!important;line-height:1.2!important;margin:2px 0!important}
.so-app .so-event-title p{line-height:1.2!important;margin:2px 0 7px!important}
.so-app .so-link{margin:0 0 3px!important;padding:5px 8px!important}
.so-app .so-form-grid{gap:6px 8px!important;margin:0!important}
.so-app label:not(.so-seva-main):not(.so-save-profile){display:block!important;margin:0!important;padding-top:0!important;position:static!important}
.so-app [hidden]{display:none!important}
.so-app label[hidden][hidden]{display:none!important}
.so-app[data-mode="devotee"] input[name="email"]{background:#fff!important;border:2px solid #173e5b!important;color:#172b3a!important;opacity:1!important}
.so-app form.is-email-locked :disabled{background:#eceff1!important;color:#69757d!important;opacity:.7!important}
.so-app form.is-email-locked fieldset,.so-app form.is-email-locked>.so-total,.so-app form.is-email-locked>[data-so-submit],.so-app form.is-email-locked>label{opacity:.58!important;pointer-events:none!important}
.so-app input,.so-app textarea,.so-app select{display:block!important;margin:2px 0 0!important;padding:7px 8px!important;width:100%!important}
.so-app input[type=checkbox],.so-app input[type=radio]{display:inline-block!important;margin:0!important;min-height:0!important;padding:0!important;width:auto!important}
.so-app textarea{min-height:70px!important}
.so-app fieldset{margin:8px 0!important;padding:9px!important;min-height:0!important}
.so-app legend{font-size:15px!important;line-height:1.2!important}
.so-app .so-seva-group h4{margin:5px 0 2px!important;padding:5px 7px!important}
.so-app .so-seva{padding:6px 3px!important}
.so-app .so-seva-detail{margin-top:5px!important}
.so-app .so-payment-options{gap:6px!important}
.so-app .so-payment-options label{align-items:center!important;display:flex!important;padding:6px 8px!important}
.so-app .so-note{margin:6px 0!important;padding:8px!important}
.so-app [data-so-profile-note]{margin:0 0 7px!important;padding:7px 9px!important}
.so-app label.so-save-profile{gap:6px!important;margin:7px 0!important}
.so-app label.so-payment-received{align-items:center!important;background:#eef6fb;border:1px solid #9ac2dd;border-radius:7px;display:flex!important;gap:7px!important;margin:7px 0!important;padding:8px 9px!important}
.so-app label.so-payment-received input{flex:0 0 auto!important;margin:0!important;width:auto!important}
.so-app .so-total{font-size:18px!important;margin:8px 0!important}
.so-app .so-primary{margin:0!important}
.so-app .so-status{margin:5px 0 0!important}
.so-app .so-status:empty{display:none!important}
.so-app .so-submission-success{margin:0!important;max-width:100%!important;overflow:hidden!important;overflow-wrap:anywhere!important;padding:12px!important;word-break:break-word!important}
.so-app .so-submission-success p{max-width:100%!important;white-space:normal!important}
.so-app .so-submission-success p:last-child{margin-bottom:0!important}
.so-app[data-mode="priest"]{max-width:none!important;width:100%!important}
.so-app[data-mode="priest"] main{padding-top:6px!important}
.so-app[data-mode="priest"] .so-event-title h3{margin-top:0!important}
.so-app[data-mode="priest"] .so-event-title p{margin-bottom:3px!important}
.so-app .so-today-card{background:#eef7fb;border-width:2px}
.so-app .so-event-list{align-items:stretch!important;display:grid!important;gap:10px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:6px 0!important;width:100%!important}
.so-app button.so-event-card{align-content:start!important;align-items:start!important;background:rgba(255,255,255,.94)!important;border:1px solid #9eb6c5!important;border-left:5px solid #bd641d!important;border-radius:8px!important;color:#173e5b!important;display:grid!important;gap:4px!important;grid-template-columns:minmax(0,1fr)!important;height:auto!important;justify-content:stretch!important;min-height:76px!important;min-width:0!important;overflow:hidden!important;padding:11px 13px!important;text-align:left!important;white-space:normal!important;width:100%!important}
.so-app button.so-event-card:hover{background:#f4f8fa!important;border-color:#6d94aa!important;border-left-color:#bd641d!important}
.so-app button.so-event-card strong,.so-app button.so-event-card span{display:block!important;line-height:1.3!important;margin:0!important;max-width:100%!important;min-width:0!important;overflow-wrap:anywhere!important;text-align:left!important;white-space:normal!important;width:100%!important;word-break:normal!important}
.so-app button.so-event-card strong{color:#173e5b!important;font-size:17px!important;font-weight:750!important}
.so-app button.so-event-card span{color:#425c6d!important;font-size:13px!important;font-weight:500!important}
.so-app .so-priest-panel{align-content:start!important;display:grid!important;gap:2px!important;grid-auto-flow:row!important;grid-auto-rows:max-content!important;margin:0!important;padding:0!important;width:100%}
.so-app .so-priest-list-title{color:#173e5b;font-size:18px;line-height:1.15;margin:0!important;padding:0!important;text-align:center}
.so-app .so-priest-controls{align-items:end;display:grid;gap:4px;grid-template-columns:minmax(180px,1fr) auto;margin:0!important;padding:0!important}
.so-app .so-priest-controls label{font-weight:700}
.so-app .so-priest-results{overflow:visible;padding:0;width:100%}
.so-app .so-priest-event-heading{background:#e7eef3;border-left:5px solid #bd641d;color:#173e5b;font-size:21px;line-height:1.2;margin:9px 0 0!important;padding:7px 9px}
.so-app .so-priest-group{margin:0 0 7px!important;width:100%}
.so-app .so-priest-group>h3{align-items:center;background:#173e5b;color:#fff;display:flex;font-size:18px;gap:8px;justify-content:space-between;margin:0!important;padding:7px 9px;position:sticky;top:0;z-index:2}
.so-app .so-priest-group>h3 small{background:rgba(255,255,255,.18);border-radius:999px;font-size:12px;padding:4px 8px;white-space:nowrap}
.so-app .so-priest-family-row{align-items:start;background:rgba(255,255,255,.82);border-bottom:1px solid #cbd6dd;display:grid;gap:7px;grid-template-columns:30px minmax(0,1fr);margin:0;padding:7px 8px;width:100%}
.so-app .so-priest-family-row:nth-of-type(even){background:rgba(240,246,249,.88)}
.so-app .so-priest-family-number{align-items:center;background:#dce8ef;border-radius:50%;color:#173e5b;display:flex;font-size:13px;font-weight:800;height:26px;justify-content:center;line-height:1;width:26px}
.so-app .so-priest-family-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:2px 12px;min-width:0}
.so-app .so-priest-family-row h4{color:#173e5b;font-size:19px;line-height:1.15;margin:0 0 3px!important;overflow-wrap:anywhere}
.so-app .so-priest-gotra{font-size:15px;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.so-app .so-priest-nama{display:block!important;font-size:15px;grid-column:1/-1;line-height:1.3;min-width:0!important;overflow-wrap:anywhere!important;white-space:normal!important;width:100%!important;word-break:break-word!important}
.so-app .so-office-actions{display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.so-app .so-office-actions button{display:block!important;height:auto!important;min-width:0!important;text-align:left;white-space:normal!important;width:100%!important}
.so-app .so-office-actions strong,.so-app .so-office-actions span{display:block}
.so-app .so-office-actions strong,.so-app .so-office-actions span{overflow-wrap:anywhere;white-space:normal!important}
.so-app .so-office-actions span{font-size:13px;font-weight:400;line-height:1.3;margin-top:3px}
.so-app .so-date-choice{align-items:end;background:#f3f7f9;border:1px solid #cbd7de;border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(170px,1fr) auto;margin:7px 0 12px;padding:9px}
.so-app .so-office-toolbar{display:flex;gap:8px;justify-content:space-between;margin-bottom:3px}
.so-app .so-office-toolbar .so-link{float:none!important}
.so-app .so-office-result-card{background:rgba(255,255,255,.9);border:1px solid #c6d3db;border-radius:7px;margin:6px 0;padding:9px;position:relative}
.so-app .so-office-result-card h4{color:#173e5b;font-size:18px;margin:0 80px 4px 0!important}
.so-app .so-office-result-card h4 small{font-size:12px}
.so-app .so-office-result-card p{line-height:1.3;margin:3px 0!important;overflow-wrap:anywhere}
.so-app .so-result-total{color:#173e5b;font-size:20px;font-weight:800;position:absolute;right:9px;top:9px}
.so-app [data-so-payment-form]{background:#f3f7f9;border:2px solid #2271b1;border-radius:9px;margin-top:10px!important;padding:10px!important}
.so-app .so-report-overall{display:grid;gap:7px;grid-template-columns:repeat(3,1fr);margin:7px 0}
.so-app .so-report-overall>div{background:#173e5b;border-radius:7px;color:#fff;padding:9px;text-align:center}
.so-app .so-report-overall strong,.so-app .so-report-overall span{display:block}
.so-app .so-report-overall strong{font-size:21px}
.so-app .so-report-overall span{font-size:11px}
.so-app .so-report-summary-rows{border:1px solid #cbd7de;border-radius:7px;margin-bottom:9px}
.so-app .so-report-summary-rows>div{display:flex;gap:8px;justify-content:space-between;padding:6px 8px}
.so-app .so-report-summary-rows>div+div{border-top:1px solid #dce4e9}
.so-app .so-report-summary-rows strong{white-space:nowrap}

/* Keep protected-mode menus and result screens compact even when the site theme
   applies full-height or flexbox rules to main/section elements. */
.so-app main[data-so-main]{align-content:start!important;display:grid!important;grid-auto-flow:row!important;grid-auto-rows:max-content!important;height:auto!important;justify-content:stretch!important;min-height:0!important}
.so-app main[data-so-main][hidden]{display:none!important}
.so-app [data-so-office-home],.so-app [data-so-office-filter],.so-app [data-so-office-workspace]{align-content:start!important;align-items:stretch!important;display:grid!important;flex:none!important;gap:4px!important;grid-auto-flow:row!important;grid-auto-rows:max-content!important;height:auto!important;justify-content:stretch!important;margin:0!important;min-height:0!important;padding:0!important}
.so-app [data-so-office-home][hidden],.so-app [data-so-office-filter][hidden],.so-app [data-so-office-workspace][hidden]{display:none!important}
.so-app [data-so-office-home]>h3,.so-app [data-so-office-filter]>h3,.so-app [data-so-office-filter]>h4{line-height:1.25!important;margin:3px 0 7px!important}
.so-app .so-office-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin:5px 0!important;width:100%}
.so-app .so-office-actions button{min-height:68px!important;padding:9px 11px!important}
.so-app [data-so-office-workspace]>.so-office-toolbar{margin:0 0 3px!important}
.so-app [data-so-office-workspace]>.so-event-title{clear:both;height:auto!important;margin:0 0 4px!important;min-height:0!important}
.so-app [data-so-office-workspace]>[data-so-office-panel]{display:block!important;height:auto!important;margin:0!important;min-height:0!important;padding:0!important}
.so-app [data-so-office-workspace]>[data-so-office-panel][hidden]{display:none!important}
.so-app [data-so-office-panel]>h4{line-height:1.25!important;margin:3px 0 5px!important}
.so-app [data-so-office-filter],.so-app [data-so-office-workspace],.so-app [data-so-office-panel]{line-height:1.35!important}
.so-app [data-so-office-filter]>.so-link,.so-app [data-so-office-workspace]>.so-office-toolbar{margin-bottom:4px!important}
.so-app [data-so-office-filter]>.so-date-choice{margin:5px 0 7px!important}
.so-app [data-so-office-filter]>.so-event-list{margin-top:3px!important}
.so-app [data-so-office-workspace]>.so-event-title{margin-bottom:3px!important}
.so-app [data-so-office-workspace]>.so-event-title h3{font-size:20px!important}
.so-app [data-so-office-workspace]>.so-event-title p{font-size:13px!important}
.so-app [data-so-office-workspace] .so-priest-list-title{margin:2px 0 4px!important}
.so-app [data-so-office-workspace] .so-priest-controls{margin:0 0 3px!important}

@media(max-width:650px){
  .so-app{border-radius:7px!important;margin:4px auto!important;width:calc(100% - 8px)!important}
  .so-app[data-mode="temple"],.so-app[data-mode="priest"],.so-app[data-mode="admin"]{border-left:0!important;border-radius:0!important;border-right:0!important;left:0!important;margin:0!important;max-width:100%!important;position:relative!important;transform:none!important;width:100%!important}
  .so-app .so-header{padding:8px 9px!important}
  .so-app .so-header h2{font-size:19px!important}
  .so-app .so-kicker{font-size:9px!important;letter-spacing:.06em!important}
  .so-app .so-mode{font-size:10px!important;padding:4px 7px!important}
  .so-app main,.so-app .so-gate{padding:4px!important}
  .so-app .so-event-title h3{font-size:19px!important}
  .so-app .so-event-title p{font-size:13px!important;margin-bottom:5px!important}
  .so-app .so-form-grid{gap:5px!important;grid-template-columns:1fr!important}
  .so-app .so-span-2{grid-column:auto!important}
  .so-app input,.so-app select{min-height:39px!important}
  .so-app textarea{min-height:62px!important}
  .so-app fieldset{margin:7px 0!important;padding:7px!important}
  .so-app .so-payment-options{display:grid!important;grid-template-columns:1fr!important}
  .so-app .so-payment-options label{min-height:38px!important}
  .so-app .so-seva-main{grid-template-columns:auto 1fr!important}
  .so-app .so-seva-price{grid-column:2!important}
  .so-app .so-seva-detail,.so-app .so-requirement{margin-left:25px!important}
  .so-app .so-primary{min-height:42px!important;width:100%!important}
  .so-app .so-priest-controls{grid-template-columns:1fr}
  .so-app .so-priest-list-title{font-size:17px;line-height:1.1;margin:0!important;padding:0!important}
  .so-app .so-priest-event-heading{font-size:18px;margin-top:6px!important;padding:6px 7px}
  .so-app .so-priest-group>h3{font-size:16px;padding:6px 7px}
  .so-app .so-priest-results{margin:0!important;padding:0!important;width:100%!important}
  .so-app .so-priest-group{margin-left:0!important;margin-right:0!important;width:100%!important}
  .so-app [data-so-office-panel][hidden],.so-app [data-so-office-home][hidden],.so-app [data-so-office-filter][hidden],.so-app [data-so-office-workspace][hidden]{display:none!important;height:0!important;margin:0!important;min-height:0!important;overflow:hidden!important;padding:0!important}
  .so-app .so-priest-family-row{gap:4px;grid-template-columns:25px minmax(0,1fr);padding:5px 3px}
  .so-app .so-priest-family-number{font-size:11px;height:22px;width:22px}
  .so-app .so-priest-family-row h4{font-size:18px}
  .so-app .so-priest-family-heading{gap:1px 8px}
  .so-app .so-priest-gotra,.so-app .so-priest-nama{font-size:17px;line-height:1.3}
  .so-app .so-priest-nama{grid-column:1/-1;margin:0!important;padding:0 1px!important;width:100%!important}
  .so-app .so-office-actions{grid-template-columns:1fr}
  .so-app .so-event-list{grid-template-columns:1fr!important}
  .so-app button.so-event-card{min-height:64px!important;padding:9px 10px!important}
  .so-app [data-so-office-workspace]>.so-office-toolbar{gap:4px!important;margin-bottom:2px!important}
  .so-app [data-so-office-workspace]>.so-office-toolbar .so-link{font-size:12px!important;padding:5px 6px!important}
  .so-app [data-so-office-workspace]>.so-event-title h3{font-size:18px!important}
  .so-app [data-so-office-workspace]>.so-event-title p{font-size:12px!important;margin-bottom:3px!important}
  .so-app [data-so-office-workspace]>.so-event-title{margin:0!important;padding:0!important}
  .so-app [data-so-office-panel="sankalpa"]{gap:1px!important;margin:0!important;padding:0!important}
  .so-app [data-so-office-panel="sankalpa"]>.so-priest-controls{margin:0!important;padding:0!important}
  .so-app [data-so-office-panel="sankalpa"]>.so-priest-results{margin:0!important;padding:0!important}
  .so-app .so-office-actions button{min-height:54px;width:100%}
  .so-app .so-date-choice{grid-template-columns:1fr}
  .so-app .so-report-overall{gap:4px}
  .so-app .so-report-overall>div{padding:7px 3px}
  .so-app .so-report-overall strong{font-size:17px}
  .so-app .so-report-summary-rows>div{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto}
}

/* Appearance settings: intentionally last so the temple design is not
   replaced by button, form, or typography rules from the WordPress theme. */
.so-app{background:var(--so-bg)!important;color:var(--so-text)!important;font-family:var(--so-font)!important;font-size:var(--so-base-size)!important}
.so-app,.so-app *{font-family:var(--so-font)!important}
.so-app .so-header{background:var(--so-header)!important}
.so-app button{background:var(--so-surface)!important;border-color:var(--so-action)!important;border-radius:var(--so-radius)!important;color:var(--so-action)!important}
.so-app .so-office-actions button,.so-app button.so-link{background:var(--so-action)!important;border-color:var(--so-action)!important;color:#fff!important}
.so-app .so-office-actions button strong,.so-app .so-office-actions button span{color:#fff!important}
.so-app .so-primary,.so-app .so-gate>button{background:var(--so-accent)!important;border-color:var(--so-accent)!important;color:#fff!important}
.so-app input,.so-app textarea,.so-app select,.so-app button.so-event-card,.so-app .so-priest-family-row,.so-app .so-office-result-card{background:var(--so-surface)!important;color:var(--so-text)!important}
.so-app input,.so-app textarea,.so-app select,.so-app fieldset,.so-app .so-note,.so-app .so-date-choice,.so-app .so-office-result-card{border-radius:var(--so-radius)!important}
.so-app button.so-event-card{border-left-color:var(--so-accent)!important;color:var(--so-header)!important}
.so-app button.so-event-card strong,.so-app .so-priest-list-title,.so-app .so-priest-event-heading,.so-app .so-priest-family-row h4,.so-app .so-priest-family-number,.so-app .so-office-result-card h4,.so-app .so-result-total{color:var(--so-header)!important}
.so-app .so-priest-event-heading{border-left-color:var(--so-accent)!important}
.so-app .so-priest-group>h3,.so-app .so-report-overall>div{background:var(--so-header)!important;color:#fff!important}
.so-app,.so-app main,.so-app [data-so-panel="register"],.so-app [data-so-office-panel="register"],.so-app form[data-so-register-form],.so-app form[data-so-register-form] fieldset{background:transparent!important}
.so-app{box-shadow:none!important}
.so-app [data-so-participation-requirements]{margin-top:7px}
.so-app [data-so-participation-requirements] .so-requirement{margin-left:0!important}
.so-app .so-priest-gotra,.so-app .so-priest-nama{font-size:var(--so-priest-size)!important}
