/* ==========================================================================
   Portal UI - Bulma integration layer - Sprint 1
   Global bridge for the real portal + lab styles
   ========================================================================== */

/* --------------------------------------------------------------------------
   Global pilot bridge for the real app
   -------------------------------------------------------------------------- */

body.app-bulma-pilot {
    --app-header-height: 68px;
    --app-footer-height: 58px;
    --app-sidebar-width: 260px;

    min-height: 100vh;
    overflow: hidden;

    font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
    background: #f5f7fb !important;
    color: #363636;
}

body.app-bulma-pilot,
body.app-bulma-pilot p,
body.app-bulma-pilot span,
body.app-bulma-pilot a,
body.app-bulma-pilot label,
body.app-bulma-pilot .btn,
body.app-bulma-pilot .form-control,
body.app-bulma-pilot .form-select,
body.app-bulma-pilot .card,
body.app-bulma-pilot .table,
body.app-bulma-pilot .badge,
body.app-bulma-pilot .alert,
body.app-bulma-pilot .nav-link,
body.app-bulma-pilot .dropdown-item,
body.app-bulma-pilot .modal-content {
    font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
}

body.app-bulma-pilot a {
    color: #485fc7 !important;
    text-decoration: none !important;
}

body.app-bulma-pilot a:hover {
    color: #3a51bb !important;
}

body.app-bulma-pilot label,
body.app-bulma-pilot .form-label {
    font-size: 14px;
    font-weight: 600;
    color: #4a4a4a;
}

body.app-bulma-pilot .text-muted {
    color: #6b7280 !important;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #app_header,
body.app-bulma-pilot .header_container {
    background: #ffffff !important;
    border-bottom: 1px solid #dbdbdb !important;
    box-shadow: var(--app-shadow-sm);
}

body.app-bulma-pilot #app_header .container-fluid {
    min-height: 68px;
    align-items: center !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

body.app-bulma-pilot .header_img {
    width: 160px !important;
    height: auto;
    margin-right: 18px !important;
}

body.app-bulma-pilot #select_account {
    min-width: 350px;
    max-width: 350px;
}

body.app-bulma-pilot .app-topbar-left,
body.app-bulma-pilot .app-topbar-right,
body.app-bulma-pilot .app-topbar-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

body.app-bulma-pilot .app-topbar-left {
    min-width: 0;
}

body.app-bulma-pilot .app-topbar-right {
    margin-left: auto;
}

body.app-bulma-pilot .app-topbar-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

body.app-bulma-pilot .app-topbar-locale-wrap {
    display: flex;
    align-items: center;
}

body.app-bulma-pilot .app-topbar-locale-select {
    min-width: 74px !important;
    max-width: 74px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   Main shell
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .app-shell {
    margin-top: var(--app-header-height);
    height: calc(100vh - var(--app-header-height));
    min-height: calc(100vh - var(--app-header-height));
}

body.app-bulma-pilot .app-shell-layout {
    display: flex;
    align-items: stretch;
    height: 100%;
    min-height: 100%;
}

body.app-bulma-pilot .app-shell-sidebar {
    flex: 0 0 var(--app-sidebar-width);
    width: var(--app-sidebar-width);
    max-width: var(--app-sidebar-width);
    min-width: 0;
    height: 100%;
    background: #ffffff !important;
    border-right: 1px solid #dbdbdb !important;
}

body.app-bulma-pilot .app-shell-sidebar-sticky {
    top: 0 !important;
    height: 100%;
    min-height: 100%;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-top: 1.2rem !important;
    padding-bottom: 1rem !important;
}

body.app-bulma-pilot .app-shell-sidebar-inner {
    min-height: 100%;
    padding: 1rem !important;
}

body.app-bulma-pilot .app-shell-main {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - var(--app-sidebar-width));
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: transparent !important;
    padding: 0 !important;
}

body.app-bulma-pilot .app-shell-main-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1.25rem 1.25rem 1.25rem 1.25rem !important;
}

/* --------------------------------------------------------------------------
   Sidebar nav
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .jr-nav-link {
    font-size: 13px !important;
    font-weight: 600 !important;
    width: 100%;
    padding: 0.75rem 0.875rem !important;
    color: #4a4a4a !important;
    border-radius: var(--app-radius-md) !important;
    display: block;
    text-align: left;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    margin-bottom: 10px !important;
}

body.app-bulma-pilot .jr-nav-link:hover {
    background-color: rgba(72, 95, 199, 0.08) !important;
    color: #485fc7 !important;
    transform: translateY(-1px);
}

body.app-bulma-pilot .jr-main-menu-active {
    background-color: rgba(72, 95, 199, 0.12) !important;
    color: #485fc7 !important;
}

body.app-bulma-pilot .jr-main-menu-icon {
    width: 16px;
    margin-right: 10px;
    opacity: 0.92;
}

body.app-bulma-pilot .jr-main-menu-separator {
    width: 100%;
    height: 1px;
    background-color: #e5e7eb !important;
    margin-top: 0.75rem !important;
    margin-bottom: 0.9rem !important;
    margin-left: auto;
    margin-right: auto;
}

/* --------------------------------------------------------------------------
   Cards
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .card {
    border: 1px solid #dbdbdb !important;
    border-radius: var(--app-radius-lg) !important;
    box-shadow: var(--app-shadow-sm) !important;
    background: #ffffff !important;
    overflow: hidden;
}

body.app-bulma-pilot .card-header {
    background: #fafafa !important;
    border-bottom: 1px solid #dbdbdb !important;
    padding: 0.5rem 1rem !important;
    font-weight: 700 !important;
    color: #363636 !important;
}

body.app-bulma-pilot .card-body {
    /* padding: 0.75rem 1rem !important; */
    background: #ffffff !important;
}

