@font-face{font-family:Lieberath;src:url('/assets/LieberathGrotesque-Regular.otf') format('opentype');font-weight:400;font-display:swap}@font-face{font-family:Lieberath;src:url('/assets/LieberathGrotesque-Bold.otf') format('opentype');font-weight:700;font-display:swap}@font-face{font-family:Bravely;src:url('/assets/BravelyScript-Regular.otf') format('opentype');font-weight:400;font-display:swap}:root{--ink:#1f2924;--muted:#68716a;--paper:#fff;--line:#deded5;--accent:#526125;--accent-dark:#354018;font-family:Lieberath,Arial,sans-serif;color:var(--ink);background:#f4f3ed}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f3ed}.top{height:132px;max-width:1200px;margin:auto;padding:8px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--accent);transition:border-color .2s}.brand{display:flex;align-items:center;color:inherit;text-decoration:none}.brand-logo{width:165px;height:118px;object-fit:contain;object-position:left center;transition:opacity .15s}.brandmark{display:none}.topnote,.muted{color:var(--muted);font-size:12px}.wrap{max-width:1180px;margin:auto;padding:42px 30px 80px}.hero{display:grid;grid-template-columns:1fr;align-items:end;gap:20px;margin-bottom:32px;border-left:8px solid var(--accent);padding:4px 0 5px 20px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:850;color:var(--accent);margin:0 0 12px}h1{font-family:Bravely,Lieberath,sans-serif;font-size:clamp(38px,5vw,68px);line-height:1.06;letter-spacing:.01em;margin:0 0 14px;text-transform:uppercase;font-weight:400}.hero p{color:var(--muted);margin:0;line-height:1.6;max-width:540px}.count{font-size:11px;color:var(--muted);padding:8px 11px;border:1px solid var(--line);border-radius:99px;background:#fff}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.tile{--c:#526125;position:relative;overflow:hidden;text-align:center;text-decoration:none;color:var(--ink);background:#fff;border:1px solid #deded5;border-radius:2px;transition:background-color .16s,border-color .16s}.tile:hover{background:#f7f7f1;border-color:var(--c)}.tile-image{aspect-ratio:1.12;background:#fff;display:grid;place-items:center;padding:15px}.tile-image img{width:100%;height:100%;object-fit:contain}.tile-name{padding:12px 9px 16px;text-transform: uppercase;text-align:center;font-weight:700;font-size:18px;letter-spacing:.01em}.arrow{display:none}.intro{max-width:680px}.panel{max-width:980px;margin:20px auto;background:#fff;border:1px solid #e5e4dc;border-radius:10px;box-shadow:0 15px 55px #28302813;overflow:hidden}.panelhead{padding:23px 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:17px}.panelhead img{width:62px;height:62px;object-fit:contain}.panelhead h1{font-size:clamp(27px,4vw,42px);margin:0}.panelhead .eyebrow{margin-bottom:7px}.panelbody{padding:24px 26px}.form{display:flex;gap:10px;align-items:end;max-width:520px}.field{flex:1}.field label{display:block;text-transform:uppercase;font-size:10px;font-weight:850;letter-spacing:.1em;color:#657068;margin:0 0 7px}.input,select{width:100%;height:45px;padding:0 12px;border-radius:6px;border:1px solid #d6d9ce;background:#fff;font:inherit;color:var(--ink)}button{font:inherit;cursor:pointer}.btn{min-height:43px;padding:0 17px;border:0;border-radius:5px;background:var(--accent-dark);color:white;font-weight:800}.btn:hover{filter:brightness(1.1)}.btn.light{background:white;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#f9e9e2;color:#8c3926}.error{margin-top:12px;color:#963e2f;background:#fae9e3;padding:10px 12px;border-radius:5px;font-size:13px}.headrow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.daylabel{text-align:center;color:#828a80;font-size:10px;font-weight:800;text-transform:uppercase}.day{min-height:84px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px;text-align:left;font-size:12px}.day.today{border-color:var(--accent)}.day.selected{background:color-mix(in srgb,var(--accent) 10%,white)}.day.has{box-shadow:inset 0 -3px var(--accent)}.daynum{font-weight:850}.pill{display:block;margin-top:9px;color:var(--accent-dark);font-size:10px;font-weight:750}.slotlist{display:grid;gap:8px;margin-top:18px}.slot{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:6px;padding:12px 14px}.slot strong{font-size:13px}.slot small{display:block;color:var(--muted);margin-top:4px}.success{padding:18px;background:#edf5e5;border-radius:6px;margin:16px 0}.inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.adminsection{padding:20px 0;border-top:1px solid var(--line);margin-top:20px}.adminsection h2{font-size:17px;margin:0 0 7px}.adminsection p{font-size:12px;color:var(--muted);margin:0 0 14px}.codeitem{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.empty{padding:35px;text-align:center;color:var(--muted)}.back{border:0;background:transparent;color:var(--muted);padding:0;font-weight:700;margin-bottom:20px}.back:hover{color:var(--ink)}footer{text-align:center;color:#868d82;font-size:10px;padding:20px}.overlay{position:fixed;inset:0;background:#141b17a8;display:grid;place-items:center;padding:18px;z-index:20}.modal{width:min(520px,100%);margin:0}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#263c30;color:#fff;padding:12px 16px;border-radius:6px;z-index:30;font-size:13px;box-shadow:0 8px 30px #0003}.loading{padding:80px;text-align:center;color:var(--muted)}@media(max-width:980px){.grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:700px){.top{padding:4px 18px;height:104px}.brand-logo{width:125px;height:90px}.wrap{padding:27px 18px 55px}.grid{grid-template-columns:repeat(3,1fr);gap:10px}.hero{grid-template-columns:1fr}.count{justify-self:start}.panelhead,.panelbody{padding:18px}.panelhead img{width:50px;height:50px}.form{align-items:stretch;flex-direction:column}.form .btn{width:100%}.day{min-height:66px;padding:6px}.pill{font-size:9px}.topnote{display:none}}@media(max-width:440px){.grid{grid-template-columns:repeat(2,1fr)}.day{min-height:58px}.panel{margin:8px auto}.daylabel{font-size:8px}}
