@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2')}@font-face{font-family:Urbanist;src:url('/assets/fonts/urbanist-latin.woff2')}*{box-sizing:border-box}body{margin:0;background:#fff;color:#263131;font:16px/1.6 Manrope,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button,.button{border:1px solid #cbd3d3;background:#fff;border-radius:5px;padding:10px 16px;color:#263131;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#f2f5f5}button.primary,.button.primary{background:#273f45;color:#fff;border-color:#273f45}button:disabled{cursor:wait;opacity:.55}:focus-visible{outline:3px solid #547e8d;outline-offset:3px}.brand{font:300 28px/1.1 Urbanist,sans-serif;text-decoration:none;letter-spacing:.01em}.brand span{display:block;font:12px/2 Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase}header{height:104px;border-bottom:1px solid #e0e6e5;display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px}.toplinks{display:flex;gap:24px;align-items:center;font-size:14px}.layout{display:grid;grid-template-columns:242px 1fr;min-height:calc(100vh - 104px)}aside{padding:38px 24px;border-right:1px solid #e0e6e5;display:flex;flex-direction:column}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.15em;color:#607274;margin:0 0 16px}#partnerSwitch{margin-bottom:26px}#partnerSwitch select{width:100%}#navigation{display:grid;gap:6px}#navigation button{text-align:left;border-color:transparent;padding:12px 14px;background:transparent}#navigation button.active{background:#eff4f4;color:#20414c;border-color:#e1e9e9}.aside-note{margin-top:auto;padding-top:70px;font-size:12px;line-height:1.9;color:#657576}.aside-note a{font-size:14px}main{min-width:0;padding:38px 42px 70px;max-width:1600px;width:100%}h1{font:400 36px/1.2 Urbanist,sans-serif;margin:0 0 10px}h2{font:500 24px/1.3 Urbanist,sans-serif;margin:0 0 16px}h3{font-size:17px;margin:0 0 12px}.muted{color:#607274;font-size:14px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.heading p{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e0e6e5;border-bottom:1px solid #e0e6e5;margin:22px 0 26px;padding:22px 0;gap:20px}.stat{padding-left:20px;border-left:1px solid #e0e6e5}.stat:first-child{padding:0;border:0}.stat strong{display:block;font:400 31px/1.5 Urbanist,sans-serif}.stat span{font-size:14px;color:#5d7174}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.filters label:first-child{flex:1;min-width:190px}label{display:block;font-size:14px;color:#455a5d}input,select,textarea{width:100%;border:1px solid #cdd7d7;border-radius:4px;background:#fff;padding:10px 12px;color:#24393d;min-height:44px}textarea{min-height:100px;resize:vertical}label>input,label>select,label>textarea{margin-top:6px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:#607274;font-weight:500;border-bottom:1px solid #cbd6d7;padding:14px 12px;white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #e6ebeb;vertical-align:middle}td:first-child,th:first-child{padding-left:0}.guest-link{border:0;background:none;padding:0;text-align:left;color:#234854;font-weight:600}.reference{font-size:12px;display:block;color:#7b8789;margin-top:3px}.nowrap{white-space:nowrap}.badge{display:inline-block;border:1px solid #dbe5e5;background:#f3f7f7;padding:3px 9px;border-radius:4px;font-size:12px;white-space:nowrap}.badge.warn{border-color:#e4d8bd;background:#faf6eb;color:#775c25}.warning{padding:15px 18px;border-left:3px solid #b49761;background:#fbf8f0;font-size:14px;margin:20px 0}.notice:not(:empty){padding:12px 16px;background:#eff5f5;border:1px solid #d6e3e3;margin-bottom:20px}.notice.error{background:#fff2f0;color:#892f28}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{border:1px solid #dee5e5;border-radius:6px;padding:24px;min-width:0}.full{grid-column:1/-1}dl{display:grid;grid-template-columns:minmax(110px,1fr) 1.7fr;margin:0;font-size:14px;gap:12px 18px}dt{color:#63777a}dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.back{margin-bottom:24px;border:0;padding-left:0}.empty{text-align:center;border:1px dashed #cbd7d7;border-radius:6px;padding:55px 24px;margin-top:24px}.empty p{max-width:470px;margin:10px auto 22px;color:#607274}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.doc{border:1px solid #dfe6e6;border-radius:6px;overflow:hidden;padding:22px}.doc img{width:calc(100% + 44px);margin:-22px -22px 18px;height:180px;object-fit:cover}.doc h3{overflow-wrap:anywhere}.doc p{font-size:14px;color:#627578}.doc .toolbar{margin-top:20px}dialog{width:min(760px,calc(100vw - 24px));max-height:90vh;border:1px solid #cbd7d7;border-radius:8px;padding:30px;color:#263131}dialog::backdrop{background:#1e333a88}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.checkbox{display:flex;gap:12px;align-items:center}.checkbox input{width:20px;min-height:20px;margin:0}.preline{white-space:pre-line}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:15px;z-index:10}.preview{font-size:12px;border:1px solid #d6dedd;padding:4px 9px;border-radius:4px}.tab-caption{padding:8px 0;color:#6a797c;font-size:13px}@media(max-width:1100px){main{padding:30px 24px}.layout{grid-template-columns:200px 1fr}.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){padding-left:0;border:0}}@media(max-width:760px){header{height:auto;min-height:88px;padding:18px 20px;align-items:start}.brand{font-size:24px}.toplinks{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}.layout{display:block}aside{padding:20px;border-right:0;border-bottom:1px solid #e0e6e5}.eyebrow{margin:0 0 10px}#partnerSwitch{margin-bottom:12px;max-width:300px}#navigation{display:flex;overflow-x:auto}#navigation button{white-space:nowrap;font-size:14px;padding:8px 12px}.aside-note{display:none}main{padding:26px 20px}h1{font-size:30px}.heading{align-items:flex-start;flex-wrap:wrap}.detail-grid,.form-grid{grid-template-columns:1fr}.doc-grid{grid-template-columns:1fr}.stats{gap:12px}.stat strong{font-size:28px}dialog{padding:22px}dl{grid-template-columns:1fr 1.3fr}.toplinks #signout{display:none}}