body.app-bulma-pilot .card-footer {
    padding: 0.75rem 1rem !important;
    background: #ffffff !important;
    border-top: 1px solid #dbdbdb !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .btn {
    border-radius: var(--app-radius-sm) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: transform 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

body.app-bulma-pilot .btn:hover {
    transform: translateY(-1px);
}

body.app-bulma-pilot .btn-sm {
    border-radius: var(--app-radius-sm) !important;
}

body.app-bulma-pilot .btn-primary {
    background-color: #485fc7 !important;
    border-color: #485fc7 !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-primary:hover,
body.app-bulma-pilot .btn-primary:focus {
    background-color: #3a51bb !important;
    border-color: #3a51bb !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-secondary {
    background-color: var(--app-secondary) !important;
    border-color: var(--app-secondary) !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-secondary:hover,
body.app-bulma-pilot .btn-secondary:focus {
    background-color: var(--app-secondary-hover) !important;
    border-color: var(--app-secondary-hover) !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-success,
body.app-bulma-pilot .btn-jr-green {
    background-color: #48c78e !important;
    border-color: #48c78e !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-success:hover,
body.app-bulma-pilot .btn-success:focus,
body.app-bulma-pilot .btn-jr-green:hover,
body.app-bulma-pilot .btn-jr-green:focus {
    background-color: #3dbb82 !important;
    border-color: #3dbb82 !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-danger {
    background-color: #f14668 !important;
    border-color: #f14668 !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-danger:hover,
body.app-bulma-pilot .btn-danger:focus {
    background-color: #e03e5f !important;
    border-color: #e03e5f !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-warning {
    background-color: #ffe08a !important;
    border-color: #f5d66f !important;
    color: #363636 !important;
}

body.app-bulma-pilot .btn-info {
    background-color: #3e8ed0 !important;
    border-color: #3e8ed0 !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .btn-outline-primary {
    color: #485fc7 !important;
    border-color: #485fc7 !important;
    background: #ffffff !important;
}

body.app-bulma-pilot .btn-outline-primary:hover,
body.app-bulma-pilot .btn-outline-primary:focus {
    color: #ffffff !important;
    background: #485fc7 !important;
    border-color: #485fc7 !important;
}

body.app-bulma-pilot .btn-outline-secondary {
    color: var(--app-secondary) !important;
    border-color: var(--app-secondary) !important;
    background: #ffffff !important;
}

body.app-bulma-pilot .btn-outline-secondary:hover,
body.app-bulma-pilot .btn-outline-secondary:focus {
    color: #ffffff !important;
    background: var(--app-secondary) !important;
    border-color: var(--app-secondary) !important;
}

body.app-bulma-pilot .btn-outline-danger {
    color: #f14668 !important;
    border-color: #f14668 !important;
    background: #ffffff !important;
}

body.app-bulma-pilot .btn-outline-danger:hover,
body.app-bulma-pilot .btn-outline-danger:focus {
    color: #ffffff !important;
    background: #f14668 !important;
    border-color: #f14668 !important;
}

body.app-bulma-pilot .btn-outline-dark {
    color: #363636 !important;
    border-color: #b5b5b5 !important;
    background: #ffffff !important;
}

body.app-bulma-pilot .btn-outline-dark:hover,
body.app-bulma-pilot .btn-outline-dark:focus {
    color: #ffffff !important;
    background: #363636 !important;
    border-color: #363636 !important;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .form-control,
body.app-bulma-pilot .form-select,
body.app-bulma-pilot textarea.form-control,
body.app-bulma-pilot input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.app-bulma-pilot select {
    border: 1px solid #dbdbdb !important;
    border-radius: var(--app-radius-md) !important;
    background-color: #ffffff !important;
    color: #363636 !important;
    box-shadow: none !important;
    min-height: 38px;
}

body.app-bulma-pilot .form-control:focus,
body.app-bulma-pilot .form-select:focus,
body.app-bulma-pilot textarea.form-control:focus,
body.app-bulma-pilot input:not([type="checkbox"]):not([type="radio"]):focus,
body.app-bulma-pilot select:focus {
    border-color: #485fc7 !important;
    box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.18) !important;
}

body.app-bulma-pilot .form-check-input {
    border-radius: 4px !important;
    box-shadow: none !important;
}

body.app-bulma-pilot .form-check-input:focus {
    box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.18) !important;
}

/* --------------------------------------------------------------------------
   Tables
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .table {
    margin-bottom: 0;
    background: transparent !important;
}

body.app-bulma-pilot .table > :not(caption) > * > * {
    padding: 0.8rem 1rem;
    background: transparent !important;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: middle;
}

body.app-bulma-pilot .table > thead {
    background: #fafafa !important;
}

body.app-bulma-pilot .table > thead > tr > th {
    color: #363636 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-bottom: 1px solid #dbdbdb !important;
    white-space: nowrap;
}

body.app-bulma-pilot .table-hover > tbody > tr:hover > * {
    background-color: rgba(72, 95, 199, 0.045) !important;
}

/* --------------------------------------------------------------------------
   Badges / alerts / tabs / modals
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .badge {
    border-radius: 999px !important;
    padding: 0.45em 0.75em !important;
    font-weight: 700 !important;
}

body.app-bulma-pilot .bg-secondary {
    background-color: var(--app-secondary) !important;
}

body.app-bulma-pilot .alert {
    border-radius: var(--app-radius-md) !important;
    border: 1px solid #dbdbdb !important;
    box-shadow: none !important;
}

body.app-bulma-pilot .nav-tabs {
    border-bottom: 1px solid #dbdbdb !important;
}

body.app-bulma-pilot .nav-tabs .nav-link {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    color: #6b7280 !important;
    font-weight: 600 !important;
    background: transparent !important;
}

body.app-bulma-pilot .nav-tabs .nav-link:hover,
body.app-bulma-pilot .nav-tabs .nav-link:focus {
    color: #485fc7 !important;
    border-bottom-color: rgba(72, 95, 199, 0.35) !important;
}

body.app-bulma-pilot .nav-tabs .nav-link.active {
    color: #485fc7 !important;
    border-bottom-color: #485fc7 !important;
    background: transparent !important;
}

body.app-bulma-pilot .modal-content {
    border: 1px solid #dbdbdb !important;
    border-radius: var(--app-radius-lg) !important;
    box-shadow: var(--app-shadow-md) !important;
}

body.app-bulma-pilot .modal-header {
    background: #fafafa !important;
    border-bottom: 1px solid #dbdbdb !important;
}

body.app-bulma-pilot .modal-footer {
    border-top: 1px solid #dbdbdb !important;
}

/* --------------------------------------------------------------------------
   Bootstrap helpers that still appear in the app
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .background-light {
    background-color: #f3f4f6 !important;
}

body.app-bulma-pilot .background-light-2 {
    background-color: #fafafa !important;
}

/* ==========================================================================
   Existing Bulma pilot / lab styles
   ========================================================================== */

.app-bulma-pilot {
    min-width: 0;
}

/* --------------------------------------------------------------------------
   Page header / top bar
   -------------------------------------------------------------------------- */

.app-bulma-pilot .app-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.app-bulma-pilot .app-page-header-left,
.app-bulma-pilot .app-page-header-right {
    min-width: 0;
}

.app-bulma-pilot .app-page-title-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

.app-bulma-pilot .app-page-title-row .title,
.app-bulma-pilot .app-page-title-row .subtitle,
.app-bulma-pilot .app-page-title-row h1,
.app-bulma-pilot .app-page-title-row h2,
.app-bulma-pilot .app-page-title-row h3,
.app-bulma-pilot .app-page-title-row h4 {
    margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Module page header normalization
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .app-page-header {
    width: 100%;
}

body.app-bulma-pilot {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.app-bulma-pilot .app-page-header .app-module-title {
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #363636 !important;
    white-space: nowrap;
}

body.app-bulma-pilot .app-page-header .app-module-title strong {
    font-weight: inherit;
}

body.app-bulma-pilot .dashboard-inner-container {
    width: 100%;
    min-width: 0;
}

.app-bulma-pilot .app-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   Generic boxes / cards
   -------------------------------------------------------------------------- */

.app-bulma-pilot .box,
.app-bulma-pilot .card,
.app-bulma-pilot .message,
.app-bulma-pilot .notification,
.app-bulma-pilot .dropdown-content,
.app-bulma-pilot .modal-card,
.app-bulma-pilot .input,
.app-bulma-pilot .textarea,
.app-bulma-pilot .select select {
    border-radius: var(--app-radius-md);
}

.app-bulma-pilot .app-card-lg,
.app-bulma-pilot .app-box-lg,
.app-bulma-pilot .app-panel-lg {
    border-radius: var(--app-radius-lg);
}

.app-bulma-pilot .app-surface {
    background: var(--app-surface-1);
    border: 1px solid var(--app-border-color);
    border-radius: var(--app-radius-md);
    box-shadow: var(--app-shadow-sm);
}

.app-bulma-pilot .app-surface-lg {
    background: var(--app-surface-1);
    border: 1px solid var(--app-border-color);
    border-radius: var(--app-radius-lg);
    box-shadow: var(--app-shadow-md);
}

/* --------------------------------------------------------------------------
   Buttons / pills / small controls
   -------------------------------------------------------------------------- */

.app-bulma-pilot .button,
.app-bulma-pilot .tag,
.app-bulma-pilot .pagination-link,
.app-bulma-pilot .pagination-next,
.app-bulma-pilot .pagination-previous,
.app-bulma-pilot .file-cta,
.app-bulma-pilot .delete {
    border-radius: var(--app-radius-sm);
}

.app-bulma-pilot .button.is-secondary {
    background-color: var(--app-secondary);
    border-color: transparent;
    color: #ffffff;
}

.app-bulma-pilot .button.is-secondary:hover,
.app-bulma-pilot .button.is-secondary:focus {
    background-color: var(--app-secondary-hover);
    border-color: transparent;
    color: #ffffff;
}

.app-bulma-pilot .tag.is-secondary,
.app-bulma-pilot .notification.is-secondary {
    background-color: var(--app-secondary);
    color: #ffffff;
}

.app-bulma-pilot .button.is-secondary-light,
.app-bulma-pilot .tag.is-secondary-light,
.app-bulma-pilot .notification.is-secondary-light {
    background-color: var(--app-secondary-soft);
    border-color: var(--app-secondary-soft-border);
    color: var(--app-secondary-soft-text);
}

/* --------------------------------------------------------------------------
   Bulma button safeguards inside the Bootstrap compatibility shell
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .button {
    font-weight: 600;
    box-shadow: none !important;
}

body.app-bulma-pilot .button.is-link:not(.is-light):not(.is-outlined),
body.app-bulma-pilot a.button.is-link:not(.is-light):not(.is-outlined),
body.app-bulma-pilot button.button.is-link:not(.is-light):not(.is-outlined) {
    background-color: #485fc7 !important;
    border-color: #485fc7 !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .button.is-link:not(.is-light):not(.is-outlined):hover,
body.app-bulma-pilot .button.is-link:not(.is-light):not(.is-outlined):focus,
body.app-bulma-pilot a.button.is-link:not(.is-light):not(.is-outlined):hover,
body.app-bulma-pilot a.button.is-link:not(.is-light):not(.is-outlined):focus,
body.app-bulma-pilot button.button.is-link:not(.is-light):not(.is-outlined):hover,
body.app-bulma-pilot button.button.is-link:not(.is-light):not(.is-outlined):focus {
    background-color: #3a51bb !important;
    border-color: #3a51bb !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .button.is-link.is-light,
body.app-bulma-pilot a.button.is-link.is-light,
body.app-bulma-pilot button.button.is-link.is-light {
    background-color: #eef2ff !important;
    border-color: #dfe5ff !important;
    color: #485fc7 !important;
}

body.app-bulma-pilot .button.is-link.is-light:hover,
body.app-bulma-pilot .button.is-link.is-light:focus,
body.app-bulma-pilot a.button.is-link.is-light:hover,
body.app-bulma-pilot a.button.is-link.is-light:focus,
body.app-bulma-pilot button.button.is-link.is-light:hover,
body.app-bulma-pilot button.button.is-link.is-light:focus {
    background-color: #e0e7ff !important;
    border-color: #ccd7ff !important;
    color: #3a51bb !important;
}

body.app-bulma-pilot .button.is-success:not(.is-light):not(.is-outlined),
body.app-bulma-pilot button.button.is-success:not(.is-light):not(.is-outlined),
body.app-bulma-pilot a.button.is-success:not(.is-light):not(.is-outlined) {
    background-color: #48c78e !important;
    border-color: #48c78e !important;
    color: #ffffff !important;
}

body.app-bulma-pilot .button.is-danger.is-light,
body.app-bulma-pilot button.button.is-danger.is-light,
body.app-bulma-pilot a.button.is-danger.is-light {
    background-color: #feecf0 !important;
    border-color: #f5b8c3 !important;
    color: #cc0f35 !important;
}

/* --------------------------------------------------------------------------
   Filters / section helpers
   -------------------------------------------------------------------------- */

.app-bulma-pilot .app-filters-box,
.app-bulma-pilot .app-content-box {
    background: var(--app-surface-1);
    border: 1px solid var(--app-border-color);
    border-radius: var(--app-radius-md);
    box-shadow: var(--app-shadow-sm);
}

.app-bulma-pilot .app-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

.app-bulma-pilot .app-inline-select {
    min-width: 220px;
    max-width: 320px;
}

.app-bulma-pilot .app-scroll-region {
    position: relative;
    overflow: auto;
}

/* --------------------------------------------------------------------------
   Tasks view
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .tasks-page-shell {
    height: calc(100dvh - var(--app-header-height) - var(--app-footer-height) - 2.75rem);
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.app-bulma-pilot .tasks-page-header {
    flex: 0 0 auto;
    margin-bottom: 1rem !important;
}

body.app-bulma-pilot .tasks-content-row {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

body.app-bulma-pilot .tasks-content-row > .col-12 {
    min-height: 0;
}

body.app-bulma-pilot .tasks-main-card {
    height: 85vh;
    max-height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

body.app-bulma-pilot .tasks-card-header,
body.app-bulma-pilot .tasks-main-card .card-header {
    flex: 0 0 auto;
    margin: 0 !important;
}

body.app-bulma-pilot .tasks-list-shell,
body.app-bulma-pilot .tasks-main-card .card-body.tasks-list-shell {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    background: #ffffff;
}

body.app-bulma-pilot .tasks-list-scroll {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: auto;
    margin: 0 !important;
    padding: 0 !important;
}

body.app-bulma-pilot .tasks-table {
    width: 100%;
    margin: 0 !important;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

body.app-bulma-pilot .tasks-table > :not(caption) > * > * {
    font-size: 14px !important;
    background: transparent !important;
}

body.app-bulma-pilot .tasks-table > thead,
body.app-bulma-pilot .tasks-table > thead > tr {
    background: #ffffff !important;
}

body.app-bulma-pilot .tasks-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 25;
    background: #ffffff !important;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #dbdbdb;
}

body.app-bulma-pilot .tasks-group-row > td {
    background: #fafafa !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

body.app-bulma-pilot .tasks-group-label {
    font-size: 14px;
    font-weight: 700;
}

body.app-bulma-pilot .tasks-group-label-overdue {
    color: #cc0f35 !important;
}

body.app-bulma-pilot .tasks-table tbody tr.tasks-publication-row > td {
    font-size: 14px !important;
}

body.app-bulma-pilot .tasks-table tbody tr.tasks-row-overdue > td {
    background-color: #feecf0 !important;
}

body.app-bulma-pilot .tasks-topic-cell {
    word-break: break-word;
    white-space: normal;
}

body.app-bulma-pilot .tasks-action-button {
    min-width: 32px;
    width: 32px;
    height: 32px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.app-bulma-pilot .tasks-action-button i {
    color: inherit !important;
}

body.app-bulma-pilot .tasks-editor-modal .modal-dialog {
    max-width: 1100px;
}

body.app-bulma-pilot .tasks-editor-modal .modal-body {
    background: #ffffff;
    max-height: calc(100dvh - 170px);
    overflow: auto;
}

body.app-bulma-pilot .tasks-editor-modal #publication-reader-container {
    min-height: 240px;
}

/* --------------------------------------------------------------------------
   Minor visual normalization
   -------------------------------------------------------------------------- */

.app-bulma-pilot .field:last-child,
.app-bulma-pilot .control:last-child,
.app-bulma-pilot .buttons:last-child {
    margin-bottom: 0;
}

.app-bulma-pilot .card-content {
    background: var(--app-surface-1);
}

/* --------------------------------------------------------------------------
   Idea Pool lab
   -------------------------------------------------------------------------- */

.app-idea-pool-lab .app-page-header-left {
    flex: 1 1 auto;
}

.app-idea-pool-lab .app-page-header-right {
    flex: 0 0 auto;
}

.app-idea-pool-lab .app-account-select {
    min-width: 240px;
    max-width: 340px;
}

.app-idea-pool-lab .app-table-card-body {
    height: 560px;
    overflow-y: auto;
    overflow-x: auto;
    padding: 0;
    position: relative;
    isolation: isolate;
    background: #ffffff;
}

.app-idea-pool-lab .app-table-card-body .table-container {
    overflow: visible;
    margin-bottom: 0;
    padding: 0 14px 0 0;
}

.app-idea-pool-lab .app-table-card-body table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

.app-idea-pool-lab .app-table-card-body thead th,
.app-idea-pool-lab .app-table-card-body tbody td {
    font-size: 14px;
    vertical-align: middle;
}

.app-idea-pool-lab .app-table-card-body thead th {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #dbdbdb;
}

.app-idea-pool-lab .app-table-card-body thead,
.app-idea-pool-lab .app-table-card-body thead tr {
    background: #ffffff;
}

.app-idea-pool-lab .app-table-card-body tbody {
    position: relative;
    z-index: 1;
}

.app-idea-pool-lab .app-table-card-body thead th:first-child,
.app-idea-pool-lab .app-table-card-body tbody td:first-child {
    width: 30px;
    text-align: center;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(2),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(2) {
    width: 45%;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(3),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(3) {
    width: 100px;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(4),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(4) {
    width: 12%;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(5),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(5) {
    width: 90px;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(6),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(6) {
    width: 90px;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(7),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(7) {
    width: 60px;
}

.app-idea-pool-lab .app-table-card-body thead th:nth-child(8),
.app-idea-pool-lab .app-table-card-body tbody td:nth-child(8) {
    width: 200px;
}

.app-idea-pool-lab .app-table-card-body thead th:last-child,
.app-idea-pool-lab .app-table-card-body tbody td:last-child {
    padding-right: 18px;
}

.app-idea-pool-lab .app-bulk-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.app-idea-pool-lab .app-bulk-selection-text {
    color: #6b7280;
    font-size: 0.875rem;
}

.app-idea-pool-lab .app-idea-title {
    font-weight: 600;
}

.app-idea-pool-lab .app-idea-summary {
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 0.35rem;
    white-space: normal;
}

.app-idea-pool-lab .app-actions-inline {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.app-idea-pool-lab .app-lab-note {
    font-size: 0.875rem;
    color: #6b7280;
}

.app-idea-pool-lab .app-filter-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

/* --------------------------------------------------------------------------
   Real shell helpers introduced in index.php + header.php
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .app-shell,
body.app-bulma-pilot .app-shell-layout {
    background: transparent !important;
}

body.app-bulma-pilot .app-shell-nav {
    text-align: left !important;
}

body.app-bulma-pilot .app-topbar {
    min-height: var(--app-header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

body.app-bulma-pilot .app-topbar-left,
body.app-bulma-pilot .app-topbar-right {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

body.app-bulma-pilot .app-topbar-left {
    flex: 1 1 auto;
}

body.app-bulma-pilot .app-topbar-right {
    flex: 0 0 auto;
    justify-content: flex-end;
}

body.app-bulma-pilot .app-topbar-logo-link {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

body.app-bulma-pilot .app-topbar-account-wrap {
    min-width: 0;
}

body.app-bulma-pilot .app-topbar-account-form {
    margin: 0;
    display: flex;
    align-items: center;
}

body.app-bulma-pilot .app-topbar-account-select {
    min-width: 350px;
    max-width: 350px;
}

body.app-bulma-pilot .app-topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .app-topbar-icon-btn {
    min-width: 38px;
    height: 38px;
    padding: 0.375rem 0.6rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.app-bulma-pilot .app-footer {
    flex: 0 0 auto;
    width: 100%;
    margin-top: auto !important;
    border-top: 1px solid #dbdbdb;
    background: #f5f7fb;
}

body.app-bulma-pilot .app-footer-inner {
    padding: 0.85rem 1rem;
    text-align: center;
}

body.app-bulma-pilot .jr-footer-text {
    margin: 0;
    text-align: center;
}

@media (max-width: 991.98px) {
    body.app-bulma-pilot {
        overflow: auto;
    }

    body.app-bulma-pilot .app-shell {
        margin-top: var(--app-header-height);
        height: auto;
        min-height: calc(100vh - var(--app-header-height));
    }

    body.app-bulma-pilot .app-shell-layout {
        display: block;
        height: auto;
        min-height: 0;
    }

    body.app-bulma-pilot .app-shell-sidebar {
        width: 100%;
        max-width: 100%;
        flex: none;
        height: auto;
        border-right: 0 !important;
        border-bottom: 1px solid #dbdbdb !important;
    }

    body.app-bulma-pilot .app-shell-sidebar-sticky {
        top: 0 !important;
        height: auto;
        min-height: auto;
        overflow: visible !important;
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
    }

    body.app-bulma-pilot .app-shell-sidebar-inner {
        min-height: 0;
    }

    body.app-bulma-pilot .app-shell-main {
        max-width: 100%;
        height: auto;
        min-height: 0;
        display: block;
        overflow: visible;
    }

    body.app-bulma-pilot .app-shell-main-scroll {
    overflow: visible;
    padding: 1rem 1rem 0 1rem !important;
}

    body.app-bulma-pilot .app-topbar {
        align-items: flex-start;
    }

    body.app-bulma-pilot .app-topbar-left,
    body.app-bulma-pilot .app-topbar-right {
        width: 100%;
    }

    body.app-bulma-pilot .app-topbar-right {
        justify-content: flex-start;
    }

    body.app-bulma-pilot .app-topbar-account-select {
        min-width: 280px;
        max-width: 100%;
        width: 100%;
    }

    body.app-bulma-pilot .app-topbar-account-form,
    body.app-bulma-pilot .app-topbar-account-wrap {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   Real screen pass 1: Idea Pool
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot {
    width: 100%;
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-module-page-header {
    margin-bottom: 1rem;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-heading-inline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-top-left {
    min-width: 0;
    flex: 1 1 auto;
}

body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-heading-select {
    width: 370px;
    min-width: 260px;
    max-width: 370px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-module-card {
    border-radius: var(--app-radius-lg) !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-filter-card .card-header,
body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-ideas-card .card-header {
    font-weight: 700 !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-filter-grid > div {
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-filter-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolCreateFormWrap:empty {
    display: none;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody {
    height: 560px;
    overflow-y: auto;
    overflow-x: auto;
    padding: 0 !important;
    position: relative;
    isolation: isolate;
    background: #ffffff;
    z-index: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableWrap .table-responsive {
    overflow: visible;
    margin-bottom: 0;
    padding: 0 14px 0 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody thead,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody thead tr {
    background: #fafafa;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody tbody {
    position: relative;
    z-index: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody tbody tr,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody tbody td {
    position: relative;
    z-index: 0;
    background: #ffffff;
    background-clip: padding-box;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td .fw-semibold,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td .small,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td .text-muted,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td .form-select,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td .btn {
    font-size: 14px !important;
    vertical-align: middle;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th {
    position: sticky;
    top: 0;
    z-index: 40;
    background: #fafafa !important;
    background-clip: padding-box;
    vertical-align: bottom;
    box-shadow: inset 0 -1px 0 #dbdbdb, 0 1px 0 #dbdbdb;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #fafafa;
    z-index: -1;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:first-child {
    vertical-align: bottom;
    padding-bottom: 0.65rem;
    text-align: center;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:first-child input[type="checkbox"] {
    vertical-align: bottom;
    position: relative;
    top: 2px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:last-child,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:last-child {
    padding-right: 18px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:first-child,
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:first-child {
    width: 30px;
    text-align: center;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(2),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(2) {
    width: 45%;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(3),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(3) {
    width: 100px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(4),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(4) {
    width: 12%;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(5),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(5) {
    width: 90px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(6),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(6) {
    width: 90px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(7),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(7) {
    width: 60px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table thead th:nth-child(8),
body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolTableCardBody table tbody td:nth-child(8) {
    width: 200px;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolBulkActionsFooter .idea-pool-bulk-actions-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ideaPoolBulkSelectionText {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-heading-select {
        width: 100%;
        min-width: 220px;
        max-width: 100%;
    }

    body.app-bulma-pilot #ideaPoolModuleRoot .idea-pool-actions {
        justify-content: flex-start;
    }
}

/* --------------------------------------------------------------------------
   Idea Pool table renderer - internal content pass
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-pool-table {
    width: 100%;
    table-layout: fixed;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-pool-table tbody tr:hover > td {
    background-color: rgba(72, 95, 199, 0.04) !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-col-select,
body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-select-cell {
    text-align: center;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-cell {
    vertical-align: middle;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-row-title {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: #2f3540;
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-row-summary {
    margin-top: 0.35rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: #6b7280;
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-meta-text {
    display: inline-block;
    font-size: 0.925rem;
    color: #4a4a4a;
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-status-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-status-select {
    min-width: 116px;
    max-width: 116px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-status-chip,
body.app-bulma-pilot #ideaPoolModuleRoot .app-source-pill,
body.app-bulma-pilot #ideaPoolModuleRoot .app-linked-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-status-chip--inbox {
    background: #e8f1fb;
    color: #2f6fb3;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-status-chip--ready {
    background: #e7f7ef;
    color: #20784f;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-status-chip--on-hold {
    background: #fff4d6;
    color: #8a6d1f;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-status-chip--archived {
    background: #eef1f4;
    color: #5f6b76;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-source-pill {
    background: #eef2ff;
    color: #485fc7;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-linked-pill {
    min-width: 34px;
    background: #f3f4f6;
    color: #374151;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-row-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-action-btn {
    white-space: nowrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-empty-state {
    border-radius: var(--app-radius-md) !important;
}

@media (max-width: 1199.98px) {
    body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-row-actions {
        justify-content: flex-start;
    }
}

/* --------------------------------------------------------------------------
   Idea Pool - create form pass
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form-card {
    border-radius: var(--app-radius-lg) !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-card-header-left,
body.app-bulma-pilot #ideaPoolModuleRoot .app-form-card-header-right {
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-intro-note {
    margin-bottom: 1rem;
    border-radius: var(--app-radius-md) !important;
    color: #4a4a4a;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form-grid > div {
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-label {
    margin-bottom: 0.45rem;
    font-size: 14px;
    font-weight: 600;
    color: #3f3f46;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-text {
    margin-top: 0.35rem;
    font-size: 12px;
    color: #6b7280;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-control,
body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-select {
    background: #ffffff !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-textarea {
    resize: vertical;
    line-height: 1.45;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-textarea-summary {
    min-height: 108px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-textarea-notes {
    min-height: 160px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

@media (max-width: 767.98px) {
    body.app-bulma-pilot #ideaPoolModuleRoot .app-form-card-header {
        align-items: flex-start;
    }

    body.app-bulma-pilot #ideaPoolModuleRoot .app-form-card-header-right {
        width: 100%;
    }

    body.app-bulma-pilot #ideaPoolModuleRoot .app-form-actions {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   Idea Pool - create form adjustments
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-intro-note--warning {
    margin-bottom: 1rem;
    border-radius: var(--app-radius-md) !important;
    background: #fff8db !important;
    border: 1px solid #f0d98c !important;
    color: #6f5a16 !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 16px !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-form .form-select::-ms-expand {
    display: none;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-actions .btn {
    min-width: 120px;
}

/* --------------------------------------------------------------------------
   Idea Pool - create publication form pass
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-intro-note--danger {
    margin-bottom: 1rem;
    border-radius: var(--app-radius-md) !important;
    background: #fdecef !important;
    border: 1px solid #f5b8c3 !important;
    color: #a53a52 !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-context-card {
    border-radius: var(--app-radius-lg) !important;
    overflow: hidden;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-context-meta-item {
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-context-meta-label {
    margin-bottom: 0.25rem;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6b7280;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-context-meta-value {
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-idea-textarea-llm {
    min-height: 260px;
    resize: vertical;
    line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Idea Pool - import / AI forms pass
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-rules-list {
    padding-left: 1.1rem;
    margin-bottom: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-rules-list li {
    margin-bottom: 0.45rem;
    color: #4b5563;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-rules-list li:last-child {
    margin-bottom: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-code-block-wrap {
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-form-code-block {
    display: block;
    width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid #dbdbdb;
    border-radius: var(--app-radius-md);
    background: #f8fafc;
    color: #374151;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    line-height: 1.45;
    overflow-x: auto;
    white-space: nowrap;
}

body.app-bulma-pilot #ideaPoolModuleRoot #ipLlmServiceFieldWrap {
    min-width: 0;
}

/* --------------------------------------------------------------------------
   Idea Pool - preview batches pass
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stats-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-card {
    padding: 0.9rem 1rem;
    border: 1px solid #dbdbdb;
    border-radius: var(--app-radius-md);
    background: #ffffff;
    box-shadow: var(--app-shadow-sm);
    min-width: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-card--success {
    background: #eefaf4;
    border-color: #cbeedc;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-card--warning {
    background: #fff8e1;
    border-color: #f3e1a5;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-card--danger {
    background: #fdf0f3;
    border-color: #f3c4cf;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-card--primary {
    background: #eef2ff;
    border-color: #cfd8ff;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-label {
    margin-bottom: 0.35rem;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6b7280;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stat-value {
    font-size: 1.4rem;
    line-height: 1.1;
    font-weight: 700;
    color: #2f3540;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table-wrap {
    border: 1px solid #dbdbdb;
    border-radius: var(--app-radius-lg);
    overflow: hidden;
    background: #ffffff;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table thead th {
    background: #fafafa !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    vertical-align: middle;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table tbody td {
    font-size: 14px;
    vertical-align: top;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table tbody tr:hover > td {
    background-color: rgba(72, 95, 199, 0.04) !important;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-select-cell,
body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-col-select {
    text-align: center;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-title-cell {
    font-weight: 600;
    color: #2f3540;
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-issues-cell {
    word-break: break-word;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-issue {
    margin-bottom: 0.35rem;
    font-size: 13px;
    line-height: 1.4;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-issue:last-child {
    margin-bottom: 0;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-issue--error {
    color: #c03954;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-issue--warning {
    color: #9a7b1f;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-status-chip--error {
    background: #fdecef;
    color: #b33650;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-select,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(1) {
    width: 54px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-row,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(2) {
    width: 70px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-status,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(3) {
    width: 110px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-title,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(4) {
    width: 24%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-service,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(5) {
    width: 12%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-location,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(6) {
    width: 12%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-channel,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(7) {
    width: 12%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-language,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(8) {
    width: 90px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-tone,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(9) {
    width: 100px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table .app-preview-col-issues,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table td:nth-child(10) {
    width: 28%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-select,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(1) {
    width: 54px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-row,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(2) {
    width: 70px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-status,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(3) {
    width: 110px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-title,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(4) {
    width: 34%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-service,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(5) {
    width: 18%;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-language,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(6) {
    width: 100px;
}

body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm .app-preview-col-issues,
body.app-bulma-pilot #ideaPoolModuleRoot .app-import-preview-table--llm td:nth-child(7) {
    width: 30%;
}

@media (max-width: 1199.98px) {
    body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body.app-bulma-pilot #ideaPoolModuleRoot .app-preview-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   Global form conventions extracted from Idea Pool
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .app-form-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .app-form-card-header-left,
body.app-bulma-pilot .app-form-card-header-right {
    min-width: 0;
}

body.app-bulma-pilot .app-form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .app-form-actions .btn {
    min-width: 120px;
}

body.app-bulma-pilot .app-form-intro-note--warning {
    margin-bottom: 1rem;
    border-radius: var(--app-radius-md) !important;
    background: #fff8db !important;
    border: 1px solid #f0d98c !important;
    color: #6f5a16 !important;
}

body.app-bulma-pilot .app-form-intro-note--danger {
    margin-bottom: 1rem;
    border-radius: var(--app-radius-md) !important;
    background: #fdecef !important;
    border: 1px solid #f5b8c3 !important;
    color: #a53a52 !important;
}

body.app-bulma-pilot .form-select,
body.app-bulma-pilot select.form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.5rem !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 16px !important;
}

body.app-bulma-pilot .form-select::-ms-expand,
body.app-bulma-pilot select.form-select::-ms-expand {
    display: none;
}

body.app-bulma-pilot .app-form-actions .btn-primary,
body.app-bulma-pilot .app-form-actions .btn-success,
body.app-bulma-pilot .app-form-actions .btn-jr-green {
    min-width: 120px;
}

body.app-bulma-pilot .app-form-actions .btn-danger,
body.app-bulma-pilot .app-form-actions .btn-outline-danger {
    min-width: 120px;
}

@media (max-width: 767.98px) {
    body.app-bulma-pilot .app-form-card-header {
        align-items: flex-start;
    }

    body.app-bulma-pilot .app-form-card-header-right,
    body.app-bulma-pilot .app-form-actions {
        width: 100%;
    }
}

/* --------------------------------------------------------------------------
   Screen: Users Permissions - users_permisions.php
   -------------------------------------------------------------------------- */

#usersPermissionsModuleRoot {
            width: 100%;
            min-width: 0;
        }

#usersPermissionsModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#usersPermissionsModuleRoot .users-permissions-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#usersPermissionsModuleRoot .users-permissions-card {
    border-radius: 1rem;
}


/* --------------------------------------------------------------------------
   Screen: Add SEO diary entry - add_seo_diary_entry.php
   -------------------------------------------------------------------------- */


#addSeoDiaryEntryModuleRoot {
    width: 100%;
    min-width: 0;
}
#addSeoDiaryEntryModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-layout {
    max-width: 980px;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-form-card {
    border-radius: 1rem;
}
#addSeoDiaryEntryModuleRoot .seo-diary-editor-shell {
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    overflow: hidden;
    background: #ffffff;
}
#addSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
}
#addSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-container.ql-snow {
    border: 0;
    min-height: 220px;
}
#addSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-editor {
    min-height: 220px;
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#addSeoDiaryEntryModuleRoot .seo-diary-entry-form-actions .btn {
    min-width: 150px;
}


/* --------------------------------------------------------------------------
   Screen: Edit SEO diary entry - edit_seo_diary_entry.php
   -------------------------------------------------------------------------- */


#editSeoDiaryEntryModuleRoot {
    width: 100%;
    min-width: 0;
}
#editSeoDiaryEntryModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-layout {
    max-width: 980px;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-form-card {
    border-radius: 1rem;
}
#editSeoDiaryEntryModuleRoot .seo-diary-editor-shell {
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    overflow: hidden;
    background: #ffffff;
}
#editSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-toolbar.ql-snow {
    border: 0;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
}
#editSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-container.ql-snow {
    border: 0;
    min-height: 220px;
}
#editSeoDiaryEntryModuleRoot .seo-diary-editor-shell .ql-editor {
    min-height: 220px;
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#editSeoDiaryEntryModuleRoot .seo-diary-entry-form-actions .btn {
    min-width: 150px;
}


/* --------------------------------------------------------------------------
   Screen: Accounts - functions.php -> loadAllAccounts()
   -------------------------------------------------------------------------- */

#accountsListModuleRoot {
    width: 100%;
    min-width: 0;
}

#accountsListModuleRoot.is-loading {
    opacity: 0.65;
    pointer-events: none;
}

#accountsListModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#accountsListModuleRoot .accounts-page-header {
    flex: 0 0 auto;
}

#accountsListModuleRoot .accounts-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#accountsListModuleRoot .accounts-filter-select {
    width: 170px;
    min-width: 170px;
}

#accountsListModuleRoot .accounts-main-card {
    height: calc(100dvh - var(--app-header-height) - var(--app-footer-height) - 7.25rem);
    min-height: 420px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#accountsListModuleRoot .accounts-card-header {
    flex: 0 0 auto;
}

#accountsListModuleRoot .accounts-card-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    background: #ffffff;
}

#accountsListModuleRoot .accounts-table-scroll {
    height: 100%;
    min-height: 0;
    overflow-y: auto;
    overflow-x: auto;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff;
}

#accountsListModuleRoot .accounts-table {
    width: 100%;
    min-width: 1180px;
    margin: 0 !important;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}

#accountsListModuleRoot .accounts-table th,
#accountsListModuleRoot .accounts-table td {
    vertical-align: middle;
}

#accountsListModuleRoot .accounts-table > :not(caption) > * > * {
    padding: 0.62rem 0.85rem;
    font-size: 14px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e5e7eb;
}

#accountsListModuleRoot .accounts-table thead th {
    position: sticky;
    z-index: 30;
    padding: 0.42rem 0.85rem !important;
    background: #f3f4f6 !important;
    background-clip: padding-box;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.15;
    border-bottom: 1px solid #dbdbdb !important;
}

#accountsListModuleRoot .accounts-table thead tr:first-child th {
    top: 0;
    height: 34px;
    z-index: 35;
    box-shadow: inset 0 -1px 0 #dbdbdb;
}

#accountsListModuleRoot .accounts-table thead tr:nth-child(2) th {
    top: 34px;
    height: 48px;
    z-index: 34;
    box-shadow: inset 0 -1px 0 #dbdbdb;
}

#accountsListModuleRoot .accounts-table thead th[rowspan] {
    vertical-align: middle;
}

#accountsListModuleRoot .accounts-clickable-row {
    cursor: pointer;
}

#accountsListModuleRoot .accounts-table tbody tr:hover > td {
    background-color: rgba(72, 95, 199, 0.045) !important;
}

#accountsListModuleRoot .accounts-row-on-fire > td {
    background-color: #feecf0 !important;
}

#accountsListModuleRoot .accounts-col-status {
    width: 148px;
}

#accountsListModuleRoot .accounts-col-account {
    width: 34%;
}

#accountsListModuleRoot .accounts-col-actions {
    width: 130px;
}

#accountsListModuleRoot .accounts-colgroup {
    text-align: left;
    font-size: 16px !important;
    font-weight: 600 !important;
}

#accountsListModuleRoot .accounts-colgroup-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #111827 !important;
    text-decoration: none !important;
}

#accountsListModuleRoot .accounts-colgroup-link:hover {
    color: #485fc7 !important;
}

#accountsListModuleRoot .accounts-colgroup-link-icon {
    font-size: 12px;
    opacity: 0.7;
    position: relative;
    top: 1px;
}

#accountsListModuleRoot .accounts-colgroup-seo,
#accountsListModuleRoot .accounts-colgroup-cannibalization {
    border-left: 1px solid #dbdbdb !important;
}

#accountsListModuleRoot .accounts-table-label-row th:nth-child(1),
#accountsListModuleRoot .accounts-table-label-row th:nth-child(3) {
    border-left: 1px solid #dbdbdb !important;
}

#accountsListModuleRoot .accounts-header-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 0.35rem;
    border-radius: 999px;
    background: #9ca3af;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: help;
}

#accountsListModuleRoot .accounts-status-stack {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

#accountsListModuleRoot .accounts-status-trigger,
#accountsListModuleRoot .accounts-situation-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d5dbe3;
    border-radius: 999px;
    background: #ffffff;
    cursor: pointer;
}

#accountsListModuleRoot .accounts-note-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d5dbe3;
    border-radius: 999px;
    background: #ffffff;
    color: #4b5563;
    cursor: pointer;
    position: relative;
}

#accountsListModuleRoot .accounts-note-trigger.has-alert::after {
    content: '';
    position: absolute;
    top: 6px;
    right: 6px;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #f14668;
}

#accountsListModuleRoot .jr-acc-list-situation-icon {
    width: 17px;
    height: 17px;
    object-fit: contain;
}

#accountsListModuleRoot .accounts-name-cell {
    min-width: 0;
}

#accountsListModuleRoot .accounts-name-link {
    color: #485fc7 !important;
    font-weight: 700;
    text-decoration: none !important;
}

#accountsListModuleRoot .accounts-name-link:hover {
    color: #3a51bb !important;
    text-decoration: underline !important;
}

#accountsListModuleRoot .accounts-website-text {
    color: #6b7280;
    font-size: 13px;
    line-height: 1.25;
    word-break: break-word;
}

#accountsListModuleRoot .accounts-metric-cell,
#accountsListModuleRoot .accounts-can-cell {
    white-space: nowrap;
}

#accountsListModuleRoot .accounts-metric-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 0.55rem;
    white-space: nowrap;
}

#accountsListModuleRoot .accounts-metric-value {
    font-size: 15px;
    font-weight: 500;
    color: #111827;
}

#accountsListModuleRoot .accounts-metric-empty {
    color: #9ca3af;
    font-size: 14px;
}

#accountsListModuleRoot .accounts-metric-delta {
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

#accountsListModuleRoot .accounts-metric-delta--positive {
    color: #20a66a;
}

#accountsListModuleRoot .accounts-metric-delta--negative {
    color: #f14668;
}

#accountsListModuleRoot .accounts-metric-delta--neutral {
    color: #9ca3af;
}

#accountsListModuleRoot .accounts-can-badge {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    min-height: 26px;
    padding: 0.25rem 0.65rem !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

#accountsListModuleRoot .accounts-can-badge--success {
    background-color: #effaf5 !important;
    color: #257953 !important;
}

#accountsListModuleRoot .accounts-can-badge--warning {
    background-color: #fffaeb !important;
    color: #946c00 !important;
}

#accountsListModuleRoot .accounts-can-badge--danger {
    background-color: #feecf0 !important;
    color: #cc0f35 !important;
}

#accountsListModuleRoot .accounts-can-badge--neutral {
    background-color: #f5f5f5 !important;
    color: #7a7a7a !important;
    border: 1px solid #dbdbdb;
}

#accountsListModuleRoot .accounts-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

#accountsListModuleRoot .accounts-action-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d5dbe3;
    border-radius: 999px;
    background: #ffffff;
    text-decoration: none;
    color: #374151;
}

#accountsListModuleRoot .accounts-action-link:hover {
    border-color: #b5b5b5;
    background: #fafafa;
}

#accountsListModuleRoot .accounts-empty-state {
    padding: 2rem 1.5rem;
    text-align: center;
    color: #6b7280;
}

#accountsListModuleRoot .accounts-empty-state i {
    font-size: 2.5rem;
    display: block;
    margin-bottom: 0.75rem;
    color: #9ca3af;
}

@media (max-width: 991.98px) {
    #accountsListModuleRoot .accounts-main-card {
        height: auto;
        max-height: none;
        min-height: 0;
    }

    #accountsListModuleRoot .accounts-card-body {
        overflow: visible;
    }

    #accountsListModuleRoot .accounts-table-scroll {
        max-height: 70vh;
    }

    #accountsListModuleRoot .accounts-filter-select {
        width: 100%;
        min-width: 220px;
    }

    #accountsListModuleRoot .accounts-header-actions {
        justify-content: flex-start;
    }
}

/* --------------------------------------------------------------------------
   Screen: Create plan - create_plan.php
   -------------------------------------------------------------------------- */


#createPlanModuleRoot {
    width: 100%;
    min-width: 0;
}
#createPlanModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}
#createPlanModuleRoot .create-plan-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#createPlanModuleRoot .create-plan-layout {
    max-width: 920px;
}
#createPlanModuleRoot .create-plan-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}
#createPlanModuleRoot .create-plan-card {
    border-radius: 1rem;
}
#createPlanModuleRoot .create-plan-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
#createPlanModuleRoot .create-plan-field-addon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 0 0.75rem;
    border: 1px solid #d5dbe3;
    border-right: 0;
    border-radius: 0.75rem 0 0 0.75rem;
    background: #f8fafc;
    color: #4b5563;
    font-weight: 600;
}
#createPlanModuleRoot .create-plan-input-with-addon {
    display: flex;
    align-items: stretch;
}
#createPlanModuleRoot .create-plan-input-with-addon .form-control {
    border-radius: 0 0.75rem 0.75rem 0;
}
#createPlanModuleRoot .create-plan-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#createPlanModuleRoot .create-plan-actions .btn {
    min-width: 150px;
}
@media (max-width: 767.98px) {
    #createPlanModuleRoot .create-plan-posts-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   GeoTAG Creator - geotag.php
========================================================= */

#geotagModuleRoot {
    width: 100%;
    min-width: 0;
}

#geotagModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#geotagModuleRoot .geotag-layout {
    width: 100%;
    max-width: none;
}

#geotagModuleRoot .geotag-card {
    border-radius: 1rem;
}

#geotagModuleRoot .geotag-intro-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}

#geotagModuleRoot .geotag-multiselect {
    min-height: 150px;
}

#geotagModuleRoot .geotag-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

#geotagModuleRoot .geotag-command-output {
    padding: 1rem;
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    background: #f8fafc;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 13px;
    line-height: 1.5;
    color: #1f2937;
}

#geotagModuleRoot .element-hidden {
    display: none !important;
}

#geotagModuleRoot .element-visible {
    display: block !important;
}

/* =========================================================
   Create Account - create_account.php
========================================================= */

#createAccountModuleRoot {
    width: 100%;
    min-width: 0;
}

#createAccountModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#createAccountModuleRoot .create-account-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#createAccountModuleRoot .create-account-layout {
    max-width: 980px;
}

#createAccountModuleRoot .create-account-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}

#createAccountModuleRoot .create-account-card {
    border-radius: 1rem;
}

#createAccountModuleRoot .create-account-section-box {
    border: 1px solid #d5dbe3;
    border-radius: 0.9rem;
    background: #f8fafc;
    padding: 1rem;
}

#createAccountModuleRoot .create-account-section-title {
    margin: 0 0 1rem 0;
    font-size: 1rem;
    font-weight: 700;
    color: #1f2937;
}

#createAccountModuleRoot .create-account-posts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

#createAccountModuleRoot .create-account-field-addon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 0 0.75rem;
    border: 1px solid #d5dbe3;
    border-right: 0;
    border-radius: 0.75rem 0 0 0.75rem;
    background: #f8fafc;
    color: #4b5563;
    font-weight: 600;
}

#createAccountModuleRoot .create-account-input-with-addon {
    display: flex;
    align-items: stretch;
}

#createAccountModuleRoot .create-account-input-with-addon .form-control {
    border-radius: 0 0.75rem 0.75rem 0;
}

#createAccountModuleRoot .create-account-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

#createAccountModuleRoot .create-account-actions .btn {
    min-width: 150px;
}

@media (max-width: 767.98px) {
    #createAccountModuleRoot .create-account-posts-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   Account Profile - account_profile.php
========================================================= */

#accountProfileModuleRoot {
    width: 100%;
    min-width: 0;
}

#accountProfileModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#accountProfileModuleRoot .account-profile-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#accountProfileModuleRoot .account-profile-layout {
    max-width: 900px;
}

#accountProfileModuleRoot .account-profile-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #fff8db;
    border: 1px solid #f0d98c;
    color: #6f5a16;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}

#accountProfileModuleRoot .account-profile-card {
    border-radius: 1rem;
}

#accountProfileModuleRoot .account-profile-placeholder {
    padding: 2rem 1rem;
    text-align: center;
    color: #6b7280;
}

#accountProfileModuleRoot .account-profile-placeholder i {
    font-size: 2.75rem;
    display: block;
    margin-bottom: 0.75rem;
    color: #9ca3af;
}

#accountProfileModuleRoot .account-profile-placeholder-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 0.5rem;
}

#accountProfileModuleRoot .account-profile-placeholder-text {
    font-size: 14px;
    line-height: 1.5;
}

/* =========================================================
   Account Info - account_info.php
========================================================= */

#accountSettingsModuleRoot {
    width: 100%;
    min-width: 0;
}

#accountSettingsModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#accountSettingsModuleRoot .account-settings-heading-select {
    width: 370px;
    min-width: 260px;
    max-width: 370px;
}

#accountSettingsModuleRoot .account-settings-layout {
    align-items: flex-start;
}

#accountSettingsModuleRoot .account-settings-layout > .column {
    min-width: 0;
}

#accountSettingsModuleRoot .account-settings-nav-column {
    position: sticky;
    top: 4rem;
    align-self: flex-start;
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0.5rem !important;
}

#accountSettingsModuleRoot .account-settings-side-nav {
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
    padding-top: 0;
    padding-right: 0.15rem;
    margin-top: 0;
    margin-left: 0;
}

#accountSettingsModuleRoot .account-settings-side-nav .menu-list {
    margin: 0;
}

#accountSettingsModuleRoot .account-settings-side-nav .menu-list li {
    margin: 0 0 10px 0;
}

#accountSettingsModuleRoot .account-settings-side-nav .menu-list li:last-child {
    margin-bottom: 0;
}

#accountSettingsModuleRoot .account-settings-side-nav .menu-list a {
    display: block;
    width: 100%;
    border-radius: 0.75rem;
    padding: 0.55rem 0.8rem;
    color: #4a4a4a;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

#accountSettingsModuleRoot .account-settings-side-nav .menu-list a:hover,
#accountSettingsModuleRoot .account-settings-side-nav .menu-list a:focus {
    background-color: rgba(72, 95, 199, 0.08);
    color: #485fc7;
    transform: translateY(-1px);
}

#accountSettingsModuleRoot .account-settings-sections {
    width: 100%;
    max-width: 75%;
}

#accountSettingsModuleRoot .account-settings-sections section {
    scroll-margin-top: calc(var(--app-header-height) + 1rem);
}

#accountSettingsModuleRoot .app-account-card,
#accountSettingsModuleRoot .app-account-plan-card {
    width: 100%;
}

#accountSettingsModuleRoot .app-card-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#accountSettingsModuleRoot .app-card-header-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

#accountSettingsModuleRoot .app-card-header-actions .btn {
    white-space: nowrap;
}

#accountSettingsModuleRoot .app-account-plan-card .row > div {
    min-width: 0;
}

#accountSettingsModuleRoot .app-plan-meta-item {
    margin-bottom: 0.75rem;
}

#accountSettingsModuleRoot .app-plan-meta-item:last-child {
    margin-bottom: 0;
}

#accountSettingsModuleRoot .app-plan-meta-label {
    font-weight: 700;
    color: #363636;
}

#accountSettingsModuleRoot .app-plan-description {
    margin-bottom: 0;
    white-space: pre-line;
}

@media (max-width: 1199.98px) {
    #accountSettingsModuleRoot .account-settings-heading-select {
        width: 100%;
        min-width: 220px;
        max-width: 100%;
    }

    #accountSettingsModuleRoot .account-settings-sections {
        max-width: 100%;
    }
}

/* =========================================================
   Keywords - add_keyword.php
========================================================= */

#addKeywordsModuleRoot {
    width: 100%;
    min-width: 0;
}
#addKeywordsModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}
#addKeywordsModuleRoot .add-keywords-title-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#addKeywordsModuleRoot .add-keywords-layout {
    max-width: 860px;
}
#addKeywordsModuleRoot .add-keywords-mode-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #fff8db;
    border: 1px solid #f0d98c;
    color: #6f5a16;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.45;
}
#addKeywordsModuleRoot .add-keywords-form-card {
    border-radius: 1rem;
}
#addKeywordsModuleRoot .add-keywords-form-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
#addKeywordsModuleRoot .add-keywords-form-actions .btn {
    min-width: 150px;
}
#addKeywordsModuleRoot .add-keywords-textarea {
    min-height: 220px;
    resize: vertical;
}

