.dual-calendar-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:18px;align-items:start;padding:24px}.dual-calendar-copy{min-width:0;overflow-wrap:anywhere}.dual-calendar-copy strong{font-size:17px;line-height:1.45}.dual-calendar-copy>small{display:block;margin-top:6px;font-size:12px;line-height:1.6}.dual-calendar-copy p{line-height:1.7}.dual-calendar-actions{display:flex;flex-wrap:wrap;gap:8px;align-self:center}.dual-calendar-actions .btn{white-space:normal}.sidebar-close,.sidebar-scrim{display:none}.collection-attestation{padding:18px;border:1px solid #c8ddda;border-radius:12px;background:#f0f8f5;align-items:flex-start;line-height:1.6;margin-top:16px}.collection-attestation input{margin-top:4px}.collection-attestation strong{display:block}.rsvp-intent{display:block;font-size:11px;margin-top:7px;color:#8697a0}.rsvp-intent.going{color:#27876b;font-weight:700}.rsvp-intent.not_going{color:#a8727b}.rsvp-intent.excuse{color:#b4863f}.rsvp-roster{border-top:1px solid #dfebed;padding-top:20px}.roster-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.roster-list{max-height:280px;overflow:auto;margin:12px 0}.roster-list>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #edf2f4;padding:12px 0;align-items:center}.roster-list .rsvp-intent{max-width:130px;text-align:right}.debt-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;border-radius:20px;border:1px solid #efd7c8;background:linear-gradient(115deg,#fff3e5,#fff9f0);margin-bottom:26px}.debt-hero h2{font-size:18px;margin:10px 0}.debt-hero>div>strong{font-size:40px;color:#9c6133;letter-spacing:-1.4px}.debt-hero p{font-size:14px;margin:7px 0;color:#876d5c}.debt-hero small{display:block;font-size:12px;color:#9d8676;margin-top:10px}.debt-hero>div:last-child{display:grid;gap:9px}.debt-clear{background:linear-gradient(115deg,#e9f6f1,#f6fcf9);border-color:#d0e5dc}.debt-clear>div>strong{color:#28876d}.debt-warning{display:inline-block;border-radius:6px;background:#f9ddd3;color:#a3523c;padding:6px 10px;font-size:12px;font-weight:700}.debtors-top{display:flex;gap:24px;justify-content:space-between;padding:26px 28px;border-bottom:1px solid #e6edef;align-items:center}.debtors-top h2{margin:9px 0;font-size:24px}.debtors-top p{font-size:13px}.debtors-top .field{min-width:210px;margin:0}.debtor-list{padding:8px 24px 18px}.debtor-card{display:grid;grid-template-columns:minmax(200px,1.4fr) 1fr 1fr auto;width:100%;gap:18px;border:0;border-bottom:1px solid #e9eef0;background:white;padding:20px 4px;text-align:left;align-items:center;transition:background .15s}.debtor-card:hover{background:#fbf7f1}.debtor-breakdown{display:grid;gap:6px;font-size:12px;color:#7f919a}.debtor-breakdown b{margin-left:6px;color:#48636c}.debtor-total{text-align:right;display:grid;gap:4px}.debtor-total strong{font-size:23px;color:#a36439;letter-spacing:-.4px}.debtor-total small{font-size:11px;color:#ad7771}.debt-detail-link{display:flex;align-items:center;gap:3px;color:#138681;font-size:12px}.debt-detail-link .icon{width:15px}.debt-detail-summary{padding:20px;border-radius:14px;background:#fff2e2;display:flex;gap:16px;align-items:center;margin-bottom:24px}.debt-detail-summary strong{font-size:27px;color:#a16838}.debt-row-actions{display:flex;gap:6px;flex-wrap:wrap}.budget-hero{background:linear-gradient(120deg,#123b45,#126d71);color:white;padding:30px 34px;border-radius:22px;display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:22px;box-shadow:0 9px 28px #143d4210}.budget-hero .eyebrow{color:#90c4bf}.budget-hero h2{font-size:42px;font-weight:650;letter-spacing:-1.5px;margin:12px 0}.budget-hero p{color:#b6d2d1;max-width:520px;font-size:13px;line-height:1.8}.budget-hero>div:last-child{display:flex;flex-wrap:wrap;gap:9px}.budget-hero .btn{background:#ffffff16;border:1px solid #ffffff30;color:white}.budget-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-stats .stat-card{padding:22px}.budget-stats .stat-value{font-size:27px}.budget-stats .stat-meta{font-size:12px}.budget-request-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:18px 0}.budget-request-toolbar .field{min-width:240px;max-width:340px;margin:0}.budget-request-toolbar>span{font-size:12px;color:#7e949d}.budget-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.budget-request-card{background:white;border:1px solid #e0e9eb;border-radius:18px;padding:24px}.request-card-head{display:flex;align-items:flex-start;gap:12px}.request-category{width:38px;height:38px;background:#e7f4ef;color:#238a76;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.request-card-head>.badge{margin-left:auto;font-size:10px}.request-card-head .eyebrow{font-size:9px;letter-spacing:1.1px;color:#45978d}.request-card-head h3{font-size:17px;margin:6px 0}.request-card-head small{font-size:10px;color:#93a1a8}.budget-request-card>p{line-height:1.8;font-size:13px;margin-top:18px;color:#627b85;overflow-wrap:anywhere}.request-amounts{display:flex;gap:25px;background:#f6f9f9;padding:15px;border-radius:10px;margin:16px 0;flex-wrap:wrap}.request-amounts span{font-size:11px;color:#91a0a7}.request-amounts strong{display:block;color:#24434e;font-size:20px;margin-top:5px}.budget-request-card details{font-size:12px;line-height:1.8;color:#728791}.budget-request-card summary{cursor:pointer;color:#357e7b;display:flex;align-items:center;gap:10px}.budget-request-card details p{overflow-wrap:anywhere}.request-buttons{display:flex;gap:7px;margin-top:17px;flex-wrap:wrap}.cash-entry-list{padding:4px 24px 20px}.cash-entry{display:flex;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid #e6edef}.cash-direction{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-size:22px;flex-shrink:0}.cash-direction.income{color:#218c72;background:#e8f6ee}.cash-direction.expense{color:#bd7082;background:#fceff1}.cash-entry>div{flex:1;min-width:0}.cash-entry p{font-size:12px;line-height:1.6;margin:5px 0;color:#6c858e;overflow-wrap:anywhere}.cash-entry small{color:#9aaab0;font-size:10px}.cash-entry-amount{font-size:20px;white-space:nowrap}.cash-entry.voided{opacity:.55}.cash-entry.voided .cash-entry-amount{text-decoration:line-through}.source-reconciliation{padding:24px;line-height:1.8;font-size:13px}.source-reconciliation .section-head{padding:0 0 20px}.receipt-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
@media(max-width:1100px){.dual-calendar-card{grid-template-columns:44px minmax(0,1fr)}.dual-calendar-actions{grid-column:2;justify-self:start}.budget-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.debtor-card{grid-template-columns:minmax(170px,1.4fr) 1fr 1fr}.debt-detail-link{grid-column:3;justify-self:end}.budget-request-grid{grid-template-columns:1fr}}
@media(max-width:980px){.sidebar.open{z-index:61}.sidebar-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:60;background:#092a3566;backdrop-filter:blur(3px);border:0;touch-action:none}.sidebar-close{display:grid;position:absolute;right:12px;top:15px;color:#b8d3d3}.drawer-open{overflow:hidden}.sidebar .brand{padding-right:24px}.sidebar{touch-action:pan-y}.sidebar nav{padding-bottom:10px}}
@media(max-width:650px){.dual-calendar-card{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px!important;align-items:start}.dual-calendar-card>.google-icon{width:36px;height:36px}.dual-calendar-card>.dual-calendar-copy{flex:initial;grid-column:2;min-width:0;width:100%}.dual-calendar-copy strong{font-size:16px}.dual-calendar-copy p,.dual-calendar-copy>small{font-size:11px}.dual-calendar-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;justify-self:stretch;margin-top:6px}.dual-calendar-actions .btn{width:100%;font-size:11px;padding:10px 8px;min-width:0;line-height:1.5}.finance-tabs{flex-wrap:wrap}.finance-tab{min-width:0;flex:1 1 120px}.debt-hero{display:block;padding:23px 20px}.debt-hero>div>strong{font-size:35px}.debt-hero>div:last-child{grid-template-columns:1fr;margin-top:20px}.debt-hero h2{font-size:17px}.debtors-top{display:block;padding:23px 20px}.debtors-top .field{margin-top:20px;width:100%}.debtors-top h2{font-size:22px}.debtor-list{padding:5px 18px 14px}.debtor-card{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:20px 0}.debtor-card .finance-person{grid-column:1/-1}.debtor-breakdown{grid-column:1}.debtor-total{grid-column:2}.debt-detail-link{grid-column:1/-1;justify-self:start}.budget-hero{display:block;padding:25px 22px}.budget-hero h2{font-size:35px}.budget-hero>div:last-child{margin-top:20px}.budget-stats{gap:10px}.budget-stats .stat-card{padding:17px 13px}.budget-stats .stat-label{font-size:11px}.budget-stats .stat-value{font-size:23px}.budget-stats .stat-icon{width:29px;height:29px}.budget-stats .stat-icon .icon{width:18px}.budget-request-toolbar{display:block}.budget-request-toolbar .field{max-width:none}.budget-request-toolbar>span{display:block;margin-top:12px}.budget-request-card{padding:21px 17px}.request-card-head{flex-wrap:wrap}.request-card-head>.badge{margin-left:50px}.request-card-head h3{font-size:16px}.cash-entry-list{padding:5px 18px 16px}.cash-entry{flex-wrap:wrap;gap:10px}.cash-entry>div{flex:1 1 calc(100% - 55px)}.cash-entry-amount{margin-left:45px;font-size:19px}.cash-entry>.btn{font-size:10px}.debt-detail-summary{display:block}.debt-detail-summary>span{display:block;margin-top:8px}.roster-list .finance-person .avatar{display:none}.roster-list .finance-person strong{font-size:12px}.roster-list .rsvp-intent{font-size:10px}.collection-attestation{font-size:12px}.debt-hero .eyebrow{font-size:10px}}
/* Membership and dues dates: keep the accounting scope visible. */
.dues-period-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;margin:20px 0;background:#f1f8f8;border:1px solid #dcebea;border-radius:16px;min-width:0}.dues-period-summary p{display:flex;gap:16px;margin:10px 0;font-size:14px}.dues-period-summary p strong{min-width:108px;color:var(--ink)}.dues-period-summary small{display:block;color:var(--muted);line-height:1.6}.dues-period-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.dues-period-preview{padding:20px;border:1px solid #d7e8e7;border-radius:16px;background:#f3faf8;margin:18px 0;line-height:1.65}.period-preview-values{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}.period-preview-values small{display:block;color:var(--muted);font-size:12px}.period-preview-values strong{display:block;font-size:26px;color:var(--ink)}.dues-period-preview p{margin:12px 0}.period-impact{color:#086f69}.period-history-item{padding:18px 0;border-bottom:1px solid #e5ecef}.period-history-item h3{font-size:16px;line-height:1.55;margin:12px 0}.period-history-item p{font-size:14px}.period-history-item small{color:var(--muted)}
@media(max-width:650px){.dues-period-summary{align-items:stretch;flex-direction:column;padding:16px}.dues-period-summary p{flex-direction:column;gap:3px}.dues-period-actions .btn{flex:1;white-space:normal;text-align:center}.dues-period-preview{padding:14px}.period-preview-values{gap:8px}.period-preview-values strong{font-size:22px}.period-preview-values small{font-size:11px}}

@media(max-width:420px){.dues-period-form .modal-foot{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.dues-period-form .modal-foot .btn{width:100%;min-width:0;white-space:normal;text-align:center;justify-content:center}}
.dues-period-form{display:flex;flex-direction:column;max-height:calc(90vh - 2px);max-height:calc(90dvh - 2px)}.dues-period-form .modal-head,.dues-period-form .modal-foot{flex:0 0 auto}.dues-period-form .modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto}
