:root{--green-deep: #33451f;--green: #6d8c3d;--green-light: #f5f8ed;--green-border: #c9d8b5}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif;background-color:var(--green-light);color:#333;min-height:100vh}.navbar-header{background-color:var(--green-deep);color:#fff;padding:15px 20px;text-align:center}.brand-lockup{display:inline-flex;align-items:center;justify-content:center;gap:16px;color:#fff;text-decoration:none}.brand-lockup:hover{text-decoration:none}.brand-lockup img{width:88px;height:88px;object-fit:cover;border-radius:50%;flex-shrink:0}.navbar-title{display:flex;flex-direction:column;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:2.6rem;font-weight:700;line-height:.95;letter-spacing:.03em;text-align:center}.navbar-links{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap}.navbar-links>*{display:inline-flex;align-items:center;gap:.25rem;margin:0 .25rem;font-size:1rem;line-height:1.5}.navbar-user{font-weight:500;color:#fff;margin-bottom:8px}.navbar-link{font-weight:500;color:var(--green-deep);background-color:#fff;border:1px solid rgba(255,255,255,.85);padding:.4rem .85rem;border-radius:.375rem;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}.navbar-link:hover{background-color:var(--green-light);text-decoration:none}.navbar-logout{background-color:#fff;border:1px solid rgba(255,255,255,.85);cursor:pointer}.container{width:calc(100% - 32px);max-width:400px;margin:30px auto;padding:20px;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}h1,h2{text-align:center;margin-bottom:20px}form{display:flex;flex-direction:column}input{padding:12px;margin-bottom:15px;border:1px solid #ccc;border-radius:8px;font-size:1rem}.onboarding-field-row{display:flex;align-items:center;gap:10px}.onboarding-field{flex:1;min-width:0;height:46px;padding:12px;margin-bottom:0;border:1px solid #ccc;border-radius:8px;background:#fff;color:#333;font-size:1rem}.onboarding-field-with-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.onboarding-field-with-label label{color:#5f6b76;font-size:.85rem;font-weight:600}.onboarding-read-only{flex:0 0 96px;color:#6d7780;font-size:.8rem;text-align:center}.onboarding-visibility-toggle{flex:0 0 96px;height:46px;padding:0 10px;white-space:nowrap}button{padding:12px;background-color:var(--green);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;transition:background .2s}button:hover{background-color:var(--green-deep)}a{color:var(--green);text-decoration:none;font-size:.9rem;text-align:center;margin-top:10px}a:hover{text-decoration:underline}.error{color:red;margin-bottom:10px;font-size:.9rem}.dashboard-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin-top:20px}.page-heading{margin-bottom:28px}.page-heading h1{margin-bottom:8px}.page-heading p:last-child{color:#5f6b76;line-height:1.5}.eyebrow{color:var(--green-deep);font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.dashboard-notice{grid-column:1 / -1;padding:14px;border-left:4px solid #d89b27;background:#fff8e8;color:#664b13;text-align:left}.household-page{max-width:900px}.household-address{padding:20px;margin-bottom:20px;border:1px solid #dce3e8;border-radius:8px;background:#fff;box-shadow:0 3px 12px #20344412}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2,.section-heading h3{margin-bottom:0;text-align:left}.section-heading h2{font-size:1.25rem}.section-heading h3{font-size:1rem}.section-heading span{color:#6d7780;font-size:.9rem}.section-heading.compact{padding-bottom:10px;border-bottom:1px solid #e7ecef}.household-section{margin-top:24px}.household-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #edf0f2;text-align:left}.household-row-actions{display:flex;align-items:center;gap:12px}.household-row:last-child{border-bottom:0}.household-row strong,.household-row span{display:block}.household-row span{margin-top:4px;color:#6d7780;font-size:.9rem}.visibility-status{margin-top:0!important;font-weight:600;color:var(--green-deep)!important}.secondary-action{background:#eef2f5;color:#263746}.secondary-action:hover{background:#dce4ea}.muted{color:#6d7780}.page-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dashboard-buttons button{display:flex;justify-content:center;align-items:center;width:100%;height:70px;padding:12px;font-size:.95rem;border-radius:15px;text-align:center;white-space:normal}.dashboard-contact-button{grid-column:1 / -1;justify-self:center;max-width:240px}.dashboard{width:min(100%,720px)}.dashboard .page-heading{margin-bottom:12px}.admin-dashboard{width:min(100%,920px)}.admin-dashboard .dashboard-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.content-navigation{display:flex;justify-content:center;gap:12px;padding:18px 20px 0}.content-navigation a,.module-return a{display:inline-block;padding:10px 16px;border:1px solid var(--green-border);border-radius:8px;background:#fff;color:var(--green-deep);font-weight:700}.module-return{display:flex;justify-content:center;padding:0 20px 26px}.signed-in-footer{display:block;width:100%;border:0;border-radius:0;background:transparent;cursor:pointer;font:inherit;padding:0 20px 20px;color:#6d7780;font-size:.85rem;text-align:center;transition:none}.signed-in-footer:hover,.signed-in-footer:focus-visible{background:transparent;color:#6d7780;outline:none;text-decoration:none}.admin-messages-page{max-width:900px}.message-list{display:grid;gap:12px}.message-card{padding:16px;border:1px solid #dce3e8;border-radius:8px;background:#fff;cursor:pointer;text-align:left}.message-card.unread{border-left:4px solid var(--green);background:var(--green-light)}.message-card p{margin:14px 0 10px;line-height:1.5;white-space:pre-wrap}.message-metadata{display:flex;flex-direction:column;gap:4px}.message-metadata strong{color:var(--green-deep)}.message-metadata span{color:#5f6b76}.message-success{margin-top:18px;color:var(--green-deep);font-size:1.15rem;font-weight:700;text-align:center}.admin-assignment-button{white-space:normal;line-height:1.35}.message-status{color:var(--green-deep)!important;font-weight:700}@media (max-width: 600px){.admin-dashboard .dashboard-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-action-page{max-width:520px;text-align:center}.auth-action-page p{margin-bottom:20px;line-height:1.5}.polls-page,.admin-polls-page{max-width:900px}.poll-card,.poll-form{padding:20px;margin-bottom:20px;border:1px solid #dce3e8;border-radius:8px;background:#fff;box-shadow:0 3px 12px #20344412;text-align:left}.poll-card h2,.poll-form h2,.poll-form h3{text-align:left}.poll-choices{display:grid;gap:10px;margin:18px 0}.poll-choices label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e1e7eb;border-radius:6px}.poll-choices input{margin:0}.poll-form textarea,.poll-form select,.poll-form input{width:100%;padding:12px;margin:6px 0 14px;border:1px solid #ccc;border-radius:8px;font:inherit}.poll-form textarea{min-height:90px;resize:vertical}.poll-form label{display:block;color:#5f6b76;font-weight:600}.admin-select{width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #cbd6de;border-radius:8px;background:#fff;color:#263746;font:inherit}.admin-select:focus{outline:2px solid rgba(109,140,61,.3);border-color:var(--green)}.admin-address-fieldset{border:1px solid #dce3e8;border-radius:8px;padding:14px;margin:16px 0}.admin-address-fieldset legend{padding:0 6px;color:#263746;font-weight:600}.admin-form-field{margin-bottom:16px}.admin-form-field label{display:block;color:#5f6b76;font-weight:600;margin-bottom:5px}.manual-payment-page{max-width:620px;text-align:left}.manual-payment-page .page-heading,.manual-payment-page .page-heading h1{text-align:center}.manual-payment-page form input{width:100%;margin:6px 0 0}.admin-announcement-page{max-width:620px}.admin-announcement-page textarea{width:100%;min-height:120px;padding:12px;border:1px solid #cbd6de;border-radius:8px;font:inherit;resize:vertical}.member-announcement{margin:0 0 20px;padding:16px;border:1px solid #c9d8b5;border-left:4px solid #6d8c3d;border-radius:6px;background:#f5f8ed;color:#33451f}.member-announcement h2{margin:0 0 6px;text-align:left;font-size:1.1rem}.member-announcement p{line-height:1.5}.admin-document-upload-page,.annual-dues-page{max-width:620px}.annual-dues-page form input,.admin-document-upload-page form input{width:100%;margin:6px 0 0}.admin-uploaded-documents{margin-top:28px;padding-top:20px;border-top:1px solid #dce3e8}.admin-uploaded-documents h2{margin-bottom:14px;text-align:left;font-size:1.15rem}.admin-uploaded-document{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0f2}.admin-uploaded-document strong,.admin-uploaded-document span{display:block}.admin-uploaded-document span{margin-top:4px;color:#6d7780;font-size:.9rem}.admin-uploaded-document .danger-action{padding:8px 12px;font-size:.9rem}.manual-payment-balance{margin:-6px 0 16px;font-size:.9rem}.payment-fee-notice,.payment-privacy-notice{color:#59656d;font-size:.88rem;line-height:1.5}.payment-fee-notice{max-width:620px;margin:10px 0 0}.payment-privacy-notice{margin:0 0 16px}.payment-confirmation,.receipt-result{margin-top:24px;padding:18px;border:1px solid #dce3e8;border-radius:8px;background:#f8fbfd}.payment-confirmation h2{margin-bottom:12px;text-align:left;font-size:1.15rem}.payment-confirmation p,.receipt-result p{margin-bottom:8px;line-height:1.45}.payment-history{margin-top:26px;padding-top:18px;border-top:1px solid #dce3e8}.payment-history h4{margin-bottom:4px}.payment-history>.muted{margin-bottom:12px;font-size:.9rem}.payment-history-row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf0f2}.payment-history-row div:last-child{text-align:right}.payment-history-row strong,.payment-history-row span,.dues-history-summary span{display:block}.payment-history-row span,.dues-history-summary span{margin-top:3px;color:#6d7780;font-size:.9rem}.dues-history-summary{margin-top:16px;padding:14px;border:1px solid #dce3e8;border-radius:8px;background:#f8fbfd}.dues-history-summary strong{display:block;margin-bottom:6px}.admin-choice-row{display:flex;gap:18px;margin:16px 0}.admin-choice-row input{margin:0 5px 0 0}.admin-role-button{min-width:120px;padding:8px 10px;font-size:.85rem}.admin-delete-page{max-width:680px}.delete-preview{padding:16px;margin:8px 0 18px;border:1px solid #e7c2be;border-radius:8px;background:#fff7f6}.delete-preview p{margin-top:6px;color:#6d7780}.danger-action{background:#a8443b}.danger-action:hover{background:#87352e}.admin-directory-page,.outstanding-dues-page{max-width:1100px}.admin-directory-search{width:100%;min-height:46px;padding:10px 12px;margin-bottom:16px;border:1px solid #cbd6de;border-radius:8px;font:inherit}.dues-filters input,.dues-filters .admin-select{width:100%;min-height:46px;margin:0}.dues-filters{display:grid;grid-template-columns:2fr 1fr;gap:12px;align-items:start}.admin-directory-table-wrap{overflow-x:auto;border:1px solid #dce3e8;border-radius:8px;background:#fff}.admin-directory-table{width:100%;border-collapse:collapse;min-width:780px;text-align:left}.admin-directory-table th,.admin-directory-table td{padding:13px 14px;border-bottom:1px solid #edf0f2;vertical-align:top}.admin-directory-table th{background:#f5f8fa;color:#263746;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.admin-directory-table td span{display:block;margin-top:4px;color:#6d7780;font-size:.88rem}.dues-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.dues-summary div{padding:16px;border:1px solid #dce3e8;border-radius:8px;background:#fff}.dues-summary span,.dues-summary strong{display:block}.dues-summary span{color:#6d7780;font-size:.85rem}.dues-summary strong{margin-top:6px;color:var(--green-deep);font-size:1.35rem}.dues-balance{color:#9b3f35;font-weight:700}.poll-result{display:grid;gap:5px;padding:14px;margin:10px;border:1px solid #e1e7eb;border-radius:6px;text-align:left}@media (max-width: 500px){.container{margin:20px auto;width:calc(100% - 32px);padding:15px}.dashboard{width:auto;margin-left:auto;margin-right:auto}.navbar-links{flex-direction:column;gap:.25rem;align-items:center}.dues-filters,.dues-summary{grid-template-columns:1fr}.section-heading,.household-row,.household-row-actions,.page-actions{align-items:stretch;flex-direction:column}.section-heading button,.household-row button,.page-actions button{width:100%}}