#keywordsModuleRoot {
            width: 100%;
            min-width: 0;
        }

        #keywordsModuleRoot .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #keywordsModuleRoot .keywords-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #keywordsModuleRoot .keywords-top-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        #keywordsModuleRoot .keywords-total-box {
            display: inline-flex;
            align-items: center;
            min-height: 38px;
        }

        #keywordsModuleRoot .keywords-filter-row {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
        }

        #keywordsModuleRoot .keywords-filter-form {
            margin: 0;
        }

        #keywordsModuleRoot .keywords-filter-form--service {
            width: 350px;
            max-width: 100%;
        }

        #keywordsModuleRoot .keywords-filter-form--status {
            width: 220px;
            max-width: 100%;
        }

        #keywordsModuleRoot .keywords-help-note {
            margin: 1rem;
            border-radius: 0.75rem;
            background: #fff8db;
            border: 1px solid #f0d98c;
            color: #6f5a16;
            padding: 0.875rem 1rem;
            font-size: 14px;
            line-height: 1.45;
        }

        #keywordsModuleRoot .keywords-table-wrap {
            min-width: 0;
        }

        #keywordsModuleRoot .keywords-bulk-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin-top: 1rem;
        }

        #keywordsModuleRoot .keywords-bulk-actions .btn {
            min-width: 150px;
        }

        #keywordsModuleRoot .jr-kwlist-action-button-export,
        #keywordsModuleRoot .jr-kwlist-action-button-delete {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 0.5rem;
            font-weight: 600;
            min-height: 38px;
            padding: 0.375rem 0.75rem;
            cursor: pointer;
            text-decoration: none;
            box-shadow: none;
        }

        #keywordsModuleRoot .jr-kwlist-action-button-export {
            background-color: #485fc7;
            border: 1px solid #485fc7;
            color: #ffffff;
        }

        #keywordsModuleRoot .jr-kwlist-action-button-export:hover {
            background-color: #3a51bb;
            border-color: #3a51bb;
            color: #ffffff;
        }

        #keywordsModuleRoot .jr-kwlist-action-button-delete {
            background-color: #ffffff;
            border: 1px solid #6b7280;
            color: #4b5563;
        }

        #keywordsModuleRoot .jr-kwlist-action-button-delete:hover {
            background-color: #6b7280;
            border-color: #6b7280;
            color: #ffffff;
        }

        @media (max-width: 991.98px) {
            #keywordsModuleRoot .keywords-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #keywordsModuleRoot .keywords-top-actions {
                justify-content: flex-start;
            }

            #keywordsModuleRoot .keywords-filter-form--service,
            #keywordsModuleRoot .keywords-filter-form--status {
                width: 100%;
            }
        }

        #keywords-list-container .card-body {
            padding:0!important;
        }


/* =========================================================
   Cannibalization - cannibalization.php
========================================================= */

#cannibalization-module-root {
            width: 100%;
            min-width: 0;
        }

        #cannibalization-module-root .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #cannibalization-module-root .cannibalization-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #cannibalization-module-root .cannibalization-subtitle {
            margin-top: 0.35rem;
            color: #6b7280;
            font-size: 14px;
        }

        #cannibalization-module-root .cannibalization-intro-note {
            margin-bottom: 1rem;
            border-radius: 0.75rem;
            background: #eef2ff;
            border: 1px solid #cfd8ff;
            color: #3647a0;
            padding: 0.875rem 1rem;
            font-size: 14px;
            line-height: 1.45;
        }

        #cannibalization-module-root .cannibalization-overview-grid > div,
        #cannibalization-module-root .cannibalization-filters-grid > div {
            min-width: 0;
        }

        #cannibalization-module-root .cannibalization-stat-card {
            height: 100%;
            border: 1px solid #dbdbdb;
            border-radius: 0.875rem;
            background: #ffffff;
            box-shadow: var(--app-shadow-sm);
        }

        #cannibalization-module-root .cannibalization-stat-card .card-body {
            padding: 1rem !important;
        }

        #cannibalization-module-root .cannibalization-section-note {
            font-size: 13px;
            color: #6b7280;
        }

        #cannibalization-module-root .cannibalization-tab-pane-inner {
            min-width: 0;
        }

        #cannibalization-module-root .cannibalization-results-list {
            min-width: 0;
        }

        #cannibalization-module-root .card-header .nav-tabs {
            margin-bottom: -0.9rem;
        }

                #cannibalization-module-root .cannibalization-summary-chart-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 1rem;
            align-items: stretch;
        }

        #cannibalization-module-root .cannibalization-summary-chart-panel {
            min-width: 0;
            display: flex;
        }

        #cannibalization-module-root .cannibalization-summary-chart-panel--coverage {
            width: calc(25% - 0.75rem);
        }

        #cannibalization-module-root .cannibalization-summary-chart-panel--timeline {
            width: calc(75% - 0.25rem);
        }

        #cannibalization-module-root .cannibalization-summary-surface {
            width: 100%;
            border: 1px solid #dbdbdb;
            border-radius: 1rem;
            background: #ffffff;
            box-shadow: var(--app-shadow-sm);
            overflow: hidden;
        }

        #cannibalization-module-root .cannibalization-summary-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #dbdbdb;
            background: #fafafa;
        }

        #cannibalization-module-root .cannibalization-summary-body {
            padding: 0.75rem 1rem 1rem 1rem;
        }

        #cannibalization-module-root .cannibalization-summary-body > .card-body {
            padding: 0 !important;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-loading {
            font-size: 13px;
            color: #6b7280;
            line-height: 1.45;
            margin-bottom: 0.75rem;
        }

        #cannibalization-module-root .cannibalization-coverage-summary {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            margin-bottom: 0.75rem;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-metric {
            min-width: 0;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-label {
            font-size: 13px;
            color: #6b7280;
            margin-bottom: 0.35rem;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-value-row {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin-bottom: 0.45rem;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-value {
            font-size: 1.75rem;
            line-height: 1.05;
            font-weight: 700;
            color: #363636;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-percentage {
            font-size: 1rem;
            line-height: 1.1;
            font-weight: 700;
            color: #4b5563;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-bar-track {
            width: 100%;
            height: 14px;
            border: 1px solid #cfd6df;
            border-radius: 999px;
            background: #f5f7fb;
            overflow: hidden;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-bar-fill {
            height: 100%;
            border-radius: 999px;
        }

        #cannibalization-module-root .cannibalization-coverage-summary-note {
            font-size: 12px;
            line-height: 1.45;
            color: #6b7280;
        }

        #cannibalization-module-root .cannibalization-summary-chart-panel--coverage .app-chart-shell {
            display: none;
        }

        #cannibalization-module-root .cannibalization-summary-chart-panel--timeline .app-chart-shell--lg {
            min-height: 320px;
            height: 320px;
        }

        @media (max-width: 991.98px) {
            #cannibalization-module-root .cannibalization-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #cannibalization-module-root .cannibalization-summary-chart-panel--coverage,
            #cannibalization-module-root .cannibalization-summary-chart-panel--timeline {
                width: 100%;
            }

            #cannibalization-module-root .cannibalization-summary-chart-panel--timeline .app-chart-shell--lg {
                min-height: 280px;
                height: 280px;
            }
        }

/* --------------------------------------------------------------------------
   Cannibalization - Pages UX refinements
   -------------------------------------------------------------------------- */

#cannibalization-module-root .can-report-explorer-filters-line {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
}

#cannibalization-module-root .can-filter-inline-item {
    flex: 0 0 170px;
    min-width: 0;
}

#cannibalization-module-root .can-filter-inline-item--competing {
    flex: 1 1 260px;
    min-width: 240px;
}

#cannibalization-module-root .can-filter-inline-item .label {
    display: block;
    margin-bottom: 0.35rem !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: none;
    color: #4b5563;
}

#cannibalization-module-root .can-filter-inline-item .select,
#cannibalization-module-root .can-filter-inline-item .input {
    width: 100%;
}

#cannibalization-module-root .can-filter-inline-item--check {
    flex: 0 0 auto;
    min-width: 0;
    padding-bottom: 0.35rem;
}

#cannibalization-module-root .can-filter-inline-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 38px;
    font-size: 14px;
    font-weight: 600;
    color: #4b5563;
    white-space: nowrap;
}

#cannibalization-module-root .can-filter-inline-check input[type="checkbox"] {
    margin: 0;
}

#cannibalization-module-root .can-pages-pane-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#cannibalization-module-root .cannibalization-pages-list-shell {
    border: 1px solid #dbdbdb;
    border-radius: 1rem;
    background: #ffffff;
    box-shadow: var(--app-shadow-sm);
    overflow: hidden;
}

#cannibalization-module-root .can-pages-list-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 150px 90px;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1rem;
    background: #fafafa;
    border-bottom: 1px solid #dbdbdb;
}

#cannibalization-module-root .can-pages-list-head-cell {
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
    color: #363636;
}

#cannibalization-module-root .can-pages-list-head-cell--priority,
#cannibalization-module-root .can-pages-list-head-cell--affected,
#cannibalization-module-root .can-pages-list-head-cell--score {
    text-align: center;
    white-space: nowrap;
}

#cannibalization-module-root .can-pages-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.25rem;
    color: #9ca3af;
    font-size: 12px;
    vertical-align: middle;
}

#cannibalization-module-root .can-pages-list-item {
    border-top: 1px solid #eef2f7;
}

#cannibalization-module-root .can-pages-list-item:first-child {
    border-top: 0;
}

#cannibalization-module-root .can-pages-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px 150px 90px;
    gap: 1rem;
    align-items: center;
    width: 100%;
    border: 0;
    background: #ffffff;
    padding: 1rem;
    text-align: left;
    cursor: pointer;
    transition: background-color 0.18s ease;
}

#cannibalization-module-root .can-pages-list-row:hover {
    background: rgba(72, 95, 199, 0.04);
}

#cannibalization-module-root .can-pages-list-item.is-expanded > .can-pages-list-row {
    background: #f8fafc;
}

#cannibalization-module-root .can-pages-list-cell {
    min-width: 0;
}

#cannibalization-module-root .can-pages-list-cell--page {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
}

#cannibalization-module-root .can-pages-list-cell--priority,
#cannibalization-module-root .can-pages-list-cell--affected,
#cannibalization-module-root .can-pages-list-cell--score {
    text-align: center;
}

#cannibalization-module-root .can-pages-row-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    color: #6b7280;
    flex: 0 0 auto;
}

#cannibalization-module-root .can-pages-row-url {
    display: inline-block;
    min-width: 0;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
    color: #485fc7;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#cannibalization-module-root .can-pages-priority-pill {
    min-width: 96px;
    justify-content: center;
    font-weight: 700;
}

#cannibalization-module-root .can-pages-affected-value {
    font-size: 14px;
    font-weight: 600;
    color: #363636;
}

#cannibalization-module-root .can-pages-score-value {
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 700;
    color: #f14668;
}

#cannibalization-module-root .can-pages-score-stack {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.35rem;
    min-width: 78px;
}

#cannibalization-module-root .can-pages-score-value {
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
}

#cannibalization-module-root .can-pages-score-value--success {
    color: #48c78e;
}

#cannibalization-module-root .can-pages-score-value--lime {
    color: color-mix(in srgb, #48c78e 58%, #ffe08a 42%);
}

#cannibalization-module-root .can-pages-score-value--warning-soft {
    color: color-mix(in srgb, #ffe08a 72%, #f14668 28%);
}

#cannibalization-module-root .can-pages-score-value--warning {
    color: color-mix(in srgb, #ffe08a 42%, #f14668 58%);
}

#cannibalization-module-root .can-pages-score-value--danger {
    color: #f14668;
}

#cannibalization-module-root .can-pages-score-value--neutral {
    color: #6b7280;
}

#cannibalization-module-root .can-pages-score-delta-wrap {
    display: inline-flex;
    align-items: baseline;
}

#cannibalization-module-root .can-pages-score-delta {
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
}

#cannibalization-module-root .can-pages-score-delta.can-page-delta--positive {
    color: #48c78e;
}

#cannibalization-module-root .can-pages-score-delta.can-page-delta--negative {
    color: #f14668;
}

#cannibalization-module-root .can-pages-score-delta.can-page-delta--neutral {
    color: #6b7280;
}

#cannibalization-module-root .can-pages-score-delta.can-page-delta--na {
    color: #6b7280;
    font-weight: 700;
}

#cannibalization-module-root .can-pages-detail-wrap {
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

#cannibalization-module-root .can-pages-detail-body {
    padding: 1rem;
}

#cannibalization-module-root .can-page-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    gap: 1rem;
    align-items: start;
}

#cannibalization-module-root .can-page-detail-main,
#cannibalization-module-root .can-page-detail-side {
    min-width: 0;
}

#cannibalization-module-root .can-page-detail-side {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#cannibalization-module-root .can-page-conflict-block {
    border: 1px solid #dbdbdb;
    border-radius: 0.9rem;
    background: #ffffff;
    box-shadow: var(--app-shadow-sm);
    padding: 1rem;
    margin-bottom: 1rem;
}

#cannibalization-module-root .can-page-conflict-block:last-child {
    margin-bottom: 0;
}

#cannibalization-module-root .can-page-conflict-keyword-row {
    margin-bottom: 0.75rem;
}

#cannibalization-module-root .can-page-conflict-keyword {
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 700;
    color: #363636;
}

#cannibalization-module-root .can-page-conflict-page-label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-bottom: 0.55rem;
    font-size: 14px;
    line-height: 1.45;
    color: #6b7280;
}

#cannibalization-module-root .can-page-conflict-page-label--competing {
    margin-top: 0.7rem;
}

#cannibalization-module-root .can-page-url-text {
    color: #4b5563;
    word-break: break-word;
}

#cannibalization-module-root .can-page-inline-info {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: #485fc7;
    text-decoration: underline;
    cursor: pointer;
}

#cannibalization-module-root .can-page-metrics-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

#cannibalization-module-root .can-page-metric-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 36px;
    padding: 0.45rem 0.65rem;
    border: 1px solid #dbe5ef;
    border-radius: 0.65rem;
    background: #ffffff;
    font-size: 14px;
    line-height: 1.2;
    color: #4b5563;
}

#cannibalization-module-root .can-page-metric-chip__label {
    font-weight: 400;
    color: #4b5563;
}

#cannibalization-module-root .can-page-metric-chip__value {
    font-weight: 600;
    color: #363636;
}

#cannibalization-module-root .can-page-metric-chip__gap {
    display: inline-flex;
    align-items: center;
    margin-left: 0.2rem;
}

#cannibalization-module-root .can-page-delta {
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
}

#cannibalization-module-root .can-page-delta--positive {
    color: #198754;
}

#cannibalization-module-root .can-page-delta--negative {
    color: #f14668;
}

#cannibalization-module-root .can-page-delta--neutral {
    color: #6b7280;
}

#cannibalization-module-root .can-page-side-card {
    border-radius: 0.9rem;
}

#cannibalization-module-root .can-page-side-section-title {
    margin-bottom: 0.45rem;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    color: #4b5563;
}

#cannibalization-module-root .can-page-side-copy {
    font-size: 14px;
    line-height: 1.5;
    color: #363636;
}

#cannibalization-module-root .can-page-side-bullet {
    margin-bottom: 0.35rem;
}

#cannibalization-module-root .can-page-side-bullet:last-child {
    margin-bottom: 0;
}

#cannibalization-module-root .can-page-anomaly-item {
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #eef2f7;
}

#cannibalization-module-root .can-page-anomaly-item:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

#cannibalization-module-root .can-page-anomaly-title {
    margin-bottom: 0.35rem;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    color: #363636;
}

#cannibalization-module-root .can-page-anomaly-text {
    font-size: 13px;
    line-height: 1.45;
    color: #6b7280;
    word-break: break-word;
}

.tooltip.can-page-info-tooltip .tooltip-inner {
    max-width: 360px;
    padding: 0.75rem 0.85rem;
    background: #ffffff;
    color: #363636;
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    text-align: left;
}

.tooltip.can-page-info-tooltip .tooltip-arrow::before {
    border-top-color: #d5dbe3 !important;
}

#cannibalization-module-root .can-page-info-tooltip-item {
    margin-bottom: 0.7rem;
}

#cannibalization-module-root .can-page-info-tooltip-item:last-child {
    margin-bottom: 0;
}

#cannibalization-module-root .can-page-info-tooltip-label {
    margin-bottom: 0.2rem;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    color: #4b5563;
}

#cannibalization-module-root .can-page-info-tooltip-text {
    font-size: 13px;
    line-height: 1.4;
    color: #363636;
}

@media (max-width: 1399.98px) {
    #cannibalization-module-root .can-page-detail-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1199.98px) {
    #cannibalization-module-root .can-pages-list-head,
    #cannibalization-module-root .can-pages-list-row {
        grid-template-columns: minmax(0, 1fr) 130px 130px 80px;
    }
}

@media (max-width: 991.98px) {
    #cannibalization-module-root .can-filter-inline-item,
    #cannibalization-module-root .can-filter-inline-item--competing {
        flex: 1 1 calc(50% - 1rem);
        min-width: 220px;
    }

    #cannibalization-module-root .can-filter-inline-item--check {
        flex: 1 1 calc(50% - 1rem);
        min-width: 220px;
        padding-bottom: 0;
    }

    #cannibalization-module-root .can-pages-list-head,
    #cannibalization-module-root .can-pages-list-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.5rem;
    }

    #cannibalization-module-root .can-pages-list-head-cell--priority,
    #cannibalization-module-root .can-pages-list-head-cell--affected,
    #cannibalization-module-root .can-pages-list-head-cell--score,
    #cannibalization-module-root .can-pages-list-cell--priority,
    #cannibalization-module-root .can-pages-list-cell--affected,
    #cannibalization-module-root .can-pages-list-cell--score {
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    #cannibalization-module-root .can-filter-inline-item,
    #cannibalization-module-root .can-filter-inline-item--competing,
    #cannibalization-module-root .can-filter-inline-item--check {
        flex: 1 1 100%;
        min-width: 0;
    }

    #cannibalization-module-root .can-page-metrics-row {
        flex-direction: column;
        align-items: stretch;
    }

    #cannibalization-module-root .can-page-metric-chip {
        width: 100%;
        justify-content: space-between;
    }
}

/* --------------------------------------------------------------------------
   Cannibalization - Pages UX refinements overrides
   -------------------------------------------------------------------------- */

#cannibalization-module-root .can-report-explorer-filters-line {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    align-items: end;
}

#cannibalization-module-root .can-filter-inline-item {
    grid-column: span 2;
    min-width: 0;
}

#cannibalization-module-root .can-filter-inline-item--competing {
    grid-column: span 4;
    min-width: 0;
}

#cannibalization-module-root .can-filter-inline-item--check {
    grid-column: span 3;
    min-width: 0;
    padding-bottom: 0;
}

#cannibalization-module-root #can-filters-reset-btn {
    border-color: #3e8ed0 !important;
    color: #3e8ed0 !important;
    background: #ffffff !important;
    font-weight: 600;
}

#cannibalization-module-root #can-filters-reset-btn:hover,
#cannibalization-module-root #can-filters-reset-btn:focus {
    border-color: #3273dc !important;
    color: #3273dc !important;
    background: #eef6ff !important;
}

#cannibalization-module-root .can-pages-priority-pill {
    min-width: 92px;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    justify-content: center;
}

#cannibalization-module-root .can-pages-affected-value {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
    color: #363636;
}

