.visit-owner-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:20px 0 28px;padding:28px;border:1px solid #4d6041;border-radius:18px;background:#202d25;color:#f5f5ec}.visit-owner-intro h2{font-size:23px;margin:7px 0 10px}.visit-owner-intro p{max-width:650px;font-size:14px;line-height:1.75;color:#c0cabb;margin:0}.visit-eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;color:#6a785c}.visit-owner-intro .visit-eyebrow{color:#c7ee8a}.visit-button{flex-shrink:0;background:#d4f2a6!important;color:#22331d!important;border:0!important;border-radius:9px!important;padding:14px 18px!important;font-weight:750}.visit-summary{margin:12px 0;display:flex;align-items:flex-start;flex-direction:column;gap:6px;border-left:2px solid #829b68;padding:1px 0 1px 12px;font-size:12px;color:#b5c4aa}.visit-summary strong{font-size:14px;color:inherit}.visit-summary.needs-action{border-color:#d4f2a6;color:#d4f2a6}.visit-link{padding:0!important;color:inherit!important;font-size:12px!important;text-align:left;background:none!important;border:none!important;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.visit-dialog{box-sizing:border-box;width:min(680px,calc(100vw - 28px));max-width:680px;max-height:calc(100dvh - 36px);padding:0;border:1px solid #d7dece;border-radius:22px;background:#f8f9f2;color:#202b22;box-shadow:0 30px 100px #0006;margin:auto;overflow:auto;font-family:inherit;overscroll-behavior:contain;color-scheme:light}.visit-dialog::backdrop{background:#0e1719aa;backdrop-filter:blur(7px)}.visit-dialog *{box-sizing:border-box}.visit-dialog-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f8f9f2f5;backdrop-filter:blur(10px);padding:25px 32px 22px;border-bottom:1px solid #dce1d4;z-index:2}.visit-dialog-head h2{font-size:26px;letter-spacing:-.04em;line-height:1.3;margin:7px 0 0;color:#202b22}.visit-dialog button{font:inherit;cursor:pointer;min-height:44px;transition:background .15s}.visit-dialog button:disabled{cursor:default;opacity:.6}.visit-dialog button:focus-visible,.visit-dialog input:focus-visible,.visit-dialog textarea:focus-visible,.visit-dialog summary:focus-visible{outline:2px solid #69894d;outline-offset:3px}.visit-close{width:40px;height:44px;flex-shrink:0;border:0;background:transparent;font-size:29px!important;color:#344431}.visit-dialog-body{padding:22px 32px 30px}.visit-context{font-size:13px;color:#677362;margin:0 0 20px;overflow-wrap:anywhere}.visit-dialog h3{font-size:17px;line-height:1.6;letter-spacing:-.03em;margin:0 0 12px;color:#263226}.visit-dialog p{line-height:1.75;overflow-wrap:anywhere}.visit-intro{font-size:16px;margin-bottom:22px}.visit-timeline{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#8b9481;margin:20px 0}.visit-timeline span{padding-bottom:12px;border-bottom:2px solid #e3e7dc;flex:1;white-space:nowrap}.visit-timeline .done,.visit-timeline .current{color:#395d2e;border-color:#7b9b57}.visit-confirmed{border-radius:15px;background:#eef1e6;padding:24px;margin-bottom:24px}.visit-confirmed.has-date{background:#243c2d;color:#fff}.visit-confirmed h3{font-size:24px;margin:10px 0 6px;line-height:1.45}.visit-confirmed p{font-size:13px;margin:0;color:#616f58}.visit-confirmed.has-date h3{color:#f3f7ea}.visit-confirmed.has-date p,.visit-confirmed.has-date .visit-eyebrow{color:#c3d7b0}.visit-pending{padding:22px;border:1px solid #a6bd82;background:#f0f5e5;border-radius:14px;margin-bottom:28px}.visit-pill{display:inline-block;font-size:11px;font-weight:700;padding:5px 9px;background:#d5e9b3;border-radius:5px;margin-bottom:10px}.visit-pending h3{font-size:21px;margin:0}.visit-pending>p{font-size:14px}.visit-note{white-space:pre-wrap;border-left:2px solid #bdcdaa;padding:5px 0 5px 12px;color:#46553d;font-size:14px}.visit-muted{font-size:12px!important;color:#66735e!important;line-height:1.75!important}.visit-preferences{margin:26px 0}.visit-slots{display:flex;flex-wrap:wrap;gap:8px}.visit-slot{background:#fff;border:1px solid #d7dfcb;border-radius:8px;padding:9px 12px;font-size:12px!important;color:#455638;display:flex;gap:10px;align-items:center}.visit-slot:hover:not(:disabled){background:#eaf1dd}.visit-dialog form{margin:0}.visit-date-time{display:grid;grid-template-columns:1fr 1fr;gap:14px}.visit-dialog label{display:block;font-size:13px;font-weight:650;color:#3c4b32;min-width:0}.visit-dialog input,.visit-dialog textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #cbd4be;border-radius:8px;padding:12px;background:#fff;color:#23301f;font-family:inherit;font-size:16px;line-height:1.5;margin-top:8px;box-shadow:none}.visit-dialog input{height:48px}.visit-dialog textarea{resize:vertical;min-height:105px;line-height:1.75}.visit-field{margin:20px 0}.visit-field span{font-size:11px;font-weight:400;color:#7a866e;margin-left:5px}.visit-primary,.visit-secondary{border-radius:8px;padding:13px 18px;font-weight:700!important;width:100%;border:1px solid #ccd7bd}.visit-primary{background:#2b422f;color:#f6faed;border-color:#2b422f}.visit-primary:hover{background:#3d5736}.visit-secondary{background:transparent;color:#3d522f}.visit-decline{margin-top:15px}.visit-dialog summary{cursor:pointer;font-size:13px;padding:10px 0;color:#46563a}.visit-deadline{padding:19px 0;margin-top:26px;border-top:1px solid #d9dfcf}.visit-deadline strong{font-size:13px}.visit-deadline p{font-size:12px;color:#66725b;margin:8px 0 0}.visit-history{border-top:1px solid #d9dfcf}.visit-history ol{list-style:none;padding:0}.visit-history li{margin:0 0 15px;padding:0 0 15px;border-bottom:1px solid #e2e6dc}.visit-history li div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.visit-history li span{color:#748167;font-size:11px}.visit-history li p{font-size:13px;margin:7px 0 0}.visit-refresh{display:block;margin:8px auto 0;border:0;background:none;color:#657657;font-size:12px!important}.visit-feedback{font-size:13px;color:#365a27;line-height:1.7;margin:12px 0 0}.visit-feedback:empty{display:none}.visit-feedback.error{color:#a43d2a;background:#f9ebe5;padding:12px;border-radius:8px}.visit-window-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 32px;gap:10px;align-items:end;margin-bottom:18px}.visit-remove{background:none;color:#8c584b;border:0;font-size:22px!important;padding:0}.visit-window-row input{padding:10px 7px}
@media(max-width:600px){.visit-owner-intro{padding:22px;align-items:stretch;flex-direction:column;gap:18px}.visit-owner-intro h2{font-size:21px}.visit-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:17px}.visit-dialog-head{padding:20px}.visit-dialog-head h2{font-size:24px}.visit-dialog-body{padding:18px 20px 24px}.visit-eyebrow{font-size:9px;letter-spacing:.12em}.visit-confirmed,.visit-pending{padding:20px 17px}.visit-confirmed h3{font-size:22px}.visit-date-time{gap:10px}.visit-window-row{grid-template-columns:1fr 1fr 32px;gap:8px;padding:14px;background:#eef1e7;border-radius:12px}.visit-window-row label:first-child{grid-column:1 / 3}.visit-window-row .visit-remove{grid-column:3;grid-row:1}.visit-window-row label:nth-child(2){grid-column:1}.visit-window-row label:nth-child(3){grid-column:2}.visit-window-row input{font-size:16px}.visit-history li div{flex-direction:column;gap:4px}.visit-timeline{font-size:10px;gap:8px}}
@media(prefers-reduced-motion:reduce){.visit-dialog button{transition:none}}
.visit-dialog h2,.visit-dialog h3{word-break:keep-all;overflow-wrap:break-word}
html:has(.visit-dialog[open]){overflow:hidden}
.visit-dialog .visit-close{padding:0;line-height:1;display:grid;place-items:center;border-radius:8px}
@media(max-width:420px){.visit-window-row{grid-template-columns:minmax(0,1fr) 32px}.visit-window-row label:first-child{grid-column:1}.visit-window-row .visit-remove{grid-column:2}.visit-window-row label:nth-child(2),.visit-window-row label:nth-child(3){grid-column:1 / -1;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px}.visit-window-row input[type=time]{margin-top:0}}
@media(max-width:360px){.visit-date-time{grid-template-columns:1fr}.visit-dialog-head h2{font-size:22px}}
/* Product pages have a global button width:100%; keep the intro text and CTA independent. */
.visit-owner-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px}
.visit-owner-intro>div{min-width:0}.visit-owner-intro h2{display:block;line-height:1.45;word-break:keep-all;overflow-wrap:break-word}
.visit-owner-intro .visit-button{width:auto;min-width:0;max-width:100%;margin:0;white-space:nowrap;justify-self:end}
@media(max-width:1000px){.visit-owner-intro{grid-template-columns:minmax(0,1fr);gap:18px}.visit-owner-intro .visit-button{justify-self:start}}
@media(max-width:600px){.visit-owner-intro .visit-button{justify-self:stretch;width:100%;white-space:normal}}
