.install-control{position:fixed;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:95;max-width:240px;font:inherit}.install-control button{background:#211f1d;color:white;border:1px solid #db6b35;border-radius:12px;padding:10px 14px;font:600 13px inherit;box-shadow:0 5px 18px #0002;cursor:pointer}.install-control p{background:white;color:#211f1d;border-radius:12px;padding:12px;font-size:13px;box-shadow:0 5px 18px #0002}.install-control [hidden]{display:none!important}@media(min-width:768px){.install-control{bottom:16px}}
/* Volcano v0.55 — global action language. Kept in this core stylesheet so every page and dialog loads it. */
:root{--orange:#f09a64!important;--volcano-action:#f09a64;--volcano-action-hover:#e6854d;--volcano-success:#5b9672;--volcano-danger:#cf625c;--volcano-neutral:#eee8e2;--volcano-neutral-border:#cfc3ba}
.page .button,.page .action,dialog .button,dialog .action,dialog button{cursor:pointer;border-width:1px!important;border-style:solid!important;font-weight:700;box-shadow:0 3px 8px #3b281b16;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.page .button:hover,.page .action:hover,dialog .button:hover,dialog .action:hover,dialog button:hover{transform:translateY(-1px);box-shadow:0 7px 16px #3b281b20}
.page .button:active,.page .action:active,dialog .button:active,dialog .action:active,dialog button:active{transform:scale(.98);box-shadow:none}
.page .button:focus-visible,.page .action:focus-visible,dialog button:focus-visible{outline:3px solid #f09a6450!important;outline-offset:2px}

/* Create, add, save and edit actions */
.page .button.primary,.page .action:not(.danger),dialog .button.primary,dialog .action:not(.danger){background:#f09a64!important;border-color:#e78a53!important;color:#2e211a!important}
.page .button.primary:hover,.page .action:not(.danger):hover,dialog .button.primary:hover,dialog .action:not(.danger):hover{background:#e6854d!important;border-color:#d97842!important;color:#fff!important}

/* View, details, back, filters and cancel-without-destruction */
.page .button.secondary,dialog .button.secondary,.page [data-details],.page [data-workflow],.page [data-view],.page [data-filter],dialog [data-success-back]{background:#eee8e2!important;border-color:#cfc3ba!important;color:#403832!important}
.page .button.secondary:hover,dialog .button.secondary:hover,.page [data-details]:hover,.page [data-workflow]:hover{background:#e3dad2!important;border-color:#b9a99d!important;color:#2d2824!important}

/* Positive completion actions */
.page .action[data-confirm],.page .action[data-quick-finish],.page .action[data-reopen],.page .action[data-status="completed"],.page .action[data-payment],.page .button[data-confirm],.page .button[data-quick-finish],.page .button[data-reopen],#quickFinishDialog button[type="submit"],dialog .button[data-success-view]{background:#5b9672!important;border-color:#4d8563!important;color:#fff!important}
.page [data-confirm]:hover,.page [data-quick-finish]:hover,.page [data-reopen]:hover,#quickFinishDialog button[type="submit"]:hover{background:#477d5c!important;border-color:#3f7053!important}

/* Destructive actions */
.page .button.danger,.page .action.danger,.page .action[data-cancel],.page .action[data-remove],.page .action[data-archive-booking],.page .action.line-remove,.page .button[data-cancel],.page .button[data-remove],dialog .button.danger,dialog .action.danger,#cancelBookingDialog button[type="submit"]{background:#fff0ee!important;border-color:#df9b96!important;color:#a43e39!important}
.page .button.danger:hover,.page .action.danger:hover,.page [data-cancel]:hover,.page .line-remove:hover,#cancelBookingDialog button[type="submit"]:hover{background:#cf625c!important;border-color:#bc514b!important;color:#fff!important}

/* Booking-form actions that previously looked like white fields */
.page .booking-add-line .button{background:#fff0e5!important;border-color:#efa875!important;color:#9a4b27!important}
.page .booking-add-line .button:hover{background:#f09a64!important;border-color:#e6854d!important;color:#2e211a!important}
.page .line-date-toggle{background:#f09a64!important;border-color:#e78a53!important;color:#2e211a!important}
.page .line-more-details{background:#eee8e2!important;border-color:#cfc3ba!important;color:#403832!important}

/* Navigation, tabs and disabled states */
.sidebar .nav-button.selected{background:#e98650!important;color:#fff!important;box-shadow:inset 4px 0 #ffc39c}
.booking-section-tab.active,.tabs .active,.screen-switch .active{background:#292522!important;border-color:#292522!important;color:#fff!important;box-shadow:inset 0 -3px #f09a64!important}
.page button:disabled,dialog button:disabled{opacity:.5!important;filter:saturate(.5);cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

@media(max-width:700px){.page .button,.page .action,dialog .button,dialog .action,dialog button{min-height:46px;padding:11px 14px}.page .row-actions{gap:8px}.page .booking-line .section-head{gap:8px;flex-wrap:wrap}.page .booking-line .section-head .action{min-width:108px}.page .booking-add-line .button{width:100%}.dialog-actions,.quick-finish-actions,.success-actions{display:grid!important;grid-template-columns:1fr!important}.dialog-actions button,.quick-finish-actions button,.success-actions button{width:100%}}

@media(max-width:800px){.mobile-tabs{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1px!important;padding-left:4px!important;padding-right:4px!important}.mobile-tabs button{min-width:0!important;padding:5px 2px!important}.mobile-tabs button small{font-size:9px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis}.mobile-tabs button span svg{width:19px;height:19px}.mobile-tabs .mobile-count{right:3px!important;top:1px!important;background:#5b9672!important;border:2px solid #fff;min-width:18px;padding:1px 4px;font-size:9px}.mobile-review-alert{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) auto 10px;align-items:center;gap:10px;margin:-3px 0 14px;padding:13px 14px;border:1px solid #eda575;border-left:4px solid #e6854d;border-radius:13px;background:#fff2e8;color:#33251d;text-align:left;box-shadow:0 6px 16px #6b351519}.mobile-review-alert .mobile-review-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f09a64;color:#2e211a}.mobile-review-alert .mobile-review-icon svg{width:20px;height:20px}.mobile-review-alert strong,.mobile-review-alert small{display:block}.mobile-review-alert strong{font-size:13px}.mobile-review-alert small{font-size:10px;color:#76665c;margin-top:3px;line-height:1.3}.mobile-review-alert b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:99px;background:#5b9672;color:#fff;font-size:11px}.mobile-review-alert i{font-style:normal;font-size:20px;color:#a6532c}}
@media(min-width:801px){.mobile-review-alert{display:none}}
