:root {
    --sidebar-bg: #0f172a;
    --sidebar-hover: #1e293b;
    --primary: #2563eb;
    --border: #e5e7eb;
    --bg: #f4f6f9;
    --card-bg: #ffffff;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Inter, Arial, sans-serif;
    background: var(--bg);
}

.layout {
    display: flex;
    min-height: 100vh;
}

.content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.sidebar {

    width: 260px;

    background: #0f172a;

    color: white;

    min-height: 100vh;

    transition: width .25s ease;

    overflow: visible;

    position: relative;
}

.sidebar.collapsed {
    width: 80px;
}

.sidebar-header {

    height: 72px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 20px;
}

.logo-text {
    margin: 0;
}

.sidebar-toggle {

    background: transparent;

    border: none;

    color: white;

    font-size: 24px;

    cursor: pointer;
}

.sidebar-nav {
    padding: 10px;
}

.sidebar-nav a {

    position: relative;

    display: flex;

    align-items: center;

    gap: 14px;

    padding: 14px;

    margin-bottom: 6px;

    border-radius: 10px;

    text-decoration: none;

    color: white;

    transition: .2s;
}

.sidebar-nav a:hover {
    background: #1e293b;
}

.sidebar-nav a.active {
    background: #2563eb;
}

.icon {
    min-width: 24px;
    text-align: center;
}

.label {
    white-space: nowrap;
}

.sidebar.collapsed .label {
    display: none;
}

.sidebar.collapsed .logo-text {
    display: none;
}

.sidebar.collapsed .sidebar-nav a {
    justify-content: center;
}

/* TOOLTIP */
.tooltip {

    position: absolute;

    left: calc(100% + 12px);

    top: 50%;

    transform: translateY(-50%);

    background: #111827;

    color: #fff;

    padding: 8px 12px;

    border-radius: 8px;

    font-size: 13px;

    white-space: nowrap;

    opacity: 0;

    visibility: hidden;

    transition: .2s;

    z-index: 99999;
}

.sidebar-nav a:hover .tooltip {

    opacity: 1;

    visibility: visible;
}

/*
.tooltip {

    position: absolute;

    left: 85px;

    top: 50%;

    transform: translateY(-50%);

    background: #111827;

    color: white;

    padding: 8px 12px;

    border-radius: 8px;

    white-space: nowrap;

    font-size: 13px;

    opacity: 0;

    visibility: hidden;

    transition: .2s ease;

    z-index: 999999;

    pointer-events: none;

    box-shadow:
        0 10px 25px rgba(0,0,0,.25);
}
*/
/* show tooltip ONLY collapsed */
/*
.sidebar.collapsed .sidebar-nav a:hover .tooltip {

    opacity: 1;

    visibility: visible;
}
*/
/* hide tooltip expanded */
/*
.sidebar:not(.collapsed) .tooltip {
    display: none;
}
*/
/* NAVBAR */

.navbar {

    height: 72px;

    background: white;

    display: flex;

    align-items: center;

    padding: 0 24px;

    border-bottom: 1px solid var(--border);

    font-size: 22px;

    font-weight: 600;
}

/* DASHBOARD */

.dashboard-container {
    padding: 32px;
}

.stats-grid {

    display: grid;

    grid-template-columns:
        repeat(3,minmax(250px,1fr));

    gap: 24px;

    margin-bottom: 24px;
}

.stat-card {

    background: white;

    padding: 24px;

    border-radius: 14px;

    box-shadow:
        0 2px 10px rgba(0,0,0,.06);
}

.card {

    background: white;

    padding: 24px;

    border-radius: 14px;

    box-shadow:
        0 2px 10px rgba(0,0,0,.06);
}

button {

    background: #2563eb;

    color: white;

    border: none;

    border-radius: 8px;

    padding: 12px 18px;

    cursor: pointer;
}

pre {

    margin-top: 20px;

    background: #f1f5f9;

    padding: 15px;

    border-radius: 8px;
}


.data-table {
    width: 100%;
    border-collapse: collapse;

}

.data-table th,
.data-table td {
    padding: 14px;
    border-bottom: 1px solid var(--border);
    text-align: left;
}

.data-table th {
    background: #f8fafc;
    font-weight: 700;
}

.data-table tr:hover {
    background: #f9fafb;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}

.data-table th,
.data-table td {
    padding: 14px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.data-table th {
    background: #f8fafc;
    font-weight: 700;
}

.data-table tr:hover {
    background: #f9fafb;
}

.data-table thead tr {

    background:#0f172a;
}

.data-table thead th {

    color:#ffffff;

    font-weight:700;

    text-align:left;

    padding:14px;

    border-bottom:1px solid #1e293b;
}

.data-table tbody td {

    padding:14px;

    border-bottom:1px solid #e5e7eb;
}

/* alternating rows */

.data-table tbody tr:nth-child(odd) {

    background:#ffffff;
}

.data-table tbody tr:nth-child(even) {

    background:#f8fafc;
}

.data-table tbody tr:hover {

    background:#e0f2fe;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
}

.form-grid textarea {
    min-height: 90px;
}

.form-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: white;
}

.form-grid textarea {
    min-height: 90px;
}

.form-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.action-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.small-btn {
    display: inline-block;
    background: var(--primary);
    color: white;
    border: 0;
    border-radius: 8px;
    padding: 8px 10px;
    text-decoration: none;
    cursor: pointer;
    font-size: 13px;
}

.danger-btn {
    background: #dc2626;
}

.export-row {
    display: flex;
    gap: 10px;
    margin: 16px 0;
    flex-wrap: wrap;
}

/* =======================================================
   GLOBAL TABLES
======================================================= */

.data-table,
table {

    width: 100%;

    border-collapse: collapse;

    background: #ffffff;
}

.data-table th,
.data-table td,
table th,
table td {

    padding: 12px 16px;

    border-bottom: 1px solid #e5e7eb;

    text-align: left;
}

/* Header */

.data-table thead tr,
table thead tr {

    background: #0f172a;

    color: #ffffff;
}

/* Zebra rows */

.data-table tbody tr:nth-child(odd),
table tbody tr:nth-child(odd) {

    background: #ffffff;
}

.data-table tbody tr:nth-child(even),
table tbody tr:nth-child(even) {

    background: #f8fafc;
}

/* Hover */

.data-table tbody tr:hover,
table tbody tr:hover {

    background: #dbeafe;
}

/* Active selected row */

.data-table tbody tr.selected,
table tbody tr.selected {

    background: #bfdbfe;
}

/* =======================================================
   UNIVERSAL ADMIN UI
======================================================= */

.page-header {

    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:24px;
    gap:20px;
    flex-wrap:wrap;
}

.page-title {

    margin:0;
    font-size:28px;
    font-weight:700;
}

.page-actions {

    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.btn {

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:10px 18px;

    border:none;

    border-radius:10px;

    text-decoration:none;

    cursor:pointer;

    font-weight:600;
}

.btn-primary {

    background:#2563eb;
    color:#ffffff;
}

.btn-success {

    background:#16a34a;
    color:#ffffff;
}

.btn-danger {

    background:#dc2626;
    color:#ffffff;
}

.btn-warning {

    background:#ea580c;
    color:#ffffff;
}

.btn-secondary {

    background:#475569;
    color:#ffffff;
}

.form-grid {

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(250px,1fr));

    gap:16px;
}

.form-group {

    display:flex;

    flex-direction:column;

    gap:8px;
}

.form-group label {

    font-weight:600;
}

.form-group input,
.form-group textarea,
.form-group select {

    width:100%;

    padding:12px;

    border:1px solid #cbd5e1;

    border-radius:10px;
}

.table-toolbar {

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

    gap:16px;

    flex-wrap:wrap;
}

.table-search {

    width:350px;
    max-width:100%;
}

.table-search input {

    width:100%;

    padding:12px;

    border:1px solid #cbd5e1;

    border-radius:10px;
}

.card:nth-child(odd) {

    background:#ffffff;
}

.card:nth-child(even) {

    background:#f8fafc;
}

.badge {

    display:inline-block;

    padding:4px 10px;

    border-radius:999px;

    font-size:12px;

    font-weight:600;
}

.badge-success {

    background:#dcfce7;

    color:#166534;
}

.badge-danger {

    background:#fee2e2;

    color:#991b1b;
}

.badge-warning {

    background:#ffedd5;

    color:#9a3412;
}

.badge-info {

    background:#dbeafe;

    color:#1d4ed8;
}

.section-spacing {

    margin-top:24px;
}

/* FINAL TABLE HEADER OVERRIDE */
.data-table thead th,
table thead th {
    background: #0f172a !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

.data-table tbody tr:nth-child(odd),
table tbody tr:nth-child(odd) {
    background: #ffffff !important;
}

.data-table tbody tr:nth-child(even),
table tbody tr:nth-child(even) {
    background: #f1f5f9 !important;
}

.data-table tbody tr:hover,
table tbody tr:hover {
    background: #dbeafe !important;
}

.navbar-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
}

.navbar-actions a {
    text-decoration: none;
    color: #0f172a;
    font-weight: 700;
}

.cart-link {
    position: relative;
    background: #f1f5f9;
    padding: 8px 14px;
    border-radius: 999px;
}

.cart-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    margin-left: 6px;
    background: #dc2626;
    color: white;
    border-radius: 999px;
    font-size: 12px;
}

