@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@400;600;700&display=swap";.app{min-height:100vh;display:flex;flex-direction:column}.nav{background-color:var(--color-primary);color:var(--color-white);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm)}.nav-container{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.logo{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.5px;color:var(--color-white);text-decoration:none;transition:var(--transition)}.logo:hover{opacity:.9}.nav-sections{display:flex;gap:var(--space-6);align-items:center}.nav-group{display:flex;flex-direction:column;gap:var(--space-1)}.nav-group-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;padding:0 var(--space-2)}.nav-links{display:flex;gap:var(--space-2);list-style:none;flex-wrap:wrap}.nav-links a{color:var(--color-white);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-base);transition:var(--transition);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.nav-links a:hover{background:#ffffff1a}.nav-links a:focus{outline-color:var(--color-white)}.main-content{flex:1;max-width:1280px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-4)}.page{padding:var(--space-2) 0}.page-header{margin-bottom:var(--space-8);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-gray-light)}.page-title{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-5);margin-bottom:var(--space-8)}.stat-card{background:var(--color-white);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border-left:5px solid var(--color-primary-light);transition:var(--transition);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:linear-gradient(135deg,transparent 50%,rgba(45,80,22,.03) 50%);pointer-events:none}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-card.success,.stat-card-success{border-left-color:var(--color-success)}.stat-card-success:before{background:linear-gradient(135deg,transparent 50%,rgba(74,124,40,.05) 50%)}.stat-card.warning,.stat-card-warning{border-left-color:var(--color-warning)}.stat-card-warning:before{background:linear-gradient(135deg,transparent 50%,rgba(212,167,136,.05) 50%)}.stat-card.neutral,.stat-card-info{border-left-color:var(--color-info)}.stat-card-info:before{background:linear-gradient(135deg,transparent 50%,rgba(146,168,179,.05) 50%)}.stat-card__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2);display:block}.stat-card__value{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-2);line-height:1;display:block}.stat-card__trend{font-size:var(--text-sm);color:var(--color-gray);display:block}.stat-card__percentage{font-size:var(--text-sm);color:var(--color-gray-dark);margin-top:var(--space-1);display:block}.stat-value{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-2);line-height:1;display:block}.stat-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-gray-dark);text-transform:uppercase;letter-spacing:.08em;display:block}.search-section{background:var(--color-white);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.search-form{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.search-form>.search-input-wrapper{grid-column:1 / -1}@media(min-width:769px){.search-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.search-input-wrapper{width:100%}.search-input{width:100%;padding:14px 18px;border:2px solid var(--color-gray-light);border-radius:var(--radius-lg);font-size:var(--text-lg);font-family:var(--font-body);transition:var(--transition);background:var(--color-cream)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #2d50161a;background:var(--color-white)}.filter-group{display:flex;flex-direction:column;gap:var(--space-1)}.filter-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.filter-select{padding:12px 16px;border:2px solid var(--color-gray-light);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-body);background-color:var(--color-white);cursor:pointer;transition:var(--transition);min-width:180px}.filter-select:hover{border-color:var(--color-primary-light)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d50161a}.table-container{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-6)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-primary);color:var(--color-white)}.data-table th{padding:var(--space-4);text-align:left;font-weight:var(--weight-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.data-table tbody tr{border-bottom:1px solid var(--color-gray-light);transition:var(--transition)}.data-table tbody tr:hover{background:var(--color-cream)}.data-table td{padding:var(--space-4);font-size:var(--text-base);color:var(--color-text)}.table-cell-strong{font-weight:var(--weight-semibold);color:var(--color-primary)}.table-cell-notes{color:var(--color-gray-dark);font-size:var(--text-sm);max-width:200px}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-gray);font-style:italic;font-size:var(--text-lg)}.action-buttons{display:flex;gap:var(--space-2);align-items:center}.btn-sm{padding:8px 16px;font-size:var(--text-sm);min-height:36px}.btn-danger{background:var(--color-error);color:var(--color-white);border-color:var(--color-error)}.btn-danger:hover{background:#9d4848;border-color:#9d4848}.nav-auth{display:flex;align-items:center;margin-left:auto}.btn-auth{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-base);text-decoration:none;transition:var(--transition);border:2px solid transparent;cursor:pointer;min-height:48px;display:flex;align-items:center;justify-content:center}.btn-login{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}.btn-login:hover{background:var(--color-cream);border-color:var(--color-cream);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-logout{background:transparent;color:var(--color-white);border-color:var(--color-white)}.btn-logout:hover{background:#ffffff26;transform:translateY(-1px)}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.search-form{gap:var(--space-3)}}@media(max-width:768px){.nav{padding:var(--space-2) var(--space-3)}.nav-container{flex-direction:column;gap:var(--space-3)}.logo{font-size:var(--text-xl);text-align:center;width:100%}.nav-sections{flex-direction:column;gap:var(--space-4);width:100%}.nav-group{width:100%;align-items:center}.nav-group-label{text-align:center}.nav-links{gap:var(--space-2);flex-wrap:wrap;justify-content:center}.nav-links a{font-size:var(--text-lg);padding:var(--space-2) var(--space-3)}.nav-auth{width:100%;justify-content:center;margin-left:0}.btn-auth{width:100%;max-width:300px;padding:var(--space-3) var(--space-4);font-size:var(--text-lg)}.main-content{padding:var(--space-4) var(--space-3)}.page-title{font-size:var(--text-3xl)}.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.stat-card{padding:var(--space-4)}.stat-card__value,.stat-value{font-size:var(--text-3xl)}.search-section{padding:var(--space-4)}.search-input{font-size:var(--text-base)}.filter-select{min-width:100%}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.action-buttons{flex-direction:column;width:100%}.action-buttons .btn{width:100%}}.public-page{max-width:1280px;margin:0 auto;padding:0}.hero-section{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);color:var(--color-white);padding:var(--space-10) var(--space-4);text-align:center;border-radius:var(--radius-lg);margin-bottom:var(--space-8);box-shadow:var(--shadow-md)}.hero-title{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--weight-semibold);margin:0 0 var(--space-3) 0;line-height:var(--leading-tight)}.hero-subtitle{font-size:var(--text-xl);font-weight:var(--weight-normal);margin:0;opacity:.95;line-height:var(--leading-relaxed)}.hero-home{background:linear-gradient(135deg,var(--color-secondary-light) 0%,var(--color-cream) 100%);color:var(--color-text);min-height:500px;display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4)}.hero-content{max-width:800px;text-align:center}.hero-home .hero-title{color:var(--color-text);font-size:var(--text-5xl);margin-bottom:var(--space-4)}.hero-home .hero-subtitle{color:var(--color-gray-dark);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.hero-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.content-section{padding:0 var(--space-6) var(--space-10) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.content-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:var(--transition)}.content-card:hover{box-shadow:var(--shadow-md)}.login-card{max-width:500px;margin:0 auto}.content-card h2{font-family:var(--font-heading);color:var(--color-primary);font-size:var(--text-3xl);margin:0 0 var(--space-4) 0;line-height:var(--leading-tight)}.content-card h3{font-family:var(--font-heading);color:var(--color-text);font-size:var(--text-xl);margin:var(--space-4) 0 var(--space-2) 0;line-height:var(--leading-tight)}.content-card p{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0;font-size:var(--text-base)}.content-card p:last-child{margin-bottom:0}.content-card ul,.content-card ol{margin:var(--space-3) 0;padding-left:var(--space-6)}.content-card li{color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}.content-card li strong{color:var(--color-text);font-weight:var(--weight-semibold)}.highlight-card{background:linear-gradient(135deg,rgba(212,167,136,.15) 0%,var(--color-white) 100%);border:2px solid var(--color-accent)}.cta-card{border:2px solid var(--color-primary);background:linear-gradient(135deg,var(--color-white) 0%,rgba(74,124,40,.05) 100%)}.values-list,.benefits-list,.section-list,.visitor-guidelines,.contact-reasons,.rules-list{list-style:none;padding:0;margin:var(--space-4) 0 0 0}.values-list li,.benefits-list li,.section-list li,.visitor-guidelines li,.contact-reasons li,.rules-list li{padding:var(--space-3) 0 var(--space-3) var(--space-6);position:relative;border-bottom:1px solid var(--color-border)}.values-list li:last-child,.benefits-list li:last-child,.section-list li:last-child,.visitor-guidelines li:last-child,.contact-reasons li:last-child,.rules-list li:last-child{border-bottom:none}.values-list li:before,.benefits-list li:before,.section-list li:before,.visitor-guidelines li:before,.contact-reasons li:before,.rules-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1}.eligibility-section,.membership-type{margin:var(--space-4) 0;padding:var(--space-6);background:var(--color-background);border-radius:var(--radius);border-left:4px solid var(--color-primary)}.eligibility-section h3,.membership-type h3{margin-top:0;color:var(--color-primary);font-size:var(--text-xl)}.application-steps{counter-reset:step-counter;list-style:none;padding:0;margin:var(--space-4) 0}.application-steps li{counter-increment:step-counter;padding:var(--space-3) 0 var(--space-3) var(--space-10);position:relative;border-bottom:1px solid var(--color-border)}.application-steps li:last-child{border-bottom:none}.application-steps li:before{content:counter(step-counter);position:absolute;left:0;top:var(--space-3);width:36px;height:36px;background:var(--color-primary);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--text-base);line-height:1}.note{background:#d4a78826;border-left:4px solid var(--color-accent);padding:var(--space-4) var(--space-6);border-radius:var(--radius);margin:var(--space-4) 0}.note strong{color:var(--color-accent-dark)}.cta-text{font-size:var(--text-lg);padding:var(--space-6);background:var(--color-white);border-radius:var(--radius);text-align:center;margin:var(--space-4) 0 0 0}.inline-link{color:var(--color-primary);text-decoration:underline;font-weight:var(--weight-semibold);transition:var(--transition)}.inline-link:hover{color:var(--color-primary-dark)}.map-placeholder{background:var(--color-background);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);margin:var(--space-6) 0;text-align:center}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.placeholder-icon{width:80px;height:80px;color:var(--color-secondary);opacity:.5}.placeholder-content h3{margin:0;color:var(--color-text-secondary);font-size:var(--text-2xl)}.placeholder-content p{margin:0;color:var(--color-text-secondary);max-width:500px}.two-column-layout{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.board-member{margin:var(--space-4) 0;padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.board-member:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.board-member h3{margin:0 0 var(--space-1) 0;color:var(--color-primary);font-size:var(--text-lg)}.board-role{color:var(--color-text-secondary);font-size:var(--text-base);margin:0;font-style:italic}.contact-form{margin-top:var(--space-6)}.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-group label{font-weight:var(--weight-semibold);color:var(--color-text);font-size:var(--text-base)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition);background:var(--color-white);color:var(--color-text);min-height:var(--touch-target)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-lightest)}.form-group textarea{resize:vertical;min-height:150px}.form-message{padding:var(--space-3) var(--space-6);border-radius:var(--radius);margin-bottom:var(--space-4);font-weight:var(--weight-semibold)}.form-message.success{background:var(--color-success-light);color:var(--color-success);border:2px solid var(--color-success)}.form-message.error{background:var(--color-error-light);color:var(--color-error);border:2px solid var(--color-error)}.features-section{padding:var(--space-10) var(--space-4);background:var(--color-white)}.section-title{text-align:center;font-family:var(--font-heading);font-size:var(--text-4xl);color:var(--color-text);margin-bottom:var(--space-8)}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);max-width:1200px;margin:0 auto}.feature-card{background:var(--color-cream);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:var(--transition);border:2px solid transparent}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.feature-icon{font-size:3rem;margin-bottom:var(--space-4)}.feature-card h3{font-family:var(--font-heading);color:var(--color-primary);font-size:var(--text-2xl);margin-bottom:var(--space-3)}.feature-card p{color:var(--color-gray-dark);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.feature-link{color:var(--color-accent);text-decoration:none;font-weight:var(--weight-semibold);transition:var(--transition)}.feature-link:hover{color:var(--color-accent-dark);text-decoration:underline}.cta-section{padding:var(--space-10) var(--space-4);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);text-align:center}.cta-content{max-width:600px;margin:0 auto}.cta-section h2{color:var(--color-white);font-family:var(--font-heading);font-size:var(--text-4xl);margin-bottom:var(--space-4)}.cta-section p{color:var(--color-white);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);opacity:.95}.btn{display:inline-block;padding:var(--space-3) var(--space-6);border-radius:var(--radius);font-weight:var(--weight-semibold);font-size:var(--text-base);text-decoration:none;transition:var(--transition);border:2px solid transparent;min-height:var(--touch-target);text-align:center;cursor:pointer;line-height:1.5}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cta-section .btn-primary{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}.cta-section .btn-primary:hover{background:var(--color-cream);border-color:var(--color-cream)}@media(min-width:768px){.hero-section{padding:var(--space-12) var(--space-6)}.hero-title{font-size:var(--text-5xl)}.hero-subtitle{font-size:var(--text-2xl)}.content-section{padding:0 var(--space-8) var(--space-12) var(--space-8)}.two-column-layout,.form-row{grid-template-columns:1fr 1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.hero-home .hero-title{font-size:var(--text-5xl)}}@media(min-width:1024px){.content-section{padding:0 var(--space-10) var(--space-12) var(--space-10)}.features-grid{grid-template-columns:repeat(4,1fr)}.content-card{padding:var(--space-10)}}.page-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:2px solid var(--color-border)}.page-subtitle{color:var(--color-text-secondary);font-size:var(--text-lg);margin-top:var(--space-2);font-weight:var(--weight-normal)}.dashboard-section{margin-bottom:var(--space-10)}.section-title{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-6)}.stat-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:var(--transition);display:flex;align-items:flex-start;gap:var(--space-4)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{font-size:2.5rem;flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:var(--radius)}.stat-content{flex:1;min-width:0}.stat-label{font-family:var(--font-heading);font-size:var(--text-base);color:var(--color-text-secondary);margin:0 0 var(--space-1) 0;font-weight:var(--weight-semibold)}.stat-value{font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-text);margin:0 0 var(--space-1) 0;line-height:1.2}.stat-detail{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.stat-card-primary{border-left:4px solid var(--color-primary)}.stat-card-primary .stat-icon{background:#4a7c281a;color:var(--color-primary)}.stat-card-success{border-left:4px solid var(--color-success)}.stat-card-success .stat-icon{background:var(--color-success-light);color:var(--color-success)}.stat-card-info{border-left:4px solid var(--color-info)}.stat-card-info .stat-icon{background:#92a8b326;color:var(--color-info)}.stat-card-warning{border-left:4px solid var(--color-warning)}.stat-card-warning .stat-icon{background:#d4a78826;color:var(--color-warning)}.stat-card-error{border-left:4px solid var(--color-error)}.stat-card-error .stat-icon{background:var(--color-error-light);color:var(--color-error)}.quick-actions{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm)}.quick-actions .section-title{margin-top:0;border-bottom:none;padding-bottom:0}.action-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}.action-buttons .btn{flex:1;min-width:200px;justify-content:center;display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);padding:var(--space-4) var(--space-6)}.action-buttons .btn span{font-size:1.5rem}.loading,.error{text-align:center;padding:var(--space-10);background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.loading{color:var(--color-text-secondary);font-size:var(--text-lg)}.error{color:var(--color-error)}.error h3{margin-top:0;color:var(--color-error)}.error .btn{margin-top:var(--space-6)}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-card{flex-direction:column;align-items:center;text-align:center}.stat-icon{width:56px;height:56px;font-size:2rem}.stat-value{font-size:var(--text-3xl)}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%;min-width:0}}@media(min-width:1024px){.dashboard-section:nth-child(2) .stats-grid,.dashboard-section:nth-child(3) .stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-section:nth-child(4) .stats-grid{grid-template-columns:repeat(3,1fr)}}.members-container{padding:0}.members-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-gray-light)}.members-header h1{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.filter-bar{background:var(--color-white);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.search-container{position:relative;flex:1;min-width:300px;margin-bottom:var(--space-4)}.filter-controls{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.members-stats{margin-bottom:var(--space-6);padding:var(--space-5);background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.members-stats p{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text)}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-4)}.member-card{background:var(--color-white);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:var(--transition);border-left:4px solid var(--color-primary-light)}.member-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.member-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-3);gap:var(--space-2)}.member-header h3{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.member-header .status{flex-shrink:0}.member-details{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.member-details p{margin:0;font-size:var(--text-sm);color:var(--color-gray-dark);line-height:var(--leading-normal)}.plot-info{color:var(--color-primary)!important;font-weight:var(--weight-medium);margin-top:var(--space-1)!important}.member-actions{display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-gray-light)}.member-actions button{flex:1;padding:var(--space-2);border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-sm);cursor:pointer;transition:var(--transition);min-height:44px}.member-actions button:hover{background:var(--color-primary);color:var(--color-white)}.member-actions .delete-btn{border-color:var(--color-error);color:var(--color-error)}.member-actions .delete-btn:hover{background:var(--color-error);color:var(--color-white)}.loading,.error{text-align:center;padding:var(--space-8);font-size:var(--text-lg)}.error{color:var(--color-error);background:#b95f5f1a;border-radius:var(--radius);margin:var(--space-4) 0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background:var(--color-white);border-radius:var(--radius);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);border-bottom:2px solid var(--color-gray-light);position:sticky;top:0;background:var(--color-white);z-index:10}.modal-header h2,.modal-header h3{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-gray);line-height:1;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition)}.close-btn:hover{background:var(--color-gray-light);color:var(--color-text)}.modal-content form{padding:var(--space-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.form-group label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.form-group textarea{min-height:100px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--color-gray-light);position:sticky;bottom:0;background:var(--color-white);padding-bottom:var(--space-4)}.related-section{margin-top:var(--space-6);padding-top:var(--space-4);border-top:2px solid var(--color-gray-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h4{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.related-list{display:flex;flex-direction:column;gap:var(--space-2)}.related-item{display:flex;justify-content:space-between;align-items:start;padding:var(--space-3);background-color:var(--color-cream);border-radius:var(--radius-sm);border-left:4px solid var(--color-secondary);gap:var(--space-2)}.related-item strong{color:var(--color-text);font-weight:var(--weight-semibold)}.related-notes{font-size:var(--text-sm);color:var(--color-gray-dark);margin-top:var(--space-1)}.item-actions{display:flex;gap:var(--space-1);flex-shrink:0}.no-data{color:var(--color-gray);font-style:italic;margin:var(--space-2) 0;text-align:center;padding:var(--space-4);background:var(--color-cream);border-radius:var(--radius-sm)}.modal-sm{max-width:500px}@media(max-width:1024px){.filter-bar{flex-direction:column;align-items:stretch}.search-container{width:100%}.filter-controls{width:100%;justify-content:flex-start}.filter-select{flex:1;min-width:140px}}@media(max-width:768px){.members-header{flex-direction:column;align-items:stretch}.members-header h1{font-size:var(--text-3xl)}.members-header .btn{width:100%}.filter-bar{flex-direction:column;gap:var(--space-2)}.search-container{min-width:100%}.search-input{font-size:var(--text-lg);padding:14px 16px}.filter-controls{flex-direction:column;width:100%}.filter-select{width:100%;font-size:var(--text-lg);padding:14px 16px}.filter-controls .btn{width:100%}.members-grid,.form-row{grid-template-columns:1fr}.member-actions{flex-direction:column}.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header h2,.modal-header h3{font-size:var(--text-xl)}}.form-group{position:relative}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:var(--weight-medium);color:var(--color-text);margin-bottom:0}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label span{-webkit-user-select:none;user-select:none}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;z-index:1000;margin-top:var(--space-1)}.search-result-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-gray-light);cursor:pointer;transition:background-color .15s ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--color-gray-lightest)}.result-name{font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-1);font-size:var(--text-base)}.result-details{font-size:var(--text-sm);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}.deceased-badge{display:inline-block;padding:2px 8px;background-color:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-medium)}.selected-member{margin-top:var(--space-3);padding:var(--space-3);background-color:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success-dark);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2)}.search-no-results{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-style:italic}.plots-page{padding:0}.owners-list{display:flex;flex-direction:column;gap:var(--space-1)}.owner-item{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-normal)}.ownership-type{color:var(--color-gray-dark);font-size:var(--text-xs)}.badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--shadow-sm)}.badge-available{background-color:#4a7c281f;color:#2e7d32;border:1px solid rgba(74,124,40,.2)}.badge-reserved{background-color:#d4a78826;color:#8f6443;border:1px solid rgba(212,167,136,.3)}.badge-owned{background-color:#92a8b326;color:#547586;border:1px solid rgba(146,168,179,.3)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.modal{margin:var(--space-2);max-width:calc(100vw - var(--space-4))}.modal-header,.modal-body,.modal-footer{padding:var(--space-3)}.owners-list{font-size:var(--text-xs)}}@media(max-width:1024px){.form-grid{gap:var(--space-3)}}.ledger-page{padding:0}.date-filters{display:flex;gap:var(--space-3);margin-top:var(--space-4);align-items:flex-end;flex-wrap:wrap;padding:var(--space-4);background:var(--color-cream);border-radius:var(--radius);border:1px solid var(--color-gray-light)}.filter-input{padding:12px 16px;border:2px solid var(--color-gray-light);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition);min-height:48px;background:var(--color-white);color:var(--color-text)}.filter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d50161a}.table-cell-description{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-cell-amount{font-weight:var(--weight-bold);text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-lg)}.amount-positive{color:#2e7d32}.amount-negative{color:#c62828}.badge-income{background-color:#4a7c281f;color:#2e7d32;border:1px solid rgba(74,124,40,.2);padding:6px 14px;border-radius:20px;box-shadow:var(--shadow-sm)}.badge-expense{background-color:#b85f5f1f;color:#c62828;border:1px solid rgba(184,95,95,.2);padding:6px 14px;border-radius:20px;box-shadow:var(--shadow-sm)}.stat-card-danger{border-left-color:#c62828}.stat-card-danger .stat-value{color:#c62828}.modal{background:var(--color-white);border-radius:var(--radius);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);margin:var(--space-4)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:2px solid var(--color-gray-light);position:sticky;top:0;background:var(--color-white);z-index:10}.modal-header h2{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-gray);line-height:1;padding:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition)}.modal-close:hover{background:var(--color-gray-light);color:var(--color-text)}.modal-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.modal-body{padding:var(--space-5)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group-full{grid-column:1 / -1}.form-group label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);line-height:var(--leading-tight)}.form-group input,.form-group select,.form-group textarea{padding:12px 16px;border:2px solid var(--color-gray-light);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition);min-height:48px;background:var(--color-white);color:var(--color-text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d50161a}.form-group textarea{min-height:100px;resize:vertical;font-family:var(--font-body);line-height:var(--leading-relaxed)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:2px solid var(--color-gray-light);position:sticky;bottom:0;background:var(--color-white)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.modal{margin:var(--space-2);max-width:calc(100vw - var(--space-4))}.modal-header,.modal-body,.modal-footer{padding:var(--space-3)}.date-filters{flex-direction:column;align-items:stretch}.table-cell-description{max-width:150px}}@media(max-width:1024px){.form-grid{gap:var(--space-3)}.date-filters{gap:var(--space-2)}}:root{--color-primary: #2d5016;--color-primary-light: #4a7c28;--color-primary-dark: #1a3209;--color-primary-lightest: rgba(74, 124, 40, .1);--color-secondary: #92a8b3;--color-secondary-light: #c4d4db;--color-secondary-dark: #6b8290;--color-accent: #b8865f;--color-accent-light: #d4a788;--color-accent-dark: #8f6443;--color-white: #fdfcfa;--color-cream: #f5f3ef;--color-gray-light: #e8e6e1;--color-gray: #9d9b96;--color-gray-dark: #5a5854;--color-text: #2a2925;--color-text-secondary: #5a5854;--color-success: #4a7c28;--color-success-light: rgba(74, 124, 40, .1);--color-warning: #d4a788;--color-error: #b85f5f;--color-error-light: rgba(184, 95, 95, .1);--color-info: #92a8b3;--color-border: #e8e6e1;--color-background: #f5f3ef;--font-heading: "Merriweather", "Georgia", serif;--font-body: "Inter", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-10: 5rem;--space-12: 6rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--radius: 8px;--radius-sm: 6px;--radius-lg: 12px;--transition: all .2s ease;--touch-target: 48px;--mobile: 320px;--tablet: 768px;--desktop: 1024px;--wide: 1280px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--leading-tight);color:var(--color-text);font-weight:var(--weight-semibold)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-body);cursor:pointer}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-4)}.container-narrow{max-width:960px}.container-wide{max-width:1440px}.card{background:var(--color-white);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);transition:var(--transition)}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-block;padding:12px 24px;border-radius:var(--radius-sm);font-weight:var(--weight-semibold);font-size:var(--text-base);transition:var(--transition);border:2px solid transparent;cursor:pointer;min-height:48px;text-align:center}.btn-primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-white)}.btn-accent{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn-accent:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.btn-icon{padding:8px;min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-gray-dark);transition:var(--transition)}.btn-icon:hover{background:var(--color-gray-light);color:var(--color-text)}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);text-transform:capitalize}.badge-active{background:#4a7c281a;color:#4a7c28}.badge-inactive{background:#d4a78833;color:#8f6443}.badge-deceased{background:#5d58541a;color:var(--color-gray-dark)}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text)}.form-input,.form-select,.form-textarea{padding:12px 16px;border:2px solid var(--color-gray-light);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-body);transition:var(--transition);min-height:48px;background:var(--color-white);color:var(--color-text)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d50161a}.form-textarea{min-height:120px;resize:vertical}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){body{font-size:var(--text-lg)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{min-height:52px;font-size:var(--text-lg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