/* Reservation overview follows the uploaded workbook's columns. */
.stats{display:flex;flex-wrap:wrap;padding:14px 0;margin:18px 0;gap:16px 28px}.stat{display:flex;align-items:baseline;gap:10px;padding-left:24px}.stat strong{font-size:22px;line-height:1.3}.stat span{font-size:13px}.stat:nth-child(3){padding-left:24px;border-left:1px solid #e0e6e5}
.table-guide{font-size:13px;color:#597074;margin:16px 0 12px}
.reservation-overview{width:100%;min-width:0}
.fit-table{table-layout:fixed;width:100%;border:1px solid #d5dfe0;font-size:14px}
.fit-table .stay-col{width:25%}.fit-table .payment-col{width:24%}.fit-table .service-col{width:21%}.fit-table .contact-col{width:30%}
.fit-table th{background:#edf3f3;white-space:normal;font-size:14px;text-transform:none;letter-spacing:0;font-weight:600;color:#344f55;padding:14px 16px;border-right:1px solid #d8e2e2}
.fit-table td{vertical-align:top;white-space:normal;padding:18px 16px;min-width:0;overflow-wrap:anywhere;border-right:1px solid #e3e9e9;border-bottom:0}
.fit-table .guest-link{font-size:16px;white-space:normal;overflow-wrap:anywhere}
.fit-table .reference{font-size:12px;white-space:normal;overflow-wrap:anywhere;margin-bottom:14px}
.overview-fields{display:flex;flex-direction:column;gap:12px;font-size:14px;margin:0}
.overview-field{min-width:0}.overview-field dt{font-size:12px;line-height:1.45;color:#657b7f;margin-bottom:3px}.overview-field dd{margin:0;line-height:1.55;color:#263e44;font-size:14px;white-space:pre-line;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.overview-field.balance-due dd{color:#78551f;font-weight:600}
.reservation-record:nth-of-type(even){background:#f7fafa}
.fit-table .record-notes td{padding:0 16px 18px;border-bottom:2px solid #cddcde}
.record-note,.record-review{border-top:1px solid #e2e9e9;padding-top:12px;font-size:14px;overflow-wrap:anywhere;display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}
.record-note p{white-space:pre-line;margin:0;line-height:1.6}.record-note-label{font-size:12px;color:#63797d;line-height:1.6}
.record-review{margin-top:12px;color:#765b2b}.record-review .record-note-label{color:#765b2b}.record-review ul{margin:0;padding-left:18px;font-size:13px}.record-review li+li{margin-top:5px}
.fit-table .has-review .record-main td:first-child{box-shadow:inset 3px 0 #ba9b60}
@media(max-width:1100px){.fit-table td,.fit-table th{padding-left:12px;padding-right:12px}.fit-table .record-notes td{padding-left:12px;padding-right:12px}.record-note,.record-review{grid-template-columns:130px minmax(0,1fr);gap:10px}}
@media(max-width:760px){.stats{gap:12px}.stat,.stat:nth-child(3){padding-left:0;border:0;min-width:calc(50% - 12px);flex-direction:column;gap:3px}.fit-table,.fit-table tbody,.fit-table tr,.fit-table td{display:block;width:100%}.fit-table colgroup,.fit-table thead{display:none}.fit-table .record-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.fit-table .record-main td{border-right:0;padding:16px 12px}.fit-table .record-main td::before{content:attr(data-group);display:block;font-size:14px;font-weight:600;color:#49646a;margin-bottom:14px}.fit-table .record-notes td{padding-bottom:20px}.record-note,.record-review{grid-template-columns:1fr;gap:6px}.table-guide{font-size:13px}.fit-table .stay-col,.fit-table .payment-col,.fit-table .service-col,.fit-table .contact-col{width:auto}}
@media(max-width:400px){.fit-table .record-main{grid-template-columns:1fr}.fit-table .record-main td+td{border-top:1px solid #e3e9e9}.overview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fit-table td[data-group="Guest contact"] .overview-fields{grid-template-columns:1fr}}

#reservationForm input[type="date"]{cursor:pointer;min-width:0}#reservationForm input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer}

.contact-group{margin:0;min-width:0;padding:14px;border:1px solid #dce5e5;border-radius:5px}.contact-group legend{padding:0 5px;font-size:14px;color:#455a5d}.contact-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}.contact-row label{flex:1;min-width:0}.contact-row button{min-height:44px;padding:8px;font-size:12px}.contact-group>button{font-size:13px;text-align:left}.contact-group button:disabled{opacity:.5}

.experience-section{min-width:0;border:1px solid #dce5e5;border-radius:5px;padding:16px;margin:0}.experience-section legend{font-size:17px;padding:0 6px}.experience-row{padding:16px 0;border-top:1px solid #e0e7e7}.experience-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.experience-heading h3{margin:0}.experience-heading button{font-size:12px;padding:8px}.experience-list{list-style:none;padding:0;margin:0;min-width:0}.experience-list li+li{margin-top:12px}.experience-list strong{font-size:13px}.experience-list p{white-space:pre-line;overflow-wrap:anywhere;margin:4px 0}.record-note>.experience-list{flex:1}

#exportForm>label{margin-top:16px}#exportForm .checkbox{align-items:flex-start}#exportForm .checkbox input{flex-shrink:0;margin-top:3px}#exportForm .form-footer{flex-wrap:wrap}
.document-viewer{width:min(1100px,calc(100vw - 24px))}.document-viewer h2{font-size:22px;overflow-wrap:anywhere}.document-viewer .heading{margin-bottom:12px}.document-pages{align-items:center;justify-content:center;margin:12px 0 20px}#documentCanvas,#documentPreview>img{display:block;max-width:100%;height:auto;margin:auto;border:1px solid #dce5e5;background:white}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.partner-gallery{margin-top:28px}.partner-gallery-group{margin-top:30px}.partner-gallery-group>.heading{margin-bottom:16px;gap:12px}.partner-gallery-group>.heading h3{margin:0;font-size:20px;font-weight:500}.gallery-photo{display:flex;flex-direction:column}.gallery-photo .toolbar{margin-top:auto;padding-top:14px}.gallery-photo .photo-preview{display:block;width:calc(100% + 44px);padding:0;margin:-22px -22px 18px;border:0;border-radius:0;background:#eff3f3;overflow:hidden}.gallery-photo .photo-preview img{display:block;width:100%;height:190px;object-fit:cover;margin:0}.gallery-photo h3{font-size:16px;font-weight:500}.gallery-photo .toolbar button,.gallery-photo .toolbar a{font-size:14px;padding:9px 12px}

.fit-table.limited-reservations .stay-col{width:32%}.fit-table.limited-reservations .service-col{width:28%}.fit-table.limited-reservations .contact-col{width:40%}.add-information{font-size:13px;margin-top:12px}.record-notes .add-information{padding:8px 12px}
.audit-badge{display:inline-block;margin-left:6px;font-size:13px;font-weight:600;color:#1c5159}.audit-badge[hidden]{display:none}.audit-search{display:flex;align-items:end;gap:12px;margin:24px 0}.audit-search label{flex:1;max-width:560px}.audit-list{list-style:none;padding:0;margin:0}.audit-entry{border-top:1px solid #d6e1e2;padding:20px 0;overflow-wrap:anywhere}.audit-event{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1fr) minmax(200px,1.2fr);gap:8px 20px;font-size:14px}.audit-event time{color:#536b70;font-variant-numeric:tabular-nums}.audit-event>span:last-child{grid-column:2/-1}.audit-entry details{margin-top:14px;font-size:14px}.audit-entry summary,.audit-scope summary{cursor:pointer;color:#28535d;min-height:32px}.audit-change{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid #e2e9e9;margin-top:16px;padding-top:12px}.audit-change h3{grid-column:1/-1;margin:0;font-size:16px}.audit-change pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin:0}.audit-change p{margin:0 0 8px}.audit-change>div{background:#f7fafa;padding:12px;min-width:0}.audit-scope{margin-top:30px;border-top:1px solid #d6e1e2;padding-top:18px;font-size:14px;color:#536b70}#activityLiveStatus{font-size:14px;color:#28535d}
@media(max-width:850px){.audit-event{grid-template-columns:1fr}.audit-event>span:last-child{grid-column:auto}.audit-search{flex-wrap:wrap}.audit-change{grid-template-columns:1fr}.audit-change h3{grid-column:auto}}

/* Phone controls remain readable and every section is available without swiping. */
.mobile-portal-navigation{display:none}
@media(max-width:760px){
 header{flex-wrap:wrap;gap:12px;padding:18px 16px}.brand{min-width:0}.toplinks{width:100%;justify-content:flex-start;font-size:14px;gap:12px 20px}.toplinks #signout{display:inline-flex;align-items:center;min-height:44px}
 aside{padding:16px}main{padding:24px 16px calc(96px + env(safe-area-inset-bottom))}
 #navigation{display:flex;flex-wrap:wrap;overflow:visible;gap:8px}#navigation>button{display:none}.mobile-portal-navigation{display:block;width:100%;order:-1}
 #navigation>.button{font-size:14px;white-space:normal;min-height:44px}
 input,select,textarea{font-size:16px;min-width:0}button,.button{min-height:44px;max-width:100%;white-space:normal}
 .heading>div,.toolbar,.filters,.filters label,.panel{min-width:0;max-width:100%}.heading>.toolbar{width:100%}.heading>.toolbar>*{flex:1 1 140px;text-align:center}
 .filters>label{flex:1 1 130px}.filters>label:first-child{flex-basis:100%;min-width:0}
 .panel{padding:18px}dialog{max-height:calc(100dvh - 24px);padding:18px;overflow-y:auto;overscroll-behavior:contain}.form-footer{flex-wrap:wrap}.form-footer>*{flex:1 1 120px;text-align:center}
 .doc,.doc h3,.doc p,.stat strong{overflow-wrap:anywhere}.doc .toolbar>*{flex:1 1 120px;text-align:center}.stats .stat{min-width:0}.stat strong{font-size:clamp(22px,6vw,28px)}
 .experience-heading{flex-wrap:wrap}.contact-row{align-items:end}.document-pages{flex-wrap:wrap}
}
@media(max-width:480px){.fit-table .record-main{grid-template-columns:1fr}.fit-table .record-main td+td{border-top:1px solid #e3e9e9}.overview-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-table td[data-group="Guest contact"] .overview-fields{grid-template-columns:1fr}}