#cannibalization-module-root .can-pages-score-value {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    color: #f14668;
}

#cannibalization-module-root .can-page-delta--na {
    color: #485fc7;
}

#cannibalization-module-root .can-page-metric-chip__gap .can-page-delta {
    font-size: 13px;
    line-height: 1;
}

.tooltip.can-page-info-tooltip .tooltip-inner {
    max-width: 360px;
    padding: 0.7rem 0.8rem;
    background: #ffffff;
    color: #363636;
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    text-align: left;
    font-size: 12px;
}

.tooltip.can-page-info-tooltip .tooltip-arrow::before {
    border-top-color: #d5dbe3 !important;
}

#cannibalization-module-root .can-page-info-tooltip-item {
    margin-bottom: 0.6rem;
}

#cannibalization-module-root .can-page-info-tooltip-item:last-child {
    margin-bottom: 0;
}

#cannibalization-module-root .can-page-info-tooltip-label {
    margin-bottom: 0.15rem;
    font-size: 12px;
    line-height: 1.2;
}

#cannibalization-module-root .can-page-info-tooltip-label strong {
    font-weight: 700;
    color: rgba(54, 54, 54, 0.75);
}

#cannibalization-module-root .can-page-info-tooltip-text {
    font-size: 12px;
    line-height: 1.45;
    font-weight: 400;
    color: rgba(54, 54, 54, 0.9);
}

@media (max-width: 1199.98px) {
    #cannibalization-module-root .can-report-explorer-filters-line {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    #cannibalization-module-root .can-filter-inline-item {
        grid-column: span 2;
    }

    #cannibalization-module-root .can-filter-inline-item--competing {
        grid-column: span 6;
    }

    #cannibalization-module-root .can-filter-inline-item--check {
        grid-column: span 3;
    }
}

@media (max-width: 767.98px) {
    #cannibalization-module-root .can-report-explorer-filters-line {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    #cannibalization-module-root .can-filter-inline-item,
    #cannibalization-module-root .can-filter-inline-item--competing,
    #cannibalization-module-root .can-filter-inline-item--check {
        grid-column: span 1;
    }
}

#cannibalization-module-root .can-page-score-chart-card {
    margin-bottom: 1rem;
}

#cannibalization-module-root .can-page-score-chart-card .card-header {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
}

#cannibalization-module-root .can-page-score-chart-card .card-body {
    padding: 0.75rem 0.9rem !important;
}

#cannibalization-module-root .can-page-score-chart-card .app-chart-shell {
    height: 220px;
    min-height: 220px;
}

#cannibalization-module-root .can-page-score-chart-card .app-chart-title {
    font-size: 0.92rem;
}

#cannibalization-module-root .can-page-score-chart-card .app-chart-meta {
    font-size: 0.78rem;
    color: #6b7280;
}


/* =========================================================
   Documents - documents.php
========================================================= */

#documentsModuleRoot {
    width: 100%;
    min-width: 0;
}


#documentsModuleRoot .documents-heading-select {
    width: 370px;
    min-width: 260px;
    max-width: 370px;
    font-weight: 400;
}

@media (max-width: 991.98px) {
    #documentsModuleRoot .documents-heading-select {
        width: 100%;
        min-width: 220px;
        max-width: 100%;
    }
}

#documentsModuleRoot .card > .card-body {
    padding:0!important;
}

/* =========================================================
   Editorial Calendar - editorial_calendar.php
========================================================= */

#editorialCalendarModuleRoot {
    width: 100%;
    min-width: 0;
}

#editorialCalendarModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#editorialCalendarModuleRoot .editorial-calendar-heading-select {
    width: 370px;
    min-width: 260px;
    max-width: 370px;
}

#editorialCalendarModuleRoot .editorial-calendar-layout > div {
    min-width: 0;
}

#editorialCalendarModuleRoot .editorial-calendar-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    min-width: 0;
}

#editorialCalendarModuleRoot .editorial-calendar-card,
#editorialCalendarModuleRoot .editorial-calendar-reader-card {
    height: 100%;
}

#editorialCalendarModuleRoot .editorial-calendar-list-shell {
    min-width: 0;
}

/* Upcoming Publications */
#editorialCalendarModuleRoot #upcoming-publications-main-container > .card-body {
    padding: 0 !important;
}

#editorialCalendarModuleRoot #upcoming-publications-container {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    min-width: 0;
}

#editorialCalendarModuleRoot #upcoming-publications-container .table-responsive {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Upcoming Publications - ancho de columnas y acciones limpias */
#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table-wrap {
    max-height: 640px;
    overflow-x: hidden;
    overflow-y: auto;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-top: 0 !important;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table thead,
#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table thead tr {
    border-top: 0 !important;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table thead th {
    position: sticky;
    top: 0;
    z-index: 15;
    border-top: 0 !important;
    background: #fafafa !important;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #dbdbdb, 0 1px 0 #dbdbdb !important;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table tbody {
    border-top: 0 !important;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-channel {
    width: 7%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-status {
    width: 7%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-topic {
    width: 25%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-location {
    width: 16%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-date {
    width: 16%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table .edcal-col-actions {
    width: 28%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table th,
#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-table td {
    overflow: visible;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-topic-text,
#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-loc-text {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-date-text {
    display: inline-block;
    white-space: nowrap;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem;
    flex-wrap: nowrap;
    white-space: nowrap;
    width: 100%;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-icon-btn {
    min-width: 34px;
    width: 34px;
    height: 34px;
    padding: 0.25rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-upcoming-prompt-btn {
    min-height: 34px;
    padding: 0.25rem 0.65rem !important;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.15rem;
    flex: 0 1 auto;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-wrapper {
    position: relative;
    margin: 0;
    flex: 0 0 auto;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-toggle {
    list-style: none;
    min-width: 34px;
    width: 34px;
    height: 34px;
    padding: 0.25rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-toggle::-webkit-details-marker {
    display: none;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 99;
    min-width: 150px;
    padding: 0.4rem;
    border: 1px solid #dbdbdb;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: var(--app-shadow-md);
    display:grid;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.45rem 0.55rem;
    border-radius: 0.5rem;
    color: #2f3540;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-item:hover {
    background: #f5f7fb;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-item--danger {
    color: #f14668;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-actions-menu-item--danger:hover {
    background: #fdecef;
}

/* Past Publications */
#editorialCalendarModuleRoot #past-publications-main-container > .card-body {
    padding: 0 !important;
}

#editorialCalendarModuleRoot #past-publications-container {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    min-width: 0;
}

#editorialCalendarModuleRoot #past-publications-container .table-responsive {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#editorialCalendarModuleRoot #past-publications-container .edcal-past-table-responsive {
    max-height: 640px;
    overflow-y: auto;
    overflow-x: auto;
}

#editorialCalendarModuleRoot #past-publications-container .edcal-past-table thead th {
    position: sticky;
    top: 0;
    z-index: 15;
    background: #fafafa !important;
    background-clip: padding-box;
    box-shadow: inset 0 -1px 0 #dbdbdb, 0 1px 0 #dbdbdb;
}

#editorialCalendarModuleRoot #past-publications-container .edcal-past-table tbody {
    border-top:0!important;
}

#editorialCalendarModuleRoot #past-publications-container .edcal-past-table tbody td {
    padding-top: 0.55rem !important;
    padding-bottom: 0.55rem !important;
}

#editorialCalendarModuleRoot .edcal-view-btn {
    min-width: 34px;
    width: 34px;
    height: 34px;
    padding: 0.25rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Reader */
#editorialCalendarModuleRoot #publication-reader-container {
    min-height: 420px;
    padding: 0.25rem !important;
}

/* Compact readonly view */
#editorialCalendarModuleRoot .edcal-readonly-view {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

#editorialCalendarModuleRoot .edcal-readonly-head {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #e5e7eb;
}

#editorialCalendarModuleRoot .edcal-readonly-channel-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-size: 14px;
    line-height: 1.4;
    color: #2f3540;
}

#editorialCalendarModuleRoot .edcal-readonly-channel-name {
    font-weight: 700;
    color: #2f3540;
}

#editorialCalendarModuleRoot .edcal-readonly-separator {
    color: #9ca3af;
    font-weight: 600;
}

#editorialCalendarModuleRoot .edcal-readonly-published-at {
    color: #4b5563;
}

#editorialCalendarModuleRoot .edcal-readonly-inline-block {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

#editorialCalendarModuleRoot .edcal-readonly-inline-label,
#editorialCalendarModuleRoot .edcal-readonly-meta-label,
#editorialCalendarModuleRoot .edcal-readonly-block-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6b7280;
}

#editorialCalendarModuleRoot .edcal-readonly-inline-value {
    font-size: 14px;
    line-height: 1.5;
    color: #374151;
    word-break: break-word;
}

#editorialCalendarModuleRoot .edcal-readonly-inline-value--title {
    font-size: 15px;
    font-weight: 700;
    color: #2f3540;
}

#editorialCalendarModuleRoot .edcal-readonly-block {
    padding: 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
}

#editorialCalendarModuleRoot .edcal-readonly-block-content {
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
}

#editorialCalendarModuleRoot .edcal-readonly-block-content p:last-child {
    margin-bottom: 0;
}

#editorialCalendarModuleRoot .edcal-readonly-block-content--scroll {
    max-height: 430px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.35rem;
}

#editorialCalendarModuleRoot .edcal-readonly-meta-grid {
    display: grid;
    gap: 0.75rem;
}

#editorialCalendarModuleRoot .edcal-readonly-meta-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

#editorialCalendarModuleRoot .edcal-readonly-meta-item {
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
}

#editorialCalendarModuleRoot .edcal-readonly-meta-item--full {
    width: 100%;
}

#editorialCalendarModuleRoot .edcal-readonly-meta-value {
    font-size: 14px;
    line-height: 1.45;
    color: #374151;
    word-break: break-word;
}

@media (max-width: 991.98px) {
    #editorialCalendarModuleRoot .editorial-calendar-heading-select {
        width: 100%;
        min-width: 220px;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    #editorialCalendarModuleRoot .edcal-readonly-meta-grid--two {
        grid-template-columns: 1fr;
    }
}

/* Editorial Calendar - AI generation / review editor */

#editorialCalendarModuleRoot .edcal-editor-root {
    width: 100%;
    min-width: 0;
}

#editorialCalendarModuleRoot .edcal-editor-card {
    border-radius: 1rem;
}

#editorialCalendarModuleRoot .edcal-ai-summary-pills {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

#editorialCalendarModuleRoot .edcal-editor-intro-note {
    margin-bottom: 1rem;
    border-radius: 0.75rem;
    background: #eef6ff;
    border: 1px solid #b9d6fb;
    color: #234a75;
    padding: 0.875rem 1rem;
    font-size: 14px;
    line-height: 1.5;
}

#editorialCalendarModuleRoot .edcal-editor-section-card {
    border: 1px solid #dbdbdb;
    border-radius: 0.9rem;
    background: #ffffff;
    overflow: hidden;
    margin-bottom: 1rem;
    box-shadow: var(--app-shadow-sm);
}

#editorialCalendarModuleRoot .edcal-editor-section-header {
    padding: 0.875rem 1rem;
    border-bottom: 1px solid #e5e7eb;
    background: #fafafa;
}

#editorialCalendarModuleRoot .edcal-editor-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: #1f2937;
}

#editorialCalendarModuleRoot .edcal-ai-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#editorialCalendarModuleRoot .edcal-ai-state-box {
    border: 1px solid #d5dbe3;
    border-radius: 0.75rem;
    padding: 0.95rem 1rem;
    margin-bottom: 1rem;
    background: #ffffff;
}

#editorialCalendarModuleRoot .edcal-ai-state-box--neutral {
    background: #f8fafc;
    border-color: #d5dbe3;
    color: #374151;
}

#editorialCalendarModuleRoot .edcal-ai-state-box--pending {
    background: #eef2ff;
    border-color: #cfd8ff;
    color: #3647a0;
}

#editorialCalendarModuleRoot .edcal-ai-state-box--warning {
    background: #fff8db;
    border-color: #f0d98c;
    color: #6f5a16;
}

#editorialCalendarModuleRoot .edcal-ai-state-box--success {
    background: #eefaf4;
    border-color: #cbeedc;
    color: #20784f;
}

#editorialCalendarModuleRoot .edcal-ai-state-box--danger {
    background: #fdecef;
    border-color: #f5b8c3;
    color: #a53a52;
}

#editorialCalendarModuleRoot .edcal-ai-state-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#editorialCalendarModuleRoot .edcal-ai-state-title-wrap {
    min-width: 0;
}

#editorialCalendarModuleRoot .edcal-ai-state-subtitle {
    margin-top: 0.3rem;
    font-size: 13px;
    line-height: 1.45;
}

#editorialCalendarModuleRoot .edcal-ai-state-badges {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0.25rem 0.7rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip--queued,
#editorialCalendarModuleRoot .edcal-ai-status-chip--processing {
    background: #dfe8ff;
    color: #3647a0;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip--pending-review {
    background: #fff0c2;
    color: #7a6011;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip--completed,
#editorialCalendarModuleRoot .edcal-ai-status-chip--reviewed {
    background: #ddf5e8;
    color: #1f7a4e;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip--failed {
    background: #fdecef;
    color: #b33650;
}

#editorialCalendarModuleRoot .edcal-ai-status-chip--source {
    background: #eef2ff;
    color: #485fc7;
}

#editorialCalendarModuleRoot .edcal-ai-state-spinner {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.75rem;
    font-size: 14px;
}

#editorialCalendarModuleRoot .edcal-ai-preview-shell {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#editorialCalendarModuleRoot .edcal-ai-preview-empty {
    padding: 1rem;
    border: 1px dashed #d1d5db;
    border-radius: 0.75rem;
    background: #fafafa;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.45;
}

#editorialCalendarModuleRoot .edcal-ai-preview-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    font-size: 13px;
    color: #4b5563;
}

#editorialCalendarModuleRoot .edcal-ai-preview-meta-item {
    min-width: 0;
}

#editorialCalendarModuleRoot .edcal-ai-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

#editorialCalendarModuleRoot .edcal-ai-preview-section {
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 0.85rem 0.9rem;
    min-width: 0;
}

#editorialCalendarModuleRoot .edcal-ai-preview-label {
    margin-bottom: 0.35rem;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6b7280;
}

#editorialCalendarModuleRoot .edcal-ai-preview-value {
    font-size: 14px;
    line-height: 1.5;
    color: #374151;
    word-break: break-word;
}

#editorialCalendarModuleRoot .edcal-ai-preview-value--body {
    white-space: normal;
}

#editorialCalendarModuleRoot .edcal-ai-preview-link-row {
    margin-bottom: 0.35rem;
}

#editorialCalendarModuleRoot .edcal-ai-preview-link-row:last-child {
    margin-bottom: 0;
}

#editorialCalendarModuleRoot .edcal-ai-preview-warnings {
    border: 1px solid #f0d98c;
    border-radius: 0.75rem;
    background: #fff8db;
    padding: 0.85rem 0.9rem;
}

#editorialCalendarModuleRoot .edcal-ai-warning-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #6f5a16;
    font-size: 13px;
    line-height: 1.45;
}

#editorialCalendarModuleRoot .edcal-ai-preview-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

#editorialCalendarModuleRoot .edcal-reader-ai-notice {
    margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
    #editorialCalendarModuleRoot .edcal-ai-summary-pills {
        justify-content: flex-start;
    }

    #editorialCalendarModuleRoot .edcal-ai-preview-grid {
        grid-template-columns: 1fr;
    }
}

/* Upcoming Publications - floating menu detached from card */
body.app-bulma-pilot .edcal-floating-actions-menu {
    position: fixed;
    top: -9999px;
    left: -9999px;
    z-index: 9999;
    display: none;
    grid-template-columns: 1fr;
    gap: 0.25rem;
    min-width: 170px;
    padding: 0.45rem;
    border: 1px solid #dbdbdb;
    border-radius: 0.75rem;
    background: #ffffff;
    box-shadow: var(--app-shadow-md);
}

body.app-bulma-pilot .edcal-floating-actions-menu.is-open {
    display: grid;
}

body.app-bulma-pilot .edcal-floating-actions-menu__item {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.5rem 0.6rem;
    border-radius: 0.5rem;
    color: #2f3540;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

body.app-bulma-pilot .edcal-floating-actions-menu__item:hover {
    background: #f5f7fb;
}

body.app-bulma-pilot .edcal-floating-actions-menu__item--danger {
    color: #f14668;
}

body.app-bulma-pilot .edcal-floating-actions-menu__item--danger:hover {
    background: #fdecef;
}

#editorialCalendarModuleRoot #upcoming-publications-container .edcal-more-actions-btn.is-active {
    border-color: #b5b5b5 !important;
    background: #f5f7fb !important;
}

/* =========================================================
   Landings - landings.php
========================================================= */

#landingsModuleRoot {
            width: 100%;
            min-width: 0;
        }

        #landingsModuleRoot .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #landingsModuleRoot .landings-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #landingsModuleRoot .landings-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        #landingsModuleRoot .landings-create-card,
        #landingsModuleRoot .landings-list-card {
            border-radius: 1rem;
        }

        #landingsModuleRoot .landings-form-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            margin-top: 1rem;
        }

        #landingsModuleRoot .landings-form-actions .btn {
            min-width: 130px;
        }

        #landingsModuleRoot .landings-help-note {
            margin-bottom: 1rem;
            border-radius: 0.75rem;
            background: #fff8db;
            border: 1px solid #f0d98c;
            color: #6f5a16;
            padding: 0.875rem 1rem;
            font-size: 14px;
            line-height: 1.45;
        }

        #landingsModuleRoot .landings-table-wrap {
            overflow-x: auto;
        }

        #landingsModuleRoot .landings-url-link {
            word-break: break-word;
        }

        #landingsModuleRoot .landings-actions-inline {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        #landingsModuleRoot .landings-notes {
            margin-top: 1rem;
            padding:1rem;
        }

        #landingsModuleRoot .landings-notes p {
            margin-bottom: 0.45rem;
            font-size: 13px;
            color: #6b7280;
            line-height: 1.45;
        }

        #landingsModuleRoot .landings-notes p:last-child {
            margin-bottom: 0;
        }

        @media (max-width: 991.98px) {
            #landingsModuleRoot .landings-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #landingsModuleRoot .landings-actions {
                justify-content: flex-start;
            }
        }

/* =========================================================
   Locations - locations.php
========================================================= */


