/* Shared Ratio tabs; JavaScript owns their interaction behavior. */
/* Keep the scroll footprint constant; the inner navigation reaches the header naturally. */
.tabs-sticky{--tabs-top-padding:8px;position:sticky;z-index:12;top:calc(var(--tabs-sticky-top,65px) - var(--tabs-top-padding));width:100%;min-width:0;max-width:100%;padding:var(--tabs-top-padding) 0 8px;isolation:isolate}
[data-tabs]{min-width:0}
.tabs-sticky::before{position:absolute;z-index:-1;inset:0 -8px;border-radius:calc(var(--radius) + 3px);background:var(--background);content:""}
.tabs-sticky::after{position:absolute;right:0;bottom:-11px;left:0;height:11px;background:linear-gradient(to bottom,rgba(7,23,39,.16),rgba(7,23,39,0));content:"";opacity:0;pointer-events:none;transition:opacity .18s ease}
.tabs-nav{--tabs-current-item-width:var(--tabs-item-width,122px);display:flex;width:max-content;max-width:100%;height:46px;padding:0;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:none;scrollbar-width:none;-ms-overflow-style:none;transition:border-color .16s ease,border-radius .16s ease}.tabs-nav::-webkit-scrollbar{display:none;width:0;height:0}
.tabs-nav button{position:relative;flex:0 0 var(--tabs-item-width,122px);width:var(--tabs-item-width,122px);height:44px;min-height:44px;padding:0 10px;border:0;border-right:1px solid #d7e0e7;border-radius:0;background:transparent;color:#73889a;box-shadow:none;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer}
.tabs-nav button:first-child{border-left:0}.tabs-nav button:last-child{border-right:0}.tabs-nav button:hover{background:#f7fafc;color:var(--navy-900)}
.tabs-nav button.active,.tabs-nav button[aria-selected="true"]{background:#fffaf1;color:var(--navy-900);font-weight:750;box-shadow:none}.tabs-nav button.active::after,.tabs-nav button[aria-selected="true"]::after{position:absolute;right:9px;bottom:0;left:9px;height:3px;border-radius:3px 3px 0 0;background:var(--accent);content:""}
/* Required validation stays calm while making every affected field and tab unmistakable. */
.required-validation-message{display:grid;gap:3px;margin:4px 0 10px;padding:11px 14px;border:1px solid #e7aaa6;border-radius:8px;background:#fff7f6;color:#8f2e29;font-size:11.5px;line-height:1.45;box-shadow:0 2px 7px rgba(143,46,41,.05)}.required-validation-message[hidden]{display:none}.required-validation-message strong{font-size:12px;font-weight:800}.required-validation-message span{color:#9b413b}
.tabs-nav button.has-validation-error{background:#fff8f7;color:#a53b35}.tabs-nav button.has-validation-error::after,.tabs-nav button.has-validation-error.active::after,.tabs-nav button.has-validation-error[aria-selected="true"]::after{position:absolute;right:9px;bottom:0;left:9px;height:3px;border-radius:3px 3px 0 0;background:var(--danger);content:""}
.ratio-field-invalid:not([type="checkbox"]):not([type="radio"]){border-color:#d76f69!important;background-color:#fff9f8!important;box-shadow:0 0 0 3px rgba(201,66,66,.09)!important}.ratio-field-invalid[type="checkbox"],.ratio-field-invalid[type="radio"]{outline:2px solid rgba(201,66,66,.5);outline-offset:2px}.ratio-field-invalid:focus{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(201,66,66,.14)!important}.ratio-field-invalid-label{color:#a53b35!important}
.tabs-sticky.is-stuck::before{right:-30px;left:-30px;border-radius:0;background:var(--background)}
.tabs-sticky.is-stuck::after{opacity:1}
.app-main:has(.tabs-sticky.is-stuck)>.topbar{border-bottom-color:#d7e0e7}
/* Clip every tab background to the same circular bottom corners as the SVG border. */
.tabs-sticky.is-stuck .tabs-nav{border-color:transparent;border-radius:0 0 10px 10px;transition:none}
.first-tab-active .tabs-sticky.is-stuck .tabs-nav{background:linear-gradient(to right,#fffaf1 0 var(--tabs-current-item-width),#fff var(--tabs-current-item-width) 100%)}.last-tab-active .tabs-sticky.is-stuck .tabs-nav{background:linear-gradient(to left,#fffaf1 0 var(--tabs-current-item-width),#fff var(--tabs-current-item-width) 100%)}
.tabs-join-corner{position:absolute;z-index:1;top:var(--tabs-top-padding);width:34px;height:46px;opacity:0;overflow:hidden;pointer-events:none;transition:opacity .16s ease}.tabs-sticky.is-stuck .tabs-join-corner{opacity:1}.tabs-join-corner-left{left:-24px}.tabs-join-corner-right{left:calc(var(--tabs-nav-width,100%) - 10px)}.tabs-join-corner svg{display:block;width:100%;height:100%;overflow:hidden}.tabs-corner-fill{fill:#fff;stroke:none;transition:fill .15s ease}.tabs-corner-line{display:none}.first-tab-active .tabs-join-corner-left .tabs-corner-fill,.last-tab-active .tabs-join-corner-right .tabs-corner-fill{fill:#fffaf1}
.tabs-sticky-outline{position:absolute;z-index:3;top:var(--tabs-top-padding);left:-24px;height:46px;overflow:visible;opacity:0;fill:none;stroke:#d7e0e7;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;pointer-events:none;transition:opacity .16s ease}.tabs-sticky.is-stuck .tabs-sticky-outline{opacity:1}
[data-tabs].tabs-ready [data-tab-panel][hidden],[data-tabs].tabs-ready>section.card[hidden]{display:none}
.tabs-sticky.tabs-overflowing .tabs-nav{width:100%;height:53px;max-width:100%;overflow-x:scroll;overflow-y:hidden;border-radius:0;scrollbar-width:thin;scrollbar-color:#9fb1bf #eef3f6;overscroll-behavior-x:contain}.tabs-sticky.tabs-overflowing .tabs-nav::-webkit-scrollbar{display:block;width:auto;height:7px}.tabs-sticky.tabs-overflowing .tabs-nav::-webkit-scrollbar-track{background:#eef3f6}.tabs-sticky.tabs-overflowing .tabs-nav::-webkit-scrollbar-thumb{border:1px solid #eef3f6;border-radius:6px;background:#9fb1bf}.tabs-sticky.tabs-overflowing .tabs-nav button:first-child,.tabs-sticky.tabs-overflowing .tabs-nav button:last-child{border-radius:0}.tabs-sticky.tabs-overflowing .tabs-join-corner,.tabs-sticky.tabs-overflowing .tabs-sticky-outline{display:none}.tabs-sticky.tabs-overflowing.is-stuck .tabs-nav{border-color:var(--border);border-right:0;border-left:0;border-radius:0}
@media(max-width:850px){.tabs-nav{--tabs-current-item-width:var(--tabs-item-width-mobile,112px)}.tabs-nav button{flex-basis:var(--tabs-item-width-mobile,112px);width:var(--tabs-item-width-mobile,112px);height:44px;min-height:44px;padding:0 8px}.tabs-sticky.is-stuck::before{right:-18px;left:-18px}}
@media(max-width:620px){.tabs-sticky.is-stuck::before{right:-14px;left:-14px}}
