*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1a6f3c;--primary-dark: #14572f;--primary-light: #d4edda;--accent: #c8a44a;--accent-light: #fdf3dc;--bg: #f5f5f5;--surface: #ffffff;--surface-2: #f9f9f9;--border: #e0e0e0;--text: #1a1a1a;--text-muted: #6b6b6b;--error: #c0392b;--error-bg: #fdecea;--success: #1a6f3c;--warning: #c8a44a;--warning-bg: #fdf3dc;--radius: 10px;--radius-sm: 6px;--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.12);--sidebar-bg: #1e2a45;--sidebar-hover: rgba(255,255,255,.07);--sidebar-active: rgba(255,255,255,.13);--sidebar-border: rgba(255,255,255,.1);--sidebar-text: rgba(255,255,255,.65);--sidebar-text-active: #ffffff;--sidebar-width: 220px}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.shell{display:flex;min-height:100vh}.shell-main{flex:1;display:flex;flex-direction:column;min-width:0}.page{flex:1;padding:16px 16px 24px;max-width:720px;margin:0 auto;width:100%}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 16px 16px}.sidebar-brand-icon{width:30px;height:30px;flex-shrink:0;filter:brightness(0) invert(1)}.sidebar-brand-name{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px}.sidebar-divider{height:1px;background:var(--sidebar-border);margin:4px 16px 8px}.sidebar-shul-wrap{position:relative;padding:0 10px;margin-bottom:4px}.sidebar-shul-btn{display:flex;align-items:center;gap:10px;width:100%;background:#ffffff14;border:none;border-radius:var(--radius-sm);padding:8px 10px;color:#fff;text-align:left}.sidebar-shul-btn.clickable{cursor:pointer;transition:background .15s}.sidebar-shul-btn.clickable:hover{background:#ffffff24}.sidebar-shul-btn:disabled{cursor:default}.sidebar-shul-logo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.2)}.sidebar-shul-logo-placeholder{width:34px;height:34px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.sidebar-shul-name{font-size:13px;font-weight:600;color:#fff;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-shul-chevron{color:#ffffff80;flex-shrink:0;transition:transform .2s}.sidebar-shul-chevron.open{transform:rotate(180deg)}.sidebar-shul-menu{position:absolute;top:calc(100% + 4px);left:10px;right:10px;z-index:300;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden}.sidebar-shul-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;font-size:13px;font-weight:500;background:none;border:none;color:var(--text);text-align:left;cursor:pointer;transition:background .1s}.sidebar-shul-menu-item:hover{background:var(--surface-2)}.sidebar-shul-menu-item.active{color:var(--primary);font-weight:600;background:var(--primary-light)}.sidebar-shul-menu-logo{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}.sidebar-shul-menu-logo-placeholder{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;padding:0 10px;gap:2px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;background:none;border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:14px;font-weight:500;text-align:left;transition:background .15s,color .15s;width:100%}.sidebar-nav-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.sidebar-nav-item.active{background:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:600}.sidebar-nav-item svg{flex-shrink:0}.sidebar-spacer{flex:1}.sidebar-signout{display:flex;align-items:center;gap:8px;margin:8px 10px 16px;padding:9px 10px;border:none;background:none;border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:13px;font-weight:500;transition:background .15s,color .15s}.sidebar-signout:hover{background:var(--sidebar-hover);color:#fff}.mobile-topbar{display:none;align-items:center;gap:8px;background:var(--sidebar-bg);color:#fff;padding:0 14px;height:52px;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000026}.mobile-topbar-logo{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.mobile-topbar-name{flex:1;font-size:16px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-topbar-signout{background:none;border:none;color:#ffffffb3;padding:6px;border-radius:var(--radius-sm);transition:color .15s}.mobile-topbar-signout:hover{color:#fff}.bottom-nav{display:none;background:var(--surface);border-top:1px solid var(--border);position:sticky;bottom:0;z-index:100;box-shadow:0 -2px 8px #0000000f}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border:none;background:none;color:var(--text-muted);font-size:11px;font-weight:500;transition:color .15s}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item svg{width:22px;height:22px}@media (max-width: 700px){.sidebar{display:none}.mobile-topbar,.bottom-nav{display:flex}}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px}.card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-title{font-size:16px;font-weight:600}.card-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;background:linear-gradient(135deg,#1a6f3c,#0d4024)}.login-card{background:var(--surface);border-radius:16px;padding:32px 24px;width:100%;max-width:380px;box-shadow:var(--shadow-md)}.login-logo{text-align:center;margin-bottom:24px}.login-logo-icon{width:64px;height:64px;background:var(--primary);border-radius:16px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}.login-logo h1{font-size:22px;font-weight:700;color:var(--text)}.login-logo p{font-size:14px;color:var(--text-muted)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;color:var(--text);background:var(--surface);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1a6f3c1f}.form-input::placeholder{color:#bbb}select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b6b6b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}textarea.form-input{resize:vertical;min-height:72px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 20px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;border:none;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;width:100%;cursor:pointer}.btn-sm.btn-primary{width:auto}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{background:#aaa;cursor:not-allowed}.btn-secondary{background:var(--surface-2);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--error-bg);color:var(--error);border:1.5px solid #f5c6c2}.btn-sm{padding:6px 12px;font-size:13px}.btn-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-muted);font-size:13px;padding:0;margin-bottom:12px;cursor:pointer}.btn-back:hover{color:var(--text)}.required-star{color:var(--error)}.radio-group{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}.btn-icon{background:none;border:none;color:var(--text-muted);padding:6px;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--bg)}.toggle-row{display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:var(--radius);padding:10px 16px;margin-bottom:12px;box-shadow:var(--shadow);font-size:14px;font-weight:500}.toggle{position:relative;width:40px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:22px;transition:background .2s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-slider{background:var(--primary)}.toggle input:checked+.toggle-slider:before{transform:translate(18px)}.search-wrap{position:relative;margin-bottom:12px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);width:18px;height:18px}.search-input{width:100%;padding:10px 14px 10px 38px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:15px;background:var(--surface);box-shadow:var(--shadow)}.search-input:focus{outline:none;border-color:var(--primary)}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600}.badge-success{background:var(--primary-light);color:var(--primary)}.badge-warning{background:var(--warning-bg);color:#8a6c00}.badge-error{background:var(--error-bg);color:var(--error)}.badge-muted{background:#f0f0f0;color:var(--text-muted)}.amount{font-weight:700}.amount-positive{color:var(--error)}.amount-zero{color:var(--success)}.alert{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:12px}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid #f5c6c2}.alert-success{background:var(--primary-light);color:var(--primary);border:1px solid #a8d5b5}.alert-info{background:#e8f4fd;color:#1a5276;border:1px solid #bee3f8}.toast{position:fixed;bottom:24px;right:24px;z-index:1000;padding:12px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;box-shadow:0 4px 16px #0000001f;animation:toast-in .2s ease}.toast-success{background:var(--primary);color:#fff}.toast-error{background:var(--error);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.spinner{display:inline-block;width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;align-items:center;justify-content:center;padding:48px}.list-item{background:var(--surface);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;transition:box-shadow .15s,transform .1s;border:none;width:100%;text-align:left}.list-item:active{transform:scale(.99);box-shadow:none}.list-item-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;text-transform:uppercase}.list-item-content{flex:1;min-width:0}.list-item-name{font-size:15px;font-weight:600}.list-item-sub{font-size:13px;color:var(--text-muted);margin-top:1px}.list-item-right{text-align:right;flex-shrink:0}.list-item-div{padding:0;cursor:default}.list-item-div:hover{box-shadow:var(--shadow);transform:none}.list-item-main{flex:1;display:flex;align-items:center;gap:12px;padding:14px 0 14px 16px;background:none;border:none;text-align:left;cursor:pointer;min-width:0}.list-item-main:hover{background:none}.list-item-edit-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:none;border:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.list-item-edit-btn:hover{background:var(--primary-light);color:var(--primary)}.list-item-menu-wrap{position:relative;flex-shrink:0;margin:0 8px}.row-action-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;min-width:170px;animation:menu-in .12s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.row-action-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;font-size:14px;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.row-action-item:hover{background:var(--bg)}.row-action-item:first-child{border-radius:var(--radius) var(--radius) 0 0}.row-action-item:last-child{border-radius:0 0 var(--radius) var(--radius)}.row-action-item--danger{color:var(--error)}.row-action-item--danger:hover{background:var(--error-bg)}.invoice-card{background:var(--surface);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;box-shadow:var(--shadow);border-left:4px solid var(--border)}.invoice-card.unpaid{border-left-color:var(--warning)}.invoice-card.paid{border-left-color:var(--success)}.invoice-card-clickable{cursor:pointer;transition:box-shadow .15s,background .15s}.invoice-card-clickable:hover{background:var(--surface-2);box-shadow:var(--shadow-md, 0 2px 8px rgba(0,0,0,.1))}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.invoice-number{font-size:15px;font-weight:700}.invoice-date{font-size:12px;color:var(--text-muted)}.invoice-lines-list{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.invoice-line-item{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}.invoice-line-name{color:var(--text-muted);flex:1;margin-right:8px}.invoice-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.inv-edit-totals{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:10px}.igrid-wrap{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);background:var(--surface);margin-bottom:12px;overflow:hidden}.igrid-table{width:100%;border-collapse:collapse;font-size:13px}.igrid-table thead tr{background:var(--surface-2);border-bottom:1px solid var(--border)}.igrid-table th{padding:9px 12px;font-size:12px;font-weight:600;color:var(--text-muted);text-align:left;white-space:nowrap}.igrid-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.igrid-row:last-child{border-bottom:none}.igrid-row:hover{background:var(--surface-2)}.igrid-table td{padding:10px 12px;vertical-align:middle}.igrid-num{font-weight:700;white-space:nowrap}.igrid-date{white-space:nowrap;color:var(--text-muted);font-size:12px}.igrid-member{font-weight:500}.igrid-campaign{min-width:100px}.igrid-amount{white-space:nowrap;font-weight:500}.igrid-balance{white-space:nowrap}.igrid-status-col{width:64px;text-align:center}.igrid-action-col{width:40px;text-align:center;padding:4px 6px!important}.igrid-cards{display:none}@media (max-width: 600px){.igrid-table{display:none}.igrid-cards{display:block}.igrid-card-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.igrid-card-row:last-child{border-bottom:none}.igrid-card-row:hover{background:var(--surface-2)}.igrid-card-main{flex:1;min-width:0}.igrid-card-line1{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px}.igrid-card-line1 .igrid-num{font-size:13px}.igrid-card-line1 .igrid-date,.igrid-card-line1 .igrid-member{font-size:12px}.igrid-card-line2{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.igrid-card-stat{display:flex;align-items:center;gap:3px}.igrid-card-label{font-size:11px;color:var(--text-muted)}.igrid-card-val{font-size:13px;font-weight:500}.igrid-action-col{flex-shrink:0;width:auto;padding:0!important}}.invoice-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.invoice-detail-number{font-size:20px;font-weight:700}.invoice-detail-member{font-size:14px;color:var(--text-muted);margin-top:3px}.invoice-detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.invoice-detail-meta-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.invoice-detail-meta-value{font-size:15px;font-weight:600}.invoice-detail-lines-table{width:100%;border-collapse:collapse;font-size:13px}.invoice-detail-lines-table thead tr{background:var(--surface-2);border-bottom:1px solid var(--border)}.invoice-detail-lines-table th{padding:8px 14px;font-size:12px;font-weight:600;color:var(--text-muted);text-align:left}.invoice-detail-lines-table td{padding:10px 14px;border-bottom:1px solid var(--border)}.invoice-detail-lines-table tbody tr:last-child td{border-bottom:none}.invoice-detail-lines-table tfoot td{padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-2)}.text-muted-cell{color:var(--text-muted)}.member-inv-list{background:var(--surface)}.member-inv-row{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.member-inv-row:last-child{border-bottom:none}.member-inv-row:hover{background:var(--surface-2)}.member-inv-main{flex:1;min-width:0}.member-inv-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.member-inv-num{font-weight:700;font-size:13px;white-space:nowrap}.member-inv-date{font-size:12px;color:var(--text-muted);white-space:nowrap}.member-inv-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.member-inv-stat{display:flex;align-items:center;gap:4px}.member-inv-stat-label{font-size:11px;color:var(--text-muted)}.member-inv-stat-value{font-size:13px;font-weight:500}.member-inv-action{flex-shrink:0}.invoice-grid-action-col{width:40px;text-align:center;padding:4px 6px!important}.inv-action-wrap{position:relative;display:inline-block}.inv-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.inv-action-btn:hover{background:var(--surface-2);color:var(--text)}.inv-action-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;min-width:140px;overflow:hidden}.inv-action-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;font-size:13px;font-weight:500;color:var(--text);background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.inv-action-item:hover{background:var(--surface-2)}.payment-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.payment-detail-name{font-size:17px;font-weight:700}.payment-detail-date{font-size:13px;color:var(--text-muted);margin-top:2px}.payment-detail-amount{font-size:22px;font-weight:800;color:var(--success);white-space:nowrap}.payment-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.payment-detail-notes{font-size:13px;color:var(--text-muted)}.donation-locked-member{padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-weight:600;color:var(--text)}.donation-invoice-card{background:var(--surface)}.donation-inv-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.donation-inv-row:last-child{border-bottom:none}.donation-inv-row:hover{background:var(--surface-2)}.donation-inv-row.checked{background:color-mix(in srgb,var(--primary) 6%,transparent)}.donation-inv-check{flex-shrink:0;display:flex;align-items:center}.donation-inv-info{flex:1;min-width:0}.donation-inv-num{font-weight:700;font-size:13px}.donation-inv-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}.donation-inv-date{font-size:12px;color:var(--text-muted)}.donation-invoice-campaign{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.donation-inv-amounts{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;font-size:12px}.donation-inv-bal-row{display:flex;align-items:center;gap:6px}.donation-inv-label{color:var(--text-muted);white-space:nowrap}.donation-inv-value{font-size:13px;min-width:50px;text-align:right}.donation-inv-input-cell{flex-shrink:0}.donation-amount-input-wrap{display:flex;align-items:center;border:1px solid var(--primary);border-radius:var(--radius-sm, 6px);background:var(--bg);padding:4px 8px;gap:2px}.donation-amount-input-wrap.disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-muted)}.donation-amount-prefix{font-size:13px;color:var(--text-muted)}.donation-amount-input{border:none;outline:none;background:transparent;width:68px;font-size:13px;font-weight:600;color:var(--text)}.donation-amount-placeholder{font-size:13px;color:var(--text-muted);padding-left:2px;min-width:40px}.donation-invoice-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--surface-2)}.donation-add-remaining{font-size:12px;font-weight:700;color:var(--primary);background:none;border:none;cursor:pointer;padding:0;letter-spacing:.04em}.donation-add-remaining:hover{text-decoration:underline}.donation-invoice-total-row{font-size:14px;color:var(--text)}.donation-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.donation-method-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:border-color .15s,color .15s,background .15s;letter-spacing:.05em}.donation-method-btn:hover{border-color:var(--primary);color:var(--primary)}.donation-method-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.donation-additional-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}@media (max-width: 480px){.donation-additional-grid{grid-template-columns:1fr}}.page-header{margin-bottom:16px}.page-header h2{font-size:20px;font-weight:700}.page-header-row{display:flex;justify-content:space-between;align-items:center}.page-header p{font-size:14px;color:var(--text-muted);margin-top:2px}.back-btn{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:14px;font-weight:500;background:none;border:none;padding:0;margin-bottom:12px}.back-btn:hover{color:var(--text)}.line-item-builder{background:var(--surface-2);border:1.5px dashed var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}.line-item-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.line-item-builder-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.empty-state{text-align:center;padding:40px 24px;color:var(--text-muted)}.empty-state h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}.empty-state p{font-size:14px}.divider{height:1px;background:var(--border);margin:16px 0}.person-header{background:var(--primary);color:#fff;border-radius:var(--radius);padding:16px;margin-bottom:16px}.person-header-name{font-size:20px;font-weight:700}.person-header-sub{font-size:14px;opacity:.8;margin-top:2px}.person-header-balance{font-size:18px;font-weight:700;margin-top:8px}.count-chip{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:2px 10px;font-size:13px;font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}@media (max-width: 500px){.grid-3{grid-template-columns:1fr}}.form-section-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:14px}.form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.members-controls{display:flex;gap:8px;align-items:flex-start;margin-bottom:4px}.members-controls .search-wrap{flex:1;margin-bottom:0}.sort-wrap{position:relative;flex-shrink:0}.sort-btn{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:9px 14px;font-size:14px}.sort-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:50;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-width:160px;overflow:hidden}.sort-menu-item{display:block;width:100%;padding:10px 14px;text-align:left;font-size:14px;background:none;border:none;color:var(--text);transition:background .1s}.sort-menu-item:hover{background:var(--surface-2)}.sort-menu-item.active{color:var(--primary);font-weight:600;background:var(--primary-light)}.filter-panel{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;overflow:hidden;background:var(--surface)}.filter-panel-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:9px 12px;background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text);text-align:left;transition:background .12s}.filter-panel-toggle:hover{background:var(--surface-2)}.filter-panel-label{display:flex;align-items:center;gap:6px;flex-shrink:0}.filter-panel-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:10px;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px}.filter-panel-summary{flex:1;color:var(--text-muted);font-weight:400;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-panel-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s}.filter-panel-chevron.open{transform:rotate(180deg)}.filter-panel-body{padding:8px 12px 12px;border-top:1px solid var(--border);background:var(--surface)}.tag-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;margin-bottom:10px}.tag-chip{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;background:var(--surface);border:1.5px solid;cursor:pointer;transition:background .15s,color .15s;line-height:1.5}.tag-chip-clear{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;background:none;border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .15s}.tag-chip-clear:hover{background:var(--surface-2)}.member-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.member-tag{padding:2px 7px;border-radius:12px;font-size:11px;font-weight:600;border:1px solid;line-height:1.5}.ss-wrap{position:relative}.ss-trigger{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;cursor:pointer;background:var(--surface)}.ss-placeholder{color:var(--text-muted)}.ss-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.ss-clear{color:var(--text-muted);padding:2px;border-radius:3px}.ss-clear:hover{color:var(--text);background:var(--border)}.ss-chevron{color:var(--text-muted)}.ss-input-wrap,.ss-input{width:100%}.ss-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:200;max-height:240px;overflow-y:auto}.ss-option{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;background:none;border:none;text-align:left;cursor:pointer;font-size:15px;color:var(--text)}.ss-option:hover,.ss-option.active{background:var(--primary-light)}.ss-option.active{font-weight:600}.ss-option-label{flex:1}.ss-option-sub{font-size:12px;color:var(--text-muted);flex-shrink:0}.ss-empty{padding:12px;text-align:center;color:var(--text-muted);font-size:14px}.mi-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:0}.mi-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1.5px solid var(--border);padding:12px 14px 10px}.mi-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.mi-card-index{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mi-line{display:flex;gap:10px;margin-bottom:8px}.mi-line:last-child{margin-bottom:0}.mi-line-2 .mi-field{flex:1}.mi-field-amount{flex:0 0 140px!important}.mi-field{display:flex;flex-direction:column;min-width:0}.mi-field .form-label{margin-bottom:4px}.mi-parsha-inherited{padding:9px 14px;font-size:14px;color:var(--text-muted);font-style:italic;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mi-parsha-none{color:var(--border);font-style:normal}.mi-aliyah-bar{display:flex;align-items:flex-end;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px}.mi-aliyah-parsha{flex:1;min-width:0}.mi-aliyah-parsha .form-label{margin-bottom:4px}.mi-aliyah-btn{white-space:nowrap;align-self:flex-end}@media (max-width: 580px){.mi-aliyah-bar{flex-direction:column;align-items:stretch}.mi-aliyah-btn{width:100%}.mi-line-2{flex-direction:column}.mi-field-amount{flex:1!important}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:overlay-in .15s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.dialog{background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 60px #0003;width:100%;max-width:480px;padding:24px;animation:dialog-in .18s ease}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-title{font-size:18px;font-weight:700;color:var(--text)}.dialog-body{font-size:14px;color:var(--text-muted);line-height:1.6;margin:12px 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.btn-add-member{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-size:12px;font-weight:600;padding:2px 4px;cursor:pointer;border-radius:4px}.btn-add-member:hover{background:var(--primary-light)}.stmt-dialog{max-width:520px}.stmt-subtitle{font-size:14px;color:var(--text-muted);margin:-12px 0 16px}.stmt-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.stmt-preset-btn{padding:9px 6px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text);cursor:pointer;transition:all .15s}.stmt-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.stmt-preset-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.stmt-type-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.stmt-type-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s}.stmt-type-option input[type=radio]{margin-top:2px;accent-color:var(--primary);flex-shrink:0;width:18px;height:18px;cursor:pointer}.stmt-type-option.active{border-color:var(--primary);background:var(--primary-light)}.stmt-type-body{display:flex;flex-direction:column;gap:4px}.stmt-type-title{font-size:14px;font-weight:600;color:var(--text)}.stmt-type-desc{font-size:13px;color:var(--text-muted);line-height:1.4}.stmt-email-note{font-size:13px;color:var(--text-muted);text-align:right;margin-top:4px}.donations-summary{display:flex;gap:20px;margin-top:6px;flex-wrap:wrap}.donations-summary-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}.donations-summary-item strong{color:var(--text)}.donations-date{color:var(--text-muted);white-space:nowrap;font-size:13px}.donations-card-hint{font-size:12px;color:var(--text-muted);margin-left:6px}.donations-type-badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:12px;font-weight:600;white-space:nowrap}.donations-campaign{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text)}.donations-campaign-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.donations-desktop-only{display:block}.donations-mobile-only{display:none}.donations-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.donations-table{width:100%;border-collapse:collapse;font-size:14px}.donations-table thead th{padding:11px 14px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.donations-table thead th.text-right{text-align:right}.donations-row{border-bottom:1px solid var(--border);transition:background .12s}.donations-row:last-child{border-bottom:none}.donations-row:hover{background:var(--bg)}.donations-table td{padding:11px 14px;vertical-align:middle}.donations-donor-name{font-weight:500;color:var(--text)}.donations-amount{font-weight:600;color:var(--text);white-space:nowrap}.donations-card-list{display:flex;flex-direction:column;gap:8px}.donation-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.donation-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.donation-card-name{font-size:14px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donation-card-amount{font-size:15px;font-weight:700;color:var(--text);flex-shrink:0}.donation-card-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:6px}@media (max-width: 700px){.donations-desktop-only{display:none}.donations-mobile-only{display:block}}
