/* ChannexPro customer-facing refinements. Provider implementation details stay server-side. */
.auth-shell-body .form-control::placeholder,
.auth-shell-body textarea::placeholder {
    font-size: .9rem;
    opacity: .72;
}
.auth-shell-body .form-control-lg::placeholder {
    font-size: .92rem;
}
.auth-shell-body button[type="submit"].btn-primary {
    font-weight: 800;
}
.property-card-link .app-card {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.property-card-link:hover .app-card {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(25, 39, 75, .09);
    border-color: #d6deed;
}
.inventory-room-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--cp-border, #e4e8f0);
}
.inventory-room-row:last-child { border-bottom: 0; }
.channel-choice-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.channel-choice {
    position: relative;
    border: 1px solid var(--cp-border, #e4e8f0);
    border-radius: .9rem;
    background: #fff;
    padding: 1rem;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.channel-choice:hover { transform: translateY(-1px); border-color: #bec9df; }
.channel-choice input { position: absolute; opacity: 0; pointer-events: none; }
.channel-choice:has(input:checked) {
    border-color: #5475bd;
    box-shadow: 0 0 0 3px rgba(84, 117, 189, .1);
    background: #f7f9ff;
}
.channel-choice .channel-check {
    width: 22px; height: 22px; border-radius: 50%; border: 1px solid #cbd3e1;
    display: grid; place-items: center; color: transparent; background: #fff;
}
.channel-choice:has(input:checked) .channel-check { background: #263a67; border-color: #263a67; color: #fff; }
.distribution-stage {
    border: 1px solid var(--cp-border, #e4e8f0);
    border-radius: .9rem;
    padding: 1rem;
    background: #fff;
    height: 100%;
}
@media (max-width: 991.98px) {
    .channel-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .channel-choice-grid { grid-template-columns: 1fr; }
    .inventory-room-row { grid-template-columns: 1fr; }
    .inventory-room-row > .text-end { text-align: left !important; }
}

/* Shared native dropdown indicator (Settings, Accommodations and other app forms).
   Some panel styles use background:#fff, which strips Bootstrap's select arrow.
   Provide one visible chevron without altering the field's own background color. */
select:not([multiple]):not([size]):not([data-hide-chevron]),
select[size="1"]:not([multiple]):not([data-hide-chevron]) {
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M2 2l6 6 6-6' fill='none' stroke='%2356627A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.9rem center !important;
    background-size: 14px 9px !important;
    padding-right: 2.65rem !important;
    cursor: pointer;
}

select:disabled:not([multiple]):not([size]) {
    cursor: not-allowed;
}

/* Keep space for the indicator on narrower controls, including the drawer. */
@supports (padding-inline-end: 2.65rem) {
    select:not([multiple]):not([size]):not([data-hide-chevron]),
    select[size="1"]:not([multiple]):not([data-hide-chevron]) {
        padding-inline-end: 2.65rem !important;
    }
}
