*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#18352d;background:#f7f5ef;margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.nav{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:22px 7%;display:flex}.brand{font-size:22px;font-weight:800}.links{align-items:center;gap:22px;display:flex}.links form{align-items:center;margin:0;display:flex}.btn{color:#fff;cursor:pointer;background:#245c4b;border:1px solid #245c4b;border-radius:8px;justify-content:center;align-items:center;padding:12px 18px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#194c3c;border-color:#194c3c}.hero{background:linear-gradient(120deg,#e7efe8,#f8f4e8);padding:90px 7%}.hero h1{max-width:700px;margin:0 0 18px;font-size:52px}.hero p{max-width:650px;font-size:20px;line-height:1.6}.section{padding:55px 7%}.shell{max-width:1100px;margin:auto;padding:50px 24px}.grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:24px}.muted{color:#65736e}.tag{background:#e5eee9;border-radius:12px;align-items:center;padding:5px 8px;font-size:12px;display:inline-flex}.eyebrow{color:#24634f;letter-spacing:.08em;margin-bottom:10px;font-size:12px;font-weight:700}.back-link{color:#24634f;margin-bottom:30px;font-size:14px;font-weight:600;display:inline-block}.back-link:hover{text-decoration:underline}.form{background:#fff;border:1px solid #ddd;border-radius:12px;max-width:480px;margin:60px auto;padding:32px}.form input{border:1px solid #bbb;border-radius:7px;width:100%;margin:7px 0 16px;padding:13px}.auth-page{background:linear-gradient(135deg,#e0eee4d9,#f8f6eef2);justify-content:center;align-items:center;min-height:100vh;padding:60px 20px;display:flex}.auth-card{background:#fff;border:1px solid #d9ded9;border-radius:14px;width:100%;max-width:520px;padding:40px;box-shadow:0 12px 35px #14372d14}.auth-card h1{color:#143c31;margin:0 0 12px;font-size:36px;line-height:1.1}.auth-card>p{color:#596761;margin-bottom:30px;line-height:1.6}.auth-form{flex-direction:column;gap:20px;display:flex}.auth-form label{color:#183e34;flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}.auth-form input{color:#183e34;background:#fff;border:1px solid #cbd2ce;border-radius:7px;outline:none;width:100%;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:#24634f;box-shadow:0 0 0 3px #24634f1f}.auth-form .button{color:#fff;cursor:pointer;background:#24634f;border:0;border-radius:7px;padding:13px 18px;font-weight:600;transition:background .15s}.auth-form .button:hover{background:#194c3c}.auth-form .button:disabled{opacity:.65;cursor:not-allowed}.form-error{color:#9a2929;background:#fff0f0;border:1px solid #e6baba;border-radius:7px;padding:12px 14px;font-size:14px}.form-success{color:#205b45;background:#edf7f1;border:1px solid #bcd8c7;border-radius:7px;padding:12px 14px;font-size:14px;line-height:1.5}.auth-footer{text-align:center;font-size:14px;margin:28px 0 0!important}.auth-footer a{color:#24634f;font-weight:600}.admin-card{transition:transform .15s,box-shadow .15s;display:block}.admin-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #14372d14}.resident-list{flex-direction:column;gap:20px;margin-top:30px;display:flex}.resident-request-card{background:#fff;border:1px solid #d9ded9;border-radius:12px;justify-content:space-between;gap:30px;padding:28px;display:flex}.resident-request-info{flex:1}.resident-request-header h2{color:#143c31;margin:0 0 10px}.resident-details{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:25px;margin-top:25px;display:grid}.resident-details>div{flex-direction:column;gap:6px;display:flex}.detail-label{letter-spacing:.06em;color:#65736e;text-transform:uppercase;font-size:12px;font-weight:700}.resident-actions{align-items:center;gap:10px;display:flex}.approve-button,.deny-button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:9px 16px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.approve-button{color:#fff;background:#24634f;border:1px solid #24634f}.approve-button:hover{background:#194c3c}.deny-button{color:#922c2c;background:#fff;border:1px solid #dfa3a3}.deny-button:hover{background:#fff3f3}.empty-state{margin-top:30px}.logout-button{color:#18352d;cursor:pointer;background:#fff;border:1px solid #cfd8d3;border-radius:8px;justify-content:center;align-items:center;padding:9px 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.logout-button:hover{color:#245c4b;background:#edf4f0;border-color:#aac0b6}.logout-button:active{background:#e1ece6}.announcement-card{transition:transform .15s,box-shadow .15s}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #14372d12}.announcement-card h3{color:#143c31;margin:14px 0 10px}.announcement-body{white-space:pre-wrap;line-height:1.65}.announcement-date{color:#65736e;margin-top:20px;font-size:13px;font-weight:600}.announcement-admin-grid{grid-template-columns:minmax(340px,430px) minmax(0,1fr);align-items:start;gap:32px;margin-top:36px;display:grid}.announcement-admin-grid>.card{padding:30px}.announcement-admin-grid h2{color:#143c31;margin-top:0;margin-bottom:24px;font-size:26px}.announcement-form{flex-direction:column;gap:22px;display:flex}.announcement-form label{color:#18352d;flex-direction:column;gap:8px;font-size:14px;font-weight:700;display:flex}.announcement-form input[type=text],.announcement-form textarea{color:#18352d;background:#fff;border:1px solid #cbd2ce;border-radius:8px;outline:none;width:100%;padding:13px 14px;transition:border-color .15s,box-shadow .15s;display:block}.announcement-form textarea{resize:vertical;min-height:180px;line-height:1.55}.announcement-form input[type=text]:focus,.announcement-form textarea:focus{border-color:#24634f;box-shadow:0 0 0 3px #24634f1f}.announcement-form .btn{width:fit-content;margin-top:4px;padding:12px 20px;font-weight:700}.announcement-option-section{flex-direction:column;gap:10px;display:flex}.option-heading{color:#18352d;font-size:14px;font-weight:700}.option-group{flex-direction:column;gap:10px;display:flex}.announcement-form .option-card{cursor:pointer;background:#fff;border:1px solid #d4ddd8;border-radius:9px;flex-direction:row;align-items:flex-start;gap:12px;padding:14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.announcement-form .option-card:hover{background:#f8fbf9;border-color:#aac0b6}.announcement-form .option-card:has(input:checked){background:#f1f7f4;border-color:#24634f;box-shadow:0 0 0 2px #24634f14}.announcement-form .option-card input{accent-color:#24634f;flex-shrink:0;width:18px;height:18px;margin:2px 0 0}.option-content{flex-direction:column;gap:4px;display:flex}.option-content strong{color:#18352d;font-size:14px}.option-content span{color:#65736e;font-size:13px;font-weight:400;line-height:1.45}.announcement-list{flex-direction:column;gap:18px;display:flex}.announcement-admin-card{padding:26px}.announcement-admin-card h3{color:#143c31;margin:16px 0 10px;font-size:22px}.announcement-admin-card p{line-height:1.6}.announcement-admin-card .muted{margin-top:20px;font-size:13px}.announcement-meta{flex-wrap:wrap;gap:8px;display:flex}.draft-tag{color:#8a6d1d;background:#fff3cd;border:1px solid #ead58a}.published-tag{color:#18352d;background:#e5eee9;border:1px solid #cbded4}.announcement-edit{border-top:1px solid #e1e6e3;margin-top:20px;padding-top:20px}.announcement-edit summary{color:#24634f;cursor:pointer;background:#f4f8f6;border:1px solid #b7cec3;border-radius:7px;justify-content:center;align-items:center;width:fit-content;min-height:42px;padding:9px 16px;font-size:14px;font-weight:700;line-height:1;list-style:none;transition:background .15s,border-color .15s;display:inline-flex}.announcement-edit summary::-webkit-details-marker{display:none}.announcement-edit summary:hover{background:#eaf2ee;border-color:#8fb1a1}.announcement-edit[open] summary{margin-bottom:20px}.edit-announcement-form{margin-top:0}.announcement-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.announcement-actions form{margin:0}.publish-button,.unpublish-button{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:9px 16px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.publish-button{color:#fff;background:#24634f;border:1px solid #24634f}.publish-button:hover{background:#194c3c}.unpublish-button{color:#7a5c12;background:#fff8df;border:1px solid #d7bd72}.unpublish-button:hover{background:#fff2c3}.announcement-edit summary:focus-visible,.publish-button:focus-visible,.unpublish-button:focus-visible,.deny-button:focus-visible,.approve-button:focus-visible,.logout-button:focus-visible,.btn:focus-visible{outline-offset:2px;outline:3px solid #24634f33}@media (max-width:900px){.announcement-admin-grid{grid-template-columns:1fr}}@media (max-width:700px){.resident-request-card{flex-direction:column}.resident-actions{align-items:stretch}.resident-actions form{flex:1}.resident-actions button{width:100%}}@media (max-width:600px){.nav{padding:18px 5%}.links{flex-wrap:wrap;justify-content:flex-end;gap:12px}.hero{padding:60px 5%}.hero h1{font-size:38px}.hero p{font-size:18px}.section{padding:40px 5%}.auth-page{padding:30px 15px}.auth-card{padding:28px 22px}.auth-card h1{font-size:30px}.announcement-admin-grid{gap:24px}.announcement-admin-grid>.card,.announcement-admin-card{padding:22px}.announcement-actions{align-items:stretch}.announcement-actions form{flex:1}.announcement-actions button{width:100%}}.announcement-form input[type=datetime-local]{color:#18352d;background:#fff;border:1px solid #cbd2ce;border-radius:8px;outline:none;width:100%;padding:13px 14px;transition:border-color .15s,box-shadow .15s;display:block}.announcement-form input[type=datetime-local]:focus{border-color:#24634f;box-shadow:0 0 0 3px #24634f1f}.event-card h3{color:#143c31;margin:14px 0 16px;font-size:22px}.event-date{color:#18352d;margin:0 0 4px;font-weight:700}.event-time{color:#24634f;margin:0 0 16px;font-weight:600}.event-location{color:#596761;margin:0 0 16px;font-weight:600}.event-location:before{content:"📍 "}.event-description{margin:0;line-height:1.6}.home-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.secondary-button{color:#245c4b;background:#fff;border:1px solid #aac0b6;border-radius:8px;justify-content:center;align-items:center;padding:11px 17px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.secondary-button:hover{background:#edf4f0;border-color:#7fa493}.section-heading{max-width:700px;margin-bottom:30px}.section-heading h2{color:#143c31;margin:6px 0 12px;font-size:32px}.section-heading p{font-size:17px;line-height:1.6}.feature-card{min-height:210px}.feature-card h3{color:#143c31;margin:16px 0 10px;font-size:20px}.feature-card p{line-height:1.6}.feature-icon{font-size:28px}.access-card{background:#fff;border:1px solid #d9ded9;border-radius:14px;justify-content:space-between;align-items:center;gap:40px;padding:36px;display:flex}.access-card h2{color:#143c31;margin:6px 0 10px;font-size:28px}.access-card p{max-width:650px;line-height:1.6}.access-actions{flex-direction:column;gap:10px;min-width:210px;display:flex}.site-footer{color:#596761;background:#fff;border-top:1px solid #ddd;justify-content:space-between;margin-top:30px;padding:35px 7%;display:flex}.site-footer strong{color:#18352d}.site-footer p{margin:7px 0 0;font-size:14px}@media (max-width:700px){.access-card{flex-direction:column;align-items:stretch}.access-actions,.access-actions .btn,.access-actions .secondary-button{width:100%}.home-actions{flex-direction:column;align-items:stretch}.home-actions .btn,.home-actions .secondary-button{width:100%}}.announcement-form input[type=file]{color:#18352d;background:#fff;border:1px solid #cbd2ce;border-radius:8px;width:100%;padding:12px;display:block}.document-help{color:#6b7772;margin:-4px 0 4px;font-size:13px;line-height:1.5}.document-details{color:#596761;flex-direction:column;gap:6px;margin:18px 0;font-size:14px;display:flex}.document-details strong{color:#18352d}.document-library{flex-direction:column;gap:18px;margin-top:30px;display:flex}.document-library-card{padding:26px}.document-library-content{justify-content:space-between;align-items:center;gap:30px;display:flex}.document-library-card h2{color:#143c31;margin:12px 0 8px;font-size:22px}.document-description{color:#596761;max-width:700px;margin:0 0 12px;line-height:1.6}.document-download{flex-shrink:0}@media (max-width:700px){.document-library-content{flex-direction:column;align-items:stretch}.document-download,.document-download .btn{width:100%}}.resource-link{color:#24634f;margin-top:14px;font-size:14px;font-weight:700;display:inline-block}.request-body{white-space:pre-wrap;line-height:1.6}.request-open-tag{color:#245c4b;background:#edf4f0;border:1px solid #cbded5}.request-progress-tag{color:#765612;background:#fff6dd;border:1px solid #ead391}.request-closed-tag{color:#59635f;background:#eee;border:1px solid #d1d5d3}.request-resident-details{color:#596761;flex-direction:column;gap:5px;margin:18px 0;font-size:14px;line-height:1.5;display:flex}.request-resident-details strong{color:#18352d}.request-status-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.request-status-button{color:#245c4b;cursor:pointer;background:#fff;border:1px solid #aac0b6;border-radius:7px;padding:9px 14px;font-weight:600}.request-status-button:hover{background:#edf4f0}.request-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0;display:grid}.request-summary-card{text-align:center;flex-direction:column;gap:5px;display:flex}.request-summary-card strong{color:#143c31;font-size:30px}.request-summary-card span{color:#596761;font-size:14px;font-weight:600}@media (max-width:700px){.request-summary{grid-template-columns:1fr}}.portal-welcome{border-bottom:1px solid #dde3df;justify-content:space-between;align-items:center;gap:30px;margin-bottom:42px;padding-bottom:30px;display:flex}.portal-welcome h1{color:#143c31;margin:6px 0 8px;font-size:42px}.portal-section{margin-top:46px}.portal-section-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.portal-section-header h2{color:#143c31;margin:5px 0 0;font-size:28px}.portal-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.portal-quick-card{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:145px;text-decoration:none;display:grid;position:relative}.portal-quick-card:hover{border-color:#a9c1b6;transform:translateY(-2px);box-shadow:0 8px 24px #18352d12}.portal-card-icon{background:#edf4f0;border-radius:12px;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;display:flex}.portal-quick-card h3{color:#143c31;margin:0 0 7px;font-size:20px}.portal-quick-card p{color:#68756f;margin:0;line-height:1.5}.portal-card-arrow{color:#24634f;font-size:26px;font-weight:700}.portal-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.portal-announcement-card,.portal-event-card{min-height:220px}.portal-announcement-card h3,.portal-event-card h3{color:#143c31;margin:14px 0 12px;font-size:20px}.portal-card-body{color:#596761;white-space:pre-wrap;line-height:1.6}.portal-card-footer{color:#7a8580;border-top:1px solid #e2e6e3;margin-top:22px;padding-top:14px;font-size:13px}.portal-empty-card{padding:30px}.portal-empty-card h3{color:#143c31;margin:0 0 8px}.portal-event-card{gap:20px;display:flex}.portal-event-date{background:#fff;border:1px solid #cbded5;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;width:62px;height:72px;display:flex;overflow:hidden}.portal-event-month{color:#fff;text-align:center;letter-spacing:.08em;text-transform:uppercase;background:#24634f;width:100%;padding:5px 0;font-size:11px;font-weight:700;display:block}.portal-event-date strong{color:#143c31;padding-top:7px;font-size:24px}.portal-event-content{min-width:0}.portal-event-content h3{margin-top:0}@media (max-width:950px){.portal-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.portal-welcome{margin-bottom:30px}.portal-welcome h1{font-size:34px}.portal-quick-grid,.portal-content-grid{grid-template-columns:1fr}.portal-section{margin-top:34px}.portal-section-header h2{font-size:24px}.portal-quick-card{grid-template-columns:auto 1fr auto;min-height:auto}}.admin-welcome{border-bottom:1px solid #dde3df;margin-bottom:42px;padding-bottom:30px}.admin-welcome h1{color:#143c31;margin:6px 0 8px;font-size:42px}.admin-dashboard-section{margin-top:44px}.admin-dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.admin-dashboard-card{flex-direction:column;min-height:230px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.admin-dashboard-card:hover{border-color:#a9c1b6;transform:translateY(-2px);box-shadow:0 8px 24px #18352d12}.admin-dashboard-card-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-card-icon{background:#edf4f0;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;display:flex}.admin-count{color:#245c4b;background:#f5f8f6;border:1px solid #d7e3dd;border-radius:999px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:0 11px;font-size:18px;font-weight:800;display:inline-flex}.admin-count-alert{color:#765612;background:#fff6dd;border-color:#ead391}.admin-dashboard-card h3{color:#143c31;margin:0 0 9px;font-size:21px}.admin-dashboard-card p{color:#68756f;flex-grow:1;margin:0;line-height:1.55}.admin-dashboard-card .resource-link{margin-top:22px}@media (max-width:950px){.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.admin-welcome h1{font-size:34px}.admin-dashboard-grid{grid-template-columns:1fr}.admin-dashboard-card{min-height:auto}}.resident-management-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resident-management-card{flex-direction:column;display:flex}.resident-management-card h3{color:#143c31;margin:14px 0;font-size:21px}.resident-account-details{color:#596761;flex-direction:column;gap:6px;font-size:14px;line-height:1.5;display:flex}.resident-account-details strong{color:#18352d}.resident-management-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.resident-self-note{color:#7a8580;margin-top:22px;font-size:13px;font-style:italic}@media (max-width:850px){.resident-management-list{grid-template-columns:1fr}}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px;display:grid}.account-card{min-height:280px}.account-card-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-card h2{color:#143c31;margin:6px 0 22px;font-size:24px}.account-info-list{flex-direction:column;display:flex}.account-info-row{border-bottom:1px solid #e3e8e5;justify-content:space-between;align-items:center;gap:25px;padding:14px 0;display:flex}.account-info-row:last-child{border-bottom:0}.account-info-row span{color:#728078;font-size:14px}.account-info-row strong{color:#18352d;text-align:right}.account-address{color:#596761;flex-direction:column;gap:7px;margin-top:20px;font-size:16px;line-height:1.5;display:flex}.account-address strong{color:#18352d;font-size:18px}.account-help-card{justify-content:space-between;align-items:center;gap:40px;margin-top:24px;display:flex}.account-help-card h2{color:#143c31;margin:5px 0 8px}.account-help-card p{max-width:650px;margin-bottom:0}@media (max-width:800px){.account-grid{grid-template-columns:1fr}.account-help-card{flex-direction:column;align-items:stretch}.account-help-card .btn{width:100%}.account-info-row{flex-direction:column;align-items:flex-start;gap:4px}.account-info-row strong{text-align:left}}
