/* GriyaCRM v60.3.95 — Enterprise Action Refinement
   Recovery from v60.3.94 global button overrides.
   IMPORTANT: this file intentionally DOES NOT normalize button geometry.
   Page/component CSS remains the source of truth for size, padding, radius,
   color, border, layout, and density. */
:root {
  --gcrm-action-focus: rgba(10, 110, 209, .32);
  --gcrm-action-focus-soft: rgba(10, 110, 209, .10);
}

/* Browser normalization only; no visual hierarchy is forced globally. */
.app-shell button,
.app-shell [role="button"],
dialog button,
.auth-shell button {
  font-family: inherit;
  -webkit-tap-highlight-color: transparent;
}

/* Keep the existing enterprise component styles intact and add one
   predictable keyboard-focus language across the product. */
:is(
  .primary-button,
  .secondary-button,
  .ghost-button,
  .danger-button,
  .icon-button,
  .small-button,
  .icon-text-button,
  .btn,
  .dashboard-link-button,
  .app-breadcrumb-link,
  .wa-send-button,
  .wa-icon-button,
  .wa-dialog-close,
  .wa-contact-inline-action,
  .wa-label-add-button,
  .wa-load-more-button
):focus-visible {
  outline: 2px solid var(--gcrm-action-focus);
  outline-offset: 2px;
}

/* Contextual classless controls in WhatsApp keep their own component design.
   Only focus behavior is standardized; geometry/colors remain untouched. */
#inboxView :is(
  .wa-inbox-filter-toolbar .wa-quick-filters > button,
  .wa-inbox-action-filters > button,
  .wa-advanced-filter-head > button,
  .wa-emoji-picker-head > button,
  .wa-emoji-grid > button,
  .wa-attachment-menu > button,
  .wa-reaction-picker > button,
  .wa-template-category-grid > button,
  .wa-quick-reply-variable-tools button,
  .wa-contact-group-head > button,
  .wa-message-hover-actions > button,
  .wa-quick-reply-list > button
):focus-visible {
  outline: 2px solid var(--gcrm-action-focus);
  outline-offset: 2px;
}

/* Disabled/loading semantics without changing component dimensions. */
:is(
  .primary-button,
  .secondary-button,
  .ghost-button,
  .danger-button,
  .icon-button,
  .small-button,
  .btn,
  .wa-send-button,
  .wa-icon-button,
  .wa-load-more-button
):disabled,
:is(
  .primary-button,
  .secondary-button,
  .ghost-button,
  .danger-button,
  .icon-button,
  .small-button,
  .btn,
  .wa-send-button,
  .wa-icon-button,
  .wa-load-more-button
)[aria-disabled="true"] {
  cursor: not-allowed;
}

/* Prevent Safari from drawing a foreign default focus ring on the known
   contextual controls while preserving the explicit focus-visible ring. */
@supports (-webkit-touch-callout: none) {
  #inboxView :is(
    .wa-inbox-filter-toolbar .wa-quick-filters > button,
    .wa-inbox-action-filters > button,
    .wa-advanced-filter-head > button,
    .wa-emoji-picker-head > button,
    .wa-contact-group-head > button
  ) {
    font-family: inherit;
  }
}

/* v60.3.94 used data-gcrm-btn at runtime. No styles are attached to the
   attribute anymore; after a hard refresh the old runtime attributes vanish. */

/* --------------------------------------------------------------------------
   Listing Properti — global typography consistency & readability layer
   --------------------------------------------------------------------------
   This layer is intentionally scoped to #propertyCatalogView. Several Listing
   modules evolved independently and ended up with captions in the 7–10px
   range. The rules below establish a readable enterprise type scale without
   changing data flow, geometry, or component behavior. !important is limited
   to typography so dynamically injected component styles cannot shrink text
   below this accessibility floor. */
#propertyCatalogView {
  --listing-font-body: 14px;
  --listing-font-control: 13px;
  --listing-font-secondary: 12px;
  --listing-font-caption: 10.5px;
  --listing-font-heading: 16px;
  --listing-line-body: 1.5;
  font-size: var(--listing-font-body);
  line-height: var(--listing-line-body);
}

#propertyCatalogView :is(button, input, select, textarea) {
  font-family: inherit !important;
}

#propertyCatalogView :is(input, select, textarea) {
  font-size: var(--listing-font-control) !important;
  line-height: 1.4 !important;
}

