/* 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}
.of-consent{align-items:flex-start}
.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-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-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}
#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-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}
.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}