#locationsModuleRoot {
            width: 100%;
            min-width: 0;
        }

        #locationsModuleRoot .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #locationsModuleRoot .locations-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #locationsModuleRoot .locations-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        #locationsModuleRoot .locations-card {
            border-radius: 1rem;
        }

        #locationsModuleRoot .locations-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            min-width: 0;
        }

        #locationsModuleRoot .location-item-card {
            border: 1px solid #dbdbdb;
            border-radius: 0.875rem;
            background: #ffffff;
            box-shadow: var(--app-shadow-sm);
        }

        #locationsModuleRoot .location-item-card .card-body {
            padding: 1rem !important;
        }

        #locationsModuleRoot .location-item-title {
            margin: 0;
            font-size: 1rem;
            font-weight: 700;
            color: #363636;
        }

        #locationsModuleRoot .location-item-subtitle {
            margin-top: 0.35rem;
            color: #6b7280;
            font-size: 13px;
        }

        #locationsModuleRoot .location-item-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            justify-content: flex-end;
        }

        #locationsModuleRoot .location-item-meta {
            margin-top: 1rem;
            font-size: 14px;
            color: #4b5563;
            line-height: 1.5;
        }

        #locationsModuleRoot .location-item-meta-row {
            margin-bottom: 0.45rem;
            word-break: break-word;
        }

        #locationsModuleRoot .location-item-meta-row:last-child {
            margin-bottom: 0;
        }

        #locationsModuleRoot .location-item-meta a {
            word-break: break-word;
        }

        @media (max-width: 991.98px) {
            #locationsModuleRoot .locations-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #locationsModuleRoot .locations-actions {
                justify-content: flex-start;
            }

            #locationsModuleRoot .location-item-actions {
                justify-content: flex-start;
            }
        }

        #acc-info-locations-info-body {
            padding: 1rem!important;
        }

/* =========================================================
   Main Dashboard - main_dashboard.php
========================================================= */


 #mainDashboardModuleRoot {
            width: 100%;
            min-width: 0;
        }

#mainDashboardModuleRoot .app-page-header {
    width: 100%;
}

#mainDashboardModuleRoot .dashboard-inner {
    width: 100%;
    min-width: 0;
}

#mainDashboardModuleRoot .app-page-header-left {
    min-width: 0;
}

#mainDashboardModuleRoot .dashboard-subtitle {
    margin-top: 0.35rem;
    color: #6b7280;
    font-size: 14px;
}



        #mainDashboardModuleRoot .dashboard-stats-grid > div,
        #mainDashboardModuleRoot .dashboard-layout > div {
            min-width: 0;
        }

        #mainDashboardModuleRoot .dashboard-stat-card {
            height: 100%;
            border: 1px solid #dbdbdb;
            border-radius: 0.875rem;
            background: #ffffff;
            box-shadow: var(--app-shadow-sm);
        }

        #mainDashboardModuleRoot .dashboard-stat-card .card-body {
            padding: 1rem !important;
        }

        #mainDashboardModuleRoot .dashboard-stat-label {
            font-size: 13px;
            color: #6b7280;
            margin-bottom: 0.35rem;
        }

        #mainDashboardModuleRoot .dashboard-stat-value {
            margin: 0;
            font-size: 1.55rem;
            line-height: 1.1;
            font-weight: 700;
            color: #363636;
        }

        #mainDashboardModuleRoot .dashboard-main-card,
        #mainDashboardModuleRoot .dashboard-side-card {
            height: 100%;
            border-radius: 1rem;
        }

        #mainDashboardModuleRoot .dashboard-table-wrap {
            overflow: auto;
            max-height: 720px;
        }

        #mainDashboardModuleRoot .dashboard-table {
            margin-bottom: 0;
        }

        #mainDashboardModuleRoot .dashboard-table thead th {
            position: sticky;
            top: 0;
            z-index: 5;
            background: #fafafa !important;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-pubs-body {
            padding: 0 !important;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table-wrap {
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            overflow: auto;
            max-height: 720px;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table {
            width: 100%;
            margin: 0 !important;
            table-layout: fixed;
            border-collapse: separate;
            border-spacing: 0;
            background: #ffffff;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table > :not(caption) > * > * {
            font-size: 14px !important;
            vertical-align: middle;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table thead th {
            position: sticky;
            top: 0;
            z-index: 8;
            background: #fafafa !important;
            background-clip: padding-box;
            box-shadow: inset 0 -1px 0 #dbdbdb;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table tbody td {
            font-size: 14px !important;
            vertical-align: middle;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-table .tag {
            font-size: 12px;
            font-weight: 700;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-edit-btn {
            min-width: 32px;
            width: 32px;
            height: 32px;
            padding: 0 !important;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        #mainDashboardModuleRoot .dashboard-upcoming-edit-btn i {
            color: inherit !important;
        }

        #mainDashboardModuleRoot .dashboard-group-row td {
            background: #ffffff !important;
            border-bottom: 0 !important;
            padding-top: 1rem !important;
            padding-bottom: 0.55rem !important;
        }

        #mainDashboardModuleRoot .dashboard-group-label {
            font-size: 14px;
        }

        #mainDashboardModuleRoot .dashboard-topic-cell {
            word-break: break-word;
        }

        #mainDashboardModuleRoot .dashboard-placeholder-note {
            color: #6b7280;
            font-size: 14px;
            line-height: 1.5;
        }

        @media (max-width: 1199.98px) {
            #mainDashboardModuleRoot .dashboard-table-wrap {
                max-height: none;
            }
        }

/* =========================================================
   SEO Disary - seo_diary.php
========================================================= */


#seoDiaryModuleRoot {
            width: 100%;
            min-width: 0;
        }

        #seoDiaryModuleRoot .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #seoDiaryModuleRoot .seo-diary-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #seoDiaryModuleRoot .seo-diary-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        #seoDiaryModuleRoot .seo-diary-table-wrap {
            overflow-x: auto;
        }

        #seoDiaryModuleRoot .seo-diary-table {
            margin-bottom: 0;
        }

        #seoDiaryModuleRoot .seo-diary-col-date {
            width: 140px;
            white-space: nowrap;
        }

        #seoDiaryModuleRoot .seo-diary-col-actions {
            width: 170px;
            white-space: nowrap;
        }

        #seoDiaryModuleRoot .seo-diary-entry-actions {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        #seoDiaryModuleRoot .seo-diary-entry-actions .btn {
            min-width: 38px;
        }

        #seoDiaryModuleRoot .diary-preview-wrap {
            position: relative;
        }

        #seoDiaryModuleRoot .diary-preview {
            max-height: 150px;
            overflow: hidden;
            position: relative;
            line-height: 1.55;
            color: #374151;
        }

        #seoDiaryModuleRoot .diary-overlay {
            display: none;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 1.8rem;
            height: 58px;
            background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
            pointer-events: none;
        }

        #seoDiaryModuleRoot .diary-readmore {
            display: none;
            position: relative;
            font-size: 13px;
            font-weight: 600;
        }

        #seoDiaryModuleRoot .diary-preview-wrap.has-more .diary-overlay,
        #seoDiaryModuleRoot .diary-preview-wrap.has-more .diary-readmore {
            display: block;
        }

        #seoDiaryModuleRoot #diaryViewModalBody {
            line-height: 1.6;
            color: #374151;
        }

        @media (max-width: 991.98px) {
            #seoDiaryModuleRoot .seo-diary-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #seoDiaryModuleRoot .seo-diary-actions {
                justify-content: flex-start;
            }

            #seoDiaryModuleRoot .seo-diary-col-date,
            #seoDiaryModuleRoot .seo-diary-col-actions {
                width: auto;
                white-space: normal;
            }
        }

    #seoDiaryModuleRoot .card > .card-body {
        padding:0!important;
    }


/* =========================================================
   Service Detail - service_detail.php
========================================================= */

#serviceDetailModuleRoot {
    width: 100%;
    min-width: 0;
}

#serviceDetailModuleRoot .app-module-title {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #363636;
    white-space: nowrap;
}

#serviceDetailModuleRoot .service-detail-heading-select {
    width: 370px;
    min-width: 260px;
    max-width: 420px;
}

#serviceDetailModuleRoot .service-detail-summary {
    margin-bottom: 1.25rem;
}

#serviceDetailModuleRoot .service-detail-summary-line {
    margin-bottom: 0.45rem;
    color: #4b5563;
    word-break: break-word;
}

#serviceDetailModuleRoot .service-detail-summary-line:last-child {
    margin-bottom: 0;
}

#serviceDetailModuleRoot .service-detail-status-grid > div,
#serviceDetailModuleRoot .service-detail-metrics-grid > div {
    min-width: 0;
}

#serviceDetailModuleRoot .service-detail-status-box,
#serviceDetailModuleRoot .service-detail-metric-box {
    height: 100%;
    border: 1px solid #dbdbdb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 1rem;
}

#serviceDetailModuleRoot .service-detail-status-box--soft {
    background: #fafafa;
}

#serviceDetailModuleRoot .service-detail-box-title {
    font-weight: 700;
    margin-bottom: 0.9rem;
    color: #363636;
}

#serviceDetailModuleRoot .service-detail-metric-label {
    color: #6b7280;
    font-size: 13px;
    margin-bottom: 0.35rem;
}

#serviceDetailModuleRoot .service-detail-metric-value {
    font-weight: 700;
    color: #363636;
    margin-bottom: 0;
}

#serviceDetailModuleRoot .service-detail-basic-info-card,
#serviceDetailModuleRoot .service-detail-sync-card {
    display: none;
}

#serviceDetailModuleRoot .service-detail-charts-card {
    border-radius: var(--app-radius-lg) !important;
}

#serviceDetailModuleRoot .service-detail-charts-card .card-header {
    align-items: center;
}

#serviceDetailModuleRoot .service-detail-charts-card .card-header > div:last-child {
    justify-content: flex-end;
}

#serviceDetailModuleRoot .service-detail-chart-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
}

#serviceDetailModuleRoot .service-detail-chart-panel {
    min-width: 0;
    display: flex;
}

#serviceDetailModuleRoot .service-detail-chart-panel--main {
    width: calc(66.6667% - 0.5rem);
}

#serviceDetailModuleRoot .service-detail-chart-panel--insights {
    width: calc(33.3333% - 0.5rem);
}

#serviceDetailModuleRoot .service-detail-chart-panel .app-chart-card {
    width: 100%;
    height: 100%;
}

#serviceDetailModuleRoot .service-detail-chart-note {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.45;
}

#serviceDetailModuleRoot .service-detail-insights-fragment {
    min-width: 0;
}

#serviceDetailModuleRoot .service-detail-insights-context-note {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.45;
    margin-bottom: 0.75rem;
}

#serviceDetailModuleRoot .service-detail-insights-grid {
    margin-top: 0 !important;
}

#serviceDetailModuleRoot .service-detail-insights-col {
    min-width: 0;
}

#serviceDetailModuleRoot .service-detail-insights-metric-card {
    height: 100%;
    border: 1px solid #dbdbdb;
    border-radius: 0.75rem;
    background: #ffffff;
    padding: 0.85rem 0.9rem;
}

#serviceDetailModuleRoot .service-detail-insights-metric-label {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    color: #6b7280;
    margin-bottom: 0.45rem;
}

#serviceDetailModuleRoot .service-detail-insights-metric-main-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

#serviceDetailModuleRoot .service-detail-insights-metric-value {
    font-size: 1.18rem;
    line-height: 1.05;
    font-weight: 700;
    color: #363636;
    word-break: break-word;
}

#serviceDetailModuleRoot .service-detail-insights-metric-delta {
    font-size: 0.82rem;
    line-height: 1.1;
    font-weight: 700;
    word-break: break-word;
}

#serviceDetailModuleRoot .service-detail-insights-metric-detail {
    margin-top: 0.45rem;
    font-size: 12px;
    line-height: 1.4;
    color: #6b7280;
    word-break: break-word;
}

#serviceDetailModuleRoot #service-detail-insights-state {
    margin-bottom: 0.75rem;
}

#serviceDetailModuleRoot #service-detail-insights-panel .alert {
    margin-bottom: 0 !important;
}

.portal-chart-diary-tooltip {
    position: fixed;
    z-index: 1080;
    display: none;
    max-width: 320px;
    padding: 0.75rem 0.875rem;
    border: 1px solid var(--bulma-link, #485fc7);
    border-radius: var(--bulma-radius-large, 0.75rem);
    background: var(--bulma-white, #ffffff);
    box-shadow: 0 12px 28px rgba(10, 10, 10, 0.14);
    color: var(--bulma-text, #363636);
    font-size: 0.8125rem;
    line-height: 1.35;
    pointer-events: none;
}

.portal-chart-diary-tooltip__date {
    margin-bottom: 0.5rem;
    color: var(--bulma-link, #485fc7);
    font-weight: 700;
}

.portal-chart-diary-tooltip__entry + .portal-chart-diary-tooltip__entry {
    margin-top: 0.625rem;
    padding-top: 0.625rem;
    border-top: 1px solid var(--app-border-color, #dbdbdb);
}

.portal-chart-diary-tooltip__type {
    margin-bottom: 0.25rem;
    color: var(--app-secondary, #6b7280);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: capitalize;
}

.portal-chart-diary-tooltip__text {
    color: var(--bulma-text-strong, #363636);
    font-weight: 400;
}

.portal-chart-diary-tooltip__more {
    margin-top: 0.625rem;
    color: var(--app-secondary, #6b7280);
    font-size: 0.75rem;
    font-weight: 600;
}

@media (max-width: 1199.98px) {
    #serviceDetailModuleRoot .service-detail-chart-panel--main,
    #serviceDetailModuleRoot .service-detail-chart-panel--insights {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    #serviceDetailModuleRoot .service-detail-heading-select {
        width: 100%;
        min-width: 220px;
        max-width: 100%;
    }

    #serviceDetailModuleRoot .service-detail-charts-card .card-header {
        align-items: flex-start;
    }

    #serviceDetailModuleRoot .service-detail-charts-card .card-header > div:last-child {
        width: 100%;
        justify-content: flex-start;
    }

    #serviceDetailModuleRoot .service-detail-chart-panel--main,
    #serviceDetailModuleRoot .service-detail-chart-panel--insights {
        width: 100%;
    }

    body.app-bulma-pilot .app-chart-shell--lg {
        min-height: 320px;
        height: 320px;
    }
}


/* =========================================================
   Services - services.php
========================================================= */


#servicesModuleRoot {
            width: 100%;
            min-width: 0;
        }

        #servicesModuleRoot .app-module-title {
            margin: 0;
            font-size: 1.5rem;
            line-height: 1.2;
            font-weight: 700;
            color: #363636;
            white-space: nowrap;
        }

        #servicesModuleRoot .services-heading-select {
            width: 370px;
            min-width: 260px;
            max-width: 370px;
        }

        #servicesModuleRoot .services-header-meta {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        #servicesModuleRoot .services-last-data-label {
            font-size: 14px;
            color: #6b7280;
            white-space: nowrap;
        }

        #servicesModuleRoot .services-status-grid > div,
        #servicesModuleRoot .services-metrics-grid > div {
            min-width: 0;
        }

        #servicesModuleRoot .services-status-box,
        #servicesModuleRoot .services-metric-box {
            height: 100%;
            border: 1px solid #dbdbdb;
            border-radius: 0.75rem;
            background: #ffffff;
            padding: 1rem;
        }

        #servicesModuleRoot .services-status-box--soft {
            background: #fafafa;
        }

        #servicesModuleRoot .services-box-title {
            font-weight: 700;
            margin-bottom: 0.9rem;
            color: #363636;
        }

        #servicesModuleRoot .services-metric-label {
            color: #6b7280;
            font-size: 13px;
            margin-bottom: 0.35rem;
        }

        #servicesModuleRoot .services-metric-value {
            font-weight: 700;
            color: #363636;
            margin-bottom: 0;
        }

        @media (max-width: 991.98px) {
            #servicesModuleRoot .services-heading-select {
                width: 100%;
                min-width: 220px;
                max-width: 100%;
            }

            #servicesModuleRoot .services-header-meta {
                justify-content: flex-start;
            }
        }

        /* =========================================================
   Portal Charts - Chart.js shared layer
========================================================= */

body.app-bulma-pilot .app-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

body.app-bulma-pilot .app-chart-panel {
    min-width: 0;
}

body.app-bulma-pilot .app-chart-card {
    border-radius: var(--app-radius-lg) !important;
}

body.app-bulma-pilot .app-chart-card .card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .app-chart-card .card-header .app-chart-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.app-bulma-pilot .app-chart-card .card-header .app-chart-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #363636;
}

body.app-bulma-pilot .app-chart-card .card-header .app-chart-subtitle {
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
}

body.app-bulma-pilot .app-chart-shell {
    position: relative;
    width: 100%;
    min-height: 280px;
    height: 280px;
}

body.app-bulma-pilot .app-chart-shell--sm {
    min-height: 220px;
    height: 220px;
}

body.app-bulma-pilot .app-chart-shell--md {
    min-height: 280px;
    height: 280px;
}

body.app-bulma-pilot .app-chart-shell--lg {
    min-height: 360px;
    height: 360px;
}

body.app-bulma-pilot .app-chart-shell canvas,
body.app-bulma-pilot .app-chart-canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

body.app-bulma-pilot .app-chart-state {
    border: 1px dashed #d1d5db;
    border-radius: 0.75rem;
    background: #fafafa;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.45;
    padding: 1rem;
}

body.app-bulma-pilot .app-chart-state--error {
    background: #fdecef;
    border-color: #f5b8c3;
    color: #a53a52;
}

body.app-bulma-pilot .app-chart-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.75rem;
}

body.app-bulma-pilot .app-chart-toolbar-left,
body.app-bulma-pilot .app-chart-toolbar-right {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.app-bulma-pilot .app-chart-meta {
    font-size: 12px;
    color: #6b7280;
}

#serviceDetailModuleRoot .service-detail-charts-card {
    border-radius: var(--app-radius-lg) !important;
}

#serviceDetailModuleRoot .service-detail-chart-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: stretch;
}

#serviceDetailModuleRoot .service-detail-chart-panel {
    min-width: 0;
    display: flex;
    width: calc(50% - 0.5rem);
}

#serviceDetailModuleRoot .service-detail-chart-panel .app-chart-card {
    width: 100%;
    height: 100%;
}

#serviceDetailModuleRoot .service-detail-chart-note {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.45;
}

@media (max-width: 1399.98px) {
    #serviceDetailModuleRoot .service-detail-chart-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    body.app-bulma-pilot .app-chart-grid,
    #serviceDetailModuleRoot .service-detail-chart-grid {
        grid-template-columns: 1fr;
    }

    body.app-bulma-pilot .app-chart-shell--lg {
        min-height: 320px;
        height: 320px;
    }
}

/* Dashboard SEO - Top Movers: Services */
.dashboard-seo-service-movers-card .dashboard-table thead th {
    border-bottom: 1px solid #dbdbdb !important;
}

.dashboard-seo-service-movers-card .dashboard-table thead tr {
    border-bottom: 0 !important;
}

.dashboard-seo-service-movers-card .tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    font-weight: 600;
}

.dashboard-seo-service-movers-card .button.is-small {
    min-height: 2rem;
    padding-inline: 0.75rem;
}

/* Dashboard SEO - Top Movers: Services */
.dashboard-seo-service-movers-card .dashboard-table thead th {
    border-bottom: 1px solid #dee2e6 !important;
}

