/* GENERATED by tools/build_ui_assets_v185.py; do not edit directly. */

/* === owner-interface-v80.css === */
/* v80 – coherent, task-first styling for OWNER mode only.
   No permissions, forms, content, booking or admin layout are changed here. */
body.owner-interface-v80{--owner-line:#e1e7ed;--owner-muted:#66758b;--owner-ink:#18263b;--owner-accent:#5579c9}
body.owner-interface-v80 .page-content{max-width:1320px;margin-inline:auto;min-width:0}
body.owner-interface-v80 .page-content :is(section,article,header,nav,form,div){min-width:0}
/* Single visual language for owner panels and informative surfaces. */
body.owner-interface-v80 :is(.panel,.special-apply-card,.request-card,.message-card,.history-record,.owner-stay-card-v33,.owner-stay-current-v33,.charge-list-panel-v46,.charge-ledger-panel-v46,.owner-focus-v44){box-shadow:0 3px 14px rgba(25,44,66,.035);border-color:var(--owner-line)}
body.owner-interface-v80 :is(.panel-head,.charge-ledger-head-v46,.stay-v58-section-head){margin-bottom:11px}
body.owner-interface-v80 :is(.panel-head h2,.charge-ledger-head-v46 h2){font-size:clamp(15px,1.25vw,18px);line-height:1.55;margin:0}
body.owner-interface-v80 :is(.panel-head p,.charge-ledger-head-v46 p){color:var(--owner-muted);font-size:12px;line-height:1.65;margin:3px 0 0}
body.owner-interface-v80 :is(.panel,.special-apply-card,.request-card,.message-card){border-radius:16px}
body.owner-interface-v80 :is(.form-grid,.report-filters,.history-record-facts){gap:10px}
body.owner-interface-v80 :is(input,select,textarea){max-width:100%}
body.owner-interface-v80 :is(button,.button,input,select,textarea,a){-webkit-tap-highlight-color:transparent}
body.owner-interface-v80 :is(button,.button,a):focus-visible{outline:2px solid #4e78cf;outline-offset:2px}
/* Existing Razavi greeting on the owner homepage is deliberately not touched. */
body.owner-interface-v80 .owner-home-v44{gap:11px}
body.owner-interface-v80 .owner-alerts-v44{gap:8px}
body.owner-interface-v80 .owner-alert-v44{padding:10px 12px}
body.owner-interface-v80 .owner-focus-v44{padding:17px 19px;gap:11px}
body.owner-interface-v80 .owner-primary-actions-v44{gap:9px}
body.owner-interface-v80 .owner-primary-actions-v44>a{border-radius:14px;min-height:76px;padding:11px 12px;gap:7px}
body.owner-interface-v80 .owner-secondary-links-v44{gap:7px}
body.owner-interface-v80 .owner-secondary-links-v44>a{padding:9px 12px}
body.owner-interface-v80 .owner-upcoming-v44{padding:13px!important}
body.owner-interface-v80 .compact-periods-v44{gap:8px!important}
/* Stage-based stay forms retain every required field and warning. */
body.owner-interface-v80 .owner-stay-flow-v33{max-width:800px;padding-top:0}
body.owner-interface-v80 .owner-stay-head-v33{display:flex;align-items:center;gap:12px;margin:0 0 11px;flex-wrap:wrap}
body.owner-interface-v80 .owner-stay-head-v33>span{margin:0}
body.owner-interface-v80 .owner-stay-head-v33 h1{margin:0;font-size:clamp(19px,2vw,23px);line-height:1.45}
body.owner-interface-v80 .owner-stay-card-v33{gap:12px;padding:16px;border-radius:17px}
body.owner-interface-v80 .owner-stay-person-v33,body.owner-interface-v80 .owner-stay-state-v33{padding:10px 12px;border-radius:13px}
body.owner-interface-v80 .owner-stay-person-v33 .avatar,body.owner-interface-v80 .owner-stay-state-v33>span{width:41px;height:41px;border-radius:12px}
body.owner-interface-v80 .owner-stay-now-v33 legend{font-size:15px;margin-bottom:7px}
body.owner-interface-v80 .owner-stay-choice-v33 span{min-height:46px;border-radius:12px}
body.owner-interface-v80 .owner-stay-manual-v33{padding:10px;border-radius:13px}
body.owner-interface-v80 :is(.owner-stay-manual-v33 input,.owner-stay-counts-v33 input,.pledge-question-v33 input,.pledge-question-v33 select,.pledge-question-v33 textarea){min-height:45px;border-radius:11px}
body.owner-interface-v80 .owner-stay-main-action-v33{min-height:48px!important;border-radius:12px!important;font-size:15px!important}
body.owner-interface-v80 .pledge-form-v33{gap:10px}
body.owner-interface-v80 .pledge-question-v33{gap:6px;padding:12px;border-radius:13px}
/* Compact section introductions, no double hero and title visual competition. */
body.owner-interface-v80 .exchange-intro{padding:13px 16px;margin-bottom:12px;box-shadow:none}
body.owner-interface-v80 .exchange-intro>.panel-head{margin-bottom:0}
body.owner-interface-v80 .exchange-intro .panel-head h2{display:none}
body.owner-interface-v80 .exchange-intro .panel-head p{font-size:12px;margin:0;line-height:1.7}
body.owner-interface-v80 .owner-exchange-guide-v80{margin-top:9px;border-top:1px solid var(--owner-line);padding-top:8px}
body.owner-interface-v80 .owner-exchange-guide-v80>summary{font-size:12px;font-weight:750;color:var(--owner-accent);cursor:pointer;list-style:revert}
body.owner-interface-v80 .owner-exchange-guide-v80 .exchange-help-grid{margin-top:9px}
body.owner-interface-v80 .special-apply-hero{margin-bottom:11px;padding:12px 15px;border-radius:14px;gap:10px}
body.owner-interface-v80 .special-apply-hero .eyebrow{display:none}
body.owner-interface-v80 .special-apply-hero h1{font-size:clamp(15px,1.7vw,19px);margin:0 0 4px}
body.owner-interface-v80 .special-apply-hero p{font-size:12px;line-height:1.7}
body.owner-interface-v80 .special-apply-grid{gap:10px}
body.owner-interface-v80 .special-apply-card{padding:13px}
body.owner-interface-v80 .special-apply-card header{gap:9px}
body.owner-interface-v80 .special-apply-card h2{font-size:15px}
body.owner-interface-v80 .special-apply-meta{margin:10px 0}
/* Notifications: topbar already identifies the page; keep count and filters prominent. */
body.owner-interface-v80 .message-center-head{padding:11px 14px;margin-bottom:10px;border-radius:14px;min-height:0}
body.owner-interface-v80 .message-center-head .eyebrow,body.owner-interface-v80 .message-center-head h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.owner-interface-v80 .message-center-head p{font-size:12px;line-height:1.65;margin:0}
body.owner-interface-v80 .message-center-count{gap:4px;padding:7px 11px}
body.owner-interface-v80 .message-filter{gap:6px;margin-bottom:12px}
body.owner-interface-v80 .message-filter a{min-height:39px;padding:7px 11px}
body.owner-interface-v80 .message-list{gap:9px}
body.owner-interface-v80 .message-card{padding:13px;gap:9px}
/* Histories and balances: keep actual filters, data and accounting semantics. */
body.owner-interface-v80 .report-page-head{padding:4px 0 11px!important;margin:0 0 10px!important;min-height:0!important}
body.owner-interface-v80 .report-page-head .eyebrow{display:none}
body.owner-interface-v80 .report-page-head h1{font-size:clamp(17px,1.6vw,20px);margin:0 0 3px}
body.owner-interface-v80 .report-page-head p{font-size:12px;line-height:1.65;margin:0}
body.owner-interface-v80 .usage-summary-card{padding:13px;gap:10px;border-radius:15px;margin-bottom:10px}
body.owner-interface-v80 .season-rights-grid{gap:7px}
body.owner-interface-v80 .report-tabs{margin-bottom:9px;gap:6px}
body.owner-interface-v80 .report-tabs a{min-height:39px;padding:7px 10px}
body.owner-interface-v80 .report-filter-panel{padding:11px 12px;margin-bottom:10px;border-radius:14px}
body.owner-interface-v80 .history-card-list{gap:8px}
body.owner-interface-v80 .history-record{padding:12px}
body.owner-interface-v80 .audit-timeline-panel{margin-top:12px}
body.owner-interface-v80 .charge-summary-v46{gap:8px}
body.owner-interface-v80 .charge-summary-v46 article{border-radius:13px;padding:10px 12px}
body.owner-interface-v80 .charge-detail-head-v46{margin-bottom:10px}
body.owner-interface-v80 .charge-ledger-head-v46{margin-bottom:8px}
/* Calendar: calendar grid and hit areas are unchanged, headings less prominent. */
body.owner-interface-v80 .calendar-workspace{gap:10px}
body.owner-interface-v80 .calendar-command-center{padding:13px 14px;border-radius:15px}
body.owner-interface-v80 .calendar-command-heading>.eyebrow{display:none}
body.owner-interface-v80 .calendar-command-heading p{font-size:12px;line-height:1.65;margin:3px 0 0}
body.owner-interface-v80 .calendar-command-heading h1{font-size:clamp(19px,2.5vw,24px)}
body.owner-interface-v80 .calendar-command-top{gap:8px}
body.owner-interface-v80 .calendar-filter-panel{margin-top:8px}
/* Owner post-stay / authorization. Decisions remain explicit. */
body.owner-interface-v80 .post-stay-shell,body.owner-interface-v80 .stay-auth-page{max-width:800px;margin-inline:auto}
body.owner-interface-v80 .post-stay-head{padding:12px 14px;gap:9px}
body.owner-interface-v80 .post-stay-head h1{font-size:18px}
body.owner-interface-v80 .stay-auth-page{padding:16px}
body.owner-interface-v80 .stay-auth-page>h1{font-size:clamp(18px,2vw,22px)}
@media(max-width:760px){
 body.owner-interface-v80 .page-content{padding-inline:12px!important}
 body.owner-interface-v80 .owner-home-v44{gap:9px}
 body.owner-interface-v80 .owner-focus-v44{padding:13px;gap:9px;border-radius:14px}
 body.owner-interface-v80 .owner-focus-v44 h1{font-size:17px}
 body.owner-interface-v80 .owner-primary-actions-v44{gap:7px}
 body.owner-interface-v80 .owner-primary-actions-v44>a{min-height:69px;padding:10px;gap:5px;border-radius:12px}
 body.owner-interface-v80 .owner-primary-actions-v44 b{font-size:12px}
 body.owner-interface-v80 .owner-primary-actions-v44 small{font-size:10px;line-height:1.35}
 body.owner-interface-v80 .owner-secondary-links-v44 a{font-size:11px;padding:8px 9px}
 body.owner-interface-v80 .owner-stay-head-v33{margin:0 0 9px}
 body.owner-interface-v80 .owner-stay-head-v33 h1{font-size:19px}
 body.owner-interface-v80 .owner-stay-card-v33{padding:12px;gap:11px;border-radius:15px}
 body.owner-interface-v80 .owner-stay-choice-v33 span{min-height:45px}
 body.owner-interface-v80 .owner-stay-manual-v33{gap:8px}
 body.owner-interface-v80 .owner-stay-main-action-v33{min-height:47px!important}
 body.owner-interface-v80 .exchange-intro,body.owner-interface-v80 .special-apply-hero{padding:11px 12px}
 body.owner-interface-v80 .special-apply-card{padding:12px}
 body.owner-interface-v80 .message-center-head{padding:9px 11px}
 body.owner-interface-v80 .message-card{padding:11px;gap:8px}
 body.owner-interface-v80 .message-filter a{min-height:40px}
 body.owner-interface-v80 .report-page-head{padding-top:0!important}
 body.owner-interface-v80 .usage-summary-card{padding:11px!important}
 body.owner-interface-v80 .report-tabs a{min-height:40px!important;font-size:12px!important}
 body.owner-interface-v80 .history-record{padding:10px}
 body.owner-interface-v80 .calendar-command-center{padding:10px 11px}
}
@media(max-width:390px){
 body.owner-interface-v80 .owner-primary-actions-v44>a{padding:8px 7px;grid-template-columns:26px minmax(0,1fr);column-gap:5px}
 body.owner-interface-v80 .owner-primary-actions-v44 .icon{width:22px;height:22px}
 body.owner-interface-v80 .owner-primary-actions-v44 b{font-size:11px}
 body.owner-interface-v80 .owner-primary-actions-v44 small{font-size:9.5px}
 body.owner-interface-v80 .owner-stay-manual-v33,body.owner-interface-v80 .owner-stay-counts-v33{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print {body.owner-interface-v80 .page-content{max-width:none!important}body.owner-interface-v80 .panel{box-shadow:none!important}}

/* Account profile of owners: calm, readable and consistent with management. */
body.owner-interface-v80 .account-hero{padding:17px 19px;border-radius:17px;gap:14px}
body.owner-interface-v80 .account-identity{gap:11px}
body.owner-interface-v80 .account-identity h1{font-size:clamp(19px,2vw,23px);line-height:1.45}
body.owner-interface-v80 .account-summary-grid{gap:9px}
body.owner-interface-v80 .account-summary-grid article{padding:12px 14px;border-radius:14px}
body.owner-interface-v80 .account-card,.owner-interface-v80 .account-security-card{padding:15px;border-radius:16px}
body.owner-interface-v80 .account-card-head{margin-bottom:12px}
body.owner-interface-v80 .account-card-head h2{font-size:17px}
body.owner-interface-v80 .account-field-grid{gap:10px}
body.owner-interface-v80 .account-subsection{margin-top:13px;padding-top:13px}
body.owner-interface-v80 .account-actions{margin-top:12px}
@media(max-width:760px){
 body.owner-interface-v80 .account-hero{padding:13px;gap:10px}
 body.owner-interface-v80 .account-identity h1{font-size:19px}
 body.owner-interface-v80 .account-summary-grid{gap:7px}
 body.owner-interface-v80 .account-summary-grid article{padding:10px 11px}
 body.owner-interface-v80 .account-card,body.owner-interface-v80 .account-security-card{padding:12px}
 body.owner-interface-v80 .account-field-grid{gap:8px}
}

/* Finishing touches found in the actual mobile render checks. */
body.owner-interface-v80 .message-center-head{background:#fff!important;color:#182a40!important;border:1px solid #dfe6ef!important;box-shadow:none!important}
body.owner-interface-v80 .message-center-head p{color:#4f6278!important;opacity:1!important}
body.owner-interface-v80 .message-center-count{background:#eff4fb!important;color:#244b83!important;border:1px solid #dce6f3!important}
body.owner-interface-v80 .message-center-count strong,body.owner-interface-v80 .message-center-count span{color:#244b83!important;opacity:1!important}
body.owner-interface-v80 .special-apply-hero h1{font-size:clamp(16px,1.7vw,20px)!important;line-height:1.5!important}
body.owner-interface-v80 .period-card form button[type=submit]:not(.button-danger):not(.button-secondary):not(.button){min-height:44px;padding:10px 14px;border:1px solid #577bd0;border-radius:12px;background:#6184d5;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
body.owner-interface-v80 .period-card form button[type=submit]:not(.button-danger):not(.button-secondary):not(.button):hover{background:#4971c4}
body.owner-interface-v80 .owner-exchange-guide-v80 .exchange-help-grid{gap:9px}
body.owner-interface-v80 .owner-exchange-guide-v80 .exchange-help-grid>div{padding:11px;border-radius:12px}
@media(max-width:760px){body.owner-interface-v80 .message-center-head p{font-size:12px!important}body.owner-interface-v80 .special-apply-hero h1{font-size:18px!important}}


/* === owner-dashboard-v82.css === */
/* v82: Owner dashboard action surfaces and readable mobile typography. Loaded after all shared styles.
   Pure presentation: keep links, destinations, owner alerts and counters intact. */
body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81),
body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81) *{
  text-decoration:none!important;
  text-decoration-line:none!important;
}
body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81){
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81):focus-visible{
  outline:3px solid #4077d8!important;
  outline-offset:3px;
}
@media(hover:hover){
  body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81):hover{
    transform:translateY(-1px);
    border-color:#b3c8e5;
    box-shadow:0 5px 13px rgba(30,52,81,.075);
  }
}
body.owner-interface-v80 .owner-alerts-v44{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,295px),1fr));
  gap:9px;
}
body.owner-interface-v80 .owner-alert-card-v81{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:start;
  align-content:center;
  column-gap:10px;
  row-gap:9px;
  min-width:0;
  min-height:98px;
  padding:13px!important;
  border:1px solid #dce5ef;
  border-radius:15px;
  background:#fff;
  color:#1b2b44;
  box-shadow:none;
}
body.owner-interface-v80 .owner-alert-card-v81.warning{border-color:#efdfb9;background:#fffdf9}
body.owner-interface-v80 .owner-alert-card-v81.danger{border-color:#f1d7d8;background:#fffafb}
body.owner-interface-v80 .owner-alert-card-v81>.owner-alert-symbol-v81{
  grid-column:1;
  grid-row:1/3;
  width:30px;
  height:30px;
  border-radius:10px;
  font-size:16px;
  line-height:1;
  display:grid;
  place-items:center;
  color:#8c611e;
  background:#fff1ce;
  font-weight:900;
}
body.owner-interface-v80 .owner-alert-card-v81.danger>.owner-alert-symbol-v81{background:#ffeaed;color:#b72d3d}
body.owner-interface-v80 .owner-alert-card-v81>.owner-alert-content-v81{grid-column:2;grid-row:1;min-width:0}
body.owner-interface-v80 .owner-alert-content-v81 b{
  display:block;
  margin:0 0 3px;
  font-size:16px;
  line-height:1.55;
  color:#23364e;
  font-weight:850;
}
body.owner-interface-v80 .owner-alert-card-v81.danger .owner-alert-content-v81 b{color:#a43c46}
body.owner-interface-v80 .owner-alert-content-v81 small{
  display:block;
  color:#52647a;
  font-size:max(14px,var(--ds-font-meta,13px))!important;
  line-height:1.65;
  font-weight:550;
  overflow-wrap:anywhere;
}
body.owner-interface-v80 .owner-alert-card-v81>.owner-alert-action-v81{
  grid-column:2;
  grid-row:2;
  justify-self:start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:auto;
  min-width:0;
  height:auto;
  min-height:32px;
  margin:0;
  padding:5px 12px;
  font-size:14px;
  line-height:1.55;
  font-style:normal;
  font-weight:850;
  white-space:normal;
  color:#2852a2;
  background:#edf3ff;
  border:1px solid #dbe7fc;
  border-radius:9px;
}
body.owner-interface-v80 .owner-alert-card-v81.danger>.owner-alert-action-v81{color:#963a44;background:#fff0f2;border-color:#f4d9dc}
body.owner-interface-v80 .owner-alert-action-v81 span{font-size:14px;line-height:1}
body.owner-interface-v80 .owner-primary-actions-v44{gap:10px}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81{
  min-width:0;
  align-content:center;
  min-height:79px;
  background:#fff;
  color:#203451;
  border:1px solid #dde5ef;
  border-radius:14px;
  box-shadow:none;
  padding:12px 14px;
}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81 b{color:inherit;font-weight:800;font-size:16px;line-height:1.55}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81 small{
  color:#536880!important;
  opacity:1!important;
  font-size:max(14px,var(--ds-font-meta,13px))!important;
  line-height:1.6;
  font-weight:650;
  overflow-wrap:anywhere;
}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81.primary{
  background:#285ee5;
  color:#fff;
  border-color:#285ee5;
}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81.primary b{color:#fff!important}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81.primary small{
  color:#f3f7ff!important;
  opacity:1!important;
}
body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81 .icon{flex:none;color:inherit}
body.owner-interface-v80 .owner-secondary-links-v44{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  width:100%;
  overflow:visible;
  padding:0;
}
body.owner-interface-v80 .owner-secondary-links-v44>.owner-shortcut-v81{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:normal;
  min-width:0;
  min-height:45px;
  padding:8px 10px;
  border:1px solid #dfe7f0;
  background:#fff;
  border-radius:12px;
  color:#31465f;
  font-size:14px;
  line-height:1.55;
  font-weight:750;
  text-align:center;
}
body.owner-interface-v80 .owner-secondary-links-v44>.owner-shortcut-v81 .icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
  color:#5278bc;
}
body.owner-interface-v80 .owner-secondary-links-v44>.owner-shortcut-v81 span{min-width:0;overflow-wrap:anywhere}
body.owner-interface-v80 .owner-upcoming-v44 .empty-state{
  min-height:64px!important;
  padding:13px 16px!important;
  font-size:14px;
  line-height:1.65;
  border-radius:12px;
}
@media(max-width:900px){
  body.owner-interface-v80 .owner-alerts-v44{grid-template-columns:1fr}
  body.owner-interface-v80 .owner-secondary-links-v44{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible;
    gap:7px;
  }
  body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81{min-height:70px;padding:10px 12px}
}
@media(max-width:520px){
  body.owner-interface-v80 .owner-alert-card-v81{padding:11px 12px!important;min-height:87px;row-gap:7px}
  body.owner-interface-v80 .owner-alert-content-v81 b{font-size:16px}
  body.owner-interface-v80 .owner-alert-content-v81 small{font-size:max(14px,var(--ds-font-meta,13px))!important}
  body.owner-interface-v80 .owner-alert-card-v81>.owner-alert-action-v81{font-size:14px;min-height:40px}
  body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81{padding:10px 9px;min-height:68px}
  body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81 b{font-size:15px}
  body.owner-interface-v80 .owner-primary-actions-v44>.owner-action-card-v81 small{font-size:max(14px,var(--ds-font-meta,13px))!important}
  body.owner-interface-v80 .owner-secondary-links-v44>.owner-shortcut-v81{min-height:48px;padding:9px 7px;font-size:14px;gap:6px}
  body.owner-interface-v80 .owner-secondary-links-v44>.owner-shortcut-v81 .icon{width:19px;height:19px;flex-basis:19px}
}
@media(prefers-reduced-motion:reduce){
  body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81){transition:none}
  body.owner-interface-v80 .owner-home-v44 :is(.owner-alert-card-v81,.owner-action-card-v81,.owner-shortcut-v81):hover{transform:none}
}


/* Typographic hierarchy: focus copy, figures and section summaries stay legible
   even where v44/v80 introduced small 9–11px labels. Scoped to owner dashboard. */
body.owner-interface-v80 .owner-home-v44 .owner-focus-copy-v44 .eyebrow{
  font-size:14px!important;line-height:1.6;font-weight:700;
}
body.owner-interface-v80 .owner-home-v44 .owner-focus-v44 h1{
  font-size:clamp(22px,2.2vw,27px);line-height:1.45;font-weight:850;
}
body.owner-interface-v80 .owner-home-v44 .owner-focus-v44 p,
body.owner-interface-v80 .owner-home-v44 .owner-next-v44 span{
  font-size:15px;line-height:1.7;font-weight:550;color:#4b5e78;
}
body.owner-interface-v80 .owner-home-v44 .owner-next-v44 b{
  font-size:19px;line-height:1.6;
}
body.owner-interface-v80 .owner-home-v44 .owner-credit-compact-v44 strong{
  font-size:30px;line-height:1.25;
}
body.owner-interface-v80 .owner-home-v44 .owner-credit-compact-v44 span{
  font-size:13px;line-height:1.5;font-weight:650;
}
body.owner-interface-v80 .owner-home-v44 .owner-rights-details-v44>summary{
  min-height:52px;gap:10px;
}
body.owner-interface-v80 .owner-home-v44 .owner-rights-details-v44>summary span{
  font-size:16px;line-height:1.55;
}
body.owner-interface-v80 .owner-home-v44 .owner-rights-details-v44>summary b{
  font-size:14px;line-height:1.5;
}
body.owner-interface-v80 .owner-home-v44 .owner-upcoming-v44 .panel-head h2{
  font-size:19px!important;line-height:1.5;font-weight:850;
}
body.owner-interface-v80 .owner-home-v44 .owner-upcoming-v44 .panel-head p{
  font-size:14px!important;line-height:1.6;color:#52637b;
}
body.owner-interface-v80 .owner-home-v44 .owner-upcoming-v44 .panel-head a{
  font-size:14px;font-weight:750;line-height:1.55;text-decoration:none!important;
}
body.owner-interface-v80 .owner-home-v44 .owner-upcoming-v44 .empty-state{
  font-size:14px!important;line-height:1.65;font-weight:550;
}
body.owner-interface-v80 .owner-home-v44 .owner-primary-actions-v44>.owner-action-card-v81{
  overflow-wrap:anywhere;
}
@media(max-width:520px){
  body.owner-interface-v80 .owner-home-v44 .owner-focus-v44{gap:11px}
  body.owner-interface-v80 .owner-home-v44 .owner-focus-v44 h1{font-size:22px}
  body.owner-interface-v80 .owner-home-v44 .owner-credit-compact-v44{min-width:93px;padding:10px}
  body.owner-interface-v80 .owner-home-v44 .owner-credit-compact-v44 strong{font-size:27px}
  body.owner-interface-v80 .owner-home-v44 .owner-credit-compact-v44 span{font-size:12px}
  body.owner-interface-v80 .owner-home-v44 .owner-primary-actions-v44>.owner-action-card-v81{
    min-height:79px;row-gap:2px;
  }
  body.owner-interface-v80 .owner-home-v44 .owner-primary-actions-v44>.owner-action-card-v81.primary{
    min-height:68px;
  }
  body.owner-interface-v80 .owner-home-v44 .owner-secondary-links-v44>.owner-shortcut-v81{
    line-height:1.5;overflow-wrap:anywhere;
  }
  body.owner-interface-v80 .owner-home-v44 .owner-upcoming-v44 .panel-head{gap:8px;flex-wrap:wrap}
}
@media(max-width:355px){
  body.owner-interface-v80 .owner-home-v44 .owner-primary-actions-v44>.owner-action-card-v81{
    padding:10px 7px;column-gap:6px;
  }
  body.owner-interface-v80 .owner-home-v44 .owner-primary-actions-v44>.owner-action-card-v81 b{font-size:14px}
  body.owner-interface-v80 .owner-home-v44 .owner-secondary-links-v44>.owner-shortcut-v81{
    padding:10px 5px;gap:4px;font-size:13.5px;
  }
}


/* === sharehome-readability-v83.css === */
/* ShareHome v83 | A single readable information hierarchy for owner and management pages.
 * Loaded after legacy and page styles. No routes, forms, permission checks or print layouts change.
 * Central appearance controls remain effective via --ds-*-scale. */
@media screen {
  body .app-shell .page-content{
    --sh83-ink:#213249;
    --sh83-muted:#526780;
    --sh83-line:#dde5ef;
    --sh83-soft:#f6f9fc;
    --sh83-title:max(19px,calc(19px * var(--ds-title-scale,1)));
    --sh83-body:max(14px,calc(14px * var(--ds-body-scale,1)));
    --sh83-meta:max(13px,calc(13px * var(--ds-meta-scale,1)));
    color:var(--sh83-ink);
  }
  body .app-shell .page-content :is(.panel,.message-card,.history-record,.owner-card-v26,.user-card-v26,.special-apply-card,.request-card,.report-filter-panel,.owner-stay-card-v33,.owner-stay-current-v33){min-width:0;overflow-wrap:break-word}
  body .app-shell .page-content :is(.panel-head,.report-page-head,.page-heading,.message-center-head,.smart-accounting-head-v52,.owner-list-toolbar-v26,.users-v26-tools,.charge-ledger-head-v46){column-gap:14px;row-gap:9px}
  body .app-shell .page-content :is(.panel-head h2,.page-heading h1,.report-page-head h1,.smart-accounting-head-v52 h1,.owner-list-toolbar-v26 h2,.message-center-head h1){color:var(--sh83-ink);line-height:1.55;letter-spacing:0;font-weight:850}
  /* Intro lines and helper copy share one measured, readable style. */
  body .app-shell .page-content :is(.panel-head p,.page-heading p,.report-page-head p,.smart-accounting-head-v52 p,.special-apply-hero p,.exchange-intro .panel-head p,.calendar-command-heading p,.charge-ledger-head-v46 p,.message-center-head p,.section-hub-intro-v74){font-size:var(--sh83-body)!important;line-height:1.85!important;color:var(--sh83-muted)!important;opacity:1}
  body .app-shell .page-content :is(.eyebrow,.form-hint,.field-help,.muted,.form-divider,.owner-picker-hint,.owner-exchange-guide-v80>summary,.owner-list-toolbar-v26 p,.users-v26-tools p,.stay-history-link-v26 p,.lottery-run-form p){font-size:var(--sh83-meta)!important;line-height:1.8;color:var(--sh83-muted)}
  /* Label and action hierarchy: normal forms stay flexible, not artificially tall. */
  body .app-shell .page-content :is(.form-grid label,.stay-form-v26 label,.report-filter-bar label,.report-filters label,.smart-entry-grid-v52 label,.pledge-question-v33 label,.stay-v58-form label,.receipt-step-head-v68 p){font-size:var(--sh83-body)!important;line-height:1.65;min-width:0}
  body .app-shell .page-content :is(.form-grid input,.form-grid select,.form-grid textarea,.stay-form-v26 input,.stay-form-v26 select,.stay-form-v26 textarea,.report-filter-bar input,.report-filter-bar select,.smart-entry-grid-v52 input,.smart-entry-grid-v52 select,.smart-entry-grid-v52 textarea){font-size:var(--sh83-body)!important;line-height:1.5;min-width:0;max-width:100%}
  body .app-shell .page-content :is(.button,.text-action,.owner-more-v26 a,.owner-more-v26 button,.user-more a,.user-more button,.message-card-action button,.owner-actions-v26 .button){font-size:var(--sh83-body)!important;line-height:1.5;white-space:normal;text-align:center;overflow-wrap:anywhere}
  body .app-shell .page-content :is(.button,a,button,summary,input,select,textarea):focus-visible{outline:2px solid #4476d5;outline-offset:2px}
  body .app-shell .page-content :is(.panel-head,.owner-list-toolbar-v26,.report-filter-bar,.report-filter-panel,.smart-entry-card-v52>header){min-width:0}
  /* Page-content section separation without nesting cards in cards. */
  body .app-shell .page-content :is(.report-filter-panel,.owner-list-panel,.charge-ledger-panel-v46,.special-apply-card,.stay-form-v26,.smart-entry-card-v52,.user-card-v26,.owner-card-v26){border-color:var(--sh83-line)}
  body .app-shell .page-content :is(.report-filter-bar,.owner-toolbar-controls-v26,.users-v26-tools,.message-filter,.smart-accounting-tabs-v52){gap:10px}
  body .app-shell .page-content :is(.owner-usage-v26,.user-primary-meta,.owner-detail-grid-v26,.lottery-run-facts,.stay-facts-row-v26,.report-kpi-grid){gap:9px;min-width:0}
  /* Message inbox (previously 9–11px) */
  body .app-shell .page-content .message-center-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border:1px solid var(--sh83-line);background:#fff!important;color:var(--sh83-ink)!important}
  body .app-shell .page-content .message-center-head>div:first-child{min-width:0;flex:1 1 175px}
  body .app-shell .page-content .message-center-head p{color:var(--sh83-muted)!important}
  body .app-shell .page-content .message-center-count{flex:0 0 auto;min-width:94px;max-width:100%;background:#f0f5fa;color:var(--sh83-ink);border:1px solid var(--sh83-line)}
  body .app-shell .page-content .message-center-count span{font-size:var(--sh83-meta)!important;line-height:1.65;color:var(--sh83-muted)!important;opacity:1!important}
  body .app-shell .page-content .message-filter{display:flex;flex-wrap:wrap;gap:8px}
  body .app-shell .page-content .message-filter a{font-size:var(--sh83-body)!important;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5;padding:8px 12px;text-decoration:none}
  body .app-shell .page-content .message-filter a b{font-size:var(--sh83-meta)!important}
  body .app-shell .page-content .message-card{display:grid;column-gap:12px;row-gap:10px;align-items:start;line-height:1.7}
  body .app-shell .page-content .message-card-copy{min-width:0}
  body .app-shell .page-content .message-card-copy h3{font-size:max(17px,calc(17px * var(--ds-title-scale,1)))!important;line-height:1.55;color:var(--sh83-ink);margin-bottom:6px}
  body .app-shell .page-content .message-card-copy p{font-size:var(--sh83-body)!important;line-height:1.85!important;color:var(--sh83-muted)!important;margin:4px 0 7px;overflow-wrap:anywhere}
  body .app-shell .page-content :is(.message-card-meta,.message-card-meta span,.message-card-meta b,.message-card-meta i,.message-card-copy>small){font-size:var(--sh83-meta)!important;line-height:1.6}
  body .app-shell .page-content .message-card-copy>small{color:var(--sh83-muted)}
  body .app-shell .page-content .message-list{gap:11px}
  body .app-shell .page-content .message-card-action .button{min-height:43px;padding:9px 15px}
  /* Owners and users: an explicit hierarchy of name, facts, warnings, actions. */
  body .app-shell .page-content :is(.owner-card-v26,.user-card-v26){display:flex;flex-direction:column;gap:9px;padding:14px;border-radius:15px}
  body .app-shell .page-content :is(.owner-card-head-v26,.user-card-head-v26){display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}
  body .app-shell .page-content :is(.owner-name-v26 h3,.user-card-v26 h3){font-size:max(17px,calc(17px * var(--ds-title-scale,1)))!important;line-height:1.55}
  body .app-shell .page-content :is(.owner-name-v26 p,.user-card-v26 .user-card-subtitle,.user-tools-v26 p,.user-primary-meta b,.owner-detail-grid-v26 b){font-size:var(--sh83-body)!important;line-height:1.7;color:var(--sh83-muted)}
  body .app-shell .page-content :is(.owner-usage-v26 small,.owner-summary-v26 span,.owner-summary-v26 small,.owner-detail-grid-v26>span,.owner-detail-grid-v26>span small,.user-primary-meta small,.user-secondary-meta span,.owner-head-badges-v26 .share-badge-v26,.owner-card-v26 .status-chip,.user-card-v26 .status-chip,.owner-warning,.management-access-row small,.root-admin-note span){font-size:var(--sh83-meta)!important;line-height:1.65}
  body .app-shell .page-content .owner-usage-v26>span{min-width:0;padding:9px 7px;border-radius:10px}
  body .app-shell .page-content .owner-usage-v26 b{font-size:max(16px,calc(16px * var(--ds-body-scale,1)))!important;line-height:1.4;font-weight:850}
  body .app-shell .page-content .owner-detail-v26{margin:4px 0 0}
  body .app-shell .page-content .owner-detail-v26 summary{font-size:var(--sh83-body)!important;padding:9px 3px}
  body .app-shell .page-content .owner-detail-grid-v26>span b{display:block;overflow-wrap:anywhere;white-space:normal}
  body .app-shell .page-content .owner-warning-row-v26{gap:6px}
  body .app-shell .page-content .owner-warning{padding:5px 9px;border-radius:9px}
  body .app-shell .page-content :is(.owner-actions-v26,.user-card-actions-v26){display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
  body .app-shell .page-content :is(.owner-actions-v26 .button,.user-card-actions-v26 .button,.owner-more-v26>summary,.user-more>summary){min-height:42px!important;display:inline-flex;align-items:center;justify-content:center;padding:8px 10px!important}
  body .app-shell .page-content .owner-more-v26>div{min-width:min(230px,calc(100vw - 48px))}
  body .app-shell .page-content :is(.management-access-row b,.root-admin-note b,.management-create-toggle small,.permission-group>label,.permission-toolbar span){font-size:var(--sh83-body)!important;line-height:1.7}
  /* Stays and annual/seasonal lotteries: facts, explanation, confirmation and controls stay separated. */
  body .app-shell .page-content :is(.stay-rate-v26 span,.stay-rate-v26 small,.stay-owner-known-v26 small,.stay-detection-v26 p,.stay-manual-period-v26 summary,.stay-manager-advanced summary,.stay-history-link-v26 p,.stay-submit-v26 .stay-cost-preview span,.stay-submit-v26 .stay-cost-preview small,.lottery-run-summary-v26>article>div:first-child>span,.lottery-run-summary-v26>article>div:first-child>small,.lottery-run-facts small,.slot-builder-form label small,.slot-preview-item small,.lottery-readiness-grid article span,.lottery-rule-grid span,.lottery-run-form p){font-size:var(--sh83-meta)!important;line-height:1.7}
  body .app-shell .page-content :is(.stay-owner-known-v26 b,.stay-detection-v26 b,.lottery-run-summary-v26>article>div:first-child>b,.lottery-run-facts b,.stay-rate-v26 b,.stay-submit-v26 .stay-cost-preview strong){font-size:max(15px,calc(15px * var(--ds-body-scale,1)))!important;line-height:1.55}
  body .app-shell .page-content :is(.stay-detection-v26,.stay-owner-known-v26,.stay-manual-period-v26,.stay-manager-advanced,.lottery-run-summary-v26>article){gap:10px}
  body .app-shell .page-content .stay-form-v26 label{gap:6px}
  body .app-shell .page-content :is(.stay-history-link-v26,.lottery-run-summary-v26>article){border-color:var(--sh83-line)}
  /* Accountancy: distinguish balance/amount from metadata, and filter from results. */
  body .app-shell .page-content :is(.report-filter-bar label,.report-filters label,.report-table-panel .panel-head p,.report-kpi-grid span,.report-kpi-grid small,.finance-direction,.chart-card-v26 p,.chart-legend-v26,.expense-mix-v26 span b,.expense-mix-v26 span small,.trend-bars-v26 small,.history-record-facts small,.history-record-title p,.history-detail-grid span,.smart-accounting-stats-v52 span,.smart-accounting-stats-v52 small,.smart-entry-grid-v52 label small){font-size:var(--sh83-meta)!important;line-height:1.7}
  body .app-shell .page-content :is(.report-kpi-grid strong,.smart-accounting-stats-v52 strong,.charge-summary-v46 strong,.owner-summary-v26 strong){font-size:max(18px,calc(18px * var(--ds-title-scale,1)))!important;line-height:1.4;font-weight:850}
  body .app-shell .page-content :is(.report-tabs a,.smart-accounting-tabs-v52 a,.report-filter-bar .actions .button){font-size:var(--sh83-body)!important;line-height:1.6}
  body .app-shell .page-content :is(.report-filter-panel,.report-table-panel,.report-owner-list,.report-tabs){margin-block-end:12px}
  body .app-shell .page-content :is(.report-table-panel th,.report-table-panel td,.owner-list-panel th,.owner-list-panel td){font-size:var(--sh83-meta)!important;line-height:1.65;overflow-wrap:anywhere}
  /* Grouped, consistent step-based forms and filters (no extra nested cards). */
  body .app-shell .page-content :is(.receipt-step-head-v68,.receipt-origin-head-v68,.smart-entry-card-v52>header,.post-stay-head,.stay-v58-section-head){border-bottom:1px solid var(--sh83-line);padding-block-end:9px;margin-block-end:12px}
  body .app-shell .page-content :is(.receipt-step-head-v68 h3,.receipt-origin-head-v68 b,.stay-v58-section-head h2,.post-stay-head h1){font-size:max(17px,calc(17px * var(--ds-title-scale,1)))!important;line-height:1.55;color:var(--sh83-ink)}
  body .app-shell .page-content :is(.receipt-step-head-v68 p,.receipt-origin-head-v68 small,.smart-entry-card-v52>header p,.post-stay-head p){font-size:var(--sh83-meta)!important;line-height:1.75;color:var(--sh83-muted)}
  body .app-shell .page-content :is(.receipt-wizard-step-v68,.pledge-question-v33,.stay-manual-period-v26,.stay-manager-advanced,.special-apply-meta,.owner-stay-manual-v33){min-width:0;border-color:var(--sh83-line)}
  body .app-shell .page-content :is(.receipt-wizard-step-v68,.owner-stay-manual-v33) :is(label,small,p){overflow-wrap:anywhere}
  body .app-shell .page-content :is(.receipt-stepper-v68,.report-tabs,.report-filter-bar,.smart-accounting-tabs-v52){min-width:0}
  body .app-shell .page-content :is(.receipt-stepper-v68 span,.smart-accounting-tabs-v52 a small,.report-tabs a b){font-size:var(--sh83-meta)!important;line-height:1.6}
  body .app-shell .page-content :is(.history-state,.history-record-facts b,.history-details summary,.history-detail-grid b,.season-right span,.season-right b,.season-right small,.charge-ledger-head-v46 small,.charge-summary-v46 article small){font-size:var(--sh83-meta)!important;line-height:1.7}
  body .app-shell .page-content :is(.history-record,.charge-summary-v46 article,.lottery-run-summary-v26>article) :is(strong,b){overflow-wrap:anywhere}
  body .app-shell .page-content :is(.calendar-command-center,.calendar-filter-panel,.calendar-command-heading,.special-apply-hero,.post-stay-shell,.receipt-wizard-step-v68){min-width:0}
  body .app-shell .page-content :is(.form-grid,.smart-entry-grid-v52,.receipt-grid-v68,.owner-detail-grid-v26,.owner-toolbar-controls-v26){column-gap:11px;row-gap:11px}
  body .app-shell .page-content :is(.form-grid,.receipt-grid-v68,.stay-facts-row-v26,.owner-toolbar-controls-v26)>*{min-width:0}
  /* Owner-only refinements: previous v80 compression made detail text too small. */
  body.owner-interface-v80 .app-shell .page-content :is(.exchange-intro .panel-head p,.owner-exchange-guide-v80>summary,.special-apply-hero p,.calendar-command-heading p,.report-page-head p,.message-center-head p,.charge-ledger-head-v46 p){font-size:var(--sh83-body)!important}
  body.owner-interface-v80 .app-shell .page-content :is(.owner-stay-card-v33,.pledge-question-v33,.special-apply-card,.request-card,.history-record,.charge-list-panel-v46,.charge-ledger-panel-v46){gap:11px}
  body.owner-interface-v80 .app-shell .page-content :is(.owner-stay-head-v33 h1,.special-apply-hero h1,.post-stay-head h1){font-size:var(--sh83-title)!important;line-height:1.55}
  body.owner-interface-v80 .app-shell .page-content :is(.report-tabs a,.history-record-facts small,.season-right small,.owner-stay-now-v33 legend){font-size:var(--sh83-body)!important}
  /* Manage and owner dashboards use content-sized empty states. */
  body .app-shell .page-content :is(.empty-state,.smart-debt-empty-v52,.owner-upcoming-v44 .empty-state){font-size:var(--sh83-body)!important;line-height:1.75}
}
@media screen and (max-width:800px){
  body .app-shell .page-content{
    --sh83-title:max(20px,calc(20px * var(--ds-title-scale,1)));
    --sh83-body:max(15px,calc(15px * var(--ds-body-scale,1)));
    --sh83-meta:max(14px,calc(14px * var(--ds-meta-scale,1)));
  }
  body .app-shell .page-content :is(.page-heading,.panel-head,.report-page-head,.smart-accounting-head-v52,.owner-list-toolbar-v26,.message-center-head){gap:9px}
  body .app-shell .page-content :is(.panel-head h2,.page-heading h1,.report-page-head h1,.smart-accounting-head-v52 h1,.owner-list-toolbar-v26 h2){font-size:var(--sh83-title)!important;line-height:1.5}
  body .app-shell .page-content :is(.page-heading,.owner-list-toolbar-v26,.smart-accounting-head-v52){padding-block:9px;min-width:0}
  body .app-shell .page-content .message-center-head{padding:12px!important}
  body .app-shell .page-content .message-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body .app-shell .page-content .message-filter a{width:100%;min-width:0;padding:9px 7px;font-size:var(--sh83-body)!important}
  body .app-shell .page-content .message-card{padding:14px!important;row-gap:11px}
  body .app-shell .page-content .message-card-copy p{font-size:var(--sh83-body)!important}
  body .app-shell .page-content .message-card-action,.message-card-action button{min-width:0}
  body .app-shell .page-content .message-card-action .button{min-height:45px}
  body .app-shell .page-content :is(.owner-card-grid-v26,.user-card-grid-v26){grid-template-columns:minmax(0,1fr);gap:11px}
  body .app-shell .page-content :is(.owner-card-v26,.user-card-v26){padding:13px!important;gap:9px}
  body .app-shell .page-content .owner-actions-v26 .button{min-height:44px!important}
  body .app-shell .page-content :is(.report-filter-bar,.report-filters,.owner-toolbar-controls-v26,.users-v26-tools){gap:9px}
  body .app-shell .page-content :is(.report-filter-bar .actions,.stay-submit-v26>div:last-child){gap:8px}
  body .app-shell .page-content :is(.report-tabs,.smart-accounting-tabs-v52){gap:8px}
  body .app-shell .page-content :is(.report-table-panel,.mobile-cards,.season-print-sheet){max-width:100%}
  body .app-shell .page-content .mobile-cards td:before{font-size:var(--sh83-meta)!important;line-height:1.6}
  body .app-shell .page-content :is(.stay-detection-v26,.stay-owner-known-v26,.lottery-run-summary-v26>article){padding:11px 12px;gap:9px}
  body .app-shell .page-content .lottery-run-facts{flex-wrap:wrap}
  body .app-shell .page-content :is(.lottery-run-facts>span,.owner-usage-v26>span){min-width:0}
  body .app-shell .page-content .owner-usage-v26{grid-template-columns:repeat(3,minmax(0,1fr))}
  body .app-shell .page-content :is(.owner-card-v26,.user-card-v26,.report-filter-panel,.smart-entry-card-v52){box-shadow:0 3px 12px rgba(31,52,78,.035)}
  body .app-shell .page-content :is(.button,button,input,select,textarea){scroll-margin-block:100px}
  body.owner-interface-v80 .app-shell .page-content .owner-home-v44 :is(.owner-action-card-v81,.owner-shortcut-v81) {font-size:var(--sh83-body)!important}
}
@media screen and (max-width:380px){
  body .app-shell .page-content .message-filter a{padding-inline:5px;gap:4px}
  body .app-shell .page-content .message-card{padding:11px!important}
  body .app-shell .page-content .owner-usage-v26>span{padding:7px 3px}
  body .app-shell .page-content .owner-actions-v26{gap:5px}
  body .app-shell .page-content .owner-actions-v26 .button{padding-inline:6px!important}
}


/* === sharehome-season-menu-v84.css === */
/* v84: Seasonal slot creator and readable management/owner sidebar. Screen only. */
@media screen {
.sb84-root{max-width:1280px;margin:0 auto;display:grid;gap:14px;color:var(--text,#1c2c40)}
.sb84-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:2px 0 5px}
.sb84-heading h1{font-size:clamp(21px,2vw,26px);margin:2px 0 4px}
.sb84-heading p{font-size:14px;color:#64748b;margin:0}
.sb84-heading .heading-actions{display:flex;gap:8px;flex-wrap:wrap}
.sb84-form{display:grid;gap:13px;min-width:0}
.sb84-section{padding:17px 19px;min-width:0;overflow:visible}
.sb84-section-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.sb84-section-head h2{font-size:18px!important;margin:0 0 3px;color:#152e43}
.sb84-section-head p{font-size:13px!important;margin:0;color:#64748b;line-height:1.8}
.sb84-step{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;color:#2467cb;background:#eff5ff;font-size:16px;font-weight:800}
.sb84-fields{display:grid;gap:12px;align-items:end}.sb84-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sb84-create-grid{grid-template-columns:minmax(135px,1fr) 2fr}
.sb84-fields label,.sb84-season-card>label{font-size:14px!important;line-height:1.6;font-weight:700;color:#3a506a;display:grid;gap:7px;min-width:0}
.sb84-fields input{height:46px;max-width:100%}
.sb84-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sb84-season-card{min-width:0;border:1px solid #dce5ed;border-radius:15px;background:#fafcff;padding:12px;display:grid;gap:8px}
.sb84-season-name{display:flex;align-items:center;gap:7px;font-size:16px}
.sb84-season-control{display:flex;align-items:center;gap:5px;min-width:0}
.sb84-season-control input{min-width:0;width:100%;height:40px;padding:5px;text-align:center;font-weight:800;font-size:19px;appearance:textfield}
.sb84-season-control input::-webkit-inner-spin-button,.sb84-season-control input::-webkit-outer-spin-button{appearance:none}
.sb84-spin{width:35px;min-width:35px;height:40px;background:#edf4ff;border:1px solid #d6e3f7;border-radius:9px;font-size:22px;color:#245baf;cursor:pointer}
.sb84-days{background:#eaf4f2;color:#176451;text-align:center;border-radius:9px;padding:6px;font-size:13px;font-weight:800}
.sb84-hint-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:13px;color:#60738a}
.sb84-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin-top:15px}.sb84-actions button{min-height:43px;font-weight:800}
.sb84-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 20px}
.sb84-metrics article{border:1px solid #e1e7ee;background:#f8fafc;border-radius:12px;padding:11px;display:grid;gap:5px}
.sb84-metrics small{color:#667890;font-size:13px}.sb84-metrics strong{font-size:23px;color:#183d6b}
.sb84-results h3{font-size:16px;margin:14px 0 10px}
.sb84-table-wrap{overflow-x:auto;border:1px solid #e1e9ef;border-radius:12px}
.sb84-capacity{width:100%;border-collapse:collapse;white-space:nowrap}
.sb84-capacity th,.sb84-capacity td{padding:12px;text-align:right;font-size:13px;border-bottom:1px solid #e7edf2}
.sb84-capacity th{background:#f0f5f9;font-weight:800;color:#455d70}
.sb84-slot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sb84-slot-list article{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fbfcfe;border:1px solid #e0e8f1;border-radius:12px;min-width:0}
.sb84-slot-no{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:#eaf1ff;color:#275fc0}
.sb84-slot-list article>div{min-width:0;display:grid;gap:4px}
.sb84-slot-list article strong{font-size:13px}.sb84-slot-list article small{color:#64748b;font-size:12px;white-space:normal}
.sb84-skips{margin-top:15px;border:1px solid #e5e9ef;border-radius:12px;padding:12px}
.sb84-skips summary{font-size:14px;font-weight:800;cursor:pointer}.sb84-skip-list{display:grid;gap:6px;margin-top:10px}
.sb84-skip-list>div{display:grid;gap:3px;padding:8px;background:#fafcff;border-radius:8px;font-size:13px}
.sb84-shortage{display:grid;gap:5px;margin:10px 0;padding:12px;border:1px solid #f0d6a5;border-radius:12px;background:#fff9ed;color:#805715;font-size:13px}
.sb84-empty{color:#64748b;text-align:center}
/* Group headings remain non-interactive and don't alter existing permission/route logic. */
body .sidebar .sidebar-nav.sb84-sidebar-nav{gap:2px}
body .sidebar .sidebar-nav .sb84-nav-group{display:block;padding:13px 12px 6px;color:#75879b;font-size:12px;font-weight:700;letter-spacing:0;line-height:1.5}
body .sidebar .sidebar-nav a.menu-section{min-height:45px!important;padding:10px 11px!important;margin:0 2px 2px!important;border-radius:12px!important;gap:11px;text-decoration:none!important;font-size:15px!important;font-weight:600!important;line-height:1.55!important}
body .sidebar .sidebar-nav a.menu-section span:not(.nav-count){font-size:inherit!important;font-weight:inherit!important;line-height:1.5!important}
body .sidebar .sidebar-nav a.menu-section.active{font-weight:750!important;background:#eaf0ff!important;color:#285cc7!important;border-inline-end:3px solid #517ee1}
body .sidebar .sidebar-nav a.menu-section svg.icon{width:20px;height:20px;flex-shrink:0}
body .sidebar .suite-overview{padding:11px!important;margin:10px 7px 11px!important;border-radius:15px!important}
body .sidebar .suite-overview-head small{font-weight:700!important;font-size:12px!important}
body .sidebar .suite-overview-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
body .sidebar .suite-overview-item{min-height:39px!important;padding:7px 8px!important;gap:6px!important}
body .sidebar .suite-overview-item b{font-size:13px!important;line-height:1.4!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body .sidebar .suite-overview-item{font-weight:700!important;font-size:13px!important}
body .sidebar .sidebar-user-row .account-copy b{font-size:14px!important}
body .sidebar .sidebar-footer .logout-link{font-weight:700!important}
}
@media screen and (max-width:900px){
  body .sidebar{width:min(316px,88vw)}
  body .sidebar .sidebar-nav a.menu-section{font-size:16px!important;min-height:47px!important}
  body .sidebar .sidebar-nav .sb84-nav-group{font-size:13px}
  .sb84-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb84-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb84-fields.sb84-date-grid label:first-child{grid-column:1/-1}
}
@media screen and (max-width:580px){
  .sb84-section{padding:14px 12px}
  .sb84-heading{gap:9px}.sb84-heading .heading-actions{width:100%}
  .sb84-date-grid,.sb84-create-grid{grid-template-columns:1fr}
  .sb84-season-grid{gap:8px}.sb84-season-card{padding:10px}
  .sb84-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sb84-slot-list{grid-template-columns:1fr}
  .sb84-section-head h2{font-size:17px!important}
  .sb84-actions>*{flex:1 1 170px}
}
@media screen and (max-width:345px){.sb84-spin{width:28px;min-width:28px}.sb84-season-control input{font-size:16px}.sb84-season-name{font-size:14px}}


/* === sharehome-cycles-v86.css === */
.cycle85-create{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:end}
.cycle85-create>.cycle85-check{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px}
.cycle85-create>.cycle85-check input{width:18px;height:18px;flex:none}
.cycle85-create>.button{align-self:end;width:max-content;min-height:42px}
.cycle85-list{display:grid;gap:9px}
.cycle85-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border:1px solid #dce7e9;border-radius:14px;background:#fff}
.cycle85-item.cycle85-active{border-color:#76b6b4;background:#f3fbfa}
.cycle85-item>div:first-child{display:flex;flex-direction:column;gap:5px;min-width:0}
.cycle85-item b{font-size:16px}.cycle85-item small{color:#596e7b;font-size:13px}
.cycle85-tag{display:inline-block;max-width:max-content;padding:3px 9px;border-radius:999px;background:#d4f4e9;color:#14583b;font-size:12px}
.cycle85-actions,.cycle85-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cycle85-actions input{min-width:0;width:145px;max-width:100%;min-height:40px;border:1px solid #cddfe3;border-radius:9px;padding:7px 10px;font:inherit}
.cycle85-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.cycle85-note{font-size:14px;color:#526879}
@media(max-width:760px){.cycle85-create{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle85-create>.settings-field:first-child{grid-column:1/-1}.cycle85-item{align-items:flex-start;flex-direction:column}.cycle85-actions{width:100%}}
@media(max-width:380px){.cycle85-create{grid-template-columns:1fr}.cycle85-create>.settings-field:first-child{grid-column:auto}}

/* v86: clearly distinguish the management cycle from the subset to generate. */
.sb86-range-info{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:12px;padding:11px 14px;border-radius:12px;background:#f4f8ff;color:#344765;font-size:14px;line-height:1.8}
.sb86-range-info b{font-weight:700;color:#233a61}
.sb86-range-info button{white-space:nowrap;min-height:38px}
.sb86-range-note{margin:8px 3px 0;color:#5f7188;font-size:13px;line-height:1.9}
@media(max-width:600px){.sb86-range-info{align-items:stretch;flex-direction:column}.sb86-range-info button{width:100%}}


/* === hammelk-ui-core-v94.css === */
/* HamMelk v94 – CENTRAL UI DESIGN LAYER
   All new pages should consume the --hm-ui-* tokens and .hm-ui-* components.
   Existing widgets (Jalali picker, calendars, popovers) retain their own geometry.
   Screen only: never alter A4/PDF/print layout. */
@media screen {
  :root {
    --hm-ui-text: #24364c;
    --hm-ui-muted: #526780;
    --hm-ui-soft: #f6f9fd;
    --hm-ui-surface: #fff;
    --hm-ui-border: #d8e2ee;
    --hm-ui-border-strong: #bfcee0;
    --hm-ui-accent: #386bb8;
    --hm-ui-accent-soft: #eef4fd;
    --hm-ui-shadow: 0 3px 12px rgba(28, 51, 83, .045);
    --hm-ui-radius: 14px;
    --hm-ui-gap: 14px;
    --hm-ui-section-gap: 18px;
    --hm-ui-control-height: 46px;
    --hm-ui-body: max(15px, calc(15px * var(--ds-body-scale, 1)));
    --hm-ui-label: max(14px, calc(14px * var(--ds-body-scale, 1)));
    --hm-ui-meta: max(14px, calc(14px * var(--ds-meta-scale, 1)));
    --hm-ui-title: max(18px, calc(18px * var(--ds-title-scale, 1)));
  }
  body .app-shell .page-content { min-width: 0; color: var(--hm-ui-text); }
  body .app-shell .page-content :is(.panel,.settings-section-card,.acct-v48-chart-card,.acct-v48-report-panel,.settings-clean-group,.owner-tab-panel,.receipt-step-v68,.stay-v58-field-section) { min-width: 0; }
  /* Reusable section building blocks, opt-in for new/converted forms. */
  body .app-shell .page-content .hm-ui-section {
    min-width: 0; padding: 16px; background: var(--hm-ui-soft);
    border: 1px solid var(--hm-ui-border); border-radius: var(--hm-ui-radius);
  }
  body .app-shell .page-content .hm-ui-section + .hm-ui-section { margin-top: var(--hm-ui-section-gap); }
  body .app-shell .page-content .hm-ui-section-head {
    min-width: 0; display: grid; gap: 4px; margin: 0 0 14px;
    padding: 0 0 11px; border-bottom: 1px solid var(--hm-ui-border);
  }
  body .app-shell .page-content .hm-ui-section-head h2,
  body .app-shell .page-content .hm-ui-section-head h3 {
    margin: 0; color: var(--hm-ui-text); font-size: var(--hm-ui-title) !important;
    line-height: 1.6; overflow-wrap: anywhere;
  }
  body .app-shell .page-content .hm-ui-section-head p {
    margin: 0; color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important;
    font-weight: 650; line-height: 1.75;
  }
  body .app-shell .page-content .hm-ui-fields {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start; gap: var(--hm-ui-gap); min-width: 0;
  }
  body .app-shell .page-content .hm-ui-fields > * { min-width: 0; }
  body .app-shell .page-content .hm-ui-fields > .wide,
  body .app-shell .page-content .hm-ui-fields > .span-3 { grid-column: 1 / -1; }
  body .app-shell .page-content .hm-ui-actions {
    display: flex; flex-wrap: wrap; justify-content: flex-end;
    align-items: center; gap: 9px; margin-top: var(--hm-ui-section-gap);
    padding-top: 14px; border-top: 1px solid var(--hm-ui-border);
  }
  /* Consistent field visual hierarchy; excludes choice-only and icon controls. */
  body .app-shell .page-content :is(.hm-ui-fields,.owner-fields,.user-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.stay-v58-dates-grid,.stay-v58-counts-grid,.form-grid,.cc92-fields,.cc92-settings-form) :is(label,.settings-field) {
    min-width: 0; overflow-wrap: break-word; color: var(--hm-ui-text);
    font-size: var(--hm-ui-label) !important; font-weight: 750; line-height: 1.65;
  }
  body .app-shell .page-content :is(.hm-ui-fields,.owner-fields,.user-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.stay-v58-dates-grid,.stay-v58-counts-grid,.form-grid) > label {
    display: flex; flex-direction: column; align-items: stretch; gap: 7px;
  }
  body .app-shell .page-content :is(.hm-ui-fields,.owner-fields,.user-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.stay-v58-dates-grid,.stay-v58-counts-grid,.form-grid,.cc92-settings-form) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='color']):not([type='range']),select,textarea) {
    min-width: 0; max-width: 100%; color: var(--hm-ui-text);
    border-color: var(--hm-ui-border-strong);
    font-size: var(--hm-ui-body) !important; line-height: 1.55;
  }
  body .app-shell .page-content :is(.hm-ui-fields,.user-fields,.owner-fields) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='color']),select) { min-height: var(--hm-ui-control-height); }
  body .app-shell .page-content :is(.hm-ui-fields,.owner-fields,.user-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.stay-v58-dates-grid,.stay-v58-counts-grid,.form-grid,.cc92-settings-form) :is(input,select,textarea):focus-visible {
    border-color: var(--hm-ui-accent); outline: 2px solid rgba(56,107,184,.2); outline-offset: 1px;
  }
  body .app-shell .page-content :is(.hm-ui-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.form-grid) :is(small,.field-help,.form-hint) {
    color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; line-height: 1.75;
    font-weight: 600; overflow-wrap: anywhere;
  }
  body .app-shell .page-content :is(.hm-ui-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.form-grid) :is(input,textarea)::placeholder { color: #667b93; opacity: 1; }
  /* Custom choice controls are not ordinary text fields. */
  body .app-shell .page-content .hm-ui-fields :is(input[type='checkbox'],input[type='radio']) { width: 18px; min-width: 18px; height: 18px; flex: 0 0 auto; }
  body .app-shell .page-content :is(.field-help,.form-hint,.acct-v49-date-hint,.cc92-kicker,.cc92-view-heading p,.cc92-provider-heading-copy p) {
    color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; line-height: 1.75;
  }
  /* Other proven section structures share spacing and readable headings, without restructuring their DOM. */
  body .app-shell .page-content :is(.settings-subsection,.owner-subsection-v44,.account-subsection,.stay-v58-field-section,.smart-entry-card-v52,.receipt-step-v68) { min-width: 0; }
  body .app-shell .page-content :is(.settings-subsection,.owner-subsection-v44,.account-subsection) { border: 1px solid var(--hm-ui-border); border-radius: var(--hm-ui-radius); background: var(--hm-ui-soft); padding: 14px; }
  body .app-shell .page-content :is(.owner-tab-panel,.settings-section-card) :is(.section-title,.settings-subsection-title) { min-width: 0; }
  body .app-shell .page-content :is(.owner-tab-panel,.settings-section-card,.account-subsection) :is(.section-title > div,.settings-subsection-title > div) { min-width: 0; }
  body .app-shell .page-content :is(.owner-tab-panel,.settings-section-card,.account-subsection) :is(.section-title span,.settings-subsection-title p) { color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; line-height: 1.7; }
  body .app-shell .page-content :is(.owner-tab-panel,.settings-section-card,.account-subsection) :is(.section-title b,.settings-subsection-title h3) { font-size: var(--hm-ui-title) !important; }
  /* Readable lists, labels and badges in normal screen tables; allow natural horizontal table scrolling. */
  body .app-shell .page-content :is(.table-wrap,.sb84-table-wrap,.acct-v48-table-wrap,.bank-ledger-table) { max-width: 100%; min-width: 0; }
  body .app-shell .page-content :is(.table-wrap,.sb84-table-wrap,.acct-v48-table-wrap,.bank-ledger-table) :is(th,td) { font-size: var(--hm-ui-body) !important; line-height: 1.65; }
  body .app-shell .page-content :is(.table-wrap,.sb84-table-wrap,.acct-v48-table-wrap,.bank-ledger-table) th { color: var(--hm-ui-muted); font-weight: 850; }
  body .app-shell .page-content :is(.status-chip,.ds-badge,.acct-v48-status) { font-size: var(--hm-ui-meta) !important; line-height: 1.55; }
  body .app-shell .page-content :is(.settings-clean-copy small,.settings-center-intro-v74,.owner-usage-v26 small,.owner-card-v26 small,.user-card-v26 small) { color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; line-height: 1.75; }
  /* Form operations: maintain intended variants/colors; improve click area and wrapping. */
  body .app-shell .page-content :is(.hm-ui-actions,.form-footer,.acct-v48-filter-actions) :is(.button,button) { min-height: 44px; min-width: 0; white-space: normal; }
  body .app-shell .page-content :is(.hm-ui-actions,.form-footer,.acct-v48-filter-actions) { min-width: 0; }
  @media (max-width: 740px) {
    :root { --hm-ui-gap: 12px; --hm-ui-section-gap: 14px; --hm-ui-control-height: 48px; --hm-ui-body: max(15px,calc(15px * var(--ds-body-scale,1))); }
    body .app-shell .page-content .hm-ui-section { padding: 13px; }
    body .app-shell .page-content .hm-ui-fields { grid-template-columns: minmax(0,1fr); }
    body .app-shell .page-content .hm-ui-fields > :is(.wide,.span-3) { grid-column: auto; }
    body .app-shell .page-content :is(.settings-subsection,.owner-subsection-v44,.account-subsection) { padding: 12px; }
    body .app-shell .page-content .hm-ui-actions > :is(.button,button) { flex: 1 1 140px; }
    body .app-shell .page-content :is(.hm-ui-fields,.owner-fields,.user-fields,.settings-fields-grid,.account-field-grid,.smart-entry-grid-v52,.stay-v58-dates-grid,.stay-v58-counts-grid,.form-grid,.cc92-settings-form) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='color']):not([type='range']),select,textarea) { font-size: max(16px,var(--hm-ui-body)) !important; }
  }
  @media (max-width: 380px) {
    body .app-shell .page-content :is(.hm-ui-actions,.form-footer,.acct-v48-filter-actions) { flex-wrap: wrap; }
    body .app-shell .page-content .hm-ui-actions > :is(.button,button,a.button) { width: 100%; flex: 1 1 100%; }
  }
}


/* === hammelk-accounting-ui-v94.css === */
/* Accounting display enhancements – intentionally scoped to screen, never print. */
@media screen {
  body .app-shell .page-content .acct-v48-kpis { gap: 12px; }
  body .app-shell .page-content .acct-v48-kpis article {
    display: flex; flex-direction: column; align-items: stretch; justify-content: center;
    gap: 7px; padding: 16px; border-color: var(--hm-ui-border);
  }
  body .app-shell .page-content .acct-v48-kpis article > span {
    font-size: var(--hm-ui-label) !important; line-height: 1.6;
    font-weight: 800; color: var(--hm-ui-muted); overflow-wrap: anywhere;
  }
  body .app-shell .page-content .acct-v48-kpis article > strong {
    display: block; margin: 0; min-width: 0; overflow-wrap: anywhere;
    font-size: max(20px,calc(21px * var(--ds-title-scale,1))) !important;
    line-height: 1.4; font-weight: 900; font-variant-numeric: tabular-nums;
    direction: ltr; text-align: right;
  }
  body .app-shell .page-content .acct-v48-kpis article > small {
    color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important;
    font-weight: 700; line-height: 1.5;
  }
  body .app-shell .page-content .acct-v48-tabs a {
    font-size: var(--hm-ui-label) !important; min-height: 43px; padding: 10px 13px;
    display: inline-flex; align-items: center;
  }
  body .app-shell .page-content .acct-v48-filter { gap: 14px; border-color: var(--hm-ui-border); }
  body .app-shell .page-content .acct-v48-filter-fields { gap: 12px; }
  body .app-shell .page-content .acct-v48-filter-fields > label { gap: 7px; min-width: 0; }
  body .app-shell .page-content .acct-v48-filter-fields > label > span {
    font-size: var(--hm-ui-label) !important; color: var(--hm-ui-text); font-weight: 800;
  }
  body .app-shell .page-content .acct-v49-date-hint { color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; }
  body .app-shell .page-content .acct-v48-chart-card p,
  body .app-shell .page-content .acct-v48-report-head p {
    color: var(--hm-ui-muted); font-size: var(--hm-ui-meta) !important; line-height: 1.7;
  }
  body .app-shell .page-content .acct-v48-chart-card > header > a,
  body .app-shell .page-content .acct-v48-chart-card > footer,
  body .app-shell .page-content .acct-v48-chart-card > footer span,
  body .app-shell .page-content .acct-v48-month-bars b,
  body .app-shell .page-content .acct-v48-hbars > a,
  body .app-shell .page-content .acct-v48-hbars > a > b,
  body .app-shell .page-content .acct-v48-mix span,
  body .app-shell .page-content .acct-v48-mix > div > strong,
  body .app-shell .page-content .acct-v48-trend :is(b,small) {
    font-size: var(--hm-ui-meta) !important; line-height: 1.6;
  }
  body .app-shell .page-content .acct-v48-hbars > a,
  body .app-shell .page-content .acct-v48-mix > div { min-width: 0; }
  body .app-shell .page-content .acct-v48-hbars > a > span,
  body .app-shell .page-content .acct-v48-mix span { white-space: normal; overflow-wrap: anywhere; }
  body .app-shell .page-content .acct-v48-report-panel :is(th,td) {
    font-size: var(--hm-ui-body) !important; line-height: 1.7;
  }
  body .app-shell .page-content .acct-v48-report-panel th { color: var(--hm-ui-muted); font-weight: 850; }
  body .app-shell .page-content .acct-v48-report-panel .acct-v48-status { font-size: var(--hm-ui-meta) !important; }
  body .app-shell .page-content .acct-v48-report-head { gap: 12px; }
  @media (max-width: 740px) {
    body .app-shell .page-content .acct-v48-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
    body .app-shell .page-content .acct-v48-kpis article { padding: 12px; gap: 6px; }
    body .app-shell .page-content .acct-v48-kpis article > strong { font-size: max(19px,calc(20px * var(--ds-title-scale,1))) !important; }
    body .app-shell .page-content .acct-v48-hbars > a,
    body .app-shell .page-content .acct-v48-mix > div { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  }
  @media (max-width: 350px) {
    body .app-shell .page-content .acct-v48-kpis { grid-template-columns: 1fr; }
  }
}


/* === hammelk-readability-v95.css === */
/* v95: Correct actual small UI text after all page CSS; screen only.
   Respect font scales; exclude SVG icons, calendars, controls with special geometry,
   printable reports, and deliberate visually hidden helper labels. */
@media screen {
  :root { --hm95-body: max(15px, calc(15px * var(--ds-body-scale, 1)));
          --hm95-meta: max(14px, calc(14px * var(--ds-meta-scale, 1)));
          --hm95-label: max(14px, calc(14px * var(--ds-body-scale, 1))); }
  body .app-shell .page-content :is(p,li,dt,dd,blockquote),
  body .app-shell .page-content :is(.field-help,.form-hint,.hint-text,.help-text) { line-height:1.8; }
  body .app-shell .page-content p:not(.visually-hidden):not(.sr-only) {
    font-size:max(15px,calc(15px * var(--ds-body-scale,1)))!important;
  }
  body .app-shell .page-content :is(small,.help-text,.field-hint,.form-hint,.field-help,.muted-text) {
    font-size:var(--hm95-meta) !important;line-height:1.75; }
  body .app-shell .page-content :is(label,legend):not(.sr-only):not(.visually-hidden) {
    font-size:var(--hm95-label) !important;line-height:1.65; }
  body .app-shell .page-content :is(th,td),
  body .app-shell .page-content :is(.table-wrap,.table-responsive,.report-table-wrap) :is(span,b,strong,time) {
    font-size:var(--hm95-body) !important; line-height:1.7; }
  body .app-shell .page-content :is(.table-wrap,.table-responsive,.report-table-wrap) th {font-weight:800;}
  body .app-shell .page-content :is(.status-chip,.ds-badge,.badge,.chip) { font-size:var(--hm95-meta) !important;line-height:1.5; }
  body .app-shell .page-content :is(button,.button):not(.icon-button):not(.calendar-icon-button):not(.date-icon-button) {font-size:var(--hm95-label);}
  body .app-shell .sidebar :is(.sidebar-nav a,.sidebar-nav span,.sidebar-property small) {font-size:max(13px,calc(13px * var(--ds-body-scale,1)));}
  /* Smart accounting v52: independently styled grid rows, NOT HTML tables. */
  body .app-shell .page-content :is(.smart-accounting-v52,.smart-history-v52,.category-list-v52,.category-create-v52) :is(p,span,small,label,time,b,strong) {
    font-size:var(--hm95-body) !important;line-height:1.7;}
  body .app-shell .page-content :is(.smart-history-head-v52,.smart-history-row-v52,.smart-debt-row-v52,.smart-debt-summary-v52,.smart-allocation-preview-v52,.smart-entry-actions-v52,.smart-entry-section-v66) :is(div,span,small,b,time,strong,label) {
    font-size:var(--hm95-body) !important;line-height:1.7;}
  body .app-shell .page-content :is(.smart-history-head-v52,.smart-history-row-v52) { min-width:0; }
  body .app-shell .page-content .smart-history-row-v52 > * {min-width:0;overflow-wrap:anywhere;}
  body .app-shell .page-content .smart-history-row-v52 > strong,
  body .app-shell .page-content .smart-accounting-stats-v52 strong {font-size: max(16px,calc(16px * var(--ds-body-scale,1))) !important;}
  body .app-shell .page-content :is(.cc92,.hm95-messenger-home,.settings-center-v43,.mc-center,.acct-v48) :is(p,small,label,td,th,span):not(.icon) {font-size:var(--hm95-body);line-height:1.75;}
  body .app-shell .page-content :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) { font-size: max(15px,calc(15px * var(--ds-body-scale,1))); }
  @media(max-width:760px) {
    body .app-shell .page-content :is(.smart-history-row-v52,.smart-debt-row-v52) {gap:10px;}
    body .app-shell .page-content :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea) {font-size:16px;}
    body .app-shell .page-content .smart-history-row-v52 > strong {overflow-wrap:anywhere;}
  }
}


/* === sharehome-cycle-ui-v96.css === */
/* ShareHome v96 — responsive cycle management. Screen-only; all changes scoped
   to the cycle management page so other forms/calendars/print remain intact. */
@media screen {
  .app-shell .page-content .cycle85-page,
  .app-shell .page-content .cycle85-page :is(.settings-hero,.settings-section-card,.cycle85-create,.cycle85-item,.cycle85-actions) {
    min-width: 0;
  }
  .app-shell .page-content .cycle85-page .settings-section-head { margin-bottom: 16px; padding-bottom: 14px; }
  .app-shell .page-content .cycle85-page .settings-section-head h2 { margin: 0 0 4px; }
  .app-shell .page-content .cycle85-page .settings-section-head p {
    margin: 0; line-height: 1.7 !important; overflow-wrap: break-word;
  }
  .app-shell .page-content .cycle85-create > .settings-field {
    min-width: 0; display: grid; gap: 7px; align-content: start;
  }
  .app-shell .page-content .cycle85-create > .settings-field > span {
    display: block; line-height: 1.5 !important;
  }
  .app-shell .page-content .cycle85-create > .settings-field > input,
  .app-shell .page-content .cycle85-create .hm-date-field-v57 {
    min-width: 0 !important; width: 100% !important; max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .app-shell .page-content .cycle85-create .hm-date-field-v57 > input.hm-date-input-v57 {
    min-width: 0 !important; box-sizing: border-box !important;
    padding-left: 54px !important; padding-right: 10px !important;
    font-variant-numeric: tabular-nums;
  }
  .app-shell .page-content .cycle85-create > .cycle85-check {
    display: flex !important; flex-direction: row !important; justify-content: flex-start !important;
    align-items: center !important; gap: 10px !important;
    min-width: 0; margin: 0; line-height: 1.6;
  }
  .app-shell .page-content .cycle85-create > .cycle85-check > input[type="checkbox"] {
    width: 20px !important; height: 20px !important;
    min-width: 20px !important; flex: 0 0 20px !important; margin: 0 !important;
  }
  .app-shell .page-content .cycle85-create > .cycle85-check > span { min-width: 0; }
  .app-shell .page-content .cycle85-item > div:first-child { min-width: 0; }
  .app-shell .page-content .cycle85-item b { line-height: 1.5; }
  .app-shell .page-content .cycle85-item small { line-height: 1.7 !important; overflow-wrap: break-word; }
  .app-shell .page-content .cycle85-actions { min-width: 0; }
  .app-shell .page-content .cycle85-actions form { min-width: 0; }
  .app-shell .page-content .cycle85-actions input { box-sizing: border-box; min-width: 0; }
  .app-shell .page-content .cycle85-links a { line-height: 1.6; }

  @media (max-width: 640px) {
    .app-shell .page-content .cycle85-page { gap: 12px; }
    .app-shell .page-content .cycle85-page .settings-hero {
      padding: 15px !important; border-radius: 17px !important; gap: 10px;
    }
    .app-shell .page-content .cycle85-page .settings-hero h1 { font-size: 22px !important; line-height: 1.45 !important; }
    .app-shell .page-content .cycle85-page .settings-hero p { font-size: 14px !important; line-height: 1.7 !important; }
    .app-shell .page-content .cycle85-page .settings-section-card {
      padding: 14px !important; border-radius: 17px !important;
    }
    .app-shell .page-content .cycle85-page .settings-section-head { margin-bottom: 12px; padding-bottom: 12px; }
    .app-shell .page-content .cycle85-page .settings-section-head h2 { font-size: 21px !important; line-height: 1.5 !important; }
    .app-shell .page-content .cycle85-page .settings-section-head p { font-size: 14px !important; }
    /* Every date field gets the full available width, even at 390–430px. */
    .app-shell .page-content .cycle85-create {
      display: grid !important; grid-template-columns: minmax(0,1fr) !important;
      gap: 11px !important; align-items: stretch !important;
    }
    .app-shell .page-content .cycle85-create > * { grid-column: 1 / -1 !important; min-width: 0; }
    .app-shell .page-content .cycle85-create > .settings-field {
      padding: 11px !important; border-radius: 12px !important;
    }
    .app-shell .page-content .cycle85-create > .settings-field > span { font-size: 14px !important; }
    .app-shell .page-content .cycle85-create > .cycle85-check {
      padding: 5px 2px; font-size: 14px !important; min-height: 34px !important;
    }
    .app-shell .page-content .cycle85-create > .button {
      width: 100% !important; min-height: 46px !important; justify-self: stretch;
      font-size: 15px !important;
    }
    .app-shell .page-content .cycle85-list { gap: 10px; }
    .app-shell .page-content .cycle85-item {
      display: grid !important; grid-template-columns: minmax(0,1fr) !important;
      gap: 12px !important; padding: 13px !important; border-radius: 14px;
    }
    .app-shell .page-content .cycle85-item b { font-size: 18px !important; }
    .app-shell .page-content .cycle85-item small { font-size: 14px !important; }
    .app-shell .page-content .cycle85-actions {
      display: grid !important; grid-template-columns: minmax(0,1fr) !important;
      gap: 8px !important; width: 100% !important;
    }
    .app-shell .page-content .cycle85-actions form:first-child {
      display: grid !important; grid-template-columns: minmax(0,1fr) auto !important;
      gap: 8px !important; width: 100% !important; align-items: stretch !important;
    }
    .app-shell .page-content .cycle85-actions form:first-child input {
      width: 100% !important; max-width: 100% !important; min-width: 0 !important;
      min-height: 44px !important; padding: 7px 10px !important;
    }
    .app-shell .page-content .cycle85-actions form:first-child button { white-space: nowrap; min-height: 44px; }
    .app-shell .page-content .cycle85-actions form:not(:first-child) { justify-self: start; }
    .app-shell .page-content .cycle85-actions form:not(:first-child) button { min-height: 42px; }
    .app-shell .page-content .cycle85-note { line-height: 1.75 !important; margin-bottom: 0; }
    .app-shell .page-content .cycle85-links { gap: 7px 15px; margin-top: 12px; }
  }
  @media (max-width: 350px) {
    .app-shell .page-content .cycle85-actions form:first-child {
      grid-template-columns: minmax(0,1fr) !important;
    }
    .app-shell .page-content .cycle85-actions form:first-child button { width: 100%; }
  }
}


/* === sharehome-cycle-management-v99.css === */
/* v99 - Cycle editing / safe deletion. Deliberately scoped; print unchanged. */
@media screen {
  .cycle99-page .cycle99-list { gap: 14px; }
  .cycle99-page .cycle99-item { display: block !important; padding: 16px !important; min-width: 0; }
  .cycle99-page .cycle99-identity { display: block !important; margin-bottom: 12px; }
  .cycle99-page .cycle99-heading { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
  .cycle99-page .cycle99-identity small { display: block; margin-top: 6px; font-size: 14px; }
  .cycle99-page .cycle99-stats { display:flex; flex-wrap:wrap; gap: 8px; margin-top: 10px; }
  .cycle99-page .cycle99-stats span { padding: 4px 9px; border-radius: 8px; background: #edf3f7; font-size:14px; color:#28445a; }
  .cycle99-page .cycle99-actions { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; width:100%; }
  .cycle99-page .cycle99-actions > form { margin: 0; }
  .cycle99-page .cycle99-detail { min-width: 0; }
  .cycle99-page .cycle99-detail[open] { flex-basis:100%; width:100%; background:#f6f9fb; border:1px solid #d5e1e9; border-radius:13px; padding:12px; }
  .cycle99-page .cycle99-detail summary { cursor:pointer; list-style:none; min-height:43px; display:inline-flex; align-items:center; font-size:15px; }
  .cycle99-page .cycle99-detail summary::-webkit-details-marker { display:none; }
  .cycle99-page .cycle99-detail[open] summary { margin-bottom:12px; }
  .cycle99-page .cycle99-delete-trigger { border-color:#efc3c3 !important; color:#9d2525 !important; }
  .cycle99-page .cycle99-edit-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; }
  .cycle99-page .cycle99-edit-form > label:first-of-type { grid-column:1/-1; }
  .cycle99-page .cycle99-edit-form .cycle99-check,
  .cycle99-page .cycle99-edit-form .cycle99-duration,
  .cycle99-page .cycle99-edit-form .cycle99-hint,
  .cycle99-page .cycle99-edit-form > button { grid-column:1/-1; }
  .cycle99-page :is(.cycle99-edit-form,.cycle99-delete-form) .settings-field { min-width:0; display:grid; gap:7px; }
  .cycle99-page :is(.cycle99-edit-form,.cycle99-delete-form) .settings-field > input,
  .cycle99-page :is(.cycle99-edit-form,.cycle99-delete-form) .settings-field > select { min-height:44px; width:100%; max-width:100%; min-width:0; box-sizing:border-box; font-size:15px; }
  .cycle99-page :is(.cycle99-edit-form,.cycle99-delete-form) .hm-date-field-v57 { min-width:0; max-width:100%; width:100%; box-sizing:border-box; }
  .cycle99-page :is(.cycle99-edit-form,.cycle99-delete-form) .hm-date-input-v57 { padding-left:54px !important; min-width:0 !important; }
  .cycle99-page .cycle99-check { display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.8; }
  .cycle99-page .cycle99-check input { flex:0 0 19px; width:19px !important; min-width:19px !important; height:19px !important; margin-top:4px; }
  .cycle99-page .cycle99-duration { padding:8px 12px; border-radius:9px; background:#e9f4f0; color:#205c43; font-size:15px; }
  .cycle99-page .cycle99-create .cycle99-duration { grid-column:1/-1; }
  .cycle99-page .cycle99-form > .cycle99-duration { grid-column:1/-1; }
  .cycle99-page .cycle99-form > .cycle85-check { grid-column:1/-1; }
  .cycle99-page .cycle99-form > .button { grid-column:1/-1; }
  .cycle99-page .cycle99-warning { color:#8d3131; background:#fff2f0; border:1px solid #f4c9c2; border-radius:10px; font-size:14px; line-height:1.9; padding:10px 12px; }
  .cycle99-page .cycle99-hint { font-size:14px; line-height:1.8; color:#52677b; }
  .cycle99-page .cycle99-delete-info > strong { font-size:17px; display:block; margin-bottom:12px; }
  .cycle99-page .cycle99-impact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .cycle99-page .cycle99-impact-grid > span { display:flex; justify-content:space-between; gap:12px; background:white; border:1px solid #e0e8ef; padding:9px; border-radius:9px; font-size:14px; }
  .cycle99-page .cycle99-impact-grid b { font-size:15px; }
  .cycle99-page .cycle99-delete-form { display:grid; gap:12px; max-width:620px; }
  .cycle99-page .cycle99-danger { background:#ab2828; color:white; border:1px solid #9f2020; min-height:45px; font-size:15px; }
  .cycle99-page .cycle99-danger:hover { background:#8f1c1c; }
  @media(max-width:760px){
    .cycle99-page .cycle99-form, .cycle99-page .cycle99-edit-form { grid-template-columns:minmax(0,1fr) !important; }
    .cycle99-page .cycle99-form > *,.cycle99-page .cycle99-edit-form > * { grid-column:1/-1 !important; }
    .cycle99-page .cycle99-item { padding:12px !important; }
    .cycle99-page .cycle99-actions { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
    .cycle99-page .cycle99-actions > form,
    .cycle99-page .cycle99-actions > .cycle99-detail { width:100%; }
    .cycle99-page .cycle99-actions > form > button,
    .cycle99-page .cycle99-detail > summary { width:100%; justify-content:center; box-sizing:border-box; }
    .cycle99-page .cycle99-impact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cycle99-page .cycle99-detail[open] { padding:10px; }
  }
  @media(max-width:350px){.cycle99-page .cycle99-impact-grid{grid-template-columns:minmax(0,1fr);}}
}

/* v101 — dedicated temporary-cycle purge lives only in maintenance tools. */
@media screen {
  #test-cycle-delete .cycle-test-flag,
  #test-cycle-delete .cycle-test-delete-form {
    display:grid;gap:14px;margin-top:16px;max-width:760px;
    grid-template-columns:minmax(0,1fr);
  }
  #test-cycle-delete .settings-field {display:grid;gap:7px;min-width:0;font-size:15px;}
  #test-cycle-delete .settings-field :is(input,select) {
    min-width:0;max-width:100%;box-sizing:border-box;min-height:45px;font-size:16px;
  }
  #test-cycle-delete .danger-warning {font-size:15px;line-height:1.9;}
  #test-cycle-delete [hidden] {display:none!important;}
  #test-cycle-delete #testCyclePreview {
    font-size:14px;line-height:2;overflow-wrap:anywhere;
  }
  @media(max-width:640px){
    #test-cycle-delete .cycle-test-delete-form,
    #test-cycle-delete .cycle-test-flag {grid-template-columns:minmax(0,1fr);}
    #test-cycle-delete .button {width:100%;white-space:normal;text-align:center;}
  }
}


/* === hammelk-jalali-presentation-v103.css === */
/* Central screen-only calendar presentation v103. Loaded last. */

/* v103 — All weeks and actions visible without an internal scrollbar.
   The JS closes the picker when neither side has room for its full height. */
.hammelk-jalali-picker-v35,
.hammelk-jalali-picker-v35:popover-open {
  max-height:none!important;
  overflow:visible!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  overscroll-behavior:auto;
}
/* A measured compact arrangement, not a clipped/scrollable one. */
.hammelk-jalali-picker-v35.hammelk-jp-tight-v103 {
  padding:8px!important;
}
.hammelk-jp-tight-v103 .hammelk-jp-title-v35 {margin-bottom:5px;padding-bottom:5px}
.hammelk-jp-tight-v103 .hammelk-jp-week-v35 {margin:6px 0 2px}
.hammelk-jp-tight-v103 .hammelk-jp-week-v35,
.hammelk-jp-tight-v103 .hammelk-jp-days-v35 {gap:2px!important}
.hammelk-jp-tight-v103 .hammelk-jp-days-v35>span,
.hammelk-jp-tight-v103 .hammelk-jp-days-v35>button {height:36px!important}
.hammelk-jp-tight-v103 .hammelk-jp-head-v35>button {height:38px!important}
.hammelk-jp-tight-v103 .hammelk-jp-heading-part-v35 {height:38px!important}
.hammelk-jp-tight-v103 .hammelk-jp-actions-v35 {margin-top:6px;padding-top:6px}
.hammelk-jp-tight-v103 .hammelk-jp-actions-v35 button {min-height:38px!important}
.hammelk-jp-tight-v103 .hammelk-jp-choice-grid-v35 {min-height:0!important;gap:5px;margin-top:8px}
.hammelk-jp-tight-v103 .hammelk-jp-choice-grid-v35 button {height:40px!important}
.hammelk-jp-tight-v103 .hammelk-jp-hint-v35 {margin-top:6px;padding:5px}


/* v103 — Date digits must never share the icon's space.
   Use the full text lane (to the right of the icon in LTR date inputs).
   In narrow two-column mobile forms reserve less icon width, not date text. */
@media screen {
  .hm-date-field-v57 > input.hm-date-input-v57,
  .acct-v49-date-control.hm-date-field-v57 > input.hm-date-input-v57,
  .smart-date-control-v52.hm-date-field-v57 > input.hm-date-input-v57 {
    direction:ltr!important;
    text-align:right!important;
    font-family:inherit;
    font-variant-numeric:tabular-nums!important;
    letter-spacing:0!important;
    padding:9px 10px 9px 49px!important;
    text-overflow:clip!important;
    box-sizing:border-box!important;
  }
  .hm-date-field-v57 > input.hm-date-input-v57:not(:focus) {text-align:right!important;}
}
@media screen and (max-width:640px) {
  .hm-date-field-v57 > input.hm-date-input-v57,
  .acct-v49-date-control.hm-date-field-v57 > input.hm-date-input-v57,
  .smart-date-control-v52.hm-date-field-v57 > input.hm-date-input-v57 {
    /* A complete 10-character Jalali date remains readable in narrow grids. */
    font-size:clamp(14px,3.75vw,16px)!important;
    padding-left:45px!important;
    padding-right:6px!important;
  }
  .hm-date-field-v57 > .hm-date-trigger-v57 {left:5px!important;width:35px!important;height:35px!important;min-width:35px!important;min-height:35px!important}
}

/* v160: phone/tablet calendar is a viewport-safe dialog, not an anchored popup.
   This intentionally overrides v103's no-overflow rule only in sheet mode. */
.hammelk-jp-backdrop-v35.hammelk-jp-mobile-v160:not([hidden]) {
  display:block!important;
  background:rgba(17,31,49,.42);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
body.hammelk-jp-open-v160 { overflow:hidden!important; }
.hammelk-jalali-picker-v35.hammelk-jp-sheet-v160,
.hammelk-jalali-picker-v35.hammelk-jp-sheet-v160:popover-open {
  position:fixed!important;
  box-sizing:border-box!important;
  max-height:calc(100dvh - 16px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  border-radius:20px!important;
  padding:12px 12px max(12px,env(safe-area-inset-bottom))!important;
  box-shadow:0 22px 65px rgba(8,21,38,.32)!important;
}
.hammelk-jp-actions-v35 .hammelk-jp-type-v160 {display:none!important;}
.hammelk-jp-sheet-v160 .hammelk-jp-actions-v35 .hammelk-jp-type-v160 {display:inline-flex!important;align-items:center!important;}
.hammelk-jp-sheet-v160 .hammelk-jp-actions-v35 {flex-wrap:wrap;}
.hammelk-jp-sheet-v160 .hammelk-jp-actions-v35 button {min-height:40px!important;}
@media (max-height:480px) {
  .hammelk-jp-sheet-v160 .hammelk-jp-title-v35 {padding-bottom:4px;margin-bottom:5px}
  .hammelk-jp-sheet-v160 .hammelk-jp-week-v35 {margin:5px 0 3px}
}


/* === sharehome-number-stepper-v104.css === */
/* v104 — shared accessible number steppers for management and owner stay forms.
 * Explicit opt-in prevents collisions with other numeric inputs and preserves print styling. */
@media screen {
  body .app-shell .page-content .hm-count-field-v104 {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 8px;
  }
  body .app-shell .page-content .hm-count-field-v104 > label {
    margin: 0;
    color: #354964;
    font-size: max(14px, var(--hm-ui-label, 14px));
    font-weight: 800;
    line-height: 1.55;
    min-width: 0;
  }
  body .app-shell .page-content .hm-number-stepper-v104 {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 5px;
    align-items: center;
    padding: 5px;
    border: 1px solid #d8e1ed;
    border-radius: 15px;
    background: #fff;
  }
  body .app-shell .page-content .hm-number-stepper-v104:focus-within {
    border-color: #6b8ddd;
    box-shadow: 0 0 0 3px rgba(97, 129, 216, .11);
  }
  body .app-shell .page-content .hm-number-stepper-v104 > .hm-number-stepper-button-v104 {
    appearance: none;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    position: static;
    width: 44px;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #d8e4f0;
    border-radius: 11px;
    background: #eef4ff;
    color: #315fa9;
    font-family: inherit;
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    touch-action: manipulation;
    user-select: none;
  }
  body .app-shell .page-content .hm-number-stepper-v104 > .hm-number-stepper-button-v104:disabled {
    opacity: .38;
    cursor: not-allowed;
    background: #f3f5f8;
    color: #748298;
  }
  body .app-shell .page-content .hm-number-stepper-v104 > .hm-number-stepper-button-v104:not(:disabled):active {
    transform: scale(.97);
    background: #dce9ff;
  }
  body .app-shell .page-content .hm-number-stepper-v104 > .hm-number-stepper-button-v104:focus-visible {
    outline: 2px solid #4473ca;
    outline-offset: 2px;
  }
  body .app-shell .page-content .hm-number-stepper-v104 > input[data-stepper-input] {
    box-sizing: border-box;
    direction: ltr;
    text-align: center;
    min-width: 0;
    width: 100%;
    min-height: 44px;
    height: 44px;
    margin: 0;
    padding: 0 1px;
    background: transparent;
    color: #203147;
    border: none;
    border-radius: 7px;
    box-shadow: none;
    outline: 0;
    font-size: max(17px, var(--hm-ui-body, 15px)) !important;
    font-weight: 800;
    line-height: normal;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
    appearance: textfield;
  }
  body .app-shell .page-content .hm-number-stepper-v104 > input[data-stepper-input]:focus-visible {
    box-shadow: none;
    outline: none;
  }
  /* Management right-hand column is narrower than the owners' form. */
  body .app-shell .page-content .stay-v58-primary-fields .stay-v58-counts-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  @media (min-width: 651px) and (max-width: 840px) {
    body .app-shell .page-content .stay-v58-primary-fields .stay-v58-counts-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (min-width: 371px) and (max-width: 650px) {
    body .app-shell .page-content .stay-v58-primary-fields .stay-v58-counts-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  /* At narrow viewport widths, stack the two independent counters rather
   * than reduce tap targets or allow controls to overlap. */
  @media (max-width: 370px) {
    body .app-shell .page-content :is(.owner-stay-counts-v33, .stay-v58-counts-grid,
      .stay-v58-primary-fields .stay-v58-counts-grid) {
      grid-template-columns: minmax(0,1fr);
    }
  }
  @media (prefers-reduced-motion: reduce) {
    body .app-shell .page-content .hm-number-stepper-v104 > .hm-number-stepper-button-v104 {
      transition: none;
    }
  }
}


/* === sharehome-stay-layout-v105.css === */
/* v105 — admin stay registration: entry dates/times and both counters share a row.
   Layout-only change: owner forms, print and server-side behaviour are untouched. */
@media screen {
  body .app-shell .page-content .stay-v58-admin .stay-v105-visit-fields {
    min-width: 0;
    padding: 14px 0 18px;
    margin: 0 0 16px;
    border-bottom: 1px solid #e8edf4;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid {
    display: grid;
    min-width: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-areas:
      "time-heading time-heading count-heading count-heading"
      "in-date in-time family guests"
      "out-date out-time . .";
    align-items: end;
    column-gap: 14px;
    row-gap: 13px;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > h3 {
    font-size: 16px;
    font-weight: 850;
    line-height: 1.5;
    color: #2b405d;
    margin: 0;
    padding: 0 0 5px;
    border-bottom: 1px solid #edf1f6;
    min-width: 0;
  }
  .stay-v58-admin .stay-v105-heading-time {grid-area: time-heading;}
  .stay-v58-admin .stay-v105-heading-count {grid-area: count-heading;}
  .stay-v58-admin .stay-v105-check-in-date {grid-area: in-date;}
  .stay-v58-admin .stay-v105-check-in-time {grid-area: in-time;}
  .stay-v58-admin .stay-v105-family-count {grid-area: family;}
  .stay-v58-admin .stay-v105-guest-count {grid-area: guests;}
  .stay-v58-admin .stay-v105-check-out-date {grid-area: out-date;}
  .stay-v58-admin .stay-v105-check-out-time {grid-area: out-time;}
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > :is(label, .hm-count-field-v104) {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    margin: 0;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > label {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: end;
    gap: 8px;
    min-height: 0;
    line-height: 1.55;
    font-size: 14px;
  }
  /* Keep required badges inline with the time field titles instead of adding
     a second label row and breaking vertical alignment. */
  body .app-shell .page-content .stay-v58-admin .stay-v105-check-in-time,
  body .app-shell .page-content .stay-v58-admin .stay-v105-check-out-time {
    position: relative;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > label > .stay-v59-required {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    line-height: 1.55;
    font-size: 12px;
    white-space: nowrap;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid .hm-count-field-v104 {
    gap: 8px;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid .hm-number-stepper-v104 {
    min-width: 0;
    min-height: 52px;
    grid-template-columns: 42px minmax(0,1fr) 42px;
    gap: 4px;
    padding: 4px;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid .hm-number-stepper-button-v104 {
    width: 42px;
    height: 42px;
    min-height: 42px;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > label > input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    margin: 0;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid .hm-number-stepper-v104 input {
    min-height: 42px;
    height: 42px;
  }
  body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid > [data-complete-only][hidden] {
    display: none !important;
  }
  body .app-shell .page-content .stay-v58-admin form[data-initial-mode="checkin"] .stay-v105-fields-grid {
    grid-template-areas:
      "time-heading time-heading count-heading count-heading"
      "in-date in-time family guests";
  }
  /* No nested narrow sidebar layout: below this width use logical rows. */
  @media (max-width: 1149px) {
    body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid {
      grid-template-columns: repeat(2, minmax(0,1fr));
      grid-template-areas:
        "time-heading time-heading"
        "in-date in-time"
        "out-date out-time"
        "count-heading count-heading"
        "family guests";
      gap: 13px;
    }
    body .app-shell .page-content .stay-v58-admin form[data-initial-mode="checkin"] .stay-v105-fields-grid {
      grid-template-areas:
        "time-heading time-heading"
        "in-date in-time"
        "count-heading count-heading"
        "family guests";
    }
    body .app-shell .page-content .stay-v58-admin .stay-v105-heading-count {margin-top: 5px;}
  }
  @media (max-width: 560px) {
    body .app-shell .page-content .stay-v58-admin .stay-v105-fields-grid {
      grid-template-columns: minmax(0,1fr);
      grid-template-areas:
        "time-heading"
        "in-date"
        "in-time"
        "out-date"
        "out-time"
        "count-heading"
        "family"
        "guests";
      row-gap: 13px;
    }
    body .app-shell .page-content .stay-v58-admin form[data-initial-mode="checkin"] .stay-v105-fields-grid {
      grid-template-areas:
        "time-heading"
        "in-date"
        "in-time"
        "count-heading"
        "family"
        "guests";
    }
  }
}


/* === sharehome-pledge-v109.css === */
.hm-pledge-admin,.hm-pledge-user{max-width:1150px;margin:0 auto;color:var(--text,#233149);line-height:1.85}
.hm-pledge-admin *,.hm-pledge-user *{box-sizing:border-box}
.hm-pledge-admin-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0 22px}.hm-pledge-admin h1,.hm-pledge-user h1{font-size:clamp(22px,3vw,29px);margin:0 0 4px}.hm-pledge-admin-head small,.hm-pledge-user header small{color:var(--text-muted,#71809b)}
.hm-pledge-admin p,.hm-pledge-user header p{margin:4px 0 10px;color:var(--text-muted,#6d7b91)}
.hm-pledge-edition{padding:9px 14px;border:1px solid var(--border,#dce2e9);border-radius:14px;white-space:nowrap;background:var(--surface,#fff)}
.hm-pledge-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:17px}.hm-pledge-tabs button{border:1px solid var(--border,#d5deea);border-radius:13px;padding:10px 15px;background:var(--surface,#fff);color:inherit;font:inherit;font-weight:650;cursor:pointer}.hm-pledge-tabs button.is-current{background:#1a6674;color:#fff;border-color:#1a6674}
.hm-pledge-pane,.hm-pledge-section,.hm-rules-text{padding:clamp(15px,3vw,24px);border:1px solid var(--border,#dbe1e8);border-radius:20px;background:var(--surface,#fff);box-shadow:0 3px 14px #143c6010}
.hm-pledge-pane[hidden],.hm-pledge-detail[hidden],.hm-pledge-q[hidden]{display:none!important}
.hm-pledge-pane h2{font-size:20px;margin:0 0 2px}.hm-pledge-admin label{display:grid;gap:6px;font-weight:650}
.hm-pledge-admin textarea,.hm-pledge-admin input,.hm-pledge-admin select,.hm-pledge-q textarea,.hm-pledge-q input:not([type=radio]):not([type=checkbox]),.hm-pledge-q select{min-width:0;width:100%;background:var(--surface,#fff);color:inherit;border:1px solid var(--border,#d2dce8);border-radius:11px;padding:11px 12px;font:inherit}
.hm-pledge-admin textarea:focus,.hm-pledge-admin input:focus,.hm-pledge-admin select:focus,.hm-pledge-q :is(textarea,input,select):focus{outline:2px solid #3b9f9d;outline-offset:1px}
.hm-pledge-pane-head,.hm-pledge-bank-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hm-pledge-bank-section{background:var(--surface-soft,#f7f9fc);border:1px solid var(--border,#dce4ed);border-radius:16px;padding:12px;margin:13px 0}.hm-pledge-bank-head input{flex:1;min-width:150px;font-weight:750;background:transparent}.hm-pledge-bank-question{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface,#fff);border:1px solid var(--border,#dce4ed);border-radius:12px;margin:7px 0;cursor:grab}.hm-pledge-bank-question b{font-size:14px;font-weight:650;flex:1}.hm-pledge-question-actions{display:flex;gap:5px;flex-wrap:wrap}.hm-small-btn,.hm-mini{font:inherit;border:1px solid var(--border,#d5dfea);border-radius:9px;padding:5px 9px;background:var(--surface,#fff);color:inherit;cursor:pointer;white-space:nowrap}.hm-small-btn.is-assigned{background:#dcf3ee;border-color:#a5d7c9;color:#166659}
.hm-pledge-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hm-pledge-lane{border:2px dashed var(--border,#cbd8e4);border-radius:16px;background:var(--surface-soft,#f9fafc);padding:13px;min-height:180px}.hm-pledge-lane.is-over{background:#e3f5f1;border-color:#168c7c}.hm-pledge-lane h3{margin:0 0 12px}.hm-pledge-lane-question{display:flex;align-items:center;gap:6px;background:var(--surface,#fff);border-radius:10px;margin:7px 0;padding:8px;border:1px solid var(--border,#dde4eb);cursor:grab}.hm-pledge-lane-text{flex:1;font-size:13px;line-height:1.6}.hm-pledge-grip{color:#8291a0;font-size:20px}.hm-pledge-empty{font-size:13px;color:#748398}.hm-pledge-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:17px}.hm-pledge-dirty{margin-inline-end:auto;font-size:13px;color:#a46c32}.hm-pledge-admin #hmPledgePublish{display:flex;justify-content:flex-end;margin:8px 0 24px}
.hm-pledge-detail{position:fixed;top:4%;bottom:4%;left:clamp(6px,3vw,28px);width:min(460px,calc(100vw - 12px));overflow:auto;background:var(--surface,#fff);color:inherit;box-shadow:0 15px 60px #1b324555;border:1px solid var(--border,#d9e1ed);padding:20px;border-radius:20px;z-index:1100;display:grid;align-content:start;gap:12px}.hm-pledge-detail-head{display:flex;justify-content:space-between;align-items:center}.hm-pledge-detail-head h2{margin:0}.hm-pledge-detail-head button{border:0;background:transparent;font-size:30px;cursor:pointer;color:inherit}
.hm-pledge-preview-stage{display:flex;gap:8px;padding:12px 0}.hm-pledge-preview-item{padding:13px;margin:10px 0;background:var(--surface-soft,#f8fafc);border:1px solid var(--border,#dbe4ed);border-radius:13px;display:grid;gap:3px}.hm-pledge-preview-item small{color:#748198}.hm-pledge-preview-item p{font-size:13px}
.hm-pledge-user{max-width:790px}.hm-pledge-user header{margin:12px 0 20px}.hm-rules-text{white-space:pre-line;font-size:16px;line-height:2.4;margin-bottom:20px}.hm-pledge-action{display:block;margin:20px 0 25px;min-width:180px;max-width:100%;font-weight:750!important}.hm-pledge-section{min-width:0;margin-bottom:15px}.hm-pledge-section legend{padding:0 8px;font-weight:800;font-size:18px}.hm-pledge-q{padding:14px 0;border-bottom:1px solid var(--border,#e1e6ee)}.hm-pledge-q:last-child{border:0}.hm-pledge-q.has-error{background:#fff2f1;border-radius:10px;padding:12px}.hm-pledge-prompt{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px}.hm-pledge-prompt span{font-size:11px;color:#ae593f}.hm-pledge-choices{display:flex;gap:8px;flex-wrap:wrap}.hm-pledge-choice{display:inline-flex;align-items:center;gap:6px;background:var(--surface-soft,#f6f8fb);border:1px solid var(--border,#dce3ec);border-radius:10px;padding:8px 12px;cursor:pointer;line-height:1.7}.hm-pledge-choice input{width:17px;height:17px;accent-color:#258179}.hm-pledge-matrix-wrap{overflow:auto}.hm-pledge-matrix{border-collapse:collapse;width:100%;min-width:380px}.hm-pledge-matrix th,.hm-pledge-matrix td{border-bottom:1px solid var(--border,#e0e5ee);padding:10px;text-align:center}.hm-pledge-matrix th:first-child{text-align:right}.hm-pledge-matrix th{font-size:13px}.hm-pledge-matrix input{width:18px;height:18px;accent-color:#168e86}.hm-pledge-matrix-choice{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-width:36px;min-height:36px}.hm-pledge-matrix-choice-text{display:none}.hm-pledge-error{display:block;color:#af2733;font-size:13px;padding:6px 0}.hm-pledge-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:8px}
@media(max-width:700px){.hm-pledge-admin-head{align-items:flex-start;flex-direction:column}.hm-pledge-board{grid-template-columns:1fr}.hm-pledge-bank-question{align-items:stretch;flex-direction:column}.hm-pledge-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hm-pledge-tabs button{font-size:13px;padding:9px 3px}.hm-pledge-prompt{flex-direction:column;gap:2px}.hm-pledge-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hm-pledge-choice{font-size:13px;padding:8px}.hm-pledge-action{width:100%}.hm-pledge-detail{top:1%;bottom:1%;padding:14px}}
.hm-pledge-response-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:9px;margin-top:15px}.hm-pledge-response-link{display:grid;gap:2px;text-decoration:none;padding:12px;border:1px solid var(--border,#dde4ec);border-radius:12px;color:inherit}.hm-pledge-response-link:hover,.hm-pledge-response-link.is-active{background:var(--surface-soft,#edf7f4);border-color:#65ab9e}.hm-pledge-response-link small{color:#738298}.hm-pledge-response-stage{margin:18px 0;border-top:1px solid var(--border,#dae2eb);padding-top:12px}.hm-pledge-response-answer{padding:10px;border-bottom:1px solid var(--border,#e2e8f1);display:grid;gap:2px}.hm-pledge-response-answer small{color:#6c7a89}.hm-pledge-response-answer p{color:inherit;margin:0}.hm-pledge-response-answer ul{margin:0}.hm-pledge-user .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media print {.sidebar,.sidebar-backdrop,.hm-pledge-tabs,.hm-pledge-admin-head a,.hm-pledge-response-list{display:none!important}.hm-pledge-admin{max-width:none}.hm-pledge-pane{box-shadow:none;border:0}}
/* Responsive pledge matrix: each row becomes a compact question card; no horizontal scrolling. */
@media (max-width:700px){
  .hm-pledge-user,.hm-pledge-questionnaire,.hm-pledge-section,.hm-pledge-q{min-width:0;max-width:100%}
  .hm-pledge-prompt b{overflow-wrap:anywhere}
  .hm-pledge-matrix-wrap{width:100%;max-width:100%;min-width:0;overflow:visible!important}
  .hm-pledge-matrix,.hm-pledge-matrix tbody{display:block;width:100%;min-width:0!important;max-width:100%}
  .hm-pledge-matrix thead{display:none}
  .hm-pledge-matrix tbody tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));gap:7px;padding:12px 0;border-bottom:1px solid var(--border,#dce3ec);width:100%;min-width:0}
  .hm-pledge-matrix tbody tr:last-child{border-bottom:0}
  .hm-pledge-matrix tbody th{grid-column:1/-1;display:block;min-width:0;white-space:normal!important;text-align:right!important;background:none!important;border:0!important;padding:0 2px 2px!important;font-size:14px;font-weight:750;overflow-wrap:anywhere}
  .hm-pledge-matrix tbody td{display:block;min-width:0;width:100%;border:0!important;padding:0!important;white-space:normal!important;background:transparent!important}
  .hm-pledge-matrix-choice{display:flex;justify-content:center;align-items:center;gap:8px;min-width:0;width:100%;min-height:46px;padding:8px 6px;border:1px solid var(--border,#d5dfea);border-radius:11px;background:var(--surface-soft,#f6f8fb);line-height:1.6;white-space:normal;overflow-wrap:anywhere}
  .hm-pledge-matrix-choice input{flex:0 0 auto;width:19px!important;height:19px!important;margin:0;accent-color:#168e86}
  .hm-pledge-matrix-choice-text{display:inline;color:inherit;font-size:13px;font-weight:700}
  .hm-pledge-matrix-choice:has(input:checked){background:#e3f5f1;border-color:#4daea0;color:#176d62}
  .hm-pledge-matrix-choice:focus-within{outline:2px solid #3b9f9d;outline-offset:1px}
}


/* === sharehome-pledge-v111.css === */
/* ShareHome v111 – pledge studio and section-by-section owner experience. */
.hm-pledge-v111,.hm-pledge-v111-user{--hm-accent:#11776d;--hm-ink:var(--text,#1d3147);--hm-muted:var(--text-muted,#718096);--hm-line:var(--border,#dde5eb);--hm-paper:var(--surface,#fff);--hm-soft:var(--surface-soft,#f5f8fa);--hm-shadow:0 8px 32px rgba(26,60,79,.065);color:var(--hm-ink);min-width:0}
.hm-pledge-v111 button,.hm-pledge-v111-user button{touch-action:manipulation;transition:background .16s,border-color .16s,transform .16s}
.hm-pledge-v111 button:focus-visible,.hm-pledge-v111-user button:focus-visible{outline:3px solid #43a69d;outline-offset:3px}
.hm-pledge-v111 button:hover:not(:disabled),.hm-pledge-v111-user button:hover:not(:disabled){filter:brightness(.98)}
.hm-pledge-v111 .hm-pledge-hero{border-radius:24px;padding:clamp(17px,3vw,28px);background:linear-gradient(125deg,rgba(20,112,103,.095),rgba(72,145,183,.04)),var(--hm-paper);border:1px solid var(--hm-line);margin-bottom:14px;box-shadow:var(--hm-shadow)}
.hm-pledge-v111 .hm-pledge-hero h1{font-size:clamp(23px,3vw,32px);font-weight:850;letter-spacing:-.5px}
.hm-pledge-v111 .hm-pledge-hero p{max-width:560px}
.hm-pledge-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.hm-pledge-head-actions>a{text-decoration:none;font-size:13px}
.hm-pledge-v111 .hm-pledge-edition{background:rgba(20,123,112,.07);border-color:rgba(20,123,112,.15);color:var(--hm-ink)}
.hm-pledge-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.hm-pledge-summary>div{padding:13px 18px;border-radius:17px;background:var(--hm-paper);border:1px solid var(--hm-line);min-width:0;display:grid;gap:0;box-shadow:var(--hm-shadow)}
.hm-pledge-summary small{font-size:12px;color:var(--hm-muted)}.hm-pledge-summary strong{font-size:23px;font-weight:850;color:var(--hm-ink)}
.hm-pledge-summary .hm-pledge-draft-state{font-size:14px;color:var(--hm-accent);line-height:2.5}
.hm-pledge-v111 .hm-pledge-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}
.hm-pledge-v111 .hm-pledge-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;min-height:49px;background:var(--hm-paper);font-size:14px;border:1px solid var(--hm-line)}
.hm-pledge-v111 .hm-pledge-tabs button span{font:600 11px/1.5 inherit;opacity:.58}
.hm-pledge-v111 .hm-pledge-tabs button.is-current{background:var(--hm-accent);border-color:var(--hm-accent);box-shadow:0 8px 18px rgba(17,119,109,.15);color:#fff}
.hm-pledge-v111 .hm-pledge-pane{border-radius:22px;padding:clamp(16px,3.2vw,28px);box-shadow:var(--hm-shadow)}
.hm-pledge-v111 .hm-pledge-pane-head{margin-bottom:20px;align-items:flex-start}
.hm-pledge-v111 .hm-pledge-pane-head h2{font-size:clamp(18px,2.5vw,23px);font-weight:800}
.hm-pledge-v111 .hm-pledge-pane-head p{font-size:13px;line-height:1.95;margin-bottom:0}
.hm-pledge-tip{display:inline-block;background:#e9f4f2;color:#156e62;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.hm-pledge-rule-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px}
.hm-pledge-rule-editor,.hm-pledge-rule-preview{min-width:0}
.hm-pledge-field-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.hm-pledge-field-title small,.hm-pledge-rule-editor>small{color:var(--hm-muted);font-size:12px}
.hm-pledge-editor-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.hm-pledge-v111 textarea#hmPledgeRules{font-size:14px;line-height:2.15;resize:vertical;min-height:320px;border-radius:15px;background:var(--hm-soft);padding:16px}
.hm-pledge-preview-paper{height:100%;border-radius:17px;border:1px solid var(--hm-line);padding:20px;background:var(--hm-soft)}
.hm-pledge-preview-paper>small{font-size:11px;color:var(--hm-muted)}.hm-pledge-preview-paper h3{margin:4px 0 16px;font-size:18px}
.hm-pledge-rule-content{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:2.2;max-height:360px;overflow:auto}
.hm-pledge-fake-confirm{margin-top:22px;text-align:center;background:#dcefe9;color:#17695c;border-radius:10px;padding:10px;font-weight:750}
.hm-pledge-filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.hm-pledge-v111 .hm-pledge-search{position:relative;min-width:min(100%,275px);flex:1;display:block}
.hm-pledge-search span{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-search input{padding-right:40px;min-height:48px;border-radius:14px;background:var(--hm-soft)}
.hm-pledge-v111 .hm-pledge-bank-section{background:var(--hm-soft);padding:13px;border-radius:17px;margin:12px 0}
.hm-pledge-v111 .hm-pledge-bank-head{margin-bottom:4px}.hm-pledge-v111 .hm-pledge-bank-head input{background:transparent;border:1px solid transparent;width:auto;max-width:100%;flex:1;font-size:16px}
.hm-pledge-v111 .hm-pledge-bank-head input:focus{border-color:var(--hm-line);background:var(--hm-paper)}
.hm-pledge-v111 .hm-pledge-bank-question{border-radius:13px;box-shadow:0 2px 6px rgba(25,55,80,.025);padding:12px 14px;min-width:0}
.hm-pledge-bank-main{flex:1;min-width:0}.hm-pledge-bank-main b{display:block;font-weight:700!important;line-height:1.8;white-space:normal;overflow-wrap:anywhere}.hm-pledge-bank-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.hm-pledge-bank-meta span{font-size:11px;border-radius:999px;background:var(--hm-soft);padding:2px 9px;color:var(--hm-muted)}.hm-pledge-bank-meta .is-entry{background:#e8f1ff;color:#2f679a}.hm-pledge-bank-meta .is-exit{background:#e4f5ed;color:#177057}
.hm-pledge-v111 .hm-small-btn,.hm-pledge-v111 .hm-mini{border-radius:10px;min-height:33px;font-size:12px;font-weight:650}
.hm-pledge-v111 .hm-small-primary{color:var(--hm-accent);border-color:#83c4b8;background:#ecf9f6}.hm-pledge-v111 .hm-text-danger{color:#a6323b}
.hm-pledge-v111 .hm-pledge-board{gap:15px}.hm-pledge-v111 .hm-pledge-lane{padding:17px;min-height:260px;background:var(--hm-soft);border-radius:20px;border:1px dashed #aebec7;min-width:0}
.hm-pledge-lane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.hm-pledge-v111 .hm-pledge-lane h3{font-size:16px;margin:0}.hm-pledge-lane-head span{font-size:12px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-lane-question{padding:10px;box-shadow:0 2px 7px rgba(26,56,75,.035);min-width:0;border-radius:13px}
.hm-pledge-lane-info{flex:1;min-width:0;display:grid;gap:1px}.hm-pledge-lane-info small{font-size:11px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-lane-text{font-size:13px;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-v111 .hm-pledge-lane.is-over{background:#e5f5ef;border-color:#37a797}
.hm-pledge-v111 .hm-pledge-bottom-toolbar{position:sticky;bottom:12px;z-index:18;margin:18px 0 10px;padding:12px 16px;border:1px solid var(--hm-line);border-radius:17px;background:var(--hm-paper);box-shadow:0 14px 45px rgba(21,49,62,.12);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hm-pledge-bottom-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hm-pledge-bottom-actions form{margin:0;display:inline-flex}.hm-pledge-save-feedback{font-size:12px;color:var(--hm-muted)}
.hm-pledge-v111 .hm-pledge-preview-stage{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.hm-pledge-v111 [data-preview].is-selected{background:#11776d;color:#fff;border-color:#11776d}
.hm-pledge-preview-live{max-width:780px;margin-inline:auto}.hm-pledge-preview-heading{font-weight:850;font-size:17px;margin:21px 0 11px}.hm-pledge-preview-card{border:1px solid var(--hm-line);background:var(--hm-soft);border-radius:17px;padding:15px;margin:9px 0}
.hm-pledge-preview-card[hidden]{display:none}.hm-pledge-preview-card>small{color:var(--hm-accent)}.hm-pledge-preview-card h3{font-size:15px;margin:3px 0 15px}
.hm-pledge-preview-options{display:flex;gap:8px;flex-wrap:wrap}.hm-pledge-preview-choice{display:inline-flex!important;align-items:center;gap:7px;padding:9px 12px;background:var(--hm-paper);border:1px solid var(--hm-line);border-radius:11px;min-height:45px;font-size:13px;cursor:pointer}
.hm-pledge-preview-choice:has(input:checked){background:#def2ec;border-color:#5bbaa3}.hm-pledge-preview-choice input{width:auto!important;accent-color:#168c79}
.hm-pledge-preview-input{width:100%;padding:10px 13px;border-radius:11px;min-height:46px;background:var(--hm-paper);border:1px solid var(--hm-line)}
.hm-pledge-preview-matrix-row{border:1px solid var(--hm-line);padding:10px;border-radius:12px;width:100%}.hm-pledge-preview-matrix-row>b{display:block;font-size:13px;margin-bottom:7px}
.hm-pledge-v111 .hm-pledge-detail{position:fixed;top:0;bottom:0;left:0;right:auto;max-height:none;width:min(500px,100vw);z-index:1003;display:flex;flex-direction:column;border-radius:23px 0 0 23px;box-shadow:0 0 50px rgba(13,40,58,.22);overflow:hidden;background:var(--hm-paper);padding:0}
.hm-pledge-v111 .hm-pledge-detail[hidden],.hm-pledge-v111 .hm-pledge-shade[hidden],.hm-pledge-v111 [hidden]{display:none!important}
.hm-pledge-shade{position:fixed;inset:0;background:rgba(14,32,48,.45);z-index:1002}
.hm-pledge-detail-head{padding:19px 22px;border-bottom:1px solid var(--hm-line);display:flex;justify-content:space-between;align-items:center;gap:8px}.hm-pledge-detail-head h2{font-size:20px;margin:0}.hm-pledge-detail-head small{color:var(--hm-muted)}
.hm-pledge-detail-head button{font:inherit;font-size:25px;background:var(--hm-soft);border:0;border-radius:11px;width:40px;height:40px;cursor:pointer}
.hm-pledge-detail-scroll{overflow-y:auto;padding:22px;display:grid;gap:15px;flex:1;min-height:0}.hm-pledge-detail-scroll label{font-size:13px;gap:6px}
.hm-pledge-detail-separator{padding-top:10px;border-top:1px solid var(--hm-line);font-weight:850}.hm-pledge-detail-scroll small,.hm-pledge-detail-help{font-size:12px;color:var(--hm-muted);margin:0}
.hm-pledge-detail-footer{padding:14px 20px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--hm-line)}
.hm-pledge-danger{font:inherit;border:0;background:transparent;color:#b12d39;cursor:pointer;font-size:13px;padding:8px}.hm-pledge-detail-open{overflow:hidden}
/* Owner – one section at a time, accessible navigation, no horizontal overflow */
.hm-pledge-v111-user{max-width:870px;margin:0 auto;padding-bottom:18px}
.hm-pledge-v111-user>header{padding:19px 24px;border:1px solid var(--hm-line);border-radius:22px;background:linear-gradient(115deg,rgba(16,124,109,.08),transparent),var(--hm-paper);margin-bottom:14px}
.hm-pledge-v111-user>header h1{font-size:clamp(21px,4vw,28px)}
.hm-pledge-stepper{border:1px solid var(--hm-line);border-radius:18px;background:var(--hm-paper);padding:14px 17px;margin:0 0 14px;box-shadow:var(--hm-shadow);scroll-margin-top:90px}
.hm-pledge-stepper-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800;flex-wrap:wrap}.hm-pledge-stepper-top>span:last-child{color:var(--hm-accent)}
.hm-pledge-progress-track{margin-top:9px;border-radius:100px;background:var(--hm-soft);height:8px;overflow:hidden}.hm-pledge-progress-track>span{display:block;background:linear-gradient(90deg,#21ab94,#178476);height:100%;width:0;border-radius:100px;transition:width .22s}
.hm-pledge-steps-nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;max-width:100%}.hm-pledge-stepdot{font:700 12px inherit;min-height:32px;min-width:32px;border-radius:10px;border:1px solid var(--hm-line);background:var(--hm-soft);color:var(--hm-ink);cursor:pointer}
.hm-pledge-stepdot.is-current{background:var(--hm-accent);color:#fff;border-color:var(--hm-accent)}.hm-pledge-stepdot.is-passed{background:#e4f3ee;color:#156e62}
.hm-pledge-v111-user .hm-pledge-section{min-width:0;margin:0 0 12px;padding:clamp(14px,4vw,26px);border-radius:19px;box-shadow:var(--hm-shadow)}
.hm-pledge-v111-user .hm-pledge-section[hidden]{display:none!important}.hm-pledge-v111-user .hm-pledge-section legend{font-size:18px;font-weight:850;padding:0 10px;white-space:normal;max-width:90%}
.hm-pledge-v111-user .hm-pledge-q{background:var(--hm-paper);border:1px solid var(--hm-line);border-radius:15px;padding:clamp(12px,3vw,20px);margin:9px 0;max-width:100%;min-width:0}
.hm-pledge-v111-user .hm-pledge-prompt{margin-bottom:13px;gap:10px}.hm-pledge-v111-user .hm-pledge-prompt b{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.hm-pledge-v111-user .hm-pledge-prompt span{font-size:11px;background:#fbf0e4;color:#975e31;border-radius:999px;padding:1px 9px;white-space:nowrap}
.hm-pledge-v111-user .hm-pledge-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(165px,100%),1fr));gap:9px;min-width:0}
.hm-pledge-v111-user .hm-pledge-choice{min-width:0;min-height:50px;display:flex;gap:10px;padding:11px 13px;border:1px solid var(--hm-line);border-radius:13px;background:var(--hm-soft);font-size:14px;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-v111-user .hm-pledge-choice:has(input:checked){background:#e0f5eb;border-color:#56b49a;color:#116854;box-shadow:inset 0 0 0 1px #8ecfba}
.hm-pledge-v111-user .hm-pledge-choice input{flex:0 0 auto}
.hm-pledge-v111-user .hm-pledge-q :is(textarea,input:not([type=checkbox]):not([type=radio]),select){min-height:48px;background:var(--hm-soft)}
.hm-pledge-v111-user .hm-pledge-matrix-wrap{max-width:100%}.hm-pledge-v111-user .hm-pledge-matrix{max-width:100%}
.hm-pledge-wizard-actions{position:sticky;bottom:84px;z-index:12;border:1px solid var(--hm-line);box-shadow:0 12px 30px rgba(14,52,61,.12);border-radius:17px;padding:12px;background:var(--hm-paper);display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:space-between;margin-top:15px}
.hm-pledge-wizard-hint{color:var(--hm-muted);font-size:11px;flex:1;text-align:center;min-width:95px}.hm-pledge-wizard-actions button{min-height:44px}
.hm-pledge-v111-user .hm-pledge-q.has-error{border-color:#d46573;background:rgba(213,86,98,.045)}
@media(max-width:850px){.hm-pledge-v111 .hm-pledge-rule-layout{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-rule-preview{display:none}}
@media(max-width:700px){.hm-pledge-v111 .hm-pledge-head-actions{width:100%;align-items:flex-start;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.hm-pledge-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hm-pledge-v111 .hm-pledge-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.hm-pledge-v111 .hm-pledge-tabs button{min-height:44px;padding:7px 9px;font-size:12px}.hm-pledge-v111 .hm-pledge-board{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-bank-question{align-items:stretch;flex-direction:column}.hm-pledge-v111 .hm-pledge-bottom-toolbar{bottom:78px;padding:10px}.hm-pledge-bottom-actions{width:100%;justify-content:space-between}.hm-pledge-bottom-actions .button{padding:8px 12px;font-size:12px}.hm-pledge-v111 .hm-pledge-detail{border-radius:18px 18px 0 0;width:100%;max-height:92dvh;top:auto;bottom:0;left:0;right:0}.hm-pledge-v111 .hm-pledge-detail-scroll{padding:16px}.hm-pledge-v111-user>header{padding:16px}.hm-pledge-v111-user .hm-pledge-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-pledge-v111-user .hm-pledge-choice{padding:9px;min-height:50px;align-items:center}.hm-pledge-wizard-actions{bottom:76px}.hm-pledge-wizard-actions button{flex:1}.hm-pledge-wizard-hint{order:3;flex-basis:100%}}
@media(max-width:375px){.hm-pledge-v111-user .hm-pledge-choices{grid-template-columns:1fr}.hm-pledge-v111 .hm-pledge-bank-head input{min-width:120px}.hm-pledge-v111 .hm-pledge-question-actions{width:100%;flex-wrap:wrap}.hm-pledge-v111 .hm-pledge-lane-question{flex-wrap:wrap}.hm-pledge-wizard-actions{padding:9px}}
@media print{.hm-pledge-v111 .hm-pledge-bottom-toolbar,.hm-pledge-stepper,.hm-pledge-wizard-actions,.hm-pledge-shade{display:none!important}.hm-pledge-v111-user .hm-pledge-section[hidden]{display:block!important}}

/* Native hidden has priority over legacy .button display rules. */
.hm-pledge-v111-user [hidden]{display:none!important}
.hm-pledge-v111-user .hm-pledge-steps-nav{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}
.hm-pledge-v111-user .hm-pledge-stepdot{width:100%;min-width:0;padding:0}
@media(max-width:570px){.hm-pledge-v111-user .hm-pledge-steps-nav{grid-template-columns:repeat(5,minmax(0,1fr))}}


/* v112 – true configurable star ratings, accessible native radio semantics. */
.hm-star-rating{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-width:0;max-width:100%}
.hm-star-rating-stars{display:flex;flex-wrap:wrap;gap:2px;align-items:center;direction:rtl;max-width:100%;min-width:0}
.hm-star-choice{position:relative;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;min-width:36px;min-height:46px;margin:0;touch-action:manipulation}
.hm-star-choice input{position:absolute!important;width:100%!important;height:100%!important;inset:0!important;opacity:0!important;cursor:pointer;margin:0!important;z-index:1}
.hm-star-glyph{font-family:Arial,sans-serif;font-size:clamp(29px,5vw,39px);line-height:1;color:#c5cdd7;transition:color .16s,transform .16s;pointer-events:none;user-select:none;-webkit-user-select:none}
.hm-star-choice.is-filled .hm-star-glyph{color:#e5a62e;filter:drop-shadow(0 1px 1px rgba(126,78,4,.2))}
.hm-star-choice:focus-within{outline:2px solid var(--hm-accent,#11776d);outline-offset:1px;border-radius:9px}
@media(hover:hover){.hm-star-choice:hover .hm-star-glyph{transform:scale(1.14);color:#dca23c}}
.hm-star-rating-caption{font-size:12px;font-weight:700;color:var(--hm-muted,#718096);line-height:1.6}
.hm-star-admin-config{padding:14px;border:1px solid var(--hm-line,#dde5eb);border-radius:14px;background:var(--hm-soft,#f5f8fa);display:grid;gap:9px}
.hm-star-admin-controls{display:flex;align-items:center;gap:9px;max-width:235px}
.hm-star-admin-controls button{width:43px;min-width:43px;height:43px;border:1px solid var(--hm-line,#dde5eb);border-radius:12px;background:var(--hm-paper,#fff);color:var(--hm-ink,#1d3147);font-size:22px;cursor:pointer}
.hm-star-admin-controls input{height:43px;width:78px;min-width:0;text-align:center;border-radius:12px;border:1px solid var(--hm-line,#dde5eb);background:var(--hm-paper,#fff);font-size:18px;font-weight:750}
.hm-star-admin-sample{font-family:Arial,sans-serif;letter-spacing:3px;color:#e4a532;font-size:25px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.hm-pledge-preview-options .hm-star-rating{width:100%}
.hm-star-report{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:750;color:#c18a21!important}.hm-star-report span{color:var(--text,#1d3147);font-size:13px}
@media(max-width:375px){.hm-star-choice{min-width:32px;min-height:43px}.hm-star-glyph{font-size:29px}}
@media(prefers-reduced-motion:reduce){.hm-star-glyph{transition:none}}

/* v140: optional bulk reassignment action in the stage editor. */
.hm-pledge-stage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
@media(max-width:680px){.hm-pledge-stage-actions{width:100%}.hm-pledge-stage-actions .button{flex:1 1 auto;white-space:normal}}

