:root{--ink: #263a36;--muted: #64736e;--cream: #f8f6ef;--paper: #fffefa;--sage: #dce8de;--sage-soft: #edf3ed;--sage-dark: #315d51;--sage-deep: #244c41;--line: #dce1d9;--warm: #f0e5d5;--error: #9c413b}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 DM Sans,sans-serif}button,input,textarea{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #87a99e66;outline-offset:2px}[hidden]{display:none!important}.shell{max-width:900px;margin:auto;padding:28px 22px 64px}header{display:flex;align-items:center;gap:11px;margin-bottom:54px}.mark{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;background:var(--sage);color:var(--sage-dark);font-size:15px}header h1{margin:0;font:600 19px Fraunces,serif}.eyebrow{margin:0 0 4px;color:var(--sage-dark);font-size:11px;font-weight:700;letter-spacing:.12em}.text-button{margin-left:auto;border:0;background:none;color:var(--sage-dark);font:600 14px DM Sans,sans-serif;cursor:pointer;text-decoration:none}.hero{max-width:650px;margin-bottom:32px}.visitor-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:center;gap:48px;margin-bottom:38px}.visitor-copy{margin-bottom:0}.larry-photo{position:relative;width:100%;max-width:315px;margin:0;justify-self:end}.larry-photo:before{position:absolute;z-index:-1;right:-12px;bottom:24px;width:72%;height:78%;border-radius:26px;background:var(--sage);content:"";transform:rotate(4deg)}.larry-photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;border:5px solid var(--paper);border-radius:24px;object-fit:cover;object-position:50% 48%;box-shadow:0 14px 34px #263a3626}.larry-photo figcaption{margin-top:9px;color:var(--muted);font-size:11px;font-weight:600;text-align:center}.hero h2,.admin-heading h2,dialog h2{margin:0 0 16px;font:600 clamp(34px,6vw,52px) / 1.08 Fraunces,serif;letter-spacing:-.035em}.hero p:not(.eyebrow),.admin-heading>p{margin:0;color:var(--muted);font-size:18px}.notice{display:flex;align-items:flex-start;gap:12px;margin-bottom:46px;padding:14px 16px;border-radius:12px;background:var(--warm);color:#655944}.notice p{margin:0;font-size:14px}.location-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:46px;padding:20px 22px}.location-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--sage);color:var(--sage-dark);font-size:22px}.location-copy h3{margin:0 0 2px;font:600 20px Fraunces,serif}.location-copy p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.location-copy .location-check-in{margin-top:5px;color:var(--ink);font-weight:600}.map-link{padding:9px 12px;border:1px solid #b9c8be;border-radius:9px;color:var(--sage-dark);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.map-link:hover{border-color:var(--sage-dark);background:var(--sage-soft)}.map-link:focus-visible{outline:3px solid #87a99e66;outline-offset:2px}.updates-section{margin-bottom:46px;padding:20px 22px 14px}.updates-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}.updates-heading h3{margin:0;font:600 22px Fraunces,serif}.updates-new-count,.new-update-badge{border-radius:999px;background:var(--sage-dark);color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.updates-new-count{padding:5px 9px}.care-updates{display:grid}.care-update{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.care-update:first-child{border-top:0}.care-update-copy{min-width:0}.care-update-meta{display:flex;align-items:center;gap:8px;color:var(--sage-dark);font-size:10px;font-weight:700;text-transform:uppercase}.new-update-badge{padding:2px 6px}.care-update h4{margin:3px 0 2px;font:600 18px Fraunces,serif}.care-update p{margin:0;color:var(--muted);font-size:13px;white-space:pre-line}.care-update-image{width:118px;height:84px;border-radius:10px;object-fit:cover}.updates-toggle{margin:4px 0 0;padding:7px 0}.schedule{margin:30px 0 46px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-heading h3,.guidance h3,.planner h3,.proposal-heading h3{margin:0;font:600 25px Fraunces,serif}.muted{color:var(--muted)}.section-heading .muted{margin:0;font-size:13px}.slots{display:grid;gap:11px}.card{border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 3px 12px #394a3710}.slot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px}.published-schedule .slot{transition:border-color .16s ease,box-shadow .16s ease}.published-schedule .slot.booked{border-color:#86a99d;border-left:5px solid var(--sage-dark);background:linear-gradient(100deg,#e9f2eb 0%,var(--paper) 72%);box-shadow:0 5px 16px #315d5120}.slot h3{margin:0;font-size:18px}.slot-date{margin:0 0 1px;color:var(--sage-dark);font-size:12px;font-weight:700}.slot-note{margin:3px 0 0;font-size:13px}.reserved-by{margin:5px 0 0;font-size:13px;font-weight:600}.reservation-status{display:inline-flex;align-items:center;gap:5px;margin:9px 0 0;padding:3px 8px;border-radius:999px;background:var(--sage-dark);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;line-height:1.4;text-transform:uppercase}.reservation-status span{font-size:10px}.published-summary{margin:0;font-size:13px;font-weight:600}.reservation-note{max-width:560px;margin:3px 0 0;color:var(--muted);font-size:12px}.reservation-note strong{color:var(--ink)}.primary,.secondary{padding:10px 15px;border-radius:8px;font:600 14px DM Sans,sans-serif;cursor:pointer}.primary{border:1px solid var(--sage-dark);background:var(--sage-dark);color:#fff}.primary:hover{background:var(--sage-deep)}.primary:disabled{cursor:not-allowed;opacity:.55}.secondary{border:1px solid #aebbb3;background:transparent;color:var(--ink)}.guidance{padding-top:28px;border-top:1px solid var(--line)}.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;color:var(--muted);font-size:14px}.guidance p{margin:8px 0}.guidance strong{display:block;color:var(--ink)}.empty{padding:24px 0;color:var(--muted);text-align:center}.admin-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:end;gap:42px;margin-bottom:30px}.admin-heading h2{margin:0;font-size:clamp(38px,6vw,50px)}.admin-heading>p{padding-bottom:5px;font-size:15px}.planner{overflow:hidden;border-radius:20px;box-shadow:0 12px 36px #394a3712}.planner-topbar{display:flex;align-items:center;gap:12px;padding:19px 22px;border-bottom:1px solid var(--line);background:#fbfcf8}.planner-topbar h3{font-size:18px}.planner-topbar p{margin:-2px 0 0;color:var(--muted);font-size:11px}.ai-mark{display:flex;align-items:end;justify-content:center;gap:3px;width:38px;height:38px;padding:10px;border-radius:12px;background:var(--sage-dark)}.ai-mark span{width:4px;border-radius:4px;background:#fff}.ai-mark span:nth-child(1){height:8px}.ai-mark span:nth-child(2){height:16px}.ai-mark span:nth-child(3){height:11px}.ai-status{margin-left:auto;padding:5px 9px;border-radius:999px;background:#eef0ed;color:var(--muted);font-size:11px;font-weight:700}.ai-status.ready{background:#dfece2;color:var(--sage-dark)}.ai-status.ready:before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#4e8c6f;vertical-align:1px}.ai-status.needs-key{background:#f5eadc;color:#806245}.conversation{display:flex;min-height:260px;max-height:520px;flex-direction:column;gap:16px;overflow-y:auto;padding:28px 24px;background:radial-gradient(circle at 8% 15%,#eef4ee 0,transparent 28%),var(--paper)}.message{width:fit-content;max-width:min(580px,88%);padding:14px 16px;border-radius:15px}.message p{margin:0;white-space:pre-line}.planner-help{display:grid;gap:7px;margin:11px 0 9px;padding:0;list-style:none}.planner-help li{padding:7px 9px;border-radius:8px;background:var(--sage-soft)}.planner-help strong,.planner-help span{display:block}.planner-help strong{color:var(--sage-dark);font-size:12px}.planner-help span{margin-top:1px;color:var(--muted);font-size:12px}.message .planner-help-note{color:var(--muted);font-size:11px}.message-label{margin-bottom:4px;color:var(--sage-dark);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.assistant-message{align-self:flex-start;border:1px solid var(--line);border-bottom-left-radius:5px;background:#fff}.user-message{align-self:flex-end;border-bottom-right-radius:5px;background:var(--sage-dark);color:#fff}.user-message .message-label{color:#d8e9e2}.message-attachment{display:block;margin-top:9px;font-size:12px;font-weight:600;opacity:.85}.typing-message{color:var(--muted);font-size:14px}.proposal-panel{margin:0 24px 24px;padding:20px;border:1px solid #c9dacd;border-radius:16px;background:var(--sage-soft)}.history-proposal-panel,.history-edit-proposal-panel{border-color:#dfcfba;background:#f8f0e5}.slot-edit-proposal-panel{border-color:#b9d0c4;background:#e9f2eb}.interest-proposal-panel{border-color:#d8cfdb;background:#f5f0f6}.food-proposal-panel{border-color:#dfd2bb;background:#f8f2e8}.update-proposal-panel{border-color:#c8d7df;background:#edf3f5}.proposal-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:14px}.proposal-heading h3{font-size:21px}.clear-proposal{margin:0}.proposed-slots{display:grid;gap:8px}.proposed-slot{display:grid;grid-template-columns:auto minmax(150px,.75fr) minmax(170px,1fr);align-items:center;gap:12px;min-height:67px;padding:11px 13px;border:1px solid #d5e0d7;border-radius:11px;background:#fff;cursor:pointer}.proposal-check{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.check-mark{display:grid;width:23px;height:23px;place-items:center;border:1px solid #a9bcb0;border-radius:6px;background:#fff;color:transparent;font-size:13px}.proposal-check:checked+.check-mark{border-color:var(--sage-dark);background:var(--sage-dark);color:#fff}.proposal-check:focus-visible+.check-mark{outline:3px solid #87a99e66;outline-offset:2px}.proposed-slot-time{display:flex;flex-direction:column;font-size:13px}.proposed-slot-time strong{color:var(--sage-dark);font-size:12px}.proposed-slot-note{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--muted);font-size:12px;font-weight:500}.proposed-visitor-note{color:var(--ink);font-size:12px}.history-edit-note{display:flex;min-width:0;flex-direction:column;gap:2px;color:var(--muted);font-size:11px}.history-edit-note strong{color:var(--ink);font-size:13px}.history-edit-note>span{margin-top:2px}.proposed-updates{display:grid;gap:8px}.proposed-update{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #d5e0e3;border-radius:11px;background:#fff;cursor:pointer}.proposed-update-copy{display:flex;min-width:0;flex-direction:column;font-size:13px;font-weight:400}.proposed-update-copy strong{color:var(--ink);font:600 17px Fraunces,serif}.proposed-update-copy span{color:var(--muted)}.proposed-update-copy small{margin-top:5px;color:var(--sage-dark);font-size:10px}.proposed-update img{width:88px;height:68px;border-radius:8px;object-fit:cover}.proposal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.proposal-actions p{margin:0;font-size:12px}.composer{padding:20px 24px 24px;border-top:1px solid var(--line);background:#fbfcf8}.composer textarea{width:100%;min-height:92px;margin:0;padding:13px 14px;resize:vertical;border:1px solid #cbd5cc;border-radius:11px;background:#fff;color:var(--ink);font-size:15px}.composer textarea::placeholder{color:#84908c}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px}.attach-button{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--sage-dark);font-size:13px;font-weight:700;cursor:pointer}.attach-button span{font-size:18px;font-weight:400}#scheduleImage{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.send-button{display:inline-flex;align-items:center;gap:18px;min-width:150px;justify-content:space-between}.attachment-preview{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 9px;border:1px solid #d2dcd3;border-radius:10px;background:#fff}.attachment-preview img{width:42px;height:42px;object-fit:cover;border-radius:7px}.attachment-preview div{display:flex;min-width:0;flex-direction:column}.attachment-preview strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.attachment-preview span{color:var(--muted);font-size:11px}.attachment-preview button{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.composer-message{min-height:0;margin:7px 0 0}.composer-message:empty{display:none}.composer-message[data-kind=error]{color:var(--error)}.composer-message[data-kind=success]{color:var(--sage-dark)}.published-schedule,.admin-updates-section{margin-top:42px}.admin-updates{display:grid;gap:10px}.admin-updates .care-update{grid-template-columns:minmax(0,1fr) auto auto;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 3px 12px #394a3710}.visit-interest-section,.food-history-section,.visit-history-section{margin-top:48px;padding-top:34px;border-top:1px solid var(--line)}.food-history-section,.visit-history-section{margin-top:34px}.history-intro{max-width:620px;margin:-3px 0 18px;color:var(--muted);font-size:14px}.visit-history{display:grid;gap:7px}.history-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 14px}.history-marker{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--sage-dark);font-size:12px}.history-marker.phone{background:#edf1f7;color:#3d5872;font-size:15px}.history-entry-copy{min-width:0}.history-date{margin:0;color:var(--sage-dark);font-size:11px;font-weight:700;text-transform:uppercase}.history-title-row{display:flex;align-items:center;gap:8px}.history-entry h4{margin:0;font-size:15px}.history-source,.history-note{margin:0;color:var(--muted);font-size:11px}.history-source{padding:1px 6px;border-radius:999px;background:var(--sage-soft);white-space:nowrap}.history-note{margin-top:2px;color:var(--ink)}.history-remove{padding:6px 8px;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.history-remove:hover{color:var(--error)}.history-toggle{display:block;margin:12px auto 0}.visit-interest{display:grid;gap:7px}.interest-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 14px}.interest-marker{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#f0e8f1;color:#725c78;font-size:13px}.interest-entry-copy{min-width:0}.interest-entry h4{margin:0;font-size:15px}.interest-contact,.interest-note{margin:1px 0 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.interest-note{color:var(--ink)}.food-history{display:grid;gap:7px}.food-entry{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 14px}.food-marker{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#f6eee1;color:#806544;font-size:14px}.food-entry-copy{min-width:0}.food-date{margin:0;color:var(--sage-dark);font-size:11px;font-weight:700;text-transform:uppercase}.food-title-row{display:flex;align-items:center;gap:8px;min-width:0}.food-entry h4{margin:0;font-size:15px}.food-reaction{flex:none;padding:1px 6px;border-radius:999px;background:#eef0ed;color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap}.food-reaction.liked{background:var(--sage-soft);color:var(--sage-dark)}.food-reaction.disliked{background:#f5e8e4;color:#885548}.food-reaction.mixed{background:#f5eddc;color:#7b653a}.food-note{margin:2px 0 0;color:var(--ink);font-size:11px}label{display:block;color:var(--ink);font-size:13px;font-weight:600}input,select,textarea{width:100%;margin-top:5px;padding:9px;border:1px solid #cbd5cc;border-radius:7px;background:#fff;color:var(--ink);font:16px DM Sans,sans-serif}textarea{resize:vertical}dialog{width:min(540px,calc(100% - 32px));padding:0;border:0;border-radius:20px;box-shadow:0 20px 60px #10251d55}dialog::backdrop{background:#19352b66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog form{position:relative;padding:42px}dialog h2{margin-bottom:10px;font-size:36px}dialog label{margin-top:24px}dialog label+label{margin-top:15px}.booking-slot-note{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--sage-dark);border-radius:0 7px 7px 0;background:var(--sage-soft);color:var(--ink);font-size:13px}.field-help{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}dialog .primary{margin-top:18px}.access-dialog{width:min(560px,calc(100% - 32px))}.access-dialog form{padding:44px 42px 38px}.access-dialog .muted{max-width:420px;margin:0;font-size:16px;line-height:1.6}.access-dialog input{padding:12px}.close{position:absolute;top:18px;right:20px;border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}.fine-print{margin:16px 0;color:var(--muted);font-size:12px}.form-message{min-height:22px;margin:10px 0 0;color:var(--sage-dark);font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.visitor-intro{grid-template-columns:1fr;gap:28px}.larry-photo{width:min(100%,370px);max-width:none;justify-self:center}.admin-heading{grid-template-columns:1fr;gap:12px}.admin-heading>p{max-width:580px}.proposed-slot{grid-template-columns:auto 1fr}.proposed-slot-note,.history-edit-note{grid-column:2}}@media(max-width:600px){.shell{padding:20px 16px 44px}header{margin-bottom:38px}.hero h2{font-size:38px}.visitor-intro{margin-bottom:32px}.larry-photo img{aspect-ratio:5 / 6}.larry-photo:before{right:0;transform:rotate(2deg)}.guidance-grid{grid-template-columns:1fr}.slot{align-items:flex-start}.slot .primary,.slot .secondary{flex:none}.notice{margin-bottom:32px}.location-card{grid-template-columns:auto minmax(0,1fr);margin-bottom:36px;padding:17px}.updates-section{margin-bottom:36px;padding:17px}.care-update.has-image{grid-template-columns:1fr}.care-update-image{width:100%;height:auto;max-height:220px;aspect-ratio:16 / 9}.map-link{grid-column:1 / -1;text-align:center}.admin-heading h2{font-size:38px}.planner-topbar{padding:15px}.conversation{min-height:230px;padding:20px 15px}.message{max-width:94%}.proposal-panel{margin:0 14px 16px;padding:15px}.proposal-actions{align-items:stretch;flex-direction:column}.composer{padding:16px 14px 18px}.composer-actions{align-items:stretch;flex-direction:column}.attach-button{min-height:42px}.send-button{width:100%}.history-entry{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px}.proposed-update{grid-template-columns:auto 1fr}.proposed-update img{grid-column:2;width:100%;height:auto;max-height:180px;aspect-ratio:16 / 9}.admin-updates .care-update{grid-template-columns:1fr}.admin-updates .update-remove{justify-self:start}.history-entry .history-remove{grid-column:auto;justify-self:end;padding:5px}.food-entry .food-remove{justify-self:end;padding:5px}dialog form,.access-dialog form{padding:38px 24px 28px}dialog h2{font-size:32px}.close{top:11px;right:14px}}