.dashboard-seo-service-movers-card .dashboard-table tbody td {
    vertical-align: middle;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7rem;
    padding: 0.45rem 0.8rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--growing {
    color: #146c43;
    background-color: #d1e7dd;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--stable {
    color: #055160;
    background-color: #cff4fc;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--opportunity {
    color: #664d03;
    background-color: #fff3cd;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--declining {
    color: #842029;
    background-color: #f8d7da;
}

.dashboard-seo-service-movers-card .dashboard-seo-view-btn,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:visited {
    color: #ffffff !important;
    background-color: #485fc7;
    border-color: #485fc7;
    font-weight: 600;
    min-width: 3rem;
}

.dashboard-seo-service-movers-card .dashboard-seo-view-btn:hover,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:focus,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:active {
    color: #ffffff !important;
    background-color: #3e56c1;
    border-color: #3e56c1;
}

.dashboard-seo-service-movers-card .dashboard-seo-landing-link {
    color: #485fc7;
    text-decoration: none;
}

.dashboard-seo-service-movers-card .dashboard-seo-landing-link:hover,
.dashboard-seo-service-movers-card .dashboard-seo-landing-link:focus {
    color: #364fc7;
    text-decoration: underline;
}

/* Dashboard SEO - Shared Movers tables */
.dashboard-seo-service-movers-card .dashboard-table thead th,
.dashboard-seo-landing-movers-card .dashboard-table thead th {
    border-bottom: 1px solid #dee2e6 !important;
}

.dashboard-seo-service-movers-card .dashboard-table tbody td,
.dashboard-seo-landing-movers-card .dashboard-table tbody td {
    vertical-align: middle;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge,
.dashboard-seo-landing-movers-card .dashboard-seo-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6rem;
    padding: 0.45rem 0.8rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--growing,
.dashboard-seo-landing-movers-card .dashboard-seo-status-badge--growing {
    color: #146c43;
    background-color: #d1e7dd;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--stable,
.dashboard-seo-landing-movers-card .dashboard-seo-status-badge--stable {
    color: #055160;
    background-color: #cff4fc;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--opportunity,
.dashboard-seo-landing-movers-card .dashboard-seo-status-badge--opportunity {
    color: #664d03;
    background-color: #fff3cd;
}

.dashboard-seo-service-movers-card .dashboard-seo-status-badge--declining,
.dashboard-seo-landing-movers-card .dashboard-seo-status-badge--declining {
    color: #842029;
    background-color: #f8d7da;
}

.dashboard-seo-service-movers-card .dashboard-seo-view-btn,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:visited {
    color: #ffffff !important;
    background-color: #485fc7;
    border-color: #485fc7;
    font-weight: 600;
    min-width: 3.5rem;
}

.dashboard-seo-service-movers-card .dashboard-seo-view-btn:hover,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:focus,
.dashboard-seo-service-movers-card .dashboard-seo-view-btn:active {
    color: #ffffff !important;
    background-color: #3e56c1;
    border-color: #3e56c1;
}

.dashboard-seo-service-movers-card .dashboard-seo-landing-link,
.dashboard-seo-service-movers-card .dashboard-seo-landing-link:visited {
    color: #485fc7;
    text-decoration: none;
}

.dashboard-seo-service-movers-card .dashboard-seo-landing-link:hover,
.dashboard-seo-service-movers-card .dashboard-seo-landing-link:focus {
    color: #364fc7;
    text-decoration: underline;
}


/* =========================================================
   Dashboard SEO - Dual trend blocks + KPI summary cards
   ========================================================= */

.dashboard-seo-card > .card-body {
    padding: 1rem;
}

.dashboard-seo-report-card {
    border: 1px solid #e9ecef;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.dashboard-seo-report-intro {
    background: #fbfcfe;
}

.dashboard-seo-report-intro h5 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #1f2937;
}

.dashboard-seo-report-legend {
    line-height: 1.45;
}

.dashboard-seo-report-card .portal-chart-block {
    padding: 0;
    margin: 0;
}

.dashboard-seo-report-card .portal-chart-block__header {
    padding: 1rem 1rem 0.75rem 1rem;
    border-bottom: 1px solid #eef2f7;
    background: #ffffff;
}

.dashboard-seo-report-card .portal-chart-block__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1f2937;
}

.dashboard-seo-report-card .portal-chart-block__body {
    padding: 1rem;
}

.dashboard-seo-report-card .app-chart-shell {
    min-height: 320px;
}

.dashboard-seo-report-card .app-chart-toolbar {
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.dashboard-seo-report-card .app-chart-toolbar .btn {
    border-radius: 9px;
}

.dashboard-seo-report-summary {
    border-top: 1px solid #eef2f7;
    background: #fcfdff;
}

.dashboard-seo-kpi-summary-state {
    padding: 0.75rem 0;
    font-size: 0.875rem;
    color: #6b7280;
}

.dashboard-seo-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.dashboard-seo-kpi-card {
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #ffffff;
    padding: 0.85rem 0.9rem 0.8rem 0.9rem;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.dashboard-seo-kpi-card__label {
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 0.35rem;
}

.dashboard-seo-kpi-card__value {
    font-size: 1.35rem;
    line-height: 1.15;
    font-weight: 800;
    color: #111827;
    margin-bottom: 0.45rem;
}

.dashboard-seo-kpi-card__delta {
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.2rem;
}

.dashboard-seo-kpi-card__meta {
    font-size: 0.74rem;
    line-height: 1.25;
    color: #6b7280;
}

.dashboard-seo-kpi-delta--positive {
    color: #198754;
}

.dashboard-seo-kpi-delta--negative {
    color: #dc3545;
}

.dashboard-seo-kpi-delta--neutral {
    color: #6b7280;
}

@media (max-width: 1399.98px) {
    .dashboard-seo-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .dashboard-seo-card > .card-body {
        padding: 0.75rem;
    }

    .dashboard-seo-report-card .portal-chart-block__header,
    .dashboard-seo-report-card .portal-chart-block__body,
    .dashboard-seo-report-intro,
    .dashboard-seo-report-summary {
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
    }

    .dashboard-seo-kpi-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-seo-kpi-card {
        min-height: auto;
    }
}


/* =========================================================
   Dashboard SEO - Landing + Query Insights final overrides
========================================================= */

#mainDashboardModuleRoot .dashboard-seo-insights-row {
    align-items: stretch;
}

#mainDashboardModuleRoot .dashboard-seo-insights-row > [class*="col-"] {
    min-width: 0;
    display: flex;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: opacity 0.18s ease;
    margin-bottom: 0;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card.is-loading,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .card-header,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .card-header {
    flex: 0 0 auto;
    align-items: center;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-range-actions,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-range-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-range-btn,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-range-btn {
    min-width: 58px;
    border-radius: 9px;
    font-weight: 600;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-quicklink-btn,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-quicklink-btn {
    border-radius: 9px;
    font-weight: 600;
}

#mainDashboardModuleRoot .dashboard-seo-fixed-scroll-wrap {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    max-height: none !important;
    overflow: auto !important;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-table thead th,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background: #fafafa !important;
    border-bottom: 1px solid #dee2e6 !important;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-table tbody td,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-table tbody td {
    vertical-align: middle;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-status-badge,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6rem;
    padding: 0.45rem 0.8rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-status-badge--growing,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-status-badge--growing {
    color: #146c43;
    background-color: #d1e7dd;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-status-badge--stable,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-status-badge--stable {
    color: #055160;
    background-color: #cff4fc;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-status-badge--opportunity,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-status-badge--opportunity {
    color: #664d03;
    background-color: #fff3cd;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-status-badge--declining,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-status-badge--declining {
    color: #842029;
    background-color: #f8d7da;
}

/* Landing Insights */
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-primary-cell {
    min-width: 340px;
    max-width: 460px;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-path-link,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-path-link:visited {
    display: inline-block;
    max-width: 100%;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    color: #485fc7 !important;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-path-link:hover,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-path-link:focus {
    color: #364fc7 !important;
    text-decoration: underline;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-service-line {
    margin-top: 0.2rem;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
    color: #4b5563 !important;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link:hover,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link:focus {
    color: #374151 !important;
    text-decoration: underline;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link .bi {
    font-size: 11px;
    flex: 0 0 auto;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-sub-link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Query Insights */
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-primary-cell {
    min-width: 340px;
    max-width: 460px;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-main-text {
    font-size: 14px;
    line-height: 1.35;
    font-weight: 700;
    color: #2f3540;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-line {
    margin-top: 0.2rem;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
    color: #485fc7 !important;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link:hover,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link:focus {
    color: #364fc7 !important;
    text-decoration: underline;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link .bi {
    font-size: 11px;
    flex: 0 0 auto;
}

#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-landing-link span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-service-subtle-text,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-service-subtle-text {
    display: inline-block;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 400;
    color: #4b5563;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-impr,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-clicks,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-ctr,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-pos,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-delta-clicks,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-delta-pos,
#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-status,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-impr,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-clicks,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-ctr,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-pos,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-delta-impr,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-delta-clicks,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-delta-pos,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-status {
    white-space: nowrap;
    width: 1%;
}

#mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-col-status,
#mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-col-status {
    text-align: center;
}

@media (max-width: 1199.98px) {
    #mainDashboardModuleRoot .dashboard-seo-landing-movers-card,
    #mainDashboardModuleRoot .dashboard-seo-query-movers-card {
        height: 600px !important;
        min-height: 600px !important;
        max-height: 600px !important;
    }

    #mainDashboardModuleRoot .dashboard-seo-landing-movers-card .dashboard-seo-landing-primary-cell,
    #mainDashboardModuleRoot .dashboard-seo-query-movers-card .dashboard-seo-query-primary-cell {
        min-width: 280px;
        max-width: none;
    }
}

/* =========================================================
   Editorial Calendar - AI editor + structured preview
========================================================= */

#editorialCalendarModuleRoot .edcal-editor-root {
    width: 100%;
    min-width: 0;
}

#editorialCalendarModuleRoot .edcal-editor-card,
#editorialCalendarModuleRoot .edcal-ai-card,
#editorialCalendarModuleRoot .edcal-ai-preview-card {
    border-radius: 1rem;
}

#editorialCalendarModuleRoot .edcal-ai-status-strip {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill--neutral {
    background: #eef1f4;
    color: #5f6b76;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill--info {
    background: #e8f1fb;
    color: #2f6fb3;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill--warning {
    background: #fff4d6;
    color: #8a6d1f;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill--success {
    background: #e7f7ef;
    color: #20784f;
}

#editorialCalendarModuleRoot .edcal-ai-status-pill--danger {
    background: #fdecef;
    color: #b33650;
}

#editorialCalendarModuleRoot .edcal-ai-status-meta {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.45;
}

#editorialCalendarModuleRoot .edcal-ai-live-state {
    margin-bottom: 0.9rem;
}

#editorialCalendarModuleRoot .edcal-ai-toolbar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

#editorialCalendarModuleRoot .edcal-ai-toolbar .btn {
    min-width: 170px;
}

#editorialCalendarModuleRoot .edcal-ai-input-note {
    margin-top: 0.9rem;
    font-size: 13px;
    line-height: 1.45;
    color: #6b7280;
}

#editorialCalendarModuleRoot .edcal-ai-preview-shell {
    border: 1px solid #e5e7eb;
    border-radius: 0.875rem;
    background: #ffffff;
    padding: 1rem;
}

#editorialCalendarModuleRoot .edcal-ai-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

#editorialCalendarModuleRoot .edcal-ai-preview-section {
    min-width: 0;
    padding: 0.9rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    background: #fafafa;
}

#editorialCalendarModuleRoot .edcal-ai-preview-section--full {
    grid-column: 1 / -1;
}

#editorialCalendarModuleRoot .edcal-ai-preview-label {
    margin-bottom: 0.45rem;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6b7280;
}

#editorialCalendarModuleRoot .edcal-ai-preview-text {
    font-size: 14px;
    line-height: 1.55;
    color: #374151;
    word-break: break-word;
}

#editorialCalendarModuleRoot .edcal-ai-preview-text--title {
    font-size: 15px;
    font-weight: 700;
    color: #2f3540;
}

#editorialCalendarModuleRoot .edcal-editor-textarea {
    resize: vertical;
    line-height: 1.45;
}

#editorialCalendarModuleRoot .edcal-editor-textarea--brief {
    min-height: 140px;
}

#editorialCalendarModuleRoot .edcal-editor-textarea--llm {
    min-height: 260px;
}

#editorialCalendarModuleRoot .edcal-manual-compat-note {
    margin-top: 0.25rem;
    font-size: 13px;
    line-height: 1.45;
    color: #6b7280;
}

@media (max-width: 767.98px) {
    #editorialCalendarModuleRoot .edcal-ai-preview-grid {
        grid-template-columns: 1fr;
    }

    #editorialCalendarModuleRoot .edcal-ai-toolbar .btn {
        min-width: 100%;
    }
}

/* =========================================================
   Dashboard SEO - GA4 Key Events summary list
========================================================= */

.dashboard-ga4-key-events-list {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #eef2f7;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.dashboard-ga4-key-events-list__title {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 0.1rem;
}

.dashboard-ga4-key-events-list__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
    padding: 0.7rem 0.8rem;
    border: 1px solid #e8edf3;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

.dashboard-ga4-key-events-list__name {
    min-width: 0;
    font-size: 0.92rem;
    line-height: 1.3;
    font-weight: 700;
    color: #1f2937;
    word-break: break-word;
}

.dashboard-ga4-key-events-list__metrics {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    font-size: 0.82rem;
    line-height: 1.2;
}

.dashboard-ga4-key-events-list__current {
    font-weight: 700;
    color: #111827;
}

.dashboard-ga4-key-events-list__previous {
    color: #6b7280;
}

.dashboard-ga4-key-events-list__delta {
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .dashboard-ga4-key-events-list__row {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-ga4-key-events-list__metrics {
        width: 100%;
        justify-content: flex-start;
    }
}

/* --------------------------------------------------------------------------
   Main Dashboard - GA4 charts layout
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .dashboard-ga4-organic-card .dashboard-seo-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

body.app-bulma-pilot .dashboard-ga4-organic-card .dashboard-seo-kpi-card {
    min-width: 0;
}

body.app-bulma-pilot .dashboard-ga4-key-events-card {
    display: grid !important;
    grid-template-columns: minmax(0, 50%) minmax(0, 50%);
    grid-template-rows: auto auto auto 1fr;
    align-items: stretch;
}

body.app-bulma-pilot .dashboard-ga4-key-events-card > .dashboard-seo-report-intro {
    grid-column: 1 / -1;
    grid-row: 1;
}

body.app-bulma-pilot .dashboard-ga4-key-events-card > .card-header {
    grid-column: 1 / -1;
    grid-row: 2;
}

body.app-bulma-pilot .dashboard-ga4-key-events-card > .card-body {
    grid-column: 1;
    grid-row: 3;
    min-width: 0;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.app-bulma-pilot .dashboard-ga4-key-events-card > [data-role="chart-summary"] {
    display: contents !important;
}

body.app-bulma-pilot .dashboard-ga4-key-events-summary-kpis {
    grid-column: 1;
    grid-row: 4;
    min-width: 0;
    padding: 0 0.85rem 0.85rem 0.85rem;
}

body.app-bulma-pilot .dashboard-ga4-key-events-summary-list {
    grid-column: 2;
    grid-row: 3 / span 2;
    min-width: 0;
    padding: 1rem 1.35rem 1rem 1.35rem;
    border-left: 1px solid #e5e7eb;
    background: #ffffff;
}

body.app-bulma-pilot .dashboard-ga4-key-events-chart-shell {
    width: 100%;
    max-width: 500px;
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
    margin: 0 auto;
}

body.app-bulma-pilot .dashboard-ga4-key-events-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
}

body.app-bulma-pilot .dashboard-ga4-key-events-kpi-grid .dashboard-seo-kpi-card {
    min-width: 0;
    padding: 0.7rem 0.75rem;
}

body.app-bulma-pilot .dashboard-ga4-key-events-kpi-grid .dashboard-seo-kpi-card__label {
    font-size: 0.68rem;
}

body.app-bulma-pilot .dashboard-ga4-key-events-kpi-grid .dashboard-seo-kpi-card__value {
    font-size: 1.05rem;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list {
    height: 100%;
    min-height: 0;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__title {
    margin-bottom: 0.5rem;
    color: #363636;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.52rem 0.85rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--app-radius-md);
    margin-bottom: 0.55rem;
    background: #ffffff;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__row:last-child {
    margin-bottom: 0;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__name {
    min-width: 0;
    color: #363636;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__metrics {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
    color: #6b7280;
    font-size: 0.72rem;
    line-height: 1.25;
    text-align: right;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__current {
    color: #363636;
    font-weight: 700;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__previous {
    color: #6b7280;
}

body.app-bulma-pilot .dashboard-ga4-key-events-list__delta {
    font-weight: 700;
}

@media (max-width: 1199.98px) {
    body.app-bulma-pilot .dashboard-ga4-key-events-card {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    body.app-bulma-pilot .dashboard-ga4-key-events-card > .dashboard-seo-report-intro,
    body.app-bulma-pilot .dashboard-ga4-key-events-card > .card-header,
    body.app-bulma-pilot .dashboard-ga4-key-events-card > .card-body,
    body.app-bulma-pilot .dashboard-ga4-key-events-summary-kpis,
    body.app-bulma-pilot .dashboard-ga4-key-events-summary-list {
        grid-column: 1;
        grid-row: auto;
    }

    body.app-bulma-pilot .dashboard-ga4-key-events-summary-list {
        border-left: 0;
        border-top: 1px solid #e5e7eb;
    }

    body.app-bulma-pilot .dashboard-ga4-organic-card .dashboard-seo-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    body.app-bulma-pilot .dashboard-ga4-organic-card .dashboard-seo-kpi-grid,
    body.app-bulma-pilot .dashboard-ga4-key-events-kpi-grid {
        grid-template-columns: 1fr;
    }

    body.app-bulma-pilot .dashboard-ga4-key-events-list__row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    body.app-bulma-pilot .dashboard-ga4-key-events-list__metrics {
        justify-content: flex-start;
        text-align: left;
    }
}

/* --------------------------------------------------------------------------
   Services list table
   -------------------------------------------------------------------------- */

/* body.app-bulma-pilot #services-card-container .card-body {
    padding: 0 !important;
} */

body.app-bulma-pilot #services-card-container .accounts-table-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
}

body.app-bulma-pilot #services-card-container .accounts-table {
    width: 100%;
    min-width: 1220px;
    margin-bottom: 0 !important;
}

body.app-bulma-pilot #services-card-container .accounts-table > :not(caption) > * > * {
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

body.app-bulma-pilot #services-card-container .accounts-clickable-row {
    cursor: pointer;
}

body.app-bulma-pilot #services-card-container .accounts-clickable-row:hover > td {
    background-color: rgba(72, 95, 199, 0.045) !important;
}

body.app-bulma-pilot #services-card-container .accounts-name-cell {
    min-width: 220px;
    max-width: 320px;
}

body.app-bulma-pilot #services-card-container .accounts-name-link {
    font-weight: 600;
    line-height: 1.25;
}

body.app-bulma-pilot #services-card-container .accounts-metric-cell {
    min-width: 135px;
    white-space: nowrap;
}

body.app-bulma-pilot #services-card-container .accounts-metric-inline {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: nowrap;
}

body.app-bulma-pilot #services-card-container .accounts-metric-value {
    font-weight: 600;
    color: #363636;
}

body.app-bulma-pilot #services-card-container .accounts-metric-empty {
    color: #7a7a7a;
    font-size: 13px;
}

