/* Bootstrap form-control tokens, adapted to the site's shared palette. */
.site-public {
  --bs-body-color:var(--text-heading);
  --bs-body-bg:#fff;
  --bs-secondary-color:var(--text-muted);
  --bs-secondary-bg:#f2f4f7;
  --bs-border-width:1px;
  --bs-border-color:#dce2ec;
  --bs-border-radius:8px;
  --form-focus-ring:0 0 0 3px rgb(53 104 232 / 12%);
}
.site-public .form-control {
  min-width:0;
  min-height:44px;
  padding:10px 13px;
  font-size:14px;
  font-weight:400;
  line-height:1.6;
  border:1px solid var(--bs-border-color);
  border-radius:8px;
  background:#fff;
  color:var(--text-heading);
  box-shadow:none;
}
.site-public .form-control:hover:not(:disabled):not(:focus) {border-color:#b8c3d4;}
.site-public .form-control:focus,
.site-public .form-control:focus-visible {
  border-color:var(--brand);
  outline:0;
  outline-offset:0;
  box-shadow:var(--form-focus-ring);
}
.site-public .form-control:disabled {background:var(--bs-secondary-bg);color:var(--text-muted);cursor:not-allowed;}
.site-public .form-control:user-invalid {border-color:var(--status-error);}
.site-public .form-control:user-invalid:focus {box-shadow:0 0 0 3px rgb(180 35 24 / 10%);}
.site-public .form-control::placeholder {color:var(--text-muted);font-weight:400;opacity:1;}

/* Tom Select: one 44px control, a scrollable option list, and the same focus ring. */
.site-public .ts-wrapper {min-width:0;font-size:14px;font-weight:400;color:var(--text-heading);}
.site-public .field>.ts-wrapper {margin-top:9px;}
.site-public .ts-wrapper.single .ts-control {
  min-height:44px;padding:10px 36px 10px 13px;border:1px solid var(--bs-border-color);
  border-radius:8px;background:#fff;box-shadow:none;line-height:1.6;align-items:center;
  flex-wrap:nowrap;transition:border-color .15s ease,box-shadow .15s ease;
}
.site-public .ts-control:after {
  content:'';position:absolute;right:15px;top:17px;width:7px;height:7px;
  border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);
  transform:rotate(45deg);pointer-events:none;
}
.site-public .dropdown-active .ts-control:after {transform:rotate(225deg);top:20px;}
.site-public .ts-wrapper:not(.disabled):not(.focus):hover .ts-control {border-color:#b8c3d4;}
.site-public .ts-wrapper.focus .ts-control {border-color:var(--brand);box-shadow:var(--form-focus-ring);outline:0;}
.site-public .ts-wrapper .ts-control>input {
  width:auto;min-width:0!important;font:inherit;color:var(--text-heading);border-radius:0;
}
.site-public .ts-control .item {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.site-public .ts-dropdown {
  margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:5px;
  background:#fff;color:var(--text-heading);box-shadow:0 8px 24px rgb(24 34 48 / 12%);
  font-size:14px;font-weight:400;line-height:1.6;z-index:12;
}
.site-public .ts-dropdown-content {max-height:240px;max-height:min(240px,40dvh);overscroll-behavior:contain;scrollbar-width:thin;}
.site-public .ts-dropdown .option {min-height:40px;display:flex;align-items:center;padding:9px 12px;border-radius:6px;cursor:pointer;}
.site-public .ts-dropdown .option.active {background:var(--soft);color:var(--brand);}
.site-public .ts-dropdown .option.selected {font-weight:500;color:var(--brand);}
.site-public .ts-dropdown .option.selected:after {content:'✓';margin-left:auto;padding-left:12px;}
.site-public .ts-dropdown .no-results {padding:14px 12px;color:var(--text-muted);}
.site-public .flow-drop-up .ts-dropdown {top:auto!important;bottom:calc(100% + 6px);margin-top:0;}
.site-public .ts-wrapper.disabled .ts-control {background:var(--bs-secondary-bg);opacity:.7;}
.site-public .ts-wrapper.invalid .ts-control {border-color:var(--status-error);}
.flow-project-picker>.ts-wrapper {width:200px;max-width:240px;}
.flow-project-picker .ts-control {min-height:38px!important;padding-block:7px!important;font-size:13px;}
.flow-project-picker .ts-control:after {top:14px;}
.flow-project-picker .dropdown-active .ts-control:after {top:17px;}
.flow-list-filters>.ts-wrapper {min-width:150px;}

/* Company information follows the reference's full-width, five-section form. */
.flow-company-layout {display:block;}
.flow-company-form {overflow:visible;box-shadow:0 2px 5px rgb(24 34 48 / 3%);}
.flow-company-form .flow-section-title {padding:22px 28px;min-height:80px;}
.flow-company-form .flow-section-body {padding:26px 28px 30px;}
.flow-company-form .flow-section-title h2 {font-size:18px;}
.flow-company-form .flow-section-title .btn {font-size:14px;padding:10px 14px;color:var(--text-heading);}
.flow-company-form .flow-section-title .btn svg {width:18px;height:18px;}
.flow-company-form .flow-four-fields {grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-bottom:26px;}
.flow-company-form .field {font-size:14px;font-weight:500;}
.flow-company-form .flow-area>span {display:flex;align-items:center;gap:5px;}
.flow-company-form .flow-counter {float:none;margin:0 0 0 auto;font-size:13px;}
.flow-company-form .flow-area textarea {min-height:172px;line-height:1.8;}
.flow-company-form textarea[name="audience"] {min-height:130px;}
.flow-choice-field {border:0;padding:0;margin:26px 0 0;min-width:0;}
.flow-choice-field:first-child {margin-top:0;}
.flow-choice-field legend {padding:0;color:var(--text-body);font-size:14px;font-weight:500;}
.flow-company-form .flow-choices {margin:10px 0 0;gap:12px;}
.flow-company-form .flow-choices span {font-size:14px;padding:10px 16px;border-radius:8px;border-color:transparent;}
.flow-company-form .flow-choices input:checked+span {background:var(--soft);color:var(--brand);border-color:transparent;}
.flow-company-form .flow-choices input:focus-visible+span {outline:2px solid var(--brand);outline-offset:2px;}
.flow-company-form #flow-region-field:not([hidden]) {margin-top:20px;max-width:480px;}
.flow-company-form .flow-competitor-add {flex-wrap:nowrap;margin-bottom:24px;gap:12px;}
.flow-company-form .flow-competitor-add>.form-control {flex:1;width:auto;}
.flow-company-form .flow-competitor-add .btn {flex-shrink:0;font-size:14px;padding:10px 14px;color:var(--text-heading);}
.flow-company-form .flow-competitors {margin:0;border-radius:10px;overflow:hidden;}
.flow-company-form .flow-competitors table {width:100%;min-width:0;table-layout:fixed;}
.flow-company-form .flow-competitors th {background:#f5f6f9;color:var(--text-muted);font-size:14px;padding:18px 20px;}
.flow-company-form .flow-competitors th:first-child {width:43%;}
.flow-company-form .flow-competitors th:last-child {width:80px;text-align:center;}
.flow-company-form .flow-competitors td {padding:12px 16px;}
.flow-company-form .flow-competitors td:last-child {text-align:center;}
.flow-company-form .flow-competitors>p {padding:56px 16px;margin:0;font-size:14px;}
.flow-company-form .flow-no-competitors {margin-top:16px;color:var(--text-muted);font-size:12px;}
.flow-company-form .flow-assets {border-bottom:0;}
.flow-company-form .flow-assets summary {display:flex;align-items:center;gap:12px;list-style:none;min-height:78px;padding:22px 28px;font-size:18px;}
.flow-assets summary::-webkit-details-marker {display:none;}
.flow-company-form .flow-assets summary:before {content:'';width:4px;height:22px;background:var(--brand);border-radius:8px;}
.flow-company-form .flow-assets summary small {margin:0;font-size:13px;}
.flow-assets-help {display:flex;color:var(--text-muted);}
.flow-assets-help svg {width:17px;height:17px;}
.flow-company-form .flow-assets summary>svg {margin-left:auto;transform:rotate(90deg);width:17px;color:var(--text-muted);}
.flow-company-form .flow-assets[open] summary>svg {transform:rotate(-90deg);}
.flow-company-form .flow-assets[open] summary {border-bottom:1px solid var(--line);}
.flow-company-form .flow-assets .form-grid {margin-top:22px;}
.flow-company-form .flow-savebar {border-radius:0 0 12px 12px;}

@media(max-width:1100px) and (min-width:761px) {
 .flow-company-form .flow-four-fields {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
 .site-public .form-control,.site-public .ts-wrapper,.site-public .ts-wrapper .ts-control>input {font-size:16px;}
 .site-public .ts-dropdown .option {min-height:44px;font-size:15px;}
 .flow-project-picker>.ts-wrapper {width:auto;max-width:none;flex:1;}
 .flow-project-picker .ts-control {font-size:14px;}
 .flow-company-form .flow-section-title {padding:18px 16px;min-height:72px;}
 .flow-company-form .flow-section-title h2 {font-size:17px;}
 .flow-company-form .flow-section-title .btn {font-size:12px;padding:9px 10px;}
 .flow-company-form .flow-section-body {padding:22px 16px 24px;}
 .flow-company-form .flow-four-fields {grid-template-columns:1fr;gap:20px;margin-bottom:22px;}
 .flow-company-form .flow-area textarea {min-height:152px;}
 .flow-company-form textarea[name="audience"] {min-height:130px;}
 .flow-company-form .flow-choices {gap:8px;}
 .flow-company-form .flow-choices span {font-size:13px;padding:11px 12px;}
 .flow-company-form .flow-competitor-add {flex-wrap:wrap;gap:10px;}
 .flow-company-form .flow-competitor-add>.form-control {flex-basis:100%;min-width:0;}
 .flow-company-form .flow-competitor-add .btn {font-size:13px;}
 .flow-company-form .flow-competitors th {font-size:12px;padding:14px 10px;}
 .flow-company-form .flow-competitors th:first-child {width:43%;}
 .flow-company-form .flow-competitors th:last-child {width:48px;}
 .flow-company-form .flow-competitors td {padding:10px 5px;}
 .flow-company-form .flow-competitors td input {padding:9px 7px;}
 .flow-company-form .flow-competitors td:last-child {padding-inline:2px;}
 .flow-company-form .flow-competitors>p {padding:46px 12px;font-size:13px;}
 .flow-company-form .flow-assets summary {padding:20px 16px;font-size:16px;gap:9px;}
}
@media(prefers-reduced-motion:reduce) {
 .site-public .ts-wrapper.single .ts-control {transition:none;}
}
