@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap";:root{--color-primary: #214734;--color-primary-light: #2d6048;--color-accent: #9b7b3d;--color-accent-light: #c5a86b;--color-background: #f8f6f1;--color-surface: #ffffff;--color-text: #1f1f1f;--color-text-light: #5c5c5c;--color-border: #d9d5cc;--color-success: #2d8a45;--color-warning: #d88a00;--color-error: #b42318;--font-heading: "Libre Baskerville", serif;--font-body: "Inter", sans-serif;--navbar-height: 75px;--content-width: 1200px;--border-radius: 8px;--shadow-small: 0 2px 6px rgba(0, 0, 0, .08);--shadow-medium: 0 8px 20px rgba(0, 0, 0, .1);--shadow-large: 0 12px 30px rgba(0, 0, 0, .15);--transition-fast: .2s;--transition-normal: .3s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);line-height:1.6;min-height:100vh}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;font:inherit;border:none;outline:none}input,textarea,select{font:inherit}ul{list-style:none}main{width:100%;min-height:calc(100vh - var(--navbar-height))}.container{width:90%;max-width:var(--content-width);margin:auto}h1{font-family:var(--font-heading);font-size:3rem;color:var(--color-primary);margin-bottom:20px}h2{font-family:var(--font-heading);font-size:2.2rem;color:var(--color-primary);margin-bottom:16px}h3{font-family:var(--font-heading);font-size:1.6rem;color:var(--color-primary)}p{color:var(--color-text-light);margin-bottom:16px}.primary-button{background:var(--color-primary);color:#fff;padding:12px 26px;border-radius:var(--border-radius);transition:var(--transition-fast)}.primary-button:hover{background:var(--color-primary-light)}.secondary-button{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary);padding:12px 26px;border-radius:var(--border-radius);transition:var(--transition-fast)}.secondary-button:hover{background:var(--color-primary);color:#fff}.card{background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow-small);padding:24px}.section{padding:80px 0}.text-center{text-align:center}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.navbar{background:#fff;height:var(--navbar-height);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:100%}.navbar-logo{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary);font-weight:700;white-space:nowrap}.navbar-menu{display:flex;align-items:center;gap:32px}.navbar-links{display:flex;gap:28px;align-items:center}.navbar-links a{color:var(--color-text);transition:var(--transition-fast)}.navbar-links a:hover,.navbar-links a.active{color:var(--color-primary)}.navbar-auth{display:flex;align-items:center;gap:14px}.navbar-login{color:var(--color-primary);font-weight:600}.navbar-register,.navbar-logout{background:var(--color-primary);color:#fff;padding:9px 18px;border-radius:var(--border-radius);transition:var(--transition-fast)}.navbar-register:hover,.navbar-logout:hover{background:var(--color-primary-light)}.navbar-toggle{display:none;background:transparent;width:34px;height:28px;flex-direction:column;justify-content:space-between}.navbar-toggle span{display:block;height:3px;width:100%;background:var(--color-primary);border-radius:999px}@media(max-width:850px){.navbar-toggle{display:flex}.navbar-menu{position:absolute;top:var(--navbar-height);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-small);padding:22px 5%}.navbar-menu.open{display:flex}.navbar-links{flex-direction:column;align-items:flex-start;gap:18px}.navbar-auth{margin-top:22px;align-items:flex-start;flex-direction:column}}.footer{margin-top:80px;padding:40px 0;border-top:1px solid var(--color-border);background:#fff}.footer p{text-align:center;margin:0}.hero{background:linear-gradient(#214734e6,#214734e6);color:#fff;padding:120px 0}.hero-content{text-align:center}.hero h1{color:#fff;margin-bottom:25px}.hero-text{max-width:700px;margin:auto;font-size:1.2rem;color:#f5f5f5}.hero-buttons{display:flex;justify-content:center;gap:20px;margin-top:40px;flex-wrap:wrap}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:40px}.feature-card{text-align:center}.feature-card h3{margin-bottom:15px}.mission{background:#fff}.mission p{max-width:900px}.search-page{padding:80px 0}.search-header{max-width:820px;margin-bottom:32px}.search-control{margin-bottom:36px}.search-control label{display:block;font-weight:600;margin-bottom:10px}.search-control input{width:100%;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius)}.search-control input:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.organ-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:28px}.organ-result-card{display:flex;flex-direction:column;align-items:flex-start}.organ-result-card h2{margin-bottom:10px}.organ-result-card .secondary-button{margin-top:auto}.search-message{background:#fff8e6;border:1px solid #ead49a;color:#6d4d00;padding:12px 14px;border-radius:var(--border-radius);margin-bottom:24px}.search-empty{max-width:700px}.search-bar{width:100%}.search-bar label{display:block;font-weight:700;margin-bottom:10px;color:var(--color-text)}.search-bar input{width:100%;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;color:var(--color-text)}.search-bar input:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.organ-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.organ-card-image{width:100%;height:220px;object-fit:cover}.organ-card-content{display:flex;flex-direction:column;flex:1;padding:24px}.organ-card h2{font-size:1.5rem;margin-bottom:8px}.organ-card-organization{color:var(--color-primary);font-weight:700;margin-bottom:4px}.organ-card-location{margin-bottom:14px}.organ-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.organ-card-meta span{background:var(--color-background);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-light);font-size:.88rem;padding:5px 10px}.organ-card-description{flex:1}.organ-card-button{margin-top:18px;text-align:center}.organ-page{padding:80px 0}.organ-layout{display:grid;grid-template-columns:minmax(0,2fr) 360px;gap:34px;align-items:start}.organ-location{font-size:1.1rem;margin-bottom:28px}.organ-image{width:100%;max-height:480px;object-fit:cover;border-radius:var(--border-radius);margin-bottom:28px;box-shadow:var(--shadow-small)}.organ-section{margin-bottom:24px}.spec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.spec-list dt{font-weight:700;color:var(--color-primary)}.spec-list dd{color:var(--color-text-light)}.organ-sidebar{position:sticky;top:calc(var(--navbar-height) + 24px)}.sidebar-button{display:block;text-align:center;margin-top:16px}.organ-message-card{max-width:680px}.organ-address{color:var(--color-text-light);margin-top:-16px;margin-bottom:28px}@media(max-width:900px){.organ-layout{grid-template-columns:1fr}.organ-sidebar{position:static}}@media(max-width:600px){.spec-list{grid-template-columns:1fr}}.auth-page{padding:80px 0}.auth-container{display:flex;justify-content:center}.auth-card{width:100%;max-width:520px}.auth-card h1{margin-bottom:16px}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:32px}.auth-form label{font-weight:600;color:var(--color-text)}.auth-form input,.auth-form select,.auth-form textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;color:var(--color-text)}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.auth-submit{margin-top:18px}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-switch{margin-top:24px;margin-bottom:0}.auth-switch a{color:var(--color-primary);font-weight:600}.dashboard-page{padding:80px 0}.dashboard-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:40px}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px}.dashboard-reservation-list{display:flex;flex-direction:column;gap:18px}.dashboard-message{background:#fff8e6;border:1px solid #ead49a;color:#6d4d00;padding:12px 14px;border-radius:var(--border-radius);margin-bottom:24px}@media(max-width:800px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-grid{grid-template-columns:1fr}}.reservation-card-component{padding:22px}.reservation-card-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.reservation-card-header h3{margin-bottom:4px}.reservation-card-header p{margin-bottom:0}.reservation-status{border-radius:999px;font-size:.85rem;font-weight:700;padding:5px 12px;text-transform:capitalize}.reservation-status.pending{background:#fff8e6;color:#6d4d00;border:1px solid #ead49a}.reservation-status.approved{background:#edf8ef;color:var(--color-success);border:1px solid #bde5c5}.reservation-status.rejected,.reservation-status.cancelled{background:#fff0ee;color:var(--color-error);border:1px solid #f3b8b1}.reservation-card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.reservation-card-details div{display:flex;flex-direction:column;gap:4px}.reservation-card-details strong{color:var(--color-primary)}.reservation-card-details span{color:var(--color-text-light)}.reservation-purpose{border-top:1px solid var(--color-border);margin-top:18px;padding-top:18px;margin-bottom:0}.organization-page{padding:80px 0}.organization-header{margin-bottom:36px}.provider-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.provider-summary-card{text-align:center}.provider-summary-card span{display:block;color:var(--color-primary);font-family:var(--font-heading);font-size:2.4rem;font-weight:700;line-height:1}.provider-summary-card p{margin:10px 0 0}.organization-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:30px}.organization-tabs button{background:#fff;color:var(--color-primary);border:1px solid var(--color-border);border-radius:999px;padding:10px 18px;font-weight:700}.organization-tabs button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.organization-panel{margin-bottom:30px}.organization-form{display:flex;flex-direction:column;gap:13px;margin-top:24px}.organization-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.organization-form label{font-weight:700;color:var(--color-text)}.organization-form input,.organization-form textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;color:var(--color-text)}.organization-form input:focus,.organization-form textarea:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.organization-help-text{font-size:.92rem;margin-top:-4px;margin-bottom:4px}.provider-checklist{margin-top:24px}.provider-checklist ul{list-style:disc;padding-left:22px;color:var(--color-text-light)}.provider-checklist li{margin-bottom:8px}.organization-list{display:flex;flex-direction:column;gap:14px;margin-top:20px}.organization-list-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--color-border)}.organization-list-item:last-child{border-bottom:none}.organization-list-item div{display:flex;flex-direction:column}.organization-list-item span{color:var(--color-text-light)}.organization-pill{background:var(--color-background);border:1px solid var(--color-border);border-radius:999px;padding:5px 10px;font-size:.85rem;text-transform:capitalize;white-space:nowrap}.organ-management-item{align-items:flex-start}.organ-management-actions{display:flex;flex-direction:row!important;align-items:center;gap:10px;flex-wrap:wrap}.organ-management-actions .secondary-button,.organ-management-actions button{padding:9px 14px;font-size:.92rem}.organization-message{background:#edf8ef;border:1px solid #bde5c5;color:var(--color-success);padding:12px 14px;border-radius:var(--border-radius);margin-bottom:24px}.organization-error{background:#fff0ee;color:var(--color-error);border:1px solid #f3b8b1;padding:12px 14px;border-radius:var(--border-radius);margin-bottom:24px}.organization-empty{max-width:680px}.reservation-panel{margin-top:10px}.organization-reservation-list{display:flex;flex-direction:column;gap:22px;margin-top:24px}.organization-reservation-item{border-bottom:1px solid var(--color-border);padding-bottom:22px}.organization-reservation-item:last-child{border-bottom:none;padding-bottom:0}.reservation-actions{display:flex;gap:12px;margin-top:14px}.approve-button,.reject-button{border-radius:var(--border-radius);padding:10px 18px;font-weight:700}.approve-button{background:var(--color-success);color:#fff}.reject-button{background:var(--color-error);color:#fff}@media(max-width:900px){.provider-summary-grid{grid-template-columns:1fr}.organization-list-item{flex-direction:column;align-items:flex-start}}@media(max-width:650px){.organization-form-grid{grid-template-columns:1fr}.reservation-actions{flex-direction:column}}.organ-management-main{display:flex;flex-direction:row!important;gap:18px;align-items:flex-start}.organ-management-photo,.organ-management-photo-placeholder{width:130px;height:95px;flex-shrink:0;border-radius:var(--border-radius);object-fit:cover}.organ-management-photo{border:1px solid var(--color-border)}.organ-management-photo-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-background);border:1px dashed var(--color-border);color:var(--color-text-light);font-size:.9rem}.organ-management-info{display:flex;flex-direction:column;gap:3px}.photo-upload-label{display:inline-block;width:fit-content;margin-top:10px;color:var(--color-primary);font-weight:700;cursor:pointer}.photo-upload-label:hover{text-decoration:underline}.photo-upload-input{display:none}.delete-organ-button{background:#4a1111;color:#fff;border-radius:var(--border-radius);padding:9px 14px;font-size:.92rem;font-weight:700}.delete-organ-button:disabled{opacity:.7;cursor:not-allowed}@media(max-width:700px){.organ-management-main{flex-direction:column!important}.organ-management-photo,.organ-management-photo-placeholder{width:100%;height:180px}}.reservation-page{padding:80px 0}.reservation-container{display:flex;justify-content:center}.reservation-card,.reservation-message-card{width:100%;max-width:680px}.reservation-form{display:flex;flex-direction:column;gap:14px;margin-top:28px}.reservation-form label{font-weight:600}.reservation-form input,.reservation-form textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius)}.reservation-form input:focus,.reservation-form textarea:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.reservation-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-warning{background:#fff8e6;border:1px solid #ead49a;color:#6d4d00;padding:12px 14px;border-radius:var(--border-radius);margin-top:20px}.reservation-warning a{color:var(--color-primary);font-weight:700}.form-error{background:#fff0ee;color:var(--color-error);border:1px solid #f3b8b1;padding:12px 14px;border-radius:var(--border-radius);margin-top:20px}@media(max-width:650px){.reservation-time-grid{grid-template-columns:1fr}}.calendar-component{display:flex;flex-direction:column;gap:16px}.calendar-field{display:flex;flex-direction:column;gap:8px}.calendar-field label{font-weight:700;color:var(--color-text)}.calendar-field input{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--border-radius);background:#fff;color:var(--color-text)}.calendar-field input:focus{outline:2px solid var(--color-accent-light);border-color:var(--color-accent)}.calendar-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.calendar-note{font-size:.92rem;margin-bottom:0}@media(max-width:650px){.calendar-time-grid{grid-template-columns:1fr}}.about-page{min-height:100vh}.lead{font-size:1.2rem;max-width:850px}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.about-grid .card{height:100%}.about-grid h2{margin-bottom:16px}.philosophy{background:#fff}.not-found{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center}.not-found h1{font-size:6rem;margin-bottom:10px}.not-found h2{margin-bottom:20px}.not-found p{margin-bottom:40px}
