:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5rem;color:#283618;margin-bottom:1rem}h2{font-size:2rem;color:#606c38;margin-bottom:.8rem}p{color:#283618;line-height:1.6}a{text-decoration:none;color:inherit}button{background-color:#606c38;color:#fefae0;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background-color .3s}button:hover{background-color:#283618}.nav-link-container{display:flex;gap:1rem;align-items:center}.nav-logo{display:flex;align-items:center;text-decoration:none;gap:.75rem}.nav-logo img{height:40px;width:auto;transition:transform .3s ease}.nav-brand{color:#fefae0;font-size:1.25rem;font-weight:600;letter-spacing:.5px}.nav-logo:hover img{transform:scale(1.05)}.menu-button{display:none;background:none;border:none;color:#fefae0;font-size:1.5rem;cursor:pointer;padding:.5rem}.mobile-menu{display:none;flex-direction:column;gap:.5rem;padding:1rem;background-color:#283618}@media (max-width: 768px){.nav-link-container{display:none}.menu-button{display:block}.mobile-menu.open{display:flex}.nav-logo img{height:32px}.nav-brand{font-size:1.1rem}}.footer{background-color:#fefae0;padding:2rem 0;margin-top:3rem;border-top:1px solid rgba(96,108,56,.1)}.footer-container{padding:0 2rem}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.footer-logo{display:flex;align-items:center;gap:1rem}.footer-logo img{height:40px;width:auto;transition:transform .3s ease}.footer-logo:hover img{transform:scale(1.05)}.footer-brand{color:#283618;font-weight:600;font-size:1.25rem;letter-spacing:.5px}.footer-copyright{color:#606c38;font-size:.9rem}@media (max-width: 768px){.footer{padding:1.5rem 0}.footer-container{padding:0 1rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}.footer-logo{justify-content:center}.footer-logo img{height:32px}.footer-brand{font-size:1.1rem}}.optimized-image-container{position:relative;width:100%;height:100%;overflow:hidden}.optimized-image{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease-in-out}.optimized-image.loaded{opacity:1}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fefae0;color:#606c38}.loading-spinner{width:40px;height:40px;border:4px solid #DDA15E;border-top:4px solid #606C38;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#fefae0;color:#d32f2f;text-align:center;padding:2rem}.home-container{display:flex;flex-direction:column;gap:2rem;padding:2rem;max-width:1200px;margin:0 auto}.content-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;min-height:calc(100vh - 200px)}.image-container{width:100%;height:100%;min-height:500px;background-color:#fefae0;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.content-side{display:flex;flex-direction:column;gap:2rem}.welcome-section{text-align:left}.welcome-text{font-size:1.2rem;color:#606c38;margin-top:1rem;line-height:1.6}.navigation-buttons{display:grid;grid-template-columns:1fr;gap:1rem}.nav-button{display:flex;align-items:center;gap:1rem;padding:1.2rem;background-color:#283618;color:#fefae0;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.nav-button:hover{transform:translateY(-2px);background-color:#606c38;box-shadow:0 4px 8px #00000026}.button-icon{display:flex;align-items:center;justify-content:center;color:#dda15e}.button-text{font-size:1.1rem;font-weight:500;letter-spacing:.5px}@media (max-width: 768px){.content-section{grid-template-columns:1fr;gap:2rem}.image-container{min-height:300px;order:-1}.home-container{padding:1rem}.welcome-section{text-align:center}.nav-button{padding:1rem}}.access-container{max-width:1200px;margin:0 auto;padding:2rem}.access-header{text-align:center;margin-bottom:3rem}.access-header h1{color:#283618;margin-bottom:1rem;font-size:2.5rem}.access-intro{color:#606c38;font-size:1.2rem;max-width:600px;margin:0 auto}.access-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.access-section,.location-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 6px #0000000d}.access-section{background:linear-gradient(to bottom right,#fefae0,#fff)}.location-section{background:linear-gradient(to bottom left,#fefae0,#fff)}.access-section h2,.location-section h2{color:#283618;margin-bottom:1.5rem;font-size:1.8rem;padding-bottom:.5rem;border-bottom:2px solid rgba(96,108,56,.1)}.access-list{list-style:none;padding:0;margin:0}.access-list li{color:#606c38;padding:1rem;margin-bottom:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:1rem}.access-list li:before{content:"•";color:#606c38;font-weight:700;font-size:1.5rem}.access-list li:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.address{color:#606c38;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.map-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 8px #0000001a}.map-container iframe{display:block;width:100%;height:450px;border:none}@media (max-width: 768px){.access-container{padding:1rem}.access-content{grid-template-columns:1fr}.access-header h1{font-size:2rem}.access-section,.location-section{padding:1.5rem}.map-container iframe{height:350px}}.guide-container{max-width:1200px;margin:0 auto;padding:2rem}.guide-header{text-align:center;margin-bottom:3rem}.guide-header h1{color:#283618;margin-bottom:1rem;font-size:2.5rem}.guide-intro{color:#606c38;font-size:1.2rem;max-width:600px;margin:0 auto}.guide-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.guide-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 6px #0000000d}.wifi-section{background:linear-gradient(to bottom right,#fefae0,#fff)}.rules-section{background:linear-gradient(to bottom left,#fefae0,#fff)}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:2px solid rgba(96,108,56,.1)}.section-header h2{color:#283618;margin:0;font-size:1.8rem}.wifi-info{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.info-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.label{font-weight:600;color:#606c38;min-width:100px}.value{font-family:monospace;font-size:1.1rem;color:#283618;padding:.5rem 1rem;background:#606c381a;border-radius:8px;flex:1}.rules-content{color:#606c38}.rules-intro{margin-bottom:1.5rem;line-height:1.6;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.rules-list{list-style:none;padding:0;margin:0}.rules-list li{color:#606c38;padding:1rem;margin-bottom:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:1rem}.rules-list li:before{content:"•";color:#606c38;font-weight:700;font-size:1.5rem}.rules-list li:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}@media (max-width: 768px){.guide-container{padding:1rem}.guide-content{grid-template-columns:1fr}.guide-header h1{font-size:2rem}.guide-section{padding:1.5rem}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.label{min-width:auto}.value{width:100%}}.security-container{max-width:1200px;margin:0 auto;padding:2rem}.security-header{text-align:center;margin-bottom:3rem}.security-header h1{color:#283618;margin-bottom:1rem;font-size:2.5rem}.security-intro{color:#606c38;font-size:1.2rem;max-width:600px;margin:0 auto}.security-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.security-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 6px #0000000d}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid rgba(96,108,56,.1)}.section-header h2{color:#283618;margin:0;font-size:1.5rem}.contacts-section{background:linear-gradient(to bottom right,#fefae0,#fff)}.contacts-list{display:flex;flex-direction:column;gap:1rem}.contact-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.contact-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.contact-name{font-weight:600;color:#283618;font-size:1.1rem}.contact-number{color:#606c38;text-decoration:none;font-size:1.1rem;padding:.5rem 1rem;background:#606c381a;border-radius:8px;transition:all .2s ease}.contact-number:hover{background:#606c3833;color:#283618}.procedures-section{background:linear-gradient(to bottom left,#fefae0,#fff)}.procedures-list{display:flex;flex-direction:column;gap:1.5rem}.procedure-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d}.procedure-number{background:#606c38;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.procedure-text{color:#606c38;margin:0;line-height:1.6}@media (max-width: 768px){.security-container{padding:1rem}.security-content{grid-template-columns:1fr}.security-header h1{font-size:2rem}.contact-item{flex-direction:column;gap:.5rem;text-align:center}.contact-number{width:100%;text-align:center}}.calendar-container{max-width:1200px;margin:0 auto;padding:1rem;min-height:100vh;display:flex;flex-direction:column}.calendar-header{text-align:center;margin-bottom:2rem;flex-shrink:0}.calendar-header h1{color:#283618;margin-bottom:.5rem;font-size:clamp(1.5rem,4vw,2.5rem)}.calendar-header p{color:#606c38;font-size:clamp(1rem,2.5vw,1.2rem);margin:0}.calendar-content{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start;flex:1;min-height:0}.calendar-paper{padding:1.5rem;background-color:#fefae0;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.calendar-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.calendar-header-controls button{color:#606c38;min-width:40px;font-size:1.2rem;padding:.5rem;border-radius:8px;transition:all .2s ease}.calendar-header-controls button:hover{background-color:#606c381a}.calendar-header-controls h6{color:#283618;margin:0;font-size:clamp(1.2rem,3vw,1.5rem);text-align:center;flex:1}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.8rem;text-align:center;font-weight:600;color:#606c38;font-size:clamp(.8rem,2vw,1.1rem)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;min-height:0}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;color:#283618;font-size:clamp(.8rem,2.5vw,1.2rem);box-shadow:0 2px 4px #0000000d;position:relative;padding:.3rem;min-height:40px;max-height:60px}.calendar-day:hover{background-color:#f5f5f5;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.calendar-day.selected{background-color:#606c38;color:#fff;transform:scale(1.05)}.calendar-day.has-visits{border:2px solid #DDA15E}.calendar-day.empty{background-color:transparent;cursor:default;box-shadow:none}.day-number{font-size:clamp(.8rem,2.5vw,1.2rem);font-weight:500;line-height:1}.visit-indicator{display:flex;align-items:center;gap:.1rem;margin-top:.1rem;color:#dda15e;font-size:clamp(.6rem,1.5vw,.9rem)}.visit-count{font-size:clamp(.6rem,1.5vw,.9rem);font-weight:600}.calendar-day.selected .visit-indicator{color:#fff}.visits-paper{padding:1.5rem;background-color:#fefae0;border-radius:12px;box-shadow:0 4px 6px #0000001a;height:fit-content;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.visits-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;flex-shrink:0}.visits-header h6{color:#283618;margin:0;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.3}.visits-list{flex:1;overflow-y:auto;min-height:0;padding-right:.5rem}.visits-list::-webkit-scrollbar{width:6px}.visits-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.visits-list::-webkit-scrollbar-thumb{background:#dda15e;border-radius:3px}.visits-list::-webkit-scrollbar-thumb:hover{background:#606c38}.visit-item{background-color:#fff;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d;transition:all .2s ease}.visit-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.visit-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.visit-item-name{font-weight:600;color:#283618;font-size:clamp(.9rem,2vw,1rem);line-height:1.3;flex:1}.visit-item-actions{display:flex;gap:.3rem;flex-shrink:0}.visit-item-actions .MuiIconButton-root{color:#606c38;transition:all .2s ease;padding:.3rem}.visit-item-actions .MuiIconButton-root:hover{color:#283618;background-color:#606c381a}.visit-item-dates{color:#606c38;font-size:clamp(.8rem,1.8vw,.9rem);line-height:1.4}@media (max-width: 1024px){.calendar-content{grid-template-columns:1.5fr 1fr;gap:1rem}.calendar-paper,.visits-paper{padding:1rem}}@media (max-width: 768px){.calendar-container{padding:.5rem}.calendar-content{grid-template-columns:1fr;gap:1rem}.calendar-paper{padding:.8rem}.calendar-header-controls{margin-bottom:1rem}.calendar-weekdays{gap:.2rem;margin-bottom:.5rem}.calendar-grid{gap:.2rem}.calendar-day{padding:.2rem;min-height:35px;max-height:50px}.visits-paper{padding:.8rem;max-height:60vh}.visits-header{margin-bottom:1rem}.visit-item{padding:.8rem;margin-bottom:.8rem}.visit-item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.visit-item-actions{align-self:flex-end}}@media (max-width: 480px){.calendar-container{padding:.3rem}.calendar-paper{padding:.5rem}.calendar-day{min-height:30px;max-height:40px;font-size:.7rem}.day-number{font-size:.7rem}.visit-indicator,.visit-count{font-size:.5rem}.visits-paper{padding:.5rem}.visit-item{padding:.6rem}}@media (max-width: 768px) and (orientation: landscape){.calendar-content{grid-template-columns:1fr 1fr}.visits-paper{max-height:70vh}}#root{width:100%;min-height:100vh;margin:0;padding:0;background-color:#fefae0}.app{min-height:100vh;display:flex;flex-direction:column;background-color:#fefae0}.main-content{flex:1;padding-top:64px;position:relative;overflow:hidden}main{width:100%;max-width:1200px;margin:0 auto;padding:2rem;position:relative;z-index:1}.card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000001a,0 2px 4px #00000026}button{transition:all .3s ease}button:hover{transform:translateY(-1px)}a{text-decoration:none;color:#606c38;transition:color .3s ease}a:hover{color:#283618}img{max-width:100%;height:auto;border-radius:8px}h1,h2,h3,h4,h5,h6{color:#283618;margin-bottom:1rem;line-height:1.2}p{color:#606c38;line-height:1.6;margin-bottom:1rem}@media (max-width: 768px){main{padding:1.5rem}.card{padding:1.5rem}}@media (max-width: 480px){main{padding:1rem}.card{padding:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s ease-out}input,textarea,select{border:1px solid rgba(96,108,56,.2);border-radius:8px;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:#606c38;box-shadow:0 0 0 3px #606c381a}ul,ol{color:#606c38;line-height:1.6;padding-left:1.5rem}li{margin-bottom:.5rem}table{width:100%;border-collapse:collapse;margin:1rem 0}th,td{padding:.75rem;border:1px solid rgba(96,108,56,.2);text-align:left}th{background-color:#606c380d;color:#283618;font-weight:600}tr:nth-child(2n){background-color:#606c3805}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.read-the-docs{color:#888}
