/* A restrained raised/inset system, with visible borders and focus. */
:root{--portal-surface:#f5f6f2;--portal-raised:5px 5px 14px #24372a0c,-5px -5px 14px #fff;--portal-inset:inset 2px 2px 5px #25372c0b,inset -2px -2px 5px #fff}
body{background:var(--portal-surface)}
.portal-header a.travelpro-brand{width:190px;height:64px;aspect-ratio:auto;display:flex;align-items:center;overflow:visible;mix-blend-mode:multiply}
.portal-header a.travelpro-brand>img{position:static;width:100%;height:100%;object-fit:contain;transform:none}
:where(.commerce-panel,.attendance-card,.conn-card,.conn-channel-card,.conn-small-card,.client-identity,.relationship-trip,.intake-card,.finance-card,.stat-card,.billing-overview,.plan-current,.ops-card,.ops-client-card,.ops-metric,.fin-panel,.fin-summary>article,.document-properties,.document-paper,.agent-panel){background:linear-gradient(135deg,#fff,#f5f6f2);border:1px solid #dfe4db;box-shadow:var(--portal-raised);border-radius:18px}
:where(.primary-button,.outline-button,.conn-button,.conn-admin-button,.quiet-button,.finance-button,.assistant-launcher,.ops-button,.fin-primary,.fin-actions button){border-radius:12px;box-shadow:3px 3px 8px #20372a12,-3px -3px 8px #fff8;min-height:40px}
:where(.primary-button,.outline-button,.conn-button,.quiet-button):active{box-shadow:var(--portal-inset)}
:where(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]),textarea,select){background:#f7f8f5;border:1px solid #cfd8cd;border-radius:12px;box-shadow:var(--portal-inset);min-height:44px}
:where(input,textarea,select,button,a):focus-visible{outline:3px solid #c26732;outline-offset:3px}
dialog{background:#f8f9f6;border:1px solid #e2e7de;border-radius:24px;box-shadow:0 24px 80px #17291d33;max-width:min(820px,calc(100vw - 24px))}
dialog::backdrop{background:#15221db0;backdrop-filter:blur(4px)}
.document-client-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:240px;overflow:auto;padding:12px 2px}
.document-client-options label{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px;background:#fff;border:1px solid #dfe4db;border-radius:10px}
.document-client-options input{width:18px;height:18px;accent-color:#274132}
.portal-currency{position:relative;display:block}.portal-currency>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#536154;pointer-events:none}.portal-currency>input{padding-left:44px!important;width:100%}
.select-search{margin:0 0 8px!important;width:100%;font-size:13px!important;min-height:36px!important}
.notice-list{display:grid;gap:12px}.notice-item{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid #dde4d8;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.notice-item div{flex:1}.notice-item p{margin:0 0 5px}.notice-item small{color:#647063}
.connection-steps{display:grid;gap:14px}.connection-steps li{padding-left:5px;line-height:1.7}.assistant-shortcuts{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid #e0e4dc}.assistant-shortcuts button{font-size:12px}
.idle-warning{position:fixed;z-index:1000;left:50%;bottom:24px;transform:translateX(-50%);padding:16px 24px;background:#203c2c;color:#fff;border-radius:14px;box-shadow:0 8px 24px #0003}
@media(max-width:700px){.portal-header a.travelpro-brand{width:152px;height:55px}.document-client-options{grid-template-columns:1fr}dialog{padding:18px}.idle-warning{width:calc(100% - 32px);bottom:86px}.notice-item{padding:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.workspace-main :is(.ops-card,.ops-client-card,.ops-metric,.attendance-card,.commerce-panel,.conn-card,.conn-channel-card,.conn-small-card,.fin-panel,.document-paper,.document-properties),.workspace-main .fin-summary>article{box-shadow:var(--portal-raised);background:linear-gradient(135deg,#fff,#f4f5f0);border:1px solid #dce3d7;border-radius:18px}
.workspace-main :is(.primary-button,.outline-button,.ops-button,.fin-primary),dialog :is(.primary-button,.outline-button,.fin-primary){box-shadow:3px 3px 8px #20372a16,-3px -3px 8px #fff9;border-radius:12px}
.workspace-main .fin-primary,dialog .fin-primary{background:#294332;color:white;border-color:#294332}
.workspace-main :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]),textarea,select),dialog :is(input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]),textarea,select){box-shadow:var(--portal-inset);border:1px solid #ccd6c8;border-radius:12px;background:#f7f8f4}
.portal-header a.travelpro-brand>img{filter:brightness(1.055);mix-blend-mode:multiply}

.toolbar .tab-list{overflow-x:auto;max-width:100%}.document-properties{padding:22px}.document-properties>.form-field{margin-bottom:18px}.fin-summary>article{padding:22px} .document-row{box-shadow:var(--portal-raised);border-radius:14px;margin-bottom:10px}
/* Preview is the same printable document, isolated from portal controls. */
.itinerary-model-preview{display:block;width:100%;height:65vh;min-height:380px;border:1px solid #dce2d7;border-radius:18px;margin:22px 0;background:#f7f8f4}
#portal-dialog:has(.itinerary-model-preview){width:min(1000px,94vw);max-width:1000px}
.paper-footer .partners{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px;text-align:left}
.paper-footer .partners>div{display:flex;gap:28px;align-items:center}
.paper-footer .partners figure{margin:0;display:grid;gap:8px}
.paper-footer .partners small{font-size:9px;text-transform:uppercase;letter-spacing:1px}
.paper-footer .partners img{width:110px;height:34px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:600px){.paper-footer .partners{display:grid}.itinerary-model-preview{height:60vh}}

/* Customer files, agency profile and recurring birthdays */
.client-attachment-row{display:flex;gap:12px;align-items:center;margin:12px 0}.client-attachment-row .form-field{flex:1;min-width:0}.profile-remove{display:flex;gap:8px;margin:12px 0 24px}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.identity-monogram img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.proposal-pdf-preview{width:100%;height:70vh;min-height:360px;border:1px solid #e3e0da;border-radius:12px}.calendar-day.has-birthday{position:relative;box-shadow:inset 0 0 0 2px #b580c9;background-image:linear-gradient(145deg,#faf1ff88,transparent)}.calendar-day.has-birthday>span:after{content:' ✦';color:#9653ae;display:inline-block;animation:birthday-spark 2.8s ease-in-out infinite}.calendar-day .calendar-birthday,.birthday-legend{color:#864699}.agenda-birthday time{color:#9653ae;font-size:24px}@keyframes birthday-spark{0%,100%{transform:scale(1) rotate(-8deg);opacity:.7}50%{transform:scale(1.3) rotate(12deg);opacity:1}}@media(prefers-reduced-motion:reduce){.calendar-day.has-birthday>span:after{animation:none}}

[data-save-error]{padding:14px 16px;margin:16px 0;border:1px solid #e8b5ad;border-radius:10px;background:#fff0ed;color:#842e24;font-size:14px;line-height:1.5;scroll-margin:20px}[data-save-error]:focus{outline:2px solid #b94f3c;outline-offset:2px}

.report-launch{margin:0 0 18px}#portal-dialog:has(#report-root){width:min(1120px,calc(100vw - 32px));max-width:1120px}#report-root{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.report-controls .form-field{margin-bottom:16px}.report-filters[hidden]{display:none}.report-filters{grid-template-columns:1fr}.report-preview{width:100%;height:65vh;min-height:420px;border:1px solid #dce3e5;border-radius:12px;background:white}[data-report-count]{font-weight:600;color:#006c71}[data-report-error]{color:#9b3328;background:#fff0ed;padding:12px;border-radius:8px}.report-controls .dialog-actions{justify-content:stretch}.report-controls .dialog-actions button{width:100%}@media(max-width:760px){#report-root{grid-template-columns:1fr}.report-preview{height:55vh;min-height:300px}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.external-tool{display:grid;grid-template-columns:1.2fr 1fr;gap:38px;border:1px solid #fff;border-radius:24px;padding:clamp(24px,4vw,48px);background:linear-gradient(135deg,#fff,#edf5f3);box-shadow:9px 9px 26px #2336490c,-8px -8px 25px #ffffffa0}.tool-vuei{background:linear-gradient(135deg,#fff,#edf2fa)}.external-tool h2{font-size:clamp(26px,3vw,40px);line-height:1.18;letter-spacing:-1px;max-width:510px;margin:18px 0}.external-tool p,.external-tool-note p{font-size:14px;line-height:1.8;color:#62717c}.external-tool-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 16px}.external-tool-intro>small{font-size:11px;color:#6c7981}.external-tool-steps{border-left:1px solid #dce5e6;padding-left:32px}.external-tool-steps h3{font-size:16px;margin:0 0 22px}.external-tool-steps ol{padding-left:22px;margin:0}.external-tool-steps li{padding-left:8px;margin-bottom:24px;color:#008c80}.external-tool-steps strong{display:block;color:#35434e;font-size:14px}.external-tool-steps span{display:block;color:#687781;font-size:12px;line-height:1.7;margin-top:7px}.external-tool-note{padding:24px 4px;max-width:850px}.external-tool-note strong{font-size:13px;color:#465865}@media(max-width:760px){.external-tool{grid-template-columns:1fr;gap:28px}.external-tool-steps{border-left:0;border-top:1px solid #dce5e6;padding:24px 0 0}.external-tool-actions a{width:100%;justify-content:center}}

/* Presentation review: keep dialogs usable on short and touch screens. */
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
#portal-dialog{overscroll-behavior:contain;scroll-padding-block:20px}
#portal-dialog .dialog-notice{position:sticky;top:0;z-index:5;padding:14px 16px;margin:0 0 18px;background:#fff4e8;color:#74340e;border:1px solid #edc7a9;border-radius:12px;font-size:14px;line-height:1.6;box-shadow:0 5px 16px #34291c0d;overflow-wrap:anywhere}
#portal-dialog [data-save-error]{padding:12px 14px;background:#fff1ec;color:#8d301b;border:1px solid #ecc0b4;border-radius:10px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
#portal-dialog form[aria-busy=true]{cursor:progress}
#portal-dialog button:disabled{cursor:wait;opacity:.65}
@media(max-width:760px){
 #portal-dialog{max-height:calc(100dvh - 28px);max-width:calc(100vw - 24px);width:calc(100vw - 24px);padding:20px}
 #portal-dialog .dialog-actions{position:sticky;bottom:-20px;z-index:4;background:#f6f7f8;margin-inline:-20px;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 18px #26303b08;flex-wrap:wrap}
 #portal-dialog .dialog-actions button{min-height:44px;flex:1 1 auto;justify-content:center}
 #portal-dialog :is(input:not([type=checkbox]):not([type=radio]),textarea,select){font-size:16px}
 .workspace-main :is(.page-top,.page-header)>*,.workspace-main :is(.client-card,.trip-card){min-width:0;overflow-wrap:anywhere}
}

.wa-session-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.wa-session-actions button{flex:1 1 180px}#wa-session-status{padding:14px;background:#f1f5f2;border-radius:10px;line-height:1.6}#wa-session-qr{text-align:center;margin:16px 0}#wa-session-qr img{max-width:100%;height:auto}