body.app-bulma-pilot #services-card-container .accounts-col-actions {
    width: 96px;
    min-width: 96px;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline .button {
    border-width: 1px !important;
    box-shadow: none !important;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline .button.is-link.is-light {
    background-color: #eef2ff !important;
    border-color: #dfe5ff !important;
    color: #485fc7 !important;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline .button.is-link.is-light:hover {
    background-color: #e0e7ff !important;
    border-color: #ccd7ff !important;
    color: #3a51bb !important;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline .button.is-danger.is-light {
    background-color: #feecf0 !important;
    border-color: #f5b8c3 !important;
    color: #cc0f35 !important;
}

body.app-bulma-pilot #services-card-container .accounts-actions-inline .button.is-danger.is-light:hover {
    background-color: #fde0e7 !important;
    border-color: #ee9caf !important;
    color: #a30c2b !important;
}

/* =========================================================
   Keywords - Primary / Secondary role selector
========================================================= */

body.app-bulma-pilot .keyword-role-select {
    min-width: 9.5rem;
}

body.app-bulma-pilot .keyword-role-select select {
    width: 100%;
    min-width: 9.5rem;
    min-height: 30px !important;
    height: 30px !important;
    padding-top: 0.15rem !important;
    padding-bottom: 0.15rem !important;
    padding-left: 0.85rem !important;
    padding-right: 2.35rem !important;
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

body.app-bulma-pilot .keyword-role-select--primary select {
    background-color: #effaf5 !important;
    border-color: #48c78e !important;
    color: #257953 !important;
}

body.app-bulma-pilot .keyword-role-select--secondary select {
    background-color: #eef6ff !important;
    border-color: #3e8ed0 !important;
    color: #2160a5 !important;
}

body.app-bulma-pilot .keyword-role-select--primary::after {
    border-color: #257953 !important;
}

body.app-bulma-pilot .keyword-role-select--secondary::after {
    border-color: #2160a5 !important;
}

body.app-bulma-pilot .keyword-role-select select:focus {
    box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.18) !important;
}

/* --------------------------------------------------------------------------
   Create Account view
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #createAccountModuleRoot {
    padding-bottom: 1.25rem !important;
}

body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-jr-green,
body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-success {
    background-color: #48c78e !important;
    border-color: #48c78e !important;
    color: #ffffff !important;
}

body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-jr-green:hover,
body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-jr-green:focus,
body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-success:hover,
body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn-success:focus {
    background-color: #3dbb82 !important;
    border-color: #3dbb82 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------------------
   Create Account view - action button normalization
   -------------------------------------------------------------------------- */

body.app-bulma-pilot #createAccountModuleRoot .create-account-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot #createAccountModuleRoot .create-account-actions .btn,
body.app-bulma-pilot #createAccountModuleRoot .create-account-actions input[type="submit"].btn {
    min-width: 180px !important;
    height: 42px !important;
    padding: 0 1.25rem !important;
    font-size: 14px !important;
    line-height: 42px !important;
    text-align: center !important;
}

body.app-bulma-pilot #createAccountModuleRoot .create-account-actions a.btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
}

/* --------------------------------------------------------------------------
   SEO Health
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-module-root {
    width: 100%;
    min-width: 0;
}

body.app-bulma-pilot .seo-health-subtitle {
    margin-top: 0.35rem;
    font-size: 0.9rem;
    color: #6b7280;
    max-width: 820px;
}

body.app-bulma-pilot .seo-health-heading-select {
    min-width: 260px;
}

body.app-bulma-pilot .seo-health-run-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .seo-health-feedback {
    margin-bottom: 1rem;
}

body.app-bulma-pilot .seo-health-summary-grid {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

body.app-bulma-pilot .seo-health-summary-grid > .column {
    padding: 0.5rem;
}

body.app-bulma-pilot .seo-health-summary-card {
    height: 100%;
}

body.app-bulma-pilot .seo-health-summary-card .card-content {
    padding: 1rem !important;
}

body.app-bulma-pilot .seo-health-summary-label {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    color: #6b7280;
    margin-bottom: 0.35rem;
}

body.app-bulma-pilot .seo-health-summary-value {
    font-size: 1.65rem;
    line-height: 1.15;
    font-weight: 800;
    color: #363636;
    margin-bottom: 0.35rem;
}

body.app-bulma-pilot .seo-health-summary-meta {
    font-size: 0.82rem;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-primary-keyword-warning {
    margin-bottom: 1rem;
}

body.app-bulma-pilot .seo-health-pages-card .card-header {
    align-items: center;
}

body.app-bulma-pilot .seo-health-card-header-meta {
    font-size: 0.82rem;
    color: #6b7280;
    font-weight: 600;
    cursor: default;
}

body.app-bulma-pilot .seo-health-empty-state {
    padding: 1rem;
}

body.app-bulma-pilot .seo-health-table-shell {
    max-height: calc(100dvh - 360px);
    overflow: auto;
    margin-bottom: 0;
}

body.app-bulma-pilot .seo-health-pages-table {
    margin-bottom: 0;
}

body.app-bulma-pilot .seo-health-pages-table thead th {
    position: sticky;
    top: 0;
    z-index: 12;
    background: #ffffff !important;
    box-shadow: inset 0 -1px 0 #dbdbdb;
}

body.app-bulma-pilot .seo-health-pages-table td,
body.app-bulma-pilot .seo-health-pages-table th {
    font-size: 0.86rem;
    vertical-align: middle;
}

body.app-bulma-pilot .seo-health-page-row {
    cursor: pointer;
}

body.app-bulma-pilot .seo-health-page-row:hover td {
    background-color: rgba(72, 95, 199, 0.045) !important;
}

body.app-bulma-pilot .seo-health-url-cell {
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.app-bulma-pilot .seo-health-page-detail-row > td {
    background: #f8fafc !important;
    padding: 1rem !important;
}

body.app-bulma-pilot .seo-health-page-detail-shell {
    background: #ffffff;
    border: 1px solid #dbdbdb;
    border-radius: var(--app-radius-lg);
    padding: 1rem;
}

body.app-bulma-pilot .seo-health-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding-bottom: 0.85rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #e5e7eb;
}

body.app-bulma-pilot .seo-health-detail-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #363636;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-detail-meta {
    margin-top: 0.25rem;
    font-size: 0.8rem;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    margin-bottom: 1rem;
}

body.app-bulma-pilot .seo-health-detail-section,
body.app-bulma-pilot .seo-health-artifact-card {
    border: 1px solid #e5e7eb;
    border-radius: var(--app-radius-md);
    background: #ffffff;
    padding: 0.85rem;
}

body.app-bulma-pilot .seo-health-detail-section-title {
    font-size: 0.82rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.035em;
    color: #4a4a4a;
    margin-bottom: 0.65rem;
}

body.app-bulma-pilot .seo-health-check-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: flex-start;
    padding: 0.55rem 0;
    border-top: 1px solid #f1f5f9;
}

body.app-bulma-pilot .seo-health-check-item:first-of-type {
    border-top: none;
    padding-top: 0;
}

body.app-bulma-pilot .seo-health-check-copy {
    min-width: 0;
}

body.app-bulma-pilot .seo-health-check-title {
    font-size: 0.86rem;
    font-weight: 700;
    color: #363636;
}

body.app-bulma-pilot .seo-health-check-description,
body.app-bulma-pilot .seo-health-check-recommendation {
    font-size: 0.8rem;
    color: #6b7280;
    margin-top: 0.2rem;
}

body.app-bulma-pilot .seo-health-check-recommendation {
    color: #4a4a4a;
    font-weight: 600;
}

body.app-bulma-pilot .seo-health-artifact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

body.app-bulma-pilot .seo-health-detail-url {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.app-bulma-pilot .seo-health-pagespeed-summary {
    font-size: 0.84rem;
    color: #4a4a4a;
    display: grid;
    gap: 0.35rem;
}

@media (max-width: 1100px) {
    body.app-bulma-pilot .seo-health-detail-grid,
    body.app-bulma-pilot .seo-health-artifact-grid {
        grid-template-columns: 1fr;
    }
}

.seo-health-detail-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin: 0 0 1rem;
}

.seo-health-check-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: flex-start;
}

.seo-health-check-item--ignored {
    opacity: 0.72;
    background: var(--app-surface-soft, #f8f9fa);
}

.seo-health-check-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    min-width: 5.5rem;
}

.seo-health-check-action {
    white-space: nowrap;
}

.seo-health-controls-card .card-content {
    padding: 1rem;
}

.seo-health-controls-table td {
    vertical-align: middle;
}

.seo-health-controls-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

#seo-health-strategy-select {
    width:120px;
}

/* --------------------------------------------------------------------------
   SEO Health - Detail diagnostics UX
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-detail-header-main {
    min-width: 0;
    flex: 1 1 auto;
}

body.app-bulma-pilot .seo-health-detail-url--full {
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-check-evidence {
    margin-top: 0.45rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--app-radius-sm);
    background: #f8fafc;
}

body.app-bulma-pilot .seo-health-check-evidence summary {
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    color: #485fc7;
}

body.app-bulma-pilot .seo-health-evidence-grid {
    display: grid;
    gap: 0.35rem;
    margin-top: 0.5rem;
}

body.app-bulma-pilot .seo-health-evidence-row {
    display: grid;
    grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr);
    gap: 0.65rem;
    align-items: baseline;
    font-size: 0.78rem;
}

body.app-bulma-pilot .seo-health-evidence-key {
    font-weight: 700;
    color: #4b5563;
}

body.app-bulma-pilot .seo-health-evidence-value {
    color: #111827;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-evidence-hint {
    margin-top: 0.5rem;
    font-size: 0.78rem;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-artifact-card--wide {
    grid-column: 1 / -1;
}

body.app-bulma-pilot .seo-health-artifact-card-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.65rem;
}

body.app-bulma-pilot .seo-health-artifact-card-meta {
    font-size: 0.78rem;
    font-weight: 700;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-image-table-container {
    overflow-x: auto;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table {
    min-width: 1280px;
    table-layout: fixed;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th,
body.app-bulma-pilot .seo-health-image-diagnostics-table td {
    vertical-align: top;
    font-size: 0.82rem;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th:nth-child(1),
body.app-bulma-pilot .seo-health-image-diagnostics-table td:nth-child(1) {
    width: 100px;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th:nth-child(2),
body.app-bulma-pilot .seo-health-image-diagnostics-table td:nth-child(2) {
    width: 340px;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th:nth-child(3),
body.app-bulma-pilot .seo-health-image-diagnostics-table td:nth-child(3) {
    width: 220px;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th:nth-child(4),
body.app-bulma-pilot .seo-health-image-diagnostics-table td:nth-child(4) {
    width: 190px;
}

body.app-bulma-pilot .seo-health-image-diagnostics-table th:nth-child(8),
body.app-bulma-pilot .seo-health-image-diagnostics-table td:nth-child(8) {
    width: 260px;
}

body.app-bulma-pilot .seo-health-image-file-cell {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    min-width: 0;
}

body.app-bulma-pilot .seo-health-image-file-name {
    font-weight: 700;
    color: #485fc7 !important;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-image-url-full {
    margin-top: 0.25rem;
    max-width: 100%;
    font-size: 0.74rem;
    line-height: 1.35;
    color: #6b7280;
    word-break: break-all;
}

body.app-bulma-pilot .seo-health-copy-button {
    height: 24px;
    padding: 0.15rem 0.45rem !important;
    font-size: 0.72rem !important;
}

body.app-bulma-pilot .seo-health-alt-status {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1.2;
}

body.app-bulma-pilot .seo-health-alt-status--ok {
    background: #effaf5;
    color: #257953;
}

body.app-bulma-pilot .seo-health-alt-status--missing {
    background: #fffaeb;
    color: #946c00;
}

body.app-bulma-pilot .seo-health-alt-text {
    margin-top: 0.3rem;
    color: #374151;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-muted-small {
    margin-top: 0.25rem;
    font-size: 0.74rem;
    line-height: 1.35;
    color: #6b7280;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-image-reason {
    display: grid;
    gap: 0.25rem;
    color: #374151;
    line-height: 1.35;
}

body.app-bulma-pilot .seo-health-image-recommendation {
    margin-top: 0.25rem;
    font-weight: 700;
    color: #4a4a4a;
}

body.app-bulma-pilot .seo-health-heading-text {
    word-break: break-word;
}

/* --------------------------------------------------------------------------
   SEO Health - Reduced-noise audit detail
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-no-fixes {
    margin: 0.25rem 0 0 0;
    padding: 0.75rem 0.85rem;
    font-size: 0.84rem;
    line-height: 1.35;
}

body.app-bulma-pilot .seo-health-passed-audits-toggle-wrap {
    margin-top: 0.65rem;
    padding-top: 0.65rem;
    border-top: 1px solid #f1f5f9;
}

body.app-bulma-pilot .seo-health-passed-audits-toggle {
    font-size: 0.76rem !important;
}

body.app-bulma-pilot .seo-health-passed-audits {
    margin-top: 0.65rem;
    padding-top: 0.25rem;
}

body.app-bulma-pilot .seo-health-check-item--secondary {
    opacity: 0.74;
}

body.app-bulma-pilot .seo-health-check-item--secondary .seo-health-check-title {
    color: #4b5563;
}

body.app-bulma-pilot .seo-health-check-item--secondary .seo-health-check-description,
body.app-bulma-pilot .seo-health-check-item--secondary .seo-health-check-recommendation {
    color: #6b7280;
}

/* --------------------------------------------------------------------------
   SEO Health - URL detail focus mode
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-pages-card {
    min-height: calc(100dvh - 150px);
}

body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-table-shell {
    max-height: calc(100dvh - 170px);
}

body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-page-detail-row > td {
    padding: 0.75rem !important;
}

body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-page-detail-shell {
    max-width: none;
}

body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    body.app-bulma-pilot .seo-health-module-root.seo-health-has-open-detail .seo-health-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   SEO Health - Simplified URL detail header
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-detail-service {
    margin-top: 0.3rem;
    font-size: 0.86rem;
    line-height: 1.35;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-detail-service-label {
    font-weight: 700;
    color: #4b5563;
}

body.app-bulma-pilot .seo-health-detail-service a {
    font-weight: 700;
    color: #485fc7 !important;
}

body.app-bulma-pilot .seo-health-detail-service a:hover {
    color: #3a51bb !important;
    text-decoration: underline !important;
}

body.app-bulma-pilot .seo-health-detail-section-title--with-score {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    flex-wrap: wrap;
}

body.app-bulma-pilot .seo-health-section-score-tag {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
   SEO Health - Affected images evidence links
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-affected-images-list {
    display: grid;
    gap: 0.45rem;
}

body.app-bulma-pilot .seo-health-affected-image-item {
    padding: 0.45rem 0.55rem;
    border: 1px solid #e5e7eb;
    border-radius: var(--app-radius-sm);
    background: #ffffff;
}

body.app-bulma-pilot .seo-health-affected-image-link {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 800;
    color: #485fc7 !important;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-affected-image-link:hover {
    color: #3a51bb !important;
    text-decoration: underline !important;
}

body.app-bulma-pilot .seo-health-affected-image-meta {
    margin-top: 0.2rem;
    font-size: 0.74rem;
    line-height: 1.35;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-evidence-inline-object {
    margin-bottom: 0.25rem;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-evidence-code {
    display: inline-block;
    max-width: 100%;
    padding: 0.15rem 0.35rem;
    border-radius: var(--app-radius-sm);
    background: #eef2ff;
    color: #374151;
    white-space: normal;
    word-break: break-word;
}

body.app-bulma-pilot .seo-health-image-row--focused > td {
    background-color: #eef2ff !important;
    box-shadow: inset 3px 0 0 #485fc7;
}

/* --------------------------------------------------------------------------
   SEO Health - Overall Score gauge + evolution chart layout
   -------------------------------------------------------------------------- */

body.app-bulma-pilot .seo-health-overview-layout {
    align-items: flex-start;
}

body.app-bulma-pilot .seo-health-overview-card {
    width: 100%;
}

body.app-bulma-pilot .seo-health-overview-card > .card-content {
    padding: 0.85rem 1rem 1rem 1rem !important;
}

body.app-bulma-pilot .seo-health-overview-card .card-header {
    min-height: 43px;
}

body.app-bulma-pilot .seo-health-evolution-charts-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

body.app-bulma-pilot .seo-health-evolution-chart-block {
    width: 100%;
}

body.app-bulma-pilot .seo-health-score-arc {
    position: relative;
    width: min(330px, 100%);
    margin: -0.1rem auto 0.65rem auto;
}

body.app-bulma-pilot .seo-health-score-arc-svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

body.app-bulma-pilot .seo-health-score-arc-track,
body.app-bulma-pilot .seo-health-score-arc-value {
    fill: none;
    stroke-width: 28;
    stroke-linecap: butt;
}

body.app-bulma-pilot .seo-health-score-arc-track {
    stroke: #e5e7eb;
}

body.app-bulma-pilot .seo-health-score-arc-value {
    stroke: var(--seo-health-score-color, #b5b5b5);
    stroke-dasharray: var(--seo-health-score-value, 0) 100;
    transition: stroke 0.2s ease, stroke-dasharray 0.25s ease;
}

body.app-bulma-pilot .seo-health-score-needle {
    transform-box: view-box;
    transform-origin: 100px 100px;
    transform: rotate(calc((var(--seo-health-score-value, 0) * 1.8deg) - 180deg));
    transition: transform 0.25s ease;
}

body.app-bulma-pilot .seo-health-score-needle-line {
    display: none;
}

body.app-bulma-pilot .seo-health-score-needle-tip {
    fill: #f14668;
}

body.app-bulma-pilot .seo-health-score-arc-number,
body.app-bulma-pilot .seo-health-score-arc #seo-health-summary-score {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18%;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
    font-size: 1.75rem !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    color: #2f2f37 !important;
}

body.app-bulma-pilot .seo-health-overview-lines {
    width: min(270px, 100%);
    margin: 0 auto;
}

body.app-bulma-pilot .seo-health-overview-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid #eef0f4;
    font-size: 0.95rem;
}

body.app-bulma-pilot .seo-health-overview-line:last-child {
    border-bottom: 0;
}

body.app-bulma-pilot .seo-health-overview-line span {
    color: #6b7280;
    font-weight: 600;
}

body.app-bulma-pilot .seo-health-overview-line strong {
    color: #363636;
    font-size: 1rem;
    font-weight: 800;
}

body.app-bulma-pilot .seo-health-hidden-meta {
    display: none !important;
}

@media (max-width: 1023px) {
    body.app-bulma-pilot .seo-health-score-arc {
        width: min(260px, 100%);
    }
}

body.app-bulma-pilot .seo-health-overview-layout > .column.is-3-desktop {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.app-bulma-pilot .seo-health-left-stack-card {
    width: 100%;
}

body.app-bulma-pilot .seo-health-controls-card .card-header,
body.app-bulma-pilot .seo-health-pages-card .card-header {
    min-height: 43px;
}

body.app-bulma-pilot .seo-health-controls-card .app-chart-meta,
body.app-bulma-pilot .seo-health-pages-card .app-chart-meta {
    font-size: 0.78rem;
    font-weight: 700;
    color: #6b7280;
}

body.app-bulma-pilot .seo-health-controls-card .card-content {
    padding: 1rem !important;
}

body.app-bulma-pilot .seo-health-service-link {
    color: #485fc7 !important;
    font-weight: 700;
    text-decoration: none !important;
}

body.app-bulma-pilot .seo-health-service-link:hover,
body.app-bulma-pilot .seo-health-service-link:focus {
    color: #3a51bb !important;
    text-decoration: underline !important;
}