#propertyCatalogView small {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* Listing index / cards / filters */
#propertyCatalogView :is(.pcat-command h2, .pcat-panel-head h3, .pcat-inventory-head h3) {
  font-size: 17px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView :is(.pcat-command p, .pcat-panel-head p, .pcat-loc, .pcat-spec, .pcat-recent-item strong, .pcat-recent-item small) {
  font-size: var(--listing-font-secondary) !important;
  line-height: 1.5 !important;
}

#propertyCatalogView :is(.pcat-tab, .pcat-link, .pcat-primary, .pcat-secondary, .pcat-pagination button) {
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView :is(.pcat-toolbar input, .pcat-toolbar select, .pcat-form input, .pcat-form select, .pcat-form textarea) {
  font-size: var(--listing-font-control) !important;
}

#propertyCatalogView .pcat-form label > span,
#propertyCatalogView .pcat-section-title {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-title {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-price {
  font-size: 18px !important;
}

#propertyCatalogView :is(.pcat-code, .pcat-status, .pcat-quality, .pcat-cover-footer) {
  font-size: var(--listing-font-caption) !important;
  line-height: 1.3 !important;
}

#propertyCatalogView .pcat-kpi span {
  font-size: 11px !important;
}

#propertyCatalogView .pcat-kpi strong {
  font-size: 25px !important;
}

#propertyCatalogView .pcat-kpi small {
  font-size: 11.5px !important;
}

/* Detail Listing / Property Control Center */
#propertyCatalogView .pcat-detail-page :is(.pcat-back-button, .pcat-detail-actions button) {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .pcat-detail-page .pcc-eyebrow {
  font-size: 10.5px !important;
  line-height: 1.3 !important;
}

#propertyCatalogView .pcat-detail-page .pcc-identity h1 {
  font-size: 20px !important;
  line-height: 1.3 !important;
}

#propertyCatalogView .pcat-detail-page .pcc-identity-location {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-detail-page .pcc-chip {
  font-size: 11px !important;
  line-height: 1.3 !important;
}

#propertyCatalogView .pcat-detail-page .pcc-price span {
  font-size: 10px !important;
}

#propertyCatalogView .pcat-detail-page .pcc-price strong {
  font-size: 20px !important;
}

#propertyCatalogView .pcat-detail-page .pcc-price small {
  font-size: 11px !important;
}

#propertyCatalogView .pcat-listing-nav-group,
#propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] > .pcat-listing-profile-tabs::before {
  font-size: 10px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .pcat-listing-profile-tab {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .pcat-listing-profile-tab small {
  font-size: 9.5px !important;
}

#propertyCatalogView :is(.pcc-card-head h3, .pcc-workspace-hero h2) {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.pcc-card-head p, .pcc-workspace-hero p, .pcc-note) {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

#propertyCatalogView .pcc-summary span {
  font-size: 10.5px !important;
}

#propertyCatalogView .pcc-summary strong {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.pcc-business-row span, .pcc-business-row strong, .pcc-channel-row strong) {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#propertyCatalogView :is(.pcc-channel-row small, .pcc-foundation-badge, .pcc-quality-action) {
  font-size: 11px !important;
  line-height: 1.45 !important;
}

/* Owner intake and owner read-only workspace */
#propertyCatalogView :is(.ploi-card-head h3, .ov-header h3, .ov-modal-head h3) {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.ploi-card-head p, .ov-header p, .ov-section-head p, .ov-modal-head p) {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

#propertyCatalogView :is(.ploi-summary-item span, .ov-kicker, .ov-read span, .ov-group h5, .ov-check-section-head strong) {
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.ploi-summary-item strong, .ov-read strong, .ov-row strong, .ov-row span, .ov-check-row strong) {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#propertyCatalogView :is(.ov-read p, .ov-check-row small, .ov-lock, .ov-flash, .ov-check-section-head small) {
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

#propertyCatalogView :is(.ploi-field > span, .ov-field > span) {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.ploi-field input, .ploi-field select, .ploi-field textarea, .ov-field input, .ov-field select, .ov-field textarea) {
  font-size: 13px !important;
}

#propertyCatalogView :is(.ov-tab, .ov-edit, .ploi-save) {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .ov-section-head h4 {
  font-size: 14px !important;
}

#propertyCatalogView :is(.ov-check-summary-copy strong, .ov-modal-check strong) {
  font-size: 12px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.ov-check-summary-copy small, .ov-modal-check small, .ov-check-section-count, .ov-check-step) {
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}

