/* Harvyo DS adapter. Intentionally no geometry, animation, stacking or
   visibility overrides for sidebar, dropdowns, overlays and calendar events.
   Dark loads no adapter: the original interface remains the fallback. */
@font-face{font-family:HarvyoSatoshi;src:url('../fonts/Satoshi-Variable.woff2') format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:HarvyoPoppins;src:url('../fonts/poppins-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--hv-primary:#2D47B2;--hv-navy:#142459;--hv-pink:#DB2353;--hv-canvas:#F8F8F8;--hv-text:#666666;--hv-shadow:0 8px 28px rgba(20,36,89,.07)}
body{font-family:HarvyoSatoshi,sans-serif!important;font-weight:500;background:var(--hv-canvas);color:var(--hv-text)}
/* Paint the viewport too: a short dashboard must not expose the legacy
   white html background below its content. Keep embedded panels unchanged. */
html:not(:has(body.embedded-view)){min-height:100%;background:var(--hv-canvas)}
body:not(.embedded-view){min-height:100vh;min-height:100dvh;background-color:var(--hv-canvas)}
body :is(button,input,select,textarea){font-family:HarvyoSatoshi,sans-serif}
body :is(h1,h2,h3){font-family:HarvyoPoppins,sans-serif;font-weight:600;color:#000}
body h1{font-size:38px}body h2{font-size:24px}body h3{font-size:20px}
body :is(.muted,.field-help,.optional){color:#666;font-weight:500}
body .btn{font-family:HarvyoSatoshi,sans-serif;font-size:15px;font-weight:700;border-radius:999px}
body .btn:not(.secondary):not(.critical):not(.danger):not(:disabled){background:var(--hv-primary);border-color:var(--hv-primary);color:#fff}
body .btn.secondary{background:#fff;color:var(--hv-primary);border-color:#e3e7f1}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=range]){font-size:15px;border-color:#e3e7f1;border-radius:14px;color:#000}
body :is(input,select,textarea):focus-visible{outline-color:var(--hv-primary)}
body :is(.panel,.enterprise-card,.subscription-card,.calendar-connection-card){background:#fff;border-color:transparent;border-radius:24px;box-shadow:var(--hv-shadow)}
body .modal-card{background:#fff;border-radius:24px;color:var(--hv-text)}
body .modal-card :is(h2,h3){color:#000}
body :is(.eyebrow,.calendar-section-title .eyebrow){color:var(--hv-navy)}
body :is(.stat-value,.metric-value,.kpi-value){font-family:HarvyoSatoshi,sans-serif;font-weight:900;color:#000}
body :is(.ui-sidebar,.topbar){background:#fff}
body .ui-sidebar-nav>a{font-family:HarvyoSatoshi,sans-serif;font-size:15px}
/* The shared black marker and difference-blend text remain paired, preserving
   readable selection throughout motion. Semantic calendar/status colors stay. */
body :is(.calendar-channel-icon,.calendar-empty-icon){background:#eef1fa;color:var(--hv-primary)}
body .toast{background:var(--hv-navy);color:#fff}
@media(max-width:680px){body h1{font-size:30px}}
/* Revision 2: mapped against actual platform, dashboard, property and calendar
   forms. Visual precedence only; do not replace geometry or event handlers. */
body :is(h1,h2,h3){font-family:HarvyoPoppins,sans-serif!important;font-weight:600!important;color:#000}
body h1{font-size:38px!important}
body h2{font-size:24px!important}
body h3{font-size:20px!important}
body :is(.ui-sidebar-nav,.sidebar-settings-submenu)>a{font-family:HarvyoSatoshi,sans-serif!important;font-size:15px!important;font-weight:500!important}
body :is(.btn,.icon-action,.enterprise-round-action,.enterprise-illustration-edit){font-family:HarvyoSatoshi,sans-serif!important;font-weight:500!important}
body .btn{font-size:15px!important}
body .btn.secondary{color:var(--hv-navy)!important}
body :is(.btn.small,.btn.compact){font-size:14px!important}
body :is(.icon-action,.enterprise-illustration-edit):not(.critical):not(.danger):not(.danger-icon):not(.user-delete):not(.agenda-sidebar-close):not(.finance-cash-receipt){background:var(--hv-primary)!important;color:#fff!important;border-color:transparent!important;border-radius:999px}
body :is(.icon-action,.enterprise-illustration-edit):not(.critical):not(.danger):not(.danger-icon):not(.user-delete):not(.agenda-sidebar-close):not(.finance-cash-receipt) .ui-icon{filter:brightness(0) invert(1)}
body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=range]){font-family:HarvyoSatoshi,sans-serif!important;font-size:15px!important;font-weight:500!important;color:#666;border-color:#e3e7f1!important;border-radius:14px!important}
body :is(input,textarea)::placeholder{font-family:HarvyoSatoshi,sans-serif;color:#888;opacity:1}
body :is(input,select,textarea)[aria-invalid=true]{border-color:#a72e4a!important}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--hv-primary)}
body :is(.field-help,.optional){font-family:HarvyoSatoshi,sans-serif;font-size:13px!important;font-weight:500!important}
body :is(.panel,.enterprise-card,.subscription-card,.calendar-connection-card,.finance-stats>article,.dashboard-stats>article,.property-editor,.property-card){background:#fff;border-color:transparent!important;border-radius:24px;box-shadow:var(--hv-shadow)!important}
body :is(.property-card.active,.property-card.is-active,.enterprise-card.is-selected){border-color:var(--hv-primary)!important;background:#eef1fa}
body :is(.finance-stats,.dashboard-stats)>article>strong{font-family:HarvyoSatoshi,sans-serif!important;font-size:27px!important;font-weight:900!important;color:#000}
body :is(.overview-reservation,.reservation-list-item) strong{font-family:HarvyoSatoshi,sans-serif;font-weight:700;color:#000}
body :is(.modal-card,.modal-card.compact-modal){font-family:HarvyoSatoshi,sans-serif;font-size:15px;border-radius:28px!important;border-color:transparent;box-shadow:0 24px 70px rgba(20,36,89,.18)}
body :is(.enterprise-switch-menu,.agenda-more-actions-menu,.more-menu,.user-password-menu){font-family:HarvyoSatoshi,sans-serif;font-size:15px;color:#666;background:#fff;border-color:#e3e7f1;border-radius:20px;box-shadow:var(--hv-shadow)}
body :is(.enterprise-switch-menu,.agenda-more-actions-menu,.more-menu,.user-password-menu) :is(a,button):hover{background:#eef1fa;color:var(--hv-primary)}
body :is(.reservation-tabs,.reservation-view-switch,.agenda-quote-tabs,.settings-tabs){font-family:HarvyoSatoshi,sans-serif;font-size:14px;border-color:transparent;box-shadow:var(--hv-shadow)}
body :is(.reservation-tabs,.reservation-view-switch,.agenda-quote-tabs,.settings-tabs) .ds-motion-marker{background:var(--hv-primary)}
body :is(.reservation-tabs,.reservation-view-switch,.agenda-quote-tabs,.settings-tabs)>:is(a,button){font-family:HarvyoSatoshi,sans-serif;font-size:14px;font-weight:500}
body table{font-family:HarvyoSatoshi,sans-serif;font-size:15px}
body table th{color:var(--hv-navy);font-weight:700}
body table :is(td,th){border-color:#e3e7f1}
body .cabin-card{background:#fff;border-color:transparent;border-radius:20px;box-shadow:var(--hv-shadow)}
body .cabin-card.is-selected{background:#eef1fa;border-color:var(--hv-primary)}
body .cabin-card strong{font-family:HarvyoSatoshi,sans-serif;font-weight:700;color:#000}
body .cabin-services input[type=checkbox]{accent-color:var(--hv-primary)}
body :is(input,select,textarea):disabled{color:#999;background:#f0f0f0}
/* Keep selected-calendar colors, switches, errors, disabled controls, menu
   blending and the borderless access arrow semantically unchanged. */
@media(max-width:680px){body h1{font-size:30px!important}}
/* Brand selection: keep the existing moving marker and its geometry. */
body :is(.ui-sidebar-nav,.sidebar-settings-submenu) .ds-motion-marker{background:var(--hv-primary)!important}
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready>a,
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready>a:is(.active,:hover,:focus,.ds-motion-target){mix-blend-mode:normal!important;color:#666!important}
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready>a .ui-icon{filter:none!important}
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready:not(.ds-motion-navigating)>a.active,
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready>a.ds-motion-target{color:#fff!important}
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready:not(.ds-motion-navigating)>a.active .ui-icon,
body .ui-sidebar :is(.ui-sidebar-nav,.sidebar-settings-submenu).ds-motion-rail.ds-motion-ready>a.ds-motion-target .ui-icon{filter:brightness(0) invert(1)!important}
body :is(.ui-sidebar-nav,.sidebar-settings-submenu):not(.ds-motion-ready)>a.active{background:var(--hv-primary)!important;color:#fff!important}
body .agenda-event:not(.is-past-segment):not(.is-finished-stay){background:var(--hv-primary)!important;color:#fff!important}
body:has(.agenda-property-option.property-color-1.is-active) .agenda-event:not(.is-past-segment):not(.is-finished-stay),
body .agenda-consolidated .agenda-event.property-lane-1:not(.is-past-segment):not(.is-finished-stay){background:var(--hv-pink)!important}
body .agenda-property-option.property-color-0 .agenda-property-color-dot{background:var(--hv-primary)}
body .agenda-property-option.property-color-1 .agenda-property-color-dot{background:var(--hv-pink)}

/* Circular icon controls: preserve the intent of destructive and status actions. */
body :is(.icon-action,.enterprise-illustration-edit,.user-modal-head .icon-action):not(.critical):not(.danger):not(.danger-icon):not(.user-delete):not(.agenda-sidebar-close):not(.finance-cash-receipt){background:var(--hv-primary)!important;color:#fff!important;border-color:var(--hv-primary)!important}
body :is(.icon-action,.enterprise-illustration-edit,.user-modal-head .icon-action):not(.critical):not(.danger):not(.danger-icon):not(.user-delete):not(.agenda-sidebar-close):not(.finance-cash-receipt) .ui-icon{filter:brightness(0) invert(1)!important}
body :is(.topbar-icon-button,.ui-sidebar-collapse,.ui-sidebar-mobile-toggle,.modal-x,.drawer-close-button,.enterprise-round-action,.topbar-platform-link,.agenda-sidebar-close,.finance-reservation-drawer-close,.finance-cash-receipt):not(.critical):not(.danger){background:#fff!important;color:var(--hv-primary)!important;border-color:#e3e7f1!important}
body :is(.topbar-icon-button,.ui-sidebar-collapse,.ui-sidebar-mobile-toggle,.modal-x,.drawer-close-button,.enterprise-round-action,.topbar-platform-link,.agenda-sidebar-close,.finance-reservation-drawer-close,.finance-cash-receipt) .ui-icon{filter:invert(23%) sepia(66%) saturate(1730%) hue-rotate(211deg) brightness(89%) contrast(93%)!important}
body :is(.agenda-sidebar-close,.finance-reservation-drawer-close){border:1px solid #e3e7f1!important;box-shadow:none!important}
body .topbar-platform-link{color:var(--hv-primary)!important}

/* Reservation stages use Harvyo's primary for the next action, pink for
   completed milestones, and restrained neutral text for upcoming stages. */
body .reservation-stage-accordion{border-radius:18px}
body .reservation-stage-heading strong{font-family:HarvyoPoppins,sans-serif;color:#000}
body .reservation-stage-mini{color:#666;font-family:HarvyoSatoshi,sans-serif}
body .reservation-stage-mini:not(:last-child)::after{background:#e3e7f1}
body .reservation-stage-mini.is-complete:not(:last-child)::after{background:var(--hv-pink)}
body .reservation-stage-mini.is-complete .reservation-stage-mini-dot,
body .reservation-stage-list .step.complete .step-dot{border-color:var(--hv-pink);background:var(--hv-pink);color:#fff}
body .reservation-stage-mini.is-current .reservation-stage-mini-dot,
body .reservation-stage-list .step.current .step-dot{border-color:var(--hv-primary);background:var(--hv-primary);color:#fff}
body .reservation-stage-mini.is-current .reservation-stage-mini-label{color:var(--hv-primary)}
body .reservation-stage-list .step.current{background:#eef1fa}
body .reservation-stage-list .step-copy strong{color:#000;font-weight:700}
body .reservation-stage-list .step-copy span{color:#666}
