.accommodation-dashboard-tile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    margin: 0 0 22px;
    padding: 22px 26px;
    border-radius: 22px;
    background: #fff;
    color: #1f2937;
    text-decoration: none;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .24);
}
.accommodation-dashboard-tile:hover { outline: 3px solid rgba(13, 110, 253, .25); }
.accommodation-dashboard-tile strong,
.accommodation-dashboard-tile small { display: block; }
.accommodation-dashboard-tile strong { margin-bottom: 4px; color: var(--navy); font-size: 1.2rem; }
.accommodation-dashboard-tile small { color: var(--muted); line-height: 1.4; }
.accommodation-dashboard-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: #eef4ff;
    color: #1849a9;
    font-size: 1.7rem;
    font-weight: 800;
}
.accommodation-dashboard-tile .field-chevron { color: #475467; font-size: 1.8rem; }
.hotel-logo-preview {
    display: flex;
    width: 100%;
    max-width: 540px;
    aspect-ratio: 3 / 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #d0d5dd;
    border-radius: 14px;
    background: #fff;
}
.hotel-logo-preview img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hotel-effective-value { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #f5f7fb; color: #475467; }
.hotel-scope-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.hotel-scope-actions .button { margin-top: 0; }
.hotel-tags-dashboard-card { margin-top: 22px; }
.hotel-create-panel[hidden], [data-style-panel][hidden], [data-style-inherited][hidden], [data-field-inputs][hidden], [data-translation-panel][hidden] { display: none !important; }
.hotel-organization-list, .hotel-user-list { display: grid; gap: 14px; }
.hotel-organization-block { margin-top: 0; }
.hotel-organization-block > summary { cursor: pointer; display:flex; align-items:center; gap:12px; }
.hotel-organization-block > summary::-webkit-details-marker { display:none; }
.hotel-organization-block > summary::before { content:'›'; flex:0 0 auto; font-size:1.45rem; font-weight:800; line-height:1; transition:transform .18s ease; }
.hotel-organization-block[open] > summary::before { transform:rotate(90deg); }
.hotel-organization-block > summary span { display: flex; flex-direction: column; gap: 4px; }
.hotel-organization-block > summary small, .hotel-accommodation-link small { color: var(--muted); font-weight: 400; }
.hotel-organization-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 14px 0; }
.hotel-organization-actions .button { margin: 0; }
.hotel-accommodation-links { display: grid; gap: 9px; }
.hotel-accommodation-link { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border: 1px solid #dfe5ee; border-radius: 12px; color: inherit; text-decoration: none; background: #fff; }
.hotel-accommodation-link:hover { border-color: #1769ff; background: #f5f8ff; }
.hotel-accommodation-link span:first-child { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.hotel-accommodation-link span:last-child { color: #1849a9; font-size: 1.8rem; }
.hotel-style-setting { padding: 16px 0; border-bottom: 1px solid #e5e7eb; }
.hotel-style-setting:last-of-type { border-bottom: 0; }
.toggle { display:flex; align-items:center; gap:11px; margin:10px 0; cursor:pointer; font-weight:700; }
.toggle input { position:absolute; opacity:0; width:1px; height:1px; }
.toggle > span:first-of-type { position:relative; flex:0 0 48px; width:48px; height:28px; border-radius:999px; background:#98a2b3; transition:background .18s ease; }
.toggle > span:first-of-type::after { content:''; position:absolute; width:22px; height:22px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.28); transition:transform .18s ease; }
.toggle input:checked + span { background:#1570ef; }
.toggle input:checked + span::after { transform:translateX(20px); }
.toggle input:focus-visible + span { outline:3px solid #84adff; outline-offset:2px; }
.toggle-stack { display:flex; flex-direction:column; align-items:flex-start; gap:2px; margin:12px 0; }
.phone-input-row { display:grid; grid-template-columns:minmax(130px,.45fr) minmax(180px,1fr); gap:10px; align-items:end; }
.sortable-hotel-field { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; }
.sortable-hotel-field > details { margin:0; width:100%; }
.hotel-field-drag { margin-top:12px; width:auto; min-width:44px; padding:8px; cursor:grab; }
.hotel-sortable-summary { display:flex; align-items:center; gap:12px; list-style:none; }
.hotel-sortable-summary::-webkit-details-marker { display:none; }
.hotel-sortable-summary .hotel-field-drag { flex:0 0 44px; margin:0; touch-action:none; user-select:none; }
.hotel-sort-status { margin-top:12px; }
.hotel-inherited-preview { margin-top: 12px; }
.hotel-color-swatch { display: inline-block; width: 58px; height: 40px; border: 1px solid #d0d5dd; border-radius: 10px; background: var(--swatch); vertical-align: middle; }
.hotel-user-filters { display: grid; grid-template-columns: minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto; gap: 12px; align-items: end; }
.hotel-user-filters button { margin-bottom: 0; }
.hotel-user-list .inline-form { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.hotel-user-list .inline-form select, .hotel-user-list .inline-form button { width: auto; margin: 0; }
@media (max-width: 640px) {
    .accommodation-dashboard-tile { gap: 12px; padding: 18px 20px; border-radius: 17px; }
    .accommodation-dashboard-icon { width: 42px; height: 42px; }
    .accommodation-dashboard-tile strong { font-size: 1.08rem; }
    .hotel-user-filters { grid-template-columns: 1fr; }
    .hotel-user-list .page-heading-actions { display: block; }
    .hotel-user-list .inline-form select, .hotel-user-list .inline-form button { width: 100%; }
    .phone-input-row { grid-template-columns:1fr; }
}