.active-lang {
    color: #2563eb !important;
}

.media-thumb {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    display: block;
}

.form-error {
    border-left: 4px solid #dc2626;
    color: #991b1b;
}

.form-success {
    border-left: 4px solid #16a34a;
    color: #166534;
}

.shop-category-grid,
.shop-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 20px;
}

.shop-category-card,
.shop-product-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px;
    text-decoration: none;
    color: #0f172a;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.shop-category-image,
.shop-product-image {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 10px;
    margin-bottom: 12px;
}

.shop-category-banner {
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 18px;
}

.shop-product-detail {
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr;
    gap: 28px;
}

.shop-product-detail-image {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    border-radius: 14px;
}

@media (max-width: 850px) {
    .shop-product-detail {
        grid-template-columns: 1fr;
    }
}

.gallery-management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 18px;
}

.gallery-management-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
}

.gallery-management-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 9px;
    border: 1px solid #e2e8f0;
}

.gallery-role {
    font-weight: 700;
    color: #1d4ed8;
    min-height: 22px;
}

.gallery-sort-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: end;
}

.gallery-sort-form label {
    grid-column: 1 / -1;
    font-weight: 600;
}

.gallery-sort-form input {
    min-width: 0;
    padding: 8px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
}

.shop-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.shop-gallery-thumb {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
}

.gallery-management-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 18px;
}

.gallery-management-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
}

.gallery-management-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 9px;
    border: 1px solid #e2e8f0;
}

.gallery-role {
    font-weight: 700;
    color: #1d4ed8;
    min-height: 22px;
}

.gallery-sort-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: end;
}

.gallery-sort-form label {
    grid-column: 1 / -1;
    font-weight: 600;
}

.gallery-sort-form input {
    min-width: 0;
    padding: 8px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
}

.shop-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.shop-gallery-thumb {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
}

.bit-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.bit-dropzone {
    min-height: 110px;
    padding: 22px;
    border: 2px dashed #94a3b8;
    border-radius: 10px;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    transition: .18s ease;
}

.bit-dropzone:hover,
.bit-dropzone.dragging {
    border-color: #2563eb;
    background: #eff6ff;
}

.bit-dropzone-details {
    color: #475569;
    font-size: 13px;
    word-break: break-word;
}

