.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#1f2937,#111827 60%);color:#f9fafb}.login-card{width:min(400px,90vw);padding:32px;border-radius:20px;background:#0f172af2;box-shadow:0 24px 80px #0f172a59}.login-card h1{margin:0 0 12px;font-size:2rem}.login-card p{margin:0 0 24px;color:#cbd5e1}.login-card label{display:block;margin-bottom:16px;font-size:.95rem}.login-card input{width:100%;margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid #334155;background:#0f172a;color:#f8fafc}.login-card button{width:100%;border:none;border-radius:12px;padding:14px;background:#3b82f6;color:#fff;font-weight:600;margin-top:8px}.login-error{margin-top:8px;padding:10px;border-radius:12px;background:#b91c1c;color:#fff}.login-footer{margin-top:20px;text-align:center;color:#94a3b8;font-size:.9rem}.main-page{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc;color:#0f172a}.main-header{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;background:#fff;border-bottom:1px solid #e2e8f0}.main-header h1{margin:0;font-size:1.6rem}.main-header p{margin:4px 0 0;color:#64748b}.logout-button{border:none;border-radius:10px;padding:12px 18px;background:#ef4444;color:#fff;font-weight:600}.main-body{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:24px 32px}.main-sidebar{display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:18px;padding:20px;border:1px solid #e2e8f0}.main-sidebar button{width:100%;text-align:left;border:none;border-radius:12px;padding:14px 16px;background:#f8fafc;color:#0f172a;transition:background .2s ease}.main-sidebar button:hover,.main-sidebar button.active{background:#e2e8f0}.main-content{background:#fff;border-radius:18px;padding:24px;min-height:520px;border:1px solid #e2e8f0}.welcome-card,.content-panel{background:#eef2ff;border-radius:16px;padding:20px;margin-bottom:20px}.welcome-card h2,.content-panel h3{margin-top:0}@media (max-width: 960px){.main-body{grid-template-columns:1fr;padding:16px}}.unpaid-table{width:100%;border-collapse:collapse}.unpaid-table th{background:#f1f5f9;padding:10px;text-align:left;border-bottom:1px solid #e6eef8}.unpaid-table td{padding:10px;border-bottom:1px solid #f1f5f9}.unpaid-table tr.completed{background:#ecfdf5}.unpaid-table tr.not-paid{background:#fff1f2}.unpaid-table tr.dormant{background:#f1f5f9;color:#64748b}.search-form,.payment-panel{display:grid;gap:12px}.search-form input,.payment-panel input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px}.search-form button,.payment-panel button{width:fit-content;padding:12px 18px;border-radius:12px;border:none;background:#2563eb;color:#fff}.selected-family-table,.member-due-table,.payment-summary-table{width:100%;border-collapse:collapse;margin-top:16px}.selected-family-table th,.selected-family-table td,.member-due-table th,.member-due-table td,.payment-summary-table th,.payment-summary-table td{border:1px solid #e2e8f0;padding:12px;text-align:left}.selected-family-table th{width:180px;background:#f8fafc}.member-due-table th,.payment-summary-table th{background:#f1f5f9}.total-due-row{margin-top:16px;padding:14px 18px;background:#eef2ff;border-radius:12px;border:1px solid #cbd5e1;font-weight:600}.payment-form-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.partial-amount{display:grid;gap:8px}.member-summary table,.member-panel table{width:100%;border-collapse:collapse;margin-top:16px}.member-summary th,.member-summary td,.member-panel th,.member-panel td{border:1px solid #e2e8f0;padding:10px;text-align:left}.message{padding:14px 18px;border-radius:14px}.message.success{background:#dcfce7;color:#166534}.message.error{background:#fee2e2;color:#991b1b}.page-shell{min-height:100vh;display:flex;flex-direction:column;background:#f3f5f9;color:#0f172a}.page-header{display:flex;justify-content:space-between;align-items:center;padding:22px 32px;background:#fff;border-bottom:1px solid #e2e8f0}.page-actions{display:flex;gap:12px;align-items:center}.page-actions a,.page-actions button{border:none;background:#3b82f6;color:#fff;padding:10px 16px;border-radius:12px;text-decoration:none}.page-actions button{cursor:pointer}.page-content{padding:24px 32px;display:grid;gap:24px}.search-panel,.results-panel,.details-panel,.notification-panel{background:#fff;border-radius:18px;padding:24px;border:1px solid #e2e8f0}.search-form{display:grid;gap:12px}.search-form input{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px}.search-form button{width:fit-content;padding:12px 18px;border-radius:12px;border:none;background:#2563eb;color:#fff}.family-list{display:grid;gap:12px}.family-item{display:grid;gap:6px;text-align:left;padding:16px;border-radius:14px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer}.family-item.selected{border-color:#2563eb;background:#eff6ff}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.details-grid label{display:block;font-size:.9rem;color:#475569;margin-bottom:4px}.member-panel table{width:100%;border-collapse:collapse;margin-top:16px}.member-panel th,.member-panel td{border:1px solid #e2e8f0;padding:10px;text-align:left}.selected-family-table{width:100%;border-collapse:collapse;margin-top:12px}.selected-family-table th{width:180px;text-align:left;padding:10px;color:#475569;background:#f8fafc}.selected-family-table td{padding:10px;border-bottom:1px solid #eef2f6}.notes-display{white-space:pre-wrap;word-break:break-word}.message.error{padding:14px 18px;border-radius:14px;background:#fee2e2;color:#991b1b}.members-actions{display:flex;gap:8px;margin-bottom:12px}.members-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.members-table thead th{background:#f8fafc;padding:10px 12px;text-align:left;font-weight:600;border-bottom:1px solid #e6eef8}.members-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9}.cell-input{width:100%;padding:6px 8px;border:1px solid #e2e8f0;border-radius:6px}.action{margin-right:8px;padding:6px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.action.danger{border-color:#fca5a5;background:#fff;color:#b91c1c}.primary{background:#4f46e5;color:#fff;padding:8px 12px;border-radius:8px;border:none;cursor:pointer}.secondary{background:#eef2ff;color:#1e293b;padding:8px 12px;border-radius:8px;border:1px solid #c7d2fe;cursor:pointer}.deceased{opacity:.65}.deleted{opacity:.5;text-decoration:line-through}.loading{padding:12px}.empty{padding:12px;color:#475569}.message{margin-bottom:12px;padding:8px 12px;background:#f1f5f9;border-radius:6px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061780;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;padding:18px;border-radius:10px;max-width:420px;width:100%;box-shadow:0 10px 30px #02061733}.modal h3{margin-top:0}.modal-form{margin-top:8px}.form-row{display:flex;align-items:center;gap:12px;margin-top:10px}.form-label{width:120px;font-weight:600;color:#0f172a}.form-field{flex:1}.form-field input[type=text],.form-field input[type=date],.form-field input[type=checkbox],.form-field input{width:100%;padding:8px;border:1px solid #e2e8f0;border-radius:6px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}html,body,#root{min-height:100%;margin:0;font-family:Inter,system-ui,sans-serif;background:#eef1f6}*{box-sizing:border-box}button{cursor:pointer}
