.viewing-prompt{display:flex;align-items:center;gap:18px;padding:22px 24px;margin:0 0 26px;border:1px solid #c9d1c4;border-radius:14px;background:#f2f5ed}.viewing-prompt[hidden]{display:none}.viewing-prompt h2{font:600 21px var(--sans,Arial,sans-serif);margin:0 0 4px}.viewing-prompt p{margin:0;color:#596358;font-size:14px}.viewing-prompt-icon{font-size:28px;color:#53624c}.viewing-prompt .button{margin-left:auto;white-space:nowrap;font-size:13px;min-height:44px}.viewing-dialog{width:min(660px,calc(100% - 24px));max-height:90dvh;padding:28px;border:1px solid #d8dcce;border-radius:20px;background:#fcfcf8;color:#25332b;box-shadow:0 20px 80px #13241930;overflow:auto}.viewing-dialog::backdrop{background:#17271cd9;backdrop-filter:blur(4px)}.viewing-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.viewing-dialog-heading h2{font:600 26px var(--sans,Arial,sans-serif);margin:0}.viewing-dialog-heading .eyebrow{font-size:10px;margin:0 0 8px}.viewing-dialog-heading>button{border:1px solid #d4dbce;background:transparent;border-radius:50%;width:36px;height:36px;flex:none;font-size:24px;cursor:pointer}.viewing-intro{font-size:14px;color:#596358;margin:12px 0 22px}.viewing-calendar{background:white;border:1px solid #e0e4d8;border-radius:12px;padding:18px;margin-bottom:20px}.viewing-month-bar{display:flex;justify-content:space-between;align-items:center;gap:12px}.viewing-month-bar h3{font:600 17px var(--sans,Arial,sans-serif);margin:0}.viewing-month-bar button{border:1px solid #dfe4d7;background:#f7f8f4;border-radius:50%;width:34px;height:34px;font-size:24px;cursor:pointer}.viewing-weekdays,.viewing-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:6px}.viewing-weekdays{font-size:11px;color:#7a8476;padding:16px 0 8px}.viewing-days button{border:1px solid #d9e2ce;background:#edf3e6;color:#344b2f;border-radius:8px;min-height:42px;font:600 14px var(--sans,Arial,sans-serif);cursor:pointer}.viewing-days button:disabled{border-color:transparent;background:transparent;color:#b0b5aa;cursor:default}.viewing-days button[aria-pressed=true],.viewing-times button[aria-pressed=true]{color:white;background:#365539;border-color:#365539}.viewing-times{display:flex;flex-wrap:wrap;gap:8px}.viewing-times button{border:1px solid #cdd8c4;border-radius:8px;padding:10px 14px;font:500 13px var(--sans,Arial,sans-serif);background:white;cursor:pointer}.viewing-selected{font-size:13px;font-weight:600}.viewing-calendar small{font-size:11px;color:#6c7567}.viewing-contact{display:grid;grid-template-columns:1fr 1fr;gap:14px}.viewing-contact label:last-child{grid-column:1/-1}.viewing-dialog label,.admin-viewings label{display:flex;flex-direction:column;gap:7px;font:500 13px var(--sans,Arial,sans-serif)}.viewing-dialog input:not([type=checkbox]),.viewing-dialog textarea,.viewing-dialog select,.admin-viewings input:not([type=checkbox]):not([type=hidden]),.admin-viewings textarea,.admin-viewings select{font:400 15px var(--sans,Arial,sans-serif);padding:11px;border:1px solid #cdd5c4;border-radius:7px;min-width:0;width:100%;background:white;color:#24352a;box-sizing:border-box}.viewing-dialog .viewing-consent,.admin-viewings .viewing-consent{flex-direction:row;align-items:center;gap:10px;margin:18px 0;line-height:1.5;cursor:pointer}.viewing-consent input{width:22px;height:22px;flex:none;accent-color:#365539;cursor:pointer}.viewing-footer{display:flex;justify-content:space-between;gap:14px;align-items:center}.viewing-footer small{font-size:11px;max-width:220px;color:#687462}.viewing-dialog .button{font-size:13px;min-height:44px}.viewing-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.viewing-dialog form[hidden],.viewing-dialog [hidden]{display:none!important}#viewing-status,#viewings-admin-status,#viewings-detail-status{font-size:13px;line-height:1.5;min-height:20px}#viewing-success{padding:24px 0}#viewing-reference{font-size:11px}.viewing-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.viewing-admin-heading h2{margin:0 0 8px}.viewing-admin-heading h3{margin:0}.viewing-admin-heading p{margin:0}.viewing-admin-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;margin-bottom:26px}.viewing-admin-box{border:1px solid #d7ddcf;border-radius:14px;padding:26px;background:#f5f7f0}.viewing-admin-manual{background:#edf1e8}.viewing-admin-requests{background:#fff}.viewing-admin-box h3{font:600 20px var(--sans,Arial,sans-serif);margin:0 0 20px}.viewing-admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.viewing-span{grid-column:1/-1}.viewing-admin-manual label,.viewing-admin-detail form>label{margin-bottom:15px}.viewing-admin-actions{display:flex;gap:10px;flex-wrap:wrap}.viewing-admin-note{font-size:12px;color:#6e7965;margin:20px 0 30px}.viewing-slots-list{max-height:380px;overflow:auto}.viewing-slot-row{padding:14px 0;border-top:1px solid #dce3d3;display:grid;grid-template-columns:1fr auto;gap:5px 15px;align-items:center}.viewing-slot-row strong{font-size:13px}.viewing-slot-row small{font-size:12px;color:#687562;grid-column:1}.viewing-slot-row .button{grid-column:2;grid-row:1/3;padding:8px 13px;min-height:38px;font-size:12px}.viewing-appointment-row{display:flex;gap:20px;align-items:center;padding:20px 0;border-top:1px solid #e4e8de}.viewing-appointment-row>div{flex:1}.viewing-appointment-row strong{font-size:16px}.viewing-appointment-row p{font-size:13px;margin:6px 0}.viewing-appointment-row small{font-size:12px;color:#6d7963}.viewing-appointment-row .button{font-size:12px;white-space:nowrap;padding:10px 14px}.viewing-badge{padding:6px 10px;font-size:11px;border-radius:20px;white-space:nowrap;background:#ecefe6}.viewing-badge.state-requested{background:#fff1c9;color:#71520c}.viewing-badge.state-confirmed{background:#dfeeda;color:#2c5826}.viewing-badge.state-cancelled{background:#f6e0da;color:#763d31}.viewing-admin-detail #viewings-detail-info{padding:16px 0;margin-bottom:12px;border-bottom:1px solid #dde4d3}.viewing-admin-detail #viewings-detail-info p{margin:6px 0;font-size:14px}.viewing-admin-detail h3{font-size:18px;margin:26px 0 12px}.viewing-message{background:#eff3e9;border:1px solid #dce5d4;padding:14px;border-radius:10px;margin:10px 0;font-size:13px}.viewing-message strong,.viewing-message small{display:block}.viewing-message small{font-size:11px;color:#67735f;margin:5px 0}.viewing-message p{white-space:pre-wrap}.viewing-dialog button:focus-visible,.viewing-prompt button:focus-visible{outline:3px solid #c4aa61;outline-offset:3px}@media(max-width:700px){.viewing-prompt{padding:18px;gap:12px;flex-wrap:wrap}.viewing-prompt h2{font-size:18px}.viewing-prompt .button{margin:0;width:100%}.viewing-dialog{padding:20px;max-height:92dvh}.viewing-dialog-heading h2{font-size:22px}.viewing-contact{grid-template-columns:1fr}.viewing-footer{align-items:stretch;flex-direction:column}.viewing-footer small{max-width:none}.viewing-admin-columns{grid-template-columns:1fr}.viewing-admin-box{padding:20px}.viewing-appointment-row{flex-wrap:wrap;gap:12px}.viewing-appointment-row>div{flex-basis:100%}.viewing-admin-heading{align-items:start;flex-wrap:wrap}.viewing-admin-fields{gap:12px}.viewing-slot-row{grid-template-columns:1fr}.viewing-slot-row .button{grid-column:1;grid-row:auto;justify-self:start}}

.viewing-hours{font-size:12px;color:#38503e;margin:0 0 15px;font-weight:600}.viewing-admin-availability{margin-bottom:24px;background:#edf3e7}.viewing-admin-availability>p{font-size:12px;color:#5d705d;line-height:1.6}.viewing-availability-days{display:flex;flex-wrap:wrap;gap:12px;border:1px solid #cdd7c5;padding:14px;margin:18px 0}.viewing-availability-days legend{font-size:13px;font-weight:600}.viewing-availability-days label{flex-direction:row;align-items:center;gap:7px;cursor:pointer}.viewing-availability-days input{width:20px;height:20px;accent-color:#365539}.viewing-times button{min-height:44px}.viewing-dialog .viewing-weekdays{font-size:12px}#viewing-success-time{font-weight:600;line-height:1.7}.viewing-badge.state-declined{background:#f6e0da;color:#763d31}.viewing-admin-detail #viewings-reschedule-label label{margin-bottom:15px}.viewing-month-bar button:disabled{opacity:.4;cursor:default}@media(max-width:380px){.viewing-dialog{padding:16px}.viewing-calendar{padding:12px}.viewing-times button{padding:10px;font-size:12px}.viewing-days,.viewing-weekdays{gap:3px}.viewing-days button{min-height:38px}}
.viewing-dialog:not(.viewing-admin-detail){width:min(800px,calc(100% - 24px))}.viewing-calendar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px;grid-template-areas:'hours hours' 'month day' 'week times' 'dates times' 'selection selection' 'zone zone'}.viewing-hours{grid-area:hours}.viewing-month-bar{grid-area:month}.viewing-weekdays{grid-area:week}.viewing-days{grid-area:dates;align-content:start}.viewing-calendar #viewing-day-label{grid-area:day;align-self:center;margin:0;font-size:13px;font-weight:600}.viewing-times{grid-area:times;display:grid;grid-template-columns:1fr;max-height:256px;overflow:auto;align-content:start;padding-right:4px}.viewing-selected{grid-area:selection}.viewing-calendar>small{grid-area:zone}.viewing-times button{width:100%;white-space:nowrap}@media(max-width:700px){.viewing-calendar{grid-template-columns:minmax(0,1fr);grid-template-areas:'hours' 'month' 'week' 'dates' 'day' 'times' 'selection' 'zone'}.viewing-calendar #viewing-day-label{margin:14px 0 10px}.viewing-times{grid-template-columns:repeat(2,minmax(0,1fr));max-height:208px;padding-right:4px}.viewing-times button{white-space:normal;font-size:11px;line-height:1.5}}

.viewing-days,.viewing-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.viewing-days button{min-width:0;padding:4px 0}@media(max-width:380px){.viewing-days button{font-size:12px}.viewing-dialog:not(.viewing-admin-detail){max-width:calc(100% - 20px)}}