.platform-brand-strip {
    min-height: 52px;
    margin: 0 0 20px;
    padding: 9px 16px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.platform-brand-left,
.platform-brand-right,
.tenant-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.platform-brand-right {
    flex-wrap: wrap;
    justify-content: flex-end;
    font-size: 13px;
}

.platform-brand-right a {
    color: #1d4ed8;
    text-decoration: none;
    font-weight: 700;
}

.brand-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.platform-wordmark {
    color: #2563eb;
    font-size: 18px;
}

.platform-logo,
.tenant-logo {
    object-fit: contain;
    background: #ffffff;
    border-radius: 6px;
}

.platform-logo {
    width: 120px;
    height: 34px;
}

.tenant-logo {
    width: 34px;
    height: 34px;
    border: 1px solid #dbe3ef;
}

.brand-divider {
    width: 1px;
    height: 28px;
    background: #cbd5e1;
}

.logout-form {
    margin: 0;
}

.logout-form button {
    border: 0;
    background: transparent;
    color: #b91c1c;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

@media (max-width: 760px) {
    .platform-brand-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .platform-brand-right {
        justify-content: flex-start;
    }
}

.platform-brand-strip {
    min-height: 64px;
    margin: 0 0 20px;
    padding: 10px 14px;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.platform-brand-left,
.platform-brand-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.platform-brand-right {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.platform-toggle,
.platform-action {
    min-height: 38px;
    border: 0;
    border-radius: 8px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 800;
    text-decoration: none !important;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
}

.platform-toggle {
    background: #0f172a;
    color: #ffffff;
    font-size: 18px;
}

.platform-action {
    color: #ffffff !important;
    font-size: 13px;
}

.action-help { background: #2563eb; }
.action-profile { background: #475569; }
.action-tenant { background: #0f766e; }
.action-core { background: #7c3aed; }
.action-logout { background: #b91c1c; }

.platform-action:hover,
.platform-toggle:hover {
    filter: brightness(.92);
}

.platform-action::after,
.platform-toggle::after,
.platform-logo-link::after,
.tenant-brand::after {
    content: attr(data-tooltip);
    position: absolute;
    z-index: 1000;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 260px;
    padding: 8px 10px;
    border-radius: 7px;
    background: #0f172a;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease;
    white-space: normal;
}

.platform-action:hover::after,
.platform-toggle:hover::after,
.platform-logo-link:hover::after,
.tenant-brand:hover::after {
    opacity: 1;
}

.platform-logo-link,
.tenant-brand {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #0f172a;
    font-weight: 800;
}

.platform-logo {
    width: 122px;
    height: 36px;
    object-fit: contain;
}

.platform-wordmark {
    color: #2563eb;
    font-size: 20px;
}

.tenant-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
    border: 1px solid #dbe3ef;
    border-radius: 7px;
}

.logout-form {
    margin: 0;
}

.platform-brand-strip.is-collapsed .platform-label {
    display: none;
}

.platform-brand-strip.is-collapsed .platform-action {
    width: 38px;
    padding: 0;
}

.platform-brand-strip.is-collapsed .tenant-brand {
    width: 38px;
}

.platform-brand-strip.is-collapsed .tenant-logo {
    margin: 0;
}

@media (max-width: 900px) {
    .platform-brand-strip {
        align-items: flex-start;
        flex-direction: column;
    }

    .platform-brand-right {
        justify-content: flex-start;
    }
}

.action-media {
    background: #0369a1;
}

.media-status {
    display: inline-block;
    padding: 5px 8px;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.media-status-available { background: #15803d; }
.media-status-scanning { background: #2563eb; }
.media-status-quarantined { background: #b45309; }
.media-status-rejected { background: #b91c1c; }
.media-status-failed { background: #7c2d12; }

.media-status-description {
    margin-top: 5px;
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
}

.media-private {
    color: #64748b;
    font-weight: 700;
    font-size: 12px;
}

.action-leave {
    background: #9a3412;
}

.bitcore-form-progress {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 23, 42, .48);
}

.bitcore-form-progress.is-visible {
    display: flex;
}

.bitcore-form-progress-card {
    width: min(100%, 460px);
    padding: 22px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .28);
}

.bitcore-form-progress-card p {
    margin: 14px 0 0;
    color: #0f172a;
    font-weight: 800;
}

.bitcore-form-progress-track {
    height: 10px;
    overflow: hidden;
    border-radius: 99px;
    background: #dbeafe;
}

.bitcore-form-progress-bar {
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
    animation: bitcore-progress 1.1s ease-in-out infinite;
}

@keyframes bitcore-progress {
    0% { transform: translateX(-120%); }
    100% { transform: translateX(310%); }
}

.inline-action-form {
    display: inline;
    margin: 0;
}

.retry-scan-btn {
    border: 0;
    background: #b45309;
    color: #ffffff;
    cursor: pointer;
    font-weight: 800;
}

.retry-scan-btn:hover {
    background: #92400e;
}

.action-leave { background: #9a3412; }
.action-platform-media { background: #4338ca; }

.platform-active-tenant {
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
}

.platform-super-mode {
    color: #7c3aed;
}

.media-library-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.media-tenant-selector {
    margin: 0;
}

.media-limit-note {
    padding: 12px;
    border-left: 4px solid #2563eb;
    background: #eff6ff;
    color: #1e3a8a;
    line-height: 1.5;
}

.media-edit-details {
    display: inline-block;
    margin: 8px 0;
}

.media-edit-details summary {
    cursor: pointer;
    color: #1d4ed8;
    font-weight: 800;
}

.compact-form {
    width: 250px;
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #dbe3ef;
    border-radius: 8px;
    background: #f8fafc;
}

.compact-form label,
.compact-form input {
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

.delete-media-btn {
    border: 0;
    background: #b91c1c;
    color: #ffffff;
    cursor: pointer;
    font-weight: 800;
}

.action-logout {
    background: #b91c1c;
    color: #ffffff;
    border: 0;
    cursor: pointer;
    font-weight: 800;
}

.platform-brand-strip {
    display: grid !important;
    grid-template-columns: minmax(220px, max-content) minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    overflow: visible !important;
}

.platform-brand-right {
    display: flex !important;
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: wrap !important;
    justify-content: flex-end;
    gap: 10px;
}

.platform-inline-form {
    display: inline-flex;
    margin: 0;
}

button.platform-action {
    appearance: none;
    border: 0 !important;
    color: #ffffff !important;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 8px;
    font-weight: 800;
    cursor: pointer;
}

.action-help { background: #2563eb !important; }
.action-media { background: #0369a1 !important; }
.action-profile { background: #475569 !important; }
.action-tenant { background: #0f766e !important; }
.action-leave { background: #9a3412 !important; }
.action-core { background: #7c3aed !important; }
.action-platform-media { background: #4338ca !important; }
.action-logout { background: #b91c1c !important; }

@media (max-width: 1250px) {
    .platform-brand-strip {
        grid-template-columns: 1fr;
    }

    .platform-brand-right {
        justify-content: flex-start;
    }
}

button.is-disabled,
input.is-disabled {
    opacity: .45;
    cursor: not-allowed;
}

.gallery-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.gallery-main-wrap {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    background: #f8fafc;
}

.gallery-main-image {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: contain;
}

.gallery-main-placeholder {
    color: #64748b;
    font-weight: 800;
}

.gallery-nav {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    background: rgba(15, 23, 42, .76);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.gallery-prev { left: 14px; }
.gallery-next { right: 14px; }

.gallery-thumbnails {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 16px 0;
}

.gallery-thumbnail-card {
    min-width: 116px;
    padding: 8px;
    border: 2px solid transparent;
    border-radius: 9px;
    background: #f8fafc;
}

.gallery-thumbnail-card.is-selected {
    border-color: #2563eb;
    background: #eff6ff;
}

.gallery-thumbnail-button {
    width: 96px;
    height: 82px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
}

.gallery-thumbnail-button img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-thumbnail-pending {
    width: 96px;
    height: 82px;
    display: grid;
    place-items: center;
    border-radius: 6px;
    background: #e2e8f0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}

.gallery-thumbnail-card small {
    display: block;
    margin: 6px 0;
    color: #475569;
    font-weight: 800;
    text-transform: capitalize;
}

.gallery-remove-form {
    margin: 0;
}

@media (max-width: 720px) {
    .gallery-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .gallery-main-wrap {
        min-height: 280px;
    }
}


/* BITCORE_ADMIN_UI_CORE */

#platform-bar [data-tooltip]::after {
    content: none !important;
    display: none !important;
}

.platform-brand-strip {
    display: grid !important;
    grid-template-columns: minmax(250px, max-content) minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    overflow: visible !important;
}

.platform-brand-right {
    display: flex !important;
    min-width: 0;
    flex-wrap: wrap !important;
    justify-content: flex-end;
    gap: 10px;
}

.platform-inline-form {
    display: inline-flex !important;
    margin: 0 !important;
}

#platform-bar button.platform-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 14px;
    border: 0 !important;
    border-radius: 8px;
    color: #ffffff !important;
    font-weight: 800;
    cursor: pointer;
}

#platform-bar .action-help { background: #2563eb !important; }
#platform-bar .action-media { background: #0369a1 !important; }
#platform-bar .action-profile { background: #475569 !important; }
#platform-bar .action-tenant { background: #0f766e !important; }
#platform-bar .action-leave { background: #9a3412 !important; }
#platform-bar .action-core { background: #7c3aed !important; }
#platform-bar .action-platform-media { background: #4338ca !important; }
#platform-bar .action-logout { background: #b91c1c !important; }

.bitcore-tooltip {
    position: fixed;
    z-index: 30000;
    max-width: 280px;
    padding: 8px 10px;
    border-radius: 7px;
    background: #0f172a;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%);
    transition: opacity .12s ease;
}

.bitcore-tooltip.is-visible {
    opacity: 1;
}

.bitcore-table-toolbar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px;
}

.bitcore-table-search,
.bitcore-menu-search {
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 7px;
    background: #ffffff;
}

.bitcore-sortable {
    cursor: pointer;
    user-select: none;
}

.bitcore-sortable:hover {
    background: #1e293b;
}

.bitcore-menu-search {
    width: calc(100% - 20px);
    margin: 10px;
}

button.is-disabled,
input.is-disabled {
    opacity: .45;
    cursor: not-allowed;
}

@media (max-width: 1240px) {
    .platform-brand-strip {
        grid-template-columns: 1fr;
    }

    .platform-brand-right {
        justify-content: flex-start;
    }
}


/* BITHOMES_PLATFORM_FOOTER */

.content {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.content > .dashboard-container,
.content > .page-container {
    flex: 1 0 auto;
}

.bithomes-footer {
    margin-top: auto;
    padding: 22px 26px;
    border-top: 1px solid #dbe3ef;
    background: #ffffff;
    color: #475569;
    font-size: 13px;
}

.bithomes-footer-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

.bithomes-footer-main p {
    margin: 4px 0 0;
}

.bithomes-footer-links,
.bithomes-footer-social {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.bithomes-footer a {
    color: #2563eb;
    font-weight: 700;
    text-decoration: none;
}

.bithomes-footer a:hover {
    text-decoration: underline;
}

.bithomes-legal-page {
    margin: 0;
    background: #f1f5f9;
    color: #0f172a;
    font-family: Arial, sans-serif;
}

.bithomes-legal-shell {
    width: min(900px, calc(100% - 32px));
    margin: 40px auto;
}

.bithomes-legal-brand {
    display: inline-block;
    margin-bottom: 18px;
    color: #2563eb;
    font-size: 24px;
    font-weight: 900;
    text-decoration: none;
}

.bithomes-legal-card {
    padding: 32px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .08);
}

.bithomes-legal-content {
    line-height: 1.7;
}

.bithomes-legal-editor {
    margin: 12px 0;
    padding: 14px;
    border: 1px solid #dbe3ef;
    border-radius: 9px;
    background: #f8fafc;
}

.bithomes-legal-editor summary {
    cursor: pointer;
    color: #1e3a8a;
    font-weight: 800;
}

@media (max-width: 720px) {
    .bithomes-footer {
        padding: 18px;
    }
}


/* BITHOMES_COMMERCIAL_V2 */
.document-items-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.document-item-row { display:grid; grid-template-columns: minmax(170px,2fr) minmax(140px,2fr) 90px 120px 100px 90px auto; gap:8px; align-items:center; margin:10px 0; padding:10px; border:1px solid #dbe3ef; border-radius:8px; background:#f8fafc; }
.document-item-row input, .document-item-row select { width:100%; min-width:0; }
.document-item-row output { font-weight:800; white-space:nowrap; }
.commercial-totals { margin-top:18px; padding:14px; border:1px solid #cbd5e1; border-radius:9px; background:#f8fafc; }
.public-action-buttons { display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
@media (max-width: 1080px) { .document-item-row { grid-template-columns:1fr 1fr; } }


/* BITHOMES_SCHEDULING_CATALOG_V5 */
.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.schedule-layout-grid,.settings-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:start}.schedule-layout-grid input,.schedule-layout-grid select,.schedule-layout-grid textarea,.settings-create-grid input,.settings-create-grid select,.settings-create-grid textarea{width:100%;box-sizing:border-box}.schedule-span-2{grid-column:span 2}.checkbox-stack,.check-group,.scheduling-permission-stack{display:grid!important;gap:10px;align-content:start}.checkbox-stack>label,.check-group>label,.scheduling-permission-stack>label{display:flex!important;align-items:flex-start!important;gap:10px!important;width:100%;margin:0!important;line-height:1.35;text-align:left}.checkbox-stack input[type=checkbox],.check-group input[type=checkbox],.scheduling-permission-stack input[type=checkbox]{width:auto!important;min-width:16px;margin:2px 0 0!important}.policy-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(330px,1.5fr) auto;gap:18px;align-items:start}.status-badge{display:inline-block;padding:4px 8px;border-radius:999px;color:#fff;font-size:12px;font-weight:800;text-transform:capitalize}.status-scheduled{background:#2563eb}.status-tentative{background:#d97706}.status-confirmed{background:#15803d}.status-under_process{background:#ca8a04}.status-completed{background:#166534}.status-rejected{background:#b91c1c}.status-cancelled{background:#7f1d1d}.bithomes-calendar-card{position:relative;overflow:hidden;isolation:isolate}.bithomes-calendar-card::before{content:"";position:absolute;z-index:-1;inset:0;background-image:var(--bithomes-logo);background-repeat:repeat;background-size:84px 84px;background-position:12px 12px;opacity:.14;pointer-events:none}.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.calendar-toolbar input[type=search]{min-width:230px;padding:10px;border:1px solid #cbd5e1;border-radius:8px}.calendar-toolbar button{min-height:38px;padding:8px 12px;border:1px solid #1d4ed8;border-radius:7px;background:#2563eb;color:#fff;font-weight:800;cursor:pointer}.calendar-toolbar button:hover{background:#1d4ed8}#calendar-heading{min-width:180px;text-align:center;color:#0f172a;font-size:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dbe3ef;border-left:1px solid #dbe3ef;background:rgba(255,255,255,.7)}.calendar-weekdays>div{padding:10px;border-right:1px solid #dbe3ef;border-bottom:1px solid #dbe3ef;background:rgba(248,250,252,.88);font-weight:800;text-align:center}.calendar-day{min-height:138px;padding:8px;border-right:1px solid #dbe3ef;border-bottom:1px solid #dbe3ef;background:rgba(255,255,255,.62)}.calendar-day>span{display:block;margin-bottom:7px;color:#475569;font-size:12px;font-weight:800}.calendar-event{display:block;margin:4px 0;padding:5px 7px;border-left:4px solid var(--event-color,#2563eb);border-radius:5px;background:color-mix(in srgb,var(--event-color,#2563eb) 16%,white);color:#0f172a;font-size:12px;line-height:1.25;text-decoration:none}.calendar-year{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.calendar-year button{min-height:100px;padding:18px;border:1px solid #bfdbfe;border-radius:9px;background:rgba(255,255,255,.78);color:#0f172a;cursor:pointer}.calendar-year button span{display:block;margin-top:8px;color:#475569}.calendar-day-view,.calendar-list-view{display:grid;gap:12px}.calendar-day-event,.calendar-list-event{padding:14px;border:1px solid #bfdbfe;border-radius:9px;background:rgba(255,255,255,.78)}.bithomes-list-watermark{position:relative;overflow:auto;border-radius:8px;background-image:var(--bithomes-logo);background-repeat:repeat;background-size:54px 54px;background-position:10px 10px}.bithomes-list-watermark .data-table{background:rgba(255,255,255,.74)}.bithomes-list-watermark .data-table tbody td{background:rgba(255,255,255,.76)}.bithomes-list-watermark .data-table tbody tr:nth-child(even) td{background:rgba(248,250,252,.74)}.booking-filter-bar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:18px}.booking-filter-bar input,.booking-filter-bar select{width:100%;min-height:40px;box-sizing:border-box}.booking-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:18px}.booking-card{overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.08)}.booking-card[hidden]{display:none}.booking-card-image{display:grid;height:190px;place-items:center;overflow:hidden;background:#e2e8f0;color:#475569;text-decoration:none}.booking-card-image img{width:100%;height:100%;object-fit:cover}.booking-card-body{display:grid;gap:9px;padding:15px}.booking-card-body h3{margin:0}.booking-card-body h3 a{color:#0f172a;text-decoration:none}.booking-card-type{color:#2563eb;font-size:12px;font-weight:800;text-transform:uppercase}.booking-card-actions{display:flex;flex-wrap:wrap;gap:8px}.booking-detail-layout{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:18px}.booking-detail-image img{width:100%;max-height:520px;object-fit:cover;border-radius:9px}.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{padding:10px;border-bottom:1px solid #dbe3ef;text-align:left;vertical-align:top}.detail-table th{width:36%;color:#334155}.customer-history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.print-only{display:none}@media(max-width:1000px){.policy-grid,.booking-filter-bar,.booking-detail-layout{grid-template-columns:1fr}.schedule-span-2{grid-column:span 1}.calendar-day{min-height:110px}}@media print{body{background:#fff!important}.sidebar,.navbar,.platform-brand-strip,.page-actions,.calendar-toolbar,.bithomes-footer,.bitcore-form-progress{display:none!important}.content,.dashboard-container{width:100%!important;margin:0!important;padding:0!important}.bithomes-calendar-card,.bithomes-list-watermark{background-image:var(--bithomes-logo)!important;background-repeat:repeat!important;background-size:58px 58px!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.bithomes-calendar-card::before{opacity:.14!important}.print-only{display:block!important;margin:0 0 12px!important}.calendar-day{min-height:94px}.calendar-event{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* SCHEDULING_V5_EXISTING_GRID_FIX */
.scheduling-form.form-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:14px!important;align-items:start}.scheduling-form.form-grid>.field-group{min-width:0}.scheduling-form.form-grid .checkbox-stack{grid-column:span 1}.calendar-toolbar button{background:#2563eb!important;color:#fff!important;border-color:#1d4ed8!important}.calendar-toolbar strong{color:#0f172a!important}.bithomes-calendar-card{background-image:var(--bithomes-logo)!important;background-repeat:repeat!important;background-size:84px 84px!important;background-position:12px 12px!important;background-color:rgba(255,255,255,.88)!important;background-blend-mode:soft-light}.bithomes-calendar-card:has(.calendar-day.muted:only-child){background-image:none!important}.bithomes-list-watermark:has(tbody td[colspan]){background-image:none!important}


/* BITHOMES_UI_BOOKING_V6 */
.schedule-form-v6{display:grid;gap:18px}.schedule-section{padding:16px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc}.schedule-section h3{margin:0 0 14px}.schedule-grid,.settings-create-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:14px!important;align-items:start}.schedule-grid .field-group,.settings-create-grid .field-group{min-width:0}.new-customer-panel{margin-top:14px;padding:14px;border:1px solid #93c5fd;border-radius:8px;background:#eff6ff}.new-customer-panel legend{color:#1d4ed8;font-weight:800;padding:0 7px}.new-customer-panel[hidden],[data-existing-customer][hidden]{display:none!important}.checkbox-stack,.check-group,.scheduling-permission-stack{display:grid!important;gap:9px!important;align-content:start}.checkbox-stack>label,.check-group>label,.scheduling-permission-stack>label{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:9px!important;margin:0!important;text-align:left!important;line-height:1.35!important}.checkbox-stack input[type=checkbox],.check-group input[type=checkbox],.scheduling-permission-stack input[type=checkbox]{width:16px!important;min-width:16px!important;height:16px!important;margin:2px 0 0!important;padding:0!important}.policy-grid{display:grid!important;grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) minmax(360px,1.5fr) auto!important;gap:18px!important;align-items:start!important}.bithomes-collapsible-table>h2{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-collapse-button{min-height:32px;padding:6px 10px;background:#334155;font-size:12px}.bithomes-collapsible-table.is-collapsed .bithomes-list-watermark{max-height:48px;overflow:hidden}.bithomes-collapsible-table.is-collapsed tbody{display:none}.bithomes-list-watermark{position:relative;overflow:auto;border-radius:8px;background-color:#fff;background-image:var(--bithomes-logo);background-repeat:repeat;background-size:46px 46px;background-position:12px 12px}.bithomes-list-watermark .data-table{background:rgba(255,255,255,.80)}.bithomes-list-watermark .data-table tbody td{background:rgba(255,255,255,.86)}.bithomes-list-watermark .data-table tbody tr:nth-child(even) td{background:rgba(248,250,252,.84)}.bithomes-calendar-card{background-image:var(--bithomes-logo)!important;background-repeat:repeat!important;background-size:56px 56px!important;background-position:12px 12px!important;background-color:#fff!important;background-blend-mode:soft-light!important}.calendar-grid,.calendar-day,.calendar-weekdays>div{background-color:rgba(255,255,255,.84)!important}.booking-image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.booking-image-gallery a{height:128px;display:block;border-radius:8px;overflow:hidden;background:#e2e8f0}.booking-image-gallery img{width:100%;height:100%;object-fit:cover}.booking-detail-gallery a{height:230px}.platform-bars{display:grid;gap:10px}.platform-bar-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,3fr) minmax(120px,auto);gap:10px;align-items:center}.platform-bar-track{height:14px;overflow:hidden;border-radius:99px;background:#e2e8f0}.platform-bar-track i{display:block;height:100%;border-radius:99px;background:#2563eb}.print-only{display:none}@media(max-width:1100px){.policy-grid{grid-template-columns:1fr!important}.platform-bar-row{grid-template-columns:1fr}}@media print{body{background:#fff!important}.sidebar,.navbar,.platform-brand-strip,.page-actions,.calendar-toolbar,.bithomes-footer,.bitcore-form-progress,.table-collapse-button{display:none!important}.content,.dashboard-container{width:100%!important;margin:0!important;padding:0!important}.bithomes-calendar-card,.bithomes-list-watermark{background-image:var(--bithomes-logo)!important;background-repeat:repeat!important;background-size:40px 40px!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.bithomes-list-watermark .data-table,.bithomes-list-watermark .data-table tbody td{background:rgba(255,255,255,.82)!important}.print-only{display:block!important;margin:0 0 12px!important}.calendar-day{min-height:88px!important}}


/* BITHOMES_UI_BOOKING_V7 */
.schedule-form-v6,.scheduling-form,.booking-listing-form{max-width:100%;min-width:0}.schedule-form-v6 input,.schedule-form-v6 select,.schedule-form-v6 textarea,.scheduling-form input,.scheduling-form select,.scheduling-form textarea,.new-customer-panel input,.new-customer-panel select,.new-customer-panel textarea,.booking-listing-form input,.booking-listing-form select,.booking-listing-form textarea{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.new-customer-panel{display:block!important;grid-column:1/-1!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;margin:14px 0 0!important;padding:16px!important}.new-customer-panel .schedule-grid,.new-customer-panel .form-grid{width:100%!important;max-width:100%!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important}.new-customer-panel[hidden]{display:none!important}.settings-policy-grid{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(250px,1fr) minmax(360px,1.5fr) auto!important;gap:18px!important;align-items:start!important}.reminder-fields{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.scheduling-permission-stack,.checkbox-stack,.check-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important}.scheduling-permission-stack label,.checkbox-stack label,.check-group label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:100%!important;margin:0!important;line-height:1.35!important;text-align:left!important}.scheduling-permission-stack input[type=checkbox],.checkbox-stack input[type=checkbox],.check-group input[type=checkbox]{flex:0 0 16px!important;width:16px!important;height:16px!important;margin:0!important;padding:0!important}.bithomes-list-watermark{background-image:none!important;background:none!important}.bithomes-collapsible-table.is-collapsed .data-table tbody{display:none!important}.bithomes-collapsible-table.is-collapsed .data-table{display:table!important;max-height:none!important;overflow:visible!important}.bithomes-collapsible-table.is-collapsed .data-table thead{display:table-header-group!important}.bithomes-collapsible-table.is-collapsed .data-table thead tr{display:table-row!important}.bithomes-collapsible-table.is-collapsed .data-table thead th{display:table-cell!important}.bithomes-calendar-card{position:relative!important;background-color:#fff!important;background-image:none!important;overflow:hidden!important}.bithomes-calendar-card:before{content:""!important;position:absolute!important;inset:58px 0 0!important;background-image:var(--calendar-logo)!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:min(42%,360px)!important;opacity:.10!important;pointer-events:none!important;z-index:0!important}.bithomes-calendar-card .calendar-toolbar,.bithomes-calendar-card #bithomes-calendar,.bithomes-calendar-card .calendar-grid,.bithomes-calendar-card .calendar-day{position:relative!important;z-index:1!important}.bithomes-calendar-card .calendar-grid,.bithomes-calendar-card .calendar-day,.bithomes-calendar-card .calendar-weekdays>div{background-color:rgba(255,255,255,.91)!important}.bithomes-file-drop{position:relative;display:flex;min-height:145px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px;border:2px dashed #60a5fa;border-radius:10px;background:#eff6ff;color:#1e3a8a;text-align:center;cursor:pointer}.bithomes-file-drop.is-dragging{border-color:#1d4ed8;background:#dbeafe}.bithomes-file-drop input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer}.bithomes-file-drop small{color:#475569}.booking-listing-form .booking-span{grid-column:span 2}.booking-listing-form select[multiple]{min-height:145px}.booking-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.booking-card{overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:#fff}.booking-card-image{display:flex;height:180px;align-items:center;justify-content:center;background:#e2e8f0;color:#1e3a8a;text-decoration:none}.booking-card-image img{width:100%;height:100%;object-fit:cover}.booking-card-body{padding:14px}.booking-card-body h3{margin:7px 0}.booking-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.booking-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.booking-filter-bar input,.booking-filter-bar select{min-height:38px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px}.booking-image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.booking-image-gallery a{display:block;height:130px;overflow:hidden;border-radius:9px}.booking-image-gallery img{width:100%;height:100%;object-fit:cover}@media(max-width:1100px){.settings-policy-grid{grid-template-columns:1fr!important}.booking-listing-form .booking-span{grid-column:span 1}}@media print{.bithomes-list-watermark{background:none!important}.bithomes-calendar-card{background-color:#fff!important;background-image:none!important}.bithomes-calendar-card:before{background-image:var(--calendar-logo)!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:min(42%,360px)!important;opacity:.10!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.bithomes-collapsible-table.is-collapsed .data-table thead{display:table-header-group!important}}


/* BITHOMES_CORE_V8 */
.bithomes-list-watermark,.bithomes-list-watermark .data-table{background-image:none!important;background:none!important}.bithomes-calendar-card{position:relative!important;overflow:hidden!important;background-color:#fff!important;background-image:none!important}.bithomes-calendar-card:before{content:""!important;position:absolute!important;inset:54px 0 0!important;background-image:var(--calendar-logo, url("/static/img/bitcore-favicon.svg"))!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:min(46%,390px)!important;opacity:.19!important;pointer-events:none!important;z-index:0!important}.bithomes-calendar-card .calendar-toolbar,.bithomes-calendar-card #bithomes-calendar,.bithomes-calendar-card .calendar-grid,.bithomes-calendar-card .calendar-day{position:relative!important;z-index:1!important}.bithomes-calendar-card .calendar-grid,.bithomes-calendar-card .calendar-day,.bithomes-calendar-card .calendar-weekdays>div{background-color:rgba(255,255,255,.74)!important}.new-customer-panel,[data-new-customer-panel]{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:16px 0!important;padding:16px!important;border:1px solid #93c5fd!important;border-radius:10px!important;background:#eff6ff!important;overflow:hidden!important}.new-customer-panel[hidden],[data-new-customer-panel][hidden]{display:none!important}.new-customer-panel .field-group,[data-new-customer-panel] .field-group{min-width:0!important;max-width:100%!important}.new-customer-panel input,[data-new-customer-panel] input{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.bithomes-headers-only{display:table!important;width:100%!important;visibility:visible!important;opacity:1!important}.bithomes-headers-only thead{display:table-header-group!important;visibility:visible!important;opacity:1!important}.bithomes-headers-only thead tr{display:table-row!important}.bithomes-headers-only thead th{display:table-cell!important;visibility:visible!important;opacity:1!important;background:#0f172a!important;color:#fff!important;padding:13px!important}.bithomes-headers-only tbody{display:none!important}.table-collapse-button{margin-left:auto!important;min-height:32px!important;padding:6px 10px!important;background:#334155!important;color:#fff!important;border:0!important;border-radius:7px!important}.settings-policy-grid{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(250px,1fr) minmax(370px,1.5fr) auto!important;gap:18px!important;align-items:start!important}.reminder-fields{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}.reminder-fields .field-group{display:grid!important;gap:8px!important}.scheduling-permission-stack,.checkbox-stack,.check-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important}.scheduling-permission-stack label,.checkbox-stack label,.check-group label{display:flex!important;align-items:flex-start!important;gap:9px!important;width:100%!important;line-height:1.35!important;text-align:left!important}.scheduling-permission-stack input[type=checkbox],.checkbox-stack input[type=checkbox],.check-group input[type=checkbox]{flex:0 0 16px!important;width:16px!important;height:16px!important;margin:2px 0 0!important}.bithomes-file-drop{position:relative!important;display:flex!important;min-height:145px!important;box-sizing:border-box!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:18px!important;border:2px dashed #60a5fa!important;border-radius:10px!important;background:#eff6ff!important;color:#1e3a8a!important;text-align:center!important;cursor:pointer!important}.bithomes-file-drop input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important}.bithomes-file-drop.is-dragging{background:#dbeafe!important;border-color:#1d4ed8!important}.clear-media-selection{margin-top:8px!important}.public-image-carousel{position:relative!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;gap:10px!important;align-items:center!important;max-width:650px!important}.image-carousel-main{min-height:320px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f8fafc!important;border-radius:10px!important;overflow:hidden!important}.image-carousel-main img{width:100%!important;height:100%!important;max-height:460px!important;object-fit:contain!important}.image-carousel-arrow{width:44px!important;height:44px!important;border:0!important;border-radius:50%!important;background:#1e3a8a!important;color:#fff!important;font-size:31px!important;line-height:1!important;cursor:pointer!important}.image-carousel-thumbs{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}.image-carousel-thumbs button{width:74px!important;height:74px!important;padding:0!important;border:2px solid transparent!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important;cursor:pointer!important}.image-carousel-thumbs button.is-selected{border-color:#2563eb!important}.image-carousel-thumbs img{width:100%!important;height:100%!important;object-fit:cover!important}.image-carousel-empty{padding:32px;color:#64748b}.detail-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.status-badge{display:inline-flex!important;align-items:center!important;padding:4px 9px!important;border-radius:999px!important;color:#fff!important;font-size:12px!important;font-weight:800!important;text-transform:capitalize!important;background:#475569!important}.status-scheduled{background:#2563eb!important}.status-tentative,.status-waiting{background:#d97706!important}.status-confirmed{background:#15803d!important}.status-under-process{background:#ca8a04!important}.status-completed{background:#166534!important}.status-rejected,.status-cancelled,.status-failed{background:#b91c1c!important}.status-pending{background:#7c3aed!important}.status-paid{background:#15803d!important}.status-open{background:#2563eb!important}@media(max-width:1100px){.settings-policy-grid{grid-template-columns:1fr!important}.public-image-carousel{grid-template-columns:40px minmax(0,1fr) 40px!important}.image-carousel-main{min-height:240px!important}}@media print{.bithomes-list-watermark{background:none!important}.bithomes-calendar-card:before{background-image:var(--calendar-logo, url("/static/img/bitcore-favicon.svg"))!important;background-repeat:no-repeat!important;background-position:center!important;background-size:min(46%,390px)!important;opacity:.19!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.bithomes-headers-only thead{display:table-header-group!important}}


/* BITHOMES_CORE_V9 */
.card.v9-table-collapsed .bitcore-table-toolbar,
.card.v9-table-collapsed .table-collapse-button + .bitcore-table-toolbar{
  display:none!important;
}
.card.v9-table-collapsed .bithomes-list-watermark{
  max-height:none!important;
  overflow:visible!important;
}
.card.v9-table-collapsed .data-table{
  display:table!important;
  width:100%!important;
  visibility:visible!important;
  opacity:1!important;
}
.card.v9-table-collapsed .data-table thead{
  display:table-header-group!important;
  visibility:visible!important;
  opacity:1!important;
}
.card.v9-table-collapsed .data-table thead tr{
  display:table-row!important;
}
.card.v9-table-collapsed .data-table thead th{
  display:table-cell!important;
  visibility:visible!important;
  opacity:1!important;
  background:#0f172a!important;
  color:#ffffff!important;
  padding:13px 12px!important;
}
.card.v9-table-collapsed .data-table tbody,
.card.v9-table-collapsed .data-table tfoot{
  display:none!important;
}
.table-collapse-button.v9-table-collapse-button{
  margin-left:24px!important;
  vertical-align:middle!important;
}
.schedule-form-v6,
.scheduling-form{
  display:block!important;
}
.schedule-form-v6 .schedule-section,
.scheduling-form .schedule-section{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.schedule-form-v6 .schedule-grid,
.scheduling-form .schedule-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.new-customer-panel,
[data-new-customer-panel]{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin:18px 0 0!important;
  padding:16px!important;
  border:1px solid #2563eb!important;
  border-radius:10px!important;
  background:#eff6ff!important;
  overflow:hidden!important;
}
.new-customer-panel[hidden],
[data-new-customer-panel][hidden]{
  display:none!important;
}
.new-customer-panel .field-group,
[data-new-customer-panel] .field-group{
  min-width:0!important;
  max-width:100%!important;
}
.new-customer-panel input,
[data-new-customer-panel] input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.calendar-watermark-image{
  position:absolute!important;
  z-index:0!important;
  left:50%!important;
  top:50%!important;
  width:min(360px,42%)!important;
  height:auto!important;
  max-height:52%!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  opacity:.16!important;
  pointer-events:none!important;
  filter:grayscale(1) contrast(1.2)!important;
}
.bithomes-calendar-logo-card{
  position:relative!important;
  overflow:hidden!important;
  background:#ffffff!important;
}
.bithomes-calendar-logo-card .calendar-toolbar,
.bithomes-calendar-logo-card #bithomes-calendar,
.bithomes-calendar-logo-card .calendar-grid,
.bithomes-calendar-logo-card .calendar-day{
  position:relative!important;
  z-index:1!important;
  background-color:rgba(255,255,255,.82)!important;
}
.status-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:22px!important;
  padding:3px 9px!important;
  border-radius:999px!important;
  color:#fff!important;
}
.image-carousel-arrow,
.image-carousel-prev,
.image-carousel-next{
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  text-indent:0!important;
  line-height:1!important;
  text-align:center!important;
}
.media-remove-one{
  display:inline-flex!important;
  margin:6px 6px 0 0!important;
}
.clear-media-selection,
.clear-file-selection{
  margin-top:8px!important;
}
@media print{
  @page{
    size:landscape;
    margin:7mm;
  }
  .calendar-watermark-image{
    display:block!important;
    opacity:.13!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
  .bithomes-calendar-logo-card .calendar-toolbar{
    display:none!important;
  }
  .bithomes-calendar-logo-card #bithomes-calendar,
  .bithomes-calendar-logo-card .calendar-grid,
  .bithomes-calendar-logo-card .calendar-day{
    background:rgba(255,255,255,.80)!important;
  }
  .data-table{
    width:100%!important;
    table-layout:fixed!important;
    font-size:7pt!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
  .data-table th,
  .data-table td{
    padding:4px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .data-table th{
    font-size:7pt!important;
  }
  .bithomes-list-watermark{
    background:none!important;
  }
  .bitcore-table-toolbar,
  .table-collapse-button,
  .media-remove-one{
    display:none!important;
  }
}

/* BITHOMES_CORE_V10 */
.card > h2:has(.bithomes-single-collapse-button),
.card > h3:has(.bithomes-single-collapse-button){
  display:flex!important;
  align-items:center!important;
  gap:24px!important;
  flex-wrap:wrap!important;
}
.table-collapse-button.bithomes-single-collapse-button{
  position:static!important;
  margin-left:20px!important;
  min-width:104px!important;
}
.card .table-collapse-button:not(.bithomes-single-collapse-button){
  display:none!important;
}
.card.bithomes-table-collapsed .bitcore-table-toolbar,
.card.bithomes-table-collapsed .table-search,
.card.bithomes-table-collapsed [data-table-search]{
  display:none!important;
}
.card.bithomes-table-collapsed .data-table{
  display:table!important;
  width:100%!important;
  border-collapse:collapse!important;
}
.card.bithomes-table-collapsed .data-table thead,
.card.bithomes-table-collapsed .data-table thead tr{
  display:table-header-group!important;
}
.card.bithomes-table-collapsed .data-table thead th{
  display:table-cell!important;
  visibility:visible!important;
  opacity:1!important;
  padding:13px 12px!important;
  background:#0f172a!important;
  color:#ffffff!important;
}
.card.bithomes-table-collapsed .data-table tbody,
.card.bithomes-table-collapsed .data-table tfoot{
  display:none!important;
}
.new-customer-panel,
[data-new-customer-panel]{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.new-customer-panel .field-group,
[data-new-customer-panel] .field-group{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.new-customer-panel input,
.new-customer-panel select,
.new-customer-panel textarea,
[data-new-customer-panel] input,
[data-new-customer-panel] select,
[data-new-customer-panel] textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.bithomes-calendar-single-logo{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.bithomes-calendar-single-logo > :not(.bithomes-calendar-watermark){
  position:relative!important;
  z-index:2!important;
}
.bithomes-calendar-watermark{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:52%!important;
  width:min(320px,42%)!important;
  max-width:320px!important;
  min-width:160px!important;
  height:auto!important;
  transform:translate(-50%,-50%)!important;
  opacity:.22!important;
  pointer-events:none!important;
  filter:contrast(1.12) saturate(1.05)!important;
}
.status-badge.bithomes-status-badge{
  color:#ffffff!important;
  font-weight:800!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
.bithomes-print-notice{
  position:fixed!important;
  z-index:999999!important;
  right:22px!important;
  bottom:22px!important;
  max-width:360px!important;
  padding:13px 16px!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#ffffff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.28)!important;
  font-weight:700!important;
}
.bithomes-print-notice[hidden]{
  display:none!important;
}
@media print{
  body:not(.bithomes-calendar-printing) *{
    visibility:hidden!important;
  }
  body:not(.bithomes-calendar-printing)::before{
    content:"Use the BiT Calendar Print / Save PDF button."!important;
    position:fixed!important;
    top:45%!important;
    left:0!important;
    right:0!important;
    z-index:999999!important;
    color:#0f172a!important;
    text-align:center!important;
    font-size:18pt!important;
    font-weight:800!important;
    visibility:visible!important;
  }
  body.bithomes-calendar-printing .page-actions,
  body.bithomes-calendar-printing .calendar-toolbar,
  body.bithomes-calendar-printing .table-collapse-button,
  body.bithomes-calendar-printing .inline-action-form,
  body.bithomes-calendar-printing .small-btn,
  body.bithomes-calendar-printing button,
  body.bithomes-calendar-printing [data-bithomes-print-hide="1"]{
    display:none!important;
  }
  body.bithomes-calendar-printing .bithomes-calendar-watermark{
    display:block!important;
    opacity:.22!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
  body.bithomes-calendar-printing .data-table{
    width:100%!important;
    table-layout:auto!important;
    font-size:7.5pt!important;
  }
  body.bithomes-calendar-printing .data-table th,
  body.bithomes-calendar-printing .data-table td{
    padding:5px 6px!important;
    word-break:break-word!important;
  }
  @page{
    size:A4 landscape;
    margin:9mm;
  }
}

/* BITHOMES_CALENDAR_TABLES_V11 */
.card > h2:has(.bithomes-single-collapse-button),
.card > h3:has(.bithomes-single-collapse-button){
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  flex-wrap:wrap!important;
}
.table-collapse-button.bithomes-single-collapse-button{
  position:static!important;
  margin:0 0 0 18px!important;
  min-width:104px!important;
}
.card .table-collapse-button:not(.bithomes-single-collapse-button){
  display:none!important;
}
.card.bithomes-table-collapsed .bitcore-table-toolbar,
.card.bithomes-table-collapsed .table-search,
.card.bithomes-table-collapsed [data-table-search]{
  display:none!important;
}
.card.bithomes-table-collapsed .data-table{
  display:table!important;
  width:100%!important;
  border-collapse:collapse!important;
}
.card.bithomes-table-collapsed .data-table thead,
.card.bithomes-table-collapsed .data-table thead tr{
  display:table-header-group!important;
  visibility:visible!important;
  opacity:1!important;
}
.card.bithomes-table-collapsed .data-table thead th{
  display:table-cell!important;
  visibility:visible!important;
  opacity:1!important;
  padding:13px 12px!important;
  background:#0f172a!important;
  color:#ffffff!important;
}
.card.bithomes-table-collapsed .data-table tbody,
.card.bithomes-table-collapsed .data-table tfoot{
  display:none!important;
}
.new-customer-panel,
[data-new-customer-panel]{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.new-customer-panel .field-group,
[data-new-customer-panel] .field-group,
.new-customer-panel input,
.new-customer-panel select,
.new-customer-panel textarea,
[data-new-customer-panel] input,
[data-new-customer-panel] select,
[data-new-customer-panel] textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.bithomes-calendar-single-logo{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.bithomes-calendar-single-logo > :not(.bithomes-calendar-watermark){
  position:relative!important;
  z-index:2!important;
}
.bithomes-calendar-watermark{
  position:absolute!important;
  z-index:1!important;
  left:50%!important;
  top:52%!important;
  width:min(340px,42%)!important;
  max-width:340px!important;
  min-width:170px!important;
  height:auto!important;
  transform:translate(-50%,-50%)!important;
  opacity:.26!important;
  pointer-events:none!important;
  filter:contrast(1.15) saturate(1.1)!important;
}
.status-badge.bithomes-status-badge{
  color:#ffffff!important;
  font-weight:800!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}
.bithomes-print-notice{
  position:fixed!important;
  z-index:999999!important;
  right:22px!important;
  bottom:22px!important;
  max-width:360px!important;
  padding:13px 16px!important;
  border-radius:8px!important;
  background:#0f172a!important;
  color:#ffffff!important;
  box-shadow:0 10px 24px rgba(15,23,42,.28)!important;
  font-weight:700!important;
}
.bithomes-print-notice[hidden]{
  display:none!important;
}
@media print{
  body:not(.bithomes-calendar-printing) *{
    visibility:hidden!important;
  }
  body:not(.bithomes-calendar-printing)::before{
    content:"Use BiT Calendar → Print / Save PDF."!important;
    position:fixed!important;
    top:45%!important;
    left:0!important;
    right:0!important;
    z-index:999999!important;
    color:#0f172a!important;
    text-align:center!important;
    font-size:18pt!important;
    font-weight:800!important;
    visibility:visible!important;
  }
  body.bithomes-calendar-printing .page-actions,
  body.bithomes-calendar-printing .calendar-toolbar,
  body.bithomes-calendar-printing .table-collapse-button,
  body.bithomes-calendar-printing .inline-action-form,
  body.bithomes-calendar-printing .small-btn,
  body.bithomes-calendar-printing button,
  body.bithomes-calendar-printing [data-bithomes-print-hide="1"]{
    display:none!important;
  }
  body.bithomes-calendar-printing .bithomes-calendar-watermark{
    display:block!important;
    opacity:.26!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
  body.bithomes-calendar-printing .data-table{
    width:100%!important;
    table-layout:auto!important;
    font-size:7.5pt!important;
  }
  body.bithomes-calendar-printing .data-table th,
  body.bithomes-calendar-printing .data-table td{
    padding:5px 6px!important;
    word-break:break-word!important;
  }
  @page{
    size:A4 landscape;
    margin:9mm;
  }
}

/* BITHOMES_PLATFORM_ENTITLEMENTS_V17 */
.bithomes-search-results{
  display:grid;
  gap:6px;
  margin-top:8px;
  max-height:230px;
  overflow:auto;
}
.bithomes-search-result{
  width:100%;
  padding:8px 10px;
  border:1px solid #cbd5e1;
  border-radius:7px;
  background:#ffffff;
  color:#0f172a;
  cursor:pointer;
  font-size:13px;
  text-align:left;
}
.bithomes-search-result:hover,
.bithomes-search-result:focus{
  border-color:#2563eb;
  outline:2px solid rgba(37,99,235,.18);
}


/* BITHOMES_PLATFORM_CONTROLS_V18 */
.bithomes-capability-group{
  margin:22px 0;
  padding:18px;
  border:1px solid #dbe3ee;
  border-radius:12px;
  background:#f8fafc;
}
.bithomes-capability-group h3{
  margin:0 0 12px;
}
.bithomes-capability-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px;
}
.bithomes-capability-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:10px;
  border:1px solid #cbd5e1;
  border-radius:9px;
  background:#ffffff;
}
.bithomes-capability-check{
  display:flex;
  gap:9px;
  align-items:flex-start;
  min-width:0;
  cursor:pointer;
  font-weight:650;
}
.bithomes-capability-check input{
  width:17px!important;
  height:17px!important;
  flex:0 0 17px;
  margin-top:2px!important;
}
.bithomes-capability-quota{
  display:grid;
  gap:4px;
  color:#475569;
  font-size:12px;
}
.bithomes-capability-quota input{
  min-width:0;
  width:100%;
}
.bithomes-capability-no-quota{
  color:#64748b;
  font-size:12px;
  text-align:right;
}
.capability-target-search{
  position:relative;
}
@media (max-width:700px){
  .bithomes-capability-row{
    grid-template-columns:1fr;
  }
  .bithomes-capability-no-quota{
    text-align:left;
  }
}

/* BITHOMES_PLATFORM_PRICING_V19 */
.bithomes-capability-row{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(105px,.75fr) minmax(115px,.8fr) minmax(100px,.65fr);
  gap:10px;
  align-items:end;
}
.bithomes-capability-price,
.bithomes-capability-period{
  display:grid;
  gap:5px;
  font-size:12px;
  color:#475569;
}
.bithomes-billing-card{
  margin-top:20px;
  padding:18px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#f8fafc;
}
.bithomes-billing-totals{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  gap:10px;
  margin:16px 0;
}
.bithomes-billing-totals p{
  margin:0;
  padding:10px;
  border:1px solid #dbeafe;
  border-radius:8px;
  background:#ffffff;
}
@media (max-width:900px){
  .bithomes-capability-row{grid-template-columns:1fr 1fr;}
  .bithomes-billing-totals{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .bithomes-capability-row,.bithomes-billing-totals{grid-template-columns:1fr;}
}

/* BITHOMES_PLATFORM_CONTROLS_V20 */
.bithomes-capability-grid-v20{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.bithomes-capability-row-v20{display:grid!important;grid-template-columns:minmax(260px,2fr) minmax(110px,.72fr) minmax(130px,.8fr) minmax(120px,.72fr)!important;gap:12px!important;align-items:end!important;min-width:0!important;padding:12px!important;border:1px solid #dbe3ee!important;border-radius:9px!important;background:#fff!important;}
.bithomes-capability-row-v20 > *{min-width:0!important;}
.bithomes-capability-row-v20 input,.bithomes-capability-row-v20 select{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.bithomes-capability-check{align-self:center!important;font-weight:700!important;color:#0f172a!important;}
.bithomes-capability-check input{width:auto!important;margin-right:8px!important;}
.bithomes-capability-quota,.bithomes-capability-price,.bithomes-capability-period{display:grid!important;gap:5px!important;font-size:12px!important;color:#475569!important;}
.bithomes-capability-no-quota{font-size:12px!important;color:#64748b!important;align-self:center!important;}
.bithomes-billing-card-v20{margin-top:18px!important;padding:16px!important;border:1px solid #dbeafe!important;border-radius:10px!important;background:#f8fafc!important;}
.bithomes-recipient-picker{display:grid;grid-template-columns:minmax(280px,2fr) minmax(190px,.7fr);gap:12px;align-items:end;margin-top:12px;}
#billing-recipient-create-card{padding:16px;}
#billing-recipient-create-card summary{cursor:pointer;color:#0f172a;font-size:16px;}
@media (max-width:980px){.bithomes-capability-row-v20{grid-template-columns:1fr 1fr!important;}.bithomes-recipient-picker{grid-template-columns:1fr;}}
@media (max-width:560px){.bithomes-capability-row-v20{grid-template-columns:1fr!important;}.bithomes-billing-totals{grid-template-columns:1fr!important;}}

/* BITHOMES_PLATFORM_CONTROLS_V21 */
.bithomes-capability-table-wrap{
  overflow-x:auto;
  border:1px solid #dbe3ee;
  border-radius:8px;
  background:#ffffff;
}
.bithomes-capability-table-v21{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}
.bithomes-capability-table-v21 th,
.bithomes-capability-table-v21 td{
  padding:9px 10px;
  border-bottom:1px solid #e2e8f0;
  vertical-align:middle;
  text-align:left;
}
.bithomes-capability-table-v21 th{
  background:#0f172a;
  color:#ffffff;
  font-size:12px;
  white-space:nowrap;
}
.bithomes-capability-table-v21 tbody tr:last-child td{
  border-bottom:0;
}
.bithomes-capability-table-v21 tbody tr:hover{
  background:#f8fafc;
}
.bithomes-capability-table-v21 .matrix-enabled{
  width:72px;
  text-align:center;
}
.bithomes-capability-table-v21 .matrix-enabled input{
  width:18px!important;
  height:18px;
}
.bithomes-capability-table-v21 .matrix-label{
  min-width:260px;
  color:#0f172a;
  font-weight:700;
}
.bithomes-capability-table-v21 input[type="text"],
.bithomes-capability-table-v21 input[type="number"],
.bithomes-capability-table-v21 select{
  width:100%!important;
  min-width:120px;
  box-sizing:border-box;
}
.bithomes-capability-table-v21 .bithomes-capability-price,
.bithomes-capability-table-v21 .bithomes-capability-period,
.bithomes-capability-table-v21 .bithomes-capability-quota{
  display:block!important;
}
.bithomes-capability-table-v21 .bithomes-capability-price span,
.bithomes-capability-table-v21 .bithomes-capability-period span,
.bithomes-capability-table-v21 .bithomes-capability-quota span{
  display:none!important;
}
.bithomes-recipient-status{
  display:inline-block;
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  text-transform:capitalize;
}
.bithomes-recipient-status-active{
  background:#dcfce7;
  color:#166534;
}
.bithomes-recipient-status-inactive,
.bithomes-recipient-status-on_hold{
  background:#fef3c7;
  color:#92400e;
}
.bithomes-recipient-status-archived{
  background:#e2e8f0;
  color:#334155;
}

/* BITHOMES_PLATFORM_AUDIT_V22 */
.data-table small{
  color:#64748b;
  font-size:11px;
  word-break:break-word;
}

/* BITHOMES_AUDIT_DELETE_V23 */
.audit-log-actions{
  align-items:center;
  justify-content:space-between;
  margin:0 0 14px;
}
.audit-select-all{
  display:flex;
  align-items:center;
  gap:8px;
  color:#334155;
  font-size:14px;
  font-weight:600;
}
.audit-select-all input,
.audit-row-check{
  width:17px;
  height:17px;
}

/* BITHOMES_DELEGATED_ADMIN_V24 */
.delegated-scope-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid #bfdbfe;
  border-radius:10px;
  background:#f8fbff;
  color:#1e3a5f;
}
.scope-pill{
  display:inline-block;
  margin:3px;
  padding:4px 9px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:700;
}
.compact-header{
  margin-bottom:12px;
}
.compact-header h2{
  margin:0;
}
.full-width{
  grid-column:1 / -1;
}
.checkbox-grid{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
}
.checkbox-label{
  display:flex;
  gap:7px;
  align-items:center;
  font-weight:600;
}
@media (max-width:760px){
  .delegated-scope-card{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* BiT Homes delegated password feedback v24.1 */
.delegated-password-policy {
    margin: 0;
    color: #334155;
    font-size: 0.92rem;
    line-height: 1.5;
}

.delegated-field-error {
    margin: 0.55rem 0 0;
    color: #991b1b;
    font-weight: 700;
}

.delegated-password-note {
    margin: 0.55rem 0 0;
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.45;
}


/* BiT Homes v24.3 sidebar icon/label alignment */
.sidebar-nav a .icon {
    flex: 0 0 24px;
    width: 24px;
    line-height: 1;
}

.sidebar-nav a .label {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sidebar:not(.collapsed) .sidebar-nav a .tooltip {
    display: none;
}

/* BITHOMES_USER_INVITATION_HOTFIX_V24_3_2
   Keep the user's collapsed preference, but expand the sidebar while hovered. */
.sidebar.collapsed:hover {
  width: 260px;
  z-index: 1000;
  box-shadow: 10px 0 28px rgba(15, 23, 42, .22);
}
.sidebar.collapsed:hover .logo-text,
.sidebar.collapsed:hover .sidebar-nav a .label {
  display: block;
}
.sidebar.collapsed:hover .sidebar-header {
  padding: 0 20px;
}
.sidebar.collapsed:hover .sidebar-nav a {
  justify-content: flex-start;
}
.sidebar.collapsed:hover .sidebar-nav a .tooltip {
  display: none !important;
}

/* BITHOMES_SIDEBAR_CLICK_ONLY_V24_3_3
   Collapsing is controlled only by the menu button. Hover never changes width. */
#sidebar.sidebar.collapsed,
#sidebar.sidebar.collapsed:hover {
  width: 80px !important;
  z-index: auto !important;
  box-shadow: none !important;
}
#sidebar.sidebar.collapsed .logo-text,
#sidebar.sidebar.collapsed:hover .logo-text,
#sidebar.sidebar.collapsed .sidebar-nav a .label,
#sidebar.sidebar.collapsed:hover .sidebar-nav a .label {
  display: none !important;
}
#sidebar.sidebar.collapsed .sidebar-nav a,
#sidebar.sidebar.collapsed:hover .sidebar-nav a {
  justify-content: center !important;
}
#sidebar .tooltip {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
#sidebar.sidebar.collapsed .sidebar-nav a:hover .tooltip {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* BITHOMES_EMAIL_DISPATCH_COMPATIBILITY_V24_3_3_1 */

/* BITHOMES_INVITATION_URL_SIDEBAR_V24_3_3_6_1
   The menu button is the only sidebar state control. Tooltips are available
   for keyboard and mouse users in both expanded and collapsed sidebar states. */
#sidebar.sidebar.collapsed,
#sidebar.sidebar.collapsed:hover {
  width: 80px !important;
  z-index: auto !important;
  box-shadow: none !important;
}
#sidebar.sidebar.collapsed .logo-text,
#sidebar.sidebar.collapsed:hover .logo-text,
#sidebar.sidebar.collapsed .sidebar-nav a .label,
#sidebar.sidebar.collapsed:hover .sidebar-nav a .label {
  display: none !important;
}
#sidebar.sidebar.collapsed .sidebar-nav a,
#sidebar.sidebar.collapsed:hover .sidebar-nav a {
  justify-content: center !important;
}
#sidebar .sidebar-nav a .tooltip {
  display: block !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  left: calc(100% + 12px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
#sidebar .sidebar-nav a:hover .tooltip,
#sidebar .sidebar-nav a:focus-visible .tooltip {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* BITHOMES_ARCHIVE_COMPANY_V24_4 */
.navbar {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.navbar-brand {
  font-weight: 800;
  color: #0f172a;
}
.navbar-identity {
  display: flex;
  flex: 1 1 320px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: #334155;
  font-size: 13px;
}
.navbar-identity-item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.navbar-identity-separator {
  color: #94a3b8;
}
.row-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.archive-actions {
  margin-bottom: 14px;
}
.form-span-2 {
  grid-column: span 2;
}
@media (max-width: 760px) {
  .navbar-identity {
    flex-basis: 100%;
    order: 3;
  }
  .form-span-2 {
    grid-column: span 1;
  }
}

/* BITHOMES_TICKET_500_PLATFORM_PRICE_V26_8_1_1
   Price fields are preserved by the matrix transformer and must remain
   visibly editable in every desktop and responsive table layout. */
.bithomes-capability-table-v21 .matrix-price-cell{
  min-width:150px!important;
  width:150px!important;
}
.bithomes-capability-table-v21 .matrix-price-cell .bithomes-capability-price{
  display:block!important;
  min-width:130px!important;
  width:100%!important;
}
.bithomes-capability-table-v21 .matrix-price-cell .bithomes-capability-price-input-v26_8_1_1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-width:130px!important;
  height:34px!important;
  margin:0!important;
  padding:6px 8px!important;
  border:1px solid #94a3b8!important;
  border-radius:4px!important;
  background:#ffffff!important;
  color:#0f172a!important;
  box-sizing:border-box!important;
}
.bithomes-capability-table-v21 .matrix-price-cell .bithomes-capability-price-input-v26_8_1_1:focus{
  border-color:#2563eb!important;
  outline:3px solid rgba(37,99,235,.20)!important;
  outline-offset:1px!important;
}

