/* OrgFuse public app */
.of-app{max-width:860px;margin:0 auto;font-size:16px;line-height:1.5}
.of-header{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.of-header img{width:72px;height:72px;object-fit:contain;border-radius:8px}
.of-header h2{margin:0}
.of-header p{margin:4px 0 0;color:#555}
.of-card{background:#fff;border:1px solid #e2e2e2;border-radius:10px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.of-grid{display:flex;flex-wrap:wrap;gap:12px}
.of-field{display:flex;flex-direction:column;margin-bottom:10px;flex:1 1 100%}
/* grid_size N = 1/N of the row (legacy pure-u-1-N semantics) */
.of-grid .of-grid-1{flex-basis:100%}
.of-grid .of-grid-2{flex-basis:47%}
.of-grid .of-grid-3{flex-basis:30.5%}
.of-grid .of-grid-4{flex-basis:22%}
.of-grid .of-grid-6{flex-basis:14%}
.of-grid .of-grid-8{flex-basis:10%}
.of-grid .of-grid-12{flex-basis:100%}
.of-field label{font-weight:600;margin-bottom:4px}
.of-field input,.of-field select,.of-field textarea{padding:8px 10px;border:1px solid #ccc;border-radius:6px;font:inherit}
.of-field small{color:#666;margin-top:3px}
.of-req{color:#c00}
.of-radio-group{display:flex;gap:14px;flex-wrap:wrap}
.of-radio{font-weight:400;display:inline-flex;align-items:center;gap:8px;line-height:1.45;cursor:pointer}
.of-field input[type=checkbox],.of-field input[type=radio]{-webkit-appearance:auto!important;-moz-appearance:auto!important;appearance:auto!important;width:16px!important;height:16px!important;min-width:16px;min-height:16px!important;padding:0!important;border:0;border-radius:0;box-shadow:none;margin:3px 0 0;flex:0 0 auto;accent-color:#2271b1;opacity:1!important}
.of-field>.of-radio{margin-top:4px}
/* Add-on / consent / opt-in checkboxes live in .of-radio labels OUTSIDE .of-field,
   so the rule above never reached them — a theme's `appearance:none` then rendered
   a bare box with a mis-placed check. Force native rendering (a browser-centered
   checkmark), a fixed 16px size, and vertical centering with the label text. */
.of-radio input[type=checkbox],.of-radio input[type=radio],.of-addon input[type=checkbox],.of-addon input[type=radio],.of-consent input[type=checkbox]{-webkit-appearance:auto!important;-moz-appearance:auto!important;appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;margin:0!important;flex:0 0 auto!important;vertical-align:middle!important;accent-color:#2271b1!important;opacity:1!important}
.of-consent{align-items:flex-start}
.of-consent input[type=checkbox]{margin-top:2px!important}
.of-btn{padding:10px 18px;border-radius:6px;border:1px solid #bbb;background:#f5f5f5;cursor:pointer;font:inherit}
.of-btn-primary{background:#2271b1;border-color:#2271b1;color:#fff}
.of-btn:disabled{opacity:.5;cursor:not-allowed}
.of-error{background:#fdecea;border:1px solid #e5b3ae;color:#8a1f16;padding:10px 14px;border-radius:6px;margin-bottom:12px}
.of-loading{padding:30px;color:#555;display:flex;align-items:center;justify-content:center;gap:10px}
.of-loading::before{content:"";width:20px;height:20px;flex:0 0 auto;border:2px solid #d5dbe1;border-top-color:var(--of-brand,#2271b1);border-radius:50%;animation:of-spin .7s linear infinite}
.of-tier{background:#f0f6fb;padding:8px 12px;border-radius:6px}
.of-identity-note{margin:0 0 14px;padding:11px 14px;border:1px solid #cfe2f7;border-left:4px solid #2271b1;background:#eef5fd;border-radius:6px;font-size:14px;line-height:1.5;color:#1d2327}
.of-identity-note a{font-weight:600;text-decoration:underline}
.of-packages{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.of-package{border:2px solid #ddd;border-radius:8px;padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;min-width:180px}
.of-package.selected{border-color:#2271b1;background:#f0f6fb}
.of-package.closed{opacity:.55;cursor:not-allowed}
.of-package input{position:absolute;opacity:0}
.of-package-name{font-weight:700}
.of-package-price{font-size:1.15em}
.of-package-window{color:#a05a00;font-size:.85em}
.of-package-closed{color:#c00;font-size:.85em}
.of-addon{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #eee}
.of-addon input{width:70px;padding:6px;border:1px solid #ccc;border-radius:6px}
.of-total{font-size:1.3em;margin:16px 0;text-align:right}
.of-lines{color:#444}
.of-payment{margin-top:10px}
#of-payment-element{margin-bottom:14px}
.of-offline{margin-top:16px;border-top:1px dashed #ccc;padding-top:12px}
.of-done h3{color:#1a7a2e}
.of-table{width:100%;border-collapse:collapse;margin:10px 0}
.of-table th,.of-table td{border:1px solid #e2e2e2;padding:6px 10px;text-align:left}
.of-status-paid strong{color:#1a7a2e}
.of-status-pending_approval strong{color:#a05a00}
@media(max-width:640px){.of-grid .of-field{flex-basis:100%!important}}
.of-spinner{display:inline-block;width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:of-spin .7s linear infinite}
@keyframes of-spin{to{transform:rotate(360deg)}}
.of-closed h3{color:#a05a00;text-align:center;margin:20px 0}
.of-info-block{background:#f8f7f2;border:1px solid #e8e4d8;border-radius:8px;padding:14px 18px}
.of-info-block h4{margin:0 0 8px}
.of-info-body{color:#333}
.of-info-body p{margin:.5em 0}
.of-file-note{color:#888}
.of-events{display:flex;flex-direction:column;gap:10px}
.of-event-choice{display:flex;align-items:center;gap:14px;padding:12px 16px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;text-align:left;font:inherit}
.of-event-choice:hover{border-color:#2271b1;background:#f0f6fb}
.of-event-choice img{width:48px;height:48px;object-fit:contain}
.of-event-title{font-weight:700;font-size:1.05em}
.of-event-meta{color:#666;margin-left:auto}
.of-intro{background:#fbfaf6}
.of-intro-letter{border-top:1px dashed #ddd;margin-top:10px;padding-top:10px}
.of-btn-doc{display:inline-block;text-decoration:none;background:#f0f6fb;border-color:#2271b1;color:#2271b1;font-weight:600}
.of-help{color:#777;font-style:italic}
.of-pay-instructions,.of-pay-methods li,.of-check-address{white-space:pre-line}
.of-addon-info{flex:1}
.of-addon-controls{display:flex;gap:8px;align-items:center}
.of-addon-controls select{padding:6px 8px;border:1px solid #ccc;border-radius:6px;max-width:240px}
.of-section{margin-bottom:8px}
.of-repeater{margin:6px 0 14px}
.of-repeater-row{border:1px solid #e2e2e2;border-radius:8px;padding:12px;margin-bottom:10px;background:#fafafa}
.of-repeater-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.of-repeater-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.of-repeater-caret{color:var(--of-brand);font-size:12px;line-height:1}
.of-repeater-name{color:#555;font-weight:400}
.of-repeater-actions{display:flex;gap:6px;flex-shrink:0}
.of-repeater-row.is-collapsed{padding:8px 12px;background:#fff}
.of-rating{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.of-star{background:none;border:0;padding:0 2px;font-size:26px;line-height:1;color:#d4d4d4;cursor:pointer}
.of-star.on{color:#f5b301}
.of-star:hover{color:#f5c542}
.of-rating-clear{background:none;border:0;color:#777;font-size:12px;cursor:pointer;margin-left:6px;text-decoration:underline}
.of-scale-btns{display:flex;flex-wrap:wrap;gap:6px}
.of-scale-btn{min-width:40px;padding:9px 0;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer;font:inherit;color:inherit}
.of-scale-btn:hover{border-color:var(--of-brand)}
.of-scale-btn.on{background:var(--of-brand);color:var(--of-brand-text);border-color:var(--of-brand)}
.of-scale-ends{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-top:5px}
.of-nps .of-scale-btn{min-width:34px}
.of-btn-small{padding:3px 10px;font-size:12px}
.of-amount input{width:90px;padding:6px;border:1px solid #ccc;border-radius:6px}
.of-auto-qty{display:inline-block;min-width:32px;text-align:center;font-weight:700;background:#eef4fb;border-radius:6px;padding:4px 8px}

/* ===== Form engine v2: real 12-column grid (overrides earlier fake grid) ===== */
.of-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:start}
.of-grid .of-field{grid-column:span 12;margin-bottom:0}
.of-grid .of-grid-1{grid-column:span 1}
.of-grid .of-grid-2{grid-column:span 2}
.of-grid .of-grid-3{grid-column:span 3}
.of-grid .of-grid-4{grid-column:span 4}
.of-grid .of-grid-5{grid-column:span 5}
.of-grid .of-grid-6{grid-column:span 6}
.of-grid .of-grid-7{grid-column:span 7}
.of-grid .of-grid-8{grid-column:span 8}
.of-grid .of-grid-9{grid-column:span 9}
.of-grid .of-grid-10{grid-column:span 10}
.of-grid .of-grid-11{grid-column:span 11}
.of-grid .of-grid-12{grid-column:span 12}
.of-field input,.of-field select,.of-field textarea{width:100%}
@media(max-width:640px){.of-grid .of-field{grid-column:span 12 !important}}

/* Add-on rows: padding + spacing (esp. colored bgcolor rows) */
.of-addons{display:flex;flex-direction:column;gap:8px}
.of-addon{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border:1px solid #e6e6e6;border-radius:8px}
.of-addon-controls{flex-shrink:0}

/* Inline validation */
.of-field-error input,.of-field-error select,.of-field-error textarea{border-color:#d63638 !important;background:#fff6f6}
.of-inline-error{color:#8a1f16;font-size:12px;margin-top:3px;display:block}
/* Guest checkout: identity + optional account-creation block. */
.of-guest-fields{margin-bottom:8px}
.of-create-account{font-weight:500;background:#f6f7f7;border:1px solid #e0e0e0;border-radius:6px;padding:9px 11px}
.of-account-block{border:1px solid #e0e0e0;border-left:3px solid #2271b1;border-radius:6px;padding:10px 12px;margin-top:8px;background:#fbfcfd}
.of-pw-wrap{position:relative;display:flex;align-items:center}
.of-pw-wrap input{flex:1;padding-right:38px}
.of-pw-toggle{position:absolute;right:6px;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;padding:4px}
.of-pw-meter{display:flex;align-items:center;gap:8px;margin-top:5px}
.of-pw-bar{flex:1;height:6px;background:#e6e6e6;border-radius:3px;overflow:hidden}
.of-pw-bar>span{display:block;height:100%;border-radius:3px;transition:width .15s ease,background .15s ease}
.of-pw-meter small{white-space:nowrap;font-weight:600}
.of-error-summary{background:#fdecea;border:1px solid #e5b3ae;color:#8a1f16;padding:10px 14px;border-radius:6px;margin-bottom:12px}

/* ===== OrgFuse owns its CSS: theme isolation + brand theming ===== */
#orgfuse-app,#orgfuse-membership,#orgfuse-account{--of-brand:#2271b1;--of-brand-text:#fff;--of-accent:#1a7a2e}
/* Buttons: fully self-defined so no theme washes them out (opacity/filter/bg). */
#orgfuse-app .of-btn,#orgfuse-membership .of-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 18px;border-radius:6px;border:1px solid #c7c7c7;background:#f3f4f5;color:#1d2327;
  font:inherit;font-weight:600;line-height:1.2;cursor:pointer;opacity:1;filter:none;
  text-decoration:none;text-shadow:none;box-shadow:none;transition:background .12s,border-color .12s}
#orgfuse-app .of-btn:hover,#orgfuse-membership .of-btn:hover{background:#e9eaec;border-color:#a9a9a9;color:#1d2327}
#orgfuse-app .of-btn-primary,#orgfuse-membership .of-btn-primary{
  background:var(--of-brand);border-color:var(--of-brand);color:var(--of-brand-text)}
#orgfuse-app .of-btn-primary:hover,#orgfuse-membership .of-btn-primary:hover{
  background:var(--of-brand);border-color:var(--of-brand);color:var(--of-brand-text);filter:brightness(.92)}
#orgfuse-app .of-btn:disabled,#orgfuse-membership .of-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}
#orgfuse-app .of-btn-doc,#orgfuse-membership .of-btn-doc{background:#eef4fb;border-color:var(--of-brand);color:var(--of-brand)}
/* Repeater "add" button reads as a friendly branded action, not a washed ghost. */
#orgfuse-app .of-repeater>.of-btn{border-style:dashed;border-color:var(--of-brand);color:var(--of-brand);background:#f7fafd}
#orgfuse-app .of-repeater>.of-btn:hover{background:var(--of-brand);color:var(--of-brand-text);border-style:solid}
/* Selected package + links use brand. */
#orgfuse-app .of-package.selected{border-color:var(--of-brand);background:#f2f7fb}
#orgfuse-app .of-tier a,#orgfuse-app .of-intro a:not(.of-btn){color:var(--of-brand)}
#orgfuse-app .of-done h3,#orgfuse-membership .of-done h3{color:var(--of-accent)}
/* Inputs shouldn't inherit theme quirks. */
#orgfuse-app .of-field input,#orgfuse-app .of-field select,#orgfuse-app .of-field textarea,
#orgfuse-membership .of-field input,#orgfuse-membership .of-field select,#orgfuse-membership .of-field textarea{
  background:#fff;color:#1d2327;box-shadow:none}
/* Selects: custom caret + reserved right padding so the arrow never sits over the value. */
#orgfuse-app select,#orgfuse-membership select{-webkit-appearance:none !important;-moz-appearance:none !important;appearance:none !important;padding-right:30px !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23555' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 11px center !important;background-size:10px 6px !important}

/* Defeat theme !important on buttons (Themify sets color:#fff!important on all buttons). */
#orgfuse-app .of-btn,#orgfuse-membership .of-btn{color:#1d2327 !important;background:#f3f4f5 !important;border-color:#c7c7c7 !important;-webkit-appearance:none !important;text-transform:none !important}
#orgfuse-app .of-btn:hover,#orgfuse-membership .of-btn:hover{color:#1d2327 !important;background:#e9eaec !important;border-color:#a9a9a9 !important}
#orgfuse-app .of-btn-primary,#orgfuse-membership .of-btn-primary{color:var(--of-brand-text) !important;background:var(--of-brand) !important;border-color:var(--of-brand) !important}
#orgfuse-app .of-btn-primary:hover,#orgfuse-membership .of-btn-primary:hover{color:var(--of-brand-text) !important;background:var(--of-brand) !important;filter:brightness(.92)}
#orgfuse-app .of-repeater>.of-btn{color:var(--of-brand) !important;background:#f7fafd !important;border-color:var(--of-brand) !important}
#orgfuse-app .of-repeater>.of-btn:hover{color:var(--of-brand-text) !important;background:var(--of-brand) !important}
#orgfuse-app .of-btn-doc{color:var(--of-brand) !important;background:#eef4fb !important;border-color:var(--of-brand) !important}

/* Same theme armor for the standalone form and dept-console mounts (Advanced Forms sign-in / reset, console actions). */
.orgfuse-form .of-btn,#orgfuse-dept-console .of-btn{color:#1d2327 !important;background:#f3f4f5 !important;border-color:#c7c7c7 !important;-webkit-appearance:none !important;text-transform:none !important}
.orgfuse-form .of-btn:hover,#orgfuse-dept-console .of-btn:hover{color:#1d2327 !important;background:#e9eaec !important;border-color:#a9a9a9 !important}
.orgfuse-form .of-btn-primary,#orgfuse-dept-console .of-btn-primary{color:var(--of-brand-text,#fff) !important;background:var(--of-brand,#2271b1) !important;border-color:var(--of-brand,#2271b1) !important}
.orgfuse-form .of-btn-primary:hover,#orgfuse-dept-console .of-btn-primary:hover{color:var(--of-brand-text,#fff) !important;background:var(--of-brand,#2271b1) !important;filter:brightness(.92)}
.orgfuse-form .of-btn:disabled,#orgfuse-dept-console .of-btn:disabled{opacity:.55 !important;cursor:not-allowed !important;filter:none}
.orgfuse-form .of-forgot-link{color:var(--of-accent,var(--of-brand,#1a7a2e)) !important;background:none !important;border:0 !important;padding:0 !important}
#orgfuse-app .of-btn:disabled,#orgfuse-membership .of-btn:disabled{opacity:.55 !important}
.of-paylater{margin-top:10px;padding-top:8px;border-top:1px dashed #ddd}
.of-coverage{margin:6px 0 12px;padding:8px 12px;border-radius:6px;font-size:14px}
.of-coverage-ok{background:#e7f6ec;color:#116329;border:1px solid #bfe3cb}
.of-coverage-warn{background:#fdf3e0;color:#7a4f01;border:1px solid #f0d9ac}
.of-account h2{margin:0 0 12px}
.of-account-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.of-account-head h2{margin:0}
#orgfuse-account .of-account-head .of-btn{margin-top:0}
.of-account-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:14px}
.of-account-table th,.of-account-table td{border:1px solid #e6e6e6;padding:7px 10px;text-align:left}
.of-account-table thead th{background:#f6f7f7}
#orgfuse-account .of-card{margin-bottom:16px}
#orgfuse-account .of-coverage{margin:6px 0 12px}
#orgfuse-account .of-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  margin-top:10px;text-decoration:none}
#orgfuse-account .of-btn-primary{background:var(--of-brand);border-color:var(--of-brand);color:var(--of-brand-text)}
#orgfuse-account .of-btn{color:#1d2327 !important;background:#f3f4f5 !important;border-color:#c7c7c7 !important;-webkit-appearance:none !important;text-transform:none !important}
#orgfuse-account .of-btn-primary{color:var(--of-brand-text) !important;background:var(--of-brand) !important;border-color:var(--of-brand) !important}
#orgfuse-account .of-btn-primary:hover{color:var(--of-brand-text) !important;background:var(--of-brand) !important;filter:brightness(.92)}

/* public form: counter + section break */
.of-counter{display:block;text-align:right;color:#787c82;font-size:11px}
.of-counter.over{color:#d63638;font-weight:600}
.of-section-break h4{margin:18px 0 2px;padding-top:12px;border-top:2px solid #e0e0e0;font-size:16px}

/* ---- composite address + confirm-email (#107) ---- */
.of-address{display:block}
.of-addr-legend{display:block;font-weight:600;margin-bottom:6px}
.of-addr-grid{display:flex;flex-wrap:wrap;margin:0 -6px}
.of-addr-cell{padding:0 6px 10px;box-sizing:border-box}
.of-addr-cell label{display:block;font-size:12px;color:#50575e;margin-bottom:3px;font-weight:400}
.of-addr-cell input,.of-addr-cell select{width:100%;box-sizing:border-box}
.of-addr-cell.of-grid-12{flex:0 0 100%}
.of-addr-cell.of-grid-6{flex:0 0 50%}
.of-addr-cell.of-grid-3{flex:0 0 25%}
@media (max-width:600px){
  .of-addr-cell.of-grid-6,.of-addr-cell.of-grid-3{flex:0 0 100%}
}
.of-confirm{display:block;margin-top:8px}
.of-confirm label{display:block;font-size:12px;color:#50575e;margin-bottom:3px}
.of-confirm input{width:100%;box-sizing:border-box}

/* ---- spam protection (#104) ---- */
/* Honeypot: off-screen rather than display:none — some bots skip hidden inputs
   entirely, and an off-screen field still looks "real" to them while being
   unreachable for people (tabIndex -1 + aria-hidden handle keyboard/AT). */
.of-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.of-turnstile{margin:14px 0}
.of-custom-confirm h1,.of-custom-confirm h2,.of-custom-confirm h3{margin-top:0}
.of-note-step1{background:#f0f6fc;border-left:4px solid #2271b1;padding:10px 14px;border-radius:4px;margin:14px 0;font-size:14px}
/* Step-2 recap of what was submitted with the approval request (read-only). */
.of-recap{background:#f6f7f7;border:1px solid #e0e0e0;border-radius:6px;padding:12px 14px;margin:0 0 14px}
.of-recap h3{margin:0 0 8px;font-size:15px}
.of-recap-list{margin:0;display:grid;gap:4px}
.of-recap-row{display:flex;gap:8px;font-size:14px}
.of-recap-row dt{margin:0;min-width:140px;color:#646970;font-weight:600}
.of-recap-row dd{margin:0}
.of-recap-note{margin:8px 0 0;font-size:12px;color:#787c82}

/* Add-a-gift at checkout (Donations add-on) */
#orgfuse-app .of-gift{border:1px solid #e2e5e9;border-radius:10px;background:#fafbfc;padding:12px 14px;margin:0 0 14px}
#orgfuse-app .of-gift-title{margin:0 0 8px;font-size:14px;font-weight:600;color:#1d2327}
#orgfuse-app .of-gift-amts{display:flex;flex-wrap:wrap;gap:6px}
#orgfuse-app .of-gift-btn{flex:0 1 auto;padding:8px 14px;border:2px solid #d4d8dd;background:#fff !important;color:#1d2327 !important;border-radius:8px;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer}
#orgfuse-app .of-gift-btn.on{border-color:var(--of-brand);background:var(--of-brand) !important;color:var(--of-brand-text) !important}
#orgfuse-app .of-gift-custom,#orgfuse-app .of-gift-fund{margin-top:8px;width:100%;max-width:220px;padding:9px;border:1px solid #ccd0d4;border-radius:8px;font-size:15px}

/* ===== Public events calendar [orgfuse_calendar] ===== */
#orgfuse-calendar{--ofc-brand:var(--of-brand,#2271b1);--ofc-line:#e3e8ed;color:#1d2327}
.ofc{font-size:14px}
.ofc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ofc-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ofc-title{font-size:20px;font-weight:700;margin:0 0 0 6px}
.ofc-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd2d9;background:#fff;color:#26313c;border-radius:7px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1}
.ofc-btn:hover{border-color:var(--ofc-brand);color:var(--ofc-brand)}
.ofc-arrow{font-size:16px;padding:6px 11px}
.ofc-views{display:inline-flex;border:1px solid #cbd2d9;border-radius:8px;overflow:hidden}
.ofc-vbtn{border:0;background:#fff;color:#3c4a58;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer}
.ofc-vbtn+.ofc-vbtn{border-left:1px solid #e3e8ed}
.ofc-vbtn.active{background:var(--ofc-brand);color:#fff}
.ofc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.ofc-search,.ofc-filter{border:1px solid #cbd2d9;border-radius:7px;padding:7px 10px;font-size:13px}
.ofc-search{min-width:200px}
.ofc-spacer{flex:1}
.ofc-dates{display:inline-flex;align-items:center;gap:4px}
.ofc-dash{color:#6b7280}
.ofc-clear{font-size:12px}
/* [orgfuse_event_search] standalone search bar */
.ofs-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 16px;font-family:-apple-system,Segoe UI,Roboto,sans-serif}
.ofs-bar.ofs-stacked{flex-direction:column;align-items:stretch}
.ofs-field{display:flex;flex-direction:column;gap:3px;margin:0;font-size:12px;font-weight:600;color:#374151}
.ofs-field.ofs-q{flex:1 1 220px}
.ofs-field input,.ofs-field select{border:1px solid #cbd2d9;border-radius:7px;padding:8px 10px;font-size:14px;font-weight:400;background:#fff;color:#111827;min-height:38px;box-sizing:border-box;width:100%}
.ofs-submit{border:0;border-radius:7px;padding:9px 18px;min-height:38px;font-size:14px;font-weight:600;cursor:pointer;background:var(--of-brand,#2271b1);color:var(--of-brand-text,#fff)}
.ofs-submit:hover{filter:brightness(.95)}
.ofs-stacked .ofs-field.ofs-q{flex:0 0 auto}
@media (max-width:600px){.ofs-bar{flex-direction:column;align-items:stretch}.ofs-bar .ofs-field.ofs-q{flex:0 0 auto}}
.ofc-sub{background:var(--ofc-brand);border-color:var(--ofc-brand);color:#fff}
.ofc-sub:hover{color:#fff;filter:brightness(.94)}
.ofc-month{border:1px solid var(--ofc-line);border-radius:12px;overflow:hidden;background:#fff}
.ofc-dow{display:grid;grid-template-columns:repeat(7,1fr);background:#f7f9fb;border-bottom:1px solid var(--ofc-line)}
.ofc-dow>div{padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6a7683;text-align:left}
.ofc-grid{display:flex;flex-direction:column}
.ofc-wrow{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--ofc-line)}
.ofc-wrow:last-child{border-bottom:0}
.ofc-cell{min-height:104px;border-right:1px solid var(--ofc-line);padding:5px 6px;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.ofc-cell:last-child{border-right:0}
.ofc-cell.other{background:#fafbfc}
.ofc-cell.other .ofc-daynum{color:#b3bcc4}
.ofc-cell.today{background:#f2f8fc}
.ofc-daynum{align-self:flex-start;border:0;background:none;font-size:13px;font-weight:700;color:#3c4a58;cursor:pointer;width:26px;height:26px;border-radius:50%;line-height:26px;text-align:center;padding:0}
.ofc-cell.today .ofc-daynum{background:var(--ofc-brand);color:#fff}
.ofc-daynum:hover{background:#e6eef5}
.ofc-cell-events{display:flex;flex-direction:column;gap:3px;overflow:hidden}
.ofc-chip{display:flex;align-items:center;gap:5px;font-size:12px;text-decoration:none;color:#26313c;background:#eef4fa;border-radius:5px;padding:2px 6px;white-space:nowrap;overflow:hidden}
.ofc-chip:hover{background:#e2eef8}
.ofc-chip-time{color:#6a7683;font-variant-numeric:tabular-nums}
.ofc-chip-title{overflow:hidden;text-overflow:ellipsis}
.ofc-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:#8a929b}
.ofc-st-open{background:#1f9d55}
.ofc-st-closed{background:#8a929b}
.ofc-st-cancelled,.ofc-st-canceled{background:#c0392b}
.ofc-more{border:0;background:none;color:var(--ofc-brand);font-size:11px;font-weight:600;cursor:pointer;text-align:left;padding:0 6px}
.ofc-weekview{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.ofc-wcol{border:1px solid var(--ofc-line);border-radius:10px;overflow:hidden;background:#fff;min-height:120px}
.ofc-wcol.today{border-color:var(--ofc-brand)}
.ofc-wcol-head{display:flex;align-items:baseline;gap:6px;padding:8px 10px;background:#f7f9fb;border-bottom:1px solid var(--ofc-line)}
.ofc-wdow{font-size:11px;font-weight:700;text-transform:uppercase;color:#6a7683}
.ofc-wdate{font-size:15px;font-weight:700}
.ofc-wcol-body{padding:8px;display:flex;flex-direction:column;gap:6px}
.ofc-dayview,.ofc-list{display:flex;flex-direction:column;gap:8px}
.ofc-ag{display:flex;align-items:center;gap:10px;border:1px solid var(--ofc-line);border-radius:9px;background:#fff;padding:11px 13px;text-decoration:none;color:#1d2327}
.ofc-ag:hover{border-color:var(--ofc-brand);box-shadow:0 2px 8px rgba(16,42,67,.06)}
.ofc-ag.compact{padding:7px 8px;font-size:12.5px;border-radius:7px}
.ofc-ag-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ofc-ag-title{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.ofc-ag-meta{font-size:12px;color:#6a7683}
.ofc-ag-cta{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--ofc-brand)}
.ofc-empty{padding:28px;text-align:center;color:#8a929b;border:1px dashed var(--ofc-line);border-radius:10px}
.ofc-empty-mini{color:#c2c9d0;font-size:12px;text-align:center;padding:6px 0}
@media(max-width:820px){.ofc-weekview{grid-template-columns:1fr}.ofc-cell{min-height:76px}}
@media(max-width:600px){.ofc-toolbar{flex-direction:column;align-items:flex-start}.ofc-dow>div{font-size:10px;padding:6px 4px}.ofc-cell{min-height:62px;padding:3px}.ofc-chip-title{display:none}}
.ofc-ag.compact .ofc-ag-cta{display:none}
.ofc-ag.compact .ofc-ag-title{white-space:normal}
.ofc-cell{min-width:0}
@media(max-width:600px){.ofc-chip{padding:1px 3px;background:transparent;gap:3px}.ofc-chip-time{display:none}.ofc-cell-events{flex-direction:row;flex-wrap:wrap;gap:2px}}
#orgfuse-calendar *{box-sizing:border-box}
/* Calendar: defeat theme <button> styling that washes out the toolbar controls
   (themes commonly set button background/color/text-transform, sometimes !important). */
#orgfuse-calendar button{-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;text-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;min-height:0!important;height:auto!important;background-image:none!important;font:inherit}
#orgfuse-calendar .ofc-btn{background:#fff!important;color:#26313c!important;border:1px solid #cbd2d9!important;border-radius:7px!important}
#orgfuse-calendar .ofc-btn:hover{background:#f2f8fc!important;color:#0073aa!important;border-color:#0073aa!important}
#orgfuse-calendar .ofc-vbtn{background:#fff!important;color:#3c4a58!important;border-radius:0!important}
#orgfuse-calendar .ofc-vbtn.active{background:var(--ofc-brand)!important;color:#fff!important}
#orgfuse-calendar .ofc-sub{background:var(--ofc-brand)!important;color:#fff!important;border-color:var(--ofc-brand)!important}
#orgfuse-calendar .ofc-daynum{background:none!important;color:#3c4a58!important}
#orgfuse-calendar .ofc-cell.today .ofc-daynum{background:var(--ofc-brand)!important;color:#fff!important}
#orgfuse-calendar .ofc-more{background:none!important;color:var(--ofc-brand)!important}

/* ===== Public venue block (registration page) ===== */
.of-venue{display:flex;flex-direction:column;gap:12px}
.of-venue-head{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.of-venue-img{width:150px;height:104px;object-fit:cover;border-radius:8px;flex:0 0 auto;border:1px solid #e2e6ea}
.of-venue-meta{flex:1;min-width:200px}
.of-venue-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--of-brand,#2271b1)}
.of-venue-title{margin:2px 0 4px;font-size:18px}
.of-venue-addr{color:#555;line-height:1.5}
.of-venue-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.of-venue-link{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:var(--of-brand,#2271b1);font-weight:600;font-size:13.5px}
.of-venue-desc{color:#333;line-height:1.6;border-top:1px solid #eef0f2;padding-top:10px}
.of-venue-desc img{max-width:100%;height:auto}
.of-venue-contact{font-size:13.5px;color:#444}
.of-venue-contact-label{font-weight:700}
.of-venue-docs{display:flex;flex-wrap:wrap;gap:8px}
.of-venue-doc{display:inline-flex;align-items:center;gap:6px;border:1px solid #dde2e6;border-radius:7px;padding:6px 11px;text-decoration:none;color:#26313c;font-size:13px}
.of-venue-doc:hover{border-color:var(--of-brand,#2271b1);color:var(--of-brand,#2271b1)}

/* Repeater header readability (defeat theme <button> uppercasing/washout) + add-button hint spacing */
#orgfuse-app .of-repeater-toggle,.orgfuse-form .of-repeater-toggle,#orgfuse-membership .of-repeater-toggle{color:#26313c !important;text-transform:none !important;letter-spacing:normal !important;background:none !important;box-shadow:none !important;-webkit-appearance:none;appearance:none;font-weight:700}
.of-repeater-toggle strong{color:#26313c}
.of-repeater-hint{margin-left:12px}

/* Public [orgfuse_events_view] list: keep title / when / where on separate lines. */
.orgfuse-events-list{list-style:none;margin:0;padding:0}
.orgfuse-event{display:block;margin:0 0 1.25em}
.orgfuse-event-title,.orgfuse-event-when,.orgfuse-event-where{display:block}
.orgfuse-event-when,.orgfuse-event-where{color:#555}

/* ===== Self-contained public form layout (theme isolation) =====
   Twenty Twenty-Five (and other block themes) leak layout into plugin markup:
   - theme.json styles.spacing.blockGap + WP :where(.is-layout-flow) > * { margin-block-end: 0 }
   - :where(.is-layout-flex) > *, :where(.is-layout-grid) > * { margin: 0 }
   - :where(.is-layout-constrained) > * { margin-inline: auto !important; max-width: contentSize }
   - global input/label margin resets and inherited theme font-size
   .of-grid / .of-field were single-class, so those rules won and First/Last/Phone
   plus Details name+email sat in a tight grid with almost no gap.
   Forms own their layout under #orgfuse-app / .orgfuse-form / #orgfuse-membership. */
#orgfuse-app,
.orgfuse-form,
#orgfuse-membership {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: 16px;
  line-height: 1.5;
}
#orgfuse-app *,
.orgfuse-form *,
#orgfuse-membership * {
  box-sizing: border-box;
}
#orgfuse-app .of-app,
.orgfuse-form .of-app,
#orgfuse-membership .of-app {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
#orgfuse-app .of-field > label,
#orgfuse-app .of-addr-cell > label,
.orgfuse-form .of-field > label,
.orgfuse-form .of-addr-cell > label,
#orgfuse-membership .of-field > label,
#orgfuse-membership .of-addr-cell > label {
  display: block;
  margin: 0 0 6px !important;
  padding: 0;
  font-weight: 600;
  line-height: 1.3;
}
#orgfuse-app input,
.orgfuse-form input,
#orgfuse-membership input,
#orgfuse-app select,
.orgfuse-form select,
#orgfuse-membership select,
#orgfuse-app textarea,
.orgfuse-form textarea,
#orgfuse-membership textarea {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#orgfuse-app .of-field input:not([type=checkbox]):not([type=radio]),
#orgfuse-app .of-addr-cell input:not([type=checkbox]):not([type=radio]),
#orgfuse-app .of-field select,
#orgfuse-app .of-addr-cell select,
#orgfuse-app .of-field textarea,
.orgfuse-form .of-field input:not([type=checkbox]):not([type=radio]),
.orgfuse-form .of-addr-cell input:not([type=checkbox]):not([type=radio]),
.orgfuse-form .of-field select,
.orgfuse-form .of-addr-cell select,
.orgfuse-form .of-field textarea,
#orgfuse-membership .of-field input:not([type=checkbox]):not([type=radio]),
#orgfuse-membership .of-addr-cell input:not([type=checkbox]):not([type=radio]),
#orgfuse-membership .of-field select,
#orgfuse-membership .of-addr-cell select,
#orgfuse-membership .of-field textarea {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 10px;
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
}
#orgfuse-app .of-grid,
.orgfuse-form .of-grid,
#orgfuse-membership .of-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  align-items: start;
  margin: 0 0 12px;
  width: 100%;
  min-width: 0;
}
#orgfuse-app .of-grid > .of-field,
.orgfuse-form .of-grid > .of-field,
#orgfuse-membership .of-grid > .of-field {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0;
  grid-column: span 12;
}
#orgfuse-app .of-grid > .of-grid-1, .orgfuse-form .of-grid > .of-grid-1, #orgfuse-membership .of-grid > .of-grid-1 { grid-column: span 1 !important; }
#orgfuse-app .of-grid > .of-grid-2, .orgfuse-form .of-grid > .of-grid-2, #orgfuse-membership .of-grid > .of-grid-2 { grid-column: span 2 !important; }
#orgfuse-app .of-grid > .of-grid-3, .orgfuse-form .of-grid > .of-grid-3, #orgfuse-membership .of-grid > .of-grid-3 { grid-column: span 3 !important; }
#orgfuse-app .of-grid > .of-grid-4, .orgfuse-form .of-grid > .of-grid-4, #orgfuse-membership .of-grid > .of-grid-4 { grid-column: span 4 !important; min-width: 0 !important; }
#orgfuse-app .of-grid > .of-grid-5, .orgfuse-form .of-grid > .of-grid-5, #orgfuse-membership .of-grid > .of-grid-5 { grid-column: span 5 !important; }
#orgfuse-app .of-grid > .of-grid-6, .orgfuse-form .of-grid > .of-grid-6, #orgfuse-membership .of-grid > .of-grid-6 { grid-column: span 6 !important; min-width: 0 !important; }
#orgfuse-app .of-grid > .of-grid-7, .orgfuse-form .of-grid > .of-grid-7, #orgfuse-membership .of-grid > .of-grid-7 { grid-column: span 7 !important; }
#orgfuse-app .of-grid > .of-grid-8, .orgfuse-form .of-grid > .of-grid-8, #orgfuse-membership .of-grid > .of-grid-8 { grid-column: span 8 !important; }
#orgfuse-app .of-grid > .of-grid-9, .orgfuse-form .of-grid > .of-grid-9, #orgfuse-membership .of-grid > .of-grid-9 { grid-column: span 9 !important; }
#orgfuse-app .of-grid > .of-grid-10, .orgfuse-form .of-grid > .of-grid-10, #orgfuse-membership .of-grid > .of-grid-10 { grid-column: span 10 !important; }
#orgfuse-app .of-grid > .of-grid-11, .orgfuse-form .of-grid > .of-grid-11, #orgfuse-membership .of-grid > .of-grid-11 { grid-column: span 11 !important; }
#orgfuse-app .of-grid > .of-grid-12, .orgfuse-form .of-grid > .of-grid-12, #orgfuse-membership .of-grid > .of-grid-12 { grid-column: span 12 !important; }
#orgfuse-app .of-addr-grid,
.orgfuse-form .of-addr-grid,
#orgfuse-membership .of-addr-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 12px 16px !important;
  margin: 0 !important;
  width: 100%;
  min-width: 0;
}
#orgfuse-app .of-addr-cell,
.orgfuse-form .of-addr-cell,
#orgfuse-membership .of-addr-cell {
  display: flex !important;
  flex-direction: column !important;
  flex: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#orgfuse-app .of-addr-cell.of-grid-3, .orgfuse-form .of-addr-cell.of-grid-3, #orgfuse-membership .of-addr-cell.of-grid-3 { grid-column: span 3 !important; }
#orgfuse-app .of-addr-cell.of-grid-4, .orgfuse-form .of-addr-cell.of-grid-4, #orgfuse-membership .of-addr-cell.of-grid-4 { grid-column: span 4 !important; }
#orgfuse-app .of-addr-cell.of-grid-6, .orgfuse-form .of-addr-cell.of-grid-6, #orgfuse-membership .of-addr-cell.of-grid-6 { grid-column: span 6 !important; }
#orgfuse-app .of-addr-cell.of-grid-12, .orgfuse-form .of-addr-cell.of-grid-12, #orgfuse-membership .of-addr-cell.of-grid-12 { grid-column: span 12 !important; }
@media (max-width: 640px) {
  #orgfuse-app .of-grid > .of-field,
  .orgfuse-form .of-grid > .of-field,
  #orgfuse-membership .of-grid > .of-field,
  #orgfuse-app .of-addr-cell,
  .orgfuse-form .of-addr-cell,
  #orgfuse-membership .of-addr-cell {
    grid-column: span 12 !important;
  }
}

/* ---- Advanced Forms: password field (eye toggle, strength meter) ---- */
.of-pw-wrap{position:relative;display:flex;align-items:stretch}
.of-pw-wrap input{flex:1;padding-right:40px}
.of-pw-wrap input::-ms-reveal,.of-pw-wrap input::-ms-clear{display:none}
/* Force transparent on every state — themes style button:hover/focus/active with a
   dark background that would otherwise show as an oval behind the icon. */
.of-pw-eye,.of-pw-eye:hover,.of-pw-eye:focus,.of-pw-eye:focus-visible,.of-pw-eye:active{position:absolute;right:8px;top:0;bottom:0;width:30px;border:0 !important;background:transparent !important;background-image:none !important;box-shadow:none !important;outline:none !important;-webkit-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;margin:0;user-select:none}
.of-pw-eye{color:#4682b4}
.of-pw-eye:hover{color:#2c5d86}
.of-pw-eye:active{color:#1f4260}
.of-pw-eye svg{display:block;pointer-events:none}
.of-pw-strength{display:flex;align-items:center;gap:8px;margin-top:6px}
.of-pw-strength .of-pw-bar{flex:1;height:6px;background:#e6e6e6;border-radius:3px;overflow:hidden}
.of-pw-strength .of-pw-bar i{display:block;height:100%;background:#d63638;transition:width .2s,background .2s}
.of-pw-strength small{font-size:12px;color:#666;min-width:44px}
.of-pw-s2 .of-pw-bar i{background:#dba617}
.of-pw-s3 .of-pw-bar i{background:#72aee6}
.of-pw-s4 .of-pw-bar i{background:#1a7a2e}

/* Account page tabs ([orgfuse_account]) */
.of-account .of-acct-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:2px solid #e2e5e9;margin:4px 0 18px}
.of-account .of-acct-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;padding:9px 16px;font-size:15px;font-weight:600;color:#5a6472;cursor:pointer;border-radius:6px 6px 0 0}
.of-account .of-acct-tab:hover{color:#1d2327;background:#f4f6f8}
.of-account .of-acct-tab.active{color:#2271b1;border-bottom-color:#2271b1}
/* Team Number lookup dropdown */
.of-team-lookup{position:relative}
.of-team-lookup .of-tl-inputwrap{position:relative}
.of-team-lookup .of-tl-list{position:absolute;z-index:30;left:0;right:0;top:100%;margin:4px 0 0;padding:4px;list-style:none;background:#fff;border:2px solid #2271b1;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.22);max-height:280px;overflow:auto}
.of-team-lookup .of-tl-list li{margin:0}
.of-team-lookup .of-tl-list button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:6px;font-size:14px;color:#1d2327;cursor:pointer}
.of-team-lookup .of-tl-list button:hover{background:#f0f6fc}
.of-team-lookup .of-tl-list button strong{color:#2271b1}
.of-team-lookup .of-tl-org,.of-team-lookup .of-tl-st{color:#6a7280;font-size:13px}
.of-team-lookup .of-tl-new{display:block;margin-top:6px;color:#8a6d0b;background:#fff8e5;border:1px solid #f0e3b8;border-radius:6px;padding:6px 8px;font-size:13px}
/* Account: per-team sub-tabs */
.of-team-subtabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #e2e6ea;margin:8px 0 14px}
.of-team-subtab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:7px 13px;font-size:14px;font-weight:600;color:#5a6472;cursor:pointer;border-radius:6px 6px 0 0}
.of-team-subtab:hover{color:#1d2327;background:#f4f6f8}
.of-team-subtab.active{color:#2271b1;border-bottom-color:#2271b1}
.of-team-subtab .of-tst-num{font-weight:400;color:#8a94a6}
/* Consent linked-policy: inline link + read-and-agree modal */
.of-policy-link{appearance:none;background:none;border:0;padding:0;margin:0;color:#2271b1;font:inherit;text-decoration:underline;cursor:pointer}
.of-policy-link:hover{color:#1b5e8f}
.of-policy-overlay{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.of-policy-modal{background:#fff;color:#1d2327;border-radius:12px;box-shadow:0 24px 64px rgba(0,0,0,.35);width:min(720px,100%);max-height:min(86vh,860px);display:flex;flex-direction:column;overflow:hidden}
.of-policy-head{padding:16px 22px;font-size:18px;font-weight:700;border-bottom:1px solid #e6e9ee}
.of-policy-body{padding:18px 22px;overflow:auto;line-height:1.6;flex:1}
.of-policy-body img{max-width:100%;height:auto}
.of-policy-body h1,.of-policy-body h2,.of-policy-body h3{margin-top:1em}
.of-policy-foot{padding:14px 22px;border-top:1px solid #e6e9ee;display:flex;justify-content:flex-end;background:#fafbfc}
.of-policy-agree{font-size:15px;padding:10px 18px}

/* ============ Department registration console ============ */
.orgfuse-console-gate{max-width:520px;margin:24px auto;padding:20px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;text-align:center}
.ofc{max-width:1100px;margin:0 auto;font-size:15px}
.ofc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.ofc-title{margin:0;font-size:22px}
.ofc-sub{margin:2px 0 0;color:#646970}
.ofc-evstatus{text-transform:capitalize;font-weight:600}
.ofc-evpick select{margin-left:6px;padding:5px 8px;border:1px solid #d5d8dc;border-radius:5px}
.ofc-empty{padding:18px;color:#646970;text-align:center}
.ofc-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ofc-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5d8dc;background:#f6f7f7;border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;color:#1d2327}
.ofc-chip:hover{border-color:#2271b1;background:#fff}
.ofc-chip.on{background:#2271b1;border-color:#2271b1;color:#fff}
.ofc-chip-n{font-weight:700;font-size:12px;background:rgba(0,0,0,.08);border-radius:999px;padding:0 6px}
.ofc-chip.on .ofc-chip-n{background:rgba(255,255,255,.25)}
.ofc-search{display:flex;gap:6px;margin-bottom:10px}
.ofc-search input{flex:1;padding:7px 10px;border:1px solid #d5d8dc;border-radius:6px;font-size:14px}
.ofc-table-wrap{overflow-x:auto;border:1px solid #e6e6e6;border-radius:8px}
.ofc-table{width:100%;border-collapse:collapse;background:#fff}
.ofc-table th,.ofc-table td{text-align:left;padding:9px 12px;border-bottom:1px solid #f0f0f0;font-size:14px;white-space:nowrap}
.ofc-table th{background:#fafbfc;color:#50575e;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.ofc-row{cursor:pointer}
.ofc-row:hover{background:#f2f8fc}
.ofc-email{color:#50575e}
.ofc-owed{color:#b32d2e;font-weight:600}
.ofc-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#eef1f4;color:#3c434a}
.ofc-badge-paid,.ofc-badge-approved,.ofc-badge-complete{background:#e7f6ec;color:#116329}
.ofc-badge-denied,.ofc-badge-cancelled{background:#fdecea;color:#8a1f16}
.ofc-badge-pending_approval,.ofc-badge-pending_payment{background:#fdf3e0;color:#7a4f01}
.ofc-badge-closed{background:#e8eaed;color:#50575e}
.ofc-scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:100000;display:flex;justify-content:flex-end}
.ofc-drawer{width:min(560px,100%);height:100%;background:#fff;overflow:auto;box-shadow:-8px 0 24px rgba(0,0,0,.18);animation:ofc-slide .15s ease}
@keyframes ofc-slide{from{transform:translateX(20px);opacity:.6}to{transform:none;opacity:1}}
.ofc-drawer-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #eee}
.ofc-x{border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:#50575e}
.ofc-drawer-body{padding:16px 18px}
.ofc-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.ofc-section{margin-top:16px}
.ofc-section h4{margin:0 0 8px;font-size:14px;border-bottom:1px solid #eee;padding-bottom:4px}
.ofc-answers{margin:0;display:grid;gap:6px}
.ofc-answer{display:flex;gap:10px;font-size:14px}
.ofc-answer dt{margin:0;min-width:150px;color:#646970;font-weight:600}
.ofc-answer dd{margin:0;word-break:break-word}
.ofc-mini{width:100%;border-collapse:collapse}
.ofc-mini th,.ofc-mini td{text-align:left;padding:5px 8px;border-bottom:1px solid #f0f0f0;font-size:13px}
.ofc-files{margin:0;padding-left:18px}

/* Paper registration mode (inside the console drawer) */
.ofc-paper-banner{background:#7a1d1a;color:#fff;font-weight:700;font-size:13px;padding:10px 12px;border-radius:6px;margin-bottom:14px;letter-spacing:.02em}
.ofc-paper h4{margin:16px 0 8px;font-size:14px}
.ofc-paper-total{margin:14px 0 6px;font-size:16px}
.ofc-note{color:#646970;font-size:13px;margin:8px 0}

/* Console: record payment + follow-up email */
.ofc-record-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ofc-record-row select,.ofc-record-row input{padding:7px 9px;border:1px solid #d5d8dc;border-radius:6px;font-size:14px}
.ofc-record-row input[type=number]{width:100px}
.ofc-record-row input:not([type]){flex:1;min-width:140px}
.ofc-follow{margin-top:8px;display:grid;gap:8px}
.ofc-follow textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid #d5d8dc;border-radius:6px;font-size:14px;font-family:inherit}

/* Console: CSV export panel */
.ofc-export{position:relative;display:inline-block}
.ofc-export-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:300px;max-height:360px;overflow:auto;background:#fff;border:1px solid #d5d8dc;border-radius:8px;box-shadow:0 12px 28px rgba(16,42,67,.16);padding:12px}
.ofc-export-cols{display:grid;gap:5px;margin-bottom:10px}
.ofc-export-cols label{display:flex;gap:7px;align-items:center;font-size:13px}

/* ===== Dept console [orgfuse_dept_console]: own the styling so the theme can't wash it out (ID-scoped, mirrors the form app) ===== */
#orgfuse-dept-console{--of-brand:#2271b1;--of-brand-text:#fff;--of-accent:#1a7a2e;color:#1d2327;font-size:15px}
#orgfuse-dept-console .of-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:6px;border:1px solid #c7c7c7;background:#f3f4f5;color:#1d2327;font:inherit;font-weight:600;line-height:1.2;cursor:pointer;opacity:1;filter:none;text-decoration:none;text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;transition:background .12s,border-color .12s}
#orgfuse-dept-console .of-btn:hover{background:#e9eaec;border-color:#a9a9a9;color:#1d2327}
#orgfuse-dept-console .of-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}
#orgfuse-dept-console .of-btn-primary{background:var(--of-brand);border-color:var(--of-brand);color:var(--of-brand-text)}
#orgfuse-dept-console .of-btn-primary:hover{filter:brightness(.92)}
#orgfuse-dept-console .ofc-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5d8dc;background:#f6f7f7;color:#1d2327;border-radius:999px;padding:6px 13px;font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;opacity:1;filter:none;text-transform:none;letter-spacing:normal;text-shadow:none;box-shadow:none;text-decoration:none}
#orgfuse-dept-console .ofc-chip:hover{border-color:var(--of-brand);background:#fff}
#orgfuse-dept-console .ofc-chip.on{background:var(--of-brand);border-color:var(--of-brand);color:var(--of-brand-text)}
#orgfuse-dept-console .ofc-chip-n{font-weight:700;font-size:12px;background:rgba(0,0,0,.10);color:inherit;border-radius:999px;padding:0 6px;min-width:16px;text-align:center}
#orgfuse-dept-console .ofc-chip.on .ofc-chip-n{background:rgba(255,255,255,.28)}
#orgfuse-dept-console input[type=text],#orgfuse-dept-console input[type=search],#orgfuse-dept-console input:not([type]),#orgfuse-dept-console select{font:inherit;font-size:14px;padding:8px 11px;border:1px solid #cbd2d9;border-radius:6px;background:#fff;color:#1d2327;box-shadow:none;line-height:1.3;opacity:1;filter:none;appearance:auto;-webkit-appearance:auto}
#orgfuse-dept-console input::placeholder{color:#8b95a1;opacity:1}
#orgfuse-dept-console a{color:var(--of-brand);text-decoration:none}
#orgfuse-dept-console a:hover{text-decoration:underline}

#orgfuse-dept-console .ofc-seasonrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px}
#orgfuse-dept-console .ofc-season{font-weight:600;color:#1d2327;display:inline-flex;align-items:center;gap:6px}
#orgfuse-dept-console .ofc-season-note{color:#6a7683;font-size:12px}

/* ===== Dept console: theme sets color:#fff !important on buttons — override text/box colors at matching weight (ID specificity wins the !important tie); + header/logout layout ===== */
#orgfuse-dept-console .ofc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
#orgfuse-dept-console .ofc-head-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
#orgfuse-dept-console .ofc-who{font-size:13px;color:#6a7683}
#orgfuse-dept-console .of-btn,#orgfuse-dept-console .ofc-chip{color:#1d2327 !important;-webkit-text-fill-color:#1d2327;opacity:1 !important;filter:none !important;text-shadow:none !important}
#orgfuse-dept-console .of-btn:hover{color:#1d2327 !important}
#orgfuse-dept-console .of-btn-primary,#orgfuse-dept-console .of-btn-primary:hover{color:var(--of-brand-text,#fff) !important;-webkit-text-fill-color:var(--of-brand-text,#fff);background:var(--of-brand,#2271b1) !important;border-color:var(--of-brand,#2271b1) !important}
#orgfuse-dept-console .ofc-chip.on{color:var(--of-brand-text,#fff) !important;-webkit-text-fill-color:var(--of-brand-text,#fff);background:var(--of-brand,#2271b1) !important;border-color:var(--of-brand,#2271b1) !important}
#orgfuse-dept-console .of-btn-danger{color:#fff !important;-webkit-text-fill-color:#fff;background:#c0392b !important;border-color:#c0392b !important}
#orgfuse-dept-console .of-btn-danger:hover{background:#a93226 !important;border-color:#a93226 !important}
#orgfuse-dept-console .ofc-logout{color:#b32d2e !important;-webkit-text-fill-color:#b32d2e;background:#fff !important;border:1px solid #e6b8b8 !important}
#orgfuse-dept-console .ofc-logout:hover{background:#fff5f5 !important;color:#b32d2e !important}
#orgfuse-dept-console .ofc-chip-n{color:inherit !important;-webkit-text-fill-color:currentColor}
#orgfuse-dept-console .ofc-x{color:#1d2327 !important;-webkit-text-fill-color:#1d2327;opacity:.75 !important;background:transparent !important}
#orgfuse-dept-console input,#orgfuse-dept-console select,#orgfuse-dept-console textarea{color:#1d2327 !important;-webkit-text-fill-color:#1d2327;opacity:1 !important}
#orgfuse-dept-console input::placeholder{color:#8b95a1 !important;-webkit-text-fill-color:#8b95a1;opacity:1}
#orgfuse-dept-console .ofc-list a,#orgfuse-dept-console .ofc-drawer a{color:var(--of-brand,#2271b1) !important;-webkit-text-fill-color:var(--of-brand,#2271b1)}
#orgfuse-dept-console .ofc-answer-no{color:#8a929b}

/* Dept console: in-flight buttons show a spinner + progress cursor (never a dead not-allowed). */
#orgfuse-dept-console .ofc-row{cursor:pointer}
#orgfuse-dept-console .of-btn.is-busy{cursor:progress !important;opacity:1 !important}
#orgfuse-dept-console .of-btn.is-busy .of-spinner{border-top-color:currentColor !important}
#orgfuse-dept-console .of-spinner{border:2px solid transparent;border-top-color:currentColor;display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:of-spin .7s linear infinite}
#orgfuse-dept-console td .of-spinner{margin-right:0}
#orgfuse-dept-console .of-loading{color:#555 !important}

/* Paper-mode package cards: re-hide the radio the washout fix un-hid (label acts as the control). */
#orgfuse-dept-console .of-package{position:relative}
#orgfuse-dept-console .of-package > input[type=radio],#orgfuse-dept-console .of-package > input[type=checkbox]{position:absolute;opacity:0 !important;width:1px;height:1px;margin:0;pointer-events:none}
/* Follow-up: CC field, rich-text editor, inline confirm */
#orgfuse-dept-console .ofc-confirm{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#1d2327}
#orgfuse-dept-console .ofc-follow-field{display:block;font-size:13px;color:#3a4149;margin:8px 0}
#orgfuse-dept-console .ofc-follow-field input[type=text],#orgfuse-dept-console .ofc-follow-field input[type=file]{display:block;width:100%;margin-top:3px}
#orgfuse-dept-console .ofc-rte{border:1px solid #cbd2d9;border-radius:6px;overflow:hidden;margin:8px 0}
#orgfuse-dept-console .ofc-rte-tb{display:flex;gap:5px;padding:5px;background:#f6f7f9;border-bottom:1px solid #e2e6ea}
#orgfuse-dept-console .ofc-rte-tb button{border:1px solid #cfd6dd !important;background:#fff !important;border-radius:4px;padding:2px 9px;font-size:13px;cursor:pointer;color:#1d2327 !important;-webkit-text-fill-color:#1d2327}
#orgfuse-dept-console .ofc-rte-tb button:hover{background:#eef2f6 !important}
#orgfuse-dept-console .ofc-rte-link{display:flex;gap:6px;padding:6px;background:#fbfcfd;border-bottom:1px solid #e2e6ea}
#orgfuse-dept-console .ofc-rte-link input{flex:1}
#orgfuse-dept-console .ofc-rte-body{min-height:92px;padding:9px 11px;font-size:14px;line-height:1.5;color:#1d2327;background:#fff;outline:none}
#orgfuse-dept-console .ofc-rte-body:empty:before{content:attr(data-ph);color:#8b95a1}
#orgfuse-dept-console .ofc-rte-body a{color:var(--of-brand,#2271b1);text-decoration:underline}

/* ---- Rich file / photo uploader (FileDropField) ---- */
.of-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:18px 14px;border:2px dashed #c7ccd4;border-radius:10px;background:#fafbfc;cursor:pointer;
  text-align:center;transition:border-color .15s,background .15s}
.of-dropzone:hover,.of-dropzone:focus-visible{border-color:#2a7de1;background:#f2f7fe;outline:none}
.of-dropzone.is-full{cursor:default;border-style:solid;border-color:#dfe3e8;background:#f4f5f7}
.of-dropzone.is-full:hover{border-color:#dfe3e8;background:#f4f5f7}
.of-dropzone-icon{font-size:22px;line-height:1;color:#2a7de1}
.of-dropzone.is-full .of-dropzone-icon{color:#9aa2ac}
.of-dropzone-text{font-size:14px;color:#3a4149}
.of-dropzone-sub{font-size:12px;color:#8a929b}
.of-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.of-thumb{position:relative;width:96px;border:1px solid #e2e6eb;border-radius:8px;overflow:hidden;background:#fff}
.of-thumb-img{display:block;width:96px;height:72px;object-fit:cover}
.of-thumb-file{display:flex;align-items:center;justify-content:center;width:96px;height:72px;background:#eef1f5}
.of-thumb-ext{font-size:12px;font-weight:700;letter-spacing:.04em;color:#5a636e}
.of-thumb-x{position:absolute;top:2px;right:2px;width:20px;height:20px;line-height:18px;padding:0;
  border:none;border-radius:50%;background:rgba(20,24,28,.62);color:#fff;font-size:15px;cursor:pointer}
.of-thumb-x:hover{background:rgba(179,45,46,.92)}
.of-thumb-meta{display:flex;flex-direction:column;padding:4px 6px;gap:1px}
.of-thumb-name{font-size:11px;color:#3a4149;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:84px}
.of-thumb-size{font-size:10px;color:#98a0a9}

/* ---- Password reveal eye: defeat theme washout (mirrors the console fix) ----
   The site theme forces a light button/text color that renders the eye SVG
   (stroke=currentColor) invisible. Force a visible stroke with !important at a
   specificity the theme can't beat, across every OrgFuse form mount. */
.of-pw-wrap .of-pw-eye,
.orgfuse-form .of-pw-eye,
#orgfuse-app .of-pw-eye,
#orgfuse-account .of-pw-eye,
#orgfuse-membership .of-pw-eye{
  color:#2c5d86 !important;
  -webkit-text-fill-color:#2c5d86 !important;
  opacity:1 !important;
  visibility:visible !important;
}
.of-pw-wrap .of-pw-eye:hover,
.orgfuse-form .of-pw-eye:hover,
#orgfuse-app .of-pw-eye:hover,
#orgfuse-account .of-pw-eye:hover,
#orgfuse-membership .of-pw-eye:hover{
  color:#1f4260 !important;
  -webkit-text-fill-color:#1f4260 !important;
}
.of-pw-wrap .of-pw-eye svg,
.orgfuse-form .of-pw-eye svg,
#orgfuse-app .of-pw-eye svg,
#orgfuse-account .of-pw-eye svg,
#orgfuse-membership .of-pw-eye svg{
  stroke:currentColor !important;
  color:inherit !important;
  opacity:1 !important;
}
.of-pw-wrap .of-pw-eye svg *{ stroke:currentColor !important; }

/* ---- Event picker: defeat theme button-text washout on the title ----
   .of-event-choice is a <button>, so the theme's white button text makes the
   event title (which had no explicit color) invisible. Force readable colors. */
#orgfuse-app .of-event-choice,
.orgfuse-form .of-event-choice{ color:#1d2327 !important; -webkit-text-fill-color:#1d2327 !important; }
#orgfuse-app .of-event-title,
.orgfuse-form .of-event-title{ color:#1d2327 !important; -webkit-text-fill-color:#1d2327 !important; }
#orgfuse-app .of-event-meta,
.orgfuse-form .of-event-meta{ color:#646970 !important; -webkit-text-fill-color:#646970 !important; }

/* ---- Dept console: event status pill + open/close toggle (defeat washout) ---- */
#orgfuse-dept-console .ofc-sub{color:#3a4149 !important;-webkit-text-fill-color:#3a4149;font-size:14px;margin:3px 0 0}
#orgfuse-dept-console .ofc-evstatus{display:inline-block;padding:1px 10px;border-radius:999px;font-weight:700;font-size:12px;text-transform:none;letter-spacing:normal;vertical-align:baseline}
#orgfuse-dept-console .ofc-evstatus-open{background:#e6f5ec !important;color:#1a7a2e !important;-webkit-text-fill-color:#1a7a2e}
#orgfuse-dept-console .ofc-evstatus-closed{background:#fdeceb !important;color:#b32d2e !important;-webkit-text-fill-color:#b32d2e}
#orgfuse-dept-console .ofc-evstatus-draft,#orgfuse-dept-console .ofc-evstatus-archived{background:#eef1f5 !important;color:#5a636e !important;-webkit-text-fill-color:#5a636e}
#orgfuse-dept-console .ofc-evtoggle{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
#orgfuse-dept-console .ofc-evtoggle-msg{font-size:13px;color:#1a7a2e !important;-webkit-text-fill-color:#1a7a2e;font-weight:600}

/* ---- Dept console: inline control bar (season · status · open/close) ---- */
#orgfuse-dept-console .ofc-head-left{min-width:0}
#orgfuse-dept-console .ofc-controlbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
#orgfuse-dept-console .ofc-controlbar .ofc-season{margin:0;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#3a4149 !important;-webkit-text-fill-color:#3a4149}
#orgfuse-dept-console .ofc-controlbar .ofc-season select{font:inherit}
#orgfuse-dept-console .ofc-season-static{font-weight:600;color:#3a4149 !important;-webkit-text-fill-color:#3a4149}
#orgfuse-dept-console .ofc-controlbar .ofc-evtoggle-msg{font-size:13px;color:#1a7a2e !important;-webkit-text-fill-color:#1a7a2e;font-weight:600}

/* ---- Dept console: Export CSV modal (grouped column grid) ---- */
#orgfuse-dept-console .ofc-export-overlay{position:fixed;inset:0;z-index:100000;background:rgba(20,24,28,.5);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}
#orgfuse-dept-console .ofc-export-modal{background:#fff;border-radius:10px;width:920px;max-width:100%;box-shadow:0 18px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:86vh}
#orgfuse-dept-console .ofc-export-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e6e9ee}
#orgfuse-dept-console .ofc-export-head h3{margin:0;font-size:18px;color:#1d2327 !important;-webkit-text-fill-color:#1d2327}
#orgfuse-dept-console .ofc-export-x{border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#646970 !important;-webkit-text-fill-color:#646970;padding:0 4px}
#orgfuse-dept-console .ofc-export-x:hover{color:#1d2327 !important;-webkit-text-fill-color:#1d2327}
#orgfuse-dept-console .ofc-export-intro{padding:12px 20px 0;margin:0}
#orgfuse-dept-console .ofc-export-body{padding:8px 20px 4px;overflow:auto}
#orgfuse-dept-console .ofc-export-group{padding:12px 0;border-bottom:1px solid #eef1f5}
#orgfuse-dept-console .ofc-export-grouphead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
#orgfuse-dept-console .ofc-export-groupname{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#2271b1 !important;-webkit-text-fill-color:#2271b1}
#orgfuse-dept-console .ofc-export-checkall{font-size:12px;font-weight:600;color:#3a4149 !important;-webkit-text-fill-color:#3a4149;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
#orgfuse-dept-console .ofc-export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 18px}
#orgfuse-dept-console .ofc-export-col{display:flex;align-items:center;gap:8px;font-size:14px;color:#1d2327 !important;-webkit-text-fill-color:#1d2327;cursor:pointer;padding:2px 0}
#orgfuse-dept-console .ofc-export-col input[type=checkbox],#orgfuse-dept-console .ofc-export-checkall input[type=checkbox]{-webkit-appearance:auto !important;-moz-appearance:auto !important;appearance:auto !important;width:16px !important;height:16px !important;min-width:16px !important;min-height:16px !important;max-width:16px !important;flex:0 0 auto !important;margin:0 !important;padding:0 !important;border:1px solid #8a929b !important;border-radius:3px !important;background:#fff !important;box-shadow:none !important;opacity:1 !important;position:static !important;pointer-events:auto;accent-color:#2271b1}
#orgfuse-dept-console .ofc-export-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid #e6e9ee}
#orgfuse-dept-console .ofc-export-footbtns{display:flex;gap:10px}

/* Follow-up modal: wp.media attachment picker row */
#orgfuse-dept-console .ofc-attach-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}
#orgfuse-dept-console .ofc-attach-name{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#1d2327;background:#f0f6fc;border:1px solid #c3d4e6;border-radius:4px;padding:3px 8px}
#orgfuse-dept-console .ofc-attach-x{border:none;background:transparent;color:#646970;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}
#orgfuse-dept-console .ofc-attach-x:hover{color:#d63638}
#orgfuse-dept-console .ofc-attach-none{font-size:13px;color:#646970}

/* Order ledger (legacy-parity itemized orders + paid markers + passes) */
.ofc-ledger{font-size:13px}
.ofc-ledger-items{width:100%;border-collapse:collapse;margin:2px 0 8px}
.ofc-ledger-items td{padding:3px 0;border-bottom:1px solid #eef1f4}
.ofc-ledger-items .ofc-li-amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ofc-ledger-items .ofc-li-qty{color:#646970}
.ofc-ledger-items .ofc-li-sub td{border-bottom:0;border-top:1px solid #c3c4c7;font-weight:600;padding-top:6px}
.ofc-ledger-orders{margin:6px 0}
.ofc-order{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:5px 8px;border:1px solid #dcdcde;border-radius:5px;margin-bottom:5px}
.ofc-order.is-paid{background:#edfaef;border-color:#a7e0b3}
.ofc-order.is-open{background:#fcf6e6;border-color:#f0d99a}
.ofc-order-h{font-weight:600}
.ofc-order-st{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:#3c6b45}
.ofc-order.is-open .ofc-order-st{color:#8a6d1a}
.ofc-order-amt{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.ofc-ledger-total{text-align:right;font-size:14px;padding-top:6px;border-top:2px solid #1d2327}
.ofc-ledger-total.is-owed strong{color:#b32d2e}
.ofc-ledger-actions{margin-top:8px}
.ofc-paid-badge{display:inline-block;margin-top:3px;font-size:11px;font-weight:700;color:#b32d2e;letter-spacing:.02em}
.of-package.is-paid{opacity:.85}
.of-package.is-paid input{cursor:not-allowed}
.of-addon.is-paid .of-addon-controls{opacity:.45;pointer-events:none}
.ofc-passes{font-size:13px;color:#3c434a;margin:2px 0 8px}

/* Stage 2: per-order itemization + awaiting-payment block */
.ofc-order{display:block}
.ofc-order-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ofc-order-head .ofc-order-amt{margin-left:auto}
.ofc-order.is-awaiting{background:#fcf6e6;border-color:#f0d99a}
.ofc-order-items{width:100%;border-collapse:collapse;margin:4px 0 0}
.ofc-order-items td{padding:2px 0;font-size:12px;color:#3c434a;border:0}
.ofc-order-items .ofc-li-amt{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ofc-order-items .ofc-li-qty{color:#646970}

/* Editable-registration honest totals (paid vs new order due) */
.of-total-edit{text-align:right;margin:8px 0}
.of-total-edit .of-total-line{font-size:14px;margin:2px 0}
.of-total-edit .of-total-paid strong{color:#3c6b45}
.of-total-edit .of-total-due{font-size:17px;border-top:2px solid #1d2327;padding-top:6px;margin-top:4px}
.of-total-edit .of-total-due strong{color:#b32d2e}
.of-package.is-paid input,.of-addon.is-paid .of-addon-controls{pointer-events:none}
.of-package.is-paid{opacity:.9}

/* Sticky checkout cart (floating right panel desktop / bottom bar mobile) */
.of-checkout{display:flex;gap:24px;align-items:flex-start}
.of-checkout>.of-checkout-main{flex:1 1 auto;min-width:0}
.of-cart{flex:0 0 300px;position:sticky;top:20px;align-self:flex-start}
.of-cart-inner{border:1px solid #dcdcde;border-radius:10px;background:#fff;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.of-cart-h{margin:0 0 10px;font-size:16px}
.of-cart-sec{margin-bottom:10px}
.of-cart-sec-h{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#646970;margin-bottom:4px}
.of-cart-paid{background:#edfaef;border:1px solid #a7e0b3;border-radius:8px;padding:8px 10px}
.of-cart-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:2px 0}
.of-cart-line span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.of-cart-sub{font-weight:600;border-top:1px solid #c3e6cc;margin-top:4px;padding-top:4px}
.of-cart-empty{font-size:13px;color:#8a929b;font-style:italic}
.of-cart-total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid #1d2327;margin-top:8px;padding-top:8px;font-size:15px}
.of-cart-total strong{font-size:20px;color:#b32d2e}
.of-cart-cta{width:100%;margin-top:12px}
@media (max-width:860px){
  .of-checkout{display:block}
  .of-cart{position:fixed;left:0;right:0;bottom:0;z-index:60;flex:none}
  .of-cart-inner{position:static;border-radius:0;border:0;border-top:2px solid #1d2327;box-shadow:0 -2px 10px rgba(0,0,0,.15);display:flex;align-items:center;gap:14px;padding:10px 16px}
  .of-cart-h,.of-cart-sec{display:none}
  .of-cart-total{border:0;margin:0;padding:0;flex:1}
  .of-cart-cta{width:auto;margin:0;white-space:nowrap}
  body{padding-bottom:76px}
}

/* Closed registration: greyed read-only form */
.of-form-readonly input,.of-form-readonly select,.of-form-readonly textarea,.of-form-readonly .of-package,.of-form-readonly .of-addon,.of-form-readonly .of-dropzone{pointer-events:none}
.of-form-readonly input,.of-form-readonly select,.of-form-readonly textarea{background:#f6f7f7;color:#50575e}
.of-readonly-banner{background:#f0f0f1;border:1px solid #c3c4c7;border-left:4px solid #8a929b;border-radius:4px;padding:10px 14px;margin:0 0 14px;font-size:14px;color:#3c434a}
.of-cart-closed{margin:12px 0 0;text-align:center;font-size:13px;color:#646970;font-style:italic}
/* Processing-fee "cover the fee" checkbox (registration / membership checkout) */
.of-fee-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#333;margin:10px 0;cursor:pointer;line-height:1.4}
.of-fee-check input{margin-top:3px}
.of-fee-check span{color:#444}
/* Calendar: event-name chip with hover info card + "register today" chip */
.ofc-chip-event{position:relative;cursor:default}
.ofc-chip-event .ofc-chip-title{font-weight:600}
.ofc-chip-reg{background:var(--of-brand,#2271b1);color:#fff;font-weight:700;border-radius:5px}
.ofc-chip-reg .ofc-chip-title{color:#fff}
.ofc-reg-ico{margin-right:3px}
.ofc-card{display:none;position:absolute;z-index:50;left:0;top:100%;margin-top:4px;width:240px;background:#fff;border:1px solid #d7dbe0;border-radius:10px;box-shadow:0 8px 26px rgba(0,0,0,.16);padding:12px 14px;white-space:normal;text-align:left;pointer-events:none}
.ofc-chip-event:hover .ofc-card,.ofc-chip-event:focus .ofc-card,.ofc-chip-event:focus-within .ofc-card{display:block}
.ofc-card-title{display:block;font-weight:800;font-size:14px;color:#1d2327;margin-bottom:4px}
.ofc-card-meta{display:block;font-size:12px;color:#50575e;line-height:1.5}
.ofc-card-blurb{display:block;font-size:12px;color:#646970;margin-top:6px;line-height:1.45}
.ofc-card-btn{display:inline-block;margin-top:8px;background:var(--of-brand,#2271b1);color:#fff;font-size:12px;font-weight:700;border-radius:6px;padding:5px 10px;text-decoration:none;pointer-events:auto}
/* Register-today chip v2: a small "Register" tag + the event name + hover card */
.ofc-chip-reg{position:relative;background:var(--of-brand,#2271b1);border-radius:5px;padding:0;overflow:visible}
.ofc-reg-link{display:flex;align-items:center;gap:5px;min-width:0;color:#fff;text-decoration:none;padding:2px 6px;width:100%;box-sizing:border-box}
.ofc-reg-link .ofc-chip-title{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ofc-reg-tag{flex:0 0 auto;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.25);color:#fff;border-radius:3px;padding:1px 4px}
.ofc-chip-reg:hover .ofc-card,.ofc-chip-reg:focus-within .ofc-card{display:block}
#orgfuse-calendar .ofc-card{position:fixed;margin-top:0;z-index:100000}
.ofc-card-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--of-brand,#2271b1);margin-bottom:3px}
/* Register chip: compact icon leaves the name maximum room */
.ofc-reg-ico{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;font-size:12px;font-weight:800;line-height:1;color:var(--of-brand,#2271b1);background:#fff;border-radius:3px}
/* Register chip hover: the generic .ofc-chip:hover rules (light blue / white fill) out-rank .ofc-chip-reg and wiped the brand fill under its white text. Keep the brand fill and darken it with an inset shadow (a filter would also dim the hover card), and pin the link color against theme a:hover rules. */
#orgfuse-calendar .ofc-chip-reg:hover,#orgfuse-calendar .ofc-chip-reg:focus-within{background:var(--of-brand,#2271b1)!important;border-color:var(--of-brand,#2271b1)!important;box-shadow:inset 0 0 0 999px rgba(0,0,0,.14)}
#orgfuse-calendar .ofc-reg-link,#orgfuse-calendar .ofc-reg-link:hover,#orgfuse-calendar .ofc-reg-link:focus,#orgfuse-calendar .ofc-reg-link .ofc-chip-title{color:#fff!important;-webkit-text-fill-color:#fff;opacity:1!important;text-decoration:none!important}
#orgfuse-calendar .ofc-chip-event:hover{background:#e2eef8!important;color:#26313c!important}

.ofc-nrfield{display:block;margin:0 0 12px}.ofc-nrfield>span{display:block;font-size:12px;font-weight:600;color:#4a5157;margin:0 0 3px}.ofc-nrfield input{display:block;width:100%;padding:8px 10px;border:1px solid #d5d8dc;border-radius:6px;font-size:14px;box-sizing:border-box}.ofc-nractions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}

/* Link-styled control under the sign-in button; a real <a> so theme button rules (e.g. button{color:#fff!important}) cannot hide it. */
.orgfuse-form .of-forgot-link{color:var(--of-accent,#1a7a2e);text-decoration:underline;cursor:pointer;background:none;border:0;padding:0;font:inherit}
.orgfuse-form .of-forgot-link:hover{opacity:.85}

/* My Account → Profile */
#orgfuse-account .of-field input{box-sizing:border-box;width:100%;max-width:100%}
/* Advanced Forms catalog choice (Ad package / Sponsorship level) */
.of-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:6px}
.of-catalog-item{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border:2px solid #dcdcde;border-radius:10px;background:#fff;color:inherit;font:inherit;cursor:pointer}
.of-catalog-item:hover{border-color:var(--of-accent,#2271b1)}
.of-catalog-item.on{border-color:var(--of-accent,#2271b1);box-shadow:0 0 0 1px var(--of-accent,#2271b1);background:#f6f9fd}
.of-catalog-item.out{opacity:.55;cursor:not-allowed}
.of-catalog-item:disabled{cursor:default}
.of-catalog-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.of-catalog-name{font-weight:600}
.of-catalog-price{font-weight:700;white-space:nowrap}
.of-catalog-left{font-size:12px;color:#8a5a00}
.of-catalog-item.out .of-catalog-left{color:#b32d2e;font-weight:600}
.of-catalog-desc{font-size:13px;color:#50575e}
.of-catalog-details{margin:2px 0 0 18px;padding:0;font-size:13px;color:#3c434a}
.of-paymethod{display:flex;flex-direction:column;gap:4px;margin:4px 0 10px}
.of-paymethod label{font-weight:400}
