:root{--nav:#14283b;--nav2:#1d3c55;--blue:#1769e0;--bg:#f5f7fa;--line:#e2e8f0;--muted:#687789;--text:#102033;--soft:#f8fafc}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}.hidden{display:none!important}button,input,select,textarea{font:inherit}
.shell{display:grid;grid-template-columns:215px 1fr;min-height:100vh}aside{background:var(--nav);padding:24px 14px;color:#fff;display:flex;flex-direction:column}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:1px}.brand span{display:block;font:9px Arial;letter-spacing:5px;margin-top:5px}.white{margin:5px 12px 30px}
nav{display:flex;flex-direction:column;gap:5px}nav button,.logout{border:0;background:transparent;color:#dbe6ef;padding:12px 14px;border-radius:8px;text-align:left;cursor:pointer}nav button.active,nav button:hover{background:#294a66}.logout{margin-top:auto}
header{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px}header input{width:min(560px,60vw);padding:11px 13px;border:1px solid var(--line);border-radius:8px}header span{font-size:14px;color:var(--muted)}
.page{padding:24px}.pageHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pageHead h1{margin:0;font-size:29px}.pageHead p{margin:5px 0;color:var(--muted)}button.primary,a.primary,.loginCard button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:11px 15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.secondary{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-weight:650;cursor:pointer;color:var(--text)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stats article,.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px}.stats small{display:block;color:var(--muted)}.stats b{display:block;font-size:31px;margin-top:6px}.card h3{margin-top:0}.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);background:#fafbfc;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.pill{display:inline-block;padding:4px 8px;border-radius:20px;background:#e8f2ff;color:#1856a3;font-weight:700;font-size:12px}.empty{padding:25px;text-align:center;color:var(--muted)}.empty.small{padding:16px}
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102436,#25445d)}.loginCard{background:#fff;width:min(390px,92vw);padding:30px;border-radius:16px;box-shadow:0 20px 60px #0004}.loginCard h1{margin-bottom:4px}.loginCard p{color:var(--muted)}.loginCard input{width:100%;padding:12px;margin:6px 0;border:1px solid var(--line);border-radius:8px}.loginCard button{width:100%;margin-top:8px}#loginMsg{font-size:14px;color:#b42318;margin-top:10px}
.modal{position:fixed;z-index:30;inset:0;background:#0a1622cc;display:grid;place-items:center;padding:20px}.modal.hidden{display:none!important}.modalCard{width:min(780px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:20px}.modalHead{display:flex;justify-content:space-between;align-items:center}.modalHead h2{margin:0}.modalHead button,.drawerHead button{border:0;background:none;font-size:29px;cursor:pointer}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea,.tableTools input,.tableTools select{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.field textarea{min-height:90px}.field.checkbox{justify-content:end}.field.checkbox label{color:var(--text);font-weight:600;padding:8px 0}.field.checkbox input{width:auto;margin-right:7px}.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:5px}
.clientTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.clientTabs button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:9px 12px;border-radius:9px;cursor:pointer;font-weight:650}.clientTabs button.active{background:var(--nav);border-color:var(--nav);color:#fff}.clientTabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:#eef2f6;color:inherit;font-size:11px;margin-left:5px}.clientTabs button.active span{background:#ffffff22}.clientCard{padding:0;overflow:hidden}.tableTools{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.tableTools input{flex:1}.clientLink{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--text)}.clientLink b{display:block}.clientLink small{display:block;color:var(--muted);margin-top:3px}.typePill{display:inline-block;padding:5px 8px;border-radius:7px;font-size:12px;font-weight:750;background:#eef2f6}.typePill.direct{background:#edf5ff;color:#245c9f}.typePill.family{background:#f0ecff;color:#634da1}.typePill.agency{background:#e9f8f4;color:#256c5c}.typePill.referral{background:#fff4dc;color:#8a6014}
.drawer{position:fixed;z-index:20;inset:0}.drawerBackdrop{position:absolute;inset:0;background:#0b1c2c73}.drawerPanel{position:absolute;right:0;top:0;height:100%;width:min(650px,96vw);background:#fff;box-shadow:-20px 0 50px #0a162222;overflow:auto}.drawerHead{position:sticky;top:0;background:#fff;z-index:2;padding:22px 24px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.drawerHead h2{margin:3px 0 0;font-size:27px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--blue)}#drawerBody{padding:20px 24px 40px}.drawerActions{display:flex;gap:8px;margin-bottom:18px}.profileGrid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}.profileGrid>div{padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:70px}.profileGrid>div:nth-child(2n){border-right:0}.profileGrid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.profileGrid b{font-size:14px}.drawerSection{margin-top:24px}.drawerSection h3{margin:0 0 10px}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.sectionHead h3{margin:0}.sectionHead span{background:#eef2f6;border-radius:12px;padding:3px 8px;font-size:12px}.person,.tourMini{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.person b,.tourMini b{display:block;font-size:14px}.person small,.person span,.tourMini span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.mini{align-self:start;background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 9px;cursor:pointer}.notesBox{white-space:pre-wrap;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:14px;color:#455466;font-size:14px;line-height:1.5}
.clientPanel{width:min(820px,96vw)}.clientActions{flex-wrap:wrap}.clientRoleNote{display:flex;gap:18px;align-items:flex-start;background:#f4f8fc;border:1px solid #dbe7f1;border-radius:11px;padding:13px 15px;margin-bottom:14px}.clientRoleNote b{font-size:13px;white-space:nowrap;color:var(--nav)}.clientRoleNote span{font-size:13px;color:var(--muted);line-height:1.45}.clientKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.clientKpis article{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.clientKpis article>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.clientKpis article>b{display:block;font-size:19px;margin:7px 0 4px}.clientKpis article>small{display:block;color:var(--muted);font-size:11px}.clientKpis article.attention{border-color:#efc8c2;background:#fff9f8}.clientKpis article.attention>b{color:#ae4339}.clientProfileGrid .wide{grid-column:1/-1;border-right:0}.clientPerson em{display:block;margin-top:6px;color:#8a6014;font-size:12px;font-style:normal}.clientTourRow,.clientRelationRow{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:12px 4px;text-align:left;cursor:pointer}.clientTourRow:hover,.clientRelationRow:hover{background:#fafcfd}.clientTourRow b,.clientRelationRow b{display:block;font-size:14px}.clientTourRow span,.clientRelationRow span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.clientTourRow>div:last-child{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.clientTourRow small{display:inline-block;border-radius:10px;padding:4px 7px;background:#edf4fb;color:#315d85;font-size:10px;font-weight:750;white-space:nowrap}.clientPaymentRow{display:flex;justify-content:space-between;gap:18px;padding:12px 4px;border-bottom:1px solid var(--line)}.clientPaymentRow>div:last-child{text-align:right}.clientPaymentRow b{display:block;font-size:13px}.clientPaymentRow span,.clientPaymentRow small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.clientPaymentRow .moneyDue{color:#ae4339}.clientPaymentRow .moneyPaid{color:#297660}.clientDocSummary{display:grid;grid-template-columns:1fr 1fr;gap:7px}.clientDocument{display:block;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:9px 10px;text-align:left;cursor:pointer}.clientDocument span,.clientDocument b{display:block}.clientDocument span{font-size:10px;color:var(--muted);text-transform:uppercase}.clientDocument b{font-size:12px;color:#455466;margin-top:4px}
@media(max-width:850px){.shell{grid-template-columns:1fr}aside{display:none}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.field.full{grid-column:auto}.profileGrid{grid-template-columns:1fr}.profileGrid>div{border-right:0}.tableTools{flex-direction:column}}

/* v0.3 — Tours */
.cardTitle{display:flex;align-items:flex-start;justify-content:space-between}.cardTitle h3{margin:0}.cardTitle p{margin:4px 0 10px;color:var(--muted);font-size:13px}.tourCard{padding:0;overflow:hidden}.tourPipeline{display:flex;gap:8px;overflow:auto;padding-bottom:12px}.tourPipeline button{min-width:max-content;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;display:flex;align-items:center;gap:9px;cursor:pointer;color:var(--muted);font-weight:700;font-size:12px}.tourPipeline button:hover{border-color:#b8c6d4}.tourPipeline b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#edf2f7;color:var(--text);font-size:11px}.tourLink{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--text)}.tourLink b{display:block;font-size:14px}.tourLink span{display:block;color:var(--muted);font-size:13px;margin-top:3px}.statusPill{display:inline-block;padding:5px 8px;border-radius:7px;background:#eef2f6;color:#536273;font-size:11px;line-height:1;font-weight:800;letter-spacing:.025em;white-space:nowrap}.status-new-lead{background:#eef2f6;color:#506070}.status-working,.status-revision{background:#eef5ff;color:#315f9a}.status-proposal-sent,.status-option-hold,.status-deposit-requested{background:#fff4df;color:#8c641f}.status-confirmed,.status-operations{background:#e9f8f3;color:#26705d}.status-in-travel{background:#e8f2ff;color:#155dac}.status-completed{background:#edf7e9;color:#47723d}.status-closed{background:#edf0f3;color:#67717c}.status-cancelled{background:#fff0ef;color:#a2443d}
.tourPanel{width:calc(100vw - 215px);max-width:none}.drawerMeta{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--muted);font-size:13px}.tourTopActions{display:flex;gap:8px;padding:20px 24px 0}.tourTopActions button:disabled{opacity:.45;cursor:not-allowed}.tourTabs{display:flex;gap:2px;overflow:auto;border-bottom:1px solid var(--line);padding:17px 24px 0}.tourTabs button{border:0;border-bottom:2px solid transparent;background:none;padding:10px 11px;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.tourTabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.tourTabContent{padding:20px 24px 42px}.tourHero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#eef4f9);border:1px solid var(--line);border-radius:14px;padding:20px}.tourHero h3{font-size:24px;margin:5px 0}.tourHero p{margin:0;color:var(--muted);line-height:1.5;max-width:580px}.tourValue{text-align:right;min-width:155px}.tourValue span,.tourOverviewGrid span,.relationsGrid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.tourValue b{font-size:24px}.tourOverviewGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.tourOverviewGrid>div,.relationsGrid>div{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.tourOverviewGrid b,.relationsGrid b{display:block;font-size:14px;line-height:1.4}.tourOverviewGrid small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.relationsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.statusTrack{display:flex;gap:0;overflow:auto;padding:5px 0 10px}.statusTrack>div{position:relative;min-width:118px;padding-top:24px;color:#8994a0}.statusTrack>div:before{content:"";position:absolute;left:8px;right:-8px;top:8px;height:2px;background:#e1e6ec}.statusTrack>div:last-child:before{right:auto;width:0}.statusTrack i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#dfe5eb;border:3px solid #fff;box-shadow:0 0 0 1px #dfe5eb}.statusTrack span{font-size:10px;font-weight:750;line-height:1.2;display:block;padding-right:8px}.statusTrack .done:before{background:#8fc8bb}.statusTrack .done i{background:#58a995;box-shadow:0 0 0 1px #58a995}.statusTrack .current i{background:var(--blue);box-shadow:0 0 0 2px var(--blue)}.statusTrack .current span{color:var(--text)}.modulePlaceholder{border:1px dashed #cbd5df;background:#fafcfd;border-radius:14px;padding:42px;text-align:center;margin-top:4px}.modulePlaceholder h3{margin:7px 0;font-size:22px}.modulePlaceholder p{max-width:570px;margin:0 auto;color:var(--muted);line-height:1.55}.notesBox.large{min-height:150px}.tourMiniButton{width:100%;border:0;background:#fff;text-align:left;cursor:pointer}.tourMiniButton:hover{background:#fafcfd}
@media(max-width:1050px){.tourOverviewGrid{grid-template-columns:1fr 1fr}.relationsGrid{grid-template-columns:1fr 1fr}}@media(max-width:850px){.tourPanel{width:100vw}}@media(max-width:700px){.tourHero{flex-direction:column}.tourValue{text-align:left}.tourOverviewGrid,.relationsGrid{grid-template-columns:1fr}.tourTabs{padding-left:15px}.tourTabContent,.tourTopActions{padding-left:15px;padding-right:15px}}

/* v0.4 — Itinerary + Services */
.itineraryEmpty{border:1px dashed #cbd5df;background:#fbfcfd;border-radius:14px;padding:46px 28px;text-align:center}.itineraryEmpty h3{font-size:23px;margin:8px 0}.itineraryEmpty p{max-width:610px;margin:0 auto 18px;color:var(--muted);line-height:1.55}.itineraryToolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:13px 15px;background:#f8fafc;border:1px solid var(--line);border-radius:11px}.itineraryToolbar>div:first-child b{display:block;font-size:15px}.itineraryToolbar>div:first-child span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.itineraryToolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.itDay{border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:13px;overflow:hidden}.itDayHead{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:#f8fafc;border-bottom:1px solid var(--line)}.itDayHead span{display:block;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em}.itDayHead h3{margin:4px 0 0;font-size:16px}.emptyDay{padding:18px;color:var(--muted);font-size:13px}.serviceList{display:flex;flex-direction:column}.serviceRow{display:grid;grid-template-columns:58px minmax(220px,1fr) 230px 120px;gap:13px;align-items:center;padding:13px 15px;border-bottom:1px solid var(--line)}.serviceRow:last-child{border-bottom:0}.serviceTime{font-weight:800;color:#31465b;font-size:14px}.serviceMain{min-width:0}.serviceTitle{display:flex;align-items:center;gap:8px;min-width:0}.serviceTitle b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.serviceType{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#edf4fb;color:#34658f;padding:4px 6px;border-radius:5px;white-space:nowrap}.serviceMain small{display:block;color:var(--muted);margin-top:5px;font-size:12px}.serviceMain p{margin:6px 0 0;color:#536273;font-size:12px;line-height:1.45}.serviceMoney{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}.serviceMoney span{font-size:11px;color:var(--muted)}.serviceMoney b{display:block;color:var(--text);font-size:12px;margin-top:2px}.serviceMoney .margin{grid-column:1/-1}.serviceStatus{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.status-to-be-reserved{background:#fff4df;color:#8c641f}.status-reserved{background:#e8f2ff;color:#155dac}.status-paid{background:#e9f8f3;color:#26705d}.status-cancelled{background:#fff0ef;color:#a2443d}
@media(max-width:900px){.serviceRow{grid-template-columns:50px 1fr}.serviceMoney{grid-column:2}.serviceStatus{grid-column:2;align-items:flex-start;flex-direction:row}.itineraryToolbar{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.serviceRow{grid-template-columns:1fr}.serviceTime,.serviceMoney,.serviceStatus{grid-column:1}.serviceStatus{flex-direction:row}.itDayHead{align-items:flex-start}.serviceTitle{align-items:flex-start;flex-direction:column}}

/* v0.4.1 multi-day itinerary services */
.servicePhase{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#eef4f7;color:#526873;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.serviceDates{display:block;margin-top:5px;font-weight:700;color:#334e5b}
.serviceContinuation{background:rgba(247,250,251,.78)}
.serviceContinuation .serviceType{opacity:.82}
.continuedLabel{font-size:12px;color:#89969d;font-style:italic}


/* v0.4.2 — flexible itinerary days + clearer service scheduling */
.dayActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.mini.danger{color:#9e3f38;border-color:#efd3d0;background:#fffafa}.mini.danger:hover{background:#fff0ef}.formSection{grid-column:1/-1;margin-top:7px;padding:11px 12px;border-radius:9px;background:#f6f9fc;border:1px solid #e4ebf2}.formSection span{display:block;font-size:10px;letter-spacing:.14em;font-weight:850;color:var(--blue);margin-bottom:3px}.formSection b{display:block;font-size:14px}.formSection small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.4}.staySummary{grid-column:1/-1;min-height:38px;padding:9px 12px;background:#eef6ff;border:1px solid #d9e9fb;border-radius:8px;color:#36566f;font-size:13px}.hotelFields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hotelFields.hidden{display:none!important}.modalCard:has(#entryForm[data-kind="service"]){width:min(900px,96vw)}#entryForm[data-kind="service"]{align-items:start}
@media(max-width:700px){.dayActions{justify-content:flex-end}.hotelFields{grid-template-columns:1fr}.formSection{margin-top:2px}}


/* v0.5 Costing & Quote */
.quoteVersionBar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.quoteVersions{display:flex;gap:8px;flex-wrap:wrap}.quoteVersion{border:1px solid #dce4ee;background:#fff;border-radius:12px;padding:8px 12px;display:flex;gap:8px;align-items:center;cursor:pointer}.quoteVersion span{font-size:12px;color:#6b7788}.quoteVersion.active{border-color:#3378c8;box-shadow:0 0 0 2px rgba(51,120,200,.12)}.quoteActions,.quoteStatusActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quoteStatusRow{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:#fff;border:1px solid #e5ebf2;border-radius:16px;padding:18px 20px;margin-bottom:14px}.quoteStatusRow h3{margin:3px 0 5px}.quoteStatusRow p{margin:0;color:#687487;max-width:680px}.quoteKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.quoteKpis>div{background:#fff;border:1px solid #e5ebf2;border-radius:14px;padding:14px}.quoteKpis span{display:block;font-size:12px;color:#758195;text-transform:uppercase;letter-spacing:.04em}.quoteKpis b{display:block;margin-top:6px;font-size:18px}.quoteKpis small{display:block;color:#607080;margin-top:4px}.quoteKpis .strong{background:#f0f7ff;border-color:#cfe3f7}.quoteTableWrap{overflow:auto;background:#fff;border:1px solid #e5ebf2;border-radius:16px}.quoteTable{width:100%;border-collapse:collapse}.quoteTable th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#758195;background:#f8fafc;text-align:left;padding:12px}.quoteTable td{padding:12px;border-top:1px solid #edf1f5;vertical-align:middle;white-space:nowrap}.quoteTable td:first-child{white-space:normal;min-width:220px}.quoteTable td small{display:block;color:#7a8797;margin-top:3px}.lineSource{font-size:12px;background:#eef3f7;border-radius:999px;padding:4px 8px;color:#5f6f80}.quoteExcluded{opacity:.48;text-decoration:line-through}@media(max-width:1150px){.quoteKpis{grid-template-columns:repeat(3,1fr)}}


/* v0.6 Operations Calendar & Dispatch */
.opsTabs{display:flex;gap:8px;margin-bottom:16px}.opsTabs button{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;padding:9px 14px;font-weight:750;cursor:pointer}.opsTabs button.active{background:#edf5ff;border-color:#b9d6f3;color:#2469a8}.opsCard{padding:0;overflow:hidden}.calendarSummary{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:10px;margin-bottom:12px}.calendarSummary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px}.calendarSummary b{display:block;font-size:23px;color:#12304a}.calendarSummary span{font-size:11px;color:var(--muted);font-weight:750}.calendarSummary .warning{background:#fff9ee;border-color:#f0d9aa}.calendarSummary .warning b{color:#a66b13}.calendarHead{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.calendarHead>div{text-align:center}.calendarHead h3{margin:0;text-transform:capitalize}.calendarHead p{margin:4px 0 0;color:var(--muted);font-size:12px}.calendarViewport{overflow:auto}.weekHead{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));min-width:1260px;background:#f7f9fb;border-bottom:1px solid var(--line)}.weekHead span{padding:9px 10px;font-size:11px;font-weight:800;color:#7a8793;text-transform:uppercase}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));min-width:1260px}.calDay{min-height:210px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.calDay:nth-child(7n){border-right:0}.calDay.muted{background:#fafbfc;color:#a6afb8}.calDay.today{box-shadow:inset 0 0 0 2px #4d93d1}.calDate{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.calDate b{font-size:14px}.calDate span{font-size:10px;color:var(--muted);text-transform:uppercase}.calTours{display:flex;flex-direction:column;gap:6px}.calEmpty{font-size:11px;color:#aab3ba;padding:5px}.calTour{border:0;border-left:3px solid #5d9bd0;border-radius:7px;background:#eef5fb;text-align:left;padding:7px 8px;cursor:pointer;overflow:hidden}.calTour:hover{filter:brightness(.98);box-shadow:0 2px 7px #17324d1a}.calTourDetail{display:block;width:100%}.calTourHead{display:flex!important;align-items:center;justify-content:space-between;gap:5px}.calTourHead b{font-size:11px;color:#245f92}.calTourHead em{font-style:normal;font-size:9px;font-weight:850;color:#46728f}.calTourDetail>strong{display:block;margin:3px 0 4px;font-size:12px;color:#152d41;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calTourDetail>span{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#405c70}.calTourPlace{font-weight:750;margin-bottom:4px}.calTourResource{margin-top:2px}.calTourResource i{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:4px;border-radius:50%;background:#d9e8f4;color:#285f8c;font-style:normal;font-size:9px;font-weight:900}.calTourDetail>small{display:block;margin-top:5px;padding-top:4px;border-top:1px solid #d9e7f1;font-size:9px;color:#668094}.calTour.status-confirmed,.calTour.status-operations,.calTour.status-in-travel{border-left-color:#29916d;background:#ebf8f3}.calTour.status-new-lead,.calTour.status-working{border-left-color:#6f90ad;background:#f0f4f7}.calTour.status-proposal-sent{border-left-color:#d79a31;background:#fff7e9}.dispatchCard{margin-bottom:16px;padding:0}.dispatchCard .cardTitle{padding:16px 18px;border-bottom:1px solid var(--line)}.dispatchCard .cardTitle h3{margin:4px 0}.dispatchCard .cardTitle p{margin:0;color:var(--muted);font-size:12px}.dispatchTable td{vertical-align:top}.dispatchTable small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.tourLink.compact{text-align:left}.opsServiceTitle{display:block;margin-top:5px;font-size:13px}.opsContact{margin-top:5px;font-size:11px;line-height:1.5}.opsContact a{color:#286da9;text-decoration:none}.opsResourceHead{display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px}.opsResourceHead h3{margin:0}.opsResourceHead p{margin:4px 0 0;color:var(--muted);font-size:12px}.opsResourceHead.second{margin-top:28px}.resourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.resourceCard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px}.resourceTop{display:flex;justify-content:space-between;gap:10px}.resourceTop h3{margin:4px 0 0;font-size:16px}.resourceTop small{display:block;color:var(--muted);margin-top:4px}.resourceType{font-size:10px;font-weight:850;color:#3973a6;letter-spacing:.08em}.resourceContact{font-size:12px;margin:10px 0}.resourceDays{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.resourceDays>div{border:1px solid var(--line);border-radius:9px;padding:8px;min-height:60px}.resourceDays>div>span{display:block;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;margin-bottom:5px}.resourceDays button{display:block;width:100%;border:0;background:none;text-align:left;padding:3px 0;cursor:pointer}.resourceDays b,.resourceDays small{display:block;font-size:11px}.resourceDays small{color:var(--muted);margin-top:2px}.status-on-the-way{background:#fff1dc;color:#98611a}.status-with-guests{background:#e9f2ff;color:#215d9a}.status-finished{background:#e9f8f3;color:#26705d}.status-available{background:#edf8f1;color:#31704b}.status-assigned{background:#eef3f8;color:#50667b}
@media(max-width:1150px){.resourceGrid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.calendarSummary{grid-template-columns:1fr 1fr}.calendarSummary>div:first-child{grid-column:1/-1}.resourceGrid{grid-template-columns:1fr}.dispatchCard{overflow:auto}}

/* v0.7 resource availability */
.resourceGridWide{grid-template-columns:repeat(2,minmax(0,1fr))}.resourceCard.wide{display:flex;flex-direction:column}.resourcePeriods{margin:10px 0 12px;padding-top:10px;border-top:1px solid var(--line)}.resourcePeriodsHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.resourcePeriodsHead>b{font-size:12px}.resourcePeriod{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf1f5}.resourcePeriod:first-of-type{border-top:0}.resourcePeriod span{display:block;font-size:9px;font-weight:850;letter-spacing:.08em;color:#3973a6}.resourcePeriod b{display:block;font-size:12px;margin-top:2px}.resourcePeriod small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.periodActions{display:flex;gap:5px;align-items:flex-start}.dayBlock{padding:3px 0}.dayBlock b,.dayBlock small{display:block;font-size:11px}.dayBlock b{color:#8a5d21}.mutedText{color:var(--muted);font-size:11px}.status-on-tour{background:#e8efff;color:#315eaa}.status-unavailable{background:#fff0ef;color:#9c4039}@media(max-width:1000px){.resourceGridWide{grid-template-columns:1fr}}

.resourceActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}.resourcePeriodButton{border:0;background:#1f73d8;color:#fff;border-radius:9px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}.resourcePeriodButton:hover{filter:brightness(.97)}

/* v0.9 Travel Orders */
.nowrap{white-space:nowrap}
.travelOrderMini{border:1px solid #dce5ec;border-radius:10px;padding:10px 12px;background:#fff}
.travelOrderMini b{display:block}.travelOrderMini small{display:block;color:#718194;margin-top:3px}
@media print{aside,header,.opsTabs,.pageHead{display:none!important}}

/* v0.9.1 Operations polish */
.calResourceMeta{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.calResourceMeta span{font-size:11px;background:#edf4f8;border:1px solid #dae6ed;border-radius:999px;padding:3px 6px;color:#466276}

/* v2.0.19 monthly resource availability */
.availabilityCard{padding:0;overflow:hidden}.availabilityHeadActions{display:flex;align-items:center;gap:8px}.availabilityLegend{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line);background:#fafbfd}.availabilityLegend span{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.availabilityViewport{overflow:auto;max-height:68vh}.availabilityRow{display:grid;min-width:max-content;border-bottom:1px solid var(--line)}.availabilityHeader{position:sticky;top:0;z-index:4;background:#f6f8fb}.availabilityResource{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:7px 12px;border-right:1px solid var(--line);background:#fff}.availabilityHeader .availabilityResource{z-index:5;background:#f6f8fb}.availabilityResource>span{font-size:9px;font-weight:850;color:#43739d;letter-spacing:.07em}.availabilityResource>b{font-size:12px;color:#162f44;margin-top:2px}.availabilityResource>small{font-size:9px;color:var(--muted);margin-top:2px}.availabilityResource .setAvailability{align-self:flex-start;margin-top:5px;padding:4px 7px;font-size:9px}.availabilityDate{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-right:1px solid var(--line)}.availabilityDate span{font-size:9px;text-transform:uppercase;color:var(--muted)}.availabilityDate b{font-size:12px;margin-top:2px}.availabilityDate.today{background:#e8f3ff;color:#1d66aa}.availabilityCell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:46px;min-height:54px;border:0;border-right:1px solid #e8edf2;border-radius:0;padding:3px;cursor:default;overflow:hidden}.availabilityCell[data-op-tour]:not([data-op-tour=""]){cursor:pointer}.availabilityCell:hover{filter:brightness(.96)}.availabilityCell>b{font-size:11px}.availabilityCell>span{display:block;max-width:40px;margin-top:2px;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availabilityCell.today{box-shadow:inset 2px 0 #3f8fd1,inset -2px 0 #3f8fd1}.availabilityCell.status-private,.availabilityCell.status-maintenance,.availabilityCell.status-unavailable,.availabilityCell.status-leave{background:#fff0ef;color:#9c4039}.availabilitySummary{grid-template-columns:repeat(3,minmax(0,220px))}@media(max-width:800px){.availabilityLegend{gap:5px}.availabilityHeadActions .mini{display:none}.availabilityViewport{max-height:72vh}}
.onTourStrip{border-top:1px solid #e4ebf0;border-bottom:1px solid #e4ebf0;padding:16px 0;margin:0 0 14px}
.onTourStripHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.onTourStripHead b{display:block}.onTourStripHead>span{min-width:30px;height:30px;border-radius:50%;background:#edf4f8;display:grid;place-items:center;font-weight:800}
.onTourGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.onTourCard{border:1px solid #dce6ed;border-radius:14px;padding:13px;background:#f9fbfc}
.onTourTop{display:flex;justify-content:space-between;gap:12px}.onTourTop small{display:block;color:#718194;margin-top:3px}
.onTourMeta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:11px}.onTourMeta span{font-size:13px;color:#536779}.onTourMeta b{display:block;font-size:11px;text-transform:uppercase;color:#8493a1;margin-bottom:2px}
.onTourActions{display:flex;gap:6px;margin-top:11px}
.resourceOrders{border-top:1px solid #e4ebf0;margin-top:13px;padding-top:13px}
.travelOrderMini{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.travelOrderMini span{display:block;font-size:11px;font-weight:800;color:#2d688e;letter-spacing:.04em}
.travelOrderMini b{font-size:14px}.travelOrderMini small{font-size:12px}

/* v0.9.2 Quick add guest from New Tour */
.tourGuestField{position:relative}
.selectWithAction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.selectWithAction select{width:100%}
.quickGuestToggle{white-space:nowrap;padding-left:14px;padding-right:14px}
.quickGuestPanel{margin-top:10px;border:1px solid #d9e4ec;background:#f7fafc;border-radius:14px;padding:14px}
.quickGuestPanel.hidden{display:none}
.quickGuestHead b{display:block;color:#132b40}
.quickGuestHead small{display:block;color:#718194;margin-top:3px}
.quickGuestGrid{display:grid;grid-template-columns:1.4fr .8fr 1fr 1fr 1fr;gap:8px;margin-top:12px}
.quickGuestGrid input,.quickGuestGrid select{min-width:0;height:43px;border:1px solid #d7e1e9;border-radius:10px;background:#fff;padding:0 11px;font:inherit}
.quickGuestActions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
@media(max-width:900px){.quickGuestGrid{grid-template-columns:1fr 1fr}.quickGuestGrid input:first-child{grid-column:1/-1}}

/* =========================================================
   v1.0 FINANCE CORE
   ========================================================= */
.dashFinanceMini{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.dashFinanceMini>div{background:linear-gradient(145deg,#102b40,#173e58);color:#fff;border-radius:15px;padding:15px 17px;box-shadow:0 10px 25px rgba(15,40,60,.08)}
.dashFinanceMini span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;opacity:.7}
.dashFinanceMini b{display:block;font-size:22px;margin-top:5px;font-family:Georgia,serif}
.dashFinanceMini .danger{background:linear-gradient(145deg,#672e35,#8b3c45)}

.financeKpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}
.financeKpis article{background:#fff;border:1px solid #e0e8ee;border-radius:16px;padding:17px;box-shadow:0 8px 25px rgba(17,45,64,.05)}
.financeKpis article span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#748595;font-weight:700}
.financeKpis article b{display:block;margin-top:7px;font-size:23px;color:#112c40;font-family:Georgia,serif}
.financeKpis article small{display:block;margin-top:5px;color:#8a98a5}
.financeKpis article.danger{border-color:#e8c3c7;background:#fff9f9}
.financeKpis article.danger b{color:#9d3742}

.financeQuickGrid,.financeAllGrid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:18px}
.financePanel{padding:0;overflow:hidden}
.financePanelHead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e6edf2}
.financePanelHead h3{margin:3px 0 2px}.financePanelHead p{margin:0;color:#758593;font-size:14px}
.financeTable th{white-space:nowrap}.financeTable td small{display:block;color:#8493a0;margin-top:3px}
.financeTable td b{color:#17334a}
.financePill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.03em;background:#eef2f5;color:#526575;white-space:nowrap}
.financePill.status-paid{background:#e5f5eb;color:#267044}
.financePill.status-partial{background:#fff3d9;color:#8a6016}
.financePill.status-overdue{background:#fde8ea;color:#a13a45}
.financePill.status-due-soon{background:#fff0da;color:#8c5b13}
.financePill.status-cancelled{background:#edf0f2;color:#7f8b94}
.financePill.status-planned,.financePill.status-to-pay{background:#e9f1f7;color:#356884}

.tourFinanceTop{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.tourFinanceTop h3{margin:4px 0 2px;font-size:24px}.tourFinanceTop p{margin:0;color:#748593}
.tourFinanceKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.tourFinanceKpis>div{border:1px solid #dfe7ed;border-radius:13px;padding:14px;background:#f9fbfc}
.tourFinanceKpis span{display:block;font-size:11px;text-transform:uppercase;color:#788997;font-weight:700;letter-spacing:.05em}
.tourFinanceKpis b{display:block;margin-top:5px;font-size:20px;color:#17334a}
.tourFinanceKpis small{display:block;margin-top:4px;color:#7d8d99}
.tourFinanceKpis .accent{background:#edf6f9;border-color:#cce2ea}

@media(max-width:1200px){
 .financeKpis{grid-template-columns:repeat(3,1fr)}
 .dashFinanceMini{grid-template-columns:repeat(2,1fr)}
}

/* v2.0.76 — supplier payment ledger and final settlement */
.settlementTopActions{display:flex;gap:7px;flex-wrap:wrap}.settlementExpenses,.finalSettlement{margin-top:14px;padding:14px;border:1px solid #d7e2e9;border-radius:12px;background:#fff}.settlementSectionHead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.settlementSectionHead h3{margin:3px 0;font-size:18px}.settlementSectionHead p{margin:0;color:var(--muted);font-size:11px}.settlementMethods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.settlementMethods>div,.settlementResult>div,.ledgerSummary>div{padding:10px 11px;border:1px solid #dbe5ea;border-radius:9px;background:#f8fafb}.settlementMethods span,.settlementMethods b,.settlementResult span,.settlementResult b,.settlementResult small,.ledgerSummary span,.ledgerSummary b{display:block}.settlementMethods span,.settlementResult span,.ledgerSummary span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.settlementMethods b,.settlementResult b,.ledgerSummary b{margin-top:4px;font-size:15px}.settlementResult{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}.settlementResult .strong{background:linear-gradient(135deg,#173e58,#1e5c78);border-color:#173e58;color:#fff}.settlementResult .strong span,.settlementResult .strong small{color:#c9dce7}.settlementResult small{margin-top:3px;font-size:9px}.settlementTable td small{display:block;margin-top:2px}.ledgerCard{width:min(760px,94vw)!important}.ledgerSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.ledgerSummary .attention{border-color:#e1bd79;background:#fff9eb}.ledgerList{margin:10px 0;border-top:1px solid #e2e9ed}.ledgerList article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid #e2e9ed}.ledgerList article b,.ledgerList article span{display:block}.ledgerList article b{font-size:12px}.ledgerList article span{margin-top:3px;color:var(--muted);font-size:10px}.ledgerEntryForm{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.ledgerPaid{margin-top:12px;padding:12px;border-radius:9px;background:#eaf6ef;color:#27684f;font-weight:800}
@media(max-width:900px){.settlementMethods,.settlementResult{grid-template-columns:1fr 1fr}.settlementResult .strong{grid-column:1/-1}.settlementTopActions{width:100%}.settlementTopActions button{flex:1}}
@media(max-width:600px){.settlementSectionHead{align-items:stretch;flex-direction:column}.settlementMethods,.settlementResult,.ledgerSummary,.ledgerEntryForm{grid-template-columns:1fr}.settlementExpenses,.finalSettlement{padding:11px}.settlementTopActions{display:grid;grid-template-columns:1fr}.settlementTopActions button{width:100%}}

/* v2.0.75 — compact premium modal system and rounded quote total */
.pricingFinal{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:12px 14px;border:1px solid #c8dced;border-left:4px solid #c69b48;border-radius:9px;background:linear-gradient(110deg,#f8fbfe,#eef5fa)}.pricingFinal label span,.pricingFinal label small{display:block}.pricingFinal label span{color:#17354a;font-size:13px;font-weight:850}.pricingFinal label small{margin-top:3px;color:var(--muted);font-size:9.5px}.pricingFinal>div{display:grid;grid-template-columns:minmax(120px,190px) 48px}.pricingFinal input{min-width:0;padding:9px 11px;border:1px solid #abc7da;border-radius:8px 0 0 8px;background:#fff;font-size:18px;font-weight:800;text-align:right}.pricingFinal>div b{display:flex;align-items:center;justify-content:center;border:1px solid #abc7da;border-left:0;border-radius:0 8px 8px 0;background:#173e58;color:#fff;font-size:11px}.pricingQuickRound{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.pricingQuickRound>span{margin-right:2px;color:var(--muted);font-size:10px;font-weight:700}.pricingQuickRound button{padding:5px 8px;border:1px solid #cbd9e2;border-radius:7px;background:#fff;color:#31546c;font-size:10px;font-weight:750;cursor:pointer}.pricingQuickRound button:hover{border-color:#c69b48;background:#fff9ec}
@media(min-width:851px){
 .modal{padding:16px;background:rgba(9,25,38,.76);backdrop-filter:blur(3px)}
 .modal .modalCard{width:min(940px,92vw);max-height:92vh;padding:16px 18px;border:1px solid rgba(189,207,219,.9);border-radius:16px;box-shadow:0 24px 70px rgba(8,31,48,.25)}
 .modal .modalHead{min-height:38px;padding-bottom:9px;border-bottom:1px solid #e4ebef}.modal .modalHead h2{font-size:23px;letter-spacing:-.015em}.modal .modalHead button{width:34px;height:34px;border-radius:50%;font-size:24px;line-height:1}.modal .modalHead button:hover{background:#eef4f7}
 .modal .grid{gap:8px 10px;margin-top:11px}.modal .field{gap:3px}.modal .field label{font-size:11px}.modal .field input,.modal .field select{min-height:37px;padding:7px 9px;font-size:12.5px}.modal .field textarea{min-height:68px;padding:8px 9px;font-size:13px;line-height:1.4}
 .modal .formSection{margin-top:3px;padding:8px 10px;border-radius:8px;background:linear-gradient(110deg,#f7fafd,#f1f6fa);border-color:#dce7ee}.modal .formSection span{font-size:9px}.modal .formSection b{font-size:13px}.modal .formSection small{font-size:9.5px;margin-top:2px}
 .modal .actions{margin-top:3px;padding-top:9px;border-top:1px solid #e7edf1}.modal .actions button,.modal .actions a{min-height:34px;padding:6px 11px;font-size:12px;border-radius:8px}
 .modal .invoiceReader{padding:12px!important;border-radius:11px!important}.modal .invoiceReader h3{font-size:16px!important}.modal .invoiceReader p{font-size:11px!important}.modal .staySummary{min-height:30px;padding:6px 9px;font-size:11px}
 .pricingModal .pricingCard{width:min(720px,92vw)}
}
@media(max-width:700px){.pricingFinal{align-items:stretch;flex-direction:column}.pricingFinal>div{width:100%;grid-template-columns:1fr 48px}}

/* v2.0.74 — markup or margin pricing assistant */
.pricingCard{width:min(720px,94vw)}.pricingCard .modalHead>div{display:flex;flex-direction:column;gap:2px}.pricingCard .modalHead h2{margin:0;font-size:24px}.pricingIntro{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.5}.pricingControls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.pricingControls label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:800}.pricingControls select,.pricingControls input{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}.pricingPercent{display:grid;grid-template-columns:1fr 38px}.pricingPercent input{border-radius:8px 0 0 8px}.pricingPercent b{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;background:#f3f6f8}.pricingExplanation{margin-top:12px;padding:10px 12px;border-left:4px solid #c69b48;border-radius:7px;background:#fff8e9;color:#526879;font-size:12px}.pricingPreview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.pricingPreview>div{padding:11px;border:1px solid var(--line);border-radius:9px;background:#f7f9fb}.pricingPreview span,.pricingPreview b{display:block}.pricingPreview span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pricingPreview b{margin-top:5px;font-size:15px}.pricingPreview>div:nth-child(2){background:#edf5ff;border-color:#cbdff4}.pricingNotice{margin-top:11px;color:var(--muted);font-size:11px}.pricingCard .actions{margin-top:14px}.pricingCard .actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:700px){.pricingControls,.pricingPreview{grid-template-columns:1fr 1fr}.pricingCard{width:100%}.pricingPreview b{font-size:14px}}

/* v2.0.73 — compact Edit service workspace */
@media(min-width:851px){
 .modalCard:has(#entryForm[data-kind="service"]){width:min(1040px,92vw);max-height:94vh;padding:16px 18px}
 .modalCard:has(#entryForm[data-kind="service"]) .modalHead h2{font-size:25px}
 .modalCard:has(#entryForm[data-kind="service"]) .modalHead button{font-size:26px}
 #entryForm[data-kind="service"]{gap:8px;margin-top:12px}
 #entryForm[data-kind="service"] .field{gap:3px}
 #entryForm[data-kind="service"] .field label{font-size:10.5px}
 #entryForm[data-kind="service"] .field input,
 #entryForm[data-kind="service"] .field select{min-height:38px;padding:7px 10px;font-size:14px}
 #entryForm[data-kind="service"] .field textarea{min-height:66px;padding:8px 10px;font-size:12.5px;line-height:1.4}
 #entryForm[data-kind="service"] .formSection{margin-top:3px;padding:8px 10px;border-radius:8px}
 #entryForm[data-kind="service"] .formSection span{font-size:9px;margin-bottom:2px}
 #entryForm[data-kind="service"] .formSection b{font-size:13px}
 #entryForm[data-kind="service"] .formSection small{font-size:9.5px;margin-top:2px;line-height:1.3}
 #entryForm[data-kind="service"] .staySummary{min-height:30px;padding:6px 10px;font-size:10.5px}
 #entryForm[data-kind="service"] .hotelFields{gap:8px}
 #entryForm[data-kind="service"] .actions{margin-top:2px}
 #entryForm[data-kind="service"] .actions button{min-height:34px;padding:6px 11px;font-size:12px}
}

/* v2.0.72 — secure Guide / Driver access */
.guideSharePanel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 12px;padding:14px 16px;border:1px solid #c7ddea;border-left:5px solid #1f6fe5;border-radius:12px;background:linear-gradient(105deg,#f8fcff 0%,#eef6fb 100%);box-shadow:0 8px 24px rgba(17,48,71,.06)}
.guideShareCopy h3{margin:3px 0;font-size:17px;color:#132b40}.guideShareCopy p{margin:0;color:#6b8090;font-size:11px}.guideShareCopy small{display:block;margin-top:6px;color:#31546d;font-size:8.5px}
.guideShareControls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.guideShareControls button,.guideShareControls a{min-height:34px;padding:7px 10px;font-size:9.5px}.guideContactChoice{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #c8d9e5;border-radius:8px;background:#fff;color:#315168;font-size:10px}.guideContactChoice input{width:15px;height:15px;margin:0}
.guideShareHistory{margin:-6px 4px 10px;color:#788b98;font-size:8.5px}
@media(max-width:900px){.guideSharePanel{grid-template-columns:1fr}.guideShareControls{justify-content:flex-start}}
@media(max-width:600px){.guideSharePanel{padding:13px}.guideShareControls{display:grid;grid-template-columns:1fr 1fr}.guideShareControls>*{width:100%;text-align:center}.guideShareControls .shareState,.guideShareControls .guideContactChoice{grid-column:1/-1}}

/* v2.0.71 — individual service vouchers */
.individualVouchers{margin-top:12px;padding-top:12px;border-top:1px solid #d9e3ea}
.individualVoucherHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.individualVoucherHead b{color:#17334a;font-size:13px}
.individualVoucherHead span,.voucherEmpty{color:#728695;font-size:11px}
.individualVoucherList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.individualVoucherList>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:1px solid #d8e3ea;border-radius:9px;background:rgba(255,255,255,.78)}
.individualVoucherList>div>span{min-width:0}
.individualVoucherList b,.individualVoucherList small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.individualVoucherList b{color:#17334a;font-size:10.5px}
.individualVoucherList small{margin-top:2px;color:#758897;font-size:8.5px}
.individualVoucherList button{flex:0 0 auto;min-height:30px;padding:6px 9px;font-size:10px}
@media(max-width:800px){.individualVoucherList{grid-template-columns:1fr}.individualVoucherHead{display:block}.individualVoucherHead span{display:block;margin-top:3px}}

@media(max-width:800px){
 .financeKpis,.tourFinanceKpis,.dashFinanceMini{grid-template-columns:1fr 1fr}
 .financePanelHead,.tourFinanceTop{align-items:flex-start;flex-direction:column}
}

.modalError{padding:22px;border:1px solid #f0c9cd;background:#fff7f8;border-radius:12px;color:#86333d}
.modalError b{display:block;margin-bottom:6px}
.modalError small{display:block;line-height:1.5}

/* v1.0.3 finance usability */
.rowActions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.markClientPaid,.markSupplierPaid{background:#edf7f1!important;border-color:#cfe7d8!important;color:#276a45!important}

/* =========================================================
   v1.1 BOOKINGS
   ========================================================= */
.bookingTop{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}
.bookingTop h3{margin:4px 0 2px;font-size:24px}.bookingTop p{margin:0;color:#748593}
.bookingKpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:10px}
.bookingKpis>div{border:1px solid #dfe7ed;background:#f9fbfc;border-radius:13px;padding:14px}
.bookingKpis span{display:block;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#788997}
.bookingKpis b{display:block;font-size:21px;color:#17334a;margin-top:4px}
.bookingKpis small{display:block;margin-top:3px;color:#80909c}
.bookingKpis .danger{background:#fff7f7;border-color:#efcdd1}
.bookingKpis .danger b{color:#9b3b46}
.bookingProgressBar{height:7px;background:#e7edf1;border-radius:20px;overflow:hidden;margin-bottom:14px}
.bookingProgressBar i{display:block;height:100%;background:#1f6fd7;border-radius:20px}
.bookingStatusSummary{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 14px}
.bookingStatusSummary>span{display:flex;gap:6px;align-items:center}
.bookingTable td small{display:block;margin-top:3px;color:#82919d}
.bookingTable .bookingAttention td{background:#fffaf2}
.deadlineAlert{color:#a14a31!important;font-weight:800}
.bookingCreatePay{background:#eef6fa!important;color:#2d607e!important;border-color:#d6e7ef!important}
.bookingConfirm{background:#edf7f1!important;color:#276a45!important;border-color:#cfe7d8!important}
.tourBookingMini{display:block;margin-top:4px;color:#7d8c98;font-size:11px}
.tourBookingMini b{color:#a1434d!important;font-size:11px!important;display:inline!important}
@media(max-width:1000px){.bookingKpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.bookingTop{align-items:flex-start;flex-direction:column}.bookingKpis{grid-template-columns:1fr 1fr}}

/* v1.1.1 Attention Center */
.attentionCenter{padding:0;overflow:hidden;margin-bottom:18px}
.attentionHead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e5edf2}
.attentionHead h3{margin:3px 0 2px}.attentionHead p{margin:0;color:#788894;font-size:14px}
.attentionCount{min-width:78px;text-align:center;background:#edf4f7;border-radius:12px;padding:8px 12px}
.attentionCount b{display:block;font-size:22px;color:#17354a}.attentionCount span{font-size:11px;color:#71828f;text-transform:uppercase;font-weight:800}
.attentionCount.danger{background:#fff0f1}.attentionCount.danger b{color:#9d3e48}
.attentionList{display:flex;flex-direction:column}
.attentionItem{width:100%;display:grid;grid-template-columns:125px 1fr 210px;align-items:center;gap:16px;text-align:left;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:12px 18px;cursor:pointer;color:#263f51}
.attentionItem:last-child{border-bottom:0}.attentionItem:hover{background:#f7fafb}.attentionItem.overdue{background:#fffafa;border-left:3px solid #b24a55}
.attentionDate{font-weight:700;font-size:13px}.attentionDate b{display:block;color:#a33d48;font-size:10px;margin-top:3px}
.attentionText b,.attentionTour{display:block;color:#17354a}.attentionText small,.attentionTour small{display:block;color:#80909b;margin-top:2px}
.compactEmpty{padding:18px!important}
@media(max-width:800px){.attentionItem{grid-template-columns:100px 1fr}.attentionTour{display:none}}

/* =========================================================
   v1.2 DOCUMENTS
   ========================================================= */
.documentTop{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.documentTop h3{margin:4px 0 2px;font-size:24px}.documentTop p{margin:0;color:#788894}
.documentKpis,.documentGlobalStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.documentKpis>div,.documentGlobalStats>div{border:1px solid #dfe7ed;background:#f9fbfc;border-radius:13px;padding:14px}
.documentKpis span,.documentGlobalStats span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#788997}
.documentKpis b,.documentGlobalStats b{display:block;margin-top:4px;font-size:21px;color:#17354a}
.documentGrid{display:flex;flex-direction:column;gap:10px}
.documentCard{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:start;border:1px solid #dfe7ed;background:#fff;border-radius:14px;padding:14px}
.documentIcon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#eef4f7;color:#31566e;font-size:12px;font-weight:900;letter-spacing:.05em}
.documentCardHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.documentCardHead span{font-size:11px;font-weight:800;letter-spacing:.05em;color:#7d8d99;text-transform:uppercase}
.documentCardHead h4{margin:3px 0 0;font-size:17px;color:#17354a}
.documentMeta,.documentLinks,.documentFlags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;font-size:12px;color:#7d8d99}
.documentLinks b{color:#334d5e}
.documentMain p{margin:9px 0 0;color:#667985;font-size:13px}
.documentFlags span,.docVisibility{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;letter-spacing:.04em}
.documentFlags .client,.docVisibility.client{background:#eaf6ee;color:#2a6847}
.documentFlags .internal,.docVisibility.internal{background:#eef2f4;color:#596b77}
.documentActions{display:flex;gap:6px;align-items:center}
.dangerBtn{color:#9c3f48!important}
.financeStatus.active{background:#eaf6ee;color:#276745}
.financeStatus.draft{background:#eef2f5;color:#60727d}
.financeStatus.sent{background:#edf4fa;color:#376a8a}
.financeStatus.expired{background:#fff0f1;color:#a1414c}
.financeStatus.archived{background:#f0f0f0;color:#666}
#documentTable td small{display:block;margin-top:3px;color:#81919c}
@media(max-width:800px){
 .documentKpis,.documentGlobalStats{grid-template-columns:1fr 1fr}
 .documentCard{grid-template-columns:48px 1fr}
 .documentActions{grid-column:2;justify-content:flex-start}
}

/* v1.3 Management Reports */
.reportFilters{display:flex;gap:10px;padding:14px;margin-bottom:16px}.reportFilters input{flex:1}
.reportWarning{padding:11px 14px;border:1px solid #ead8ad;background:#fffaf0;border-radius:11px;color:#755d28;font-size:13px;margin-bottom:14px}
.reportCurrencyBlock{margin-bottom:14px}.reportCurrencyTitle{font-size:12px;font-weight:900;color:#617481;margin:0 0 6px 3px;letter-spacing:.06em}
.reportKpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.reportKpis>div{border:1px solid #dfe7ed;background:#f9fbfc;border-radius:13px;padding:14px}.reportKpis span{display:block;font-size:11px;text-transform:uppercase;font-weight:800;color:#788997}.reportKpis b{display:block;margin-top:4px;font-size:20px;color:#17354a}.reportKpis small{display:block;margin-top:2px;color:#768994}
.reportGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}.reportGrid>.card{padding:16px}
.reportPanelHead{margin-bottom:12px}.reportPanelHead h3{margin:4px 0 0}
.statusReport{display:flex;flex-direction:column;gap:7px}.statusReport>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f3;padding-bottom:7px}
.reportTourLink{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #edf1f3;padding:9px 2px;cursor:pointer}.reportTourLink span{grid-row:1/3;color:#6f8290;font-size:12px}.reportTourLink b{color:#17354a}.reportTourLink small{color:#82919b}
.reportTableCard{padding:16px;margin-bottom:14px}.reportDue{color:#a1454d}
.reportBalanceRow{display:grid;grid-template-columns:1fr 180px 180px;width:100%;border:0;border-bottom:1px solid #edf1f3;background:#fff;text-align:left;padding:10px 2px;cursor:pointer}.reportBalanceRow b{color:#17354a}.reportBalanceRow span{color:#6f8290;font-size:13px}
@media(max-width:1050px){.reportKpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.reportGrid{grid-template-columns:1fr}.reportBalanceRow{grid-template-columns:1fr}.reportFilters{flex-direction:column}}

/* v1.4 Proposal / client quote */
.proposalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.proposalHead h3{margin:4px 0}.proposalHead p{margin:0;color:#758893;max-width:720px}
.proposalHeadActions{display:flex;gap:8px}.proposalQuoteSelect{display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid #dfe7ed;border-radius:12px;background:#f8fafb;margin-bottom:13px}
.proposalQuoteSelect label{font-size:11px;font-weight:900;text-transform:uppercase;color:#728693;letter-spacing:.05em}.proposalQuoteSelect select{min-width:250px}
.proposalEditor{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px}.proposalEditorMain,.proposalEditorSide{border:1px solid #dfe7ed;border-radius:14px;background:#fff;padding:15px}
.proposalEditorMain{display:flex;flex-direction:column;gap:11px}.proposalTwo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proposalEditor .field{margin:0}
.proposalEditor textarea{resize:vertical;min-height:95px}.proposalEditorSide{height:max-content;position:sticky;top:10px}.proposalCheck{display:flex;gap:8px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #edf1f3;font-size:13px;color:#4c6472}
.proposalInfo{margin:13px 0;padding:11px;background:#f5f8fa;border-radius:10px}.proposalInfo b,.proposalInfo span{display:block}.proposalInfo b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}.proposalInfo span{font-size:12px;color:#70838f;padding:3px 0}.fullBtn{width:100%}
@media(max-width:900px){.proposalEditor{grid-template-columns:1fr}.proposalEditorSide{position:static}.proposalTwo{grid-template-columns:1fr}.proposalHead{flex-direction:column}}

/* v1.5 Tour Readiness */
.readinessHero{display:flex;justify-content:space-between;align-items:center;padding:18px;border:1px solid #dfe7ed;border-radius:15px;background:#fff8f7}.readinessHero.ready{background:#f2faf5;border-color:#cfe5d6}.readinessHero h2{margin:4px 0}.readinessHero p{margin:0;color:#748792}.readinessScore{text-align:right}.readinessScore b{display:block;font-size:31px}.readinessScore span{font-size:11px;text-transform:uppercase;color:#788b96}.readinessProgress{height:6px;background:#e9eef1;border-radius:10px;margin:10px 0 14px;overflow:hidden}.readinessProgress i{display:block;height:100%;background:#56798e}.readinessSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.readinessSummary div{border:1px solid #dfe7ed;border-radius:12px;padding:12px}.readinessSummary span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;color:#80909a}.readinessSummary b{display:block;margin-top:4px;font-size:18px}.readinessChecks{display:flex;flex-direction:column;gap:7px}.readinessCheck{display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:center;width:100%;text-align:left;border:1px solid #dfe7ed;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer}.readinessCheck.ok{border-left:4px solid #65a47c}.readinessCheck.warning{border-left:4px solid #d1a44d}.readinessCheck.fail{border-left:4px solid #c76b70}.readinessIcon{width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;background:#eef3f5}.readinessText b,.readinessText small{display:block}.readinessText small{margin-top:2px;color:#7a8c97}.readinessGo{font-size:22px;color:#91a0a8}.readyBadge{white-space:nowrap;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.readyBadge.ready{background:#e8f5ed;color:#2e6b47}.readyBadge.notReady{background:#fff0f1;color:#9e434b}.readinessDash{padding:15px;margin-top:14px}.readinessDashHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}.readinessDashHead h3{margin:3px 0}.readinessDashHead>span{font-size:11px;color:#81919b}.readinessDashRow{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid #edf1f3;background:#fff;padding:10px 2px;text-align:left;cursor:pointer}.readinessTour b,.readinessTour small{display:block}.readinessTour small{color:#82929c;margin-top:2px}@media(max-width:760px){.readinessSummary{grid-template-columns:1fr 1fr}.readinessDashRow{grid-template-columns:1fr}}

/* v1.6 Tour Control Center */
.ccTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:13px}.ccTop h2{margin:4px 0 3px;font-size:25px}.ccTop p{margin:0;color:#788b96}.ccTopRight{display:flex;gap:7px;align-items:center}.ccStatus{padding:5px 8px;border-radius:999px;background:#eef3f5;font-size:10px;font-weight:900}.ccAlert{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid #ecd7b7;background:#fff9ee;border-radius:12px;padding:10px 12px;margin-bottom:12px;cursor:pointer}.ccAlert b{font-size:10px;color:#956a27}.ccAlert span{font-size:12px}.ccKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:12px}.ccKpis button{border:1px solid #dfe7ed;background:#fff;border-radius:12px;padding:12px;text-align:left;cursor:pointer}.ccKpis span,.ccKpis b,.ccKpis small{display:block}.ccKpis span{font-size:10px;text-transform:uppercase;font-weight:900;color:#81929c}.ccKpis b{font-size:20px;margin:4px 0}.ccKpis small{color:#8797a0}.ccGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ccCard{border:1px solid #dfe7ed;border-radius:14px;background:#fff;padding:14px}.ccCardHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px}.ccCardHead h3{margin:3px 0;font-size:17px}.ccCardHead>button{border:0;background:#eef3f5;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800;cursor:pointer}.ccReadyLine{display:grid;grid-template-columns:45px 1fr auto;gap:9px;align-items:center}.ccReadyLine>b{font-size:19px}.ccReadyLine>div,.ccBar{height:6px;background:#e9eef1;border-radius:10px;overflow:hidden}.ccReadyLine i,.ccBar i{display:block;height:100%;background:#56798e}.ccReadyLine>span{font-size:10px;color:#7b8d98}.ccMiniList button{display:grid;grid-template-columns:22px 1fr;column-gap:7px;width:100%;border:0;border-top:1px solid #edf1f3;background:#fff;padding:7px 0;text-align:left;cursor:pointer}.ccMiniList button span{grid-row:1/3;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900}.ccMiniList .bad{background:#fff0f1;color:#a1474e}.ccMiniList .warn{background:#fff5df;color:#8b6928}.ccMiniList button b{font-size:11px}.ccMiniList button small{font-size:10px;color:#82939d}.ccGood{font-size:12px;color:#39704e}.ccStats{display:flex;gap:20px;padding:9px 0;font-size:11px;color:#718590}.ccDeadline{width:100%;display:grid;grid-template-columns:75px 1fr auto;gap:7px;border:0;border-top:1px solid #edf1f3;background:#fff;padding:7px 0;text-align:left;cursor:pointer}.ccDeadline span{font-size:10px;color:#7e909a}.ccDeadline b{font-size:11px}.ccDeadline em{font-style:normal;font-size:9px;font-weight:900;color:#a3484e}.ccMuted{font-size:11px;color:#85959e}.ccResource{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #edf1f3}.ccResource span{font-size:11px;color:#7c8e98}.ccResource b{font-size:11px;text-align:right}@media(max-width:900px){.ccKpis{grid-template-columns:1fr 1fr}.ccGrid{grid-template-columns:1fr}.ccTop{flex-direction:column}}@media(max-width:560px){.ccKpis{grid-template-columns:1fr}}

/* v1.7 Tasks & Follow-ups */
.taskPageCard{padding:14px}.taskTools{display:grid;grid-template-columns:1fr 180px 160px;gap:8px}.taskStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}.taskStats>div{border:1px solid #dfe7ed;border-radius:11px;padding:10px;background:#fff}.taskStats span,.taskStats b{display:block}.taskStats span{font-size:10px;text-transform:uppercase;font-weight:900;color:#83949e}.taskStats b{font-size:21px;margin-top:3px}.taskStats .danger b{color:#a3484e}
.taskList{display:flex;flex-direction:column}.taskRow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;border-top:1px solid #edf1f3;padding:10px 2px}.taskRow:first-child{border-top:0}.taskRow.overdue{background:#fffafa}.taskCheck{width:23px;height:23px;border-radius:50%;background:#eef3f5;display:flex;align-items:center;justify-content:center;font-weight:900;color:#527086}.taskMain{min-width:0}.taskTitleLine{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.taskTitleLine>b{font-size:13px;color:#244457}.taskMain>small{display:block;margin-top:3px;color:#7f909a}.taskMain>p{font-size:11px;color:#667b88;margin:6px 0 0}.taskActions{display:flex;gap:5px}.taskPill{padding:3px 6px;border-radius:999px;font-size:9px;font-weight:900;background:#eef3f5}.taskPill.status-overdue{background:#fff0f1;color:#a3484e}.taskPill.status-due-today{background:#fff5df;color:#896623}.taskPill.status-done{background:#e8f5ed;color:#39704e}.priority{font-size:9px;font-weight:900;letter-spacing:.03em;color:#82929c}.priority.high{color:#a36d26}.priority.urgent{color:#a3484e}
.taskTabHead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:10px}.taskTabHead h3{margin:3px 0}.taskTabHead p{margin:0;color:#80909a;font-size:12px}.dashTasks{padding:15px;margin-top:14px}.taskDashHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}.taskDashHead h3{margin:3px 0}.taskDashHead>div:last-child{display:flex;gap:10px;align-items:center;font-size:10px;color:#7c8d97}.taskDashHead button{border:0;background:#eef3f5;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:900;cursor:pointer}.dangerText{color:#a3484e!important;font-weight:900}.taskList.compact .taskRow{padding:8px 2px}.taskList.compact .taskMain>p{display:none}
@media(max-width:760px){.taskTools{grid-template-columns:1fr}.taskStats{grid-template-columns:1fr 1fr 1fr}.taskRow{grid-template-columns:26px 1fr}.taskActions{grid-column:2}.taskDashHead{align-items:flex-start;flex-direction:column;gap:8px}}

/* v1.8 Daily Work Center */
.wcHero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 18px;border:1px solid #dfe7ed;border-radius:15px;background:linear-gradient(135deg,#f8fafb,#fff);margin-bottom:10px}.wcHero h2{margin:4px 0 3px;font-size:23px}.wcHero p{margin:0;color:#7b8d98}.wcHeroStats{display:flex;gap:8px}.wcHeroStats>div{min-width:82px;border:1px solid #dfe7ed;border-radius:11px;padding:9px 11px;background:#fff;text-align:center}.wcHeroStats b,.wcHeroStats span{display:block}.wcHeroStats b{font-size:22px}.wcHeroStats span{font-size:9px;text-transform:uppercase;font-weight:900;color:#83949e;margin-top:2px}.wcHeroStats .danger b{color:#a3484e}
.wcColumns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.wcCard{border:1px solid #dfe7ed;border-radius:14px;background:#fff;padding:13px}.wcCardHead{display:flex;justify-content:space-between;align-items:end;margin-bottom:4px}.wcCardHead h3{margin:3px 0}.wcCardHead>span{font-size:11px;color:#82939d}.wcList{display:flex;flex-direction:column}.wcRow{display:grid;grid-template-columns:82px 1fr auto 18px;gap:9px;align-items:center;width:100%;border:0;border-top:1px solid #edf1f3;background:#fff;padding:9px 1px;text-align:left;cursor:pointer}.wcRow:first-child{border-top:0}.wcRow.overdue{background:#fffafa}.wcRow.today{background:#fffdf5}.wcDate{font-size:10px;color:#7a8c97}.wcBody{min-width:0}.wcTitle,.wcBody small{display:block}.wcTitle{font-size:12px;font-weight:800;color:#29495b}.wcBody small{font-size:10px;color:#80919b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wcKind{padding:4px 6px;border-radius:999px;background:#eef3f5;font-size:9px;font-weight:900;white-space:nowrap}.wcKind.status-client-payment{background:#edf4ff;color:#47678a}.wcKind.status-supplier-payment{background:#fff4e7;color:#8d672e}.wcKind.status-readiness{background:#fff0f1;color:#a3484e}.wcKind.status-departure{background:#edf7f0;color:#3e7351}.wcKind.status-task{background:#f0f1fb;color:#5d5f8f}.wcArrow{font-size:19px;color:#95a4ac}
@media(max-width:950px){.wcColumns{grid-template-columns:1fr}.wcHero{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.wcHeroStats{width:100%}.wcHeroStats>div{flex:1;min-width:0}.wcRow{grid-template-columns:1fr auto}.wcDate{display:none}.wcArrow{display:none}}

/* v1.9 Settings & Team Management */
.settingsGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.settingsCard{border:1px solid #dfe7ed;border-radius:14px;background:#fff;padding:15px;margin-bottom:12px}.settingsHead{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:12px}.settingsHead h3{margin:3px 0}.settingsHead p{margin:0;color:#81919a;font-size:11px}
.teamTable{display:flex;flex-direction:column}.teamRow{display:grid;grid-template-columns:36px 1.2fr 1fr 80px 60px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf1f3}.teamRow:first-child{border-top:0}.avatar{width:32px;height:32px;border-radius:50%;background:#edf3f6;display:flex;align-items:center;justify-content:center;font-weight:900;color:#4d6c7e}.teamRow b,.teamRow small{display:block}.teamRow small{font-size:10px;color:#82939d;margin-top:2px}.roleBadge,.activeBadge,.inactiveBadge{display:inline-block;padding:4px 6px;border-radius:999px;font-size:9px;font-weight:900}.roleBadge{background:#eef3f5;color:#526f80}.activeBadge{background:#eaf5ee;color:#3e7351}.inactiveBadge{background:#f1f2f3;color:#89959c}
.settingForm{display:grid;grid-template-columns:1fr 1fr;gap:9px}.settingForm label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;color:#71848f}.settingForm input,.settingForm select{border:1px solid #d8e1e6;border-radius:8px;padding:9px;background:#fff}.settingForm .full{grid-column:1/-1}
.permissionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.permissionGrid>div{border:1px solid #e3eaee;border-radius:11px;padding:11px}.permissionGrid b,.permissionGrid span{display:block}.permissionGrid b{font-size:10px;color:#34546a}.permissionGrid span{font-size:10px;color:#81919b;margin-top:4px;line-height:1.35}.settingsNote{font-size:10px;color:#80909a;margin:12px 0 0;padding-top:10px;border-top:1px solid #edf1f3}
@media(max-width:950px){.settingsGrid{grid-template-columns:1fr}.permissionGrid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.teamRow{grid-template-columns:36px 1fr auto}.teamRow>div:nth-child(3),.teamRow>div:nth-child(4){grid-column:2}.teamRow>div:nth-child(5){grid-column:3;grid-row:1}.settingForm{grid-template-columns:1fr}.permissionGrid{grid-template-columns:1fr}}

/* v2.0 Secure Guest Portal share links */
.proposalShareBox{display:flex;justify-content:space-between;gap:15px;align-items:center;border:1px solid #dbe7ec;background:#f8fbfc;border-radius:13px;padding:12px 14px;margin:10px 0}.proposalShareBox h4{margin:3px 0}.proposalShareBox p{margin:0;color:#7e909a;font-size:10px}.proposalShareActions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.shareState{display:inline-block;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}.shareState.on{background:#e9f5ed;color:#39724d}.shareState.off{background:#f1f3f4;color:#7d8a91}.shareHistory{display:flex;justify-content:space-between;font-size:10px;color:#81919b;margin:-3px 3px 10px}.shareUrlRow{display:flex;gap:6px}.shareUrlRow input{flex:1}.portalShareWarn{border:1px solid #f0dfb6;background:#fffaf0;border-radius:9px;padding:9px;font-size:10px;color:#806a35}.dangerBtn{color:#a44f54!important}.full{grid-column:1/-1}
@media(max-width:700px){.proposalShareBox{align-items:flex-start;flex-direction:column}.proposalShareActions{justify-content:flex-start}.shareHistory{flex-direction:column;gap:3px}}
.proposalShareActions a.secondary{text-decoration:none;display:inline-flex;align-items:center}
.productLibraryTools{display:grid;grid-template-columns:minmax(240px,1fr) 190px 190px;gap:10px;margin-bottom:14px}.productLibraryTools input,.productLibraryTools select{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.productLibraryCount{font-size:12px;color:var(--muted);margin:0 0 10px}@media(max-width:850px){.productLibraryTools{grid-template-columns:1fr}}
.dateIssue{display:block;color:#b45309;font-weight:750;margin-top:5px}.serviceMove{display:flex;gap:4px}.serviceMove .mini{padding:4px 8px;font-weight:900}.serviceMove .mini:disabled{opacity:.3;cursor:not-allowed}
.libraryPicker{position:relative}.libraryPicker>input[type="text"]{width:100%}.librarySuggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);max-height:290px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 35px #10203326;padding:5px}.librarySuggestions button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;border-radius:7px;cursor:pointer}.librarySuggestions button:hover,.librarySuggestions button.active{background:#eaf3ff}.librarySuggestions b,.librarySuggestions span{display:block}.librarySuggestions b{font-size:13px}.librarySuggestions span{font-size:11px;color:var(--muted);margin-top:3px}.libraryNoResults{padding:12px;color:var(--muted);font-size:12px}
/* v2.0.4 internal photo manager */
.photoManager{border:1px solid #dfe6e8;border-radius:10px;padding:16px;background:#f8fafb}.photoCurrent{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:center;margin:2px 0 14px}.photoCurrent img{display:block;width:180px;height:110px;object-fit:cover;border-radius:8px;border:1px solid #dce4e6}.photoCurrent>div{display:flex;flex-direction:column;gap:5px}.photoCurrent b{color:#173743}.photoCurrent small,.photoEmpty{color:#71838b;font-size:13px}.removePhoto{display:flex!important;align-items:center;gap:7px;margin-top:7px;color:#a14444!important;font-weight:600}.removePhoto input{width:auto!important}.photoEmpty{padding:12px;border:1px dashed #cbd7da;border-radius:7px;margin:2px 0 12px}.photoManager>input[type=file]{background:#fff}.photoManager>small{display:block;margin-top:6px}@media(max-width:650px){.photoCurrent{grid-template-columns:1fr}.photoCurrent img{width:100%;height:180px}}
/* v2.0.6 direct photo removal */
.photoThumb,.productGalleryPhoto{position:relative}.photoTrash{position:absolute;top:8px;right:8px;width:34px;height:34px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:#a33e43;box-shadow:0 3px 12px rgba(14,39,50,.22);cursor:pointer;font-size:17px;line-height:1;z-index:2}.photoTrash:hover{background:#a33e43;color:#fff;transform:scale(1.04)}.photoTrash:disabled{opacity:.45;cursor:wait}.photoThumb{width:180px}.productGalleryPhoto{overflow:hidden;border:1px solid #dce4e6;border-radius:8px;background:#fff}.productGalleryPhoto>span{display:block;padding:7px 9px;color:#71838b;font-size:11px;font-weight:700}.productGalleryPhoto img{display:block;width:100%;height:105px;object-fit:cover}@media(max-width:650px){.photoThumb{width:100%}.photoThumb img{width:100%}}
/* v2.0.7 hotel photo ordering */
.productGalleryPhoto{cursor:grab;transition:opacity .15s,transform .15s}.productGalleryPhoto.dragging{opacity:.45;transform:scale(.97)}.photoOrder{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:5px;padding:6px}.photoOrder button{height:28px;border:1px solid #d7e1e5;border-radius:7px;background:#fff;color:#244b5d;cursor:pointer;font-weight:900}.photoOrder button:hover{background:#173f50;color:#fff}.photoOrder span{text-align:center!important;padding:0!important;color:#71838b!important;font-size:10px!important;font-weight:700!important;text-transform:none!important;letter-spacing:0!important}
/* v2.0.5 Hotels / Product Library */
.productLibraryGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.productLibraryCard{overflow:hidden;border:1px solid #dfe6e8;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(20,48,59,.05)}.productLibraryCard>img,.productNoPhoto{display:block;width:100%;height:165px;object-fit:cover}.productNoPhoto{display:flex;align-items:center;justify-content:center;background:#edf2f3;color:#83939a;font-size:13px}.productLibraryCard>div:last-child{padding:17px}.productLibraryCard span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7a8d95}.productLibraryCard h3{margin:6px 0 4px;color:#153b49;font-size:19px}.productLibraryCard p{margin:0 0 6px;color:#657a83}.productLibraryCard small{color:#8b999e}.productCardFoot{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:12px;border-top:1px solid #edf0f1}.productGalleryField{border:1px solid #dfe6e8;border-radius:10px;padding:16px;background:#f8fafb}.productGalleryEdit{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 14px}.productGalleryEdit>label{overflow:hidden;border:1px solid #dce4e6;border-radius:8px;background:#fff}.productGalleryEdit img{display:block;width:100%;height:105px;object-fit:cover}.productGalleryEdit span{display:flex;align-items:center;gap:6px;padding:8px;color:#a14444;font-size:12px;font-weight:600}.productGalleryEdit input{width:auto!important}.productGalleryField>small{display:block;margin-top:7px}@media(max-width:650px){.productLibraryGrid{grid-template-columns:1fr}.productGalleryEdit{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2.0.20 notification center */
.headerActions{display:flex;align-items:center;gap:15px}.notificationWrap{position:relative}.notificationBell{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.notificationBell:hover{background:#f3f7fb}.notificationBell>span{font-size:18px;line-height:1;filter:grayscale(1)}.notificationBell>b{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#d8423a;color:#fff;font-size:10px;line-height:15px;text-align:center}.notificationPanel{position:absolute;right:0;top:47px;width:min(430px,calc(100vw - 28px));max-height:72vh;overflow:hidden;background:#fff;border:1px solid #dbe3eb;border-radius:16px;box-shadow:0 18px 48px #17314b33;z-index:90}.notificationHead{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line)}.notificationHead h3{margin:3px 0 0;font-size:18px}.notificationHead>b{display:flex;align-items:center;justify-content:center;min-width:31px;height:31px;border-radius:10px;background:#eaf3fb;color:#28699f}.notificationList{max-height:56vh;overflow:auto}.notificationItem{display:grid;grid-template-columns:70px minmax(0,1fr) auto 14px;align-items:center;gap:9px;width:100%;padding:11px 13px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;cursor:pointer}.notificationItem:hover{background:#f7fafc}.notificationItem.overdue{background:#fff7f6}.notificationItem.today{background:#fffaf0}.notificationDate{font-size:10px!important;font-weight:750;color:#687b8d!important}.notificationBody{min-width:0}.notificationBody>b,.notificationBody>small{display:block}.notificationBody>b{font-size:12px;color:#193247;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notificationBody>small{margin-top:3px;font-size:10px!important;color:#728293!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notificationItem>.wcKind{font-size:9px!important;padding:4px 6px}.notificationItem>i{font-style:normal;color:#7990a4}.notificationEmpty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.notificationMore{padding:10px 14px;background:#f7f9fb;color:#617487;font-size:10px;text-align:center}.notificationAutomationLink{display:block;width:100%;padding:10px 14px;border:0;border-top:1px solid #e4eaee;background:#f7f9fb;color:#286a9d;font-size:10px;font-weight:850;text-align:center;cursor:pointer}.hidden.notificationPanel{display:none!important}@media(max-width:650px){header{padding:0 12px}header input{width:min(60vw,420px)}.headerActions{gap:8px}.notificationPanel{position:fixed;top:68px;right:10px;left:10px;width:auto}}

/* v2.0.22 mobile usability */
.mobileMenuButton,.mobileNavClose,.mobileNavBackdrop{display:none}
.mobileNavHead{display:block}
@media(max-width:850px){
 body{overflow-x:hidden}
 body.mobileNavOpen{overflow:hidden}
 .shell{display:block;min-height:100dvh}
 main{min-width:0}
 aside{display:flex;position:fixed;z-index:121;left:0;top:0;bottom:0;width:min(310px,86vw);height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 14px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;box-shadow:18px 0 50px #06142155;transform:translateX(-105%);transition:transform .22s ease}
 body.mobileNavOpen aside{transform:translateX(0)}
 .mobileNavHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
 .mobileNavHead .white{margin:5px 8px 24px}
 .mobileNavClose{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:#ffffff12;color:#fff;font-size:29px;line-height:1;cursor:pointer}
 .mobileNavBackdrop{position:fixed;z-index:120;inset:0;display:block;border:0;background:#07182799;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
 body.mobileNavOpen .mobileNavBackdrop{opacity:1;visibility:visible;pointer-events:auto}
 nav button,.logout{min-height:46px;font-size:16px}
 header{position:sticky;z-index:15;top:0;height:auto;min-height:62px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));gap:8px;box-shadow:0 2px 12px #1020330d}
 .mobileMenuButton{display:flex;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}
 .mobileMenuButton span{display:block;width:18px;height:2px;border-radius:2px;background:#29445b}
 header>input{flex:1;min-width:0;width:auto!important;height:44px;font-size:17px}
 .headerActions{flex:0 0 auto}
 #who,#buildBadge{display:none!important}
 .notificationBell{width:44px;height:44px}
 .notificationPanel{top:66px;max-height:calc(100dvh - 82px);border-radius:14px}
 .notificationList{max-height:calc(100dvh - 170px)}
 .page{padding:14px 12px calc(24px + env(safe-area-inset-bottom))}
 .pageHead{align-items:flex-start;gap:12px;margin-bottom:14px}
 .pageHead h1{font-size:25px}
 .pageHead p{font-size:13px;line-height:1.4}
 .pageHead>.primary{flex:0 0 auto}
 .stats{grid-template-columns:1fr 1fr;gap:9px}
 .stats article,.card{padding:14px}
 .stats b{font-size:25px}
 button.primary,a.primary,.secondary,.mini{min-height:40px}
 .tableWrap,.quoteTableWrap,.calendarViewport,.availabilityViewport{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
 .tableWrap{margin-left:-1px;margin-right:-1px}
 .tableWrap>table{min-width:720px}
 .quoteTable{min-width:860px}
 th,td{padding:10px 8px}
 .opsTabs,.tourPipeline,.clientTabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;-webkit-overflow-scrolling:touch}
 .opsTabs button,.clientTabs button{flex:0 0 auto;min-height:42px;white-space:nowrap}
 .calendarSummary,.availabilitySummary{grid-template-columns:1fr 1fr}
 .calendarSummary>div:first-child{grid-column:1/-1}
 .calendarHead{padding:12px 10px;gap:8px}
 .calendarHead h3{font-size:16px}
 .calendarHead p{display:none}
 .weekHead,.calendarGrid{grid-template-columns:repeat(7,140px);min-width:980px}
 .calDay{min-height:170px}
 .availabilityViewport{max-height:68dvh}
 .availabilityResource{max-width:145px}
 .resourceDays{grid-template-columns:1fr}
 .opsResourceHead{align-items:flex-start;gap:10px}
 .tourPanel,.drawerPanel{width:100vw;max-width:none;height:100dvh;border-radius:0}
 .drawerHead{padding:calc(14px + env(safe-area-inset-top)) 15px 12px}
 .drawerHead h2{font-size:21px;line-height:1.18;overflow-wrap:anywhere}
 .drawerHead>button{flex:0 0 44px;width:44px;height:44px}
 #drawerBody{padding:15px 14px calc(28px + env(safe-area-inset-bottom))}
 .tourTopActions{padding:12px 14px 0;gap:7px}
 .tourTopActions button{flex:1}
 .tourTabs{padding:10px 12px 0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .tourTabs button{min-height:44px;padding:10px 12px}
 .tourTabContent{padding:15px 12px calc(28px + env(safe-area-inset-bottom))}
 .drawerMeta{flex-wrap:wrap}
 .modal{align-items:end;padding:0;background:#0a162299}
 .modalCard{width:100vw!important;max-width:none;max-height:94dvh;border-radius:18px 18px 0 0;padding:17px 14px calc(18px + env(safe-area-inset-bottom))}
 .modalHead{position:sticky;z-index:3;top:-17px;margin:-17px -14px 0;padding:15px 14px 10px;background:#fff;border-radius:18px 18px 0 0;border-bottom:1px solid var(--line)}
 .modalHead h2{font-size:21px}
 .modalHead button{width:44px;height:44px}
 .grid{grid-template-columns:1fr;gap:11px;margin-top:14px}
 .field.full,.formSection,.staySummary,.hotelFields,.full{grid-column:1}
 .field input,.field select,.field textarea,.tableTools input,.tableTools select,.settingForm input,.settingForm select,.productLibraryTools input,.productLibraryTools select{width:100%;min-height:44px;font-size:17px}
 .field textarea{min-height:110px}
 .actions{grid-column:1;position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));z-index:2;margin:8px -14px calc(-18px - env(safe-area-inset-bottom));padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);flex-wrap:wrap}
 .actions>*{flex:1;min-width:120px}
 .quoteVersionBar,.quoteStatusRow{align-items:flex-start;flex-direction:column}
 .quoteActions,.quoteStatusActions,.proposalHeadActions{width:100%}
 .quoteActions button,.quoteStatusActions button,.proposalHeadActions button{flex:1}
 .quoteKpis,.financeKpis,.tourFinanceKpis,.dashFinanceMini,.bookingKpis,.documentKpis,.documentGlobalStats,.reportKpis,.readinessSummary{grid-template-columns:1fr 1fr}
 .proposalQuoteSelect{align-items:stretch;flex-direction:column}
 .proposalQuoteSelect select{min-height:44px;font-size:17px}
 .shareUrlRow{align-items:stretch;flex-direction:column}
 .shareUrlRow button{width:100%}
 .readinessHero{align-items:flex-start;gap:12px;flex-direction:column}
 .readinessScore{text-align:left}
 .ccAlert{grid-template-columns:1fr auto}
 .ccAlert b{grid-column:1/-1}
 .ccKpis{grid-template-columns:1fr 1fr}
 .ccDeadline{grid-template-columns:65px 1fr}
 .ccDeadline em{grid-column:2}
 .wcCard,.dashTasks,.readinessDash{padding:11px}
 .taskActions{flex-wrap:wrap}
 .photoCurrent img{height:160px}
}

/* v2.0.60 adaptive desktop web layout */
@media(min-width:851px){
 .shell,.shell>main,main,.page,.card,.opsCard,.calendarViewport{min-width:0;max-width:100%}
 .calendarViewport{overflow-x:hidden}
 .weekHead,.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;width:100%}
 .weekHead span{min-width:0;padding:8px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .calDay{min-width:0;padding:6px;overflow:hidden}
 .calTour{width:100%;min-width:0;padding:6px}
 .calTourDetail,.calTourDetail>*{min-width:0;max-width:100%}
 .calTourHead{min-width:0}
 .calTourHead b,.calTourHead em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .calendarHead{gap:12px}
 .calendarHead>div{min-width:0}
}
@media(min-width:851px) and (max-width:1180px){
 .page{padding:18px}
 .calendarSummary{grid-template-columns:repeat(3,minmax(0,1fr))}
 .calDay{min-height:190px}
 .calTourDetail>strong{font-size:11px}
 .calTourDetail>span,.calTourDetail>small{font-size:9px}
 .calendarHead{padding:14px}
}
@media(max-width:560px){
 .pageHead{flex-direction:column}
 .pageHead>.primary{width:100%}
 .stats,.calendarSummary,.availabilitySummary,.quoteKpis,.financeKpis,.tourFinanceKpis,.dashFinanceMini,.bookingKpis,.documentKpis,.documentGlobalStats,.reportKpis,.readinessSummary,.ccKpis{grid-template-columns:1fr}
 .calendarSummary>div:first-child{grid-column:auto}
 .tourHero{padding:15px}
 .itineraryToolbar>div:last-child,.dayActions{width:100%}
 .itineraryToolbar button,.dayActions button{flex:1}
 .serviceRow{padding:12px}
 .opsResourceHead{flex-direction:column}
 .opsResourceHead>.primary{width:100%}
 .notificationItem{grid-template-columns:58px minmax(0,1fr) 12px}
 .notificationItem>.wcKind{display:none}
 .wcHeroStats{display:grid;grid-template-columns:repeat(3,1fr)}
 .wcHeroStats>div{min-width:0;padding:8px 5px}
 .tourFinanceTop>.primary,.bookingTop>.primary,.taskTabHead>.primary{width:100%}
 .taskTabHead{flex-direction:column}
 .productGalleryEdit{grid-template-columns:1fr}
}

/* v2.0.23 compact and consistent itinerary actions */
.itineraryToolbar>div:last-child,.dayActions{gap:6px}
.itineraryToolbar button,.dayActions button{
 min-height:34px;
 height:34px;
 padding:6px 11px;
 border-radius:8px;
 font-size:13px;
 line-height:1;
 font-weight:700;
 white-space:nowrap;
}
.dayActions .mini.danger{background:#fffafa;color:#a24a43;border-color:#edcfcc}
@media(max-width:700px){
 .itineraryToolbar button,.dayActions button{min-height:40px;height:40px;padding:8px 10px;font-size:13px}
}

/* v2.0.24 supplier profile and history */
.supplierTools{display:grid;grid-template-columns:minmax(240px,1fr) 190px 150px}
.supplierLink{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--text)}
.supplierLink b,.supplierLink span{display:block}.supplierLink span{margin-top:3px;color:var(--muted);font-size:11px}
.supplierPanel{width:min(780px,97vw)}
#supplierDrawerBody{padding:20px 24px 40px}
.supplierActions{flex-wrap:wrap}
.supplierContactCard{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden}
.supplierContactCard>div{min-height:68px;padding:13px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.supplierContactCard>div:nth-child(2n){border-right:0}.supplierContactCard>div:nth-last-child(-n+2){border-bottom:0}
.supplierContactCard span,.supplierContactCard b,.supplierContactCard a{display:block}.supplierContactCard span{margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.supplierContactCard b,.supplierContactCard a{font-size:13px;color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.supplierKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.supplierKpis>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f9fbfc}.supplierKpis>div.attention{background:#fff8ee;border-color:#edd9b5}
.supplierKpis span,.supplierKpis b,.supplierKpis small{display:block}.supplierKpis span{font-size:10px;text-transform:uppercase;font-weight:850;color:var(--muted)}.supplierKpis b{margin-top:5px;font-size:19px}.supplierKpis small{margin-top:3px;color:var(--muted);font-size:10px}
.supplierItem,.supplierPaymentRow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 2px;border-top:1px solid #edf1f3}.supplierItem:first-of-type,.supplierPaymentRow:first-of-type{border-top:0}
.supplierItem b,.supplierItem small,.supplierPaymentRow b,.supplierPaymentRow small,.supplierPaymentRow span{display:block}.supplierItem b,.supplierPaymentRow b{font-size:12px}.supplierItem small,.supplierPaymentRow small,.supplierPaymentRow span{margin-top:3px;color:var(--muted);font-size:10px}.supplierPaymentRow>div:last-child{text-align:right}.supplierPaymentRow .financePill{margin-top:5px}
.supplierTourRow{display:grid;grid-template-columns:90px minmax(0,1fr);gap:3px 10px;width:100%;padding:10px 2px;border:0;border-top:1px solid #edf1f3;background:#fff;text-align:left;cursor:pointer}.supplierTourRow:first-of-type{border-top:0}.supplierTourRow>span{grid-row:1/3;color:var(--muted);font-size:11px}.supplierTourRow>b{font-size:12px}.supplierTourRow>small{color:var(--muted);font-size:10px}
@media(max-width:850px){.supplierPanel{width:100vw}.supplierTools{grid-template-columns:1fr}.supplierKpis{grid-template-columns:1fr 1fr}#supplierDrawerBody{padding:15px 14px calc(28px + env(safe-area-inset-bottom))}}
@media(max-width:560px){.supplierContactCard,.supplierKpis{grid-template-columns:1fr}.supplierContactCard>div{border-right:0;border-bottom:1px solid var(--line)!important}.supplierContactCard>div:last-child{border-bottom:0!important}.supplierActions>*{flex:1;min-width:120px}.supplierTourRow{grid-template-columns:1fr}.supplierTourRow>span{grid-row:auto}.supplierPaymentRow{flex-direction:column}.supplierPaymentRow>div:last-child{text-align:left}}

/* v2.0.25 clients and agencies CRM */
@media(max-width:850px){.clientPanel{width:100vw}.clientKpis{grid-template-columns:1fr 1fr}.clientActions>*{flex:1;min-width:125px}}
@media(max-width:560px){.clientRoleNote{flex-direction:column;gap:5px}.clientKpis,.clientDocSummary{grid-template-columns:1fr}.clientTourRow{align-items:flex-start;flex-direction:column}.clientTourRow>div:last-child{justify-content:flex-start}.clientPaymentRow{flex-direction:column;gap:5px}.clientPaymentRow>div:last-child{text-align:left}.clientProfileGrid{grid-template-columns:1fr}.clientProfileGrid>div{border-right:0}.clientProfileGrid .wide{grid-column:1}.clientActions>*{min-width:calc(50% - 5px)}}

/* v2.0.26 quote and costing 2.0 */
.quotePerGuest{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.quotePerGuest>div{padding:12px 14px;background:#f8fafc;border:1px solid var(--line);border-radius:11px}.quotePerGuest span,.quotePerGuest b{display:block}.quotePerGuest span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.quotePerGuest b{margin-top:5px;font-size:15px}.quotePaxNotice{padding:11px 14px;margin-bottom:14px;border:1px dashed #cbd6df;border-radius:10px;color:var(--muted);font-size:12px}.quoteHealth{border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin-bottom:14px;background:#fff}.quoteHealth.healthy{border-color:#bfe0d6;background:#f6fcfa}.quoteHealth.hasIssues{border-color:#ead8b8;background:#fffdf8}.quoteHealthHead{display:flex;align-items:center;justify-content:space-between;gap:15px}.quoteHealthHead h4{margin:3px 0 0;font-size:16px}.quoteHealthHead>b{font-size:11px;text-transform:uppercase;border-radius:12px;padding:5px 9px;background:#edf3f6}.quoteHealth.healthy .quoteHealthHead>b{background:#dff3ec;color:#216954}.quoteHealth p{margin:9px 0 0;color:var(--muted);font-size:12px}.quoteHealthList{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.quoteHealthList>div{padding:10px 11px;border-radius:9px;background:#fff;border:1px solid var(--line)}.quoteHealthList>div.danger{border-left:3px solid #bb554c}.quoteHealthList>div.warn{border-left:3px solid #d49a35}.quoteHealthList b,.quoteHealthList span{display:block}.quoteHealthList b{font-size:12px}.quoteHealthList span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.quoteTableV2{min-width:1060px}.quoteRiskFlag{display:inline-block!important;width:max-content;margin-top:5px!important;padding:3px 6px;border-radius:7px;font-size:9px!important;font-style:normal;font-weight:850}.quoteRiskFlag.loss,.quoteRiskFlag.missing{background:#fde9e7;color:#a34037}.quoteRiskFlag.low{background:#fff2d9;color:#8c6214}.quoteMarginValue.low{color:#a55328}.quoteLineCalculator{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(220px,1.4fr);gap:10px;align-items:end;padding:13px;border:1px solid #dce6ef;background:#f7fafc;border-radius:11px}.quoteLineCalculator label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.quoteLineCalculator input{width:100%}.quoteLineCalculator button{min-height:40px}.quoteLineCalculator #quoteLineLive{display:flex;gap:14px;justify-content:flex-end;padding:9px 2px}.quoteLineCalculator #quoteLineLive span{font-size:11px;color:var(--muted)}.quoteLineCalculator #quoteLineLive b{display:block;margin-top:3px;color:var(--text);font-size:14px}.quoteLineCalculator #quoteLineLive b.low{color:#a55328}
@media(max-width:850px){.quotePerGuest{grid-template-columns:1fr 1fr}.quoteHealthList{grid-template-columns:1fr}.quoteLineCalculator{grid-template-columns:1fr 1fr}.quoteLineCalculator #quoteLineLive{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:560px){.quotePerGuest{grid-template-columns:1fr 1fr}.quoteLineCalculator{grid-template-columns:1fr}.quoteLineCalculator #quoteLineLive{grid-column:1}.quoteActions button{min-width:calc(50% - 5px)}}
.quoteRiskFlag.excluded{background:#edf0f3;color:#667482}

/* v2.0.27 proposal builder 2.0 */
.proposalUnsaved{align-self:center;padding:5px 8px;border-radius:9px;background:#fff2d9;color:#8b6218;font-size:10px;font-weight:850;white-space:nowrap}.proposalVersionBar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 15px;margin-bottom:12px;border:1px solid #d8e5ee;border-radius:13px;background:linear-gradient(135deg,#f8fbfd,#f1f7fb)}.proposalVersionBar>div:first-child span,.proposalVersionBar>div:first-child b,.proposalVersionBar>div:first-child small{display:block}.proposalVersionBar>div:first-child span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:850}.proposalVersionBar>div:first-child b{font-size:15px;margin-top:4px}.proposalVersionBar>div:first-child small{font-size:10px;color:var(--muted);margin-top:3px}.proposalVersionStats{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.proposalVersionStats span{padding:5px 8px;border-radius:10px;background:#fff;border:1px solid #dce6ed;font-size:10px;color:#506572;white-space:nowrap}.proposalReadiness{display:grid;grid-template-columns:190px minmax(0,1fr);gap:15px;border:1px solid var(--line);border-radius:13px;padding:14px 15px;margin-bottom:12px}.proposalReadiness.ready{background:#f7fcfa;border-color:#bfe0d5}.proposalReadiness.review{background:#fffdf8;border-color:#ead8b8}.proposalReadinessScore span,.proposalReadinessScore b{display:block}.proposalReadinessScore span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:850}.proposalReadinessScore b{font-size:26px;margin-top:5px}.proposalReadinessScore i{display:block;height:5px;margin-top:8px;background:#e4e9ed;border-radius:4px;overflow:hidden}.proposalReadinessScore em{display:block;height:100%;background:#4b9d87;border-radius:4px}.proposalReadiness.review .proposalReadinessScore em{background:#d49a35}.proposalReadinessChecks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.proposalReadinessChecks>div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 9px}.proposalReadinessChecks b,.proposalReadinessChecks span{display:block}.proposalReadinessChecks b{font-size:10px}.proposalReadinessChecks span{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.35}.proposalReadinessChecks .ok b{color:#26705d}.proposalReadinessChecks .warn b{color:#946416}.proposalCopyBox{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;margin-bottom:12px;border:1px solid #dce5ec;border-radius:11px;background:#fafcfd}.proposalCopyBox b,.proposalCopyBox span{display:block}.proposalCopyBox b{font-size:12px}.proposalCopyBox span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.proposalCopyBox button{white-space:nowrap}
@media(max-width:900px){.proposalReadiness{grid-template-columns:1fr}.proposalReadinessChecks{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proposalVersionBar,.proposalCopyBox{align-items:flex-start;flex-direction:column}.proposalVersionStats{justify-content:flex-start}.proposalReadinessChecks{grid-template-columns:1fr}.proposalCopyBox button{width:100%}.proposalHeadActions{flex-wrap:wrap}.proposalUnsaved{width:100%;text-align:center}}

/* v2.0.28 booking workflow 2.0 */
.bookingTopActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.bookingAlertSummary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 12px;padding:12px 14px;border:1px solid #ecd7b4;border-radius:12px;background:#fffaf1}.bookingAlertSummary b,.bookingAlertSummary small{display:block}.bookingAlertSummary b{font-size:13px;margin-top:3px}.bookingAlertSummary small{font-size:10px;color:var(--muted);margin-top:3px}.bookingAlertSummary>div:last-child{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.bookingAlertSummary>div:last-child span{padding:4px 7px;border-radius:8px;background:#fff;border:1px solid #eadfc9;color:#815c20;font-size:9px;font-weight:850}.bookingTools{display:grid;grid-template-columns:minmax(250px,1fr) 190px 160px;gap:8px;margin-bottom:10px}.bookingTools input,.bookingTools select{min-height:40px}.bookingTable{min-width:1180px}.bookingTable td{vertical-align:top}.bookingTable td:first-child{min-width:190px}.bookingTable td:nth-child(2){min-width:170px}.bookingTable td:nth-child(3){min-width:155px}.bookingTable td:nth-child(4){min-width:160px}.bookingTable td:nth-child(5){min-width:150px}.bookingTable td:nth-child(6){min-width:180px}.bookingIssues{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.bookingIssues span{display:inline-block!important;width:max-content;margin:0!important;padding:3px 6px;border-radius:7px;font-size:9px!important;font-weight:850}.bookingIssues .danger{background:#fde9e7;color:#a44138}.bookingIssues .warn{background:#fff0d4;color:#8c6115}.bookingIssues .ok{background:#e4f4ee;color:#26705d}.bookingDeadline{display:block;margin-bottom:7px;font-size:11px}.bookingDeadline b{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;margin-bottom:2px}.bookingMissing{display:inline-block;padding:4px 7px;border-radius:8px;background:#fde9e7;color:#a44138;font-size:10px;font-weight:800}.bookingDocLink{display:block;border:0;background:none;padding:5px 0 0;color:var(--blue);font-size:10px;font-weight:750;cursor:pointer}.bookingTable .rowActions{min-width:145px}.bookingTable .rowActions .mini{width:100%;text-align:center}
@media(max-width:850px){.bookingTools{grid-template-columns:1fr}.bookingTopActions{width:100%;justify-content:flex-start}.bookingTopActions>*{flex:1}.bookingAlertSummary{align-items:flex-start;flex-direction:column}.bookingAlertSummary>div:last-child{justify-content:flex-start}}
@media(max-width:560px){.bookingTopActions{display:grid;grid-template-columns:1fr}.bookingTopActions>*{width:100%}}

/* v2.0.29 finance 2.0 */
.financeCurrencyNotice{margin-bottom:10px;padding:9px 12px;border:1px solid #d9e4ec;border-radius:10px;background:#f6fafc;color:var(--muted);font-size:11px}.financeCurrencyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.financeCurrencyCard{border:1px solid #dfe8ee;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 7px 22px #17354a0a}.financeCurrencyHead{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#112f45;color:#fff}.financeCurrencyHead span{font-size:17px;font-weight:900;letter-spacing:.08em}.financeCurrencyHead b{font-size:13px}.financeCurrencyMetrics{display:grid;grid-template-columns:repeat(4,1fr)}.financeCurrencyMetrics>div{padding:13px;border-right:1px solid var(--line)}.financeCurrencyMetrics>div:last-child{border-right:0}.financeCurrencyMetrics span,.financeCurrencyMetrics b,.financeCurrencyMetrics small{display:block}.financeCurrencyMetrics span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:850}.financeCurrencyMetrics b{font-size:16px;margin-top:5px}.financeCurrencyMetrics small{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.35}.financeCurrencyMetrics .danger{background:#fff7f7}.financeCurrencyMetrics .danger b{color:#a24148}.financeAdjustments{display:flex;gap:14px;padding:8px 15px;border-top:1px solid var(--line);background:#fafcfd;color:var(--muted);font-size:10px}.cashflowPanel{padding:0;overflow:hidden;margin-bottom:16px}.cashflowTable{min-width:960px}.cashflowTable td{vertical-align:top}.cashflowTable span,.cashflowTable b,.cashflowTable small{display:block}.cashflowTable .cashIn{color:#26705d;font-size:10px}.cashflowTable .cashOut{color:#9b4a43;font-size:10px;margin-top:3px}.cashflowTable b{font-size:11px;margin-top:5px}.cashflowTable small{font-size:9px;color:var(--muted);margin-top:4px}.negative{color:#a23f47!important}.financeRecon{padding:0;overflow:hidden}.financeReconCount{padding:5px 8px;border-radius:9px;background:#eef3f6;color:#5d7080;font-size:10px;font-weight:800}.financeReconTable{min-width:1050px}.financeReconTable td{vertical-align:top}.financeReconTable td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.financeReconTable tr.reconDanger td{background:#fff8f8}.financeReconTable tr.reconWarn td{background:#fffdf8}.reconIssues{display:flex;flex-wrap:wrap;gap:4px;min-width:140px}.reconIssues span{padding:4px 6px;border-radius:7px;font-size:9px;font-weight:850}.reconIssues .danger{background:#fde8e7;color:#a23e37}.reconIssues .warn{background:#fff0d4;color:#8b6117}.reconIssues .ok{background:#e4f4ee;color:#26705d}.dashFinanceCurrencies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.dashFinanceCurrency{padding:13px 15px;border-radius:14px;background:linear-gradient(145deg,#102b40,#173e58);color:#fff}.dashFinanceCurrency>span{display:block;font-size:10px;letter-spacing:.08em;opacity:.7;margin-bottom:9px}.dashFinanceCurrency>div{display:inline-block;min-width:30%;padding-right:12px}.dashFinanceCurrency b,.dashFinanceCurrency small{display:block}.dashFinanceCurrency b{font-size:16px}.dashFinanceCurrency small{margin-top:3px;font-size:9px;opacity:.7}.dashFinanceCurrency .danger b{color:#ffc1c5}
@media(max-width:1100px){.financeCurrencyGrid{grid-template-columns:1fr}.financeCurrencyMetrics{grid-template-columns:1fr 1fr}.financeCurrencyMetrics>div:nth-child(2){border-right:0}.financeCurrencyMetrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.financeCurrencyMetrics{grid-template-columns:1fr}.financeCurrencyMetrics>div{border-right:0;border-bottom:1px solid var(--line)}.financeCurrencyMetrics>div:last-child{border-bottom:0}.dashFinanceCurrencies{grid-template-columns:1fr}.dashFinanceCurrency>div{display:block;padding:6px 0;border-top:1px solid #ffffff1c}.financeReconCount{align-self:flex-start}}

/* v2.0.30 operations 2.0 */
.operationsDayHead{align-items:center}.operationsDayStats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 14px}.operationsDayStats>div{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.operationsDayStats b,.operationsDayStats span{display:block}.operationsDayStats b{font-size:19px}.operationsDayStats span{margin-top:3px;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase}.operationsDayStats .ready{background:#f4fbf8;border-color:#c6e5da}.operationsDayStats .ready b{color:#26705d}.operationsDayStats .warning{background:#fffaf0;border-color:#ead8b8}.operationsDayStats .warning b{color:#946416}.operationsDayStats .danger{background:#fff6f5;border-color:#ebcbc8}.operationsDayStats .danger b{color:#a23f47}.operationsConflictPanel{margin:0 0 14px;padding:12px 14px;border:1px solid #ebcbc8;border-radius:11px;background:#fff8f7}.operationsConflictPanel>b{display:block;margin-bottom:6px;color:#9b403b;font-size:12px}.operationsConflictPanel>div{display:grid;grid-template-columns:170px 1fr;gap:10px;padding:7px 0;border-top:1px solid #f1dedc}.operationsConflictPanel strong{font-size:11px}.operationsConflictPanel span{color:#6d7479;font-size:10px;line-height:1.4}.operationsCockpitTable{min-width:1320px}.operationsCockpitTable td{vertical-align:top}.operationsCockpitTable tr.opsNeedsAttention td{background:#fffdf9}.opsIssues{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:130px}.opsIssues span,.opsReadyPill{display:inline-block;padding:4px 6px;border-radius:7px;font-size:9px;font-weight:850;white-space:nowrap}.opsIssues .danger{background:#fde8e7;color:#a23e37}.opsIssues .warn{background:#fff0d4;color:#8b6117}.opsReadyPill{background:#e4f4ee;color:#26705d}.opsRowActions{min-width:126px}.opsRowActions .mini{display:block;width:100%;margin:0 0 5px;white-space:nowrap}.opsRowActions .advanceOperationalStatus{background:#edf5fb;border-color:#c9dce9;color:#185982;font-weight:800}
@media(max-width:850px){.operationsDayHead{align-items:flex-start;gap:10px}.operationsDayStats{grid-template-columns:repeat(3,1fr)}.operationsConflictPanel>div{grid-template-columns:1fr}.printOperationsDay{min-height:40px}}
@media(max-width:560px){.operationsDayHead{flex-direction:column}.operationsDayHead .printOperationsDay{width:100%}.operationsDayStats{grid-template-columns:1fr 1fr}.operationsDayStats>div:last-child{grid-column:1/-1}.operationsDayStats>div{padding:10px}.operationsConflictPanel{padding:11px}}

/* v2.0.31 travel documents and operations pack */
.travelPackPanel{margin:0 0 16px;padding:16px;border:1px solid #d7e2e9;border-radius:15px;background:linear-gradient(145deg,#f8fbfd,#f2f7fa)}.travelPackPanel.ready{border-color:#badfd2;background:linear-gradient(145deg,#f8fcfb,#eef8f4)}.travelPackPanel.attention{border-color:#ead6b6;background:linear-gradient(145deg,#fffdf8,#fbf5e9)}.travelPackHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.travelPackHead h3{margin:4px 0;font-size:18px}.travelPackHead p{margin:0;color:var(--muted);font-size:11px}.travelPackState{padding:6px 9px;border-radius:10px;background:#fff;border:1px solid #d5e1e8;color:#526b7a;font-size:10px;font-weight:900;white-space:nowrap}.travelPackPanel.ready .travelPackState{background:#dff3eb;border-color:#c4e4d8;color:#226652}.travelPackPanel.attention .travelPackState{background:#fff0d5;border-color:#ead8b5;color:#8a5e16}.travelPackChecks{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:14px}.travelPackChecks>div{min-width:0;padding:10px;border-radius:10px;background:#fff;border:1px solid var(--line)}.travelPackChecks b,.travelPackChecks span{display:block}.travelPackChecks b{font-size:10px}.travelPackChecks span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.travelPackChecks .ok b{color:#26705d}.travelPackChecks .warn b{color:#906117}.travelPackChecks .fail{border-color:#e8c7c4}.travelPackChecks .fail b{color:#a13e38}.travelPackActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.travelPackActions button{min-height:38px}.travelPackPrivacy{margin:10px 0 0;color:#71808c;font-size:9px}.travelPackPrivacy:before{content:'🔒 ';filter:grayscale(1)}
@media(max-width:1100px){.travelPackChecks{grid-template-columns:1fr 1fr 1fr}.travelPackChecks>div:last-child{grid-column:span 2}}
@media(max-width:700px){.travelPackHead{flex-direction:column}.travelPackChecks{grid-template-columns:1fr 1fr}.travelPackChecks>div:last-child{grid-column:1/-1}.travelPackActions{display:grid;grid-template-columns:1fr}.travelPackActions button{width:100%}}
@media(max-width:480px){.travelPackChecks{grid-template-columns:1fr}.travelPackChecks>div:last-child{grid-column:auto}.travelPackPanel{padding:13px}}

/* v2.0.32 dashboard 2.0 */
.dashboardHeadActions{display:flex;gap:7px;flex-wrap:wrap}.dashboardHeroV2{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:20px 22px;border-radius:17px;background:linear-gradient(135deg,#102b40,#194762);color:#fff;box-shadow:0 12px 30px #102b4015}.dashboardHeroV2 .eyebrow{color:#8fc8ef}.dashboardHeroV2 h2{margin:5px 0 4px;font-family:Georgia,serif;font-size:27px}.dashboardHeroV2 p{margin:0;color:#c9d8e2;font-size:12px}.dashboardHeroActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.dashboardHeroActions button{border:1px solid #ffffff32;border-radius:9px;background:#ffffff12;color:#fff;padding:9px 11px;font-size:11px;font-weight:800;cursor:pointer}.dashboardHeroActions button:hover{background:#ffffff20}.dashboardKpisV2{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-bottom:12px}.dashboardKpisV2>button{position:relative;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.dashboardKpisV2>button:hover{border-color:#b8cbd9;box-shadow:0 5px 16px #17354a0d}.dashboardKpisV2 span,.dashboardKpisV2 b,.dashboardKpisV2 small{display:block}.dashboardKpisV2 span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.dashboardKpisV2 b{margin-top:5px;font-size:24px;color:#153247}.dashboardKpisV2 small{margin-top:4px;color:#7d8c97;font-size:9px}.dashboardKpisV2 .danger{border-color:#e7c5c4;background:#fff9f8}.dashboardKpisV2 .danger b{color:#a23f47}.dashboardMainGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:10px;margin-bottom:10px}.dashboardPanel{padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:#fff}.dashboardPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.dashboardPanelHead h3{margin:4px 0 0;font-size:17px}.dashboardPanelHead>button{border:0;background:none;color:#286a9d;font-size:10px;font-weight:850;cursor:pointer}.dashboardPanelHead>span{color:var(--muted);font-size:10px}.dashboardPipelineV2{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;min-height:145px;align-items:end}.dashboardPipelineV2>button{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;height:135px;padding:0 4px 7px;border:0;border-radius:8px;background:#f6f8fa;overflow:hidden;cursor:pointer}.dashboardPipelineV2>button:hover{background:#eef4f8}.dashboardPipelineV2 i{position:absolute;z-index:0;left:0;right:0;bottom:0;background:#dfe9f0}.dashboardPipelineV2 .hasItems i{background:linear-gradient(#b9d6eb,#dcebf4)}.dashboardPipelineV2 span,.dashboardPipelineV2 b{position:relative;z-index:1}.dashboardPipelineV2 span{height:29px;color:#5d707f;font-size:7px;font-weight:850;line-height:1.25;text-transform:uppercase;overflow:hidden}.dashboardPipelineV2 b{margin-top:4px;font-size:17px;color:#173b54}.dashboardTodayStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.dashboardTodayStats>div{padding:9px;border-radius:9px;background:#f7f9fb;border:1px solid #e5ebef}.dashboardTodayStats b,.dashboardTodayStats span{display:block}.dashboardTodayStats b{font-size:18px}.dashboardTodayStats span{margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850}.dashboardTodayStats .attention{background:#fff6ed;border-color:#ecd4b8}.dashboardTodayStats .attention b{color:#965f18}.dashboardTodayStats .ready{background:#f1faf6;border-color:#cee7db}.dashboardTodayStats .ready b{color:#26705d}.dashboardTodayTours{margin-top:9px}.dashboardTodayTours button{display:block;width:100%;padding:8px 2px;border:0;border-top:1px solid #edf1f3;background:#fff;text-align:left;cursor:pointer}.dashboardTodayTours button:first-child{border-top:0}.dashboardTodayTours b,.dashboardTodayTours span{display:block}.dashboardTodayTours b{font-size:11px}.dashboardTodayTours span,.dashboardTodayTours p{margin-top:3px;color:var(--muted);font-size:9px}.dashboardDepartures{margin-bottom:12px}.dashboardDepartureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dashDepartureCard{display:grid;grid-template-columns:48px minmax(0,1fr) 67px;gap:10px;align-items:center;min-width:0;padding:11px;border:1px solid #e0e7ec;border-radius:11px;background:#fff;text-align:left;cursor:pointer}.dashDepartureCard:hover{border-color:#b9cddd;background:#fbfdfe}.dashDepartureDate{text-align:center}.dashDepartureDate b,.dashDepartureDate span{display:block}.dashDepartureDate b{font-size:21px;color:#183c55}.dashDepartureDate span{font-size:8px;text-transform:uppercase;color:var(--muted)}.dashDepartureMain{min-width:0}.dashDepartureMain>span{display:block;color:#3c75a2;font-size:8px;font-weight:850}.dashDepartureMain h4{margin:3px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashDepartureMain p,.dashDepartureMain small{display:block;margin:0;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashDepartureMain small{margin-top:3px}.dashDepartureReady{text-align:right}.dashDepartureReady b,.dashDepartureReady span{display:block}.dashDepartureReady b{font-size:14px}.dashDepartureReady span{margin-top:2px;color:#9a4d45;font-size:8px}.dashDepartureReady.ready span{color:#26705d}.dashDepartureReady i{display:block;height:3px;margin-top:5px;border-radius:3px;background:#e6ebef;overflow:hidden}.dashDepartureReady em{display:block;height:100%;background:#d49a35}.dashDepartureReady.ready em{background:#4b9d87}
@media(max-width:1200px){.dashboardKpisV2{grid-template-columns:repeat(3,1fr)}.dashboardMainGrid{grid-template-columns:1fr}.dashboardDepartureGrid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.dashboardPageHead{align-items:flex-start}.dashboardHeroV2{align-items:flex-start;flex-direction:column}.dashboardHeroActions{width:100%;justify-content:flex-start}.dashboardHeroActions button{flex:1}.dashboardKpisV2{grid-template-columns:1fr 1fr}.dashboardPipelineV2{min-width:680px}.dashboardMainGrid>.dashboardPanel:first-child{overflow:auto}.dashboardDepartureGrid{grid-template-columns:1fr}}
@media(max-width:560px){.dashboardHeadActions{display:grid;grid-template-columns:1fr 1fr;width:100%}.dashboardHeadActions .primary{grid-column:1/-1}.dashboardHeroV2{padding:17px}.dashboardHeroV2 h2{font-size:23px}.dashboardHeroActions{display:grid;grid-template-columns:1fr;width:100%}.dashboardKpisV2{grid-template-columns:1fr 1fr}.dashboardKpisV2>button:last-child{grid-column:1/-1}.dashboardTodayStats{grid-template-columns:1fr 1fr}.dashDepartureCard{grid-template-columns:43px minmax(0,1fr) 62px}}

/* v2.0.33 notifications and automation */
.automationCenter{margin-bottom:14px;border:1px solid #dce5eb;border-radius:16px;background:#fff;overflow:hidden}.automationHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;background:linear-gradient(135deg,#f7fafc,#eef5f8)}.automationHero h2{margin:4px 0;font-size:21px}.automationHero p{max-width:680px;margin:0;color:var(--muted);font-size:11px}.automationStats{display:flex;gap:7px}.automationStats>div{min-width:70px;padding:9px;border:1px solid #dce5ea;border-radius:10px;background:#fff;text-align:center}.automationStats b,.automationStats span{display:block}.automationStats b{font-size:20px}.automationStats span{margin-top:2px;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850}.automationStats .danger{border-color:#e8c7c4;background:#fff7f6}.automationStats .danger b{color:#a23e38}.automationToolbar{padding:10px 14px;border-top:1px solid #e4eaee;border-bottom:1px solid #e4eaee;background:#fbfcfd}.automationHorizons,.automationFilters{display:flex;gap:5px;overflow:auto;scrollbar-width:thin}.automationHorizons{margin-bottom:7px}.automationToolbar button{flex:0 0 auto;border:1px solid #dce4e9;border-radius:8px;background:#fff;padding:6px 8px;color:#5d7180;font-size:9px;font-weight:800;cursor:pointer}.automationToolbar button.active{border-color:#1f6da8;background:#1f6da8;color:#fff}.automationFilters button span{display:inline-grid;place-items:center;min-width:17px;height:17px;margin-left:4px;border-radius:9px;background:#edf2f5;font-size:8px}.automationFilters button.active span{background:#ffffff24}.automationList{padding:0 14px 7px}.automationRow{display:grid;grid-template-columns:92px minmax(0,1fr) 115px 13px;gap:10px;align-items:center;width:100%;padding:10px 3px;border:0;border-top:1px solid #edf1f3;background:#fff;text-align:left;cursor:pointer}.automationRow:first-child{border-top:0}.automationRow:hover{background:#fafcfd}.automationRow.overdue{background:#fff8f7}.automationRow.critical:not(.overdue){background:#fffdf7}.automationDate{color:#738590;font-size:10px}.automationDate b{display:block;width:max-content;margin-top:3px;padding:2px 5px;border-radius:5px;background:#fde7e5;color:#a23e38;font-size:8px}.automationBody{min-width:0}.automationBody b,.automationBody small{display:block}.automationBody b{font-size:12px;color:#24455a}.automationBody small{margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.automationKind{justify-self:end;padding:4px 7px;border-radius:8px;background:#eef3f6;color:#526b7a;font-size:9px;font-weight:850}.automationRow>i{color:#8fa0aa;font-style:normal;font-size:18px}.wcKind.status-option-expiry{background:#fff0d4;color:#8c6115}.wcKind.status-missing-booking{background:#fde9e7;color:#a44138}.wcKind.status-missing-document{background:#f2edff;color:#6650a1}.wcKind.status-resource{background:#e8f1f8;color:#346b93}
@media(max-width:760px){.automationHero{align-items:flex-start;flex-direction:column}.automationStats{width:100%}.automationStats>div{flex:1}.automationRow{grid-template-columns:76px minmax(0,1fr) 12px}.automationKind{grid-column:2;justify-self:start}.automationRow>i{grid-column:3;grid-row:1/3}.automationBody small{white-space:normal}}
@media(max-width:480px){.automationHero{padding:14px}.automationStats>div{min-width:0}.automationToolbar{padding:9px}.automationList{padding:0 9px}.automationRow{grid-template-columns:minmax(0,1fr) 12px}.automationDate{grid-column:1}.automationBody{grid-column:1}.automationKind{grid-column:1}.automationRow>i{grid-column:2;grid-row:1/4}.automationDate b{display:inline-block;margin:0 0 0 5px}}
/* Reports 2.0 */
.reportFilters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reportFilters>input{flex:1;min-width:220px}.reportActions{display:flex;gap:8px;margin-left:auto}.reportOperationalKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:14px 0}.reportOperationalKpis>div{background:linear-gradient(145deg,#fff,#f7f8fb);border:1px solid #e5e8ef;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.reportOperationalKpis span{font-size:13px;color:#667085;text-transform:uppercase;letter-spacing:.05em}.reportOperationalKpis b{font-size:25px;color:#132d57}.reportOperationalKpis small{font-size:12px;color:#88909e}.reportInsightGrid{margin-top:14px}.reportBars{display:grid;gap:13px;margin-top:10px}.reportBarRow>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.reportBarRow b{font-size:14px}.reportBarRow span{font-size:13px;color:#667085}.reportBarRow>i{display:block;height:8px;background:#eef1f6;border-radius:9px;overflow:hidden}.reportBarRow>i>em{display:block;height:100%;background:linear-gradient(90deg,#132d57,#b8974f);border-radius:9px}.reportSeasonality{margin-top:14px}.seasonalityBars{height:180px;display:grid;grid-template-columns:repeat(12,1fr);gap:10px;align-items:end;padding-top:12px}.seasonalityBars>div{height:145px;display:grid;grid-template-rows:1fr auto auto;gap:3px;text-align:center}.seasonalityBars i{display:flex;align-items:flex-end;justify-content:center;background:#f1f3f7;border-radius:8px 8px 3px 3px;overflow:hidden}.seasonalityBars em{display:block;width:100%;background:linear-gradient(180deg,#b8974f,#132d57);border-radius:8px 8px 2px 2px}.seasonalityBars b{font-size:13px;color:#132d57}.seasonalityBars span{font-size:12px;color:#667085}@media(max-width:900px){.reportOperationalKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reportActions{width:100%;margin-left:0}.reportActions button{flex:1}.seasonalityBars{gap:4px;overflow-x:auto}.seasonalityBars>div{min-width:30px}}@media print{#appNav,header,.pageHead,.reportFilters,.reportActions{display:none!important}main{margin:0!important;padding:0!important}.page{display:none!important}#reports{display:block!important}.reportTableCard,.reportSeasonality,.reportGrid,.reportOperationalKpis{break-inside:avoid}.card{box-shadow:none!important}}
/* v2.0.35 Client Payment Reminders & Collections Center */
.navBuild{display:block;margin-top:auto;padding:12px 14px 2px;color:#8fa6b9;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.navBuild+.logout{margin-top:4px}.collectionCenter{margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.collectionHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;background:linear-gradient(115deg,#102e47,#174b69);color:#fff}.collectionHero h2{margin:3px 0 5px;font-size:26px}.collectionHero p{margin:0;color:#d7e4ed}.collectionStats{display:flex;gap:10px}.collectionStats>div{min-width:92px;padding:12px 14px;border:1px solid #ffffff2b;border-radius:12px;background:#ffffff0d;display:flex;flex-direction:column}.collectionStats>div.danger{background:#7d292955;border-color:#ffb5aa66}.collectionStats b{font-size:23px}.collectionStats span{font-size:12px;color:#d7e4ed;text-transform:uppercase;letter-spacing:.04em}.collectionFilters{display:flex;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);overflow-x:auto}.collectionFilters button{white-space:nowrap;border:1px solid var(--line);background:#f7f9fb;border-radius:20px;padding:8px 13px;color:#40566a;cursor:pointer}.collectionFilters button.active{background:#173f5f;color:#fff;border-color:#173f5f}.collectionList{display:grid}.collectionRow{display:grid;grid-template-columns:150px minmax(240px,1fr) minmax(330px,auto);gap:18px;align-items:center;padding:15px 20px;border-bottom:1px solid #edf0f4}.collectionRow:last-child{border-bottom:0}.collectionRow.overdue{background:#fff8f7}.collectionDue,.collectionBody,.collectionContact{display:flex;flex-direction:column;gap:3px}.collectionDue b{color:#163b5a}.collectionRow.overdue .collectionDue b,.collectionRow.overdue .collectionDue span{color:#a33b33}.collectionDue span,.collectionBody span,.collectionBody small,.collectionContact>span{font-size:13px;color:#708091}.collectionContact{align-items:flex-end}.collectionContact>div{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.collectionContact .missing{color:#b5473d;font-weight:700}.collectionNote{margin:0;padding:12px 20px;background:#f8fafc;border-top:1px solid var(--line);font-size:13px;color:#708091}@media(max-width:900px){.navBuild{margin-top:20px}.collectionHero{align-items:flex-start;flex-direction:column}.collectionStats{width:100%;overflow-x:auto}.collectionStats>div{flex:1}.collectionRow{grid-template-columns:1fr;gap:10px}.collectionContact{align-items:flex-start}.collectionContact>div{justify-content:flex-start}.collectionFilters{padding:12px}.collectionRow{padding:14px}}
/* v2.0.36 Guest Portal Access & Share Links */
.guestAccessHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px;border-radius:17px;background:linear-gradient(120deg,#102e47,#1b526f);color:#fff;margin-bottom:14px}.guestAccessHero h2{font-size:27px;margin:4px 0 6px}.guestAccessHero p{margin:0;color:#d5e3ec}.guestAccessState{width:112px;height:82px;border:1px solid #ffffff2b;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff0c}.guestAccessState.live{background:#1e775c55;border-color:#8fe0bf66}.guestAccessState b{font-size:29px}.guestAccessState span{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.guestAccessSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.guestAccessSummary>div{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px;display:flex;flex-direction:column;gap:3px}.guestAccessSummary span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#718092}.guestAccessSummary b{font-size:21px;color:#153a59}.guestAccessSummary small{font-size:12px;color:#8995a2}.guestLinksSection .sectionHead>div p,.drawerSection .sectionHead>div p{margin:3px 0 0;color:#788594;font-size:13px}.guestLinkCard{display:grid;grid-template-columns:42px minmax(250px,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid #b9e2d2;background:#f5fcf9;border-radius:13px;margin-top:10px}.guestLinkIcon{width:38px;height:38px;border-radius:50%;background:#237158;color:#fff;display:grid;place-items:center;font-weight:800}.guestLinkMain{display:flex;flex-direction:column;gap:3px}.guestLinkMain>span{font-size:11px;color:#237158;font-weight:800;letter-spacing:.08em}.guestLinkMain small{color:#6f7d8b}.guestLinkActions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.guestLinkLegacy{max-width:210px;font-size:12px;color:#7a6570}.guestVersionRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 4px;border-bottom:1px solid #edf0f4}.guestVersionRow:last-child{border-bottom:0}.guestVersionRow>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.guestVersionRow>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.guestVersionRow>div:first-child span{font-size:11px;letter-spacing:.07em;color:#567086;font-weight:800}.guestVersionRow small{color:#7c8995}.guestHistory{display:grid;gap:8px}.guestHistory>div{display:grid;grid-template-columns:82px minmax(170px,1fr) 2fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid #edf0f4;border-radius:10px}.guestHistory span{font-size:11px;font-weight:800;text-align:center;border-radius:20px;padding:5px}.guestHistory span.active{background:#ddf3e9;color:#24684f}.guestHistory span.revoked{background:#f6e8e7;color:#9b4038}.guestHistory span.expired{background:#eef0f3;color:#65717c}.guestHistory small{color:#778492}@media(max-width:900px){.guestAccessHero{align-items:flex-start}.guestAccessSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.guestLinkCard{grid-template-columns:38px 1fr}.guestLinkActions{grid-column:1/-1;justify-content:flex-start}.guestVersionRow{align-items:flex-start;flex-direction:column}.guestHistory>div{grid-template-columns:75px 1fr}.guestHistory small{grid-column:1/-1}}
/* v2.0.37 Global Search & Quick Navigation */
.globalSearchWrap{position:relative;flex:1;max-width:720px}.globalSearchWrap>input{width:100%;box-sizing:border-box;padding-right:70px}.globalSearchWrap>kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:11px/1 system-ui;color:#748292;border:1px solid #d9dfe6;background:#f7f9fb;border-radius:5px;padding:5px 7px;pointer-events:none}.globalSearchPanel{position:absolute;z-index:150;top:calc(100% + 8px);left:0;right:0;max-height:min(680px,calc(100vh - 100px));overflow-y:auto;background:#fff;border:1px solid #dfe5eb;border-radius:15px;box-shadow:0 22px 60px #10253a2e;padding:8px}.globalSearchHead{display:flex;justify-content:space-between;gap:10px;padding:9px 10px 11px;border-bottom:1px solid #edf0f3}.globalSearchHead span{font-weight:800;color:#173b59}.globalSearchHead small{color:#7b8895}.globalSearchGroup>b{display:block;padding:12px 10px 5px;font-size:11px;color:#778594;letter-spacing:.09em;text-transform:uppercase}.globalSearchGroup button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:10px;cursor:pointer}.globalSearchGroup button:hover,.globalSearchGroup button.active{background:#eef5fa}.globalSearchGroup button>i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#173f5f;color:#fff;font-size:12px;font-style:normal;font-weight:800}.globalSearchGroup button>span{display:flex;flex-direction:column;min-width:0}.globalSearchGroup strong{color:#17354f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.globalSearchGroup small{color:#7d8995;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.globalSearchGroup em{font-size:12px;font-style:normal;color:#668097}.globalSearchEmpty{display:flex;flex-direction:column;align-items:center;gap:5px;padding:35px 15px;color:#6e7e8d}.globalSearchEmpty b{color:#173b59}@media(max-width:850px){.globalSearchWrap{min-width:0;max-width:none}.globalSearchWrap>kbd{display:none}.globalSearchWrap>input{padding-right:12px}.globalSearchPanel{position:fixed;left:10px;right:10px;top:66px;max-height:calc(100dvh - 82px)}.globalSearchHead small{display:none}}
@media(max-width:850px){.globalSearchWrap>input{height:44px;font-size:17px}}
/* v2.0.38 Data Export & Backup Center */
.backupCenter{margin-top:16px}.backupStamp{font-size:12px;color:#738293}.backupStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.backupStats>div{padding:13px;border:1px solid var(--line);border-radius:11px;background:#f8fafc;display:flex;flex-direction:column}.backupStats b{font-size:23px;color:#163b59}.backupStats span{font-size:11px;color:#718092;text-transform:uppercase;letter-spacing:.05em}.backupActions{display:flex;gap:8px;flex-wrap:wrap}.backupPrivacy{margin:14px 0 0;padding:11px 13px;border-radius:9px;background:#fff6e8;color:#765a25;font-size:13px}@media(max-width:850px){.backupStats{grid-template-columns:repeat(2,minmax(0,1fr))}.backupActions button{width:100%}}
/* v2.0.39 Manual tour costs and RVC */
.backupStats{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:850px){.backupStats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.manualCostsPanel{margin-top:18px;padding:18px;border:1px solid #dce5eb;border-radius:14px;background:#fff}.manualCostsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.manualCostsHead h3{margin:3px 0 4px}.manualCostsHead p{margin:0;color:#718393;font-size:13px}.manualCostKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.manualCostKpis>div{padding:12px;border:1px solid #e0e7ec;border-radius:10px;background:#f8fafb}.manualCostKpis>div.strong{background:#123047;color:#fff;border-color:#123047}.manualCostKpis span,.manualCostKpis small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#718393}.manualCostKpis .strong span,.manualCostKpis .strong small{color:#bbd2e2}.manualCostKpis b{display:block;margin:5px 0 2px;font-size:17px}.manualCostTable td small{display:block;margin-top:3px;color:#758797}.manualCostTable tr.currencyMismatch{background:#fff7e8}.manualCostCurrencyWarning{margin:0 0 12px;padding:10px 12px;border:1px solid #efd7a5;border-radius:8px;background:#fff8e9;color:#7c591a;font-size:13px;font-weight:700}@media(max-width:900px){.manualCostKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.manualCostKpis>div.strong{grid-column:1/-1}.manualCostsHead{align-items:stretch;flex-direction:column}.manualCostsHead button{width:100%}}@media(max-width:560px){.manualCostsPanel{padding:12px}.manualCostKpis{grid-template-columns:1fr}.manualCostKpis>div.strong{grid-column:auto}.manualCostTable{min-width:900px}}
/* v2.0.40 Invoice capture, OCR and UPN/QR */
.invoiceCapture{padding:15px;border:1px solid #c9dce8;border-radius:13px;background:linear-gradient(145deg,#f6fbfe,#eef6fa)}.invoiceCaptureHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invoiceCaptureHead span{display:block;color:#27678f;font-size:10px;font-weight:900;letter-spacing:.09em}.invoiceCaptureHead b{display:block;margin:3px 0;font-size:17px;color:#153c58}.invoiceCaptureHead small{display:block;color:#6e8190;line-height:1.4}.invoiceCaptureHead .invoicePrivacy{padding:5px 8px;border-radius:20px;background:#dceee7;color:#226650;white-space:nowrap}.invoiceCaptureControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:13px}.invoiceCaptureControls input{min-width:0;padding:9px;border:1px solid #cfdbe3;border-radius:9px;background:#fff}.invoiceCaptureStatus{margin-top:9px;padding:9px 11px;border-radius:8px;background:#fff;color:#6b7d8c;font-size:12px}.invoiceCaptureStatus.working{background:#fff8e9;color:#7b5d22}.invoiceCaptureStatus.success{background:#eaf7f1;color:#246951}.invoiceCaptureStatus.error{background:#fff0ef;color:#9d403a}.invoiceCapture details{margin-top:8px}.invoiceCapture summary{cursor:pointer;color:#41657d;font-size:12px;font-weight:800}.invoiceCapture pre{max-height:230px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;border-radius:8px;background:#102b40;color:#d9e7ef;font:10px/1.45 ui-monospace,monospace}.invoiceAttached{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:9px;background:#eaf7f1;color:#246951}.invoiceAttached span{font-size:12px}.manualCostTable td:last-child .mini{display:block;width:100%;margin-bottom:4px}@media(max-width:620px){.invoiceCaptureControls{grid-template-columns:1fr}.invoiceCaptureControls button{width:100%;min-height:44px}.invoiceCapture{padding:12px}.invoiceCaptureHead{flex-direction:column}}
/* v2.0.41 Guide / Driver Factsheet */
.factsheetEditor{margin:12px 0;border:1px solid #b8d0df;border-radius:14px;background:#f5f9fb;box-shadow:0 10px 24px #17354a12;overflow:hidden}.factsheetEditorTitle{padding:14px 16px;background:#1768d5;color:#fff;font-weight:850}.factsheetEditorBody{display:block;padding:16px}.factsheetEditorHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.factsheetEditorHead span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#2875a4}.factsheetEditorHead h3{margin:3px 0}.factsheetEditorHead p{margin:0;color:#71818e;font-size:11px}.factsheetEditor textarea{min-height:90px}.factsheetEditor .actions{grid-column:1/-1}@media(max-width:620px){.factsheetEditorBody{padding:12px}.factsheetEditorHead{flex-direction:column}.factsheetEditorHead button{width:100%}.factsheetEditor .grid{grid-template-columns:1fr}}
#factsheetPrintHost{display:none}@media print{@page{size:A4;margin:7mm}body.printingFactsheet{background:#fff!important}body.printingFactsheet>*{visibility:hidden!important}body.printingFactsheet #factsheetPrintHost,body.printingFactsheet #factsheetPrintHost *{visibility:visible!important}body.printingFactsheet #factsheetPrintHost{display:block!important;position:absolute;inset:0;width:100%;background:#fff}.printingFactsheet .guideFactsheet{max-width:none;margin:0;padding:0}.printingFactsheet .factsheetHero,.printingFactsheet .factsheetEssentials,.printingFactsheet .factsheetSummary>div,.printingFactsheet .factsheetCritical>div,.printingFactsheet .factsheetContact,.printingFactsheet .factsheetCrew>div,.printingFactsheet .factsheetDay>header,.printingFactsheet .factsheetService,.printingFactsheet .factsheetOperationalGrid>div,.printingFactsheet .factsheetServiceNote,.printingFactsheet .factsheetFinalNotes{break-inside:avoid}.printingFactsheet .factsheetSection,.printingFactsheet .factsheetDay,.printingFactsheet .factsheetCritical{break-inside:auto}.printingFactsheet .factsheetSectionHead{break-after:avoid}.printingFactsheet .factsheetService{grid-template-columns:42px minmax(0,1fr);padding:5px 8px;gap:5px}.printingFactsheet .factsheetServiceMain h4{margin:1px 0}.printingFactsheet .factsheetServiceMain>p{line-height:1.2}.printingFactsheet .factsheetServiceActions{display:none!important}.printingFactsheet .factsheetSection{margin-top:3mm;padding:2mm}.printingFactsheet .factsheetSectionHead h3{margin-bottom:6px}.printingFactsheet .factsheetDay{margin-top:2mm;overflow:visible}.printingFactsheet .factsheetDay>header{display:flex!important;padding:5px 8px;background:#173e58!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.printingFactsheet .factsheetOperationalGrid{gap:3px;margin-top:4px}.printingFactsheet .factsheetOperationalGrid>div{padding:3px 6px}.printingFactsheet .factsheetOperationalGrid span{margin-bottom:1px}.printingFactsheet .factsheetOperationalGrid b{line-height:1.2}.printingFactsheet .factsheetOperationalGrid small{margin-top:1px}.printingFactsheet .factsheetCrew{gap:5px}.printingFactsheet .factsheetCrew>div{padding:5px}.printingFactsheet .factsheetServiceMeta{margin-top:3px}.printingFactsheet .factsheetServiceNote{margin-top:4px;padding:5px 7px}.printingFactsheet .factsheetEmpty{margin:5px 8px}}
.factsheetEssentials{margin:14px 0;padding:18px;border:1px solid #dce6ed;border-radius:14px;background:#fff}.factsheetEssentialsGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.factsheetEssentialsGrid>div{padding:11px;border-radius:10px;background:#f4f7f9}.factsheetEssentialsGrid span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#6f8190;text-transform:uppercase;margin-bottom:4px}.factsheetEssentialsGrid b{display:block;font-size:13px;line-height:1.35}.factsheetEssentialsGrid small{display:block;margin-top:3px;color:#6f8190;font-size:10px}.factsheetEssentialsGrid .factsheetGuestNames{grid-column:1/-1;background:#edf5fb}.factsheetGuestNames b{font-size:15px;color:#123d58}@media(max-width:760px){.factsheetEssentialsGrid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.factsheetEssentialsGrid{grid-template-columns:1fr}.factsheetEssentialsGrid .factsheetGuestNames{grid-column:auto}}@media print{.factsheetEssentials{break-inside:avoid;margin:5mm 0}.factsheetEssentialsGrid{grid-template-columns:repeat(4,1fr)}}
.factsheetOperationalGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.factsheetOperationalGrid>div{padding:9px 10px;border:1px solid #e3eaef;border-radius:9px;background:#f8fafb}.factsheetOperationalGrid span{display:block;margin-bottom:3px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#718392;text-transform:uppercase}.factsheetOperationalGrid b{display:block;font-size:11px;line-height:1.35}.factsheetOperationalGrid small{display:block;margin-top:2px;color:#718392;font-size:9px}.factsheetOperationalGrid a{display:inline-block;margin-top:4px;font-size:10px;font-weight:800;color:#1768d5}@media(max-width:620px){.factsheetOperationalGrid{grid-template-columns:1fr}}@media print{.factsheetOperationalGrid{grid-template-columns:repeat(2,1fr)}.factsheetOperationalGrid>div{break-inside:avoid}}

/* v2.0.56 mobile usability hardening */
html{min-height:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
@media(max-width:850px){
 html,body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}
 body{touch-action:manipulation}
 button,input,select,textarea{touch-action:manipulation}
 input,select,textarea{font-size:17px!important}
 header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 aside{padding-left:max(14px,env(safe-area-inset-left));overscroll-behavior:contain}
 .page{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
 .drawerPanel,.modalCard{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 .drawerHead{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}
 #drawerBody,#supplierDrawerBody,.tourTabContent{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .tourTabs{scroll-snap-type:x proximity;overscroll-behavior-x:contain}
 .tourTabs button,.opsTabs button,.clientTabs button{scroll-snap-align:start}
 .tourTabs button:focus-visible,.opsTabs button:focus-visible,.clientTabs button:focus-visible{outline:3px solid #1769e055;outline-offset:-3px}
 .tableWrap{max-width:100%;border-radius:8px}
 .tableWrap:focus-within{outline:2px solid #1769e033}
 .rowActions{min-width:max-content}
 .rowActions .mini{min-height:40px}
 .drawerActions,.factsheetActions,.bookingTopActions,.quoteActions{row-gap:8px}
 .notificationPanel,.globalSearchPanel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .modalCard{max-height:calc(100dvh - env(safe-area-inset-top))}
 .modalHead{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .actions{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
}
@media(max-width:430px){
 .pageHead h1{font-size:23px;line-height:1.15}
 .dashboardHeadActions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
 .dashboardHeadActions .new{grid-column:1/-1}
 .tourTopActions{display:grid;grid-template-columns:1fr 1fr}
 .tourTopActions button{width:100%;min-width:0}
 .drawerActions>*{flex:1 1 calc(50% - 5px);min-height:44px}
 .card{border-radius:11px}
 .tableTools{padding:12px}
 .factsheetQuick,.factsheetServiceActions>a{min-height:44px}
}
@media(max-width:850px) and (orientation:landscape){
 .modalCard{max-height:100dvh;border-radius:0}
 .modalHead{border-radius:0}
 .drawerHead{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:9px}
 .page{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

/* v2.0.57 real-phone workflow hardening */
@media(max-width:850px){
 .drawerPanel{height:100dvh;padding-bottom:env(safe-area-inset-bottom)}
 .modal{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .modalCard{width:100%;max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));padding:0;overflow:auto}
 .modalHead{position:sticky;top:0;z-index:5;padding-top:15px;padding-bottom:13px;background:#fff;border-bottom:1px solid var(--line)}
 .modalCard>form{padding:0 14px 14px}
 .modalCard .actions{position:sticky;bottom:0;z-index:4;margin:8px -14px -14px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 18px #1020330d}
 .modalCard .actions button{min-height:44px}
 .opsTabs,.clientTabs{overflow-x:auto;flex-wrap:nowrap;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:5px}
 .opsTabs button,.clientTabs button{flex:0 0 auto;min-height:42px;white-space:nowrap}
 .notificationPanel{max-height:calc(100dvh - 78px)}
 .tableWrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;box-shadow:inset -10px 0 12px -14px #17354a99}
 .quickGuestGrid{grid-template-columns:1fr 1fr}
 .quickGuestActions button{min-height:44px}
}
@media(max-width:560px){
 .pageHead{align-items:stretch;flex-direction:column;gap:12px}
 .pageHead>button,.pageHead>.primary{width:100%;min-height:44px}
 .dashboardPageHead{align-items:stretch}
 .financeKpis,.tourFinanceKpis,.dashFinanceMini,.bookingKpis,.stats{grid-template-columns:1fr}
 .quickGuestGrid{grid-template-columns:1fr}
 .quickGuestGrid input:first-child{grid-column:auto}
 .quickGuestActions{display:grid;grid-template-columns:1fr}
 .quickGuestActions button{width:100%}
 .actions{display:grid;grid-template-columns:1fr 1fr}
 .actions button{width:100%}
 .actions button.primary:last-child{grid-column:1/-1}
}
@media(max-width:380px){
 header{gap:8px}
 .headerActions{gap:5px}
 #who{display:none}
 .tourTopActions{grid-template-columns:1fr}
 .drawerActions>*{flex-basis:100%}
}

/* v2.0.58 iOS keyboard and compact mobile actions */
@media(max-width:850px){
 .modal{inset:auto 0 auto 0;top:var(--app-visible-top,0);height:var(--app-visible-height,100dvh);min-height:0;align-items:stretch;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
 .modalCard{align-self:stretch;max-height:100%;min-height:0}
 .modalCard .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:9px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .modalCard .actions button{flex:1 1 110px;min-height:40px;width:auto;padding:8px 12px;font-size:15px}
 .modalCard .actions button.primary:last-child{grid-column:auto}
}
@media(max-width:380px){
 .modalCard .actions button{min-height:38px;padding:7px 10px;font-size:14px}
}

/* v2.0.59 fixed mobile modal alignment */
@media(max-width:850px){
 .modal{overflow:hidden;overscroll-behavior:none;touch-action:pan-y}
 .modalCard{position:relative;left:auto;right:auto;transform:none;margin:0;width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}
 .modalHead,#entryForm,.modalCard .grid,.modalCard .field,.modalCard .formSection,.modalCard .hotelFields{width:100%;max-width:100%;min-width:0}
 .modalCard input,.modalCard select,.modalCard textarea{display:block;width:100%;max-width:100%;min-width:0}
 .modalCard .selectWithAction{width:100%;max-width:100%;min-width:0}
 .modalCard .selectWithAction>*{min-width:0}
 .modalCard .actions{width:auto;max-width:none}
}
.guideFactsheet{max-width:1180px;margin:0 auto;color:#17354a}.factsheetHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:17px;background:linear-gradient(125deg,#102d44,#174e6a);color:#fff}.factsheetHero span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#8fc9ed}.factsheetHero h2{margin:5px 0;font-family:Georgia,serif;font-size:26px}.factsheetHero p{margin:0;color:#d2e0e8;font-size:12px}.factsheetHeroBadge{padding:8px 11px;border:1px solid #ffffff35;border-radius:20px;background:#ffffff12;font-size:11px;font-weight:850;white-space:nowrap}.factsheetActions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 8px}.factsheetSecurity{padding:9px 11px;border-radius:9px;background:#eef5f8;color:#587181;font-size:11px}.factsheetSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}.factsheetSummary>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.factsheetSummary span,.factsheetSummary b{display:block}.factsheetSummary span{font-size:9px;font-weight:850;letter-spacing:.07em;color:#758594;text-transform:uppercase}.factsheetSummary b{margin-top:5px;font-size:12px}.factsheetSummary a{display:inline-block;margin-top:6px;font-size:10px;font-weight:800}.factsheetCritical{padding:15px;border:1px solid #e4c58d;border-radius:13px;background:#fff9ec}.factsheetCritical h3{margin:0 0 9px}.factsheetCritical>div{padding:9px 0;border-top:1px solid #ecdcbf}.factsheetCritical span{display:block;margin-bottom:4px;color:#8b5b13;font-size:9px;font-weight:900;letter-spacing:.08em}.factsheetCritical p,.factsheetFinalNotes p,.factsheetServiceNote p{margin:3px 0;white-space:pre-line}.factsheetSection{margin-top:15px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.factsheetSectionHead span{font-size:9px;font-weight:900;letter-spacing:.1em;color:#2875a4}.factsheetSectionHead h3{margin:3px 0 11px}.factsheetContact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #edf0f3}.factsheetContact>div:first-child{display:flex;flex-direction:column;gap:2px}.factsheetContact span,.factsheetContact small{color:#72818d;font-size:11px}.factsheetContact>div:last-child,.factsheetServiceActions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.factsheetQuick,.factsheetServiceActions>a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border:1px solid #ccdce6;border-radius:8px;background:#f4f8fa;color:#1c587c;font-size:10px;font-weight:850;text-decoration:none}.factsheetCrew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.factsheetCrew>div{padding:11px;border:1px solid #e2e8ed;border-radius:10px;background:#f8fafb}.factsheetCrew b,.factsheetCrew span{display:block}.factsheetCrew span{margin:3px 0 8px;color:#738491;font-size:10px}.factsheetDay{margin-top:12px;border:1px solid #dce5eb;border-radius:12px;overflow:hidden}.factsheetDay>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#173e58;color:#fff}.factsheetDay header span{font-size:9px;letter-spacing:.1em;color:#9bc9e6}.factsheetDay header h3{margin:2px 0 0;font-size:14px}.factsheetDay header>b{font-size:11px}.factsheetService{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;padding:12px;border-top:1px solid #e8edf0}.factsheetService>time{font-size:13px;font-weight:900;color:#173e58}.factsheetServiceMain>span{font-size:9px;font-weight:900;color:#2875a4}.factsheetServiceMain h4{margin:3px 0}.factsheetServiceMain>p{margin:0;color:#71818e;font-size:11px}.factsheetServiceMeta{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.factsheetServiceMeta b{padding:4px 6px;border-radius:6px;background:#eef3f6;font-size:9px}.factsheetServiceNote{margin-top:8px;padding:8px;border-left:3px solid #c79d49;background:#fff9ec;font-size:11px}.factsheetFinalNotes{margin-top:15px;padding:15px;border-radius:12px;background:#fceeed;color:#7f3732}.factsheetEmpty{color:#788793}.factsheetPrint .factsheetQuick,.factsheetPrint .factsheetServiceActions a{border:0;padding:0;background:transparent;color:#17354a}.factsheetPrint .factsheetSecurity,.factsheetPrint .factsheetActions{display:none}@media(max-width:800px){.factsheetSummary{grid-template-columns:1fr 1fr}.factsheetCrew{grid-template-columns:1fr 1fr}.factsheetService{grid-template-columns:46px minmax(0,1fr)}.factsheetServiceActions{grid-column:1/-1;justify-content:flex-start}.factsheetServiceActions>a{flex:1}}@media(max-width:520px){.factsheetHero{align-items:flex-start;flex-direction:column;padding:17px}.factsheetHero h2{font-size:22px}.factsheetHeroBadge{align-self:flex-start}.factsheetActions{display:grid;grid-template-columns:1fr}.factsheetActions button{width:100%;min-height:44px}.factsheetSummary,.factsheetCrew{grid-template-columns:1fr}.factsheetContact{align-items:flex-start;flex-direction:column}.factsheetContact>div:last-child{justify-content:flex-start;width:100%}.factsheetContact .factsheetQuick{flex:1}.factsheetSection{padding:11px}.factsheetService{grid-template-columns:40px minmax(0,1fr);padding:10px}.factsheetDay>header{align-items:flex-start}}
@media(max-width:430px){.factsheetQuick,.factsheetServiceActions>a{min-height:44px}}
/* v2.0.61 — separate, editable Spanish client version */
.clientLanguageBar{display:flex;align-items:end;gap:18px;padding:16px;margin-bottom:16px;border:1px solid #b9d4f7;border-radius:14px;background:#f2f7ff}.clientLanguageBar .field{min-width:210px}.clientLanguageBar p{margin:0 0 8px;color:#5d7084;font-size:14px}.translationEditor{margin-top:22px;padding-top:22px;border-top:2px solid #d9e5f4}.translationEditor.hidden{display:none}.translationHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.translationHead h3{margin:3px 0}.translationHead p{margin:0;color:#6b7d8f}.translationStatus{margin:10px 0 18px;padding:10px 12px;border-radius:10px;background:#eef6ff;color:#3b638a;font-size:13px}.translationSubhead{margin:24px 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.06em}.translationCard{margin:10px 0;padding:14px;border:1px solid #dfe7ef;border-radius:12px;background:#fbfcfd}.translationCard>b{display:block;margin-bottom:10px;color:#21394d}
@media(max-width:760px){.clientLanguageBar,.translationHead{align-items:stretch;flex-direction:column}.clientLanguageBar .field{min-width:0}.translationHead button{width:100%}}
/* v2.0.62 — visible language selector and compact proposal link controls */
/* v2.0.63 — reusable Spanish Product Library content */
.proposalLanguageLabel{margin-left:auto!important}.proposalQuoteSelect #proposalLanguageTop{width:auto;min-width:130px}.proposalShareActions button.secondary,.proposalShareActions a.secondary{min-height:34px!important;padding:7px 12px!important;font-size:13px!important;border-radius:9px!important}.proposalShareActions .mini{min-height:34px!important;padding:7px 11px!important;font-size:13px!important}.proposalShareBox{padding:10px 14px}.proposalShareActions{gap:6px}
@media(max-width:760px){.proposalLanguageLabel{margin-left:0!important}.proposalQuoteSelect #proposalLanguageTop{width:100%}}

/* v2.0.64 — calmer, visually separated proposal workspace */
.proposalHead{
 align-items:center;margin:0 0 12px;padding:14px 16px;border:1px solid #dce6ed;
 border-left:4px solid #1f6fd6;border-radius:13px;background:linear-gradient(135deg,#fff,#f8fbfd)
}
.proposalHead .eyebrow{font-size:10px;letter-spacing:.11em}.proposalHead h3{margin:2px 0 3px;font-size:19px;line-height:1.2}
.proposalHead p{max-width:700px;font-size:12px;line-height:1.45}.proposalHeadActions button{min-height:36px;padding:8px 13px;font-size:13px}
.proposalShareBox{
 position:relative;overflow:hidden;margin:12px 0 14px;padding:13px 15px;border-color:#d8e3e8;
 border-left:4px solid #c79d49;background:linear-gradient(135deg,#fffdfa,#f7fafb);box-shadow:0 4px 14px rgba(20,49,70,.045)
}
.proposalShareBox:before{content:"";position:absolute;right:-34px;top:-50px;width:115px;height:115px;border:1px solid rgba(199,157,73,.16);border-radius:50%;pointer-events:none}
.proposalShareBox>div:first-child{min-width:245px}.proposalShareBox .eyebrow{font-size:9px;letter-spacing:.12em;color:#9a752d}
.proposalShareBox h4{font-size:15px}.proposalShareBox p{max-width:520px;font-size:10px;line-height:1.45}
.proposalShareActions{position:relative}.proposalShareActions .shareState{margin-right:2px}
.translationEditor{
 margin:18px 0 2px;padding:0 14px 14px;border:1px solid #d6e3ef;border-top:0;border-radius:13px;
 background:linear-gradient(180deg,#f5f9fd 0,#fff 150px);overflow:hidden
}
.translationHead{margin:0 -14px 10px;padding:13px 14px;border-top:4px solid #2c75c8;border-bottom:1px solid #dbe6ef;background:#f7fafe;align-items:center}
.translationHead .eyebrow{font-size:9px;letter-spacing:.12em}.translationHead h3{margin:2px 0;font-size:18px}.translationHead p{font-size:12px;line-height:1.4}
.translationHead button{max-width:190px;min-height:38px;padding:8px 13px;font-size:12px;line-height:1.2}
.translationStatus{margin:10px 0 13px;padding:8px 10px;border:1px solid #d9e8f6;background:#eef6fd;font-size:11px}
.translationSubhead{display:flex;align-items:center;gap:9px;margin:18px 0 8px;font-size:11px;letter-spacing:.1em;color:#315b7e}
.translationSubhead:after{content:"";height:1px;flex:1;background:#d9e4ec}
.translationCard{margin:8px 0;padding:11px 12px;border-left:3px solid #8bb3d7;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(28,63,88,.035)}
.translationCard>b{margin-bottom:8px;font-size:12px}.translationEditor .field label{font-size:11px}.translationEditor textarea{min-height:76px}
@media(max-width:760px){
 .proposalHead{align-items:stretch;padding:12px}.proposalHeadActions{display:grid;grid-template-columns:1fr 1fr}
 .proposalShareBox{padding:12px}.proposalShareActions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .proposalShareActions .shareState{grid-column:1/-1;width:max-content}.proposalShareActions button,.proposalShareActions a.secondary{width:100%;justify-content:center}
 .translationEditor{padding:0 11px 11px}.translationHead{margin:0 -11px 9px;padding:12px 11px}.translationHead button{max-width:none}
}

/* v2.0.65 — clearer colour identity for Guest Portal sharing */
.proposalShareBox{
 border-color:#e6d3aa;border-left-color:#c9942f;
 background:linear-gradient(110deg,#fff7e7 0,#fffbf3 44%,#f2f7fb 100%);
 box-shadow:0 6px 18px rgba(104,75,25,.08)
}
.proposalShareBox:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#c9942f;pointer-events:none}
.proposalShareBox>div:first-child{position:relative;padding-right:12px}
.proposalShareBox .eyebrow{color:#976b1d}.proposalShareBox h4{color:#17344b}
.proposalShareActions{padding:8px;border:1px solid #dce7ef;border-radius:11px;background:rgba(240,247,252,.88)}
.proposalShareActions button.secondary,.proposalShareActions a.secondary{background:#fff;border-color:#cbdce8;color:#173d5a}
.proposalShareActions button.secondary:hover,.proposalShareActions a.secondary:hover{background:#eaf4fb;border-color:#9fc1d8}
.proposalShareActions .shareState.on{background:#dff2e6;color:#286848;border:1px solid #c2e4cf}
@media(max-width:760px){.proposalShareBox>div:first-child{padding-right:0}.proposalShareActions{padding:7px}}
/* v2.0.66 clickable availability days */
.availabilityCell{cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}
.availabilityCell:hover{filter:brightness(.94);box-shadow:inset 0 0 0 2px #2d75b933}

/* v2.0.67 — compact proposal workspace on desktop */
@media(min-width:901px){
 .proposalEditor{grid-template-columns:minmax(0,1fr) 225px;gap:10px}
 .proposalEditorMain,.proposalEditorSide{padding:12px;border-radius:12px}
 .proposalEditorMain{gap:8px}.proposalTwo{gap:9px}
 .proposalEditor .field{gap:4px}.proposalEditor .field label{font-size:10.5px}
 .proposalEditor .field input,.proposalEditor .field select,.proposalEditor .field textarea{padding:8px 10px;font-size:14px;line-height:1.35}
 .proposalEditor .field input,.proposalEditor .field select{min-height:36px}
 .proposalEditor textarea{min-height:78px}
 .proposalEditor .photoManager{padding:11px}
 .proposalEditor .photoCurrent{grid-template-columns:150px 1fr;gap:12px;margin-bottom:10px}
 .proposalEditor .photoCurrent img{width:150px;height:90px}
 .proposalEditor .photoCurrent small,.proposalEditor .photoEmpty{font-size:11px}
 .proposalEditorSide .proposalCheck{padding:7px 0;font-size:10.5px}
 .proposalEditorSide .proposalInfo{margin:10px 0;padding:9px}
 .proposalEditorSide .proposalInfo b{font-size:10px;margin-bottom:5px}
 .proposalEditorSide .proposalInfo span{font-size:9.5px;padding:2px 0}
 .proposalEditorSide .fullBtn{min-height:34px;padding:8px 10px;font-size:12px}
 .proposalShareBox{min-height:auto;padding:9px 12px;margin:9px 0 11px}
 .proposalShareBox h4{font-size:14px}.proposalShareBox p{font-size:8.5px}
 .proposalShareActions{padding:6px;gap:5px}
 .proposalShareActions button.secondary,.proposalShareActions a.secondary,.proposalShareActions .mini{min-height:30px!important;padding:6px 10px!important;font-size:10.5px!important}
 .shareHistory{margin-bottom:8px;font-size:9px}
}

/* v2.0.68 — compact proposal summary cards on desktop */
@media(min-width:901px){
 .proposalHead{padding:10px 13px;margin-bottom:9px;border-radius:11px}
 .proposalHead h3{font-size:17px}.proposalHead p{font-size:11px}
 .proposalHeadActions button{min-height:32px;padding:6px 11px;font-size:12px}
 .proposalQuoteSelect{gap:7px;padding:7px 10px;margin-bottom:9px;border-radius:10px}
 .proposalQuoteSelect label{font-size:10px}.proposalQuoteSelect select{min-width:220px;min-height:32px;padding:5px 8px;font-size:13px}
 .proposalQuoteSelect #proposalLanguageTop{min-width:120px}
 .proposalVersionBar{gap:10px;padding:9px 12px;margin-bottom:9px;border-radius:11px}
 .proposalVersionBar>div:first-child span{font-size:9px}.proposalVersionBar>div:first-child b{font-size:13px;margin-top:2px}.proposalVersionBar>div:first-child small{font-size:9px;margin-top:2px}
 .proposalVersionStats span{padding:4px 7px;font-size:9px}
 .proposalReadiness{grid-template-columns:145px minmax(0,1fr);gap:9px;padding:9px 12px;margin-bottom:9px;border-radius:11px}
 .proposalReadinessScore span{font-size:9px}.proposalReadinessScore b{font-size:22px;margin-top:3px}.proposalReadinessScore i{margin-top:6px;height:4px}
 .proposalReadinessChecks{gap:5px}.proposalReadinessChecks>div{padding:6px 7px;border-radius:7px}
 .proposalReadinessChecks b{font-size:9px}.proposalReadinessChecks span{font-size:7.5px;margin-top:2px}
 .proposalShareBox{gap:10px;padding:8px 11px;margin:8px 0 9px;border-radius:11px}
 .proposalShareBox>div:first-child{min-width:215px}.proposalShareBox .eyebrow{font-size:7.5px}.proposalShareBox h4{font-size:13px;margin:2px 0}.proposalShareBox p{font-size:9px}
 .proposalShareActions{padding:5px}.proposalShareActions button.secondary,.proposalShareActions a.secondary,.proposalShareActions .mini{min-height:29px!important;padding:5px 9px!important;font-size:11px!important}
 .shareState{padding:4px 7px;font-size:7.5px}.shareHistory{font-size:7.5px;margin-bottom:7px}
}

/* v2.0.69 — unified premium tour workspace */
@media(min-width:901px){
 .tourTabContent{--premium-line:#dbe4ea;--premium-ink:#17344b;--premium-muted:#748795;--premium-blue:#1c5f91;--premium-gold:#c79a43}
 .tourTabContent .primary,.tourTabContent .secondary{min-height:35px;padding:7px 12px;border-radius:9px;font-size:11.5px}

 .ccKpis button,.readinessSummary>div,.quoteKpis>div,.bookingKpis>div,.guestAccessSummary>div,.factsheetSummary>div{
  min-height:84px;padding:12px 14px;border:1px solid var(--premium-line);border-radius:12px;background:linear-gradient(145deg,#fff,#fbfcfd);box-shadow:0 3px 12px rgba(25,53,73,.045)
 }
 .ccKpis span,.readinessSummary span,.quoteKpis span,.bookingKpis span,.guestAccessSummary span,.factsheetSummary span{font-size:8.5px;letter-spacing:.07em;font-weight:850;color:var(--premium-muted)}
 .ccKpis b,.readinessSummary b,.quoteKpis b,.bookingKpis b,.guestAccessSummary b,.factsheetSummary b{font-size:19px;line-height:1.2;color:var(--premium-ink)}
 .ccKpis small,.quoteKpis small,.bookingKpis small,.guestAccessSummary small,.factsheetSummary small{font-size:9.5px;color:#8494a0}
 .ccKpis button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
 .ccKpis button:hover{transform:translateY(-1px);border-color:#bfd1dd;box-shadow:0 7px 18px rgba(25,53,73,.08)}
 .quoteKpis .strong{background:linear-gradient(145deg,#eef6fc,#e8f2fa);border-color:#c7ddeb}
 .bookingKpis .danger{background:linear-gradient(145deg,#fff9f7,#fff3f1);border-color:#eccfca}

 .readinessHero,.quoteStatusRow,.guestAccessHero{
  min-height:112px;padding:16px 18px;border-radius:14px;margin-bottom:11px;box-shadow:0 5px 16px rgba(25,53,73,.055)
 }
 .readinessHero{border-left:4px solid #c7766f;background:linear-gradient(120deg,#fffafa,#fff6f3)}
 .readinessHero.ready{border-left-color:#4f9879;background:linear-gradient(120deg,#f8fcfa,#f0f8f4)}
 .readinessHero h2{font-size:23px;margin:3px 0}.readinessHero p{font-size:13px}.readinessScore b{font-size:28px}
 .readinessProgress{height:5px;margin:8px 0 11px}.readinessSummary{gap:8px;margin-bottom:11px}
 .readinessCheck{padding:8px 11px;border-radius:10px;box-shadow:0 2px 8px rgba(25,53,73,.035)}
 .readinessIcon{width:25px;height:25px}.readinessText b{font-size:10.5px}.readinessText small{font-size:10px}

 .quoteVersionBar{margin-bottom:11px}.quoteVersion{min-height:35px;padding:7px 11px;border-radius:9px}
 .quoteStatusRow{align-items:center;border-color:var(--premium-line);background:linear-gradient(135deg,#fff,#f8fafc)}
 .quoteStatusRow h3{font-size:19px;margin:3px 0}.quoteStatusRow p{font-size:11.5px}.quoteKpis{gap:8px;margin-bottom:11px}
 .quoteStatusActions button{min-height:35px;padding:7px 12px;font-size:11.5px}
 .quoteTableWrap,.tourTabContent>.tableWrap{border-radius:12px;border-color:var(--premium-line);box-shadow:0 3px 12px rgba(25,53,73,.04)}
 .quoteTable th,.bookingTable th{padding:9px 10px;font-size:10px}.quoteTable td,.bookingTable td{padding:10px}

 .guestAccessHero{background:linear-gradient(120deg,#12334b,#1b526b);border:1px solid #244f68}
 .guestAccessHero h2{font-size:23px;margin:3px 0}.guestAccessHero p{font-size:13px}.guestAccessState{width:96px;height:72px;border-radius:12px}.guestAccessState b{font-size:25px}.guestAccessState span{font-size:10px}
 .guestAccessSummary{gap:8px;margin-bottom:12px}.guestLinkCard{padding:12px;border-radius:12px;box-shadow:0 4px 14px rgba(32,91,71,.05)}

 .bookingTop{margin-bottom:11px}.bookingTop h3{font-size:21px}.bookingTop p{font-size:11.5px}.bookingTopActions{display:flex;gap:7px}
 .bookingKpis{gap:8px;margin-bottom:9px}.bookingProgressBar{height:5px;margin-bottom:11px}

 .ccTop{margin-bottom:11px}.ccTop h2{font-size:23px}.ccTop p{font-size:13px}.ccKpis{gap:8px;margin-bottom:10px}.ccCard{padding:12px;border-radius:12px;border-color:var(--premium-line);box-shadow:0 3px 12px rgba(25,53,73,.04)}
 .ccCardHead{margin-bottom:8px}.ccCardHead h3{font-size:15px}.ccGrid{gap:8px}

 .factsheetEditor{border-color:var(--premium-line);border-radius:13px;background:#f8fafc;box-shadow:0 5px 18px rgba(23,53,74,.07)}
 .factsheetEditorTitle{padding:11px 15px;background:linear-gradient(110deg,#173e58,#1d5974);border-bottom:3px solid var(--premium-gold);font-size:14px;letter-spacing:.02em}
 .factsheetEditorBody{padding:14px}.factsheetEditorHead{margin-bottom:9px}.factsheetEditorHead h3{font-size:19px}.factsheetEditor .grid{gap:9px;margin-top:11px}
 .factsheetEditor .field label{font-size:11px}.factsheetEditor .field input,.factsheetEditor .field textarea{padding:8px 10px;font-size:12.5px}.factsheetEditor textarea{min-height:76px}
 .factsheetHero{padding:17px 18px;border-radius:14px}.factsheetHero h2{font-size:22px}
}

/* v2.0.70 — dense desktop workspace, Proposal excluded */
@media(min-width:901px){
 .tourTabContent:not(:has(#proposalForm)){padding:14px 16px 28px;font-size:13px}
 .tourTabContent:not(:has(#proposalForm)) .eyebrow{font-size:9px;letter-spacing:.13em}
 .tourTabContent:not(:has(#proposalForm)) .primary,.tourTabContent:not(:has(#proposalForm)) .secondary{min-height:32px;padding:6px 10px;font-size:10.5px}

 .tourTabContent:not(:has(#proposalForm)) .ccKpis button,
 .tourTabContent:not(:has(#proposalForm)) .readinessSummary>div,
 .tourTabContent:not(:has(#proposalForm)) .quoteKpis>div,
 .tourTabContent:not(:has(#proposalForm)) .bookingKpis>div,
 .tourTabContent:not(:has(#proposalForm)) .guestAccessSummary>div,
 .tourTabContent:not(:has(#proposalForm)) .factsheetSummary>div{
  min-height:68px;padding:9px 11px;border-radius:10px
 }
 .tourTabContent:not(:has(#proposalForm)) .ccKpis span,
 .tourTabContent:not(:has(#proposalForm)) .readinessSummary span,
 .tourTabContent:not(:has(#proposalForm)) .quoteKpis span,
 .tourTabContent:not(:has(#proposalForm)) .bookingKpis span,
 .tourTabContent:not(:has(#proposalForm)) .guestAccessSummary span,
 .tourTabContent:not(:has(#proposalForm)) .factsheetSummary span{font-size:7.5px}
 .tourTabContent:not(:has(#proposalForm)) .ccKpis b,
 .tourTabContent:not(:has(#proposalForm)) .readinessSummary b,
 .tourTabContent:not(:has(#proposalForm)) .quoteKpis b,
 .tourTabContent:not(:has(#proposalForm)) .bookingKpis b,
 .tourTabContent:not(:has(#proposalForm)) .guestAccessSummary b,
 .tourTabContent:not(:has(#proposalForm)) .factsheetSummary b{font-size:15.5px;margin-top:3px}
 .tourTabContent:not(:has(#proposalForm)) .ccKpis small,
 .tourTabContent:not(:has(#proposalForm)) .quoteKpis small,
 .tourTabContent:not(:has(#proposalForm)) .bookingKpis small,
 .tourTabContent:not(:has(#proposalForm)) .guestAccessSummary small,
 .tourTabContent:not(:has(#proposalForm)) .factsheetSummary small{font-size:8.5px;margin-top:2px}

 .ccTop{margin-bottom:8px}.ccTop h2{font-size:19px;margin:2px 0}.ccTop p{font-size:10.5px}.ccKpis{gap:7px;margin-bottom:8px}
 .ccCard{padding:9px 10px;border-radius:10px}.ccCardHead{margin-bottom:6px}.ccCardHead h3{font-size:12.5px;margin:2px 0}.ccCardHead>button{padding:5px 8px;font-size:8.5px}
 .ccGrid{gap:7px}.ccReadyLine{grid-template-columns:38px 1fr auto}.ccReadyLine>b{font-size:16px}.ccMiniList button,.ccDeadline,.ccResource{padding:6px 0}

 .readinessHero,.quoteStatusRow,.guestAccessHero{min-height:88px;padding:11px 14px;border-radius:11px;margin-bottom:8px}
 .readinessHero h2{font-size:19px}.readinessHero p{font-size:10.5px}.readinessScore b{font-size:23px}.readinessScore span{font-size:9px}
 .readinessProgress{margin:6px 0 8px}.readinessSummary{gap:7px;margin-bottom:8px}.readinessChecks{gap:5px}
 .readinessCheck{grid-template-columns:28px 1fr 16px;gap:8px;padding:6px 9px;border-radius:9px}.readinessIcon{width:21px;height:21px;font-size:11px}.readinessText b{font-size:9.5px}.readinessText small{font-size:9px}.readinessGo{font-size:17px}

 .quoteVersionBar{margin-bottom:8px}.quoteVersions,.quoteActions{gap:6px}.quoteVersion{min-height:32px;padding:5px 9px;border-radius:8px;font-size:11px}
 .quoteStatusRow h3{font-size:15.5px;margin:2px 0}.quoteStatusRow p{font-size:11px}.quoteStatusActions{gap:6px}.quoteStatusActions button{min-height:32px;padding:6px 10px;font-size:10.5px}
 .quoteKpis{gap:7px;margin-bottom:8px}.quoteTable th,.bookingTable th{padding:7px 8px;font-size:9px}.quoteTable td,.bookingTable td{padding:7px 8px;font-size:10.5px}
 .quoteTable td small,.bookingTable td small{font-size:8.5px}

 .guestAccessHero h2{font-size:19px;margin:2px 0}.guestAccessHero p{font-size:10.5px}.guestAccessState{width:80px;height:58px;border-radius:10px}.guestAccessState b{font-size:21px}.guestAccessState span{font-size:7.5px}
 .guestAccessSummary{gap:7px;margin-bottom:9px}.guestLinksSection .sectionHead h3{font-size:17px}.guestLinksSection .sectionHead>div p{font-size:11px}
 .guestLinkCard{padding:9px 10px;gap:10px;border-radius:10px}.guestLinkIcon{width:30px;height:30px}.guestLinkMain>span{font-size:8.5px}.guestLinkMain small{font-size:10px}

 .bookingTop{margin-bottom:8px}.bookingTop h3{font-size:18px;margin:2px 0}.bookingTop p{font-size:11px}.bookingTopActions{gap:6px}
 .bookingKpis{gap:7px;margin-bottom:7px}.bookingProgressBar{margin-bottom:8px}.bookingStatusSummary{margin-bottom:9px}
 .bookingTools{gap:6px;margin-bottom:8px}.bookingTools input,.bookingTools select{padding:7px 8px;font-size:10.5px}

 .factsheetHero{padding:12px 14px;border-radius:11px}.factsheetHero h2{font-size:18px}.factsheetHero p{font-size:9.5px}.factsheetActions{margin:8px 0 6px}
 .factsheetSecurity{padding:7px 9px;font-size:10px}.factsheetEditor{margin:8px 0;border-radius:11px}.factsheetEditorTitle{padding:8px 12px;font-size:12px}
 .factsheetEditorBody{padding:10px 12px}.factsheetEditorHead{margin-bottom:6px}.factsheetEditorHead h3{font-size:16px}.factsheetEditor .grid{gap:7px;margin-top:8px}
.factsheetEditor .field label{font-size:10px}.factsheetEditor .field input,.factsheetEditor .field textarea{padding:7px 8px;font-size:12px}.factsheetEditor textarea{min-height:64px}
}

/* v2.0.77 — unified compact premium modal system */
@media (min-width:851px){
 .modal{padding:24px;background:rgba(8,25,38,.7);backdrop-filter:blur(5px)}
 .modal .modalCard{width:min(680px,88vw);max-height:86vh;padding:15px 17px 14px;border:1px solid rgba(195,210,220,.95);border-radius:15px;background:#fff;box-shadow:0 25px 75px rgba(7,29,45,.24),0 2px 8px rgba(7,29,45,.06)}
 .modal .modalHead{position:sticky;z-index:5;top:-15px;margin:-15px -17px 8px;padding:14px 17px 10px;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid #e3ebf0;border-radius:15px 15px 0 0}
 .modal .modalHead h2{font-size:20px;line-height:1.18;letter-spacing:-.018em;color:#102b40}
 .modal .modalHead .eyebrow{margin-bottom:4px;font-size:9px;letter-spacing:.19em}
 .modal .modalHead button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:50%;color:#29465b;font-size:21px;line-height:1}
 .modal .modalHead button:hover{border-color:#dce6ec;background:#f1f6f8}
 .modal .grid{gap:7px 9px;margin-top:8px}
 .modal .field{gap:3px}.modal .field label{font-size:9.5px;line-height:1.2}
 .modal .field input,.modal .field select{min-height:34px;height:34px;padding:6px 9px;border-radius:7px;font-size:11.5px}
 .modal .field textarea{min-height:58px;padding:7px 9px;border-radius:7px;font-size:11.5px;line-height:1.35;resize:vertical}
 .modal .formSection{margin-top:2px;padding:7px 9px;border-radius:7px;background:linear-gradient(110deg,#f7fafc,#f0f5f8);border-color:#dce6ec}
 .modal .formSection span{font-size:7.5px;letter-spacing:.15em}.modal .formSection b{font-size:11.5px}.modal .formSection small{font-size:10px;line-height:1.3}
 .modal .actions{position:sticky;z-index:4;bottom:-14px;margin:4px -17px -14px;padding:9px 17px 10px;background:rgba(255,255,255,.98);border-top:1px solid #e5ecef;box-shadow:0 -8px 18px rgba(16,43,64,.04)}
 .modal .actions button,.modal .actions a{min-height:32px;padding:6px 11px;border-radius:7px;font-size:10.5px}
 .modal .empty.small{padding:14px 8px;font-size:12px}
 .modal .staySummary{min-height:28px;padding:6px 8px;border-radius:7px;font-size:9.5px}
 .modal .invoiceReader{padding:10px!important;border-radius:9px!important}.modal .invoiceReader h3{font-size:15px!important}.modal .invoiceReader p{font-size:10px!important}
 .modal .hotelFields{gap:7px}
 .modalCard:has(#entryForm[data-kind="service"]){width:min(900px,90vw);max-height:89vh;padding:15px 17px}
 .modalCard:has(#entryForm[data-kind="service"]) .modalHead h2{font-size:21px}
 #entryForm[data-kind="service"]{gap:7px;margin-top:8px}
 .pricingModal .pricingCard,.pricingCard{width:min(620px,88vw)!important}
 .ledgerCard{width:min(640px,88vw)!important}
 .ledgerCard .ledgerSummary{gap:7px;margin:8px 0}
 .ledgerCard .ledgerSummary>div{padding:8px 9px;border-radius:8px}
 .ledgerCard .ledgerSummary span{font-size:7.5px}.ledgerCard .ledgerSummary b{font-size:14px}
 .ledgerCard .ledgerEntryForm{gap:7px 9px;margin-top:8px}
 .ledgerCard .ledgerList{margin:7px 0}.ledgerCard .ledgerList article{padding:7px 2px}
 .ledgerCard .ledgerPaid{margin-top:8px;padding:9px;font-size:12px}
 .clientInvoiceCard{width:min(680px,88vw)!important}
}

/* v2.0.78 — client invoice PDF */
.clientInvoiceBtn{border-color:#b8d6c5!important;background:#f0faf4!important;color:#226746!important}.invoiceIssued{color:#26704a!important;font-weight:750}.invoiceClientSummary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.invoiceClientSummary>div{padding:10px 11px;border:1px solid #dbe5ea;border-radius:9px;background:#f8fafb}.invoiceClientSummary span,.invoiceClientSummary b,.invoiceClientSummary small{display:block}.invoiceClientSummary span{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.invoiceClientSummary b{margin-top:4px;color:#17354a;font-size:14px}.invoiceClientSummary small{margin-top:3px;color:var(--muted);font-size:10px}.clientInvoiceCard .field textarea[name="description"]{min-height:52px}.clientInvoiceCard .field textarea[name="tax_note"]{min-height:48px}
@media(max-width:600px){.invoiceClientSummary{grid-template-columns:1fr}}

/* v2.0.80 — premium final invoice and complete payment receipt */
.clientPaymentTopActions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.invoiceSummaryFour{grid-template-columns:repeat(2,1fr)}.invoiceSummaryFour .invoiceComplete{border-color:#b9ddc9;background:#eff9f3}.invoiceSummaryFour .invoiceComplete b{color:#226b49}.invoiceSummaryFour .invoiceOutstanding{border-color:#ead19d;background:#fff9ec}.invoiceCoverage{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px;padding:8px 10px;border-left:3px solid #c69b48;border-radius:7px;background:#f6f9fb;color:#526979}.invoiceCoverage b{color:#17354a;font-size:11px}.invoiceCoverage span{font-size:10px}.clientInvoiceCard textarea[name="tax_note"]{background:#fffaf0;border-color:#dec58f}
@media(max-width:700px){.clientPaymentTopActions{width:100%}.clientPaymentTopActions button{flex:1}.invoiceSummaryFour{grid-template-columns:1fr}.invoiceCoverage{align-items:flex-start;flex-direction:column}}

.companyFinanceTools{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid #e6edf2}.companyFinanceTools label{display:grid;gap:5px;color:#687885;font-size:13px;font-weight:600}.companyFinanceTools input{min-width:155px;padding:9px 10px;border:1px solid #d5dfe5;border-radius:7px;color:#263844;background:#fff;font:inherit;font-size:15px}.companyFinanceTools>span{color:#758593;font-size:13px;margin-left:auto}.companyCategory{padding:14px 20px 4px}.companyCategory h4{font-size:14px;color:#263844;margin:0 0 8px}.companyCategory .tableWrap{margin:0 -20px}.companyCategory .financeTable th,.companyCategory .financeTable td{padding-top:9px;padding-bottom:9px}

.companyFinancePanel .financeTable td{vertical-align:top}.companyFinancePanel .financeTable td:nth-child(5){min-width:125px}.companyFinancePanel .rowActions{display:flex;gap:5px}.companyFinancePanel .financeCurrencyGrid{margin-bottom:0}#companyCaptureStatus{display:block;font-size:13px;color:#526b7c;margin-top:5px}

.companyPaymentSection{margin:12px 20px 0;border:1px solid #dfe7ec;border-radius:11px;overflow:hidden;background:#fcfdfd}.companyPaymentTitle{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px}.companyPaymentTitle h4{font-size:17px;margin:4px 0}.companyPaymentTitle p{font-size:13px;color:#758593;margin:0}.companyPaymentTitle>b{font-size:13px;color:#5f7180;white-space:nowrap}.companyMethodGrid{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}.companyMethodGrid>div{display:grid;gap:3px;min-width:145px;border:1px solid #e2e9ed;border-radius:7px;background:#fff;padding:10px 12px}.companyMethodGrid span{font-size:12px;color:#758593}.companyMethodGrid b{font-size:16px;color:#17334a}.companyPaymentSection .financeTable{margin:0}.companyPaymentSection .empty{margin:0}.companyFinanceTools{align-items:center}.companyFinanceTools>span{white-space:nowrap}@media(max-width:700px){.companyPaymentSection{margin:10px 12px 0}.companyPaymentTitle{align-items:flex-start}.companyFinanceTools>span{margin-left:0}}

/* v2.0.101 — compact workspace controls; keep touch targets usable on phones */
.pageHead{margin-bottom:14px}.pageHead h1{font-size:26px}.pageHead p{font-size:13px;line-height:1.4}
.pageHead button.primary,.pageHead button.secondary,.pageHead a.primary{min-height:34px;padding:7px 11px;border-radius:7px;font-size:11.5px}
#finance .clientPaymentTopActions{margin-bottom:11px!important}
#finance .clientPaymentTopActions button{min-height:33px;padding:7px 11px;font-size:11.5px}
#finance .companyFinancePanel .financePanelHead{padding:12px 16px;gap:10px}
#finance .companyFinancePanel .financePanelHead h3{font-size:18px;margin:2px 0}
#finance .companyFinancePanel .financePanelHead p{font-size:12px;line-height:1.35}
#finance .companyFinancePanel .financePanelHead .eyebrow{font-size:10px}
#finance .companyFinancePanel .financePanelHead .primary{min-height:34px;padding:7px 11px;font-size:11.5px;white-space:nowrap}
#finance .companyFinanceTools{padding:10px 16px;gap:7px}
#finance .companyFinanceTools label{gap:3px;font-size:11px}
#finance .companyFinanceTools input{min-width:150px;min-height:34px;padding:6px 9px;font-size:13px}
#finance .companyFinanceTools button{min-height:34px;padding:6px 10px;font-size:12px;line-height:1.2}
#finance .companyFinanceTools>span{font-size:11px}
#finance .companyFinancePanel .financeCurrencyGrid{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;margin:0}
#finance .companyFinancePanel .financeCurrencyCard{flex:0 1 330px;box-shadow:none;border-radius:9px}
#finance .companyFinancePanel .financeCurrencyHead{padding:7px 11px}
#finance .companyFinancePanel .financeCurrencyHead span{font-size:13px;letter-spacing:.04em}
#finance .companyFinancePanel .financeCurrencyMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
#finance .companyFinancePanel .financeCurrencyMetrics>div{padding:8px 10px;border-bottom:0}
#finance .companyFinancePanel .financeCurrencyMetrics span{font-size:8.5px;line-height:1.2}
#finance .companyFinancePanel .financeCurrencyMetrics b{font-size:14px;margin-top:3px}
#finance .companyPaymentSection{margin:5px 16px 0;border-radius:9px}
#finance .companyPaymentTitle{padding:10px 12px}
#finance .companyPaymentTitle h4{font-size:15px;margin:2px 0}
#finance .companyPaymentTitle p{font-size:10.5px}
#finance .companyPaymentTitle .eyebrow{font-size:9px}
#finance .companyMethodGrid{padding:0 12px 9px;gap:6px}
#finance .companyMethodGrid>div{min-width:120px;padding:7px 9px}
#finance .companyMethodGrid span{font-size:11px}
#finance .companyMethodGrid b{font-size:14px}
#finance .companyCategory{padding:11px 16px 3px}
#finance .companyCategory .tableWrap{margin:0 -16px}
#finance .companyFinancePanel .financeTable th,#finance .companyFinancePanel .financeTable td{padding:8px 10px;font-size:12px}
#finance .companyFinancePanel .financeTable td small{font-size:9.5px}
#finance .companyFinancePanel .collectionNote{padding:8px 16px;font-size:11px}
@media(max-width:700px){.pageHead h1{font-size:23px}.pageHead button.primary,.pageHead button.secondary{min-height:40px}#finance .companyFinancePanel .financePanelHead{align-items:stretch}#finance .companyFinancePanel .financePanelHead .primary{min-height:40px}#finance .companyFinanceTools button{min-height:40px}#finance .companyFinanceTools input{min-height:40px}#finance .companyFinancePanel .financeCurrencyCard{flex:1 1 100%}#finance .companyPaymentSection{margin:5px 12px 0}}

.companyLedgerModal{max-width:620px}.companyLedgerSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.companyLedgerSummary>div{padding:10px 12px;border:1px solid #dfe7ec;border-radius:8px}.companyLedgerSummary span,.companyLedgerSummary b{display:block}.companyLedgerSummary span{font-size:11px;color:#758593}.companyLedgerSummary b{font-size:16px;margin-top:4px}.companyLedgerList{border-top:1px solid #e2e9ed}.companyLedgerRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #e2e9ed}.companyLedgerRow b,.companyLedgerRow span{display:block}.companyLedgerRow b{font-size:13px}.companyLedgerRow span{font-size:11px;color:#758593;margin-top:3px}.companyLedgerRow>div:last-child{display:flex;gap:5px}.companyLedgerModal .grid{margin-top:14px}.companyLegacyPayment{padding:11px;border:1px solid #dfe7ec;border-radius:8px;background:#f9fbfc}.companyLegacyPayment p{margin:0 0 9px;font-size:12px;color:#516779}.companyLegacyPayment label{display:inline-grid;gap:3px;margin-right:8px;font-size:11px;color:#516779}.companyLegacyPayment input{min-height:34px;padding:6px;border:1px solid #dfe7ec;border-radius:6px}.companyLegacyPayment button{min-height:34px;padding:7px 10px;font-size:12px}@media(max-width:560px){.companyLedgerSummary b{font-size:13px}.companyLedgerRow{align-items:flex-start}.companyLedgerRow>div:last-child{flex-direction:column}.companyLegacyPayment button{margin-top:8px}}

.companyDueSection{margin:6px 16px 12px;border:1px solid #dfe7ec;border-radius:9px;overflow:hidden;background:#fff}.companyDueHead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}.companyDueHead h4{font-size:15px;margin:3px 0}.companyDueHead p{font-size:10.5px;color:#758593;margin:0}.companyDueCount{font-size:12px;color:#647686;white-space:nowrap}.companyDueCount b{color:#17334a}.companyDueFilters{display:flex;gap:5px;flex-wrap:wrap;padding:0 14px 10px}.companyDueFilters button{border:1px solid #dce6ec;background:#fff;border-radius:7px;padding:6px 9px;min-height:30px;color:#5b7080;font-size:11px;cursor:pointer}.companyDueFilters button.active{background:#eaf2f7;color:#173d57;border-color:#afcada;font-weight:700}.companyDueTotals{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 10px;font-size:11px;color:#758593}.companyDueTotals span{padding:6px 8px;background:#f7fafb;border:1px solid #e4ebef;border-radius:6px}.companyDueTotals b{color:#17334a}.companyDueSection .companyOverdue{color:#a23f47!important;font-weight:700}.companyDueSection .empty{margin:0}.companyDueSection .financeTable{margin:0}@media(max-width:700px){.companyDueSection{margin:6px 12px 10px}.companyDueHead{align-items:flex-start;flex-direction:column;gap:4px}.companyDueCount{white-space:normal}.companyDueFilters button{min-height:36px}}

.dashCompanyBills{margin:0 0 14px;padding:14px 16px;border:1px solid #dfe7ec;border-radius:11px;background:#fff}.dashCompanyBillsHead{display:flex;justify-content:space-between;align-items:center;gap:12px}.dashCompanyBillsHead h3{margin:3px 0;font-size:17px;color:#17334a}.dashCompanyBillsHead p{margin:0;color:#758593;font-size:10.5px}.dashCompanyBillsHead .secondary{min-height:32px;padding:6px 10px;font-size:10.5px;white-space:nowrap}.dashCompanyTotals{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.dashCompanyTotals>div{display:grid;gap:2px;padding:8px 10px;border:1px solid #e2e9ed;border-radius:7px;background:#f9fbfc}.dashCompanyTotals b{font-size:15px;color:#17334a}.dashCompanyTotals span{font-size:10px;color:#758593}.dashCompanyBillRows{display:grid;gap:0}.dashCompanyBillRows button{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:8px 2px;border:0;border-top:1px solid #edf1f4;background:none;text-align:left;cursor:pointer}.dashCompanyBillRows span{font-size:11px;color:#617585}.dashCompanyBillRows span.overdue{color:#a23f47;font-weight:700}.dashCompanyBillRows b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#17334a}.dashCompanyBillRows strong{font-size:12px;color:#17334a}.dashCompanyBillRows p{font-size:12px;color:#758593}@media(max-width:700px){.dashCompanyBillsHead{align-items:flex-start;flex-direction:column}.dashCompanyBillsHead .secondary{min-height:38px}.dashCompanyBillRows button{grid-template-columns:80px minmax(0,1fr) auto}}

.resourceContractBadge{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;font-size:12px;margin:8px 0}.resourceContractBadge.signed{background:#eef7f0;color:#27623d}.resourceContractBadge.missing{background:#fff5e8;color:#8a5720}.resourceContractBadge .mini{background:#fff}

/* Keep the three resource actions together without enlarging the card. */
.resourceCard .resourceActions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.resourceCard .resourceActions>button{flex:0 0 auto;width:auto;min-height:36px;padding:8px 10px;font-size:12px;line-height:1.2;white-space:nowrap}

/* Itinerary day groups and within-day drag handles. */
.tourTabContent .itDay{margin:0 0 24px;border:1px solid #cbd9e8;border-left:5px solid #276aa8;border-radius:13px;box-shadow:0 5px 18px rgba(22,49,76,.07);overflow:hidden}
.tourTabContent .itDay:nth-of-type(even){border-left-color:#b68b43}
.tourTabContent .itDayHead{background:#eaf2fb;border-bottom:2px solid #c7dbed;padding:15px 18px;gap:14px}
.tourTabContent .itDay:nth-of-type(even) .itDayHead{background:#f7f3ea;border-bottom-color:#e6d7b8}
.itDayIdentity{display:flex;align-items:center;gap:13px;min-width:0}
.itDayHead .itDayNumber{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:58px;height:48px;border-radius:10px;background:#1e5b96;color:#fff;font-size:12px;font-weight:850;letter-spacing:.06em}
.itDay:nth-of-type(even) .itDayNumber{background:#92703b}
.itDayIdentity h3{font-size:18px;margin:0}
.itDayIdentity small{display:block;margin-top:4px;color:#62778a;font-size:11px}
.itDayHead .dayActions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.itDayHead .dayActions button{min-height:32px;padding:6px 10px;font-size:12px}
.itDay .serviceRow{grid-template-columns:78px minmax(220px,1fr) 200px 110px;gap:12px}
.itDay .serviceTime{display:flex;align-items:center;gap:8px}
.serviceDragHandle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:30px;flex:0 0 24px;border-radius:6px;color:#63809d;background:#edf3f9;cursor:grab;font-size:19px;user-select:none;touch-action:none}
.serviceDragHandle:active{cursor:grabbing}.serviceDragHandle:focus-visible{outline:2px solid #1f73d8;outline-offset:2px}
.serviceRow.isDragging{opacity:.45}.serviceRow.isDropTarget{box-shadow:inset 0 3px #1f73d8;background:#f1f7ff}
.serviceMain .serviceDescription.isCollapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.serviceDescriptionToggle{border:0;background:none;color:#1e67a3;font-size:12px;font-weight:750;padding:3px 0;cursor:pointer}
@media(max-width:1100px){.itDay .serviceRow{grid-template-columns:70px minmax(150px,1fr) 150px 105px}.itDayHead{align-items:flex-start}.itDayHead .dayActions{max-width:55%}}
@media(max-width:900px){.itDay .serviceRow{grid-template-columns:70px minmax(0,1fr)}.itDay .serviceMoney,.itDay .serviceStatus{grid-column:2}.itDayHead .dayActions{max-width:none}.itDayHead{flex-wrap:wrap}}
@media(max-width:600px){.itDay .serviceRow{grid-template-columns:1fr}.itDay .serviceMoney,.itDay .serviceStatus{grid-column:1}.itDayIdentity{align-items:flex-start}.itDayHead .dayActions{justify-content:flex-start}}

.coverGalleryEditor{border:1px solid #dce4e2;border-radius:10px;padding:15px}.coverGalleryEditor p{font-size:13px;color:#627780;margin:3px 0 12px}.coverGalleryList{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.coverGalleryItem{width:100px;border:1px solid #dce4e2;border-radius:7px;overflow:hidden}.coverGalleryItem img{width:100%;height:64px;object-fit:cover}.coverGalleryItem>div{display:flex;justify-content:space-around}.coverGalleryItem button{border:0;background:white;cursor:pointer;min-width:28px;min-height:28px;color:#285665}.coverGalleryEditor input[type=file]{max-width:100%}

/* v2.0.136 — traveler allocation and hotel photo editor */
.roomAllocationEditor,.hotelExtraPhotos{padding:15px;border:1px solid #dbe3e0;border-radius:8px;background:#f9fbf9}.roomAllocationEditor p,.hotelExtraPhotos p{font-size:13px;color:#65757a;margin:5px 0 12px}
.roomAllocationRow{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:9px;padding:10px 0;border-top:1px solid #e0e5e2}.roomAllocationRow select{min-height:85px}.roomAllocationRow input{min-width:0}
.hotelExtraPhotosSaved{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.hotelExtraPhotosSaved label{display:flex;flex-direction:column;gap:6px;font-size:12px}.hotelExtraPhotosSaved img{width:90px;height:62px;object-fit:cover;border-radius:4px}
.travelPartyPanel>.sectionHead{display:flex;justify-content:space-between;align-items:center}.partyHotel{display:flex;flex-direction:column;gap:5px;border:1px solid #dde4e0;border-radius:8px;padding:14px;margin:10px 0}.partyHotel button{align-self:flex-start;margin-top:6px}.partyHotel span,.partyHotel small{font-size:13px;color:#576f77}
@media(max-width:700px){.roomAllocationRow{grid-template-columns:1fr 1fr}.roomAllocationRow .roomPeople{grid-column:1/-1}.roomAllocationRow button{justify-self:start}.travelPartyPanel>.sectionHead{flex-wrap:wrap;gap:10px}}
.tourPartyBasics{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f5f8fb;border:1px solid #dce5ed;border-radius:12px;padding:16px;margin:16px 0}.tourPartyBasics b,.tourPartyBasics small{display:block}.tourPartyBasics small{color:#647787;margin-top:5px}.tourPartyBasics form{display:flex;align-items:center;gap:8px}.tourPartyBasics input{width:85px;padding:10px;border:1px solid #cad7e1;border-radius:7px}.tourSimpleTabs{flex-wrap:wrap;overflow:visible!important;white-space:normal}.tourAdvancedTabs{padding:8px 0;border-bottom:1px solid #e2e8ee}.tourAdvancedTabs summary{cursor:pointer;font-size:14px;color:#5a6d7e;padding:8px 14px}.partyNameRows{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.partyNameRows>label{display:grid;grid-template-columns:1fr auto;gap:7px;padding:12px;border:1px solid #dfe7ee;border-radius:8px}.partyNameRows>label>span{grid-column:1/-1;font-size:13px;color:#53697b}.partyNameRows input{min-width:0;width:100%;padding:9px;border:1px solid #ccd9e4;border-radius:6px}.partyContactDetails{margin-top:24px;padding:14px;border:1px solid #e1e7ed;border-radius:8px}.partyContactDetails summary{cursor:pointer;font-weight:600}.roomPeopleChoices{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#f5f8fb;border-radius:6px}.roomPeopleChoices label{display:flex;align-items:center;gap:6px;font-size:13px;padding:4px}.roomPeopleChoices input{width:auto!important;min-height:0!important}.roomAllocationRow{align-items:start}
@media(max-width:700px){.tourPartyBasics{display:block}.tourPartyBasics form{flex-wrap:wrap;margin-top:12px}.partyNameRows{grid-template-columns:1fr}.tourSimpleTabs button{font-size:13px;padding:10px}.roomPeopleChoices{grid-column:1/-1}}
#tourDrawer .drawerHead{align-items:flex-start}#tourDrawer .drawerHead>div{flex:1;min-width:0}#tourDrawerMeta{display:block;width:100%;margin-top:14px}.tourHeaderFacts{display:grid;grid-template-columns:1.4fr 1.2fr 1fr 1fr;gap:0}.tourHeaderFacts>div,.tourHeaderFacts>button{display:block;text-align:left;padding:5px 16px;border:0;border-left:1px solid #dfe5eb;border-radius:0;background:transparent;color:#1d3140;min-width:0}.tourHeaderFacts>div:first-child{padding-left:0;border-left:0}.tourHeaderFacts span,.tourHeaderFacts b,.tourHeaderFacts small{display:block}.tourHeaderFacts span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#758594}.tourHeaderFacts b{font-size:15px;margin:4px 0;font-weight:650}.tourHeaderFacts small{font-size:12px;color:#617587;overflow-wrap:anywhere}.tourHeaderFacts>button:hover{background:#f3f7fb}.tourHeaderReadiness{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #e1e7ed}.tourHeaderReadiness>button{display:flex;align-items:center;gap:7px;background:#f4f7fa;border:0;border-radius:7px;padding:8px 10px;color:#516677;font-size:12px}.tourHeaderReadiness>button b{font-weight:500;color:#1f3547}.tourHeaderReadiness i,.tourHeaderChecks i{font-style:normal;font-weight:700;color:#a18658}.tourHeaderReadiness .complete i,.tourHeaderChecks .complete i{color:#42846b}.tourHeaderChecklist{margin-left:auto;font-size:13px;position:relative}.tourHeaderChecklist summary{cursor:pointer;padding:8px 10px;border:1px solid #dce5ed;border-radius:7px;font-weight:600;color:#244357}.tourHeaderChecklist summary span{color:#7b6a4c;font-size:12px;margin-left:7px;font-weight:400}.tourHeaderChecks{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;background:#fff;border:1px solid #dce5ed;border-radius:8px;position:absolute;right:0;top:100%;width:600px;max-width:75vw;z-index:25;box-shadow:0 12px 28px #18364d18}.tourHeaderChecks button{display:flex;align-items:flex-start;text-align:left;gap:8px;padding:10px;border:1px solid #edf0f3;background:#f9fbfc;border-radius:6px;color:#274353}.tourHeaderChecks b,.tourHeaderChecks small{display:block}.tourHeaderChecks b{font-size:13px}.tourHeaderChecks small{font-size:12px;color:#6f8190;margin-top:3px}
@media(max-width:700px){.tourHeaderFacts{grid-template-columns:1fr 1fr;gap:10px}.tourHeaderFacts>div,.tourHeaderFacts>button{padding:5px 8px}.tourHeaderFacts>button:nth-child(3){border-left:0;padding-left:0}.tourHeaderChecklist{margin-left:0;width:100%}.tourHeaderChecks{position:static;width:100%;max-width:none;grid-template-columns:1fr;box-shadow:none}.tourHeaderReadiness>button{flex:1 1 45%;flex-wrap:wrap}.tourHeaderFacts b{font-size:13px}}
#appNav .brand img{display:block;width:150px;height:84px;object-fit:contain}.loginCard .brand img{display:block;width:180px;height:100px;object-fit:contain;margin:0 auto}.mobileNavHead{display:flex!important;align-items:center;justify-content:space-between;padding:12px 18px}#mobileNavClose{display:none}#tourDrawer .drawerHead>div{display:grid;grid-template-columns:minmax(250px,1fr) minmax(540px,2fr);gap:5px 24px;align-items:center}#tourDrawer .drawerHead>div>.eyebrow{grid-column:1;font-size:11px}#tourDrawerTitle{grid-column:1;margin:0!important;font-size:25px!important}#tourDrawerMeta{grid-column:2;grid-row:1/3;margin:0!important}.tourHeaderFacts{grid-template-columns:1.3fr 1fr 1fr 1fr}.tourHeaderFacts b{font-size:13px}.tourHeaderReadiness{grid-column:1/-1}.tourHeaderFacts>div,.tourHeaderFacts>button{padding:4px 10px}
@media(max-width:1050px){#tourDrawer .drawerHead>div{display:block}#tourDrawerMeta{margin-top:12px!important}}@media(max-width:900px){#mobileNavClose{display:block}}@media print{#factsheetPrintHost img{object-fit:contain}}
/* Quiet, compact tour header and one continuous navigation row. */
#appNav .mobileNavHead{justify-content:center;padding:0 0 17px;margin:0 0 13px;border-bottom:1px solid #ffffff16}#appNav .mobileNavHead .brand{margin:0}#appNav .brand img{width:124px;height:69px;object-fit:contain}#tourDrawer .drawerHead{padding:20px 24px!important;gap:16px}#tourDrawer .drawerHead>div{display:block!important}#tourDrawer .drawerHead>div>.eyebrow{display:none}#tourDrawerTitle{font-size:23px!important;line-height:1.25;margin:0 0 9px!important}#tourDrawerMeta{margin:0!important}.tourCompactFacts{display:flex;align-items:center;flex-wrap:wrap;gap:5px 0;color:#637382;font-size:13px}.tourCompactFacts>span,.tourCompactFacts>button{padding:0 12px;border:0;border-left:1px solid #dce3e9;border-radius:0;line-height:1.45;background:none;font:inherit;color:inherit}.tourCompactFacts>span:first-child{padding-left:0;border-left:0}.tourCompactFacts>button{color:#29475b;font-weight:600;cursor:pointer}.tourCompactFacts>button:hover{text-decoration:underline}.tourCompactStatus{display:flex;align-items:center;gap:12px;margin-top:10px}.tourCompactStatus .status{font-size:11px}.tourCompactStatus .tourHeaderChecklist{margin:0;font-size:12px}.tourCompactStatus .tourHeaderChecklist summary{border:0;background:none;padding:0;color:#637382;font-weight:400}.tourCompactStatus .tourHeaderChecklist summary span{font-size:12px;color:#29475b;margin-left:4px;font-weight:600}.tourCompactStatus .tourHeaderChecks{left:0;right:auto}.tourTopActions{padding:12px 24px!important;margin:0!important;gap:8px}.tourTopActions button{font-size:13px;padding:8px 12px;min-height:0;border-radius:6px}.tourTabs.tourSingleTabs{display:flex;flex-wrap:nowrap!important;white-space:nowrap;overflow-x:auto!important;gap:0;padding:0 18px;scrollbar-width:thin}.tourTabs.tourSingleTabs button{flex:0 0 auto;padding:12px 9px;font-size:13px;line-height:1.2;white-space:nowrap}.tourTabContent{padding-top:18px}
@media(max-width:900px){#appNav .mobileNavHead{justify-content:space-between}#tourDrawer .drawerHead{padding:16px!important}.tourCompactFacts{font-size:12px}.tourCompactFacts>span,.tourCompactFacts>button{padding:0 8px}.tourCompactStatus .tourHeaderChecks{width:min(600px,80vw)}.tourTabs.tourSingleTabs{padding:0 8px}}@media(max-width:700px){.tourCompactStatus .tourHeaderChecks{position:static;width:100%;max-width:none}.tourCompactStatus:has(details[open]){display:block}.tourCompactStatus details[open]{margin-top:10px}.tourCompactFacts{gap:6px 0}}
.servicePartyCount{display:flex;align-items:center;gap:10px;align-self:center;color:#6b7d8b;font-size:13px;padding:8px 0}.servicePartyCount b{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;background:#eef3f7;color:#294456;border-radius:6px;font-size:14px;font-weight:600}.partyAssignRooms{margin-top:8px;font-size:13px}.roomAllocationEditor{scroll-margin-top:14px;background:#f8fafc;border:1px solid #dce5ed;border-radius:9px;padding:16px;margin-top:16px}.roomAllocationEditor>p{font-size:13px;color:#64798b;margin:6px 0 14px}.roomAllocationRow{background:white;padding:10px;border:1px solid #e4ebf1;border-radius:7px;margin-bottom:10px}
.pricingWorkspace{display:grid;gap:18px}.pricingToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.pricingToolbar>label{display:flex;align-items:center;gap:10px;font-size:13px;color:#627586}.pricingToolbar select{min-width:180px;background:#fff;border:1px solid #ccd9e4;border-radius:7px;padding:9px;font-size:13px;color:#254358}.pricingMainActions{display:flex;align-items:center;gap:10px}.pricingOptions{position:relative;font-size:13px}.pricingOptions summary{cursor:pointer;padding:9px 12px;border:1px solid #d7e1e9;border-radius:7px;background:white;color:#425c70}.pricingOptions>div{position:absolute;top:100%;right:0;z-index:15;min-width:230px;background:white;border:1px solid #dce5ed;border-radius:8px;box-shadow:0 8px 20px #17394b12;padding:8px;display:grid;gap:6px}.pricingVersionNote{display:flex;flex-wrap:wrap;gap:6px 16px;padding:11px 14px;border-radius:7px;background:#f4f6f8;font-size:13px;color:#607283}.pricingVersionNote b{color:#284459}.pricingSection{border:1px solid #dce6ed;border-radius:12px;padding:18px;margin:0!important;box-shadow:none}.pricingServices{background:#f0f6fc;border-color:#d8e6f3}.pricingGuest{background:#eef7f2;border-color:#d7e8dd}.pricingExpenses{background:#fcf7ed!important;border-color:#eadfc7!important}.pricingSectionHead,.pricingExpenses .manualCostsHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.pricingSectionHead>div>span,.pricingExpenses .eyebrow{font-size:11px;letter-spacing:.08em;color:#557083}.pricingSectionHead h3,.pricingExpenses h3{font-size:19px;margin:5px 0}.pricingSectionHead p,.pricingExpenses .manualCostsHead p{font-size:13px;color:#647a89;margin:5px 0;line-height:1.45}.pricingSectionHead>div:last-child:not(:first-child){display:flex;gap:7px}.pricingWorkspace button{font-size:13px;padding:9px 12px;border-radius:7px}.pricingServices .quoteTableWrap{background:white;border-radius:8px;margin:0}.pricingServices .quoteTable th{font-size:11px;background:#e5eff8;color:#466174}.pricingServices .quoteTable td{font-size:13px}.pricingServices .quoteHealth{margin:12px 0 0;padding:12px;background:#ffffffb0;border-radius:8px}.pricingServices .quoteHealth h4{font-size:14px}.pricingServices .quoteHealth p,.pricingServices .quoteHealthList{font-size:12px}.guestPricingOverview,.expenseOverview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guestPricingOverview>div,.expenseOverview>div{padding:14px;background:#ffffffbe;border:1px solid #ffffff;border-radius:8px}.guestPricingOverview span,.expenseOverview span{display:block;font-size:12px;color:#667c89}.guestPricingOverview b,.expenseOverview b{display:block;font-size:24px;color:#203e50;margin:6px 0}.guestPricingOverview small,.expenseOverview small{display:block;font-size:12px;color:#6b818c}.guestPriceTotal{background:white!important;border-color:#c3dfcd!important}.guestPriceTotal b{color:#2d644b}.pricingExtra{margin-top:14px;font-size:13px;color:#5e7480}.pricingExtra summary{cursor:pointer;padding:5px 0}.pricingExtra .expenseOverview{margin-top:10px}.pricingExtra .expenseOverview b{font-size:18px}.pricingConfirm{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;margin-top:14px;border-top:1px solid #d5e6da;font-size:13px;color:#5a7566}.pricingExpenses .tableWrap{background:white;border-radius:8px;margin-top:14px}.pricingExpenses .financeTable th{background:#f4ecd9;color:#766743;font-size:11px}.pricingExpenses .financeTable td{font-size:13px}
@media(max-width:700px){.pricingToolbar,.pricingSectionHead,.pricingExpenses .manualCostsHead{flex-direction:column;align-items:stretch}.pricingToolbar select{min-width:0;flex:1}.pricingMainActions{justify-content:space-between}.pricingSection{padding:12px}.guestPricingOverview,.expenseOverview{grid-template-columns:1fr}.pricingConfirm{flex-direction:column;align-items:stretch}.pricingSectionHead>div:last-child:not(:first-child){flex-wrap:wrap}}

/* Fit tour tables to the available panel width. */
#tourDrawer .tourTabContent,#tourDrawer .pricingWorkspace,#tourDrawer .pricingSection{min-width:0;max-width:100%;box-sizing:border-box}
#tourDrawer table{width:100%;min-width:0!important;table-layout:fixed}
#tourDrawer th,#tourDrawer td{white-space:normal!important;overflow-wrap:anywhere;padding:9px 8px}
#tourDrawer .tableWrap,#tourDrawer .quoteTableWrap{min-width:0;max-width:100%}
.pricingServices .quoteTable th:first-child{width:36%}.pricingServices .quoteTable th:last-child{width:13%}
.quoteRowDetails{font-size:11px;color:#6a7e8f;margin-top:5px}.quoteRowDetails summary{cursor:pointer}.quoteRowDetails span{display:block;margin-top:4px}.quoteTable td small{display:block;font-size:11px;margin-top:4px}
.itineraryPriceCard{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px;background:#eef7f2;border:1px solid #d4e6db;border-radius:12px;margin-bottom:16px}.itineraryPriceCard h3{font-size:26px;color:#2d644b;margin:5px 0}.itineraryPriceCard small{font-size:12px;color:#698174}.itineraryPriceCard>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.itineraryPriceFacts{display:flex;flex-wrap:wrap;gap:12px 24px}.itineraryPriceFacts span{font-size:12px;color:#657e70}.itineraryPriceFacts b{display:block;font-size:17px;color:#294b3b;margin-top:5px}.itineraryPriceCard button{font-size:13px;padding:9px 12px}
@media(max-width:700px){#tourDrawer table thead{display:none}#tourDrawer table,#tourDrawer table tbody,#tourDrawer table tr,#tourDrawer table td{display:block;width:auto!important}#tourDrawer table tr{padding:10px;border-bottom:1px solid #dce6ed}#tourDrawer table td{border:0;padding:5px 0}.quoteTable td:nth-child(2):before{content:'Supplier cost: ';color:#6a7e8f}.quoteTable td:nth-child(3):before{content:'Guest price: ';color:#6a7e8f}.quoteTable td:nth-child(4):before{content:'Net profit: ';color:#6a7e8f}.itineraryPriceCard{align-items:flex-start}.itineraryPriceFacts{width:100%}}

@media(max-width:700px){#tourDrawer table td[data-column]:before{content:attr(data-column) ": ";font-size:12px;color:#6a7e8f;font-weight:500}#tourDrawer table td:first-child:before{display:none}}

.quoteCoverageWarning{padding:14px 16px;margin-bottom:14px;border:1px solid #e8c6b4;border-left:4px solid #c47d52;background:#fff3e9;border-radius:9px;font-size:13px;color:#865535}.quoteCoverageWarning b,.quoteCoverageWarning span,.quoteCoverageWarning small{display:block;margin:4px 0}.itineraryPriceFacts b.priceLoss{color:#b14b40}

/* v148: remove cell and action minimum widths, not only table widths. */
#tourDrawer .tourPanel{max-width:100vw;box-sizing:border-box}
#tourDrawer table th,#tourDrawer table td,#tourDrawer table .rowActions{min-width:0!important;max-width:100%;box-sizing:border-box}
#tourDrawer table .rowActions{display:flex;flex-direction:column;gap:5px;align-items:stretch;width:100%}
#tourDrawer table .rowActions button,#tourDrawer table .mini,#tourDrawer table .status,#tourDrawer .bookingIssues span{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box}
#tourDrawer table .rowActions button{width:100%;font-size:12px;padding:7px 6px}
#tourDrawer .bookingTable th:first-child{width:19%}#tourDrawer .bookingTable th:nth-child(2){width:16%}#tourDrawer .bookingTable th:nth-child(3){width:15%}#tourDrawer .bookingTable th:nth-child(4){width:13%}#tourDrawer .bookingTable th:nth-child(5){width:12%}#tourDrawer .bookingTable th:nth-child(6){width:13%}#tourDrawer .bookingTable th:last-child{width:12%}
#tourDrawer .bookingTools{grid-template-columns:minmax(0,1fr) minmax(0,.65fr) minmax(0,.55fr)}#tourDrawer .bookingTools>*{min-width:0;width:100%;box-sizing:border-box}
#tourDrawer .tourTabs.tourSingleTabs{overflow:visible!important;white-space:normal;gap:0;padding:0 12px}
#tourDrawer .tourTabs.tourSingleTabs button{flex:1 1 0;min-width:0;white-space:normal;font-size:12px;padding:11px 5px;overflow-wrap:normal}
@media(max-width:950px){#tourDrawer .bookingTable thead{display:none}#tourDrawer .bookingTable,#tourDrawer .bookingTable tbody,#tourDrawer .bookingTable tr,#tourDrawer .bookingTable td{display:block;width:auto!important}#tourDrawer .bookingTable tr{padding:12px;border-bottom:1px solid #dce6ed}#tourDrawer .bookingTable td{padding:5px 0;border:0}#tourDrawer .bookingTable td[data-column]:before{content:attr(data-column) ': ';font-size:12px;color:#6a7e8f}#tourDrawer .bookingTable td:first-child:before{display:none}#tourDrawer .bookingTable .rowActions{flex-direction:row;flex-wrap:wrap}#tourDrawer .bookingTable .rowActions button{width:auto;flex:0 1 auto}#tourDrawer .tourTabs.tourSingleTabs{flex-wrap:wrap!important}#tourDrawer .tourTabs.tourSingleTabs button{flex:0 1 auto;padding:10px 8px}}
@media(max-width:550px){#tourDrawer .bookingTools{grid-template-columns:minmax(0,1fr)}#tourDrawer .tourTabContent{padding:14px 12px 32px}}

.tourWorkflowIntro h3{margin:16px 0 6px}.tourWorkflowIntro p{font-size:13px;color:#6b7e8d}.tourWorkflow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.tourWorkflow>button{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px;border:1px solid #dce6ed;border-radius:10px;background:#f3f7fb;color:#244252}.tourWorkflow>button:nth-child(3n+2){background:#f1f7f3}.tourWorkflow>button:nth-child(3n){background:#fbf7ef}.tourWorkflow i{font-style:normal;background:white;border-radius:7px;padding:7px 11px;color:#607789}.tourWorkflow b,.tourWorkflow span,.tourWorkflow small{display:block}.tourWorkflow b{font-size:16px}.tourWorkflow span{font-size:13px;margin:7px 0;color:#526b7b}.tourWorkflow small{font-size:12px;color:#6c808e;line-height:1.5}.tourWorkflow em{margin-left:auto;font-style:normal}.workflowHelp{margin-top:18px;padding:15px;background:#fafbfc;border:1px solid #e2e8ee;border-radius:10px;font-size:13px;line-height:1.6}.workflowHelp summary{cursor:pointer;font-weight:600}.tourWorkflowLink{border:0;background:none;font-size:12px;color:#61788a;padding:0;cursor:pointer}.paymentHelp{padding:14px;background:#eef5fc;border:1px solid #d8e6f3;border-radius:9px;margin-bottom:14px;font-size:13px}.paymentHelp p{margin-bottom:0;color:#60798a}.payerSummary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.payerSummary article{padding:13px;background:#f1f7f3;border:1px solid #d7e6dd;border-radius:9px;flex:1 1 180px}.payerSummary span,.payerSummary strong{display:block;font-size:13px;margin-top:6px}.rvcComparison{background:#f1f7f3;border:1px solid #d8e7dd;border-radius:10px;padding:16px;margin:20px 0}.rvcComparison h3{margin-top:0}.rvcComparison>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rvcComparison article{background:white;padding:12px;border-radius:7px}.rvcComparison span,.rvcComparison b,.rvcComparison small{display:block}.rvcComparison span,.rvcComparison small,.rvcComparison p{font-size:12px;color:#657c70}.rvcComparison b{font-size:24px;margin:6px 0}.tourMoreTabs{position:relative;flex:0 0 auto;font-size:12px}.tourMoreTabs summary{padding:12px 10px;cursor:pointer;color:#61788a}.tourMoreTabs>div{position:absolute;right:0;top:100%;min-width:170px;z-index:20;background:white;border:1px solid #dce6ed;box-shadow:0 8px 25px #17364b15;border-radius:8px;padding:6px;display:grid}.tourMoreTabs>div button{text-align:left!important}.bookingIssues span{font-weight:500!important;font-size:11px!important}
@media(max-width:700px){.tourWorkflow,.rvcComparison>div{grid-template-columns:1fr}}

.tourPartyBasics form{flex-wrap:wrap}.tourPartyBasics form label{font-size:12px;color:#637b8d}.tourPartyBasics form label input{display:block;margin-top:4px}.tourPartyBasics{flex-wrap:wrap}

.tourNavigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 24px 16px;border-bottom:1px solid #e0e7ed;background:#fafcfd}.tourNavigation label{display:block;min-width:0;background:#fff;border:1px solid #dce5ed;border-radius:9px;padding:10px 12px}.tourNavigation label.selected{background:#edf4fc;border-color:#a7c7e8;box-shadow:inset 0 2px 0 #3477b5}.tourNavigation label:nth-child(4).selected{background:#eff7f2;border-color:#b1d3be;box-shadow:inset 0 2px 0 #508366}.tourNavigation span{display:block;font-size:11px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:#6a8192;margin-bottom:5px}.tourNavigation select{width:100%;min-width:0;border:0;background:transparent;font-size:14px;font-weight:600;color:#274659;padding:5px 18px 5px 0;cursor:pointer}.tourNavigation select:focus-visible{outline:2px solid #568ebd;outline-offset:3px;border-radius:3px}
#tourPipeline.tourPipeline{flex-wrap:wrap;overflow:visible;gap:7px;padding:0 0 14px}#tourPipeline button{min-width:0;padding:8px 12px;font-size:12px;font-weight:550;border-radius:20px}#tourPipeline button.active{background:#eaf3fc;color:#245989;border-color:#a9c9e7}#tourPipeline button.active b{background:white;color:#245989}#tourPipeline button b{height:20px;min-width:20px}.tourCard .tableTools{display:flex;flex-wrap:wrap;gap:10px}.tourCard .tableTools input{flex:1 1 240px;min-width:0;width:auto}.tourCard .tableTools select{flex:0 1 190px;min-width:0}
@media(max-width:900px){.tourNavigation{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px;gap:8px}}@media(max-width:480px){.tourNavigation label{padding:8px}.tourNavigation select{font-size:12px}}

/* v152: fast navigation for long itineraries */
.itineraryNavigator{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.itineraryNavigator label{display:grid;gap:6px;font-size:15px;color:#526b7b;flex:1;max-width:460px}.itineraryNavigator select{width:100%;min-width:0;padding:10px 12px;border:1px solid #ccd9e4;border-radius:8px;background:white;color:#244252;font-size:15px}.itineraryNavigator>div{display:flex;gap:8px;flex-wrap:wrap}.itineraryNavigator button{font-size:15px;padding:10px 12px}.itDay{scroll-margin-top:18px}.itDayBody[hidden]{display:none!important}.tourTabContent .itDay.isDayCollapsed{margin-bottom:10px;box-shadow:none}.itDay.isDayCollapsed .itDayHead{border-bottom:0}.itDay .toggleItineraryDay{font-size:13px;color:#245989;background:#fff;border:1px solid #b8cddd}.itDay .toggleItineraryDay:focus-visible{outline:2px solid #3477b5;outline-offset:3px}
@media(max-width:700px){.itineraryNavigator{align-items:stretch;flex-direction:column}.itineraryNavigator label{max-width:none}.itineraryNavigator>div button{flex:1}.itDayHead .dayActions{justify-content:flex-start}}

/* v153: wider service actions; editable proposal inclusions */
.itDay .serviceRow{grid-template-columns:78px minmax(0,1fr) 200px 170px}.itDay .serviceStatus{min-width:0;align-items:stretch}.itDay .serviceStatus>.status{align-self:flex-end;max-width:100%;white-space:normal;text-align:center}.itDay .serviceStatus>[data-edit-service]{width:100%}.itDay .serviceMain{min-width:0}.includedEditorHead{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.includedEditorHead label{margin-right:auto}.proposalEditor textarea[readonly]{background:#f4f7fa;color:#607586}.partyNameRows button[data-party-payment]{white-space:normal;font-size:13px}
@media(max-width:1100px) and (min-width:901px){.itDay .serviceRow{grid-template-columns:65px minmax(0,1fr) 150px 150px}}@media(max-width:900px){.itDay .serviceRow{grid-template-columns:60px minmax(0,1fr)}.itDay .serviceStatus{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.itDay .serviceStatus>[data-edit-service]{width:auto}.itDay .serviceStatus>.status{align-self:center}}@media(max-width:600px){.itDay .serviceRow{grid-template-columns:1fr}}

/* v154: compact itinerary text and a single service action row */
.itDay .serviceMain .serviceDescription{font-size:13px;line-height:1.5;margin:6px 0}.itDay .serviceTitle>b{font-size:15px}.itDay .serviceMain>small,.itDay .serviceDates{font-size:12px}.itDay .serviceMoney{font-size:13px}.itDay .serviceMoney b{font-size:13px}.itDay .serviceTime{font-size:14px}.itDay .serviceType,.itDay .servicePhase{font-size:11px}.itDay .serviceDescriptionToggle{font-size:12px}.itDay .serviceStatus{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.itDay .serviceStatus>.status{width:auto;font-size:11px;padding:5px 9px}.itDay .serviceActionRow{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.itDay .serviceActionRow .serviceMove{display:flex;gap:5px;margin:0}.itDay .serviceActionRow button{font-size:13px;min-height:30px;padding:5px 9px;width:auto!important}.itDay .serviceActionRow [data-edit-service]{min-width:48px}.travelPartyPanel>.partyPaymentHint{font-size:13px;line-height:1.5;color:#61788a;margin:12px 0 20px}.partyNameRows button[data-party-payment]{font-size:12px;padding:7px 9px}.travelPartyPanel>p{font-size:13px}.partyNameRows label>span{font-size:13px}.partyNameRows input{font-size:14px}
@media(max-width:900px){.itDay .serviceStatus{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;align-items:center}.itDay .serviceStatus>.status{align-self:center}} 

.inlineAddButton{margin-top:7px;font-size:13px;padding:7px 10px}.inlineCreatePanel{margin-top:10px;padding:14px;border:1px solid #c9dce9;border-radius:9px;background:#f4f8fc}.inlineCreatePanel h4{margin:0 0 10px;font-size:15px}.inlineCreatePanel p{font-size:13px;line-height:1.5;color:#536d80}.inlineCreatePanel label{display:grid;gap:5px;margin-bottom:9px;font-size:13px}.inlineCreatePanel input,.inlineCreatePanel select{width:100%;box-sizing:border-box;font-size:14px;padding:9px}.inlineCreateActions{display:flex;gap:8px;flex-wrap:wrap}.inlineCreatePanel [role=status]{margin:8px 0 0;overflow-wrap:anywhere}

/* v157: visible section groups and sub-sections */
.tourSectionNavigation{padding:12px 24px 16px;border-bottom:1px solid #dfe7ee;background:#f8fafc}.tourGroupButtons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tourGroupButton{min-width:0;border:1px solid #d6e1eb;border-radius:8px;padding:12px 10px;background:#fff;color:#526b7d;font-size:14px;font-weight:650;cursor:pointer}.tourGroupButton.selected{background:#214f78;border-color:#214f78;color:white;box-shadow:0 2px 5px #214f7815}.tourSectionButtons{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.tourSectionButton{padding:9px 13px;border:1px solid #d6e1eb;border-radius:7px;background:white;color:#526b7d;font-size:13px;cursor:pointer}.tourSectionButton.selected{background:#eaf2fb;border-color:#9abbd9;color:#204f78;font-weight:650;box-shadow:inset 0 -2px 0 #3477b5}.tourGroupButton:hover,.tourSectionButton:hover{border-color:#80a6c6}.tourGroupButton:focus-visible,.tourSectionButton:focus-visible{outline:2px solid #3477b5;outline-offset:3px}
@media(max-width:700px){.tourSectionNavigation{padding:12px}.tourGroupButtons{gap:5px}.tourGroupButton{font-size:12px;padding:11px 4px;overflow-wrap:anywhere}.tourSectionButtons{gap:6px}.tourSectionButton{font-size:13px;padding:9px 10px}}

/* v158: restrained navigation with a quiet gold selection marker */
#tourDrawer .tourSectionNavigation{background:#fafbfc;padding:12px 24px 15px;border-bottom:1px solid #e1e6eb}
#tourDrawer .tourGroupButton{background:#fff!important;color:#607282!important;border:1px solid #dde4e9!important;box-shadow:none!important;border-radius:7px;font-size:14px;padding:11px 12px;min-height:40px}
#tourDrawer .tourGroupButton.selected{background:#f0f3f6!important;color:#263f53!important;border-color:#cbd5de!important;box-shadow:inset 0 -2px 0 #ad915d!important}
#tourDrawer .tourGroupButton:hover{background:#f4f6f8!important;color:#263f53!important;border-color:#cbd5de!important}
#tourDrawer .tourSectionButtons{gap:7px;padding-top:10px}
#tourDrawer .tourSectionButton{background:white!important;color:#607282!important;border:1px solid #e0e6eb!important;box-shadow:none!important;border-radius:6px;font-size:13px;padding:8px 12px;min-height:34px}
#tourDrawer .tourSectionButton.selected{background:#f5f2ec!important;color:#554a35!important;border-color:#d8c9aa!important;box-shadow:none!important}
#tourDrawer .tourSectionButton:hover{background:#f5f6f7!important;color:#263f53!important}
#tourDrawer .tourTopActions .primary{background:#f1f4f7!important;color:#29465d!important;border:1px solid #cdd8e1!important;box-shadow:none}
#tourDrawer .tourCompactStatus{gap:8px;margin-top:8px}.tourCompactStatus .status{font-size:11px}
@media(max-width:700px){#tourDrawer .tourSectionNavigation{padding:10px 12px}#tourDrawer .tourGroupButton{font-size:12px;padding:10px 4px}}

/* Tour accounting sheet */
.tourResultSheet{min-width:850px}.tourResultSheet .num{text-align:right;white-space:nowrap}.tourResultSheet .resultSection td{background:#f4f2ed;font-weight:700}.tourResultSheet .resultTotal td{border-top:2px solid #b9b4a7;font-weight:700}.tourResultSheet .resultRevenue td{background:#faf9f5}.tourResultSheet .resultProfit td{background:#edf1e9;font-size:18px;font-weight:800}.tourResultSheet td{font-size:13px}

.resultPaymentDetail td{background:#fafaf8;color:#66737b;font-size:12px}.resultReviewNote{background:#f7f4ed;border:1px solid #e2dbcb;border-radius:8px;padding:10px 12px;font-size:13px;color:#655b45}.resultCashSummary{margin:16px 0}

/* Itinerary creator */
.itineraryCreatorIntro h3{margin:4px 0;font-size:22px}.itineraryCreatorIntro p{margin:5px 0 18px;color:#71808a;font-size:13px}
#tourDrawer .dayActions{gap:7px;align-items:center}#tourDrawer .dayActions>.primary{background:#454b48;border-color:#454b48;color:#fff}#tourDrawer .dayActions>.primary:hover{background:#303733;color:#fff}
.dayMoreActions{position:relative;font-size:12px}.dayMoreActions>summary{cursor:pointer;padding:7px 9px;color:#65716c;list-style:none;border:1px solid #e3e6e1;border-radius:7px}.dayMoreActions[open]>div{position:absolute;right:0;top:35px;z-index:8;background:white;border:1px solid #e0e3df;box-shadow:0 8px 25px #263b491a;padding:8px;border-radius:9px;min-width:180px;display:grid;gap:6px}.dayMoreActions button{text-align:left}
.modalCard:has(.serviceBuilder){width:min(900px,96vw)}#entryForm.serviceBuilder{display:flex;flex-direction:column;gap:13px;margin-top:14px}.builderSection{border:1px solid #e1e5df;border-radius:10px;background:#fff;overflow:visible}.builderSectionHead{padding:12px 15px;background:#fafaf7;border-bottom:1px solid #e8eae4;border-radius:10px 10px 0 0}.builderSectionHead b{font-size:14px;color:#3c4640}.builderSectionHead small{display:block;color:#788179;font-size:12px;margin-top:3px}.builderFields{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:14px 15px}.builderFields>.full{grid-column:1/-1}.builderFields .field label{font-size:12px;color:#626e65}.builderFields input,.builderFields select,.builderFields textarea{font-size:14px}.builderFields textarea{min-height:72px}.builderFields .formSection{margin:0;padding:0;border:0;background:none}.builderFields .formSection span{display:none}.builderFields .formSection b{font-size:13px}.builderFields .formSection small{font-size:12px}.builderSection>summary{cursor:pointer;padding:13px 15px;font-size:13px;font-weight:650;color:#455248}.builderSection>summary small{display:block;margin:4px 0 0 16px;font-size:12px;font-weight:400;color:#7c867e}.builderSection[data-has-details=true]>summary:after{content:'Details saved';font-size:11px;font-weight:400;color:#8a7a54;margin-left:16px}.builderPricePreview{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:10px 12px;border-radius:7px;background:#f3f4ed;font-size:12px;color:#64715e}.builderPricePreview b{margin-left:6px;color:#35422e;font-size:15px}.builderPricePreview small{width:100%;font-size:11px}.serviceBuilder>.actions{margin-top:0!important}.serviceBuilder .actions .primary{background:#454b48;border-color:#454b48}.builderFields .inlineAddButton{align-self:flex-start}.builderFields .hotelFields{padding:10px;background:#fafaf7;border-radius:8px}
@media(max-width:620px){.builderFields{grid-template-columns:1fr;padding:12px}.builderFields>*{grid-column:1!important}.builderSectionHead{padding:11px 12px}#tourDrawer .itDayHead{align-items:flex-start}#tourDrawer .dayActions{flex-wrap:wrap}.dayMoreActions[open]>div{right:0}.serviceBuilder .actions{flex-wrap:wrap}.serviceBuilder .actions button{font-size:12px}}

.builderTypeChoices{display:flex;flex-wrap:wrap;gap:7px}.builderTypeChoices button{border:1px solid #dfe3db;border-radius:8px;background:#fafbf8;color:#637060;font-size:12px;padding:8px 13px;cursor:pointer}.builderTypeChoices button[aria-pressed=true]{border-color:#b4ac8c;background:#f2efe5;color:#534e3e;font-weight:700}.builderTypeChoices button:hover{background:#f1f3ec}.builderTypeChoices button:focus-visible{outline:2px solid #a69a76;outline-offset:2px}.builderFields .field.full textarea{min-height:85px}

.builderCalculator{border:1px solid #e2e5dc;background:#fafbf7;border-radius:8px;padding:12px}.builderCalculatorHead b{font-size:13px;color:#45513d}.builderCalculatorHead small{display:block;font-size:11px;color:#7b8374;margin-top:3px}.builderCalculatorControls{display:grid;grid-template-columns:1.5fr .7fr 1fr auto;align-items:end;gap:8px;margin-top:10px}.builderCalculatorControls label{display:grid;gap:5px;font-size:11px;color:#6c7663}.builderCalculatorControls input,.builderCalculatorControls select{width:100%;min-width:0;padding:8px;border:1px solid #dce1d3;border-radius:6px;background:white}.builderCalculatorControls button{font-size:12px;padding:9px 12px;white-space:nowrap}.builderCalculator p{font-size:11px;color:#7a806e;margin:8px 0 0}.builderCalculator [data-service-price-message]:empty{display:none}.builderCalculator [data-service-price-message]{color:#645333;font-weight:600}@media(max-width:620px){.builderCalculatorControls{grid-template-columns:1fr 1fr}.builderCalculatorControls button{white-space:normal}.builderCalculatorControls label:first-child{grid-column:1/-1}}

.tourPriceConnection{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 15px;margin:0 0 15px;border:1px solid #dcd7c8;border-radius:9px;background:#faf8f1;font-size:13px;color:#655b43}.tourPriceConnection b{font-size:14px}.tourPriceConnection span{flex:1;min-width:220px;font-size:12px;line-height:1.5}.tourPriceConnection .mini{white-space:nowrap}

.acceptedPriceLock{display:inline-block;padding:8px 12px;border-radius:7px;background:#ecefe7;color:#58634e;font-size:13px;font-weight:650}.confirmedQuoteNote,.builderConfirmedNote{padding:10px 13px;border:1px solid #dfe2d7;background:#f6f7f1;color:#6a705c;border-radius:8px;font-size:12px;line-height:1.5;margin:10px 0}.builderFields input[readonly]{background:#f3f4ee;color:#666d5b}.builderCalculator[hidden]{display:none!important}

.pricingOptions:has(>div:empty){display:none}.pricingToolbar select:disabled,.proposalQuoteSelect select:disabled{background:#f3f4ee;color:#52604b;opacity:1;cursor:default}

/* Hotel room cards */
.roomAllocationEditor .roomAllocationRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#faf9f6;border:1px solid #e5dfd5;border-radius:10px;padding:14px;margin:10px 0}.roomAllocationRow>label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#697580}.roomAllocationRow .roomPeopleChoices,.roomAllocationRow .roomNoteField{grid-column:1/-1}.roomAllocationRow .removeRoomAllocation{justify-self:end;grid-column:1/-1}#roomAllocationStatus{font-size:13px;color:#697580}.roomAllocationRow input:disabled+span{opacity:.45}@media(max-width:600px){.roomAllocationEditor .roomAllocationRow{grid-template-columns:1fr}}

/* Separate proposal content editor from overview and sharing */
.proposalEditingDivider{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 0;padding:20px 22px;border:1px solid #ded8cb;border-bottom:0;border-radius:12px 12px 0 0;background:#f3f0e9}.proposalEditingDivider span{font-size:11px;font-weight:700;letter-spacing:.12em;color:#89734e}.proposalEditingDivider h3{margin:5px 0 6px;font-size:19px;color:#263d4b}.proposalEditingDivider p{margin:0;font-size:13px;line-height:1.5;color:#6b757b}#proposalForm.proposalEditor{padding:16px;background:#faf9f6;border:1px solid #ded8cb;border-top:1px solid #e5dfd4;border-radius:0 0 12px 12px;margin-top:0;scroll-margin-top:20px}#proposalForm .proposalEditorMain,#proposalForm .proposalEditorSide{border-color:#e3dfd7}@media(max-width:700px){.proposalEditingDivider{padding:16px;align-items:flex-start}.proposalEditingDivider>a{display:none}#proposalForm.proposalEditor{padding:10px}}

.coverPhotoLabel{display:block;font-size:12px;padding:5px 7px;color:#665d48;background:#f5f2eb}.coverGalleryItem button:disabled{opacity:.3;cursor:default}

.quoteHistoryCard{width:min(960px,95vw);max-height:88vh;overflow:auto}.quoteHistoryNote{font-size:13px;line-height:1.6;padding:12px;background:#f5f2eb;border-radius:8px;color:#75664f}.quoteHistoryVersion{border:1px solid #dedbd3;border-radius:10px;padding:14px;margin:12px 0}.quoteHistoryVersion summary{display:flex;gap:12px;align-items:center;cursor:pointer}.quoteHistoryVersion summary strong{margin-left:auto}.quoteHistoryVersion>p{font-size:13px;color:#7b817b}.quoteHistoryTotals{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;margin:14px 0}.quoteHistoryVersion .tableWrap{margin-bottom:12px}

/* Tour workspace v2.0.178: direct navigation and clearly separated sections. */
#tourDrawer .tourWorkspaceNav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:10px 0 20px;padding:0;border:0}
#tourDrawer .tourWorkspaceTab{--tone:#eaf2fc;--edge:#bdcfe8;background:var(--tone);border:1px solid var(--edge);border-radius:9px;padding:13px 10px;color:#243e55;text-align:center;font-size:14px;line-height:1.35;font-weight:650;min-height:48px;cursor:pointer}
#tourDrawer [data-tone=itinerary]{--tone:#eaf5ef;--edge:#bcd9c7}#tourDrawer [data-tone=costing]{--tone:#fff4df;--edge:#e4cda0}#tourDrawer [data-tone=sharing]{--tone:#f0edfa;--edge:#cdc4e7}#tourDrawer [data-tone=bookings]{--tone:#fff0e7;--edge:#e2c5b2}#tourDrawer [data-tone=finance]{--tone:#e8f5f7;--edge:#b7d7de}
#tourDrawer .tourWorkspaceTab.selected{box-shadow:inset 0 -3px 0 #294b69;border-color:#63829d;font-weight:750;color:#17374f}#tourDrawer .tourWorkspaceTab:hover{filter:brightness(.97)}#tourDrawer .tourWorkspaceTab:focus-visible,.workspaceShortcuts button:focus-visible{outline:2px solid #355e84;outline-offset:3px}
.workspaceBlock{padding:20px;border:1px solid #d3e0ef;border-radius:12px;background:#f7faff;margin:18px 0;scroll-margin-top:185px}.workspaceBlock>summary{cursor:pointer;font-size:16px;font-weight:700;color:#2c4358;padding:3px 0}.workspaceBlock[open]>summary{margin-bottom:18px}
.toneMint{background:#f2faf5;border-color:#c6e0d0}.toneLavender{background:#f8f6fe;border-color:#dad2ed}.tonePeach{background:#fff7f1;border-color:#e9d3c1}.toneBlue{background:#f4f8fe;border-color:#cfdeef}
.workspaceShortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.workspaceShortcuts button{border:1px solid #cbd7e2;border-radius:8px;padding:10px 12px;background:white;color:#29475d;cursor:pointer;font-size:14px;font-weight:600}
.workspaceContent .drawerSection{padding:16px;border:1px solid #dbe3ec;background:#fff;border-radius:10px}.workspaceContent .drawerSection:nth-of-type(3n+2){border-color:#d4e4da;background:#f6fbf8}.workspaceContent .drawerSection:nth-of-type(3n+3){border-color:#e7dbbf;background:#fffbf2}
#tourDrawer .overviewContact{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;padding:20px;border:1px solid #c9dcef;background:#eff6fd;border-radius:12px;margin-bottom:18px;font-size:14px}.overviewContact span{display:block;font-size:12px;font-weight:700;color:#506b81;margin-bottom:9px}.overviewContact h3{font-size:18px;margin:0 0 9px}.overviewContact small{display:block;margin-top:10px}.overviewSummary{grid-column:1/-1;margin:0;line-height:1.6}
#tourDrawer .tourPartyBasics{background:#f0f7f3;border-color:#c7ded0}#tourDrawer .travelPartyPanel{background:#faf8ff;border:1px solid #d9d1e9;border-radius:12px;padding:20px;margin:18px 0}#tourDrawer .partyNameRows>label{display:grid;grid-template-columns:150px minmax(130px,1.5fr) minmax(120px,1fr) auto;align-items:center;gap:10px;padding:9px 0}#tourDrawer .partyNameRows input{width:100%;min-width:0;padding:10px;border:1px solid #d5d4df;border-radius:7px;background:white;font-size:14px}
.tourGroupSummary{background:#edf6f8;border:1px solid #c8dce2;border-radius:9px;padding:15px;margin:18px 0}.tourGroupCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.tourGroupCards article{background:white;border:1px solid #d5e2e7;border-radius:8px;padding:12px}.tourGroupCards article>*{display:block;margin-bottom:9px}.tourGroupSummary p{font-size:13px;line-height:1.6}.tourGroupSummary h4{margin:0}.groupPlanRows label{display:grid;grid-template-columns:1fr 90px 130px;gap:10px;align-items:center;padding:12px 0}.groupPlanRows input,.groupPlanDue input{padding:10px;border:1px solid #cad8e0;border-radius:7px;min-width:0;width:100%}.groupPlanDue{display:grid;gap:7px;margin:15px 0}
#tourDrawer .tourHeaderTools{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;position:relative;color:#31495c}#tourDrawer .tourHeaderTools summary{font-size:14px;padding:8px 11px;cursor:pointer;border:1px solid #d2dce6;border-radius:7px;background:#f2f6fa;list-style:none}#tourDrawer .tourHeaderTools summary.overdue{background:#fff0e9;border-color:#e8c0ab;color:#8e3d22}.tourHeaderTools details[open]>summary{border-color:#708fa8}
.tourReminderBody,#headerStickyNote{position:absolute;z-index:15;left:0;top:42px;width:min(620px,calc(100vw - 55px));max-height:60vh;overflow:auto;padding:18px;background:#fff;border:1px solid #cbd9e4;border-radius:10px;box-shadow:0 12px 35px #162c4529}.tourReminderBody .taskTabHead{margin:0 0 16px}.tourReminderBody .taskList{max-height:280px;overflow:auto}.tourReminderBody form{border-top:1px solid #dce4ea;padding-top:15px;margin-top:14px}.tourHeaderTools form label{display:grid;gap:8px;font-size:14px}.tourHeaderTools textarea{display:block;resize:vertical;width:100%;padding:10px;border:1px solid #d2dce5;border-radius:6px;font-size:14px;margin-bottom:10px}.tourHeaderTools #headerStickyNote{background:#fff9dd;border-color:#e5d591}
#tourDrawer .tourStickyNote{display:flex;gap:10px;align-items:flex-start;background:#fff5bd;border:1px solid #e3d282;border-left:4px solid #d3b943;border-radius:8px;padding:9px 12px;margin-top:10px;color:#5b501f;font-size:14px;line-height:1.5;max-width:850px}.tourStickyNote span{white-space:pre-wrap;overflow-wrap:anywhere;max-height:100px;overflow:auto}.tourStickyNote b{font-size:18px}
.workspaceContent .itDay:nth-of-type(even){background:#f5faf7}.workspaceContent .itDay:nth-of-type(odd){background:#f5f8fd}.builderSection:nth-of-type(3n+1) .builderSectionHead{background:#edf4fd}.builderSection:nth-of-type(3n+2) .builderSectionHead{background:#edf7f1}.builderSection:nth-of-type(3n) .builderSectionHead{background:#fff5e5}
@media(max-width:1000px){#tourDrawer .tourWorkspaceNav{grid-template-columns:repeat(3,minmax(0,1fr))}#tourDrawer .partyNameRows>label{grid-template-columns:130px 1fr 1fr}#tourDrawer .partyNameRows>label>button{grid-column:2/-1;justify-self:start}}
@media(max-width:620px){#tourDrawer .tourWorkspaceNav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#tourDrawer .overviewContact{grid-template-columns:1fr;gap:14px}#tourDrawer .partyNameRows>label{grid-template-columns:1fr}#tourDrawer .partyNameRows>label>button{grid-column:1}.workspaceBlock{padding:12px;scroll-margin-top:240px}.workspaceShortcuts button{flex:1 1 40%;text-align:left}.groupPlanRows label{grid-template-columns:1fr 70px}.groupPlanRows input{grid-column:1/-1}#tourDrawer .drawerHead{padding:13px}.tourReminderBody,#headerStickyNote{width:calc(100vw - 44px)}}
#tourDrawer .partyNameRows{grid-template-columns:1fr;gap:8px}#tourDrawer .partyNameRows>label>span{grid-column:auto}#tourDrawer .tourHeaderTools #newTourTask{font-size:14px;background:#264e6d;color:white;border-radius:7px;padding:10px 12px}
@media(max-width:620px){#tourDrawer .partyNameRows>label>span{grid-column:1}}
.reminderBell{vertical-align:-3px;margin-right:4px}#tourDrawer .workspaceContent .overviewContact a{color:#2f648a;text-decoration:none}#tourDrawer .workspaceContent .overviewContact a:hover{text-decoration:underline}
.partyCountInline{display:flex;gap:14px;padding:14px;background:#eff7f2;border:1px solid #cddfd5;border-radius:9px;margin:16px 0}.partyCountInline label{display:grid;gap:6px;font-size:14px}.partyCountInline input{width:100px;padding:10px;border:1px solid #cbdcd2;border-radius:7px;background:white;font-size:15px}
/* v2.0.179 — uniform tabs, corner sticky and guest group board */
#tourDrawer .tourWorkspaceTab{--tone:#eef3f8;--edge:#ccd8e3;background:#eef3f8;border-color:#ccd8e3;color:#29465d}#tourDrawer .tourWorkspaceTab.selected{background:#e3ecf5;border-color:#7793ad;box-shadow:inset 0 -3px 0 #294b69}
#tourDrawer .drawerHead:has(.tourStickyNote){min-height:210px;padding-right:240px!important}#tourDrawer .drawerHead:has(.tourStickyNote)>[data-close-tour]{position:absolute;right:22px;top:18px}
#tourDrawer .tourStickyNote{position:absolute;right:62px;top:20px;width:170px;height:170px;max-width:none;display:flex;flex-direction:column;gap:9px;align-items:stretch;margin:0;padding:13px;background:#fff3b5;border:1px solid #e1ce77;border-radius:3px;box-shadow:2px 3px 8px #82702417;color:#65551d}.stickyNoteHead{display:flex;justify-content:space-between;align-items:center}#tourDrawer .tourStickyNote .stickyNoteHead b{font-size:13px;font-weight:700}#tourDrawer .tourStickyNote .stickyNoteEdit{font-size:19px;padding:0 3px;color:#766224;cursor:pointer}#tourDrawer .tourStickyNote>span{max-height:none;flex:1;overflow:auto;font-size:14px;line-height:1.5}
.partyGroupToolbar{display:flex;gap:10px;margin:16px 0}.partyGroupToolbar>input{flex:1;max-width:300px;min-width:0;padding:10px;border:1px solid #d3d6df;border-radius:7px;background:white;font-size:14px}.partyGroupingHelp{font-size:13px;color:#667381;line-height:1.5}
.partyGroupBoard{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:13px;align-items:start;margin:16px 0}.partyGroupColumn{border:1px solid #ccd7e3;border-radius:10px;background:#edf3fa;min-width:0;transition:box-shadow .12s,background .12s}.partyGroupColumn[data-group-color="1"]{background:#edf6ef;border-color:#c8dfcc}.partyGroupColumn[data-group-color="2"]{background:#fff6e7;border-color:#e4d4b1}.partyGroupColumn[data-group-color="3"]{background:#f2effb;border-color:#d5cdeb}.partyGroupColumnHead{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:13px 12px;border-bottom:1px solid #cdd6e255}.partyGroupColumnHead h4{margin:0;font-size:16px;overflow-wrap:anywhere}.partyGroupColumnHead>span{border-radius:15px;padding:4px 8px;background:#ffffffbb;font-size:13px;font-weight:700}.partyGroupDropArea{padding:9px;min-height:150px;display:grid;gap:10px}.partyEmptyGroup{padding:40px 10px;text-align:center;color:#7a8793;border:1px dashed #bac8d4;border-radius:8px;font-size:13px}
.partyGuestCard{background:white;border:1px solid #d8e0e7;border-radius:8px;padding:11px;min-width:0;box-shadow:0 2px 4px #183a4f05}.partyGuestCard.dragging{opacity:.4}.partyGroupColumn.partyDropTarget{box-shadow:inset 0 0 0 2px #3b739e;background:#deedf8}.partyGuestCardHead{display:flex;gap:6px;align-items:center;margin-bottom:10px}.partyGuestCardHead>span{font-size:12px;color:#718190;flex:1}.partyDragGrip{border:0;background:#f1f4f8;color:#667e91;font-size:22px;line-height:1;padding:4px;border-radius:4px;cursor:grab}.partyDragGrip:active{cursor:grabbing}.partyDragGrip:focus-visible{outline:2px solid #547696}.partyGuestCardHead .mini{font-size:12px;padding:5px 7px}
.partyGuestCard label{display:grid;gap:5px;font-size:12px;color:#667889;margin-bottom:10px}.partyGuestCard input,.partyGuestCard select{font-size:14px;padding:9px 8px;border:1px solid #d4dee5;background:white;border-radius:6px;min-width:0;width:100%;color:#213e51}.partyGuestName input{font-weight:650}.partyGuestContactFields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 8px}.partyGuestAddress{grid-column:1/-1}.partyGuestGroupChoice{margin-bottom:0!important}.partySaveActions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:15px 0}.partySaveActions>span{font-size:13px;color:#937637}
@media(max-width:700px){#tourDrawer .drawerHead:has(.tourStickyNote){padding-right:16px!important;min-height:0}#tourDrawer .drawerHead:has(.tourStickyNote) #tourDrawerTitle{padding-right:130px;min-height:115px}#tourDrawer .tourStickyNote{right:45px;top:16px;width:110px;height:110px;padding:8px;gap:4px}#tourDrawer .tourStickyNote>span{font-size:12px;line-height:1.4}#tourDrawer .tourStickyNote .stickyNoteHead b{font-size:11px}#tourDrawer .tourStickyNote .stickyNoteEdit{font-size:16px}.partyGroupBoard{grid-template-columns:1fr}.partyGroupToolbar{flex-wrap:wrap}.partyGroupToolbar>input{max-width:none}.partySaveActions{flex-wrap:wrap}.partyGuestContactFields{grid-template-columns:1fr}.partyGuestAddress{grid-column:auto}}
.partyDragGrip{display:inline-flex;align-items:center;justify-content:center;user-select:none;-webkit-user-drag:element;flex:0 0 25px;width:25px;height:28px}
.partyGuestCardHead .partyDragGrip{font-size:22px;flex:0 0 25px;touch-action:none;-webkit-user-drag:none}.partyGuestCard.dragging{pointer-events:none}

/* v2.0.180: align every service editor section to the same form edges. */
#entryForm.serviceBuilder{align-items:stretch}
#entryForm.serviceBuilder>.builderSection{align-self:stretch;min-width:0;max-width:100%}
.builderFields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:620px){.builderFields{grid-template-columns:minmax(0,1fr)}}

/* v2.0.181: calmer workspace hierarchy and accessible direct actions. */
#tourDrawer .tourTopActions{display:flex;flex-wrap:wrap;align-items:center;padding:12px 0!important;border-bottom:1px solid #e1e7ed;margin-bottom:14px!important}
#tourDrawer .tourTopActions .tourQuickAction{margin-left:auto;background:#284d6b!important;color:#fff!important;border-color:#284d6b!important;padding:10px 15px;min-height:38px}
#tourDrawer .tourWorkspaceNav{margin:0 0 18px}
#tourDrawer .tourWorkspaceTab{transition:background .12s,box-shadow .12s}
#tourDrawer .workspaceContent{padding-top:0}
#tourDrawer .workspaceBlock{width:100%;min-width:0;box-sizing:border-box}
#tourDrawer .workspaceBlock:focus{outline:none;box-shadow:0 0 0 2px #93aabe}
.workspaceShortcuts{padding:10px;background:#f1f5f9;border:1px solid #dce4ec;border-radius:10px}
.workspaceShortcuts button{flex:1;min-height:40px;text-align:center}
#tourDrawer .partySaveActions{position:sticky;bottom:10px;z-index:5;padding:12px 14px;background:#fff;border:1px solid #ddd9e7;border-radius:9px;box-shadow:0 4px 16px #253d5612}
#partyDraftStatus{color:#785b23;font-weight:600;line-height:1.5}
.partyContactDetails{margin-top:18px;padding-top:14px;border-top:1px solid #dedbe7;font-size:14px}.partyContactDetails summary{cursor:pointer;color:#526777}
#tourDrawer .quoteTableV2 td:last-child{white-space:normal;min-width:140px}#tourDrawer .quoteTableV2 td:last-child .mini{margin:3px}
@media(max-width:620px){#tourDrawer .tourTopActions .tourQuickAction{width:100%;margin-left:0}.workspaceShortcuts button{flex:1 1 45%;font-size:13px;padding:9px 7px}#tourDrawer .partySaveActions{bottom:6px;padding:10px}#tourDrawer .partySaveActions>button{width:100%}}

#tourDrawer .tourTopActions{margin-left:16px!important;margin-right:16px!important}
#tourDrawer .tourWorkspaceNav{margin-left:16px;margin-right:16px}
#tourDrawer .workspaceContent .primary,#tourDrawer .workspaceContent .secondary{font-size:13px;min-height:36px}
@media(max-width:620px){#tourDrawer .tourTopActions>button{flex:1 1 40%;width:auto}#tourDrawer .tourTopActions>.tourQuickAction{flex:0 0 100%;width:100%;min-height:40px}}

/* v2.0.182: compact tour document rows and actionable accepted-price help. */
#tourDrawer .documentGrid{gap:8px}
#tourDrawer .documentCard{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;padding:12px 14px;border-radius:10px;align-items:center}
#tourDrawer .documentIcon{width:38px;height:38px;border-radius:8px;font-size:11px}
#tourDrawer .documentMain{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px 22px;align-items:center;min-width:0}
#tourDrawer .documentIdentity,#tourDrawer .documentContext{min-width:0}
#tourDrawer .documentCardHead{gap:8px;align-items:center}
#tourDrawer .documentCardHead h4{font-size:15px;line-height:1.35;margin:3px 0 0;overflow-wrap:anywhere}
#tourDrawer .documentCardHead>span{flex-shrink:0}
#tourDrawer .documentMeta{margin-top:6px;gap:5px 10px;font-size:12px;align-items:center;overflow-wrap:anywhere}
#tourDrawer .documentMeta>span{max-width:100%}
#tourDrawer .documentLinks{margin:0;gap:4px 12px;font-size:12px;overflow-wrap:anywhere}
#tourDrawer .documentLinks:empty{display:none}
#tourDrawer .documentContext p{margin:4px 0 0;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
#tourDrawer .documentActions{grid-column:auto;gap:5px;flex-wrap:wrap;justify-content:flex-end}
#tourDrawer .documentActions button{min-height:34px;padding:7px 10px;font-size:13px}
.acceptedQuoteHelp{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:13px 15px;font-size:13px}
.acceptedQuoteHelp>div:first-child{flex:1;min-width:0}.acceptedQuoteHelp b{color:#4e5e4d}.acceptedQuoteHelp p{margin:5px 0;line-height:1.5}.acceptedQuoteHelp small{font-size:12px;display:block;line-height:1.5}
.acceptedQuoteActions{display:flex;flex-wrap:wrap;gap:7px;flex:0 0 330px;justify-content:flex-end}.acceptedQuoteActions button{font-size:13px;min-height:36px}.acceptedQuoteActions .mini{background:transparent;border:0;color:#4e654d;text-decoration:underline}
@media(max-width:1050px){#tourDrawer .documentMain{grid-template-columns:minmax(0,1fr);gap:4px}.acceptedQuoteHelp{align-items:flex-start}.acceptedQuoteActions{flex-basis:210px}}
@media(max-width:620px){#tourDrawer .documentCard{grid-template-columns:34px minmax(0,1fr);gap:8px 10px;padding:11px}#tourDrawer .documentIcon{width:32px;height:32px;font-size:10px;align-self:start}#tourDrawer .documentCardHead{align-items:flex-start}#tourDrawer .documentCardHead h4{font-size:14px}#tourDrawer .documentActions{grid-column:2;justify-content:flex-start}#tourDrawer .documentActions button{min-height:38px;padding:8px 12px}#tourDrawer .documentMeta{gap:5px 8px}.acceptedQuoteHelp{flex-direction:column;gap:12px}.acceptedQuoteActions{flex:0 0 auto;width:100%;justify-content:flex-start}.acceptedQuoteActions .secondary{flex:1 1 45%}}

#tourDrawer .documentMeta>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,320px)}
@media(max-width:620px){#tourDrawer .documentTop{flex-wrap:wrap;gap:10px}#tourDrawer .documentTop>div{min-width:0;flex:1 1 100%}#tourDrawer .documentTop>button{max-width:100%}#tourDrawer .documentActions button{min-height:44px}}

/* v2.0.187: one sharing card per proposal, including the current revision. */
.guestShareCard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px;padding:16px;margin:10px 0;border:1px solid #cddfda;background:#f4faf7;border-radius:10px}.guestShareCard.isRevision{background:#f4f7ff;border-color:#cbd8eb}.guestShareIdentity{display:grid;gap:5px;min-width:0}.guestShareIdentity>span{font-size:12px;font-weight:700;color:#557285}.guestShareIdentity h4{font-size:17px;margin:0}.guestShareIdentity>b{font-size:16px}.guestShareIdentity small{font-size:12px;color:#687a87;overflow-wrap:anywhere}.guestShareControls{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;min-width:0}.guestShareButtons{display:flex;gap:7px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.guestShareButtons>button,.guestShareButtons>a{font-size:13px;min-height:36px}.guestLinkOptions{position:relative}.guestLinkOptions summary{cursor:pointer;padding:9px 10px;font-size:13px;color:#4f6374;list-style:none;border:1px solid #cdd9e0;border-radius:7px;background:#fff}.guestLinkOptions>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.guestRevisionNotice{padding:14px 16px;margin-bottom:14px;background:#eff4fc;border:1px solid #cedaeb;border-radius:10px;color:#38536c;font-size:14px}.guestRevisionNotice p{margin:6px 0;line-height:1.5}.guestRevisionNotice small{font-size:12px;line-height:1.5;display:block}.guestAccessHistory{padding:14px;border:1px solid #dce4ec;border-radius:10px;background:#f7f9fc;margin-top:14px;min-width:0}.guestAccessHistory>summary{font-weight:650;cursor:pointer;font-size:14px}.guestAccessHistory>p{font-size:13px;line-height:1.5;color:#687985}.guestAccessHistory .guestHistory b,.guestAccessHistory .guestHistory small{overflow-wrap:anywhere;min-width:0}
@media(max-width:850px){.guestShareCard{grid-template-columns:1fr;gap:12px}.guestShareControls{align-items:flex-start}.guestShareButtons{justify-content:flex-start}}
@media(max-width:620px){.guestShareCard{padding:12px}.guestShareButtons>button,.guestShareButtons>a{min-height:44px}.guestShareButtons{width:100%}.guestShareButtons>.secondary{flex:1 1 40%;text-align:center}.guestLinkOptions summary{min-height:44px}.guestRevisionNotice{padding:12px}.guestAccessHistory{padding:10px}}
/* v2.0.187: uploaded files first, concise print tools and visibility filters. */
#workspaceDocuments>h3{display:none}
#tourDrawer .documentTop{align-items:center;margin-bottom:16px}
#tourDrawer .documentTop p{max-width:700px;line-height:1.5}
.tourFilesPanel,.documentPrintPanel{background:#fff;border:1px solid #dce3ed;border-radius:12px;padding:16px;min-width:0}
.documentPrintPanel{margin-top:18px;background:#f5f8fc}
.tourFileTools{display:flex;align-items:end;flex-wrap:wrap;gap:12px 18px;justify-content:space-between}
.tourFileSearch{display:grid;gap:6px;flex:1 1 260px;font-size:13px;font-weight:700;max-width:420px;min-width:0}
.tourFileSearch input{width:100%;min-width:0;box-sizing:border-box;font-weight:400}
.tourFileFilters{display:flex;gap:6px;flex-wrap:wrap}.tourFileFilters button{min-height:38px;padding:8px 10px;font-size:13px}.tourFileFilters button[aria-pressed=true]{background:#193e5c;border-color:#193e5c;color:#fff}.tourFileFilters span{opacity:.75;margin-left:4px}
.tourFileResult,.documentPrintHint{font-size:13px;color:#62768a;line-height:1.5;margin:12px 0}
.tourFileEmpty{padding:18px;border:1px dashed #cdd8e5;border-radius:8px;color:#62768a;font-size:14px;line-height:1.5}
#tourDrawer .documentMain{grid-template-columns:minmax(0,1fr)}
#tourDrawer .documentMeta{font-size:13px}.documentContextLink{background:none;border:none;color:#315c7e;text-align:left;text-decoration:underline;padding:2px 0;font-size:13px;max-width:100%;overflow-wrap:anywhere;cursor:pointer}
#tourDrawer .documentLinks{display:flex;flex-wrap:wrap;gap:6px 14px}
.documentMore{font-size:13px;max-width:100%}.documentMore summary{cursor:pointer;padding:8px;color:#64798a;list-style:none;text-decoration:underline}.documentMore>div{padding:10px;border:1px solid #dae3ed;background:#f9fafc;border-radius:8px;max-width:260px;overflow-wrap:anywhere}.documentMore p{font-size:13px;line-height:1.5;margin:0 0 10px}
#tourDrawer .documentActions{align-items:center}
.documentPrintPanel .sectionHead{margin-bottom:12px}.documentPrintPanel .sectionHead h3{margin:0}.documentPrintPanel .sectionHead p{margin:6px 0 0;color:#62768a;font-size:14px;line-height:1.5}
.documentPrintChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.documentPrintChoices>div{padding:14px;border:1px solid #dae3ed;border-radius:10px;background:white;display:flex;flex-direction:column;align-items:start;min-width:0}.documentPrintChoices b{font-size:15px}.documentPrintChoices p{font-size:13px;color:#62768a;line-height:1.5;margin:6px 0 12px;flex:1}.documentPrintChoices button{font-size:13px;min-height:38px;white-space:normal}
.documentFold{margin-top:12px;border-top:1px solid #dce4ed;padding-top:10px}.documentFold>summary{cursor:pointer;font-size:14px;font-weight:700;color:#31516b;padding:8px 0}.documentFold .individualVoucherList{margin:8px 0}.documentFold .individualVoucherList>div{min-width:0}.documentFold .individualVoucherList span{min-width:0;overflow-wrap:anywhere}
.documentFinanceShortcut{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:14px;padding:12px;background:#fff8e9;border:1px solid #eee2bf;border-radius:8px;font-size:13px;line-height:1.5}.documentFinanceShortcut button{flex-shrink:0;font-size:13px;min-height:38px}
.documentMissing{margin-top:14px;font-size:14px}.documentMissing>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #dde5ed}.documentMissing span{min-width:0;overflow-wrap:anywhere}.documentMissing small{display:block;color:#62768a;margin-top:4px}.documentMissing button{flex-shrink:0;font-size:13px}
@media(max-width:850px){.documentPrintChoices{grid-template-columns:minmax(0,1fr)}.documentPrintChoices>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:center}.documentPrintChoices p{grid-column:1;margin:0}.documentPrintChoices button{grid-column:2;grid-row:1/3}.tourFileSearch{max-width:none}.tourFileFilters{width:100%}}
@media(max-width:620px){.tourFilesPanel,.documentPrintPanel{padding:12px}.tourFileFilters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tourFileFilters button{min-height:44px}.tourFileSearch{flex-basis:100%}.documentPrintChoices>div{display:flex;align-items:stretch}.documentPrintChoices button{min-height:44px}.documentFinanceShortcut{flex-wrap:wrap}.documentFinanceShortcut button{min-height:44px}.documentMissing>div{align-items:stretch;flex-direction:column}.documentMissing button{min-height:44px}.documentFold .individualVoucherList>div{flex-wrap:wrap}.documentFold .individualVoucherList button{min-height:44px}#tourDrawer .documentActions button,.documentMore summary{min-height:44px;box-sizing:border-box}.documentMore summary{display:flex;align-items:center}.documentContextLink{min-height:36px}}
.tourFileSearch input{border:1px solid #cdd8e5;border-radius:8px;padding:10px 12px;min-height:42px;background:#fff;color:#17354a;font:inherit;font-weight:400}.tourFileSearch input:focus-visible{outline:2px solid #356ea5;outline-offset:2px}
#tourDrawer .documentCardHead>.financeStatus{font-size:11px;text-decoration:none;border-radius:20px;padding:3px 7px;letter-spacing:0}
/* v2.0.187: simpler document entry and persistent tour file navigation. */
.documentEditor .documentUploadField{background:#f3f7fc;border:1px dashed #b7cadf;border-radius:10px;padding:14px;gap:8px}
.documentEditor .documentUploadField input{background:#fff;font-size:14px;max-width:100%}
.documentEditorDetails{border:1px solid #dce4ee;border-radius:10px;padding:12px;min-width:0}
.documentEditorDetails summary{cursor:pointer;color:#31516b;font-size:14px;font-weight:700;padding:5px 0}
.documentEditorDetails>.grid{padding-top:12px}
.documentEditor .documentVisibilityField{background:#f5faf5;border:1px solid #d9e6d9;border-radius:10px;padding:12px}
.documentEditor .documentVisibilityField small{display:block;line-height:1.5;font-size:13px;color:#617567;margin-top:6px}
@media(max-width:620px){.documentEditorDetails summary{min-height:44px;display:flex;align-items:center}.documentEditorDetails{padding:10px}.documentEditor .documentUploadField{padding:10px}.documentEditor .documentUploadField input{min-width:0;width:100%;box-sizing:border-box}}
.documentEditor .documentVisibilityField label{display:flex;align-items:center;gap:9px;line-height:1.5}.documentEditor .documentVisibilityField input[type=checkbox]{display:inline-block;width:18px;min-width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}
@media(max-width:620px){.modal:has(.documentEditor){padding:10px}.modal:has(.documentEditor) .modalCard{box-sizing:border-box;width:100%;max-width:100%;max-height:calc(100dvh - 20px);padding:14px}.documentEditor,.documentEditor>.field,.documentEditorDetails,.documentEditorDetails .grid,.documentEditorDetails .field{box-sizing:border-box}.documentEditor .actions{left:0;right:0}}
@media(max-width:620px){.modal:has(.documentEditor) .modalCard{width:100%!important;max-width:100%;margin:0}.modal:has(.documentEditor) .modalHead{margin:-14px -14px 0;top:-14px}}
/* v2.0.187: help centre and keyboard/touch accessible contextual explanations. */
.contextHelp{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;margin:4px;border:1px solid #b9ccdf;border-radius:50%;background:#edf4fb;color:#285374;font-size:15px;font-weight:800;cursor:pointer;vertical-align:middle}.contextHelp:hover{background:#dceaf8}.contextHelp:focus-visible,.helpTopicCard:focus-visible{outline:3px solid #4184bd;outline-offset:2px}
.hasContextHelp{position:relative;padding-right:38px}.hasContextHelp>.contextHelp{position:absolute;right:0;top:0}.documentEditor .documentVisibilityField.hasContextHelp{padding-right:42px}
.helpIntro{max-width:760px;margin:0 0 22px}.helpIntro h1{font-size:28px;margin:8px 0}.helpIntro p{color:#65778a;font-size:15px;line-height:1.5}.helpIntro label{display:grid;gap:7px;font-size:14px;font-weight:700;margin-top:18px}.helpSearch,.helpJump select{width:100%;box-sizing:border-box;border:1px solid #cbd8e6;background:#fff;border-radius:9px;padding:12px;font:inherit;min-width:0;min-height:44px;color:#17354a}
.helpTopicGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.helpTopicCard{display:flex;flex-direction:column;gap:9px;text-align:left;padding:18px;border:1px solid #d9e3ec;border-radius:12px;background:#fff;color:#17354a;min-width:0;cursor:pointer}.helpTopicCard:hover{background:#f3f7fb;border-color:#aac2d9}.helpTopicCard small{font-size:12px;color:#637d95}.helpTopicCard b{font-size:17px;line-height:1.35}.helpTopicCard span{font-size:14px;color:#66798b;line-height:1.5}
.movisHelpDialog{box-sizing:border-box;width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d4e0eb;border-radius:16px;background:#fff;color:#17354a;box-shadow:0 18px 70px #0c243e40;overflow:auto;overscroll-behavior:contain}.movisHelpDialog::backdrop{background:#0c243e80;backdrop-filter:blur(2px)}.helpDialogHead{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:2;background:#fff;padding:12px 22px;border-bottom:1px solid #e1e8ef}.helpClose{border:0;background:#f0f4f8;border-radius:50%;width:40px;height:40px;font-size:26px;color:#234761;cursor:pointer}.helpArticle,.helpDialogHub{padding:24px}.helpArticle h2{font-size:25px;line-height:1.25;margin:8px 0 12px}.helpArticle h3{font-size:16px;margin:22px 0 10px}.helpArticle p,.helpArticle li{font-size:15px;line-height:1.65}.helpArticle ol{padding-left:24px}.helpArticle li{padding-left:4px;margin-bottom:9px}.helpLead{color:#65798b}.helpExample,.helpImportant{padding:14px 16px;border:1px solid #d9e6f1;border-radius:10px;margin-top:14px;background:#f3f8fd}.helpImportant{background:#fff9e9;border-color:#eadfbd}.helpExample p,.helpImportant p{margin:6px 0 0}.helpJump{display:flex;align-items:end;gap:12px;border-top:1px solid #e0e7ee;margin-top:22px;padding-top:18px}.helpJump label{display:grid;gap:7px;flex:1;min-width:0;font-size:13px}.helpJump button{min-height:44px;flex-shrink:0}.helpJumpMessage{color:#795b22}.helpDialogHub .helpTopicGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.helpTopicGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.helpTopicGrid,.helpDialogHub .helpTopicGrid{grid-template-columns:minmax(0,1fr)}.movisHelpDialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.helpArticle,.helpDialogHub{padding:18px}.helpDialogHead{padding:10px 16px}.helpArticle h2{font-size:22px}.helpJump{flex-direction:column;align-items:stretch}.helpJump label{width:100%}.contextHelp{width:36px;height:36px;min-width:36px}.hasContextHelp{padding-right:44px}.helpClose{width:44px;height:44px}.helpDialogHead .secondary{min-height:44px}}
/* Deliberate destructive actions, distinct from normal editing. */
.recordDeleteButton{display:inline-flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:8px!important;margin:4px 0 4px 14px!important;color:#7b8591!important;background:transparent!important;border:0!important;border-radius:6px!important;box-shadow:none!important;vertical-align:middle;flex-shrink:0}
.recordDeleteButton svg{display:block;pointer-events:none}
.recordDeleteButton:hover{color:#a6202b!important;background:#fff0f1!important}
.recordDeleteButton:focus-visible{outline:2px solid #2083d2;outline-offset:3px}
@media(pointer:coarse){.recordDeleteButton{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin-left:18px!important}}
.recordDeletionCard{max-width:580px!important;width:min(580px,calc(100vw - 32px));font-size:1rem;line-height:1.5}
.recordDeletionName{font-weight:700;overflow-wrap:anywhere}
.recordDeletionWarning{padding:12px 16px;border-left:4px solid #b12631;background:#fff0f1;color:#84202a}
.recordDeleteStepTwo[hidden],.recordDeleteStepOne[hidden]{display:none!important}
.recordDeleteStepTwo input{display:block;width:100%;min-height:44px;margin-top:8px;font-size:1rem}
.recordDeleteFinal{background:#a6202b!important;color:white!important;border:1px solid #a6202b!important;min-height:44px}
.recordDeleteFinal:disabled{opacity:.45;cursor:not-allowed}
.recordDeleteError{color:#a6202b;overflow-wrap:anywhere}
.recordDeletionCard .actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}
.recordDeletionCard button:focus-visible,.recordDeletionCard input:focus-visible{outline:3px solid #2083d2;outline-offset:3px}
