/* Shared controls for the public site and Workly's own admin forms. */
.ts-wrapper { width: 100%; min-width: 0; font: inherit; }
.ts-wrapper .ts-control { min-height: 52px; border: 1px solid #dce3ed; border-radius: 11px; padding: 14px 38px 14px 15px; background: #f7f9fc; box-shadow: none; color: #15233e; font: inherit; font-size: 14px; align-items: center; gap: 4px; }
.ts-wrapper.single .ts-control::after { content: ''; position: absolute; right: 16px; top: 21px; width: 7px; height: 7px; border-right: 1.5px solid #65748d; border-bottom: 1.5px solid #65748d; transform: rotate(45deg); }
.ts-wrapper .ts-control > input { min-height: 0; height: auto; min-width: 30px; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; font: inherit; }
.ts-wrapper.focus .ts-control { border-color: #2451e6; box-shadow: 0 0 0 3px #2451e617; }
.ts-wrapper.invalid .ts-control { border-color: #bd3849; }
.ts-wrapper .ts-dropdown { margin-top: 7px; border: 1px solid #dce3ed; border-radius: 12px; padding: 6px; box-shadow: 0 16px 36px #10255220; font: inherit; font-size: 14px; color: #15233e; z-index: 100; }
.ts-wrapper .ts-dropdown-content { max-height: 260px; }
.ts-wrapper .ts-dropdown .option { padding: 10px 12px; border-radius: 7px; }
.ts-wrapper .ts-dropdown .active { background: #edf2ff; color: #2049cc; }
.ts-wrapper .ts-dropdown .selected { background: #dff3ee; color: #155c55; }
.ts-wrapper .clear-button { right: 32px !important; font-size: 19px; }
.ts-wrapper .item { overflow-wrap: anywhere; }
.field > .ts-wrapper { margin-top: 9px; font-weight: 400; }
.workly-admin [data-location-error] { display: block; color: #b43d4b; font-size: 12px; }
.ts-wrapper.single.input-active .ts-control > .item { display: none; }
.search-location { display: flex; align-items: center; gap: 13px; min-width: 0; }
.search-location-icon { color: #71829d; font-size: 25px; flex: 0 0 auto; }
.search-location-control { flex: 1; min-width: 0; }
.search-bar .search-location-control > label { display: block; font-size: 11px; font-weight: 600; color: #6c7c94; padding: 0 12px; margin-bottom: 0; }
.search-location .ts-wrapper .ts-control { min-height: 34px; padding: 4px 38px 4px 12px; background: white; border-color: transparent; border-radius: 7px; }
.search-location .ts-wrapper.single .ts-control::after { top: 11px; }
.search-location .ts-wrapper .ts-dropdown { min-width: 100%; }
.search-location select:not(.tomselected) { width: 100%; border: 0; min-height: 36px; background: white; }
.search-bar { align-items: center; }
.search-bar .search-input { min-width: 0; min-height: 52px; }
.search-bar .search-location { align-self: stretch; }
.wf-dialog { box-sizing: border-box; width: min(430px, calc(100% - 32px)); padding: 32px; border: 1px solid #e1e8f2; border-radius: 22px; text-align: center; color: #15233e; background: white; box-shadow: 0 24px 90px #10255230; font: 15px/1.6 -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; }
.wf-dialog::backdrop { background: #10255280; backdrop-filter: blur(3px); }
.wf-dialog h2 { margin: 18px 0 10px; font-size: 22px; line-height: 1.3; color: #102552; }
.wf-dialog p { margin: 0; font-size: 14px; color: #586781; white-space: pre-line; overflow-wrap: anywhere; }
.wf-spinner { display: inline-block; width: 42px; height: 42px; border: 4px solid #e5ecff; border-top-color: #2451e6; border-radius: 50%; animation: wf-spin .75s linear infinite; }
.wf-result-icon { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #dff3ee; color: #156c5e; font-size: 28px; }
.wf-result.is-error .wf-result-icon { background: #fff0f1; color: #b82d43; }
.wf-close { display: block; width: 100%; min-height: 46px; margin-top: 24px; padding: 10px 18px; border: 0; border-radius: 10px; background: #2451e6; color: white; font: inherit; font-weight: 600; cursor: pointer; }
.wf-close:focus-visible { outline: 3px solid #46b9b3; outline-offset: 3px; }
form[aria-busy="true"] button { cursor: wait; }
@keyframes wf-spin { to { transform: rotate(360deg); } }
@media (max-width: 620px) {
    .search-bar .search-location { flex: 1 0 100%; width: 100%; padding: 10px 0 10px 10px; min-width: 0; }
    .search-bar .search-location-control > label { width: auto; min-height: 0; }
    .wf-dialog { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) { .wf-spinner { animation: none; } }
