/* Layout extensions on existing Webflow cards, rows, sheets and typography. */
[data-app-category-list]{display:contents}
[data-app-native-slot]{padding-bottom:40px}
[data-app-owner-only][hidden],[data-app-widget][hidden],[data-app-booking-tool-sheet][hidden],[data-app-booking-fullscreen][hidden]{display:none!important}
.ste-row{border:0!important;min-height:76px;gap:16px;padding:16px;border-radius:22px;cursor:pointer}
.ste-row.is-selected{background:var(--_tavo-tokens---surface--secondary,#ECECEE)}
.app-choice-icon{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--_tavo-tokens---surface--secondary,#ECECEE);font-size:20px}
.is-selected>.app-choice-icon{background:var(--_tavo-tokens---surface--primary,#FFF)}
.app-settings-fields{display:flex;flex-direction:column;gap:12px;width:100%}
.app-settings-fields>.ste-input{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:24px;background:var(--_tavo-tokens---surface--secondary,#EBEBED)}
.app-settings-fields .ns-input{border:0;background:transparent;box-shadow:none;padding:0;min-height:24px;width:100%;color:inherit;font:inherit}
.app-settings-fields textarea{min-height:100px;resize:vertical}
.app-settings-fields input[type=range]{touch-action:pan-y;accent-color:var(--app-accent,#2F5BFF);width:100%;min-height:36px}
.app-settings-fields input[type=color]{width:100%;height:48px;cursor:pointer}
.app-background-example{height:180px;width:100%;border-radius:28px;box-shadow:0 16px 40px #12102b12;margin:16px 0 24px}
.app-accent-example{color:var(--_tavo-tokens---accent--base,#2F5BFF);width:100%}
[data-tablefy-dashboard-bg][data-app-background]{isolation:isolate;background:linear-gradient(var(--app-direction,135deg),var(--app-c1),var(--app-c2),var(--app-c3))!important}
[data-tablefy-dashboard-bg][data-app-background]>:not(.app-background-grain){opacity:0!important}
[data-tablefy-dashboard-bg][data-app-background=solid]{background:var(--app-c1)!important}
[data-tablefy-dashboard-bg][data-app-background=radial]{background:radial-gradient(ellipse at 30% 20%,var(--app-c1),var(--app-c2),var(--app-c3))!important}
[data-tablefy-dashboard-bg][data-app-background=mesh],[data-tablefy-dashboard-bg][data-app-background=aurora],[data-tablefy-dashboard-bg][data-app-background=color-bends],[data-tablefy-dashboard-bg][data-app-background=waves],[data-tablefy-dashboard-bg][data-app-background=satin]{background:radial-gradient(ellipse at 20% 0%,var(--app-c1),transparent 70%),radial-gradient(ellipse at 85% 60%,var(--app-c2),transparent 75%),var(--app-c3)!important;background-size:160% 160%!important}
[data-tablefy-dashboard-bg][data-app-background=dark-veil]{background:radial-gradient(ellipse at 20% 10%,var(--app-c1),#070B16 80%)!important}
[data-tablefy-dashboard-bg][data-app-motion=true]:not([data-app-background=solid]):not([data-app-background=linear]):not([data-app-background=radial]){animation:app-background-drift 18s ease-in-out infinite alternate}
@keyframes app-background-drift{to{background-position:75% 65%}}
[data-app-widget-grid],.app-widget-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;margin-bottom:24px;align-items:start}
[data-app-widget]{grid-column:1/-1;min-width:0;cursor:pointer;margin:0!important}
[data-app-widget].is-half{grid-column:span 1}
[data-app-widget]>.inner-card-wrapper{width:100%;height:100%;min-height:220px;overflow:hidden}
[data-app-widget] .card-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
[data-app-widget] .card-content{padding:20px 24px 24px;display:flex;flex-direction:column;gap:8px}
[data-app-widget-value]{font-size:clamp(28px,4vw,48px);line-height:1.05}
[data-app-widget-sub]{line-height:1.4}
[data-app-widget-menu]{border:0;background:transparent;min-width:36px;min-height:36px;cursor:pointer}
.app-chart-wrapper{width:100%;padding-top:12px}
.app-chart{width:100%;height:160px;touch-action:pan-y;overflow:visible}
.app-chart-caption{font-size:12px;min-height:32px;line-height:1.4}
.app-analysis-hero{width:100%;padding:12px 0}
.app-calendar-mini,.app-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center;width:100%}
.app-calendar-mini{margin-top:12px}
.app-calendar-day{font:inherit;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:50%;min-width:0;padding:0;color:inherit;cursor:pointer}
.app-calendar-mini .app-calendar-day{font-size:12px}
.app-calendar-day.is-selected{background:var(--app-accent,#2F5BFF);color:var(--app-on-accent,#FFF)}
.app-calendar-nav{display:flex;justify-content:space-between;align-items:center;margin:20px 0}
.app-plan-mini{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:20px}
.app-plan-mini-table{display:flex;align-items:center;justify-content:center;background:#E9EBEF;aspect-ratio:1.4;border-radius:7px;font-size:12px;color:#12102B}
.app-plan-mini-table.is-busy{background:var(--app-accent,#2F5BFF);color:var(--app-on-accent,#FFF)}
.app-embed-preview{width:min(250px,70%);aspect-ratio:1/2.12;margin:12px auto 28px;border-radius:34px;box-shadow:0 16px 40px #12102b12;overflow:hidden;background:#E7EBF0}
.app-booking-phone{display:block;width:100%;height:100%;border:0;pointer-events:none;background:transparent}
.app-embed-code{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;padding:24px;border-radius:24px;background:var(--_tavo-tokens---surface--secondary,#EBEBED);margin:20px 0}
.app-booking-editor{position:relative;isolation:isolate;min-height:calc(100svh - 250px)}
.app-booking-editor:before{content:'';position:absolute;inset:-160px -80px -40px;z-index:-1;background:var(--app-editor-tint,#DCE2EC);opacity:.22;pointer-events:none;transition:background .12s linear}
.app-booking-carousel{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:20px max(16px,calc((100% - 270px)/2)) 28px;width:100%;box-sizing:border-box}
.app-booking-slide{width:270px;aspect-ratio:1/2.12;flex:0 0 270px;scroll-snap-align:center;border-radius:36px;overflow:hidden;transform:scale(var(--app-card-scale,.86));box-shadow:0 18px 42px #12102b20;background:#E7EBF0;transform-origin:center}
.app-booking-slide:first-child{--app-card-scale:1}
.has-tool-sheet .app-booking-slide{scale:.65;transform-origin:center top}
.app-booking-slide{transition:scale .35s cubic-bezier(.2,.8,.2,1)}
.app-booking-tools{display:flex;align-items:center;justify-content:center;gap:32px;background:transparent;margin:20px auto 32px}
.app-booking-tool{display:flex;flex-direction:column;align-items:center;gap:10px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;min-width:72px}
.app-booking-tool>.settings-icon-div{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:28px;border-radius:50%;background:var(--_tavo-tokens---surface--primary,#FFFFFFB8)}
.app-booking-eye{position:absolute;right:4px;top:-70px;border:0;cursor:pointer;min-height:40px;padding:8px;font-size:14px}
[data-app-booking-tool-sheet]{display:block!important;position:fixed;inset:auto 0 0;z-index:10000;max-height:65svh;background:transparent}
[data-app-booking-tool-sheet]>.bottom-sheet{display:flex;flex-direction:column;max-height:65svh;border-radius:32px 32px 0 0;padding:20px 20px max(20px,env(safe-area-inset-bottom));background:var(--_tavo-tokens---surface--primary,#FFF);box-shadow:0 -16px 70px #12102b20;max-width:800px;margin:auto;transform:none!important}
[data-app-tool-body]{overflow-y:auto;overscroll-behavior:contain;flex:1;padding:0 0 20px}
[data-app-booking-tool-sheet] .rs-set-head{display:flex;align-items:center;justify-content:space-between}
[data-app-booking-fullscreen]{display:block;position:fixed;inset:0;z-index:11000;border-radius:40px;overflow:hidden;background:#E7EBF0}
[data-app-fullscreen-body]{position:absolute;inset:0}
[data-app-fullscreen-body] iframe{pointer-events:auto}
.app-preview-close{position:absolute;left:16px;top:max(16px,env(safe-area-inset-top));height:44px;width:44px;border-radius:50%;border:0;background:#FFFFFFCC;backdrop-filter:blur(18px);font-size:28px;cursor:pointer}
[data-app-fullscreen-edge]{position:absolute;top:74px;left:0;bottom:0;width:20px;touch-action:pan-y}
[data-app-open-team]{border:0;cursor:pointer;background:var(--_tavo-tokens---surface--primary,#FFFFFFCC);border-radius:50%;min-width:48px;min-height:48px}
.app-info-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:16px;margin:0 0 20px}
.app-info-slide{flex:0 0 90%;scroll-snap-align:center;background:var(--_tavo-tokens---surface--primary,#FFF);border-radius:28px;padding:24px;position:relative}
.app-info-slide h3{font-size:22px;line-height:1.2;margin:10px 0}
.app-info-slide p{font-size:15px;line-height:1.5}
.app-chat-messages{display:flex;flex-direction:column;gap:12px;padding:12px 0 24px}
.app-chat-bubble{max-width:85%;padding:14px 18px;border-radius:24px;background:var(--_tavo-tokens---surface--primary,#FFF);align-self:flex-start;overflow-wrap:anywhere}
.app-chat-bubble.is-mine{align-self:flex-end;background:var(--app-accent,#2F5BFF);color:var(--app-on-accent,#FFF)}
.app-chat-bubble p{margin:6px 0;white-space:pre-wrap}
.app-chat-bubble img{max-width:100%;max-height:420px;border-radius:16px;display:block;cursor:pointer}
.app-chat-meta{font-size:12px;opacity:.7}
.app-chat-compose{position:sticky;bottom:0;padding:16px 0;background:var(--_tavo-tokens---surface--secondary,#F5F5F5);display:flex;gap:10px;flex-wrap:wrap}
.app-chat-compose textarea{flex:1;min-width:180px;max-height:180px;min-height:54px;border-radius:24px;padding:16px 20px;background:var(--_tavo-tokens---surface--primary,#FFF);border:0;font:inherit;resize:vertical;color:inherit}
.app-chat-compose button{min-height:48px;border:0;border-radius:24px;padding:12px 20px;font:inherit;cursor:pointer}
.app-chat-reply{width:100%;padding:12px 16px;border-radius:18px;background:#12102B12}
@media(max-width:600px){[data-app-widget-grid]{gap:12px}[data-app-widget] .card-content{padding:16px}[data-app-widget-value]{font-size:30px}.app-chart{height:120px}.app-booking-slide{width:min(270px,62vw);flex-basis:min(270px,62vw)}.app-booking-carousel{padding-left:19%;padding-right:19%}.app-booking-tools{gap:24px}.app-embed-preview{width:64%}}
@media(prefers-reduced-motion:reduce){[data-tablefy-dashboard-bg]{animation:none!important}.app-booking-slide,.app-booking-editor:before{transition:none!important}}
button.ste-link{border:0;color:var(--app-accent,#2F5BFF);background:transparent;font:inherit;padding:8px 0;min-height:36px;cursor:pointer}
.app-chat-bubble button.ste-link{font-size:12px;min-height:28px;padding:0;color:inherit}
[data-app-chat] .data-sheetnav-page-container{display:flex;flex-direction:column;min-height:calc(100dvh - 160px);padding-bottom:0}
.app-chat-page{display:flex;flex-direction:column;flex:1;min-height:calc(100dvh - 280px)}
.app-chat-page>.app-chat-messages{flex:1}
.app-chat-page>.app-chat-compose{margin-top:auto}
.app-chat-compose .ste-link{padding:10px 14px;color:var(--app-accent,#2F5BFF);background:var(--_tavo-tokens---surface--primary,#FFF)}
[data-app-info-slides][hidden]{display:none!important}

.app-plan-map{display:block;width:100%;height:220px;margin-top:16px}
[data-app-legacy-revenue][hidden]{display:none!important}