/* Document Center — list, empty state, modal and attachment metadata */
#propertyCatalogView .pcat-document-workspace .doc-kicker {
  font-size: 10.5px !important;
}

#propertyCatalogView .pcat-document-workspace .doc-head h3,
#propertyCatalogView .doc-modal-head h3 {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-document-workspace .doc-head p,
#propertyCatalogView .doc-modal-head p {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

#propertyCatalogView .pcat-document-workspace .doc-add,
#propertyCatalogView :is(.doc-primary, .doc-secondary) {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .pcat-document-workspace .doc-stat span {
  font-size: 10.5px !important;
}

#propertyCatalogView .pcat-document-workspace .doc-stat strong {
  font-size: 18px !important;
}

#propertyCatalogView .pcat-document-workspace .doc-stat small {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-document-workspace :is(.doc-search input, .doc-toolbar select) {
  font-size: 12.5px !important;
}

#propertyCatalogView .pcat-document-workspace .doc-list-head {
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}

#propertyCatalogView .pcat-document-workspace :is(.doc-main strong, .doc-cell strong) {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

#propertyCatalogView .pcat-document-workspace :is(.doc-main small, .doc-cell small, .doc-status) {
  font-size: 11px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView .pcat-document-workspace .doc-empty h4 {
  font-size: 14px !important;
}

#propertyCatalogView .pcat-document-workspace .doc-empty p,
#propertyCatalogView .pcat-document-workspace > div:last-child {
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

#propertyCatalogView :is(.doc-field > span, .doc-upload-copy strong) {
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

#propertyCatalogView :is(.doc-field input, .doc-field select, .doc-field textarea) {
  font-size: 13px !important;
}

#propertyCatalogView :is(.doc-upload-copy small, .doc-current-file, .doc-modal-status) {
  font-size: 11.5px !important;
  line-height: 1.5 !important;
}

/* Mobile keeps the same readable floor; only major headings step down. */
@media (max-width: 720px) {
  #propertyCatalogView {
    --listing-font-body: 14px;
    --listing-font-control: 13px;
    --listing-font-secondary: 12px;
  }

  #propertyCatalogView .pcat-detail-page .pcc-identity h1 {
    font-size: 18px !important;
  }

  #propertyCatalogView .pcat-detail-page .pcc-price strong {
    font-size: 18px !important;
  }
}

/* --------------------------------------------------------------------------
   Listing Properti — Detail Listing navigation & media refinement
   --------------------------------------------------------------------------
   Keep the left rail calm and readable, remove the redundant rail title, and
   separate the property thumbnail rail from the main image card so all media
   remains visually owned by the right content workspace. */
#propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] > .pcat-listing-profile-tabs::before {
  content: none !important;
  display: none !important;
}

#propertyCatalogView .pcat-listing-nav-group {
  font-weight: 650 !important;
  letter-spacing: .055em !important;
}

#propertyCatalogView .pcat-listing-profile-tab {
  font-weight: 600 !important;
}

#propertyCatalogView .pcat-listing-profile-tab.active {
  font-weight: 700 !important;
}

#propertyCatalogView .pcat-listing-profile-tab small {
  font-weight: 650 !important;
}

@media (min-width: 1101px) {
  #propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] .pcc-overview-main > .pcc-source-media {
    display: grid !important;
    gap: 8px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] .pcc-overview-main > .pcc-source-media .pcat-detail-hero {
    overflow: hidden !important;
    border: 1px solid #dfe7ef !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 5px 18px rgba(15, 23, 42, .028) !important;
  }

  #propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] .pcc-overview-main > .pcc-source-media .pcat-gallery-strip {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px !important;
    overflow-x: auto !important;
    border: 1px solid #dfe7ef !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .025) !important;
    scrollbar-width: thin;
  }

  #propertyCatalogView .pcat-detail-page[data-listing-single-nav="1"] .pcc-overview-main > .pcc-source-media .pcat-gallery-thumb {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    height: 58px !important;
    flex: 0 0 88px !important;
    border-radius: 9px !important;
  }
}

@media (max-width: 1100px) {
  #propertyCatalogView .pcat-listing-profile-tab {
    font-weight: 600 !important;
  }

  #propertyCatalogView .pcat-listing-profile-tab.active {
    font-weight: 700 !important;
  }
}
