.calendar-feedback{position:sticky;top:8px;z-index:20;padding:16px 20px;border:1px solid #a8c9ae;border-left:5px solid #34734d;border-radius:9px;background:#edf7ed;color:#24533a;box-shadow:0 4px 16px #23422b14}.calendar-feedback.is-error{background:#fff2ee;border-color:#d59a86;color:#873a27}.calendar-dialog{border:1px solid #c9d8ca;border-radius:15px;padding:28px;max-width:650px;width:calc(100% - 32px);max-height:85vh;overflow:auto;color:#22352c;box-shadow:0 20px 90px #14241c45}.calendar-dialog::backdrop{background:#18352766;backdrop-filter:blur(3px)}.calendar-dialog h2{color:#2d6243;padding-right:40px}.calendar-close{float:right}.calendar-dialog .k-actions{margin-top:22px;gap:12px}.calendar-dialog p{white-space:pre-line}.calendar-dialog [data-dialog-message]{color:#873a27}.calendar-feedback:not([hidden]){animation:calendar-appear .3s ease-out}@keyframes calendar-appear{from{transform:translateY(-6px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.calendar-feedback{animation:none!important}}
.calendar-dialog.has-packs{max-width:1160px}.calendar-dialog.has-packs .k-dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.calendar-dialog.has-packs .k-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.calendar-dialog.has-packs .k-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:640px){.calendar-dialog{box-sizing:border-box;max-width:calc(100% - 24px);padding:18px 16px;max-height:85dvh}.calendar-dialog [data-calendar-dialog-body]{min-width:0;overflow-wrap:anywhere}.calendar-dialog .k-actions{display:flex;flex-direction:column;align-items:stretch}.calendar-dialog .k-actions .k-button{width:100%;min-width:0;white-space:normal;min-height:44px}.calendar-dialog input,.calendar-dialog select,.calendar-dialog textarea{min-width:0;max-width:100%;font-size:16px}}

/* Native modal top layer; keep both title and close control below the mobile header. */
.calendar-dialog{position:fixed;box-sizing:border-box;background:#fffefb}
@media(max-width:640px){
 .calendar-dialog{inset:calc(70px + env(safe-area-inset-top,0px)) 12px calc(86px + env(safe-area-inset-bottom,0px));margin:auto;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 172px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain}
 .calendar-feedback{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));left:12px;right:12px;margin:0;z-index:90;max-height:30dvh;overflow:auto;font-size:14px;line-height:1.5;box-sizing:border-box}
}

/* Cancellation receipt: visible, non-blocking and temporary; never an extra confirmation. */
.calendar-feedback.is-centered{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:100;box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow:auto;margin:0;padding:22px 24px;font-size:16px;line-height:1.55;text-align:center;box-shadow:0 12px 45px #18352738;pointer-events:none;animation:none}
