:root{--bg: #fcfbf8;--text: #1a1a1a;--muted: #716b5a;--accent: #2c5246;--accent-soft: #f0f4f1;--border: #e8e4dc;--card: #ffffff;--radius: 8px;--maxw: 1000px;--shadow: 0 1px 3px rgba(0, 0, 0, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Newsreader,Georgia,Times New Roman,serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8;text-decoration:none}.page{max-width:var(--maxw);margin:0 auto;padding:64px 16px 100px}.site-header{text-align:left;margin-bottom:48px}.header-content{display:flex;justify-content:space-between;align-items:stretch;gap:32px}.header-text{flex:1}.site-logo{height:100%;width:auto;max-height:140px;object-fit:contain;display:block;opacity:.6;filter:grayscale(.2)}@media (max-width: 640px){.header-content{flex-direction:column-reverse;align-items:flex-start;gap:20px}.site-logo{height:60px}}.site-title{font-size:2.8rem;font-weight:600;letter-spacing:-.02em;margin:0 0 12px}.site-desc{color:var(--muted);margin:0;max-width:560px;font-size:1.15rem;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;opacity:.9}.tabs{display:flex;justify-content:flex-start;gap:4px;margin:40px 0 0;border-bottom:1px solid var(--border);padding:0 12px}.tab{padding:12px 24px;color:var(--muted);font-size:1rem;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;margin-bottom:-1px;transition:all .2s ease;background:transparent}.tab:hover{color:var(--text);background:#00000005}.tab.active{color:var(--accent);background:var(--card);border-color:var(--border);font-weight:500}.announcement{background:var(--accent-soft);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:20px 24px;margin:32px 0;box-shadow:var(--shadow)}.announcement-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600;color:var(--accent);margin:0 0 8px;font-family:system-ui,-apple-system,sans-serif}.announcement-body{margin:0;white-space:pre-wrap;font-size:1.05rem}.announcement.editable .announcement-input{width:100%;background:transparent;border:none;padding:0;margin:0;font-family:inherit;font-size:1.05rem;color:var(--text);line-height:1.6;resize:vertical;min-height:60px}.announcement.editable .announcement-input:focus{outline:none}.announcement.editable .announcement-input::placeholder{color:var(--muted);opacity:.6}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;margin-top:32px}@media (max-width: 768px){.columns{grid-template-columns:1fr;gap:24px}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.card-title{margin:0 0 20px;font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.times{list-style:none;margin:0;padding:0}.times li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.times li:last-child{border-bottom:none}.times .label{color:var(--muted)}.times .value{font-variant-numeric:tabular-nums;font-weight:500}.map-frame{width:100%;height:260px;border:0;border-radius:6px;display:block;background:#eee}.address{margin:16px 0 20px;color:var(--muted);font-size:1rem;line-height:1.5}.directions-btn{display:inline-block;text-decoration:none;font-size:.85rem;padding:8px 16px}.admin-narrow{max-width:560px}.field{margin-bottom:24px}.field label{display:block;font-size:.9rem;font-weight:500;color:var(--muted);margin-bottom:8px;font-family:system-ui,-apple-system,sans-serif}input[type=text],input[type=password],input[type=time],textarea{width:100%;font-family:inherit;font-size:1rem;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:6px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease}textarea{min-height:100px;resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.time-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.time-row span{color:var(--muted);font-size:.9rem}button,.button{font-family:system-ui,-apple-system,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:10px 24px;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;line-height:1}button:hover,.button:hover{opacity:.9;transform:translateY(-1px);color:#fff;text-decoration:none}button:active,.button:active{transform:translateY(0)}button.ghost,.button.ghost{background:var(--accent-soft);color:var(--accent)}button.ghost:hover,.button.ghost:hover{background:#dce7df;color:var(--accent)}button.link-btn{background:transparent;color:#9a2f2f;border:none;padding:4px 8px;font-size:.85rem}button.link-btn:hover{background:#fff5f5;transform:none}.btn-row{display:flex;align-items:center;gap:16px;margin-top:32px}.admin-links{display:flex;flex-direction:column;gap:12px;margin-top:32px}.note{color:var(--muted);font-size:.9rem;font-style:italic}.error{color:#9a2f2f;font-size:.95rem;margin-top:8px;font-weight:500}.success{color:var(--accent);font-size:.95rem;font-weight:500}.back-link{display:inline-block;margin-bottom:24px;font-size:.95rem;font-weight:500}.admin-badge{margin:16px 0 0;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:700;color:var(--accent);font-family:system-ui,-apple-system,sans-serif}.admin-gate{max-width:360px;margin:32px auto 0;text-align:center;padding:32px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.admin-gate .field{text-align:left}.save-bar{display:flex;align-items:center;gap:20px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}.admin-footer{margin-top:64px;padding-top:32px;border-top:1px solid var(--border);text-align:center}.site-footer{margin-top:80px;padding-top:32px;border-top:1px solid var(--border);text-align:left;color:var(--muted);font-size:.9rem;font-family:system-ui,-apple-system,sans-serif;opacity:.8}.site-footer p{margin:0}
