/* Bcard — formal government admin theme */
:root {
    --gov-navy: #0b2c31;
    --gov-blue: #1a5276;
    --gov-blue-dark: #13405d;
    --gov-accent: #1a5276;
    --gov-accent-hover: #13405d;
    --gov-border: #d5dce3;
    --gov-text: #1f2933;
    --gov-muted: #5f6b7a;
    --gov-bg: #eef1f4;
    --gov-gold: #b8952e;
    --wp-accent: var(--gov-accent);
    --wp-accent-hover: var(--gov-accent-hover);
    --wp-border: var(--gov-border);
    --wp-text: var(--gov-text);
    --wp-muted: var(--gov-muted);
    --wp-admin-bg: var(--gov-bg);
}

* { box-sizing: border-box; }

@font-face {
    font-family: 'IRANSans';
    src: url('../fonts/woff2/IRANSansWeb.woff2') format('woff2'),
         url('../fonts/IRANSansWeb.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSans';
    src: url('../fonts/woff2/IRANSansWeb_Bold.woff2') format('woff2'),
         url('../fonts/IRANSansWeb_Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IRANSans';
    src: url('../fonts/woff2/IRANSansWeb_Medium.woff2') format('woff2'),
         url('../fonts/IRANSansWeb_Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

html,
body,
[data-typography=yekan] {
    font-family: 'IRANSans', Tahoma, sans-serif !important;
    --bs-body-font-family: 'IRANSans', Tahoma, sans-serif;
}

#main-wrapper,
.auth-wrapper,
.verify-page,
.verify-portal {
    font-family: 'IRANSans', Tahoma, sans-serif;
}

#main-wrapper .dashboard_bar,
#main-wrapper .brand-title,
.wrap h1,
.wrap .wp-heading,
.postbox-header,
.bcard-sidebar-title,
.auth-wrapper h3,
.verify-portal-org {
    font-family: 'IRANSans', Tahoma, sans-serif;
    font-weight: 700;
}

/* AdminStack theme — formal government palette */
body[data-primary=color_12],
body[data-primary=color_13],
body[data-primary=color_4] {
    background-color: var(--gov-bg) !important;
}

#main-wrapper .content-body {
    background: var(--gov-bg);
}

#main-wrapper .header {
    background: #fff;
    border-bottom: 1px solid var(--gov-border);
    box-shadow: 0 1px 3px rgba(15, 44, 49, 0.06);
}

#main-wrapper .dashboard_bar {
    color: var(--gov-navy);
    font-size: 1.05rem;
}

#main-wrapper .nav-header .logo-abbr {
    max-height: 2.2rem;
    width: auto;
    border-radius: 0.25rem;
}

/* Sidebar */
.bcard-sidebar-brand {
    padding: 1.25rem 1rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    margin-bottom: 0.35rem;
}

.bcard-sidebar-brand-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.6rem;
    text-decoration: none;
    color: #fff;
}

.bcard-sidebar-logo {
    max-height: 68px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
    border-radius: 0.25rem;
    background: #fff;
    padding: 0.35rem;
}

.bcard-sidebar-logo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.12);
    font-size: 1.5rem;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.bcard-sidebar-title {
    font-size: 0.88rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.55;
    color: #fff;
}

.deznav .metismenu > li > a {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.875rem;
    padding: 0.65rem 1.15rem;
    border-radius: 0;
}

.deznav .metismenu > li > a .menu-icon {
    color: rgba(255, 255, 255, 0.92);
}

