:root{--fog:#dce3df;--fog-deep:#c8d2cd;--paper:#f2f5f2;--spruce:#16241f;--ridge:#2c463b;--lichen:#6f856f;--cardinal:#b22b29;--rule:#16241f26;--font-display:"Bitter", "Bookman Old Style", Georgia, serif;--font-body:"Karla", "Helvetica Neue", Arial, sans-serif;--font-mono:"Space Mono", "Courier New", monospace;--bg:var(--fog);--surface:var(--paper);--border:var(--rule);--text:var(--spruce);--text-dim:var(--ridge);--accent:var(--ridge);--focus:var(--cardinal);--danger:var(--cardinal);--chip-bg:var(--fog-deep);--marker-onsite:var(--lichen);--today-bg:#ece1de;--today-border:var(--cardinal);--tap-min:48px;--radius:2px;--gap:12px;--pad:16px;--shadow:none}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-text-size-adjust:100%;margin:0;font-size:17px;line-height:1.45}.app{max-width:34rem;padding:max(env(safe-area-inset-top), 12px) var(--pad) calc(env(safe-area-inset-bottom) + 32px);margin:0 auto}.head{justify-content:space-between;align-items:baseline;gap:var(--gap);padding-block:12px 16px;display:flex}.head h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.35rem;font-weight:650}.staleness{color:var(--text-dim);padding:6px 0 10px;font-size:.82rem}.staleness[data-state=error]{color:var(--danger)}.topbar{align-items:center;gap:8px;padding:2px 0 10px;display:flex}.topbar-mark{flex:none;width:28px;height:28px}.topbar-name{font-family:var(--font-display);letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0;margin:0;font-size:.98rem;font-weight:800;line-height:1.2}.filters{z-index:5;background:var(--bg);margin-inline:calc(var(--pad) * -1);padding:6px var(--pad) 10px;border-bottom:1px solid var(--border);position:sticky;top:0}.views{gap:6px;margin-bottom:8px;display:flex}.viewbtn{min-width:0;min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1 1 0;font-size:.82rem;font-weight:700}.viewbtn[aria-pressed=true]{background:var(--text);border-color:var(--text);color:#fff}.viewbtn:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;display:flex;overflow:hidden}.tab{min-width:0;min-height:52px;font:inherit;white-space:nowrap;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:1 1 0;padding:0 2px;font-size:1rem;font-weight:650}.tab+.tab{border-left:1px solid var(--border)}.tab[aria-pressed=true]{background:var(--accent);color:#fff}.tab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.segmented{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.seg{min-width:0;min-height:var(--tap-min);font:inherit;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:1 1 0;padding:0 4px;font-size:.95rem;font-weight:650}.seg+.seg{border-left:1px solid var(--border)}.seg[aria-pressed=true]{background:var(--accent);color:#fff}.seg:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.search{margin-top:8px;position:relative}.search input{width:100%;min-height:var(--tap-min);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);appearance:none;padding:0 52px 0 14px;font-size:1rem}.search input::-webkit-search-decoration{appearance:none}.search input::-webkit-search-cancel-button{appearance:none}.search input::-webkit-search-results-button{appearance:none}.search input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.clear{width:var(--tap-min);height:100%;min-height:var(--tap-min);color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;font-size:1.4rem;line-height:1;position:absolute;top:0;right:0}.clear:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.summary{font-family:var(--font-mono);color:var(--text-dim);justify-content:space-between;align-items:center;gap:10px;margin:0;padding:2px 0;font-size:.82rem;display:flex}.summary-text{min-width:0}.count,.asof{white-space:nowrap}.refresh{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;flex:none;padding:0 12px;font-size:.82rem;font-weight:700}.refresh:disabled{opacity:.55;cursor:default}.refresh:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.working{color:var(--text-dim);align-items:center;gap:10px;margin:6px 0 0;font-size:.85rem;display:flex}.working-bar{background:var(--chip-bg);border-radius:999px;flex:none;width:48px;height:3px;position:relative;overflow:hidden}.working-bar:after{content:"";background:var(--accent);border-radius:999px;width:40%;position:absolute;inset:0 auto 0 0}@media (prefers-reduced-motion:no-preference){.working-bar:after{animation:1.1s ease-in-out infinite sweep}@keyframes sweep{0%{transform:translate(-100%)}to{transform:translate(250%)}}}.alert{border-left:4px solid var(--danger);background:var(--today-bg);border-radius:var(--radius);color:var(--text);margin:8px 0 0;padding:10px 12px;font-size:.9rem;line-height:1.4}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cal{margin:10px 0 2px}.cal-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-month{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.cal-step{width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;flex:none;font-size:1.3rem;line-height:1}.cal-step:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.cal-grid{border:1px solid var(--border);border-radius:var(--radius);background:var(--border);grid-template-columns:repeat(7,1fr);gap:1px;margin-top:8px;display:grid;overflow:hidden}.cal-dow{background:var(--bg);text-align:center;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-dim);padding:6px 0;font-size:.68rem}.cal-pad{background:var(--bg)}.cal-day{background:var(--surface);min-height:46px;font:inherit;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 0;display:flex}.cal-num{font-variant-numeric:tabular-nums;font-size:.8rem;line-height:1}.cal-count{font-family:var(--font-mono);min-height:1.1em;font-size:.95rem;font-weight:700;line-height:1.1}.cal-day[data-empty=true] .cal-num{color:var(--text-dim);opacity:.6}.cal-day[data-today=true] .cal-num{color:var(--danger);font-weight:700}.cal-day[data-selected=true]{background:var(--accent);color:#fff}.cal-day[data-selected=true] .cal-num{color:#fff;opacity:1}.cal-day:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:1;position:relative}.list{gap:var(--gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card[data-today=true]{background:var(--today-bg);border-color:var(--today-border);box-shadow:none}.card[data-onsite=true]{border-left:4px solid var(--marker-onsite)}.card[data-today=true]{border-left:4px solid var(--today-border)}.row{width:100%;min-height:var(--tap-min);padding:14px var(--pad);font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;display:block}.row:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.row-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.who{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.guest{letter-spacing:-.005em;overflow-wrap:anywhere;min-width:0;font-size:1.06rem;font-weight:650}.at{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.85rem}.guest .unnamed{color:var(--text-dim);font-style:italic;font-weight:500}.flags{flex:none;align-items:center;gap:6px;display:flex}.flag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:3px 8px;font-size:.72rem;font-weight:700}.flag[data-kind=today]{background:var(--today-border);color:#fff}.flag[data-kind=onsite],.flag[data-kind=leaving],.flag[data-kind=later]{background:var(--chip-bg);color:var(--text-dim);border:1px solid var(--border)}.flag[data-kind=turnover]{background:var(--accent);color:#fff}.flag[data-kind=tomorrow]{background:var(--surface);color:var(--text);border:1px solid var(--text-dim)}.row-dates{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:6px;font-size:.9rem}.nights{color:var(--text-dim)}.row-static{min-height:var(--tap-min);padding:14px var(--pad);display:block}.site-lead{letter-spacing:-.005em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;font-size:1.08rem;font-weight:700}.site-park{color:var(--text-dim);font-weight:500}.dim{color:var(--text-dim)}.details{padding:0 var(--pad) 16px;border-top:1px solid var(--border);flex-direction:column;gap:14px;margin-top:2px;padding-top:14px;display:flex}.call{min-height:var(--tap-min);border-radius:var(--radius);background:var(--accent);color:#fff;letter-spacing:.01em;justify-content:center;align-items:center;font-size:1.05rem;font-weight:650;text-decoration:none;display:flex}.call:active{filter:brightness(.92)}.nophone{color:var(--text-dim);font-size:.95rem;font-style:italic}.facts{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:.95rem;display:grid}.facts dt{color:var(--text-dim)}.facts dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px var(--pad);text-align:center;color:var(--text-dim)}.signin{padding-top:8vh}.brand{margin:0 0 20px}.brand-mark{width:64px;height:64px;margin:0 0 12px;display:block}.brand-name{font-family:var(--font-display);letter-spacing:-.015em;overflow-wrap:break-word;margin:0;font-size:1.5rem;font-weight:800;line-height:1.15}.signin h2{font-family:var(--font-display);margin:0 0 8px;font-size:1.15rem;font-weight:600}.signin p{color:var(--text-dim);margin:0 0 20px}.signin label{color:var(--text-dim);margin-bottom:6px;font-size:.9rem;display:block}.signin input{width:100%;min-height:var(--tap-min);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 14px;font-size:1.05rem}.signin input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.signin button{width:100%;min-height:var(--tap-min);font:inherit;color:#fff;background:var(--accent);border-radius:var(--radius);cursor:pointer;border:0;margin-top:12px;font-size:1.05rem;font-weight:650}.signin button[disabled]{opacity:.55}.signout{text-align:center;margin-top:28px}.signout button{font:inherit;color:var(--text-dim);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:.9rem;text-decoration:underline}@media (prefers-reduced-motion:no-preference){.details{animation:.14s ease-out reveal}@keyframes reveal{0%{opacity:0;transform:translateY(-2px)}}}
