:root{--color-bg:#f4f0eb;--color-surface:#fdfaf6;--color-text:#2a2420;--color-text-muted:#8a7b6f;--color-accent-1:sienna;--color-accent-1-hover:#8b4726;--color-accent-2:#5c7a5c;--color-border:#ddd5c8;--color-hero-tint:#f0e6d3;--color-error-bg:#fdf0ee;--color-error-text:#7f2315;--color-success-bg:#eef5ee;--color-success-text:#2d5a2d;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--radius:6px;--radius-card:8px}*{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);margin:0;line-height:1.6}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text);font-weight:500;line-height:1.3}h1{font-size:var(--text-2xl);margin:0 0 1.5rem}h2{font-size:var(--text-xl);margin:2rem 0 1rem}h3{font-size:var(--text-lg);margin:0 0 .25rem}p{margin:0 0 .75rem}a{color:var(--color-accent-1)}a:hover{color:var(--color-accent-2)}button{font-family:var(--font-body);font-size:var(--text-sm);border-radius:var(--radius);cursor:pointer;background:var(--color-accent-1);color:var(--color-surface);border:none;padding:.625rem 1.25rem;font-weight:500}button:hover{background:var(--color-accent-1-hover)}button:disabled{opacity:.6;cursor:not-allowed}button[type=button]{color:var(--color-accent-1);border:1px solid var(--color-accent-1);background:0 0}button[type=button]:hover{background:#a0522d0f}label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:.375rem;display:block}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=datetime-local],input[type=file],select,textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);padding:.625rem .875rem}input:focus,select:focus,textarea:focus{border-color:var(--color-accent-1);outline:none}textarea{resize:vertical}form>div{margin-bottom:1rem}form>button{margin-right:.5rem}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-weight:500}td{border-bottom:1px solid var(--color-border);padding:.75rem 1rem}tbody tr:nth-child(2n){background:var(--color-bg)}tbody tr:nth-child(odd){background:var(--color-surface)}p[role=alert]{background:var(--color-error-bg);color:var(--color-error-text);border-radius:var(--radius);font-size:var(--text-sm);margin-bottom:1rem;padding:.875rem 1.25rem}.success-message{background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius);font-size:var(--text-sm);margin-bottom:1rem;padding:.875rem 1.25rem}.layout{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:1.25rem;height:3.75rem;padding:0 2rem;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:500;font-size:var(--text-lg);color:var(--color-text);white-space:nowrap;margin-right:1.5rem;text-decoration:none}.nav-brand:hover{color:var(--color-accent-1)}.nav-links{flex:1;gap:.125rem;display:flex}.nav-links a{color:var(--color-text-muted);font-size:var(--text-sm);border-radius:var(--radius);border-bottom:2px solid #0000;padding:.5rem .875rem;font-weight:400;text-decoration:none}.nav-links a:hover{color:var(--color-text);background:#a0522d0a}.nav-links a.active{color:var(--color-accent-1);border-bottom-color:var(--color-accent-1);background:0 0}.nav-profile{color:var(--color-text-muted);font-size:var(--text-sm);border-radius:var(--radius);padding:.5rem .875rem;font-weight:400;text-decoration:none}.nav-profile:hover{color:var(--color-text)}.nav-profile.active{color:var(--color-accent-1)}.nav-logout{color:var(--color-text-muted);border:1px solid var(--color-border);font-size:var(--text-sm);background:0 0;padding:.375rem .875rem;font-weight:400}.nav-logout:hover{color:var(--color-text);border-color:var(--color-text-muted);background:0 0}.main-content{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2.5rem 2rem}form:only-child{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);max-width:380px;margin:5rem auto;padding:2.5rem;box-shadow:0 1px 4px #0000000f}form:only-child h1{text-align:center;margin-bottom:2rem}.meeting-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:1.25rem;padding:1.5rem;box-shadow:0 1px 4px #0000000f}.meeting-card h3{margin:0 0 .375rem}.meeting-card p{color:var(--color-text-muted);font-size:var(--text-sm);margin:0 0 .25rem}.meeting-docs{margin:1rem 0;padding:0;list-style:none}.meeting-docs li{align-items:center;gap:.625rem;padding:.375rem 0;display:flex}.doc-category{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-bg);border-radius:var(--radius);white-space:nowrap;padding:.125rem .5rem;font-size:.7rem;font-weight:500}.meeting-actions{border-top:1px solid var(--color-border);gap:.625rem;margin-top:1rem;padding-top:1rem;display:flex}.doc-upload-form{flex-wrap:wrap;flex:1;align-items:flex-end;gap:.625rem;display:flex}.doc-upload-form>div{flex:1;min-width:150px;margin-bottom:0}.calendar-nav{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.calendar-nav span{font-family:var(--font-heading);font-weight:500;font-size:var(--text-lg);text-align:center;min-width:12rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:2rem;display:grid}.calendar-weekday{text-align:center;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;padding:.625rem 0;font-size:.75rem;font-weight:500}.calendar-day{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;min-height:4rem;font-size:var(--text-sm);flex-direction:column;padding:.375rem;display:flex}.calendar-day.blank{cursor:default;background:0 0;border:none}.calendar-day.past{opacity:.35;cursor:default}.calendar-day.today{border:2px solid var(--color-accent-2)}.calendar-day.selected{background:var(--color-accent-1);border-color:var(--color-accent-1);color:var(--color-surface)}.calendar-day.booked{background:#a0522d1f}.calendar-day:not(.past):not(.blank):not(.booked):not(.selected):hover{background:#5c7a5c1a}.day-number{font-weight:500}.booking-name{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.booking-action{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);align-items:center;gap:.875rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 1px 4px #0000000f}.booking-action p{margin:0}.book-button{background:var(--color-accent-1);color:var(--color-surface);border:none}.book-button:hover{background:var(--color-accent-1-hover)}@media (width<=768px){.navbar{flex-wrap:wrap;gap:.75rem;height:auto;padding:.875rem 1.25rem}.nav-links{order:3;gap:0;width:100%;overflow-x:auto}.main-content{padding:1.5rem 1.25rem}.calendar-grid{gap:2px}.calendar-day{min-height:3rem;padding:.25rem;font-size:.75rem}}.landing{background:var(--color-bg)}.landing h1,.landing h2,.landing h3{font-family:var(--font-heading);letter-spacing:-.01em;font-weight:500}.landing-hero{background:linear-gradient(#f0e6d359,#f0e6d38c),url(/images/hero.jpg) 50%/cover no-repeat;background-color:var(--color-hero-tint);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.landing-hero-content{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-card);background:#ffffff1a;max-width:640px;padding:3.5rem 4rem}.landing-hero-content h1{margin:0 0 .75rem;font-size:3.5rem;font-weight:600}.landing-hero-content p{font-size:var(--text-lg);color:#5c4f44;margin:0 0 2.5rem}.landing-btn{background:var(--color-accent-1);color:var(--color-surface);font-family:var(--font-body);font-weight:500;font-size:var(--text-sm);letter-spacing:.04em;border-radius:var(--radius);padding:.875rem 2.5rem;text-decoration:none;display:inline-block}.landing-btn:hover{background:var(--color-accent-1-hover);color:var(--color-surface)}.landing-about{background:var(--color-surface);padding:6rem 2rem}.landing-about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:960px;margin:0 auto;display:grid}.landing-about-image{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--color-hero-tint);overflow:hidden}.landing-about-image img{object-fit:cover;width:100%;height:100%;display:block}.landing-about-text h2{font-size:var(--text-2xl);margin:0 0 1.25rem}.landing-about-text p{color:var(--color-text-muted);font-size:var(--text-base);margin:0;line-height:1.8}.landing-info{padding:5rem 2rem}.landing-info-inner{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto;display:grid}.landing-info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--color-text);flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem 1.5rem;text-decoration:none;display:flex;box-shadow:0 1px 4px #0000000f}.landing-info-card:hover{border-color:var(--color-accent-2);color:var(--color-text)}.landing-info-icon{width:36px;height:36px;color:var(--color-accent-1)}.landing-info-card span:last-child{font-family:var(--font-heading);font-size:var(--text-lg);text-align:center;font-weight:500}.landing-footer{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);background:var(--color-surface);border-top:1px solid var(--color-border);padding:3rem 2rem}.landing-footer p{margin:0}@media (width<=768px){.landing-hero-content{padding:2.5rem 2rem}.landing-hero-content h1{font-size:var(--text-2xl)}.landing-about{padding:3.5rem 1.5rem}.landing-about-inner{grid-template-columns:1fr;gap:2rem}.landing-info{padding:3.5rem 1.5rem}.landing-info-inner{grid-template-columns:1fr}}