.deznav .metismenu > li > a:hover,
.deznav .metismenu > li.mm-active > a {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.deznav .metismenu > li.mm-active > a {
    border-right: 3px solid var(--gov-gold);
}

.deznav .metismenu ul a {
    color: rgba(255, 255, 255, 0.78) !important;
    padding-right: 2.5rem !important;
    font-size: 0.84rem;
}

.deznav .metismenu ul a:hover,
.deznav .metismenu ul a.mm-active {
    color: #fff !important;
}

.deznav .metismenu > li > a .nav-text {
    font-family: 'IRANSans', Tahoma, sans-serif;
}
.deznav .metismenu > li.mm-item-ads > a {
    background: linear-gradient(90deg, rgba(234, 88, 12, 0.35), rgba(234, 88, 12, 0.08)) !important;
    color: #fff7ed !important;
}
.deznav .metismenu > li.mm-item-ads > a .menu-icon,
.deznav .metismenu > li.mm-item-ads > a .nav-text {
    color: #ffedd5 !important;
}
.deznav .metismenu > li.mm-item-ads.mm-active > a,
.deznav .metismenu > li.mm-item-ads > a:hover {
    background: linear-gradient(90deg, rgba(234, 88, 12, 0.55), rgba(234, 88, 12, 0.18)) !important;
    border-right-color: #fb923c;
}

/* Cards & tables — restrained, official */
.notice { border-right: 4px solid; padding: 8px 12px; margin: 0 0 16px; background: #fff; border-radius: 0.2rem; }
.notice-success { border-color: #1e7e45; background: #e8f5ee; }
.notice-error { border-color: #b42318; background: #fdecea; }
.notice p { margin: 0; }

.wrap { max-width: 100%; }
.wrap h1, .wp-heading { font-size: 1.25rem; font-weight: 700; margin: 0 0 1rem; color: var(--gov-navy); line-height: 1.5; }

.postbox {
    background: #fff;
    border: 1px solid var(--gov-border);
    border-radius: 0.25rem;
    box-shadow: none;
    margin-bottom: 1.25rem;
}
.postbox-header {
    padding: 0.85rem 1.15rem;
    border-bottom: 1px solid var(--gov-border);
    font-weight: 700;
    background: #f8fafb;
    color: var(--gov-navy);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.postbox-body, .postbox .inside { padding: 1.15rem; }

.wp-list-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--gov-border);
    background: #fff;
}
.wp-list-table th, .wp-list-table td {
    padding: 0.6rem 0.75rem;
    text-align: right;
    vertical-align: middle;
    border-bottom: 1px solid #e9edf1;
}
.wp-list-table thead th {
    font-weight: 700;
    background: #f3f6f8;
    color: var(--gov-navy);
    border-bottom: 1px solid var(--gov-border);
}
.wp-list-table tbody tr:hover { background: #f7f9fb; }
.wp-list-table .num { text-align: center; font-variant-numeric: tabular-nums; }

.button, .btn-wp {
    display: inline-block;
    padding: 0.35rem 0.85rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border: 1px solid var(--gov-border);
    border-radius: 0.2rem;
    background: #f8fafb;
    color: var(--gov-text);
    text-decoration: none;
    cursor: pointer;
}
.button:hover { background: #eef2f5; color: var(--gov-text); }
.button-primary, .btn-wp-primary {
    background: var(--gov-accent);
    border-color: var(--gov-accent);
    color: #fff !important;
}
.button-primary:hover, .btn-wp-primary:hover {
    background: var(--gov-accent-hover);
    border-color: var(--gov-accent-hover);
}
.button-small { padding: 0.2rem 0.6rem; font-size: 0.8rem; }
.button-link-delete { color: #b42318 !important; border-color: transparent; background: transparent; }
.button-success { background: #1e7e45; border-color: #186b3a; color: #fff !important; }

.btn-edit, .button.btn-edit { background: var(--gov-accent); border-color: var(--gov-accent); color: #fff !important; }
.btn-edit:hover { background: var(--gov-accent-hover); color: #fff !important; }
.btn-delete, .button.btn-delete { background: #b42318; border-color: #9b1f14; color: #fff !important; }
.btn-delete:hover { background: #9b1f14; color: #fff !important; }
.btn-list, .button.btn-list { background: #4b5563; border-color: #3d4652; color: #fff !important; }
.btn-list:hover { background: #3d4652; color: #fff !important; }
.btn-card, .button.btn-card { background: #1e7e45; border-color: #186b3a; color: #fff !important; }
.btn-renew, .button.btn-renew { background: #9a7b1a; border-color: #7f6515; color: #fff !important; }
.btn-export, .button.btn-export { background: #1a5276; border-color: #13405d; color: #fff !important; }

.sortable-table thead th[data-sort]:hover { background: #eef4f8; }
.sortable-table thead th[data-sort][data-order="asc"]::after { content: " ▲"; font-size: 10px; }
.sortable-table thead th[data-sort][data-order="desc"]::after { content: " ▼"; font-size: 10px; }

.page-title-action { margin-right: 8px; }

/* Stats cards */
.wp-stats-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.85rem; margin-bottom: 1.25rem; }
.wp-stat-box {
    background: #fff;
    border: 1px solid var(--gov-border);
    border-radius: 0.25rem;
    padding: 1rem 0.85rem;
    text-align: center;
    box-shadow: none;
}
.wp-stat-box .stat-num { font-size: 1.65rem; font-weight: 700; line-height: 1.2; color: var(--gov-accent); }
.wp-stat-box .stat-label { font-size: 0.8rem; color: var(--gov-muted); margin-top: 0.35rem; }
.wp-stat-box.success .stat-num { color: #1e7e45; }
.wp-stat-box.warning .stat-num { color: #9a7b1a; }
.wp-stat-box.danger .stat-num { color: #b42318; }
.wp-stat-box.info .stat-num { color: #1a5276; }
.wp-stat-box.secondary .stat-num { color: #5c6b7a; }

.entity-pagination .pagination { flex-wrap: wrap; gap: 0.15rem; }
.entity-pagination .page-link { min-width: 2.25rem; text-align: center; }
.list-pagination-bar .pagination { flex-wrap: wrap; gap: 0.15rem; }
.list-pagination-bar .page-link { min-width: 2.25rem; text-align: center; }
.list-per-page-form select { min-width: 4.5rem; }

/* Forms */
.form-table { width: 100%; }
.form-table th { width: 200px; padding: 12px 10px 12px 0; font-weight: 600; vertical-align: top; text-align: right; color: var(--gov-navy); }
.form-table td { padding: 8px 0; }
.form-control, .form-select {
    border-color: var(--gov-border);
    border-radius: 0.2rem;
    font-size: 0.875rem;
    font-family: 'IRANSans', Tahoma, sans-serif;
}
.form-control:focus, .form-select:focus {
    border-color: var(--gov-accent);
    box-shadow: 0 0 0 2px rgba(26, 82, 118, 0.15);
}
.wrap .jalali-date-fields .form-select,
.wrap .jalali-date-fields .form-select option {
    color: var(--gov-text, #1d2327);
    background-color: #fff;
    font-family: 'IRANSans', Tahoma, sans-serif;
    font-size: 0.875rem;
}
.wrap .jalali-date-fields .jalali-day-select {
    width: auto !important;
    min-width: 4.5rem;
    flex: 0 0 auto;
}
.wrap .jalali-date-fields .jalali-month-select {
    width: auto !important;
    min-width: 8.5rem;
    flex: 1 1 auto;
}
.wrap .jalali-date-fields .jalali-year-select {
    width: auto !important;
    min-width: 5.5rem;
    flex: 0 0 auto;
}
.initial-data-review-form .jalali-date-fields .form-select-sm {
    font-size: 0.875rem;
    min-height: 2rem;
    padding-inline: 0.4rem;
}

/* Login */
.auth-wrapper {
    background-color: var(--gov-navy) !important;
}
.auth-wrapper::after {
    background: linear-gradient(-135deg, #071a1d, #0b2c31) !important;
    opacity: 0.85 !important;
}
.auth-wrapper .card {
    border: 1px solid var(--gov-border);
    border-radius: 0.25rem;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}
.auth-wrapper h3 { color: var(--gov-navy); }

.auth-password-wrap {
    position: relative;
}
.auth-password-wrap .form-control {
    padding-left: 4.25rem;
}
.auth-password-toggle {
    position: absolute;
    left: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--gov-accent);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.25rem 0.5rem;
    line-height: 1.2;
    cursor: pointer;
    z-index: 2;
}
.auth-password-toggle:hover,
.auth-password-toggle:focus {
    color: var(--gov-accent-hover);
    outline: none;
}
.auth-captcha-row {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
}
.auth-captcha-input {
    flex: 1 1 auto;
    min-width: 0;
}
.auth-captcha-row .login-captcha {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.auth-login-tabs {
    display: flex;
    gap: 0.5rem;
    padding: 0.25rem;
    background: #eef2f6;
    border-radius: 0.75rem;
}
.auth-login-tab {
    flex: 1;
    text-align: center;
    padding: 0.55rem 0.75rem;
    border-radius: 0.55rem;
    color: var(--gov-muted);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}
.auth-login-tab:hover {
    color: var(--gov-accent);
}
.auth-login-tab.active {
    background: #fff;
    color: var(--gov-accent);
    box-shadow: 0 2px 8px rgba(15, 44, 49, 0.08);
}

/* Person thumb */
.person-thumb, .thumb-sm { width: 40px; height: 50px; object-fit: cover; border-radius: 2px; border: 1px solid var(--gov-border); }
.thumb-md { width: 80px; height: 100px; object-fit: cover; border-radius: 2px; }

/* Expandable rows */
.license-expand { display: none; background: #f7f9fb; }
.license-expand.open { display: table-row; }
.license-expand td { padding: 12px 20px !important; }

/* Card preview */
.card-preview-img { max-width: 600px; width: 100%; border: 1px solid var(--gov-border); border-radius: 0.25rem; }

/* Verification — formal public pages */
.verify-page { background: var(--gov-bg); min-height: 100vh; font-family: 'IRANSans', Tahoma, sans-serif; }
.verify-card { border-radius: 0.25rem; overflow: hidden; border: 1px solid var(--gov-border); box-shadow: 0 2px 8px rgba(15, 44, 49, 0.06); }
.verify-photo { width: 100px; height: 125px; object-fit: cover; border-radius: 0.2rem; border: 2px solid var(--gov-border); }
.verify-qr { width: 120px; height: 120px; }
.ad-banner { margin-top: 16px; border-radius: 0.25rem; overflow: hidden; border: 1px solid var(--gov-border); }
.ad-banner img { width: 100%; display: block; }

.jalali-date { direction: ltr; text-align: left; }

/* WP columns */
.wp-columns { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-start; }
.wp-column-main { flex: 1; min-width: 280px; }
.wp-column-sidebar { width: 280px; flex-shrink: 0; }
.regular-text { max-width: 400px; width: 100%; }
.button-hero { padding: 8px 24px !important; font-size: 14px !important; }
.hidden { display: none !important; }
.search-box { margin-bottom: 12px; }
.search-results-list { margin-top: 12px; }
.search-results-group { border-radius: 0.2rem; overflow: hidden; }
.search-result-item { text-align: right; cursor: pointer; padding: 10px 14px !important; }
.search-result-item:hover { background: #eef4f8 !important; }
.search-loading { color: var(--gov-muted); font-size: 13px; padding: 8px 0; }
.description { color: var(--gov-muted); font-size: 12px; margin-top: 4px; }
.description code { background: #eef2f5; padding: 2px 6px; border-radius: 2px; }

.settings-asset-preview img { max-width: 100%; max-height: 80px; border: 1px solid var(--gov-border); border-radius: 0.2rem; padding: 4px; background: #fff; }

.login-captcha {
    min-width: 88px;
    padding: 8px 12px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 4px;
    text-align: center;
    background: linear-gradient(135deg, #eef2f6, #d9e2ec);
    border: 1px solid #c5d0dc;
    border-radius: 0.3rem;
    color: #1d3557;
    user-select: none;
    font-family: Tahoma, sans-serif;
}

/* Settings accordion */
.settings-accordion .accordion-item { border: 1px solid var(--gov-border); margin-bottom: 8px; border-radius: 0.3rem; overflow: hidden; background: #fff; }
.settings-accordion .accordion-button { font-weight: 600; font-size: 14px; padding: 12px 16px; background: #f8fafc; color: var(--gov-text, #1d2327); box-shadow: none; }
.settings-accordion .accordion-button:not(.collapsed) { background: var(--gov-accent, #2271b1); color: #fff; }
.settings-accordion .accordion-button:not(.collapsed) i { color: #fff; }
.settings-accordion .accordion-button i { color: var(--gov-accent, #2271b1); width: 20px; text-align: center; }
.settings-accordion .accordion-button:focus { box-shadow: none; }
.settings-accordion .accordion-body { padding: 16px; }
.person-photo-placeholder { width: 80px; height: 100px; background: #f3f6f8; border: 1px dashed var(--gov-border); display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--gov-muted); margin: 0 auto; border-radius: 0.2rem; }
.person-preview-box .thumb-md { width: 80px; height: 100px; object-fit: cover; border-radius: 0.2rem; }
.person-preview-box .person-photo-placeholder { width: 80px; height: 100px; }

/* SMS */
.sms-var-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sms-var-chip { border: 1px solid var(--gov-accent); background: #eef4f8; color: var(--gov-accent); border-radius: 0.2rem; padding: 2px 10px; font-size: 12px; cursor: pointer; font-family: monospace; direction: ltr; }
.sms-var-chip:hover { background: var(--gov-accent); color: #fff; }
.sms-var-group-title { font-size: 12px; font-weight: 700; color: #555; margin-bottom: 4px; border-bottom: 1px solid #e5e5e5; padding-bottom: 2px; }
.sms-message-editor { min-height: 100px; white-space: pre-wrap; word-break: break-word; }
.sms-message-editor:empty:before { content: attr(data-placeholder); color: #999; }
.sms-var-token { color: #0d6efd; background: #e7f1ff; padding: 0 3px; border-radius: 3px; font-family: monospace; direction: ltr; display: inline; }
.sms-char-stats { line-height: 1.6; }
.sms-source-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 768px) { .sms-source-grid { grid-template-columns: 1fr 1fr; } }
.sms-source-card { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc; cursor: pointer; }
.sms-source-card:has(input[type=checkbox]:checked) { border-color: #93c5fd; background: #eff6ff; }
.sms-source-card input { margin-top: 4px; }
.sms-source-card strong { display: block; font-size: 14px; }
.sms-source-card small { display: block; color: #64748b; margin-top: 2px; line-height: 1.5; }
.sms-filter-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.sms-filter-chip { font-size: 12px; background: #e2e8f0; color: #1e293b; border-radius: 999px; padding: 4px 10px; }
.sms-result-hero { text-align: center; padding: 8px 0 14px; }
.sms-result-total { font-size: 32px; font-weight: 800; color: var(--gov-accent, #1e3a5f); line-height: 1.1; }
.sms-result-label { font-size: 13px; color: #64748b; }
.sms-stat-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.sms-stat-pill { background: #f1f5f9; border-radius: 8px; padding: 8px 12px; min-width: 120px; }
.sms-stat-pill span { display: block; font-size: 11px; color: #64748b; }
.sms-stat-pill strong { font-size: 16px; }
.sms-stat-pill.is-muted { background: #fff7ed; }
.sms-gender-bar { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; padding: 8px 0 12px; border-top: 1px dashed #e2e8f0; border-bottom: 1px dashed #e2e8f0; margin-bottom: 12px; }
.sms-break-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 768px) { .sms-break-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sms-mini-title { font-size: 12px; font-weight: 700; margin: 0 0 6px; color: #475569; }
.ads-tariff-heading { font-size: 14px; font-weight: 700; margin: 0 0 8px; color: #1e293b; }
.ads-tariff-table { width: 100%; border-collapse: collapse; }
.ads-tariff-table th { background: #f8fafc; font-size: 13px; padding: 10px 12px; border-bottom: 1px solid #e2e8f0; }
.ads-tariff-table td { padding: 10px 12px; border-bottom: 1px solid #f1f5f9; font-size: 13px; }
.ads-tariff-table .ads-tariff-price { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ads-tariff-row { cursor: pointer; }
.ads-tariff-row:hover { background: #fff7ed; }
.ads-tariff-row.is-selected { background: #ffedd5; }
.sms-cost-grid strong { color: var(--gov-accent); }
.sms-alert-bar { background: #fff3cd; border: 1px solid #ffc107; padding: 10px 14px; margin-bottom: 12px; border-radius: 4px; }
.sms-var-warnings { background: #f8d7da; border: 1px solid #f5c2c7; padding: 8px 12px; margin-top: 8px; border-radius: 4px; font-size: 13px; }
.sms-preview-box { background: #f8f9fa; border: 1px dashed #ccc; padding: 10px; margin-top: 8px; border-radius: 4px; }
.sms-preview-text { margin-top: 6px; white-space: pre-wrap; }
.sms-breakdown-list { margin: 0; padding-right: 18px; font-size: 13px; }
.sms-filters-accordion .accordion-button { font-size: 14px; padding: 10px 14px; }
.sms-log-scroll { max-height: 280px; overflow: auto; }
.sms-page select[multiple] { min-height: 88px; }
.sms-ms-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 992px) { .sms-ms-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sms-ms-filter { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 10px; min-height: 100%; }
.sms-ms-filter-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.sms-ms-filter-label { font-weight: 700; font-size: 13px; color: #1e293b; }
.sms-ms-filter-hint { font-size: 11px; color: #64748b; margin-top: 2px; line-height: 1.5; }
.sms-ms-badge { font-size: 11px; font-weight: 700; background: #e2e8f0; color: #334155; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
.sms-ms-filter.is-pick .sms-ms-badge { background: #dbeafe; color: #1d4ed8; }
.sms-ms-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 4px; }
.sms-ms-mode-btn { border: 0; background: transparent; border-radius: 6px; font-size: 12px; font-weight: 600; padding: 7px 8px; color: #64748b; }
.sms-ms-mode-btn.active { background: var(--gov-accent, #1e3a5f); color: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .12); }
.sms-ms-panel { display: flex; flex-direction: column; gap: 8px; }
.sms-ms-panel.is-collapsed { display: none; }
.sms-ms-search { border-radius: 8px; }
.sms-ms-toolbar { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.sms-ms-list { max-height: 180px; overflow: auto; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 6px; }
.sms-ms-item { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 6px; margin: 0; cursor: pointer; font-size: 13px; color: #334155; }
.sms-ms-item:hover { background: #f1f5f9; }
.sms-ms-item.is-checked { background: #eff6ff; color: #1e3a8a; }
.sms-ms-item.is-hidden { display: none; }
.sms-ms-item.is-disabled { opacity: .45; pointer-events: none; }
.sms-ms-item input { margin: 0; flex-shrink: 0; }
.portal-ads-layout .wp-column-sidebar { width: 300px; }
.portal-grid-live { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.portal-grid-cell { aspect-ratio: 1; border-radius: 0.2rem; overflow: hidden; border: 2px solid transparent; display: block; background: #f3f6f8; }
.portal-grid-cell.active { border-color: var(--gov-accent); }
.portal-grid-cell img { width: 100%; height: 100%; object-fit: cover; }
.portal-grid-cell span { display: flex; align-items: center; justify-content: center; height: 100%; color: #8a96a3; font-size: 12px; }
.portal-form-thumb { max-height: 64px; border-radius: 0.2rem; }
.verify-banner-ad { width: 100%; border-radius: 0.25rem; overflow: hidden; border: 1px solid var(--gov-border); margin: 16px 0; }
.verify-banner-ad img { width: 100%; height: auto; display: block; }

.portal-slot-preview { aspect-ratio: 1; border-radius: 0.2rem; overflow: hidden; background: #f3f6f8; border: 1px solid var(--gov-border); }
.portal-slot-preview img { width: 100%; height: 100%; object-fit: cover; }
.portal-slot-empty { display: flex; align-items: center; justify-content: center; color: #8a96a3; font-size: 13px; border: 1px dashed var(--gov-border); }
@media (max-width: 900px) { .portal-grid-admin { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .portal-grid-admin { grid-template-columns: 1fr; } }


/* Verification portal — PWA app shell */
.verify-pwa {
    min-height: 100vh;
    min-height: 100dvh;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}
.verify-pwa .verify-portal,
.verify-pwa .verify-container {
    padding-bottom: 16px;
}
.verify-pwa-appbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: calc(8px + env(safe-area-inset-top, 0px)) 16px 8px;
    background: rgba(11, 44, 49, 0.96);
    color: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(8px);
}
.verify-pwa-appbar-title {
    font-size: 0.95rem;
    font-weight: 700;
    text-align: center;
}
.verify-pwa-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    display: flex;
    justify-content: space-around;
    gap: 4px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--gov-border);
    box-shadow: 0 -4px 20px rgba(15, 44, 49, 0.08);
    backdrop-filter: blur(10px);
}
.verify-pwa-nav-item {
    flex: 1;
    max-width: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 8px;
    border: 0;
    border-radius: 0.75rem;
    background: transparent;
    color: var(--gov-muted);
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
}
.verify-pwa-nav-item:hover,
.verify-pwa-nav-item.active {
    background: #eef4f8;
    color: var(--gov-accent);
}
.verify-pwa-nav-icon {
    font-size: 1.15rem;
    line-height: 1;
}
.verify-pwa-install-btn.hidden { display: none !important; }

@media (min-width: 768px) {
    .verify-pwa {
        padding-bottom: 24px;
    }
    .verify-pwa-nav {
        left: 50%;
        transform: translateX(-50%);
        max-width: 420px;
        bottom: 16px;
        border: 1px solid var(--gov-border);
        border-radius: 1rem;
        box-shadow: 0 8px 28px rgba(15, 44, 49, 0.12);
    }
}

/* Verification portal */
.verify-portal {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 16px 40px;
    background: linear-gradient(180deg, #eef1f4 0%, #dde4ea 100%);
}
.verify-pwa .verify-portal-card,
.verify-pwa .verify-card {
    border-radius: 1rem;
    box-shadow: 0 8px 32px rgba(15, 44, 49, 0.08);
}
.verify-pwa .verify-search-form .form-control-lg {
    border-radius: 0.75rem;
    padding: 0.85rem 1rem;
    font-size: 1rem;
}
.verify-pwa .verify-search-form .btn-lg {
    border-radius: 0.75rem;
    padding: 0.85rem 1rem;
    font-weight: 700;
}
.verify-portal-wrap { width: 100%; max-width: 520px; }
.verify-portal-brand { text-align: center; margin-bottom: 20px; }
.verify-portal-logo { max-height: 80px; margin-bottom: 10px; }
.verify-portal-org { font-size: 1.1rem; font-weight: 700; color: var(--gov-navy); }
.verify-portal-dept { font-size: 0.9rem; color: var(--gov-muted); }
.verify-portal-card {
    background: #fff;
    border-radius: 0.25rem;
    border: 1px solid var(--gov-border);
    box-shadow: 0 2px 10px rgba(15, 44, 49, 0.06);
    padding: 24px 20px;
    width: 100%;
    margin-bottom: 24px;
}
.verify-portal-ads-wrap { width: 100%; max-width: 100%; padding: 0 16px 32px; }
.verify-portal-ads { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
.verify-portal-ad { display: block; aspect-ratio: 1; border-radius: 0.2rem; overflow: hidden; border: 1px solid var(--gov-border); background: #fff; }
.verify-portal-ad:hover { box-shadow: 0 2px 8px rgba(15, 44, 49, 0.08); }
.verify-portal-ad img { width: 100%; height: 100%; object-fit: cover; display: block; }
.verify-portal-ad-empty { display: flex; align-items: center; justify-content: center; background: #f3f6f8; color: #8a96a3; font-size: 12px; border: 1px dashed var(--gov-border); box-shadow: none; }
.verify-ads-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 16px 0; }
.verify-ads-grid .verify-ad-item { aspect-ratio: 1; border-radius: 0.2rem; overflow: hidden; border: 1px solid var(--gov-border); }
.verify-ads-grid .verify-ad-item img { width: 100%; height: 100%; object-fit: cover; }
.verify-bottom-actions { margin-top: 20px; text-align: center; }
.verify-portal-header h1 { font-size: 1.25rem; margin: 0 0 4px; color: var(--gov-navy); font-weight: 700; }
.verify-portal-header p { color: var(--gov-muted); font-size: 13px; margin-bottom: 20px; }
.verify-hint { text-align: center; font-size: 12px; color: var(--gov-muted); margin-top: 16px; margin-bottom: 0; }

.verify-container { max-width: 440px; margin: 0 auto; padding: 12px 16px 32px; }
.verify-topbar { margin-bottom: 12px; }
.verify-back-link { color: var(--gov-accent); text-decoration: none; font-size: 14px; }
.verify-back-link:hover { text-decoration: underline; }

.verify-card { background: #fff; border-radius: 0.25rem; overflow: hidden; border: 1px solid var(--gov-border); box-shadow: 0 2px 10px rgba(15, 44, 49, 0.06); margin-bottom: 16px; }
.verify-card-status { text-align: center; padding: 12px; font-weight: 700; font-size: 16px; color: #fff; }
.verify-status-active .verify-card-status { background: #1e7e45; }
.verify-status-expired .verify-card-status { background: #b42318; color: #fff; }
.verify-status-revoked .verify-card-status { background: #b42318; }
.verify-status-other .verify-card-status { background: #4b5563; }

.verify-photo-block { display: flex; flex-direction: column; align-items: center; padding: 20px 16px 8px; gap: 12px; }
.verify-photo { width: 110px; height: 138px; object-fit: cover; border-radius: 0.2rem; border: 2px solid var(--gov-border); }
.verify-photo-empty { display: flex; align-items: center; justify-content: center; background: #f7f9fb; font-size: 12px; color: var(--gov-muted); }
.verify-qr-block { text-align: center; }
.verify-qr { width: 140px; height: 140px; border: 1px solid var(--gov-border); border-radius: 0.2rem; padding: 4px; background: #fff; }

.verify-name { text-align: center; font-size: 18px; margin: 8px 16px 0; font-weight: 700; color: var(--gov-navy); }
.verify-type { text-align: center; color: var(--gov-muted); font-size: 13px; margin-bottom: 12px; }

.verify-details { margin: 0; padding: 0 16px 16px; }
.verify-details > div { display: flex; padding: 8px 0; border-bottom: 1px solid #e9edf1; font-size: 13px; }
.verify-details > div.verify-full { flex-direction: column; gap: 4px; }
.verify-details dt { width: 38%; flex-shrink: 0; color: var(--gov-muted); margin: 0; font-weight: 600; }
.verify-details dd { margin: 0; flex: 1; }

.verify-complaint { margin-bottom: 16px; }
.dashboard-scroll { max-height: 260px; overflow: auto; }

/* Dashboard — executive layout */
#main-wrapper .content-body .dashboard-wrap {
    max-width: 100%;
}
#main-wrapper .content-body .dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
@media (min-width: 768px) {
    #main-wrapper .content-body .dashboard-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (min-width: 1200px) {
    #main-wrapper .content-body .dashboard-kpi-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
}
#main-wrapper .content-body .dashboard-pending-alert {
    font-size: 0.88rem;
    line-height: 1.65;
    border-radius: 0.5rem;
}
#main-wrapper .content-body .dashboard-topbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
#main-wrapper .content-body .dashboard-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--gov-navy);
    margin: 0 0 0.25rem;
}
#main-wrapper .content-body .dashboard-subtitle {
    margin: 0;
    font-size: 0.85rem;
    color: var(--gov-muted);
}
#main-wrapper .content-body .dashboard-btn-export {
    background: #1a5276;
    border-color: #13405d;
    color: #fff !important;
    padding: 0.45rem 1rem;
    border-radius: 0.35rem;
    font-weight: 600;
    white-space: nowrap;
}
#main-wrapper .content-body .dashboard-btn-export:hover {
    background: #13405d;
    color: #fff !important;
}
#main-wrapper .content-body .dashboard-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--gov-muted);
    margin-bottom: 0.25rem;
}
#main-wrapper .content-body .dashboard-filter-card,
#main-wrapper .content-body .dashboard-panel,
#main-wrapper .content-body .dashboard-kpi-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(15, 44, 49, 0.06);
    background: #fff;
}
#main-wrapper .content-body .dashboard-kpi-link {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    height: 100%;
}
#main-wrapper .content-body .dashboard-kpi-link:hover .dashboard-kpi-card {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 44, 49, 0.1);
}
#main-wrapper .content-body .dashboard-kpi-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    overflow: hidden;
    position: relative;
}
#main-wrapper .content-body .dashboard-kpi-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: #1a5276;
}
#main-wrapper .content-body .dashboard-kpi-card .card-body {
    padding: 1rem 0.85rem 0.9rem;
}
#main-wrapper .content-body .dashboard-kpi-success::before { background: #1e7e45; }
#main-wrapper .content-body .dashboard-kpi-danger::before { background: #b42318; }
#main-wrapper .content-body .dashboard-kpi-warning::before { background: #c9920a; }
#main-wrapper .content-body .dashboard-kpi-info::before { background: #0284c7; }
#main-wrapper .content-body .dashboard-kpi-muted::before { background: #64748b; }
#main-wrapper .content-body .dashboard-kpi-icon {
    font-size: 1.1rem;
    line-height: 1;
    margin-bottom: 0.35rem;
    opacity: 0.85;
}
#main-wrapper .content-body .dashboard-kpi-value {
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--gov-navy);
}
#main-wrapper .content-body .dashboard-kpi-success .dashboard-kpi-value { color: #1e7e45; }
#main-wrapper .content-body .dashboard-kpi-danger .dashboard-kpi-value { color: #b42318; }
#main-wrapper .content-body .dashboard-kpi-warning .dashboard-kpi-value { color: #9a7b1a; }
#main-wrapper .content-body .dashboard-kpi-info .dashboard-kpi-value { color: #0284c7; }
#main-wrapper .content-body .dashboard-kpi-text {
    font-size: 0.78rem;
    color: var(--gov-muted);
    margin-top: 0.35rem;
    line-height: 1.35;
}
#main-wrapper .content-body .dashboard-kpi-badge {
    display: inline-block;
    margin-top: 0.4rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 999px;
    background: #eef4f8;
    color: var(--gov-accent);
}
#main-wrapper .content-body .dashboard-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
}
#main-wrapper .content-body .dashboard-panel-header-danger { background: #fef2f2; border-bottom-color: #fecaca; }
#main-wrapper .content-body .dashboard-panel-header-warning { background: #fffbeb; border-bottom-color: #fde68a; }
#main-wrapper .content-body .dashboard-panel-meta {
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--gov-muted);
    margin-top: 0.15rem;
}
#main-wrapper .content-body .dashboard-table thead th {
    background: #f1f5f9;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gov-navy);
    border-bottom-width: 1px;
    white-space: nowrap;
}
#main-wrapper .content-body .dashboard-table tbody td {
    vertical-align: middle;
    font-size: 0.875rem;
}
#main-wrapper .content-body .dashboard-jg-title {
    font-weight: 700;
    color: var(--gov-navy);
    text-decoration: none;
}
#main-wrapper .content-body .dashboard-jg-title:hover {
    color: var(--gov-accent);
}
#main-wrapper .content-body .dashboard-bar-wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    min-height: 1.25rem;
}
#main-wrapper .content-body .dashboard-bar-wrap span {
    position: relative;
    z-index: 1;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gov-navy);
    min-width: 2.5rem;
}
#main-wrapper .content-body .dashboard-bar {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    max-width: calc(100% - 3rem);
    background: linear-gradient(90deg, rgba(26, 82, 118, 0.15), rgba(26, 82, 118, 0.35));
    border-radius: 0.25rem;
}
#main-wrapper .content-body .dashboard-bar-sub {
    background: linear-gradient(90deg, rgba(30, 126, 69, 0.12), rgba(30, 126, 69, 0.28));
}
#main-wrapper .content-body .dashboard-trades-row > td {
    background: #f8fafc;
    border-top: none;
}
#main-wrapper .content-body .dashboard-trades-table thead th {
    background: #eef2f6;
    font-size: 0.72rem;
}
#main-wrapper .content-body .dashboard-scroll-sm {
    max-height: 200px;
    overflow: auto;
}
#main-wrapper .content-body .dashboard-mini-table {
    font-size: 0.82rem;
}
#main-wrapper .content-body .dashboard-mini-table thead th {
    background: #f8fafc;
    font-size: 0.72rem;
    font-weight: 700;
}
#main-wrapper .content-body .dashboard-empty,
#main-wrapper .content-body .dashboard-empty-state {
    padding: 1.25rem 1rem;
    text-align: center;
    color: var(--gov-muted);
    font-size: 0.85rem;
}
#main-wrapper .content-body .dashboard-gender-row {
    display: grid;
    gap: 0.5rem;
}
#main-wrapper .content-body .dashboard-gender-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
}
#main-wrapper .content-body .dashboard-gender-item span { flex: 1; color: var(--gov-muted); }
#main-wrapper .content-body .dashboard-gender-item em {
    font-style: normal;
    font-size: 0.78rem;
    color: var(--gov-muted);
}
#main-wrapper .content-body .dashboard-gender-bar {
    height: 8px;
    background: #fce7f3;
    border-radius: 999px;
    overflow: hidden;
}
#main-wrapper .content-body .dashboard-gender-male {
    height: 100%;
    background: linear-gradient(90deg, #1a5276, #0284c7);
    border-radius: 999px;
}
#main-wrapper .content-body .dashboard-age-hint {
    margin-top: 0.85rem;
    font-size: 0.8rem;
    color: var(--gov-muted);
}

.ad-banner { border-radius: 0.25rem; overflow: hidden; border: 1px solid var(--gov-border); }
.ad-banner img { width: 100%; display: block; }

/* Directory — Qeshm business directory UI */
.directory-page {
    --dir-header-h: 52px;
    --dir-titlebar-h: 0px;
    --dir-nav-h: 72px;
    --dir-navy: #1e3a5f;
    --dir-primary: #2c5282;
    --dir-accent: #2c5282;
    --dir-accent-light: #e8f0fa;
    --dir-bg: #f3f5f8;
    --dir-card: #ffffff;
    --dir-border: #e5eaf0;
    --dir-muted: #64748b;
    --dir-radius: 16px;
    --dir-shadow: 0 2px 12px rgba(30, 58, 95, 0.06);
    background: var(--dir-bg);
    min-height: 100dvh;
    padding-bottom: calc(var(--dir-nav-h) + env(safe-area-inset-bottom, 0px) + 8px);
    font-family: Tahoma, 'Segoe UI', sans-serif;
}
.dir-layout-inner {
    padding-top: calc(var(--dir-header-h) + var(--dir-titlebar-h));
}
.dir-layout-landing {
    padding-top: 0;
}
.dir-layout-inner .dir-titlebar-h { --dir-titlebar-h: 36px; }

/* Top bar — colored, fixed on all pages */
.dir-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    background: linear-gradient(135deg, var(--dir-navy) 0%, var(--dir-accent) 100%);
    box-shadow: 0 2px 12px rgba(15, 44, 49, 0.2);
}
.dir-topbar-inner {
    max-width: 960px;
    margin: 0 auto;
    height: var(--dir-header-h);
    padding: 0 0.85rem;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 0.65rem;
}
.dir-topbar-start {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}
.dir-topbar-sitetitle {
    font-weight: 800;
    font-size: 0.88rem;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25;
}
.dir-topbar-sitetitle:hover { color: rgba(255,255,255,.92) !important; }
.dir-topbar-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    justify-self: end;
}
.dir-topbar-btn {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 12px;
    background: rgba(255,255,255,.22);
    backdrop-filter: blur(8px);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none !important;
    transition: background .15s;
}
.dir-topbar-btn:hover { background: rgba(255,255,255,.32); color: #fff !important; }
.dir-topbar-logo {
    justify-self: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: visible;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dir-topbar-logo-btn {
    border: none;
    padding: 0;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease;
}
.dir-topbar-logo-btn:hover { transform: scale(1.05); opacity: .92; }
.dir-topbar-logo-btn:focus-visible {
    outline: 2px solid rgba(255,255,255,.85);
    outline-offset: 3px;
}
.dir-topbar-logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 8px rgba(0,0,0,.25)); }
.dir-topbar-logo-fallback {
    font-weight: 800;
    color: var(--dir-navy);
    font-size: 1.1rem;
}
.dir-topbar-titlebar {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 0.85rem 0.45rem;
}
.dir-topbar-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: rgba(255,255,255,.95);
    margin: 0;
    text-align: center;
}
.dir-layout-inner { --dir-titlebar-h: 36px; }

.dir-main { min-height: calc(100dvh - var(--dir-nav-h)); }
.dir-container {
    max-width: 960px;
    margin: 0 auto;
    padding: 1rem 0.85rem 1.25rem;
}
.dir-container-narrow { max-width: 480px; }
.dir-landing-body { padding-top: 0.5rem; }

/* Bottom nav — same on all pages */
.dir-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    height: calc(var(--dir-nav-h) + env(safe-area-inset-bottom, 0px));
    padding: 0 0.25rem env(safe-area-inset-bottom, 0px);
    background: var(--dir-card);
    border-top: 1px solid var(--dir-border);
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    box-shadow: 0 -8px 28px rgba(30, 58, 95, 0.08);
}
.dir-bottom-nav-item {
    flex: 1;
    max-width: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    padding: 8px 2px 6px;
    text-decoration: none !important;
    color: var(--dir-muted) !important;
    font-size: 0.62rem;
    font-weight: 700;
    min-width: 0;
}
.dir-bottom-nav-item.active { color: var(--dir-primary) !important; }
.dir-bottom-nav-item-center {
    position: relative;
    top: -14px;
}
.dir-bottom-nav-item-center .dir-bottom-nav-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(145deg, #2c5282, #1e3a5f);
    color: #fff !important;
    box-shadow: 0 8px 22px rgba(30, 58, 95, 0.35);
}
.dir-bottom-nav-item-center.active .dir-bottom-nav-icon {
    background: linear-gradient(145deg, #1e3a5f, #152a45);
}
.dir-bottom-nav-item-fab .dir-bottom-nav-icon {
    width: 28px;
    height: 28px;
}
.dir-bottom-nav-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    transition: background .15s;
}
.dir-bottom-nav-item.active:not(.dir-bottom-nav-item-center) .dir-bottom-nav-icon {
    background: var(--dir-accent-light);
}
.dir-bottom-nav-icon svg { width: 20px; height: 20px; }
.dir-bottom-nav-label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.1;
}
@media (min-width: 400px) {
    .dir-bottom-nav-item { font-size: 0.68rem; }
}

.dir-home-menu-section { margin-top: 0; padding-top: 0.75rem; }

/* Landing hero */
.dir-landing-hero {
    position: relative;
    min-height: 360px;
    padding: calc(var(--dir-header-h) + 1.25rem) 0.85rem 1.5rem;
    color: #fff;
    overflow: hidden;
}
.dir-landing-hero-compact {
    min-height: 220px;
    padding-bottom: 1.25rem;
}
.dir-landing-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(18, 42, 72, 0.35) 0%, rgba(18, 42, 72, 0.78) 100%),
        var(--dir-hero-image, linear-gradient(160deg, #5b8cb8 0%, #2c5282 40%, #1e3a5f 100%));
    background-size: cover;
    background-position: center;
}
.dir-landing-hero-slides {
    position: absolute;
    inset: 0;
}
.dir-landing-hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.6s ease-in-out;
}
.dir-landing-hero-slide.active { opacity: 1; }
.dir-landing-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(30, 58, 95, 0.15) 0%, rgba(15, 30, 50, 0.55) 100%);
}
.dir-landing-hero-body {
    position: relative;
    z-index: 1;
    max-width: 960px;
    margin: 0 auto;
}
.dir-landing-title {
    font-size: clamp(1.35rem, 4vw, 1.75rem);
    font-weight: 800;
    margin: 0 0 0.35rem;
    text-shadow: 0 2px 12px rgba(0,0,0,.25);
}
.dir-landing-subtitle {
    margin: 0 0 1.1rem;
    font-size: 0.88rem;
    opacity: 0.92;
}
.dir-landing-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.35rem 0.35rem 1rem;
    box-shadow: 0 12px 32px rgba(0,0,0,.18);
    margin-bottom: 1rem;
}
.dir-landing-search-input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.88rem;
    min-width: 0;
    outline: none;
}
.dir-landing-search-btn {
    border: none;
    border-radius: 999px;
    background: linear-gradient(135deg, #2c5282, #1e3a5f);
    color: #fff;
    font-weight: 700;
    font-size: 0.82rem;
    padding: 0.55rem 1.1rem;
    white-space: nowrap;
    cursor: pointer;
}
.dir-quick-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.dir-quick-scroll::-webkit-scrollbar { display: none; }
.dir-quick-chip {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none !important;
    color: #fff !important;
    min-width: 58px;
}
.dir-quick-chip-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.dir-quick-chip .dir-mono-icon { color: #fff; }

/* Monochrome icons */
.dir-mono-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--dir-icon-color, #2c5282);
    flex-shrink: 0;
}
.dir-mono-icon svg { width: 100%; height: 100%; display: block; }
.dir-mono-icon-sm { width: 20px; height: 20px; }
.dir-mono-icon-md { width: 24px; height: 24px; }
.dir-mono-icon-lg { width: 28px; height: 28px; }
.dir-mono-icon-xl { width: 32px; height: 32px; }
.dir-mono-icon i { font-size: inherit; line-height: 1; display: block; }
.dir-mono-icon-sm i { font-size: 1rem; }
.dir-mono-icon-md i { font-size: 1.15rem; }
.dir-mono-icon-lg i { font-size: 1.35rem; }
.dir-mono-icon-xl i { font-size: 1.55rem; }
.dir-mono-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(27%) sepia(42%) saturate(800%) hue-rotate(182deg);
}
.dir-quick-chip .dir-mono-icon-img {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

/* Text category list */
.dir-cat-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}
.dir-cat-grid-empty { grid-column: 1 / -1; }
.dir-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: 1rem 0.55rem 0.85rem;
    border: 1px solid var(--dir-border, #e2e8f0);
    border-radius: 14px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    min-height: 7.25rem;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.dir-cat-card:hover {
    border-color: var(--dir-icon-color);
    box-shadow: 0 8px 22px rgba(30, 58, 95, 0.08);
    transform: translateY(-2px);
    color: inherit;
}
.dir-cat-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: color-mix(in srgb, var(--dir-icon-color) 11%, #fff);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.6rem;
    color: var(--dir-icon-color);
    flex-shrink: 0;
}
.dir-cat-card-body { min-width: 0; width: 100%; }
.dir-cat-card-body strong {
    display: block;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.45;
    color: var(--dir-navy);
    margin-bottom: 0.15rem;
}
.dir-cat-card-body em { font-style: normal; font-size: 0.72rem; color: var(--dir-muted); }
@media (max-width: 768px) {
    .dir-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
    .dir-cat-card { min-height: 6.75rem; padding: 0.85rem 0.45rem 0.75rem; }
    .dir-cat-card-icon { width: 46px; height: 46px; }
}
@media (max-width: 420px) {
    .dir-cat-grid { grid-template-columns: 1fr 1fr; }
}

.dir-cat-list { display: flex; flex-direction: column; gap: 0.5rem; }
.dir-cat-list-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: 12px;
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: var(--dir-shadow);
}
.dir-cat-list-item:hover { border-color: var(--dir-icon-color); }
.dir-cat-list-body { flex: 1; min-width: 0; }
.dir-cat-list-body strong { display: block; font-size: 0.9rem; font-weight: 800; color: var(--dir-navy); }
.dir-cat-list-body em { font-style: normal; font-size: 0.75rem; color: var(--dir-muted); }
.dir-cat-list-arrow { color: var(--dir-muted); opacity: 0.5; font-size: 1.2rem; }

.dir-text-list { display: flex; flex-direction: column; gap: 0.45rem; }
.dir-text-list-item {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.75rem 0.85rem;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: 10px;
    text-decoration: none !important;
    color: inherit !important;
}
.dir-text-list-body strong { display: block; font-size: 0.88rem; font-weight: 700; }
.dir-text-list-body em { font-style: normal; font-size: 0.75rem; color: var(--dir-muted); }

.dir-topbar-logo-empty {
    background: rgba(255,255,255,.15);
    border: 1px dashed rgba(255,255,255,.35);
}
.dir-layout-inner .dir-topbar-logo-empty {
    background: var(--dir-bg);
    border-color: var(--dir-border);
}

.dir-cta-art img { max-height: 72px; max-width: 96px; object-fit: contain; }
.dir-cta-art-default { opacity: 0.85; }
.dir-cta-btn { gap: 0; }
.dir-admin-jg-icon-preview { width: 32px; height: 32px; object-fit: contain; }

/* KPI removed from UI — keep classes harmless */
.dir-kpi-grid { display: none; }
.dir-quick-chip-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-align: center;
    max-width: 64px;
    line-height: 1.25;
}

/* KPI cards */
.dir-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}
@media (max-width: 640px) {
    .dir-kpi-grid { grid-template-columns: repeat(2, 1fr); }
}
.dir-kpi-card {
    background: var(--dir-card);
    border-radius: 14px;
    padding: 0.75rem 0.55rem;
    text-align: center;
    box-shadow: var(--dir-shadow);
    border: 1px solid var(--dir-border);
}
.dir-kpi-card strong {
    display: block;
    font-size: 1rem;
    font-weight: 800;
    color: var(--dir-navy);
    line-height: 1.2;
}
.dir-kpi-card span:last-child {
    display: block;
    font-size: 0.65rem;
    color: var(--dir-muted);
    margin-top: 0.15rem;
}
.dir-kpi-icon { font-size: 1.1rem; display: block; margin-bottom: 0.15rem; }

/* CTA banner */
.dir-cta-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%);
    color: #fff;
    border-radius: var(--dir-radius);
    padding: 1.1rem 1rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 10px 28px rgba(30, 58, 95, 0.22);
}
.dir-cta-text strong { display: block; font-size: 1rem; font-weight: 800; }
.dir-cta-text p { margin: 0.25rem 0 0.65rem; font-size: 0.78rem; opacity: 0.9; }
.dir-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #fff;
    color: var(--dir-navy) !important;
    font-weight: 800;
    font-size: 0.78rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    text-decoration: none !important;
}
.dir-cta-art { font-size: 2.5rem; line-height: 1; opacity: 0.95; }

/* Category tiles */
.dir-cat-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.65rem;
}
@media (max-width: 480px) {
    .dir-cat-tiles { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
}
.dir-cat-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding: 0.85rem 0.35rem;
    background: var(--dir-card);
    border-radius: 14px;
    border: 1px solid var(--dir-border);
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    box-shadow: var(--dir-shadow);
    transition: transform .15s, box-shadow .15s;
}
.dir-cat-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(30, 58, 95, 0.1);
}
.dir-cat-tile-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    background: hsl(var(--tile-hue, 210) 55% 92%);
}
.dir-cat-tile-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.35;
}

.dir-section-link {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--dir-primary);
    text-decoration: none !important;
    white-space: nowrap;
}

/* Featured scroll */
.dir-featured-scroll {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.35rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.dir-featured-scroll::-webkit-scrollbar { display: none; }
.dir-featured-card {
    flex: 0 0 220px;
    scroll-snap-align: start;
}
.dir-featured-card-link {
    display: block;
    background: var(--dir-card);
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--dir-border);
    box-shadow: var(--dir-shadow);
    text-decoration: none !important;
    color: inherit !important;
}
.dir-featured-card-media {
    position: relative;
    height: 130px;
    background: linear-gradient(135deg, #dbeafe, #e0e7ff);
}
.dir-featured-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dir-featured-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: 800;
    color: var(--dir-primary);
    background: linear-gradient(135deg, #dbeafe, #ede9fe);
}
.dir-fav-btn {
    position: absolute;
    top: 8px;
    left: 8px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--dir-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.dir-fav-btn.is-active { color: #e11d48; }
.dir-fav-btn.is-active svg { fill: #fecdd3; }
.dir-featured-card-body { padding: 0.65rem 0.75rem 0.75rem; }
.dir-featured-cat {
    display: block;
    font-size: 0.68rem;
    color: var(--dir-primary);
    font-weight: 700;
    margin-bottom: 0.15rem;
}
.dir-featured-card-body strong {
    display: block;
    font-size: 0.85rem;
    font-weight: 800;
    color: var(--dir-navy);
    line-height: 1.35;
}
.dir-featured-loc {
    display: block;
    font-size: 0.72rem;
    color: var(--dir-muted);
    margin-top: 0.2rem;
}

/* Legacy header aliases — hidden */
.dir-header { display: none !important; }

.dir-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 44, 49, 0.45);
    backdrop-filter: blur(2px);
}
.dir-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1060;
    width: min(300px, 88vw);
    height: 100dvh;
    background: var(--dir-card);
    box-shadow: -8px 0 32px rgba(15, 44, 49, 0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(0);
    transition: transform .25s ease;
}
.dir-drawer.hidden { transform: translateX(100%); display: flex !important; }
.dir-drawer-backdrop.hidden { display: none !important; }
body.dir-drawer-open { overflow: hidden; }
.dir-drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--dir-border);
    flex-shrink: 0;
}
.dir-drawer-title {
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dir-drawer-close {
    border: none;
    background: var(--dir-bg);
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.dir-drawer-nav {
    padding: 0.35rem 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.dir-drawer-link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.42rem 0.65rem;
    border-radius: 8px;
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.3;
}
.dir-drawer-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--dir-accent-light, #f0f9fa);
    color: var(--dir-accent, #0d9488);
}
.dir-drawer-icon svg { width: 16px; height: 16px; }
.dir-drawer-link-primary .dir-drawer-icon {
    background: rgba(255,255,255,.85);
    color: var(--dir-accent, #0d9488);
}
.dir-drawer-link-sub .dir-drawer-icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
}
.dir-drawer-link-sub .dir-drawer-icon svg { width: 13px; height: 13px; }
.dir-drawer-summary .dir-drawer-icon {
    width: 28px;
    height: 28px;
}
.dir-drawer-summary-label { flex: 1; min-width: 0; }
.dir-drawer-link:hover { background: var(--dir-accent-light); }
.dir-drawer-link-ads {
    background: #fff7ed;
    color: #9a3412 !important;
    border: 1px solid #fdba74;
    margin: 0.15rem 0;
}
.dir-drawer-link-ads .dir-drawer-icon {
    background: #ffedd5;
    color: #c2410c;
}
.dir-drawer-link-ads:hover {
    background: #ffedd5 !important;
}
.dir-drawer-link-primary {
    background: var(--dir-accent-light);
    color: var(--dir-accent) !important;
}
.dir-drawer-section {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--dir-muted);
    padding: 0.65rem 0.85rem 0.2rem;
    margin-top: 0.25rem;
}
.dir-drawer-link-sub { font-size: 0.78rem; padding: 0.32rem 0.65rem 0.32rem 1rem !important; }
.dir-drawer-details {
    border-radius: 10px;
    overflow: hidden;
}
.dir-drawer-summary {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.42rem 0.65rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--dir-muted, #64748b);
    cursor: pointer;
    list-style: none;
    border-radius: 10px;
    user-select: none;
}
.dir-drawer-summary::-webkit-details-marker { display: none; }
.dir-drawer-summary:hover { background: var(--dir-accent-light, #f0f9fa); }
.dir-drawer-chevron {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: transform .2s ease;
    color: var(--dir-muted, #94a3b8);
}
.dir-drawer-details[open] .dir-drawer-chevron { transform: rotate(180deg); }
.dir-drawer-sub {
    display: flex;
    flex-direction: column;
    gap: 0.06rem;
    padding: 0.05rem 0 0.15rem;
}
.dir-portal-hero {
    padding: 1.5rem 0 0.5rem;
    text-align: center;
}
.dir-portal-title {
    font-size: 1.25rem;
    font-weight: 800;
    margin: 0 0 0.35rem;
}
.dir-portal-lead { font-size: 0.88rem; margin: 0; }
.dir-portal-menu { padding: 0.5rem 0 2rem; }

.dir-hub-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 44, 49, 0.45);
    backdrop-filter: blur(2px);
}
.dir-hub-sheet {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1060;
    max-height: min(88dvh, 640px);
    background: var(--dir-card);
    border-radius: 0 0 20px 20px;
    box-shadow: 0 12px 40px rgba(15, 44, 49, 0.18);
    display: flex;
    flex-direction: column;
    transform: translateY(0);
    transition: transform .25s ease;
}
.dir-hub-sheet.hidden {
    transform: translateY(-105%);
    display: flex !important;
}
.dir-hub-backdrop.hidden { display: none !important; }
body.dir-hub-open { overflow: hidden; }
.dir-hub-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--dir-border);
    color: var(--dir-navy);
}
.dir-hub-sheet-close {
    border: none;
    background: var(--dir-bg);
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--dir-navy);
}
.dir-hub-sheet-body {
    padding: 0.85rem 1rem 1.1rem;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.dir-home-grid-compact { gap: 0.5rem; }
.dir-home-card-compact {
    padding: 0.7rem 0.85rem;
    border-radius: 12px;
}
.dir-home-card-compact .dir-home-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
}
.dir-home-card-compact .dir-home-card-icon svg { width: 18px; height: 18px; }
.dir-home-card-compact .dir-home-card-body strong { font-size: 0.84rem; }
.dir-home-card-compact .dir-home-card-body em { font-size: 0.72rem; }

.directory-page .dir-section-ads { margin-bottom: 0.5rem; }
.directory-page .dir-section-ads .verify-portal-ads-wrap {
    padding: 0;
    max-width: none;
}
.directory-page .dir-section-ads .verify-portal-ad {
    border-color: var(--dir-border);
    border-radius: 10px;
}
.directory-page .dir-section-ads .verify-portal-ad-empty {
    background: var(--dir-bg);
    border-color: var(--dir-border);
    color: var(--dir-muted);
    font-size: 0.72rem;
}
.dir-drawer { display: flex; flex-direction: column; overflow: hidden; }
.dir-drawer-foot {
    margin-top: auto;
    padding: 0.45rem 0.75rem 0.55rem;
    border-top: 1px solid var(--dir-border);
    text-align: center;
    flex-shrink: 0;
}
.dir-drawer-enamad img { width: 40px !important; height: 40px !important; min-width: 40px; min-height: 40px; }
.dir-drawer-version { font-size: 0.72rem; color: var(--dir-muted); margin: 0.35rem 0 0; }
.dir-drawer-version-date { font-size: 0.68rem; color: var(--dir-muted); margin: 0.15rem 0 0; }
.dir-owner-enamad-inner img { width: 40px !important; height: 40px !important; }
.dir-owner-version, .dir-owner-version-date { margin-top: 0.25rem !important; }
.dir-topbar-btn-logout {
    background: #c0392b !important;
    color: #fff !important;
    border-radius: 10px;
}
.dir-topbar-btn-logout:hover { background: #a93226 !important; color: #fff !important; }

.chamber-admin-subnav .nav-link {
    color: var(--dir-navy, #0f2c31);
    border-radius: 8px;
    padding: 0.45rem 0.85rem;
    font-weight: 600;
    font-size: 0.88rem;
}
.chamber-admin-subnav .nav-link.active {
    background: var(--dir-accent-light, #e6f4f1);
    color: var(--dir-accent, #0d9488);
}
.dir-topbar-logout-form { display: inline; margin: 0; }
.dir-icon-color-input { width: 4.5rem !important; height: 2.75rem !important; padding: 0.15rem; cursor: pointer; }
.dir-icon-color-preview { display: inline-block; width: 2.75rem; height: 2.75rem; border-radius: 8px; border: 1px solid var(--gov-border); }
.dir-icon-color-code { font-size: 0.85rem; }
.admin-password-field { font-family: Consolas, monospace; direction: ltr; text-align: left; }

.dir-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 1.25rem;
    padding: 1.35rem 1.1rem;
    background: linear-gradient(135deg, var(--dir-navy) 0%, #1a5276 55%, #2471a3 100%);
    border-radius: var(--dir-radius);
    color: #fff;
    box-shadow: 0 8px 28px rgba(15, 44, 49, 0.18);
}
.dir-hero-premium { padding: 1.5rem 1.15rem; }
.dir-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image:
        radial-gradient(circle at 20% 30%, #fff 1px, transparent 1px),
        radial-gradient(circle at 80% 70%, #fff 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}
.dir-hero-content { position: relative; z-index: 1; }
.dir-hero-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.22);
    margin-bottom: 0.55rem;
}
.dir-hero-badge-light {
    background: var(--dir-accent-light);
    color: var(--dir-accent);
    border-color: transparent;
}
.dir-stats-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
    justify-content: center;
}
.dir-stat-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 88px;
    padding: 0.55rem 0.85rem;
    border-radius: 10px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(4px);
}
.dir-stat-pill strong { font-size: 1.05rem; font-weight: 800; line-height: 1.2; }
.dir-stat-pill span { font-size: 0.68rem; opacity: 0.85; margin-top: 0.1rem; }
.dir-hero-home { text-align: center; }
.dir-hero-compact { padding: 1.15rem 1rem; }
.dir-hero-title { font-size: 1.2rem; font-weight: 800; margin: 0 0 0.35rem; line-height: 1.45; }
.dir-hero-desc { margin: 0; font-size: 0.85rem; opacity: 0.9; line-height: 1.55; }

.dir-search-panel {
    background: var(--dir-card);
    border-radius: var(--dir-radius);
    padding: 1rem;
    margin-bottom: 1.25rem;
    box-shadow: var(--dir-shadow);
    border: 1px solid var(--dir-border);
}
.dir-search-panel-premium {
    border-top: 3px solid var(--dir-accent);
    box-shadow: 0 4px 20px rgba(15, 44, 49, 0.07);
}
.dir-search-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--dir-navy);
    margin-bottom: 0.45rem;
}
.dir-search-bar {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--dir-bg);
    border: 1px solid var(--dir-border);
    border-radius: 10px;
    padding: 0.35rem 0.35rem 0.35rem 0.75rem;
}
.dir-search-bar-icon { color: var(--dir-muted); flex-shrink: 0; }
.dir-search-input {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0.45rem 0 !important;
    font-size: 0.9rem;
}
.dir-search-submit { border-radius: 8px !important; white-space: nowrap; padding: 0.45rem 1rem !important; }
.dir-filter-toggle {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.75rem;
    border: none;
    background: none;
    color: var(--dir-accent);
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.25rem 0;
    cursor: pointer;
}
.dir-filter-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--dir-border);
}
.dir-filter-field .form-label { font-size: 0.72rem; font-weight: 600; color: var(--dir-muted); margin-bottom: 0.2rem; }
.dir-filter-actions { grid-column: 1 / -1; display: flex; gap: 0.5rem; }
@media (min-width: 640px) {
    .dir-filter-grid { grid-template-columns: repeat(3, 1fr); }
    .dir-filter-actions { grid-column: auto; align-items: end; }
}

.dir-section { margin-bottom: 1.5rem; }
.dir-section-head { margin-bottom: 0.85rem; }
.dir-section-head-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}
.dir-section-badge {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: var(--dir-accent-light);
    color: var(--dir-accent);
}
.dir-section-title { font-size: 1.02rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.15rem; }
.dir-section-desc { font-size: 0.8rem; color: var(--dir-muted); margin: 0; }

.dir-breadcrumb { margin-bottom: 0; }
.dir-breadcrumb-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    list-style: none;
    padding: 0.45rem 0.75rem;
    margin: 0;
    font-size: 0.72rem;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.dir-breadcrumb-list::-webkit-scrollbar { display: none; }
.dir-unit-page .dir-breadcrumb {
    border-bottom: 1px solid var(--dir-border);
    background: #f8fafc;
}
.dir-breadcrumb-item { color: var(--dir-muted); white-space: nowrap; flex-shrink: 0; }
.dir-breadcrumb-item:not(:last-child)::after { content: '›'; margin: 0 0.35rem; opacity: 0.5; }
.dir-breadcrumb-item a { color: var(--dir-accent); text-decoration: none; }
.dir-breadcrumb-item.active span { color: var(--dir-navy); font-weight: 600; }

.dir-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.65rem;
}
@media (min-width: 640px) {
    .dir-cat-grid { grid-template-columns: repeat(3, 1fr); }
    .dir-cat-grid-trades { grid-template-columns: repeat(2, 1fr); }
}
.dir-cat-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.9rem 0.85rem;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    box-shadow: var(--dir-shadow);
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .18s, box-shadow .18s, border-color .18s;
    overflow: hidden;
}
.dir-cat-card-premium:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(15, 44, 49, 0.12);
    border-color: color-mix(in srgb, var(--dir-accent) 40%, var(--dir-border));
}
.dir-cat-accent {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--dir-accent);
    border-radius: 0 var(--dir-radius) var(--dir-radius) 0;
}
.dir-cat-icon {
    width: 42px;
    height: 42px;
    border-radius: 11px;
    background: color-mix(in srgb, var(--dir-accent) 14%, #fff);
    color: var(--dir-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dir-cat-chevron {
    color: var(--dir-muted);
    opacity: 0.45;
    flex-shrink: 0;
}
.dir-cat-chevron svg { width: 18px; height: 18px; display: block; }
.dir-cat-icon svg { width: 20px; height: 20px; }
.dir-cat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.dir-cat-body strong { font-size: 0.85rem; line-height: 1.35; color: var(--dir-navy); }
.dir-cat-body em { font-style: normal; font-size: 0.75rem; color: var(--dir-muted); }
.dir-cat-card-sm { padding: 0.65rem; }
.dir-cat-card-sm .dir-cat-icon { display: none; }
.dir-cat-arrow { color: var(--dir-muted); opacity: 0.4; font-size: 1.2rem; transform: rotate(180deg); }

.dir-unit-list { display: flex; flex-direction: column; gap: 0.55rem; }
.dir-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.65rem;
    padding: 0 0.15rem;
}
.dir-results-count { font-size: 0.78rem; color: var(--dir-muted); font-weight: 600; }
.dir-unit-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1rem 0.9rem 0.85rem;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    text-decoration: none !important;
    color: inherit !important;
    box-shadow: var(--dir-shadow);
    transition: border-color .18s, transform .18s, box-shadow .18s;
    overflow: hidden;
}
.dir-unit-card-premium:hover {
    border-color: color-mix(in srgb, var(--dir-accent) 45%, var(--dir-border));
    transform: translateX(-3px);
    box-shadow: 0 6px 20px rgba(15, 44, 49, 0.1);
}
.dir-unit-card-accent {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    opacity: 0.85;
}
.dir-unit-card-accent.dir-status-active { background: #16a34a; }
.dir-unit-card-accent.dir-status-expired { background: #dc2626; }
.dir-unit-card-accent.dir-status-suspended { background: #d97706; }
.dir-unit-card-accent.dir-status-revoked,
.dir-unit-card-accent.dir-status-muted { background: #64748b; }
.dir-unit-card-main { flex: 1; min-width: 0; padding-right: 0.35rem; }
.dir-unit-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}
.dir-unit-card-top strong { font-size: 0.92rem; color: var(--dir-navy); line-height: 1.4; }
.dir-unit-num {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--dir-muted);
    background: var(--dir-bg);
    padding: 0.15rem 0.4rem;
    border-radius: 6px;
}
.dir-unit-meta-row { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.dir-unit-meta { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.76rem; color: var(--dir-muted); }
.dir-unit-card-end { display: flex; flex-direction: column; align-items: flex-end; gap: 0.35rem; flex-shrink: 0; }
.dir-unit-chevron { color: var(--dir-muted); opacity: 0.35; }
.dir-unit-chevron svg { width: 16px; height: 16px; display: block; }

.dir-status {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
}
.dir-status-lg { font-size: 0.78rem; padding: 0.3rem 0.75rem; }
.dir-status-active { background: #dcfce7; color: #166534; }
.dir-status-expired { background: #fee2e2; color: #991b1b; }
.dir-status-suspended { background: #fef3c7; color: #92400e; }
.dir-status-revoked, .dir-status-muted { background: #f1f5f9; color: #475569; }

.dir-unit-detail {
    background: var(--dir-card);
    border-radius: var(--dir-radius);
    border: 1px solid var(--dir-border);
    box-shadow: var(--dir-shadow);
    padding: 0;
    margin-bottom: 1rem;
    overflow: hidden;
}
.dir-unit-detail-premium { box-shadow: 0 6px 28px rgba(15, 44, 49, 0.08); }
.dir-unit-detail-hero {
    padding: 1.25rem 1.15rem 1rem;
    background: linear-gradient(180deg, var(--dir-bg) 0%, var(--dir-card) 100%);
    border-bottom: 1px solid var(--dir-border);
}
.dir-unit-detail-head { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.dir-unit-detail-title h1 { font-size: 1.2rem; font-weight: 800; color: var(--dir-navy); margin: 0.35rem 0 0.65rem; line-height: 1.45; }
.dir-unit-detail-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.dir-unit-id { font-size: 0.76rem; color: var(--dir-muted); background: var(--dir-bg); padding: 0.3rem 0.55rem; border-radius: 8px; font-weight: 700; }
.dir-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
}
.dir-quick-action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 0.85rem;
    border-radius: 10px;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    color: var(--dir-accent) !important;
    font-size: 0.82rem;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: var(--dir-shadow);
    transition: border-color .15s, background .15s;
}
.dir-quick-action:hover { border-color: var(--dir-accent); background: var(--dir-accent-light); }
.dir-unit-operator { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 0; padding: 1.15rem; }
.dir-unit-operator-premium {
    margin: 0;
    border-bottom: 1px solid var(--dir-border);
}
.dir-unit-operator-info { display: flex; flex-direction: column; gap: 0.1rem; }
.dir-unit-operator-sub { font-size: 0.75rem; color: var(--dir-muted); }
.dir-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; padding: 1.15rem; }
.dir-info-grid-premium { padding-top: 1rem; }
.dir-info-item {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    background: var(--dir-bg);
    border-radius: 10px;
    padding: 0.7rem 0.75rem;
    border: 1px solid transparent;
    transition: border-color .15s;
}
.dir-info-item:hover { border-color: var(--dir-border); }
.dir-info-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--dir-card);
    color: var(--dir-accent);
}
.dir-info-item > div { min-width: 0; flex: 1; }
.dir-unit-operator-photo {
    width: 72px;
    height: 72px;
    border-radius: 12px;
    object-fit: cover;
    border: 2px solid var(--dir-border);
}
.dir-unit-operator-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dir-accent-light);
    color: var(--dir-accent);
    font-size: 1.5rem;
    font-weight: 700;
}
.dir-unit-operator-label { font-size: 0.72rem; color: var(--dir-muted); display: block; }
.dir-info-item-wide { grid-column: 1 / -1; }
.dir-info-item span { display: block; font-size: 0.7rem; color: var(--dir-muted); margin-bottom: 0.12rem; }
.dir-info-item strong { font-size: 0.85rem; color: var(--dir-navy); font-weight: 600; line-height: 1.45; }

.dir-social-block { margin-top: 0; padding: 1rem 1.15rem 1.15rem; border-top: 1px solid var(--dir-border); }
.dir-social-block-premium { background: var(--dir-bg); }
.dir-social-title { font-size: 0.88rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.65rem; }
.dir-social-title-center { text-align: center; }
.dir-disclaimer {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    font-size: 0.78rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
    margin-bottom: 0.75rem;
    line-height: 1.5;
}
.dir-social-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.dir-social-link {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: var(--dir-accent-light);
    color: var(--dir-accent) !important;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background .15s;
}
.dir-social-link:hover { background: #d4e8f4; }
.dir-social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    align-items: stretch;
}
.dir-social-icon-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 72px;
    max-width: 110px;
    padding: 0.65rem 0.5rem;
    border-radius: 12px;
    background: var(--dir-accent-light);
    color: var(--dir-primary) !important;
    text-decoration: none !important;
    transition: background .15s, transform .15s;
}
.dir-social-icon-btn:hover { background: #d4e8f4; transform: translateY(-1px); }
.dir-social-icon-label {
    font-size: 0.68rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.35;
    word-break: break-all;
}
.dir-verify-wrap { padding-top: 0.5rem; padding-bottom: 1rem; }
.dir-verify-wrap .verify-portal-card { margin-bottom: 0.85rem; }

.dir-wg-list { display: flex; flex-direction: column; gap: 0.75rem; }
.dir-wg-card {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1rem;
    box-shadow: var(--dir-shadow);
}
.dir-wg-card-title { font-size: 0.95rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.5rem; }
.dir-wg-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.5rem; }
.dir-tag { font-size: 0.68rem; padding: 0.15rem 0.5rem; background: var(--dir-bg); border-radius: 999px; color: var(--dir-muted); }
.dir-wg-address { font-size: 0.82rem; color: var(--dir-muted); margin-bottom: 0.65rem; }
.dir-wg-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.65rem; }
.dir-wg-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 8px;
    border: 1px solid var(--dir-border);
    font-size: 0.78rem;
    text-decoration: none !important;
    color: var(--dir-accent) !important;
    background: #fff;
}
.dir-wg-members { display: grid; grid-template-columns: 1fr; gap: 0.5rem; }
@media (min-width: 480px) { .dir-wg-members { grid-template-columns: 1fr 1fr; } }
.dir-wg-member { display: flex; gap: 0.5rem; align-items: center; }
.dir-wg-member-photo {
    width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
}
.dir-wg-member-photo-empty {
    display: flex; align-items: center; justify-content: center;
    background: var(--dir-accent-light); color: var(--dir-accent); font-weight: 700;
}
.dir-wg-member-info strong { display: block; font-size: 0.82rem; }
.dir-wg-member-info span { font-size: 0.72rem; color: var(--dir-muted); }
.dir-wg-member-info a { font-size: 0.72rem; }
.dir-wg-card-link {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    transition: border-color .15s, box-shadow .15s;
}
.dir-wg-card-link:hover {
    border-color: var(--dir-accent);
    box-shadow: 0 4px 16px rgba(30, 58, 95, 0.1);
}
.dir-wg-card-more {
    display: block;
    margin-top: 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--dir-primary);
}
.dir-wg-members-compact .dir-wg-member-photo { width: 36px; height: 36px; }
.dir-wg-detail {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    box-shadow: var(--dir-shadow);
    overflow: hidden;
}
.dir-wg-detail-head {
    padding: 1.15rem 1rem 1rem;
    background: linear-gradient(135deg, #2c5282 0%, #1e3a5f 100%);
    color: #fff;
}
.dir-wg-detail-title { font-size: 1.15rem; font-weight: 800; margin: 0 0 0.5rem; color: #fff; }
.dir-wg-detail-address,
.dir-wg-detail-phone {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    font-size: 0.84rem;
    margin: 0.35rem 0 0;
    color: rgba(255,255,255,.92);
    line-height: 1.55;
}
.dir-wg-detail-phone a { color: #fff; font-weight: 700; }
.dir-wg-detail-block { padding: 1rem; border-top: 1px solid var(--dir-border); }
.dir-wg-detail-label { font-size: 0.88rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.65rem; }
.dir-tag-link { text-decoration: none !important; color: var(--dir-primary) !important; background: var(--dir-accent-light); }
.dir-tag-trade { background: #f0fdf4; color: #166534 !important; }
.dir-wg-members-grid {
    grid-template-columns: 1fr;
}
@media (min-width: 520px) {
    .dir-wg-members-grid { grid-template-columns: 1fr 1fr; }
}
.dir-wg-member-card {
    padding: 0.65rem;
    border: 1px solid var(--dir-border);
    border-radius: 12px;
    background: var(--dir-bg);
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.dir-wg-members-grid .dir-wg-member-photo {
    width: 100%;
    max-width: 108px;
    height: auto;
    aspect-ratio: 3 / 4;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}
.dir-wg-members-grid .dir-wg-member-photo-empty {
    width: 100%;
    max-width: 108px;
    height: auto;
    aspect-ratio: 3 / 4;
    border-radius: 10px;
    font-size: 1.35rem;
}
.dir-wg-members-grid .dir-wg-member-info {
    width: 100%;
    margin-top: 0.35rem;
}
.dir-wg-member-role { display: block; color: var(--dir-primary); font-weight: 600; }
.dir-wg-member-mobile { display: block; font-size: 0.78rem; font-weight: 700; margin-top: 0.15rem; }
.dir-wg-detail-actions { padding: 0 1rem 1rem; }
.dir-wg-map-btn { border-radius: 12px !important; font-weight: 700; }

.dir-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 2.75rem 1.25rem;
    color: var(--dir-muted);
    background: var(--dir-card);
    border: 1px dashed var(--dir-border);
    border-radius: var(--dir-radius);
}
.dir-empty-premium strong { display: block; font-size: 0.95rem; color: var(--dir-navy); margin-bottom: 0.35rem; }
.dir-empty-premium p { margin: 0; font-size: 0.82rem; line-height: 1.55; }
.dir-empty-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 0.85rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--dir-bg);
    color: var(--dir-muted);
    opacity: 0.55;
}
.dir-info-card {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1rem 1.05rem;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    box-shadow: var(--dir-shadow);
}
.dir-info-card-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fffbeb;
    color: #92400e;
}
.dir-info-card-premium p { margin: 0.25rem 0 0; color: var(--dir-muted); font-size: 0.82rem; line-height: 1.5; }
.dir-info-card-warning { background: #fffbeb; border-color: #fde68a; }
.dir-complaint-card-premium { margin-top: 0.5rem; }
.dir-complaint-head strong { display: block; font-size: 0.92rem; }
.dir-complaint-head span { display: block; font-size: 0.72rem; color: var(--dir-muted); margin-top: 0.1rem; }
.dir-complaint-step-badge {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: var(--dir-accent-light);
    color: var(--dir-accent);
}
.dir-complaint-steps {
    display: flex;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
}
.dir-complaint-step {
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: var(--dir-bg);
    color: var(--dir-muted);
}
.dir-complaint-step.active {
    background: var(--dir-accent);
    color: #fff;
}
.dir-complaint-card {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    overflow: hidden;
    box-shadow: var(--dir-shadow);
}
.dir-complaint-head {
    padding: 0.85rem 1rem;
    background: var(--dir-bg);
    border-bottom: 1px solid var(--dir-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dir-complaint-head span { font-size: 0.75rem; color: var(--dir-muted); }
.dir-complaint-body { padding: 1rem; }
.dir-complaint-row { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }

.dir-pagination { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 1.15rem; justify-content: center; }
.dir-page-btn {
    min-width: 38px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 10px; border: 1px solid var(--dir-border);
    text-decoration: none !important; color: var(--dir-navy) !important;
    font-size: 0.85rem; font-weight: 600;
    background: var(--dir-card);
    transition: all .15s;
}
.dir-page-btn:hover { border-color: var(--dir-accent); color: var(--dir-accent) !important; }
.dir-page-btn.active { background: var(--dir-accent); color: #fff !important; border-color: var(--dir-accent); box-shadow: 0 4px 12px rgba(26, 82, 118, 0.25); }

.dir-auth-card {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1.35rem 1.25rem;
    box-shadow: var(--dir-shadow);
}
.dir-auth-card-premium {
    box-shadow: 0 8px 28px rgba(15, 44, 49, 0.1);
    border-top: 3px solid var(--dir-accent);
}
.dir-auth-submit { padding: 0.7rem !important; font-weight: 700; border-radius: 10px !important; }
.dir-auth-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 0.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.2);
}
.dir-hero-auth { text-align: center; }
.dir-auth-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-bottom: 1rem;
}
.dir-auth-step {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    color: var(--dir-muted);
}
.dir-auth-step.active { background: var(--dir-accent); border-color: var(--dir-accent); color: #fff; }
.dir-auth-step.done { background: var(--dir-accent-light); border-color: transparent; color: var(--dir-accent); }
.dir-auth-step-line { width: 24px; height: 2px; background: var(--dir-border); border-radius: 1px; }
.dir-input-wrap { position: relative; }
.dir-input-icon {
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--dir-muted);
    pointer-events: none;
}
.dir-input-icon-pad { padding-right: 2.5rem !important; }
.dir-input-otp {
    letter-spacing: 0.35em;
    text-align: center;
    font-weight: 700;
}
.dir-auth-hint {
    margin: 1rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid var(--dir-border);
    font-size: 0.78rem;
    color: var(--dir-muted);
    text-align: center;
    line-height: 1.55;
}
.dir-alert { border-radius: 10px; font-size: 0.85rem; }

.dir-home-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.65rem;
}
@media (min-width: 480px) {
    .dir-home-grid { grid-template-columns: 1fr 1fr; }
}
.dir-home-card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    box-shadow: var(--dir-shadow);
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    transition: border-color 0.15s, box-shadow 0.15s;
}
.dir-home-card:hover {
    border-color: var(--dir-accent);
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.dir-home-card-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: color-mix(in srgb, var(--dir-accent) 12%, transparent);
    color: var(--dir-accent);
}
.dir-home-card-icon svg { width: 22px; height: 22px; }
.dir-home-card-icon-blue { background: #dbeafe; color: #2563eb; }
.dir-home-card-icon-green { background: #dcfce7; color: #16a34a; }
.dir-home-card-icon-purple { background: #ede9fe; color: #7c3aed; }
.dir-home-card-icon-orange { background: #ffedd5; color: #ea580c; }
.dir-home-card-icon-teal { background: #ccfbf1; color: #0d9488; }
.dir-home-card-icon-amber { background: #fef3c7; color: #d97706; }
.dir-home-card-icon-slate { background: #e2e8f0; color: #475569; }
.dir-home-card-blue .dir-home-card-icon { background: #dbeafe; color: #2563eb; }
.dir-home-card-green .dir-home-card-icon { background: #dcfce7; color: #16a34a; }
.dir-home-card-purple .dir-home-card-icon { background: #ede9fe; color: #7c3aed; }
.dir-home-card-orange .dir-home-card-icon { background: #ffedd5; color: #ea580c; }
.dir-home-card-teal .dir-home-card-icon { background: #ccfbf1; color: #0d9488; }
.dir-home-card-amber .dir-home-card-icon { background: #fef3c7; color: #d97706; }
.dir-home-card-slate .dir-home-card-icon { background: #e2e8f0; color: #475569; }
.dir-home-card-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.dir-home-card-body strong { font-size: 0.9rem; font-weight: 800; }
.dir-home-card-body em { font-size: 0.75rem; color: var(--dir-muted); font-style: normal; }
.dir-home-card-arrow { color: var(--dir-muted); font-size: 1.25rem; line-height: 1; }

.dir-chamber-page {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1.25rem 1rem;
    box-shadow: var(--dir-shadow);
}
.dir-chamber-content { font-size: 0.92rem; line-height: 1.75; color: var(--dir-navy); }
.dir-chamber-content h1, .dir-chamber-content h2, .dir-chamber-content h3 {
    font-weight: 800;
    margin: 1rem 0 0.5rem;
    color: var(--dir-navy);
}
.dir-chamber-content h1 { font-size: 1.15rem; }
.dir-chamber-content h2 { font-size: 1.05rem; }
.dir-chamber-content h3 { font-size: 0.95rem; }
.dir-chamber-content p { margin: 0 0 0.65rem; }
.dir-chamber-content a { color: var(--dir-accent); text-decoration: underline; }
.dir-chamber-content img { max-width: 100%; height: auto; border-radius: 8px; }
.dir-chamber-content .chamber-logo { text-align: center; margin-bottom: 1rem; }
.dir-chamber-content iframe { max-width: 100%; border-radius: 8px; border: 1px solid var(--dir-border); }

/* Verify — complaint track (premium) */
.verify-pwa-appbar-premium {
    background: linear-gradient(135deg, var(--gov-navy) 0%, #1a5276 100%);
    box-shadow: 0 2px 12px rgba(15, 44, 49, 0.15);
}
.verify-track-pro .verify-portal-card { border-top: 3px solid var(--gov-accent); }
.verify-track-card { padding: 1.35rem 1.15rem !important; }
.verify-track-head {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.15rem;
}
.verify-track-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #e8f2f8;
    color: var(--gov-accent);
}
.verify-track-title { font-size: 1.05rem; font-weight: 800; color: var(--gov-navy); margin: 0 0 0.2rem; }
.verify-track-desc { font-size: 0.82rem; color: var(--gov-muted); margin: 0; }
.verify-track-input-wrap { margin-top: 0.35rem; }
.verify-track-code {
    letter-spacing: 0.12em;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
.verify-track-submit { border-radius: 10px !important; font-weight: 700; }
.verify-track-alert {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1rem;
    padding: 0.75rem 0.85rem;
    border-radius: 10px;
    font-size: 0.85rem;
}
.verify-track-alert-warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }
.verify-track-result {
    margin-top: 1.15rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--gov-border);
}
.verify-track-result-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
}
.verify-track-archived {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
}
.verify-track-result-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}
.verify-track-field {
    background: #f4f7f9;
    border-radius: 10px;
    padding: 0.65rem 0.75rem;
}
.verify-track-field-wide { grid-column: 1 / -1; }
.verify-track-field span { display: block; font-size: 0.7rem; color: var(--gov-muted); margin-bottom: 0.12rem; }
.verify-track-field strong { font-size: 0.85rem; color: var(--gov-navy); font-weight: 700; line-height: 1.45; }
.verify-portal-brand-compact { margin-bottom: 1rem !important; }

.btn-primary {
    background-color: var(--gov-accent);
    border-color: var(--gov-accent);
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--gov-accent-hover);
    border-color: var(--gov-accent-hover);
}

.dir-verify-wrap { padding-top: 0.5rem; padding-bottom: 1rem; }
.dir-verify-wrap .verify-portal-card { margin-bottom: 0.85rem; }

/* Search page — mockup layout */
.dir-search-panel-mockup {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1rem;
    box-shadow: var(--dir-shadow);
    margin-bottom: 1rem;
}
.dir-search-bar-mockup {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid var(--dir-border);
    border-radius: 999px;
    background: var(--dir-bg);
    margin-bottom: 0.75rem;
}
.dir-search-input-mockup {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0.45rem 0 !important;
}
.dir-search-input-mockup:focus { box-shadow: none !important; }
.dir-filter-accordion-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--dir-border);
    border-radius: 10px;
    background: var(--dir-bg);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--dir-navy);
    margin-bottom: 0.5rem;
}
.dir-filter-rows-inline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    padding-bottom: 0.5rem;
}
@media (max-width: 991px) {
    .dir-filter-rows-inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 479px) {
    .dir-filter-rows-inline { grid-template-columns: 1fr; }
}
.dir-filter-rows { display: flex; flex-direction: column; gap: 0.45rem; padding-bottom: 0.5rem; }
.dir-filter-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--dir-border);
    border-radius: 10px;
    background: #fff;
    margin: 0;
}
.dir-filter-rows-inline .dir-filter-row > span { font-size: 0.78rem; font-weight: 600; color: var(--dir-navy); }
.dir-filter-rows-inline .dir-filter-row select { width: 100%; max-width: none; border: 1px solid var(--dir-border); background: #fff; border-radius: 10px; }
.dir-city-select optgroup { font-weight: 700; color: var(--dir-navy); }
.dir-filter-row > span { font-size: 0.82rem; font-weight: 600; color: var(--dir-navy); white-space: nowrap; }
.dir-filter-row select { max-width: 58%; border: none; background: transparent; box-shadow: none; }
.dir-search-submit-mockup {
    border-radius: 12px !important;
    font-weight: 700;
    padding: 0.7rem 1rem;
    margin-top: 0.35rem;
}

/* Unit profile — mockup layout v2 */
.dir-container-unit { padding: 0.5rem 0.85rem 1.25rem; max-width: 480px; margin-inline: auto; }
.dir-unit-page {
    background: var(--dir-card);
    border-radius: var(--dir-radius);
    overflow: hidden;
    box-shadow: var(--dir-shadow);
    border: 1px solid var(--dir-border);
    margin-bottom: 0.5rem;
}
.dir-unit-hero {
    position: relative;
    padding: 1.15rem 1rem 2.25rem;
    text-align: center;
    color: #fff;
    overflow: hidden;
}
.dir-unit-hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(145deg, #2c5282 0%, #1e3a5f 55%, #152a45 100%);
}
.dir-unit-hero-bg::after {
    content: '';
    position: absolute;
    left: -10%;
    right: -10%;
    bottom: -1px;
    height: 42px;
    background: var(--dir-card);
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}
.dir-unit-hero-content { position: relative; z-index: 1; }
.dir-unit-hero-title {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 0.55rem;
    line-height: 1.4;
    color: #fff;
}
.dir-unit-hero-badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-bottom: 0.45rem;
}
.dir-unit-hero-badges .dir-unit-id {
    background: rgba(255,255,255,.18);
    color: #fff;
    border: 1px solid rgba(255,255,255,.25);
}
.dir-unit-hero-badges .dir-status-active { background: #dcfce7; color: #166534; }
.dir-unit-hero-sub,
.dir-unit-hero-operator {
    font-size: 0.84rem;
    margin: 0.2rem 0 0;
    color: rgba(255,255,255,.88);
}
.dir-unit-hero-operator strong { font-weight: 700; color: #fff; }
.dir-unit-sheet { padding: 0 0.85rem 1rem; margin-top: -0.85rem; position: relative; z-index: 2; }
.dir-unit-section {
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--dir-border);
}
.dir-unit-section:last-of-type { border-bottom: none; }
.dir-unit-section-title {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.75rem;
    line-height: 1.5;
}
.dir-unit-section-title-center { justify-content: center; text-align: center; }
.dir-info-grid-unit {
    padding: 0;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
}
.dir-info-grid-unit .dir-info-item {
    background: #f8fafc;
    border: 1px solid var(--dir-border);
    border-radius: 12px;
    padding: 0.65rem 0.7rem;
}
.dir-info-grid-unit .dir-info-item-wide { grid-column: 1 / -1; }
.dir-unit-section-social .dir-disclaimer { margin-top: 0.85rem; margin-bottom: 0; }
.dir-unit-social-empty {
    background: #f8fafc;
    border: 1px dashed var(--dir-border);
    border-radius: 12px;
    padding: 0.85rem 1rem;
}
.dir-unit-social-prompt {
    text-align: center;
    font-size: 0.84rem;
    color: var(--dir-muted);
    margin: 0;
    line-height: 1.65;
}
.dir-unit-social-prompt a { font-weight: 700; color: var(--dir-accent); }
.dir-social-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1rem;
}
.dir-social-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 58px;
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    transition: transform .15s;
}
.dir-social-chip:hover { transform: translateY(-2px); }
.dir-social-chip-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 4px 14px rgba(15,44,49,.12);
}
.dir-social-chip-label { font-size: 0.68rem; font-weight: 700; color: var(--dir-muted); }
.dir-social-chip-instagram .dir-social-chip-icon { background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af); }
.dir-social-chip-telegram .dir-social-chip-icon { background: linear-gradient(135deg, #2aabee, #229ed9); }
.dir-social-chip-whatsapp .dir-social-chip-icon { background: linear-gradient(135deg, #25d366, #128c7e); }
.dir-social-chip-website .dir-social-chip-icon { background: linear-gradient(135deg, #38bdf8, #0ea5e9); }
.dir-social-chip-phone .dir-social-chip-icon { background: linear-gradient(135deg, #22c55e, #16a34a); }
.dir-social-chip-bale .dir-social-chip-icon { background: linear-gradient(135deg, #0ea5e9, #0284c7); }
.dir-social-chip-eita .dir-social-chip-icon { background: linear-gradient(135deg, #f97316, #ea580c); }
.dir-unit-actions { display: flex; flex-direction: column; gap: 0.55rem; padding: 0.35rem 0 0.5rem; }
.dir-unit-share,
.dir-unit-complaint {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    border: none;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 0.84rem;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
    transition: opacity .15s;
}
.dir-unit-share:hover,
.dir-unit-complaint:hover { opacity: 0.92; }
.dir-unit-share {
    background: #e0f2fe;
    color: #0c4a6e !important;
    border: 1px solid #bae6fd;
}
.dir-unit-share-text { flex: 1; text-align: right; line-height: 1.45; }
.dir-unit-share-icon,
.dir-unit-share-wa { flex-shrink: 0; display: flex; color: #0ea5e9; }
.dir-unit-share-wa { color: #25d366; margin-right: auto; }
.dir-unit-complaint {
    background: #fef2f2;
    color: #991b1b !important;
    border: 1px solid #fecaca;
}
.dir-unit-complaint-text { flex: 1; text-align: right; }
.dir-unit-complaint-icon { color: #dc2626; flex-shrink: 0; }

/* Legacy unit profile (lists) */
.dir-unit-profile {

    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    overflow: hidden;
    box-shadow: var(--dir-shadow);
}
.dir-unit-cover {
    height: 120px;
    background: linear-gradient(135deg, #5b8cb8 0%, #2c5282 45%, #1e3a5f 100%);
}
.dir-unit-profile-head {
    text-align: center;
    padding: 0 1rem 1rem;
    margin-top: -42px;
}
.dir-unit-avatar {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--dir-card);
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    display: inline-block;
    background: var(--dir-bg);
}
.dir-unit-avatar-empty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--dir-primary);
}
.dir-unit-profile-name {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0.65rem 0 0.35rem;
}
.dir-unit-profile-meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
}
.dir-unit-profile-sub,
.dir-unit-profile-operator {
    font-size: 0.82rem;
    color: var(--dir-muted);
    margin: 0.15rem 0 0;
}
.dir-unit-action-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 1rem 1rem;
    border-bottom: 1px solid var(--dir-border);
}
.dir-unit-action-pill {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    min-width: 64px;
    padding: 0.55rem 0.45rem;
    border-radius: 12px;
    background: var(--dir-accent-light);
    color: var(--dir-primary) !important;
    text-decoration: none !important;
    font-size: 0.65rem;
    font-weight: 700;
}
.dir-unit-profile-section {
    padding: 1rem 1.05rem 1.1rem;
    border-top: 1px solid var(--dir-border);
}
.dir-unit-profile-section .dir-unit-section-title {
    display: block;
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.75rem;
}
.dir-page-card {
    background: var(--dir-card);
    border: 1px solid var(--dir-border);
    border-radius: var(--dir-radius);
    padding: 1.15rem 1rem 1.25rem;
    box-shadow: var(--dir-shadow);
}
.dir-page-card-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.85rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--dir-border);
}
.dir-page-card-body { font-size: 0.92rem; line-height: 1.75; }
.dir-auth-page { padding-top: 0.75rem; }
.dir-auth-card-mockup { margin-top: 0; }
.dir-auth-card-head { text-align: center; margin-bottom: 1rem; }
.dir-auth-card-title { font-size: 1.15rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.35rem; }
.dir-auth-card-desc { font-size: 0.85rem; color: var(--dir-muted); margin: 0; }
.dir-auth-steps-inline { margin-bottom: 1rem; }

.dir-owner-panel { padding-top: 0.5rem; }
.dir-owner-hero { padding: 1.1rem 1rem 1rem; }
.dir-owner-hero-top { display: flex; gap: 0.85rem; align-items: center; margin-bottom: 0.85rem; }
.dir-owner-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--dir-border);
}
.dir-owner-avatar-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dir-accent-light);
    color: var(--dir-accent);
    font-weight: 800;
    font-size: 1.2rem;
}
.dir-owner-title { font-size: 1.05rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.2rem; }
.dir-owner-meta { font-size: 0.82rem; color: var(--dir-muted); margin: 0 0 0.15rem; }
.dir-owner-operator { font-size: 0.8rem; color: var(--dir-muted); margin: 0; }
.dir-owner-status-row { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.75rem; }
.dir-owner-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    width: fit-content;
}
.dir-owner-status-ok { background: #dcfce7; color: #166534; }
.dir-owner-status-muted { background: #f1f5f9; color: #64748b; }
.dir-owner-public-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    background: var(--dir-bg);
    border: 1px solid var(--dir-border);
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    font-size: 0.84rem;
    font-weight: 700;
    margin-bottom: 0.55rem;
}
.dir-owner-dates { display: flex; flex-wrap: wrap; gap: 0.35rem 0.75rem; font-size: 0.74rem; color: var(--dir-muted); }
.dir-owner-section-title { font-size: 0.95rem; font-weight: 800; color: var(--dir-navy); margin: 0 0 0.35rem; }
.dir-owner-section-desc { font-size: 0.78rem; color: var(--dir-muted); margin: 0 0 0.85rem; line-height: 1.55; }
.dir-owner-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.dir-owner-info-item {
    background: var(--dir-bg);
    border: 1px solid var(--dir-border);
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.dir-owner-info-item span { font-size: 0.72rem; color: var(--dir-muted); }
.dir-owner-info-item strong { font-size: 0.82rem; color: var(--dir-navy); font-weight: 700; }
.dir-owner-info-wide { grid-column: 1 / -1; }
.dir-owner-pay-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; }
.dir-owner-pay-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0.15rem;
}
.dir-owner-pay-card {
    border: 1px solid var(--dir-border);
    border-radius: 12px;
    padding: 0.75rem;
    background: var(--dir-bg);
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
}
.dir-owner-pay-card strong { font-size: 0.88rem; color: var(--dir-navy); }
.dir-owner-pay-card em { font-size: 0.78rem; color: var(--dir-muted); font-style: normal; margin-bottom: 0.35rem; }
.dir-owner-pay-card-featured { border-color: var(--dir-accent); background: var(--dir-accent-light); position: relative; }
.dir-owner-pay-badge {
    position: static;
    flex-shrink: 0;
    position: absolute;
    top: 0.45rem;
    left: 0.45rem;
    font-size: 0.62rem;
    font-weight: 800;
    background: var(--dir-accent);
    color: #fff;
    padding: 0.15rem 0.4rem;
    border-radius: 999px;
}
.dir-owner-pay-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .dir-owner-pay-grid-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .dir-owner-pay-grid-3 { grid-template-columns: 1fr; } }
.dir-owner-pay-table-wrap { overflow-x: auto; }
.dir-owner-pay-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}
.dir-owner-pay-table th,
.dir-owner-pay-table td {
    border: 1px solid var(--dir-border);
    padding: 0.45rem 0.55rem;
    text-align: center;
}
.dir-owner-pay-table th { background: var(--dir-surface-2); font-weight: 800; }
.dir-wg-detail-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--dir-surface-2);
    border-bottom: 1px solid var(--dir-border);
}
.dir-wg-stat {
    text-align: center;
    padding: 0.5rem;
    background: #fff;
    border-radius: 10px;
    border: 1px solid var(--dir-border);
}
.dir-wg-stat strong { display: block; font-size: 1.1rem; color: var(--dir-navy); }
.dir-wg-stat span { font-size: 0.72rem; color: var(--dir-muted); }
.dir-msg-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 1200;
}
.dir-msg-sheet {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(100%, 22rem);
    background: #fff;
    z-index: 1201;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.12);
}
.dir-msg-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--dir-border);
    font-weight: 800;
}
.dir-msg-sheet-close {
    border: 0;
    background: transparent;
    padding: 0.25rem;
    color: var(--dir-muted);
}
.dir-msg-sheet-body {
    overflow-y: auto;
    padding: 0.75rem 1rem 1.5rem;
    flex: 1;
}
.dir-msg-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--dir-border);
}
.dir-msg-date { display: block; font-size: 0.72rem; color: var(--dir-muted); margin-bottom: 0.25rem; }
.dir-msg-title { font-size: 0.9rem; font-weight: 800; margin: 0 0 0.35rem; color: var(--dir-navy); }
.dir-msg-body { font-size: 0.82rem; color: var(--dir-text); margin: 0; line-height: 1.6; }
.dir-msg-empty { text-align: center; color: var(--dir-muted); font-size: 0.85rem; padding: 2rem 0; }
body.dir-msg-open { overflow: hidden; }
.dir-owner-social-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.35rem; }
.dir-owner-chip {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
}
.dir-owner-chip-ok { background: #dcfce7; color: #166534; }
.dir-owner-social-locked .dir-owner-social-form { opacity: 0.55; pointer-events: none; }
.dir-owner-social-lock {
    text-align: center;
    padding: 0.75rem 0.5rem 0.25rem;
    color: var(--dir-muted);
}
.dir-owner-social-lock p { font-size: 0.8rem; margin: 0.35rem 0 0; }
.dir-owner-field { margin-bottom: 0.75rem; }
.dir-owner-input-wrap { position: relative; }
.dir-owner-field-icon {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--dir-muted);
    display: flex;
    align-items: center;
    justify-content: center;
}
.dir-owner-field-icon svg { width: 16px; height: 16px; }
.dir-owner-input-wrap .form-control { padding-right: 2.2rem; border-radius: 10px; font-size: 0.88rem; }
.dir-owner-switch .form-select { border-radius: 10px; }

.dir-owner-section-anchor { scroll-margin-top: 0.85rem; }
.dir-owner-quicknav {
    padding: 0.75rem;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}
.dir-owner-quicknav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}
.dir-owner-quicknav-3 .dir-owner-quicknav-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dir-owner-quicknav-6 .dir-owner-quicknav-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
}
.dir-owner-panel--home .dir-owner-focusable { display: none !important; }
.dir-owner-panel--section .dir-owner-dashboard-only { display: none !important; }
.dir-owner-panel--section .dir-owner-focusable { display: none !important; }
.dir-owner-panel--section .dir-owner-focusable:not(.dir-owner-section-hidden) { display: block !important; }
.dir-owner-section-hidden { display: none !important; }
.dir-owner-subhead {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 0.75rem;
    padding: 0.55rem 0.65rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--dir-border);
    position: sticky;
    top: calc(var(--dir-header-h, 52px) + var(--dir-titlebar-h, 0px) + 0.35rem);
    z-index: 30;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
.dir-owner-subhead-back {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    border: 0;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    cursor: pointer;
    flex-shrink: 0;
}
.dir-owner-subhead-title {
    font-size: 0.92rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.dir-owner-bottomnav {
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 1040;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.15rem;
    padding: 0.35rem 0.45rem calc(0.35rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid var(--dir-border);
    backdrop-filter: blur(8px);
    box-shadow: 0 -4px 18px rgba(15, 23, 42, 0.08);
}
.dir-owner-bottomnav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    border: 0;
    background: transparent;
    color: var(--dir-muted);
    font-size: 0.62rem;
    font-weight: 800;
    padding: 0.25rem 0.15rem;
    border-radius: 10px;
    cursor: pointer;
    text-decoration: none !important;
}
.dir-owner-bottomnav-item.is-active {
    color: #2563eb;
    background: #eff6ff;
}
.dir-owner-bottomnav-item.is-disabled,
.dir-owner-bottomnav-item:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
body.has-dir-owner-bottomnav .dir-bottom-nav { display: none !important; }
body.has-dir-owner-bottomnav.directory-page {
    padding-bottom: calc(var(--dir-nav-h) + env(safe-area-inset-bottom, 0px) + 8px);
}
.dir-owner-quicknav-item.is-active {
    outline: 2px solid #2563eb;
    outline-offset: 1px;
}
.dir-owner-focus-reset { margin-top: 0.5rem; padding: 0; }
.dir-owner-quicknav-item--muted { opacity: 0.72; }
.dir-owner-quicknav-item--questionnaire {
    border-color: #c4b5fd;
    background: linear-gradient(165deg, #f5f3ff 0%, #fff 72%);
    color: #5b21b6 !important;
}
.dir-owner-quicknav-item--questionnaire .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #8b5cf6, #7c3aed);
    color: #fff;
}
.dir-owner-quicknav-item--services {
    border-color: #7dd3fc;
    background: linear-gradient(165deg, #f0f9ff 0%, #fff 72%);
    color: #0c4a6e !important;
}
.dir-owner-quicknav-item--services .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #0ea5e9, #0284c7);
    color: #fff;
}
.dir-owner-quicknav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 4.5rem;
    padding: 0.55rem 0.35rem;
    border-radius: 12px;
    border: 1px solid var(--dir-border);
    background: #fff;
    text-decoration: none !important;
    color: var(--dir-navy) !important;
    transition: border-color 0.15s, background 0.15s, box-shadow 0.15s, transform 0.15s;
}
.dir-owner-quicknav-item:hover,
.dir-owner-quicknav-item:focus-visible {
    transform: translateY(-1px);
    outline: none;
}
.dir-owner-quicknav-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, box-shadow 0.15s;
}
.dir-owner-quicknav-label {
    font-size: 0.68rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.35;
}
/* شبکه‌های مجازی — منبع اصلی درآمد (آبونمان) */
.dir-owner-quicknav-item--social {
    border-color: #6ee7b7;
    background: linear-gradient(165deg, #ecfdf5 0%, #fff 72%);
    color: #065f46 !important;
    box-shadow: 0 2px 10px rgba(16, 185, 129, 0.12);
}
.dir-owner-quicknav-item--social .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 3px 8px rgba(5, 150, 105, 0.35);
}
.dir-owner-quicknav-item--social:hover,
.dir-owner-quicknav-item--social:focus-visible {
    border-color: #34d399;
    background: linear-gradient(165deg, #d1fae5 0%, #fff 72%);
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.22);
}
/* معرفی کنید — درآمد مکمل از ارجاع */
.dir-owner-quicknav-item--referral {
    border-color: #c7d2fe;
    background: linear-gradient(165deg, #eef2ff 0%, #fff 72%);
    color: #3730a3 !important;
    box-shadow: 0 2px 10px rgba(99, 102, 241, 0.1);
}
.dir-owner-quicknav-item--referral .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #6366f1, #4f46e5);
    color: #fff;
    box-shadow: 0 3px 8px rgba(79, 70, 229, 0.32);
}
.dir-owner-quicknav-item--referral:hover,
.dir-owner-quicknav-item--referral:focus-visible {
    border-color: #a5b4fc;
    background: linear-gradient(165deg, #e0e7ff 0%, #fff 72%);
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.18);
}
/* بارگذاری پروانه — راستی‌آزمایی */
.dir-owner-quicknav-item--license {
    border-color: #fcd34d;
    background: linear-gradient(165deg, #fffbeb 0%, #fff 72%);
    color: #92400e !important;
}
.dir-owner-quicknav-item--license .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #fbbf24, #d97706);
    color: #fff;
    box-shadow: 0 3px 8px rgba(217, 119, 6, 0.28);
}
.dir-owner-quicknav-item--license:hover,
.dir-owner-quicknav-item--license:focus-visible {
    border-color: #fbbf24;
    background: linear-gradient(165deg, #fef3c7 0%, #fff 72%);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.16);
}
/* اطلاعات ثبت‌شده — مرجع */
.dir-owner-quicknav-item--info {
    border-color: #cbd5e1;
    background: linear-gradient(165deg, #f8fafc 0%, #fff 72%);
    color: #334155 !important;
}
.dir-owner-quicknav-item--info .dir-owner-quicknav-icon {
    background: linear-gradient(145deg, #94a3b8, #64748b);
    color: #fff;
    box-shadow: 0 3px 8px rgba(100, 116, 139, 0.25);
}
.dir-owner-quicknav-item--info:hover,
.dir-owner-quicknav-item--info:focus-visible {
    border-color: #94a3b8;
    background: linear-gradient(165deg, #f1f5f9 0%, #fff 72%);
    box-shadow: 0 4px 12px rgba(100, 116, 139, 0.12);
}
@media (max-width: 520px) {
    .dir-owner-quicknav { padding: 0.55rem; }
    .dir-owner-quicknav-list { gap: 0.3rem; }
    .dir-owner-quicknav-6 .dir-owner-quicknav-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dir-owner-quicknav-item {
        min-height: 3.6rem;
        padding: 0.4rem 0.15rem;
        gap: 0.25rem;
    }
    .dir-owner-quicknav-icon {
        width: 30px;
        height: 30px;
        border-radius: 8px;
    }
    .dir-owner-quicknav-icon svg { width: 16px; height: 16px; }
    .dir-owner-quicknav-label { font-size: 0.58rem; line-height: 1.25; }
}

/* Owner panel — mockup dashboard */
.dir-owner-profile-card {
    padding: 1rem;
    border-radius: 16px;
    border: 1px solid var(--dir-border);
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
}
.dir-owner-profile-main {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
    align-items: center;
}
.dir-owner-profile-avatar {
    width: 52px;
    height: 52px;
    border: 2px solid #e2e8f0;
}
.dir-owner-profile-name {
    font-size: 1rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.15rem;
}
.dir-owner-profile-id,
.dir-owner-profile-date {
    font-size: 0.74rem;
    color: var(--dir-muted);
    margin: 0;
}
.dir-owner-profile-badge {
    font-size: 0.62rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    padding: 0.35rem 0.5rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    max-width: 7.5rem;
}
.dir-owner-profile-unit {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--dir-border);
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.78rem;
}
.dir-owner-profile-unit strong { color: var(--dir-navy); font-size: 0.84rem; }
.dir-owner-profile-unit span { color: var(--dir-muted); }
.dir-owner-banner {
    position: relative;
    min-height: 96px;
    border-radius: 16px;
    overflow: hidden;
    background: #1e3a5f center/cover no-repeat;
    background-image: var(--dir-owner-banner-img);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.dir-owner-banner-overlay {
    inset: 0;
    position: absolute;
    display: flex;
    align-items: flex-end;
    padding: 0.85rem 1rem;
    background: linear-gradient(0deg, rgba(15, 23, 42, 0.72) 0%, rgba(15, 23, 42, 0.08) 100%);
}
.dir-owner-banner-text {
    margin: 0;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}
.dir-owner-quicknav {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.dir-owner-quicknav-6 .dir-owner-quicknav-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}
.dir-owner-quicknav-item {
    min-height: 5.5rem;
    padding: 0.75rem 0.4rem;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
}
.dir-owner-quicknav-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
}
.dir-owner-quicknav-label {
    font-size: 0.72rem;
    font-weight: 800;
}
.dir-owner-dossier-card {
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid #bfdbfe;
    background: linear-gradient(165deg, #eff6ff 0%, #fff 70%);
}
.dir-owner-dossier-head {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
}
.dir-owner-dossier-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #2563eb;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dir-owner-dossier-title {
    font-size: 0.88rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.15rem;
}
.dir-owner-dossier-text {
    font-size: 0.78rem;
    color: var(--dir-muted);
    margin: 0;
    line-height: 1.5;
}
.dir-owner-dossier-badge {
    margin-right: auto;
    flex-shrink: 0;
    font-size: 0.66rem;
    font-weight: 800;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
}
.dir-owner-dossier-badge--ok { background: #dcfce7; color: #166534; }
.dir-owner-dossier-badge--pending { background: #fef3c7; color: #92400e; }
.dir-owner-dossier-meta { margin-top: 0.55rem; }
.dir-owner-info-box {
    margin-top: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-size: 0.76rem;
    line-height: 1.55;
}
.dir-owner-referral-hero {
    padding: 0.85rem 1rem 0;
    text-align: center;
    background: linear-gradient(180deg, #eef2ff 0%, transparent 100%);
}
.dir-owner-referral-illustration {
    width: min(100%, 140px);
    height: auto;
}
.dir-owner-referral-code-box {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}
.dir-owner-referral-benefits {
    list-style: none;
    margin: 0;
    padding: 0.75rem 1rem;
    display: grid;
    gap: 0.35rem;
}
.dir-owner-referral-benefits li {
    font-size: 0.78rem;
    color: var(--dir-navy);
    padding-right: 1.25rem;
    position: relative;
}
.dir-owner-referral-benefits li::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0.35rem;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: #22c55e;
}
.dir-owner-referral-share-btn { flex: 1 1 100%; }
.dir-owner-upload-list { display: grid; gap: 0.55rem; }
.dir-owner-upload-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem;
    border: 1px solid var(--dir-border);
    border-radius: 14px;
    background: #fff;
}
.dir-owner-upload-row--done { border-color: #bbf7d0; background: #f0fdf4; }
.dir-owner-upload-row-main {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex: 1 1 12rem;
    min-width: 0;
}
.dir-owner-upload-row-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dir-owner-upload-status {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
}
.dir-owner-upload-status--done { background: #dcfce7; color: #166534; }
.dir-owner-upload-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0.35rem 0.75rem;
    border-radius: 10px;
    border: 1px solid #2563eb;
    background: #2563eb;
    color: #fff !important;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
}
.dir-owner-upload-btn input { display: none; }
.dir-owner-info-tabs {
    display: flex;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid var(--dir-border);
    padding-bottom: 0.35rem;
}
.dir-owner-info-tab {
    border: 0;
    background: transparent;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--dir-muted);
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    cursor: pointer;
}
.dir-owner-info-tab.is-active {
    background: #eff6ff;
    color: #1d4ed8;
}
.dir-owner-info-list { display: grid; gap: 0; }
.dir-owner-info-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.82rem;
}
.dir-owner-info-row span { color: var(--dir-muted); flex-shrink: 0; }
.dir-owner-info-row strong {
    color: var(--dir-navy);
    text-align: left;
    word-break: break-word;
}
.dir-owner-info-status {
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.35rem;
    font-size: 0.76rem;
    font-weight: 700;
}
.dir-owner-info-status--ok {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}
.dir-owner-social-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.35rem 0.65rem;
    align-items: center;
    padding: 0.65rem 0;
    border-bottom: 1px solid #edf2f7;
}
.dir-owner-social-row-brand {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}
.dir-owner-social-row-brand .dir-owner-field-icon {
    position: static;
    transform: none;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f1f5f9;
}
.dir-owner-social-handle {
    display: block;
    font-size: 0.74rem;
    color: var(--dir-muted);
    margin-top: 0.1rem;
}
.dir-owner-social-handle--empty { font-style: italic; }
.dir-owner-social-pill {
    font-size: 0.66rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    justify-self: end;
}
.dir-owner-social-pill--on { background: #dcfce7; color: #166534; }
.dir-owner-social-pill--off { background: #f1f5f9; color: #64748b; }
.dir-owner-social-input { grid-column: 1 / -1; }
.dir-owner-social-input .form-control { border-radius: 10px; }
.dir-owner-q-progress { margin-bottom: 0.85rem; }
.dir-owner-q-progress-labels {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    font-weight: 800;
    color: var(--dir-muted);
    margin-bottom: 0.35rem;
}
.dir-owner-q-progress-labels .is-active { color: #2563eb; }
.dir-owner-q-progress-bar {
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    position: relative;
    overflow: hidden;
}
.dir-owner-q-progress-bar::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--dir-q-pct, 0%);
    background: linear-gradient(90deg, #2563eb, #3b82f6);
    border-radius: inherit;
}
.dir-owner-q-step { border: 0; }
.dir-owner-q-step-head {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0;
    margin-bottom: 0.55rem;
    border-bottom: 1px solid var(--dir-border);
    cursor: pointer;
    font-size: 0.84rem;
    font-weight: 800;
    color: var(--dir-navy);
}
.dir-owner-q-step-head::-webkit-details-marker { display: none; }
.dir-owner-q-step-icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 2px solid #cbd5e1;
    flex-shrink: 0;
}
.dir-owner-q-step-icon--done {
    border-color: #22c55e;
    background: #22c55e;
    box-shadow: inset 0 0 0 3px #fff;
}
.dir-owner-q-step-icon--active {
    border-color: #2563eb;
    background: #eff6ff;
}
.dir-owner-q-step-icon--locked { border-color: #cbd5e1; background: #f8fafc; }
.dir-owner-q-step-head .dir-owner-profile-pct { margin-right: auto; }
@media (max-width: 520px) {
    .dir-owner-profile-main { grid-template-columns: auto 1fr; }
    .dir-owner-profile-badge { grid-column: 1 / -1; max-width: none; justify-self: start; }
    .dir-owner-quicknav-item { min-height: 4.75rem; }
}

/* Referral marketing panel (admin + user) */
.ref-tabs-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    border-bottom: 2px solid var(--gov-border);
}
.ref-tab {
    display: inline-block;
    padding: 0.55rem 0.85rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--gov-muted);
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    border-radius: 0.25rem 0.25rem 0 0;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.ref-tab:hover,
.ref-tab:focus-visible {
    color: var(--gov-accent);
    background: #f0f6fc;
    outline: none;
}
.ref-tab-active {
    color: var(--gov-accent) !important;
    border-bottom-color: var(--gov-accent);
    background: #f0f6fc;
}
.ref-decision-hero { background: linear-gradient(135deg, #f8fafc 0%, #fff 55%); }
.ref-decision-stat {
    text-align: center;
    padding: 0.75rem 0.5rem;
    border-radius: 0.5rem;
    border: 1px solid var(--gov-border);
    background: #fff;
    height: 100%;
}
.ref-decision-stat-val {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--gov-navy);
    line-height: 1.2;
}
.ref-decision-stat-lbl {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gov-muted);
    margin-top: 0.2rem;
}
.ref-decision-stat--gold { border-color: #fde68a; background: #fffbeb; }
.ref-decision-stat--gold .ref-decision-stat-val { color: #b45309; }
.ref-decision-stat--success { border-color: #bbf7d0; background: #f0fdf4; }
.ref-decision-stat--success .ref-decision-stat-val { color: #15803d; }
.ref-decision-stat--info { border-color: #bfdbfe; background: #eff6ff; }
.ref-decision-stat--info .ref-decision-stat-val { color: #1d4ed8; }
.ref-decision-stat--warn { border-color: #fde68a; background: #fffbeb; }
.ref-decision-stat--warn .ref-decision-stat-val { color: #b45309; }
@media (max-width: 640px) {
    .ref-tab { padding: 0.45rem 0.55rem; font-size: 0.72rem; }
    .ref-decision-stat-val { font-size: 1.05rem; }
    .ai-decision-cards { grid-template-columns: 1fr; }
}

/* AI insights / market radar */
.ai-insights-page { direction: rtl; text-align: right; }
.radar-lens-details summary { cursor: pointer; }
.radar-lens-details summary::-webkit-details-marker { display: none; }
.radar-welcome { background: linear-gradient(135deg, #f0f6fc 0%, #fff 60%); }
.radar-summary { font-size: 0.9rem; line-height: 1.65; color: var(--gov-text); }
.radar-hero-meta { line-height: 1.5; }

.radar-spotlight {
    background: linear-gradient(135deg, #ecfdf5 0%, #fff 55%);
    border-right: 4px solid #1e7e45 !important;
}
.radar-spotlight-score {
    flex-shrink: 0;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 12px;
    background: #1e7e45;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.radar-spotlight-label { font-size: 0.72rem; font-weight: 700; color: #1e7e45; text-transform: uppercase; letter-spacing: 0.02em; }
.radar-spotlight-title { font-size: 1.05rem; font-weight: 700; color: var(--gov-navy); margin: 0.15rem 0; }
.radar-spotlight-sub { line-height: 1.5; }

.radar-main-panel .postbox-header { background: #fff; }
.radar-seg-tabs {
    border-bottom: none !important;
    gap: 0.15rem !important;
}
.radar-seg-tabs .ref-tab {
    padding: 0.35rem 0.65rem;
    font-size: 0.78rem;
    margin-bottom: 0;
    border: 1px solid var(--gov-border);
    border-radius: 6px;
    background: #fff;
}
.radar-seg-tabs .ref-tab.ref-tab-active {
    background: var(--gov-accent);
    color: #fff !important;
    border-color: var(--gov-accent);
}
.radar-seg-tabs li { list-style: none; }
.radar-seg-tabs button.ref-tab { cursor: pointer; font-family: inherit; line-height: inherit; }

.radar-pane { display: none; padding: 0.75rem 1rem 1rem; }
.radar-pane--active { display: block; }
.radar-pane-note { font-size: 0.78rem; color: var(--gov-muted); margin: 0 0 0.5rem; padding: 0 0.25rem; }
.radar-empty { text-align: center; color: var(--gov-muted); font-size: 0.88rem; padding: 2rem 1rem; margin: 0; }

.radar-rank-list { margin: 0; }
.radar-rank-item {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.5rem;
    border-bottom: 1px solid #eef1f4;
    transition: background 0.12s;
}
.radar-rank-item:last-child { border-bottom: 0; }
.radar-rank-item:hover { background: #f8fafc; }
.radar-rank-item--opp { border-right: 3px solid transparent; }
.radar-rank-item--opp:hover { border-right-color: #1e7e45; }
.radar-rank-item--warn:hover { border-right-color: #b42318; }
.radar-rank-num {
    flex-shrink: 0;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 8px;
    background: #eef1f4;
    color: var(--gov-navy);
    font-size: 0.78rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.radar-rank-body { flex: 1; min-width: 0; }
.radar-rank-title { font-size: 0.9rem; font-weight: 700; color: var(--gov-navy); line-height: 1.45; margin-bottom: 0.15rem; }
.radar-rank-meta { font-size: 0.78rem; color: var(--gov-muted); line-height: 1.5; }
.radar-rank-badge {
    flex-shrink: 0;
    font-size: 0.85rem;
    font-weight: 800;
    padding: 0.2rem 0.5rem;
    border-radius: 8px;
}
.radar-rank-badge--opp { background: #dcfce7; color: #166534; }
.radar-status-badge {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    white-space: nowrap;
}
.radar-status-badge--muted { background: #f1f5f9; color: #64748b; }
.radar-status-badge--success { background: #dcfce7; color: #166534; }
.radar-status-badge--info { background: #dbeafe; color: #1e40af; }
.radar-status-badge--warn { background: #fef3c7; color: #92400e; }
.radar-status-badge--danger { background: #fee2e2; color: #991b1b; }
.radar-seg-tabs { flex-wrap: wrap; max-width: 100%; }

.radar-table { font-size: 0.82rem; }
.radar-table thead th { background: #f8fafc; font-weight: 700; color: var(--gov-navy); border-bottom-width: 1px; }
.radar-data-note {
    padding: 0.65rem 0.75rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    line-height: 1.55;
}
.radar-extra > summary { cursor: pointer; list-style: none; }
.radar-extra > summary::-webkit-details-marker { display: none; }
.radar-mini-head { font-size: 0.82rem; font-weight: 700; color: var(--gov-navy); margin: 0 0 0.35rem; }

.ai-lens-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ai-lens-chip {
    border: 1px solid var(--gov-border);
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.78rem;
    cursor: pointer;
    background: #fff;
}
.ai-lens-chip:has(input:checked) { background: #f0f6fc; border-color: var(--gov-accent); }
.ai-bullet-list { padding-right: 1.2rem; padding-left: 0; margin: 0; line-height: 1.7; font-size: 0.9rem; }
.ai-decision-cards-section {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    padding: 1rem;
    margin-bottom: 1rem;
}
.ai-decision-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    direction: rtl;
}
.ai-decision-card {
    direction: rtl;
    text-align: right;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 1rem;
    height: 100%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.ai-decision-card--opp {
    border-right: 4px solid #22c55e;
    border-left: 1px solid #cbd5e1;
    background: #fff;
}
.ai-decision-card--warn {
    border-right: 4px solid #ef4444;
    border-left: 1px solid #cbd5e1;
    background: #fff;
}
.ai-decision-card-head {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px dashed #e2e8f0;
}
.ai-decision-card-badge {
    font-size: 0.72rem;
    font-weight: 700;
    background: #f1f5f9;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    white-space: nowrap;
}
.ai-decision-card--opp .ai-decision-card-badge { background: #dcfce7; color: #166534; }
.ai-decision-card--warn .ai-decision-card-badge { background: #fee2e2; color: #991b1b; }
.ai-decision-card-priority { font-size: 0.78rem; color: #64748b; white-space: nowrap; }
.ai-decision-card-title {
    font-size: 0.98rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.55;
    color: #0f172a;
}
.ai-decision-card-metric {
    font-size: 0.85rem;
    color: #475569;
    margin: 0;
    padding: 0.35rem 0.5rem;
    background: #f1f5f9;
    border-radius: 6px;
    display: inline-block;
    align-self: flex-start;
}
.ai-decision-card-reason {
    font-size: 0.84rem;
    color: #64748b;
    margin: 0;
    line-height: 1.65;
    flex: 1;
}
.ai-decision-card-action {
    font-size: 0.84rem;
    margin: 0;
    line-height: 1.6;
    color: #0f172a;
    padding-top: 0.5rem;
    border-top: 1px solid #edf2f7;
}
.ai-decision-card-action strong { color: #1e40af; }
.ai-rec-row { padding: 0.55rem 0; border-bottom: 1px solid #edf2f7; text-align: right; }
.ai-rec-row:last-child { border-bottom: 0; }
.ai-rec-row--warn { border-right: 3px solid #fecaca; padding-right: 0.5rem; }
@media (max-width: 991px) {
    .ai-decision-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .ai-decision-cards { grid-template-columns: 1fr; gap: 0.75rem; }
    .ai-decision-cards-section { padding: 0.75rem; }
    .radar-seg-tabs { width: 100%; }
    .radar-main-panel .postbox-header { flex-direction: column; align-items: stretch !important; }
}

.ref-decision-stats .col-6.col-md-3:nth-child(n+3) { margin-top: 0; }
@media (max-width: 767px) {
    .ref-decision-stats .col-6 { flex: 0 0 50%; max-width: 50%; }
}

.dir-owner-referral-card {
    padding: 0;
    overflow: hidden;
    border: 1px solid #c7d2fe;
    background: linear-gradient(165deg, #eef2ff 0%, #fff 42%);
}
.dir-owner-referral-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid rgba(99, 102, 241, 0.15);
}
.dir-owner-referral-head-text {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    min-width: 0;
}
.dir-owner-referral-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #4f46e5;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dir-owner-referral-code {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #c7d2fe;
    color: #4338ca;
}
.dir-owner-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.75rem 1rem;
}
.dir-owner-stat {
    text-align: center;
    padding: 0.55rem 0.35rem;
    background: #fff;
    border-radius: 10px;
    border: 1px solid var(--dir-border);
}
.dir-owner-stat strong {
    display: block;
    font-size: 0.95rem;
    color: var(--dir-navy);
    font-weight: 800;
    line-height: 1.2;
}
.dir-owner-stat span {
    display: block;
    font-size: 0.66rem;
    color: var(--dir-muted);
    margin-top: 0.15rem;
}
.dir-owner-stat-accent { border-color: #bfdbfe; background: #eff6ff; }
.dir-owner-stat-accent strong { color: #1d4ed8; }
.dir-owner-stat-success { border-color: #bbf7d0; background: #f0fdf4; }
.dir-owner-stat-success strong { color: #15803d; }
.dir-owner-stat-gold { border-color: #fde68a; background: #fffbeb; }
.dir-owner-stat-gold strong { color: #b45309; }
.dir-owner-referral-link {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0 1rem 0.85rem;
}
.dir-owner-referral-link .form-control {
    flex: 1 1 12rem;
    border-radius: 10px;
    font-size: 0.78rem;
}
.dir-owner-referral-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--dir-border);
    background: #fff;
}
.dir-owner-referral-panels-single { grid-template-columns: 1fr; }
.dir-owner-referral-panel {
    padding: 0.85rem 1rem 1rem;
}
.dir-owner-referral-panel + .dir-owner-referral-panel {
    border-inline-start: 1px solid var(--dir-border);
}
.dir-owner-subtitle {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--dir-navy);
    margin: 0 0 0.55rem;
}
.dir-owner-table-wrap { overflow-x: auto; }
.dir-owner-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.74rem;
}
.dir-owner-table th,
.dir-owner-table td {
    border: 1px solid var(--dir-border);
    padding: 0.4rem 0.5rem;
    text-align: center;
}
.dir-owner-table th {
    background: var(--dir-bg);
    font-weight: 800;
    color: var(--dir-muted);
    font-size: 0.68rem;
}
.dir-owner-table-empty {
    color: var(--dir-muted);
    padding: 0.85rem !important;
}
.dir-owner-tag {
    display: inline-block;
    font-size: 0.66rem;
    font-weight: 800;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
}
.dir-owner-tag-ok { background: #dcfce7; color: #166534; }
.dir-owner-tag-warn { background: #fef3c7; color: #92400e; }
.dir-owner-tag-muted { background: #f1f5f9; color: #64748b; }
@media (max-width: 768px) {
    .dir-owner-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dir-owner-referral-panels { grid-template-columns: 1fr; }
    .dir-owner-referral-panel + .dir-owner-referral-panel {
        border-inline-start: 0;
        border-top: 1px solid var(--dir-border);
    }
    .dir-owner-referral-head { flex-direction: column; }
}

.wg-form-wrap .hidden { display: none !important; }
.wg-jg-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.wg-jg-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--gov-border, #dee2e6);
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    font-size: 0.85rem;
    margin: 0;
    transition: border-color 0.15s, background 0.15s;
}
.wg-jg-chip:has(input:checked) { border-color: #2563eb; background: #eff6ff; color: #1e40af; font-weight: 600; }
.wg-jg-chip input { accent-color: #2563eb; }
.wg-panel {
    border: 1px solid var(--gov-border, #dee2e6);
    border-radius: 0.5rem;
    padding: 1rem;
    background: #fafbfc;
}
.wg-panel-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}
.wg-search { max-width: 240px; min-width: 180px; }
.wg-empty, .wg-hint { font-size: 0.85rem; color: #6c757d; margin: 0; padding: 0.5rem 0; }
.wg-trade-group { margin-bottom: 0.85rem; }
.wg-trade-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
    font-size: 0.88rem;
}
.wg-trade-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.wg-trade-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #dee2e6;
    border-radius: 999px;
    background: #fff;
    font-size: 0.82rem;
    cursor: pointer;
    margin: 0;
}
.wg-trade-chip.active { border-color: #16a34a; background: #f0fdf4; color: #166534; }
.wg-trade-chip input { display: none; }
.wg-selected-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}
.wg-count-badge {
    font-size: 0.78rem;
    font-weight: 700;
    background: #e8f0fa;
    color: #1e3a5f;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
}
.wg-members-selected { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.wg-member-row {
    display: grid;
    grid-template-columns: 1fr minmax(120px, 140px) minmax(120px, 150px) 36px;
    gap: 0.5rem;
    align-items: center;
    padding: 0.65rem 0.75rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.4rem;
}
.wg-member-info { min-width: 0; }
.wg-member-info strong { display: block; font-size: 0.88rem; }
.wg-member-info em { display: block; font-size: 0.75rem; color: #6c757d; font-style: normal; }
.wg-candidates-title { font-size: 0.85rem; font-weight: 700; margin-bottom: 0.45rem; color: #495057; }
.wg-members-candidates { display: flex; flex-direction: column; gap: 0.35rem; max-height: 280px; overflow-y: auto; }
.wg-candidate-btn {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.1rem 0.75rem;
    align-items: center;
    text-align: right;
    width: 100%;
    padding: 0.55rem 0.75rem;
    border: 1px dashed #ced4da;
    border-radius: 0.4rem;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.wg-candidate-btn:hover { border-color: #2563eb; background: #f8fafc; }
.wg-candidate-name { font-weight: 700; font-size: 0.88rem; grid-column: 1; }
.wg-candidate-sub { font-size: 0.75rem; color: #6c757d; grid-column: 1; }
.wg-candidate-add { grid-column: 2; grid-row: 1 / span 2; font-size: 0.78rem; font-weight: 700; color: #2563eb; white-space: nowrap; }
@media (max-width: 768px) {
    .wg-member-row { grid-template-columns: 1fr; }
    .wg-panel-head { flex-direction: column; }
    .wg-search { max-width: 100%; width: 100%; }
}

@media print {
    .deznav, .header, .nav-header, .footer, .no-print { display: none !important; }
    .content-body { margin: 0 !important; padding: 0 !important; }
}

.bcard-sidebar-version {
    opacity: 0.75;
    font-size: 0.72rem;
    line-height: 1.4;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: 0.65rem !important;
    margin-top: 0.5rem;
}

/* پنل کارگروه — جلوگیری از کپی اعداد و مبالغ */
.wg-no-copy,
.wg-no-copy * {
    -webkit-user-select: none;
    user-select: none;
}
.workgroup-panel .postbox,
.workgroup-panel-subnav .nav-link.active {
    border-color: #2563eb;
}
.workgroup-panel-subnav .nav-link.active {
    background: #2563eb;
    color: #fff;
}

/* لیست مدیریت کارگروه‌ها */
.work-groups-admin .work-groups-card { border: 1px solid #e2e8f0; box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06); }
.work-groups-table thead th { font-size: 0.78rem; font-weight: 700; color: #64748b; background: #f8fafc; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.work-groups-table tbody td { vertical-align: middle; font-size: 0.88rem; }
.wg-admin-jg-list { display: flex; flex-wrap: wrap; gap: 0.25rem; max-width: 220px; }
.wg-admin-jg-list .badge { font-weight: 500; font-size: 0.72rem; }
.wg-admin-stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.35rem; }
.wg-admin-stat {
    display: flex; flex-direction: column; align-items: center; min-width: 52px;
    padding: 0.25rem 0.4rem; border-radius: 0.4rem; background: #f1f5f9; border: 1px solid #e2e8f0;
}
.wg-admin-stat-val { font-size: 0.82rem; font-weight: 700; color: #0f172a; line-height: 1.2; }
.wg-admin-stat-lbl { font-size: 0.65rem; color: #64748b; }
.work-groups-table .wg-col-actions { width: 108px; min-width: 108px; padding: 0.5rem 0.65rem !important; vertical-align: middle; }
.wg-row-actions { display: flex; flex-direction: column; gap: 0.3rem; }
.wg-row-actions .btn { font-size: 0.72rem; padding: 0.28rem 0.5rem; line-height: 1.3; }

/* ارسال پیامک گروهی کارگروه */
.wg-bulk-sms .wg-bulk-table-wrap { max-height: 420px; overflow: auto; }
.wg-bulk-submit-bar {
    position: sticky; bottom: 0; z-index: 10;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 0.5rem;
    padding: 0.85rem 1rem; box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.06);
}
.wg-bulk-filters .card-body { background: #f8fafc; }
.wg-filter-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.5rem;
}
@media (min-width: 1200px) {
    .wg-filter-toolbar { flex-wrap: nowrap; }
}
.wg-filter-field {
    flex: 0 1 9.5rem;
    min-width: 7.5rem;
}
.wg-filter-field-complex {
    flex: 1 1 11rem;
    min-width: 9rem;
    max-width: 16rem;
}
.wg-filter-q {
    flex: 1 1 12rem;
    min-width: 10rem;
    max-width: 18rem;
}
.wg-filter-actions {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    flex: 0 0 auto;
    padding-bottom: 1px;
}
.wg-bulk-sms .wg-compose-wallet { min-width: 200px; }
.wg-bulk-sms .card-header { text-align: right; }
.wg-bulk-sms .wg-select-tools .form-check { padding-right: 1.75em; padding-left: 0; min-height: 1.25rem; }
.wg-bulk-sms .wg-select-tools .form-check-input { float: right; margin-right: -1.75em; margin-left: 0; }
.wg-bulk-sms .wg-bulk-table { text-align: right; }
.wg-bulk-sms .wg-bulk-table thead th { text-align: right; white-space: nowrap; }
.wg-bulk-sms .wg-bulk-table .wg-col-check { width: 2.5rem; text-align: center; vertical-align: middle; }
.wg-bulk-sms .wg-preset-save .card-body { background: #f8fafc; }
.wg-bulk-sms .wg-saved-presets { text-align: right; }

/* داشبورد تصمیم‌ساز کارگروه */
.wg-decision-hero { background: linear-gradient(135deg, #f8fafc 0%, #eff6ff 100%); }
.wg-decision-badge { font-size: 0.72rem; font-weight: 600; padding: 0.35em 0.65em; }
.wg-decision-stat {
    text-align: center; padding: 0.75rem 0.5rem; border-radius: 0.5rem;
    background: #fff; border: 1px solid #e2e8f0; height: 100%;
}
.wg-decision-stat--warn { border-color: #fcd34d; background: #fffbeb; }
.wg-decision-stat--info { border-color: #93c5fd; background: #eff6ff; }
.wg-decision-stat-val { font-size: 1.25rem; font-weight: 800; color: #0f172a; line-height: 1.2; }
.wg-decision-stat-lbl { font-size: 0.72rem; color: #64748b; font-weight: 600; margin-top: 0.15rem; }
.wg-decision-actions .btn { font-size: 0.82rem; }
.wg-status-cards { margin-top: 0.15rem; }
.wg-status-card {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem 0.75rem;
    text-align: center;
    background: #fff;
    transition: border-color .15s, box-shadow .15s, transform .15s;
    height: 100%;
}
.wg-status-card:hover {
    border-color: #94a3b8;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    transform: translateY(-1px);
}
.wg-status-card-count { font-size: 1.45rem; font-weight: 800; line-height: 1.1; color: #0f172a; }
.wg-status-card-label { font-size: 0.78rem; font-weight: 700; margin-top: 0.25rem; color: #475569; }
.wg-status-card-pct { font-size: 0.72rem; color: #64748b; margin-top: 0.15rem; }
.wg-status-card--active { border-color: #86efac; background: #f0fdf4; }
.wg-status-card--active .wg-status-card-count { color: #166534; }
.wg-status-card--expired { border-color: #fcd34d; background: #fffbeb; }
.wg-status-card--expired .wg-status-card-count { color: #92400e; }
.wg-status-card--suspended { border-color: #93c5fd; background: #eff6ff; }
.wg-status-card--suspended .wg-status-card-count { color: #1e40af; }
.wg-status-card--revoked { border-color: #fca5a5; background: #fef2f2; }
.wg-status-card--revoked .wg-status-card-count { color: #991b1b; }
.wg-sms-cta { background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 100%); }
.workgroup-panel-subnav .wg-subnav-sms {
    border-radius: 0.375rem !important;
    padding: 0.45rem 1rem !important;
    font-weight: 700;
    font-size: 0.85rem;
    margin-right: auto;
    white-space: nowrap;
}
.workgroup-panel-subnav .wg-subnav-sms:hover { color: #fff !important; opacity: 0.92; }
.wg-btn-sms-main { font-weight: 700; white-space: nowrap; }
.wg-audience-shortcuts .btn { font-size: 0.78rem; }
.wg-trend-bar { min-height: 4px; transition: height 0.2s; }

.sms-liability-card { border-color: #e2e8f0; }
.sms-liability-card .card-header { background: #f8fafc; font-size: 0.88rem; }
.sms-liability-card .card-body strong { color: #0f172a; }

/* پنل بازاریاب — موبایل‌فرندلی */
.marketer-panel-subnav .nav-link { font-size: 0.85rem; padding: 0.45rem 0.75rem; }
.marketer-panel-subnav .marketer-cta-register { font-weight: 700; }
.marketer-stat-card .inside { padding: 0.85rem 1rem; }
.marketer-social-tip { font-size: 0.9rem; border-right: 4px solid #22c55e; }
.marketer-social-fields { background: #f0fdf4; border-radius: 0.5rem; padding: 1rem; margin-bottom: 1rem; }
.marketer-register-form .marketer-submit { padding: 0.75rem; font-size: 1rem; font-weight: 700; }
@media (max-width: 767px) {
    .marketer-panel-subnav { overflow-x: auto; flex-wrap: nowrap !important; padding-bottom: 0.25rem; }
    .marketer-panel-subnav .nav-link { white-space: nowrap; }
    .marketer-panel-subnav .marketer-cta-register { margin-right: 0 !important; }
    .marketer-panel .wp-list-table { font-size: 0.82rem; }
}
.partners-admin-subnav .nav-link { font-size: 0.85rem; }
.participant-panel-subnav .nav-link { font-size: 0.85rem; }
.partner-share-hero { border-right: 4px solid #3b82f6; background: linear-gradient(135deg, #eff6ff 0%, #fff 100%); }
.partner-share-hero .display-6 { font-size: 2.5rem; line-height: 1.1; }

/* مدیریت کاربران — چند نقش */
.user-role-chip {
    display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem;
    border: 1px solid #e2e8f0; border-radius: 0.5rem; cursor: pointer; margin: 0; background: #fff;
}
.user-role-chip.is-checked { border-color: #3b82f6; background: #eff6ff; }
.user-role-chip input { margin: 0; }
.users-list-table .badge { font-weight: 600; font-size: 0.72rem; }
.btn-god-admin { background: #1e293b !important; color: #fff !important; border-color: #1e293b !important; }
.btn-god-admin:hover { opacity: 0.9; color: #fff !important; }
.impersonation-banner { position: sticky; top: 0; z-index: 1030; border-bottom: 2px solid #f59e0b !important; }

.verify-portal-ad-order { cursor: pointer; }
.verify-portal-ad-caption, .verify-banner-caption { font-size: 0.72rem; display: block; margin-top: 0.25rem; color: var(--dir-muted, #64748b); }
.verify-banner-carousel { position: relative; overflow: hidden; }
.verify-banner-track { position: relative; }
.verify-banner-slide img { width: 100%; height: auto; border-radius: 8px; display: block; }
.ads-order-page .pi-plan-table, .ads-order-page .wp-list-table { font-size: 0.88rem; }

/* نرخنامه — پنل ادمین (spreadsheet) */
.tariff-spreadsheet-wrap { overflow: auto; max-height: 70vh; border: 1px solid #e2e8f0; border-radius: 8px; }
.tariff-spreadsheet-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.88rem; }
.tariff-spreadsheet-table th,
.tariff-spreadsheet-table td { border-bottom: 1px solid #edf2f7; padding: 0.35rem 0.5rem; vertical-align: middle; background: #fff; }
.tariff-spreadsheet-table thead th { position: sticky; top: 0; z-index: 3; background: #f8fafc; font-weight: 700; }
.tariff-ss-sticky { position: sticky; right: 0; z-index: 2; background: #fff; min-width: 72px; }
.tariff-ss-sticky-2 { position: sticky; right: 72px; z-index: 2; background: #fff; min-width: 180px; }
.tariff-spreadsheet-table thead .tariff-ss-sticky,
.tariff-spreadsheet-table thead .tariff-ss-sticky-2 { background: #f8fafc; }
.tariff-ss-rate, .tariff-ss-field { width: 100%; min-width: 88px; border: 1px solid transparent; border-radius: 4px; padding: 0.25rem 0.35rem; }
.tariff-ss-rate:focus, .tariff-ss-field:focus { border-color: #3b82f6; background: #eff6ff; outline: none; }
.tariff-ss-rate-cell.tariff-ss-saving { background: #fef9c3; }
.tariff-ss-rate-cell.tariff-ss-saved { background: #dcfce7; }
.tariff-ss-rate-cell.tariff-ss-error { background: #fee2e2; }

/* نرخنامه — صفحات عمومی دایرکتوری */
.dir-tariff-list { display: grid; gap: 0.75rem; }
.dir-tariff-card {
    display: block; padding: 1rem; border-radius: 12px; border: 1px solid var(--dir-border, #e2e8f0);
    background: #fff; text-decoration: none !important; color: inherit; box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.dir-tariff-card:hover { border-color: var(--dir-primary, #2563eb); box-shadow: 0 4px 14px rgba(37, 99, 235, 0.08); }
.dir-tariff-card-head { display: flex; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.35rem; }
.dir-tariff-code { font-weight: 800; color: var(--dir-primary, #2563eb); letter-spacing: 0.04em; }
.dir-tariff-type { font-size: 0.75rem; color: var(--dir-muted, #64748b); }
.dir-tariff-card-title { font-size: 1rem; font-weight: 700; margin: 0 0 0.25rem; color: var(--dir-navy, #0f172a); }
.dir-tariff-card-trade { font-size: 0.85rem; color: var(--dir-muted, #64748b); margin: 0 0 0.35rem; }
.dir-tariff-card-meta { font-size: 0.78rem; color: var(--dir-muted, #64748b); margin: 0; }
.dir-tariff-detail-head { margin-bottom: 1.25rem; }
.dir-tariff-detail-title { font-size: 1.35rem; font-weight: 800; margin: 0 0 0.75rem; line-height: 1.4; }
.dir-tariff-detail-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.85rem; color: var(--dir-muted, #64748b); margin-bottom: 0.75rem; }
.dir-tariff-detail-desc { font-size: 0.92rem; line-height: 1.7; color: var(--dir-text, #334155); margin-bottom: 0.75rem; }
.dir-tariff-detail-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; }
.dir-tariff-currency-note { font-size: 0.82rem; color: var(--dir-muted, #64748b); margin: 0 0 0.65rem; }
.dir-tariff-currency-note-bottom { margin: 0.65rem 0 0; }
.dir-tariff-section-title { font-size: 1rem; font-weight: 700; margin: 0 0 0.75rem; }
.dir-tariff-table-wrap { overflow-x: visible; border: 1px solid var(--dir-border, #e2e8f0); border-radius: 10px; background: #fff; }
.dir-tariff-table { width: 100%; border-collapse: collapse; font-size: 0.86rem; table-layout: fixed; }
.dir-tariff-table th, .dir-tariff-table td { padding: 0.55rem 0.65rem; border-bottom: 1px solid #edf2f7; text-align: right; vertical-align: top; white-space: normal; word-break: break-word; overflow-wrap: anywhere; }
.dir-tariff-table thead th { background: #f8fafc; font-weight: 700; }
.dir-tariff-desc-cell { min-width: 0; }
.dir-tariff-rate-cell { white-space: nowrap; }
.dir-tariff-pdf-section { margin-top: 1.5rem; }
.dir-tariff-pdf-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.dir-tariff-pdf-viewer iframe { width: 100%; min-height: 70vh; border: 1px solid var(--dir-border, #e2e8f0); border-radius: 10px; background: #f8fafc; }
.dir-tariff-tags { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.dir-tariff-trade-links { padding: 0 0.25rem; }
.dir-tariff-empty { color: var(--dir-muted, #64748b); font-size: 0.9rem; }
@media (max-width: 767px) {
    .dir-tariff-detail-title { font-size: 1.15rem; }
    .dir-tariff-table { font-size: 0.8rem; }
    .dir-tariff-table th, .dir-tariff-table td { padding: 0.45rem 0.5rem; }
    .dir-tariff-rate-cell { white-space: normal; }
    .dir-tariff-pdf-viewer iframe { min-height: 55vh; }
    .tariff-ss-sticky-2 { min-width: 140px; }
}

/* Initial data — licenses list & review */
.initial-data-licenses-page .wp-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
    gap: 0.65rem;
}
.initial-data-licenses-page .wp-stat-box { padding: 0.65rem 0.5rem; }
.initial-data-licenses-page .wp-stat-box .stat-num { font-size: 1.25rem; }
.initial-data-licenses-page .wp-stat-box .stat-label { font-size: 0.72rem; }
.initial-data-licenses-table { font-size: 0.8125rem; white-space: nowrap; }
.initial-data-licenses-table th,
.initial-data-licenses-table td { padding: 0.4rem 0.55rem; vertical-align: middle; }
.initial-data-licenses-table td:first-child { white-space: normal; min-width: 8rem; }

.initial-data-review-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.65rem 0.85rem;
    background: #f6f8fa;
    border: 1px solid var(--gov-border);
    border-radius: 0.25rem;
}
.initial-data-review-bar-main { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; }
.initial-data-review-bar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    font-size: 0.8125rem;
    color: var(--gov-muted);
}
.initial-data-review-form .form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem 0.85rem;
}
.initial-data-review-form .form-field label {
    display: block;
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
    color: var(--gov-navy);
}
.initial-data-review-form .form-field-full { grid-column: 1 / -1; }
.initial-data-review-form .form-field-span2 { grid-column: span 2; }
.initial-data-review-form .form-control-sm,
.initial-data-review-form .form-select-sm { font-size: 0.8125rem; }
@media (max-width: 992px) {
    .initial-data-review-form .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .initial-data-review-form .form-field-span2 { grid-column: span 2; }
}
@media (max-width: 576px) {
    .initial-data-review-form .form-grid { grid-template-columns: 1fr; }
    .initial-data-review-form .form-field-span2 { grid-column: span 1; }
}

/* Admin — job group icons */
.jg-icon-preview {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #f0f4f8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1a5276;
    overflow: hidden;
}
.jg-icon-preview img { max-width: 100%; max-height: 100%; object-fit: contain; }
.jg-icon-preview i { font-size: 1.1rem; line-height: 1; }
.jg-icon-edit-row { border-top: 1px dashed #dcdcde; margin-top: 0.35rem; padding-top: 0.65rem; }
.jg-icon-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(108px, 1fr));
    gap: 0.5rem;
}
.jg-icon-picker-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    padding: 0.55rem 0.35rem;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    text-align: center;
    transition: border-color .15s, background .15s;
}
.jg-icon-picker-item:hover,
.jg-icon-picker-item:focus {
    border-color: #1a5276;
    background: #f0f6fa;
    outline: none;
}
.jg-icon-picker-item-icon { font-size: 1.35rem; color: #1a5276; line-height: 1; }
.jg-icon-picker-item-label { font-size: 0.72rem; font-weight: 600; color: #1d2327; }
.jg-icon-picker-item-code { font-size: 0.62rem; color: #646970; }
#jg-icon-picker-modal { z-index: 10060; }
.modal-backdrop.show { z-index: 10055; }

/* Owner panel — share row, services, needs, targeted ads */
.dir-owner-share-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.35rem;
    margin-top: 0.65rem;
    width: 100%;
}
.dir-owner-share-input {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.78rem;
}
.dir-owner-share-btn {
    flex: 0 0 auto;
    white-space: nowrap;
    padding-inline: 0.65rem;
}
.dir-owner-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}
.dir-owner-service-card {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem;
    border: 1px solid var(--dir-border, #e2e8f0);
    border-radius: 14px;
    text-decoration: none !important;
    color: inherit !important;
    background: #fff;
    min-height: 88px;
    position: relative;
}
.dir-owner-service-icon { font-size: 1.2rem; color: var(--dir-accent, #0d9488); }
.dir-owner-service-badge {
    position: absolute;
    top: 0.35rem;
    left: 0.35rem;
    font-size: 0.65rem;
    background: #fef3c7;
    color: #92400e;
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}
.dir-owner-needs-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--dir-border, #edf2f7);
}
.dir-owner-needs-toggle { display: flex; gap: 0.65rem; font-size: 0.85rem; }
.dir-owner-needs-child { padding-right: 0.75rem; }
.dir-owner-targeted-ad {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    text-decoration: none !important;
    color: inherit !important;
    margin-bottom: 0.35rem;
}
.dir-owner-targeted-ad-img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.dir-ads-cta { font-weight: 700; color: var(--dir-accent, #0d9488) !important; }
.dir-drawer-summary-label { flex: 1; min-width: 0; word-break: break-word; }
.dir-owner-profile-pct { font-size: 0.8rem; font-weight: 700; color: var(--dir-accent, #0d9488); }
.dir-ai-lenses { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.dir-ai-lens-chip { font-size: 0.78rem; border: 1px solid var(--dir-border, #e2e8f0); border-radius: 999px; padding: 0.15rem 0.5rem; }
.dir-ai-rec-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 0.55rem; margin-bottom: 0.4rem; }
.dir-drawer-details { border-top: 1px solid var(--dir-border, #edf2f7); margin-top: 0.15rem; padding-top: 0.15rem; }
.dir-drawer-summary { display: flex; align-items: center; gap: 0.45rem; padding: 0.42rem 0.65rem; cursor: pointer; list-style: none; }
.dir-drawer-summary::-webkit-details-marker { display: none; }
.dir-drawer-sub {
    display: flex;
    flex-direction: column;
    gap: 0.06rem;
    padding: 0.15rem 0 0.35rem 0.35rem;
    max-height: min(45vh, 280px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.dir-drawer-details[open] .dir-drawer-summary {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
}
@media (max-width: 420px) {
    .dir-owner-share-row { gap: 0.25rem; }
    .dir-owner-share-btn { font-size: 0.75rem; padding-inline: 0.5rem; }
}
