/* Shared searchable-select styling for portal and administration pages. */
.contact-select-searchable,.contact-multiple-select-search{position:relative;z-index:1;width:100%;min-width:0}
.contact-select-searchable:focus-within,.contact-select-searchable.is-open,.contact-multiple-select-search:focus-within{z-index:1065}
.contact-select-search-source{display:none!important}
.contact-select-search-input{width:100%;min-width:0;cursor:text;padding-inline-end:2.5rem!important}
.contact-select-search-input.is-invalid{border-color:var(--bs-form-invalid-border-color);background-color:var(--bs-danger-bg-subtle)}
.contact-select-search-options{position:absolute;inset-inline:0;top:calc(100% + .2rem);z-index:1070;max-height:17rem;overflow-y:auto;padding:.3rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.65rem;box-shadow:0 .5rem 1.25rem rgba(20,45,70,.16)}
.contact-select-search-options[hidden]{display:none}
.contact-select-search-option{padding:.5rem .65rem;border-radius:.4rem;color:var(--bs-body-color);cursor:pointer;text-align:right;line-height:1.5}
.contact-select-search-option:hover,.contact-select-search-option.active{background:var(--bs-primary-bg-subtle);color:var(--bs-primary-text-emphasis)}
.contact-select-search-option[aria-selected="true"]{font-weight:700}
.contact-select-search-empty{padding:.55rem .65rem;text-align:center;font-size:.82rem}
.contact-select-search-group + .contact-select-search-group{margin-top:.3rem;border-top:1px solid var(--bs-border-color)}
.contact-select-search-group-label{padding:.4rem .65rem;font-size:.75rem;font-weight:700;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);border-radius:.35rem}
.contact-select-search-group .contact-select-search-option{padding-inline-start:1rem}
.contact-select-searchable.is-open .contact-select-search-input{background-image:none!important}
.contact-select-search-clear{position:absolute;z-index:2;inset-inline-end:.35rem;top:50%;width:1.8rem;height:1.8rem;display:grid;place-items:center;transform:translateY(-50%);padding:0;border:0;border-radius:.4rem;background:transparent;color:var(--bs-secondary-color)}
.contact-select-search-clear:hover{background:var(--bs-danger-bg-subtle);color:var(--bs-danger)}
.contact-select-search-clear[hidden]{display:none!important}
.contact-multiple-select-search-input{margin-bottom:.4rem}
.contact-multiple-select-search-source option[hidden],.contact-multiple-select-search-source optgroup[hidden]{display:none!important}
.portal-content-card{height:100%;overflow:hidden;border:1px solid var(--bs-border-color);border-radius:.9rem;background:var(--bs-body-bg);box-shadow:0 .15rem .45rem rgba(25,45,65,.06)}
.portal-content-card>.card-header{padding:.75rem 1rem;border-bottom:1px solid var(--bs-border-color);background:var(--bs-tertiary-bg);color:var(--bs-body-color)}
.portal-content-card>.card-body{padding:1rem}
.portal-data-table{--bs-table-bg:transparent;margin-bottom:0;color:var(--bs-body-color)}
.portal-data-table thead th{padding:.7rem .75rem;white-space:nowrap;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);font-size:.82rem;font-weight:650;border-bottom:1px solid var(--bs-border-color)}
.portal-data-table tbody td{padding:.65rem .75rem;vertical-align:middle;font-size:.88rem}
.portal-data-table tbody tr:last-child td{border-bottom:0}
.portal-data-table .portal-row-actions-cell{width:1%;min-width:7rem;white-space:nowrap;text-align:center}
.portal-row-actions{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap}
.portal-icon-action{width:2.1rem;height:2.1rem;display:inline-grid;place-items:center;padding:0;border:1px solid transparent;border-radius:.65rem;background:var(--bs-tertiary-bg);color:var(--bs-secondary-color);text-decoration:none;line-height:1;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.portal-icon-action i{font-size:1rem}
.portal-icon-action:hover,.portal-icon-action:focus-visible{transform:translateY(-1px);outline:0}
.portal-icon-action--view:hover,.portal-icon-action--view:focus-visible{border-color:var(--bs-info-border-subtle);background:var(--bs-info-bg-subtle);color:var(--bs-info-text-emphasis)}
.portal-icon-action--edit:hover,.portal-icon-action--edit:focus-visible{border-color:var(--bs-primary-border-subtle);background:var(--bs-primary-bg-subtle);color:var(--bs-primary-text-emphasis)}
.portal-icon-action--delete:hover,.portal-icon-action--delete:focus-visible{border-color:var(--bs-danger-border-subtle);background:var(--bs-danger-bg-subtle);color:var(--bs-danger-text-emphasis)}
.portal-icon-action:focus-visible{box-shadow:0 0 0 .2rem var(--bs-primary-bg-subtle)}
@media(max-width:575.98px){.portal-data-table thead th,.portal-data-table tbody td{padding:.55rem .5rem}.portal-icon-action{width:1.95rem;height:1.95rem}}
.portal-controls .contact-select-searchable{position:relative;z-index:1;width:100%;min-width:0}
.portal-controls .contact-select-searchable:focus-within,.portal-controls .contact-select-searchable.is-open{z-index:1065}
.portal-controls .contact-select-search-source{display:none!important}
.portal-controls .contact-select-search-input{width:100%;min-width:0;cursor:text;padding-inline-end:2.5rem!important}
.portal-controls .contact-select-search-input.is-invalid{border-color:var(--bs-form-invalid-border-color);background-color:var(--bs-danger-bg-subtle)}
.portal-controls .contact-select-search-options{position:absolute;inset-inline:0;top:calc(100% + .2rem);z-index:1070;max-height:17rem;overflow-y:auto;padding:.3rem;background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:.65rem;box-shadow:0 .5rem 1.25rem rgba(20,45,70,.16)}
.portal-controls .contact-select-search-options[hidden]{display:none}
.portal-controls .contact-select-search-option{padding:.5rem .65rem;border-radius:.4rem;color:var(--bs-body-color);cursor:pointer;text-align:right;line-height:1.5}
.portal-controls .contact-select-search-option:hover,.portal-controls .contact-select-search-option.active{background:var(--bs-primary-bg-subtle);color:var(--bs-primary-text-emphasis)}
.portal-controls .contact-select-search-option[aria-selected="true"]{font-weight:700}
.portal-controls .contact-select-search-empty{padding:.55rem .65rem;text-align:center;font-size:.82rem}
.portal-controls .contact-select-search-group + .contact-select-search-group{margin-top:.3rem;border-top:1px solid var(--bs-border-color)}
.portal-controls .contact-select-search-group-label{padding:.4rem .65rem;font-size:.75rem;font-weight:700;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg);border-radius:.35rem}
.portal-controls .contact-select-search-group .contact-select-search-option{padding-inline-start:1rem}
.portal-controls .contact-select-searchable.is-open .contact-select-search-input{background-image:none!important}
.portal-controls .contact-select-search-clear{position:absolute;z-index:2;inset-inline-end:.35rem;top:50%;width:1.8rem;height:1.8rem;display:grid;place-items:center;transform:translateY(-50%);padding:0;border:0;border-radius:.4rem;background:transparent;color:var(--bs-secondary-color)}
.portal-controls .contact-select-search-clear:hover{background:var(--bs-danger-bg-subtle);color:var(--bs-danger)}
.portal-controls .contact-select-search-clear[hidden]{display:none!important}
