.cbia-shell {
    --abb-cyan: #22D3EE;
    --abb-blue: #018AAA;
    --abb-pink: #F43F5E;
    --abb-grad: linear-gradient(135deg, #22D3EE 0%, #018AAA 100%);
    --abb-border: rgba(34, 211, 238, 0.28);
    --abb-text: #0f172a;
    --abb-muted: #64748b;
    font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--abb-text);
    background: #f6f9fc;
    padding: 6px 0 24px;
}

.cbia-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0 18px;
}

.cbia-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cbia-logo {
    width: 36px;
    height: 36px;
    border-radius: 10px;
}

.cbia-title {
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.cbia-version {
    font-size: 12px;
    color: var(--abb-muted);
}

.cbia-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.cbia-sidebar {
    width: 220px;
    padding: 0 0 16px;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-height: calc(100vh - 120px);
    align-self: flex-start;
}

.cbia-sidebar-title {
    display: none;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--abb-muted);
    margin: 6px 0 10px 8px;
}

.cbia-sidebar-brand {
    margin: 6px 0 14px;
    padding: 0 6px;
    background: transparent;
    border: none;
    box-shadow: none;
}

.cbia-sidebar-brand img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    display: block;
}

.cbia-sidebar-logo {
    display: none;
}

.cbia-sidebar-nav {
    list-style: none;
    margin: 0;
    padding: 0 6px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: transparent;
    border: none;
    box-shadow: none;
    position: sticky;
    top: 58px;
    max-height: calc(100vh - 78px);
    overflow: auto;
    scrollbar-width: thin;
}

.cbia-nav-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 10px;
    color: var(--abb-blue);
    text-decoration: none;
    border: 1px solid transparent;
}

.cbia-nav-link .dashicons {
    color: var(--abb-blue);
}

.cbia-nav-text {
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cbia-nav-pro-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 18px;
    padding: 0 7px;
    border-radius: 999px;
    background: #f43f5e;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cbia-nav-link.is-active {
    background: rgba(34, 211, 238, 0.12);
    font-weight: 600;
}

.cbia-nav-item.is-current > .cbia-nav-link {
    box-shadow: inset 3px 0 0 var(--abb-cyan);
}

.cbia-nav-submenu {
    list-style: none;
    margin: 8px 0 2px 18px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(34, 211, 238, 0.18);
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}

.cbia-nav-submenu-link {
    display: block;
    padding: 6px 10px;
    border-radius: 9px;
    color: #25637a;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    background: rgba(34, 211, 238, 0.06);
    border: 1px solid transparent;
}

.cbia-nav-submenu-link:hover,
.cbia-nav-submenu-link:focus {
    color: var(--abb-blue);
    background: rgba(34, 211, 238, 0.14);
    border-color: rgba(34, 211, 238, 0.22);
    outline: none;
}

.cbia-main {
    flex: 1;
    min-width: 0;
    padding-left: 0;
}

.cbia-content-card {
    background: #fff;
    border: 1px solid rgba(34, 211, 238, 0.45);
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: 0 6px 18px rgba(2, 132, 199, 0.08);
}

.cbia-content-card h2 {
    color: var(--abb-text);
    font-size: 30px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    font-weight: 700;
    margin: 0 0 14px;
}

.cbia-content-card h3,
.cbia-content-card h2.cbia-ui-kicker,
.cbia-ui-kicker,
.cbia-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--abb-blue);
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    font-weight: 800;
    margin: 22px 0 12px;
}

.cbia-content-card h3::before,
.cbia-content-card h2.cbia-ui-kicker::before,
.cbia-ui-kicker::before,
.cbia-section-title::before {
    content: "";
    width: 4px;
    height: 20px;
    border-radius: 999px;
    background: var(--abb-grad);
}

.cbia-card {
    background: #fff;
    border: 1px solid var(--abb-border);
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.cbia-section-title {
    margin-top: 0;
}

.cbia-content-card select,
.cbia-content-card input[type="text"],
.cbia-content-card input[type="number"],
.cbia-content-card input[type="datetime-local"],
.cbia-content-card input[type="password"],
.cbia-content-card textarea {
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #fff;
    color: var(--abb-text);
    box-shadow: none;
}

.cbia-content-card select:focus,
.cbia-content-card input[type="text"]:focus,
.cbia-content-card input[type="number"]:focus,
.cbia-content-card input[type="datetime-local"]:focus,
.cbia-content-card input[type="password"]:focus,
.cbia-content-card textarea:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.cbia-content-card select {
    min-height: 36px;
    padding-right: 34px;
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #50575e 50%),
        linear-gradient(135deg, #50575e 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(50% - 3px),
        calc(100% - 14px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.cbia-content-card input[type="text"],
.cbia-content-card input[type="number"],
.cbia-content-card input[type="datetime-local"],
.cbia-content-card input[type="password"] {
    min-height: 36px;
    padding: 0 12px;
}

.cbia-content-card textarea {
    padding: 10px 12px;
}

#cbia-ai-key-input.cbia-secret-input {
    -webkit-text-security: disc;
    font-family: monospace;
}

.cbia-content-card .button {
    min-height: 38px;
    border-radius: 11px;
}

.cbia-content-card .button.button-primary {
    background: linear-gradient(135deg, #018AAA 0%, #0ea5c6 100%);
    border-color: #018AAA;
}

.cbia-content-card .button.button-primary:hover,
.cbia-content-card .button.button-primary:focus {
    background: linear-gradient(135deg, #01748e 0%, #0891b2 100%);
    border-color: #01748e;
}

.abb-provider-card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0 0 6px 0;
}

.abb-provider-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
}

.abb-field label {
    display: block;
    font-size: 12px;
    color: #50575e;
    margin-bottom: 6px;
    text-transform: none;
    letter-spacing: 0;
}

.abb-provider-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid var(--abb-border);
    background: #fff;
    font-weight: 600;
    color: var(--abb-blue);
    min-width: 160px;
}

.abb-provider-pill img {
    width: 18px;
    height: 18px;
}

.abb-select {
    min-width: 220px;
    max-width: 320px;
}

.abb-inline-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.cbia-prompt-inline-btn {
    height: 40px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
}

.cbia-section .form-table td {
    vertical-align: middle;
}

.cbia-section .form-table td .description {
    display: block;
    margin-top: 6px;
}

/* CAMBIO: modal real para editor de prompts de imagen (global, no inline en destacada). */
.cbia-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(15, 23, 42, 0.45);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    backdrop-filter: blur(3px);
}

.cbia-modal-inner {
    width: min(760px, 96vw);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.2);
    padding: 14px;
}

.cbia-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.cbia-modal-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
}

.cbia-modal-status {
    margin-top: 8px;
    font-size: 12px;
    color: #4b5563;
}

.cbia-modal-status.is-ok {
    color: #166534;
}

.cbia-modal-status.is-error {
    color: #b91c1c;
}

.cbia-composer-modal {
    z-index: 100200;
}

/* API-key modal must be above Composer modal (nested modal flow). */
#cbia-ai-key-modal {
    z-index: 100350;
}

/* Image slot modal must also be above Composer modal. */
#cbia-ai-image-modal {
    z-index: 100330;
}

.cbia-composer-modal-inner {
    width: min(1220px, 96vw);
    max-height: 92vh;
    overflow: auto;
}

.cbia-composer-modal .cbia-ai-composer {
    margin-top: 6px;
}

.cbia-ai-launch-btn {
    margin: 0 8px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle;
}
.cbia-ai-launch-btn-gb {
    margin-left: 0 !important;
    margin-right: 8px !important;
}

body.cbia-modal-open {
    overflow: hidden;
}

.cbia-ai-preview-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 10px;
}

.cbia-ai-featured-wrap {
    margin: 0;
    display: grid;
    gap: 10px;
}

/* Featured preview block hidden: cards already include featured slot. */
.cbia-ai-featured-label,
.cbia-ai-featured-preview {
    display: none;
}

.cbia-ai-featured-label {
    font-size: 12px;
    color: #6b7280;
    margin-bottom: 6px;
}

.cbia-ai-featured-preview {
    width: 100%;
    min-height: 180px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.cbia-ai-featured-preview img {
    display: block;
    width: 100%;
    height: auto;
}

.abb-select-wrap {
    position: relative;
    display: inline-block;
    min-width: 220px;
    max-width: 320px;
}

.abb-select-wrap select.abb-select {
    display: none;
}

.abb-select-trigger {
    width: 100%;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    padding: 7px 10px;
    border-radius: 10px;
    border: 1px solid #dcdcde;
    background: #fff;
    cursor: pointer;
    text-align: left;
    box-shadow: none;
}

.abb-select-label {
    font-weight: 600;
    color: #111827;
    font-size: 13px;
}

.abb-select-caret {
    margin-left: auto;
    color: #6b7280;
}

.abb-select-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    padding: 6px;
    display: none;
    z-index: 40;
    max-height: 280px;
    overflow: auto;
}

.abb-select-menu.is-open {
    display: block;
}

.abb-select-option {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 13px;
    color: #111827;
}

.abb-select-option.is-active,
.abb-select-option:hover {
    background: #eef6ff;
}

.abb-select-wrap.is-disabled .abb-select-trigger {
    opacity: 0.6;
    cursor: not-allowed;
}

.abb-api-row {
    margin-top: 14px;
}

.abb-api-row label {
    display: block;
    font-size: 12px;
    color: var(--abb-muted);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.abb-api-input {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

/* Evita que el footer de WP se meta visualmente dentro del layout del plugin */
body.toplevel_page_cbia #wpfooter {
    display: none;
}

body.toplevel_page_cbia #wpbody-content {
    padding-bottom: 0;
}

.abb-api-input .abb-input {
    width: 360px;
    max-width: 100%;
}

.abb-api-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 2px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.abb-api-status::before {
    content: '';
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 50%;
    background: currentColor;
}

.abb-api-status.is-configured {
    color: #067647;
    border-color: #86efac;
    background: #ecfdf3;
}

.abb-api-status.is-missing {
    color: #b42318;
    border-color: #fda29b;
    background: #fef3f2;
}
.abb-google-imagen-fields {
    margin-top: 10px;
}
.abb-google-imagen-fields .abb-textarea {
    width: 100%;
    max-width: 720px;
    min-height: 120px;
}

.abb-consent {
    display: block;
    margin-top: 8px;
}

.cbia-section .form-table {
    margin-top: 0;
}

.cbia-content-card .form-table th,
.cbia-section .form-table th {
    width: 220px;
    color: #50575e;
    font-size: 12px;
    font-weight: 600;
    vertical-align: top;
    padding-top: 12px;
}

.cbia-content-card .form-table td,
.cbia-section .form-table td {
    padding-top: 10px;
    padding-bottom: 10px;
}

.cbia-content-card .description,
.cbia-section .description {
    color: #50575e;
}

.cbia-advanced-tools {
    margin-top: 22px;
    max-width: 1120px;
}

.cbia-advanced-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
    margin-top: 14px;
    overflow: hidden;
}

.cbia-advanced-card summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.96) 0%, rgba(255, 255, 255, 1) 100%);
}

.cbia-advanced-card summary::-webkit-details-marker {
    display: none;
}

.cbia-advanced-card-title {
    font-weight: 700;
    color: var(--abb-text);
}

.cbia-advanced-card-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--abb-muted);
}

.cbia-advanced-card-body {
    padding: 16px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.cbia-advanced-form {
    margin-top: 12px;
}

.cbia-advanced-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 16px;
}

.cbia-advanced-grid p {
    margin: 0;
}

.cbia-advanced-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
    margin: 14px 0;
}

.cbia-advanced-checks label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.cbia-advanced-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.cbia-diagnostics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.cbia-diagnostics-item {
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    background: #f8fafc;
    padding: 12px;
    display: grid;
    gap: 8px;
}

.cbia-diagnostics-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--abb-muted);
}

.cbia-diagnostics-value {
    display: block;
    white-space: normal;
    word-break: break-word;
}

.cbia-usage-lite {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    max-width: 1100px;
}

.cbia-shell .button {
    border-radius: 10px;
    min-height: 36px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
    white-space: nowrap;
}

.cbia-shell a.button {
    min-height: 36px;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-sizing: border-box;
}

.cbia-shell .button-primary {
    background: var(--abb-grad);
    border: none;
    color: #fff;
}

.cbia-shell .button-primary:hover {
    filter: brightness(0.95);
    color: #fff;
}

.cbia-shell .button-secondary {
    border-color: var(--abb-cyan);
    color: var(--abb-blue);
    background: #fff;
}

.cbia-shell .abb-api-link {
    min-height: 36px;
    line-height: 1.2;
    padding-top: 0;
    padding-bottom: 0;
}

.cbia-prompt-btn.is-saved {
    background: #ecfdf5;
    border-color: #10b981;
    color: #065f46;
}

.cbia-blog-hub-intro,
.cbia-blog-ops-note,
.cbia-blog-secondary-note {
    max-width: 1120px;
    margin-bottom: 18px;
}

.cbia-blog-block {
    max-width: 1120px;
    margin-bottom: 18px;
}

.cbia-blog-block-inner {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 12px;
    padding: 12px 14px;
}

.cbia-blog-block + .cbia-blog-block {
    margin-top: 2px;
}

.cbia-blog-anchor {
    display: block;
    position: relative;
    top: -72px;
    visibility: hidden;
}

.cbia-blog-hub-intro {
    border-color: rgba(1, 138, 170, 0.24);
    background: linear-gradient(180deg, rgba(240, 249, 255, 0.9) 0%, rgba(255, 255, 255, 1) 100%);
}

.cbia-blog-secondary-note {
    background: #f8fafc;
    border-style: dashed;
}

.cbia-blog-choice-pills {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.cbia-blog-choice-pills label {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #dcdcde;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.cbia-blog-choice-pills input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.cbia-blog-choice-pills label.is-active {
    border-color: #2271b1;
    background: #eef6ff;
    color: #0f4f84;
}

.cbia-blog-switch-stack {
    display: grid;
    gap: 8px;
    max-width: 520px;
}

.cbia-blog-switch-stack .cbia-oldv2-switch-row {
    margin: 0;
}

.cbia-blog-ops-grid {
    max-width: 1120px;
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.cbia-blog-ops-col {
    min-width: 0;
}

.cbia-blog-ops-col + .cbia-blog-ops-col {
    border-left: 1px solid rgba(148, 163, 184, 0.22);
    padding-left: 18px;
}

.cbia-blog-ops-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.cbia-blog-ops-kicker {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #64748b;
}

.cbia-blog-results-compact {
    display: grid;
    gap: 10px;
    max-height: 368px;
    overflow: auto;
    padding-right: 6px;
    scrollbar-width: thin;
}

.cbia-blog-result-row {
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 12px;
    padding: 12px;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.cbia-blog-result-row-main {
    min-width: 0;
    display: grid;
    gap: 8px;
}

.cbia-blog-result-title {
    display: block;
    color: #0f172a;
    line-height: 1.35;
}

.cbia-blog-result-meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    color: #64748b;
    font-size: 12px;
    align-items: center;
}

.cbia-blog-result-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.cbia-blog-result-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.5;
    background: #eef2ff;
    color: #1d4ed8;
    text-transform: uppercase;
}

.cbia-blog-result-status.status-publish {
    background: #dcfce7;
    color: #166534;
}

.cbia-blog-result-status.status-future {
    background: #fef3c7;
    color: #92400e;
}

.cbia-blog-result-status.status-draft {
    background: #e2e8f0;
    color: #475569;
}

@media (max-width: 980px) {
    .cbia-sidebar-nav {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .cbia-blog-ops-grid {
        grid-template-columns: 1fr;
    }

    .cbia-blog-ops-col + .cbia-blog-ops-col {
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, 0.22);
        padding-left: 0;
        padding-top: 18px;
    }

    .cbia-blog-result-row {
        flex-direction: column;
    }

    .cbia-blog-result-actions {
        justify-content: flex-start;
    }
}

.cbia-preview-head-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cbia-preview-icon-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff;
    border-color: #94a3b8;
    color: #1e3a8a;
}

.cbia-preview-icon-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    display: block;
    margin: 0;
    color: inherit;
}

.cbia-preview-icon-danger {
    border-color: #f5c2c7;
    color: #b42318;
}

.cbia-preview-card {
    border: 1px solid #dcdfe4;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    max-width: 1120px;
}

.cbia-preview-card[data-open="false"] {
    display: none;
}

.cbia-preview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #eceff3;
    gap: 12px;
    flex-wrap: wrap;
}

.cbia-preview-title-wrap {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.cbia-preview-title-inline {
    display: flex;
    align-items: center;
}

.cbia-preview-title {
    margin: 0;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.cbia-wordcount {
    font-size: 12px;
    color: #5f6b7a;
}

.cbia-preview-mode {
    font-size: 11px;
    padding: 2px 8px;
    border: 1px solid #dcdcde;
    border-radius: 999px;
    color: #0c4a6e;
    background: #f0f9ff;
    display: none;
}

.cbia-preview-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 10px 14px;
    border-bottom: 1px solid #eceff3;
}

.cbia-preview-body {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 16px;
    padding: 14px;
}

.cbia-preview-media {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cbia-featured-image {
    min-height: 180px;
    border: 1px dashed #c7d0db;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: #fafbfc;
}

.cbia-featured-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.cbia-image-placeholder {
    font-size: 12px;
    color: #6b7280;
    text-align: center;
}

.cbia-preview-main {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cbia-status {
    font-size: 12px;
    color: #50575e;
}

.cbia-preview-content h2,
.cbia-preview-content h3 {
    margin: 0 0 10px;
}

.cbia-preview-content p {
    margin: 0 0 12px;
    line-height: 1.6;
}

.cbia-preview-runtime {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cbia-preview-phase {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cbia-seo-card {
    border-top: 1px solid #eceff3;
    padding: 12px 14px;
    background: #fafbfc;
}

.cbia-seo-grid {
    display: grid;
    gap: 6px;
    margin-top: 8px;
}

.cbia-seo-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 10px;
    align-items: start;
}

.cbia-seo-label {
    font-weight: 600;
    color: #0f172a;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.cbia-seo-value {
    color: #334155;
    font-size: 13px;
    line-height: 1.5;
    min-height: 18px;
    word-break: break-word;
}

.cbia-preview-actions {
    display: flex;
    gap: 8px;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #eceff3;
    flex-wrap: wrap;
}

.cbia-preview-actions-buttons {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.cbia-preview-schedule {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

#cbia-preview-panel.cbia-preview-expanded {
    position: fixed;
    top: 24px;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 100000;
    max-width: none !important;
    width: auto !important;
    overflow: auto;
    box-shadow: 0 20px 60px rgba(2, 6, 23, 0.22);
}

body.cbia-preview-lock {
    overflow: hidden;
}

.cbia-preview-img-ph {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0;
    padding: 10px 12px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

@media (max-width: 980px) {
    .cbia-preview-body {
        grid-template-columns: 1fr;
    }
    .cbia-preview-actions {
        align-items: flex-start;
    }
}

.cbia-add-ai {
    margin-left: 6px;
    background: var(--abb-grad);
    color: #fff;
    border: none;
}

.cbia-add-ai:hover {
    filter: brightness(0.95);
    color: #fff;
}
.cbia-badge-pro {
    background: var(--abb-pink);
    color: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.08em;
}
.cbia-badge-pro-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    text-decoration: none;
    border: 1px solid transparent;
    line-height: 1;
}
.cbia-badge-pro-link:hover,
.cbia-badge-pro-link:focus {
    color: #fff;
    text-decoration: none;
    filter: brightness(0.95);
    outline: none;
}
.cbia-badge-base {
    background: #0ea5b7;
    color: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.08em;
}

.abb-provider-select {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
}

.abb-provider-select img {
    width: 18px;
    height: 18px;
}

.abb-provider-trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 36px;
    padding: 7px 10px;
    border-radius: 10px;
    border: 1px solid #dcdcde;
    background: #fff;
    min-width: 160px;
    cursor: pointer;
    box-shadow: none;
}

.abb-provider-label {
    font-weight: 600;
    color: #111827;
    font-size: 13px;
}

.abb-provider-caret {
    margin-left: auto;
    color: #6b7280;
}

.abb-provider-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 220px;
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    padding: 6px;
    display: none;
    z-index: 50;
}

.abb-provider-menu.is-open {
    display: block;
}

.abb-provider-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 10px;
    border-radius: 10px;
    border: none;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font-size: 13px;
    color: #111827;
}

.abb-provider-option img {
    width: 18px;
    height: 18px;
}

.abb-provider-option.is-active,
.abb-provider-option:hover {
    background: #eef6ff;
}
/* PRO layout override to match FREE */
.cbia-layout { gap: 0 !important; }
.cbia-sidebar { width: 240px !important; padding: 16px 8px 16px 0 !important; background: transparent !important; border-right: none !important; border-radius: 0 !important; min-height: calc(100vh - 120px) !important; align-self: stretch !important; }
.cbia-sidebar-logo { display: flex !important; align-items: center !important; justify-content: flex-start !important; padding: 4px 0 16px 0 !important; }
.cbia-sidebar-logo img { width: 84px !important; height: auto !important; }
.cbia-main { flex: 1 !important; min-width: 0 !important; padding-left: 18px !important; }
/* Ensure content card matches FREE */
.cbia-content-card { background: #fff !important; border: 1px solid rgba(34, 211, 238, 0.38) !important; border-radius: 12px !important; padding: 18px 20px !important; box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important; }
/* PRO override: match FREE shell */
.cbia-shell { background: transparent !important; padding: 0 !important; }
.cbia-layout { gap: 0 !important; }
.cbia-sidebar { width: 240px !important; padding: 16px 8px 16px 0 !important; }
.cbia-sidebar-logo { display: flex !important; }
.cbia-main { padding-left: 18px !important; }
.abb-provider-disabled-note {
    font-size: 12px;
    color: var(--abb-muted);
    margin-top: 6px;
}

.cbia-ai-composer .cbia-ai-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cbia-ai-composer {
    border: 1px solid rgba(34, 211, 238, 0.28);
    border-radius: 10px;
    background: #fff;
    padding: 12px;
}

.cbia-ai-controls {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px 14px;
    margin-bottom: 12px;
    align-items: start;
}

.cbia-ai-controls p {
    margin: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cbia-ai-controls select,
.cbia-ai-controls input[type="number"] {
    width: 100%;
}

.cbia-ai-col-length,
.cbia-ai-col-images,
.cbia-ai-col-language,
.cbia-ai-col-style,
.cbia-ai-col-temperature {
    grid-column: span 2;
}

.cbia-ai-col-goal {
    grid-column: span 4;
}

.cbia-ai-col-faq,
.cbia-ai-col-examples {
    grid-column: span 2;
    height: 100%;
}

.cbia-ai-control-goal > label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.cbia-ai-control-goal > label .dashicons {
    color: #0ea5c6;
}

.cbia-ai-control-help {
    display: block;
    margin-top: 6px;
}

.cbia-ai-control-toggle {
    border: 1px solid #dcdcde;
    border-radius: 10px;
    padding: 10px 12px;
    background: #f8fbff;
    display: flex;
    align-items: stretch;
    min-height: 110px;
}

.cbia-ai-toggle-label {
    display: flex;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    gap: 8px;
    cursor: pointer;
}

.cbia-ai-toggle-label input[type="checkbox"] {
    margin-top: 2px;
}

.cbia-ai-toggle-label .dashicons {
    margin-top: 2px;
    color: #0ea5c6;
    width: 16px;
    height: 16px;
    font-size: 16px;
}

.cbia-ai-toggle-copy strong {
    display: block;
    color: #0f172a;
    line-height: 1.3;
}

.cbia-ai-toggle-copy small {
    display: block;
    margin-top: 2px;
    color: #64748b;
    line-height: 1.35;
}

.cbia-ai-col-temperature .description,
.cbia-ai-col-goal .description {
    min-height: 34px;
}

#cbia-ai-summary {
    margin: 8px 0 12px;
}

.cbia-ai-composer #cbia-ai-status {
    min-height: 20px;
}

.cbia-ai-composer .cbia-ai-actions {
    row-gap: 8px;
}

.cbia-ai-composer #cbia-ai-status,
.cbia-ai-composer #cbia-ai-word-count {
    flex: 0 0 100%;
    margin-left: 0 !important;
}

.cbia-ai-preview {
    border: 1px solid #dcdcde;
    border-radius: 8px;
    background: #fff;
    padding: 12px;
    min-height: 140px;
    max-height: 420px;
    overflow: auto;
}

@media (max-width: 960px) {
    .cbia-ai-preview-layout {
        grid-template-columns: 1fr;
    }

    .cbia-ai-controls {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .cbia-ai-col-goal {
        grid-column: span 6;
    }

    .cbia-ai-col-length,
    .cbia-ai-col-images,
    .cbia-ai-col-language,
    .cbia-ai-col-style,
    .cbia-ai-col-temperature,
    .cbia-ai-col-faq,
    .cbia-ai-col-examples {
        grid-column: span 3;
    }

    .cbia-ai-control-toggle {
        min-height: 96px;
    }
}

@media (max-width: 640px) {
    .cbia-ai-controls {
        grid-template-columns: 1fr;
    }

    .cbia-ai-col-goal,
    .cbia-ai-col-length,
    .cbia-ai-col-images,
    .cbia-ai-col-language,
    .cbia-ai-col-style,
    .cbia-ai-col-temperature,
    .cbia-ai-col-faq,
    .cbia-ai-col-examples {
        grid-column: 1 / -1;
    }
}

.cbia-ai-image-slot {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    margin: 12px 0;
    border: 1px dashed #c3c4c7;
    border-radius: 8px;
    background: #f6f7f7;
    color: #50575e;
    font-size: 13px;
}

.cbia-ai-image-slot .dashicons {
    color: #2271b1;
}

.cbia-ai-chip {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 999px;
    border: 1px solid #dcdcde;
    background: #f6f7f7;
    font-size: 12px;
    line-height: 1.4;
}

.cbia-ai-chip.is-ok {
    background: #ecfdf3;
    border-color: #16a34a;
    color: #166534;
    font-weight: 600;
}

.cbia-ai-chip.is-bad {
    background: #fef2f2;
    border-color: #dc2626;
    color: #991b1b;
    font-weight: 600;
}

.cbia-ai-image-manager {
    margin-top: 12px;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #fff;
    padding: 10px;
}

.cbia-ai-image-manager-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.cbia-ai-image-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.cbia-ai-image-card {
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #f8fafc;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.cbia-ai-image-thumb {
    aspect-ratio: 16 / 10;
    border-bottom: 1px solid #e5e7eb;
    background: #eef2f7;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-size: 12px;
    text-align: center;
    padding: 8px;
}

.cbia-ai-image-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cbia-ai-image-meta {
    padding: 8px 10px 10px;
    display: grid;
    gap: 4px;
}

.cbia-ai-image-meta strong {
    font-size: 12px;
    line-height: 1.3;
}

.cbia-ai-image-meta .description {
    display: block;
    font-size: 11px;
    line-height: 1.35;
    color: #50575e;
    min-height: 28px;
    max-height: 38px;
    overflow: hidden;
}

.cbia-ai-image-card .cbia-ai-image-change {
    opacity: 1;
    pointer-events: auto;
    justify-self: start;
}

.cbia-ai-image-manager-actions {
    margin-top: 10px;
    display: grid;
    gap: 6px;
}

.cbia-ai-image-manager-actions .description {
    font-size: 11px;
    line-height: 1.35;
    color: #50575e;
}

@media (max-width: 860px) {
    .cbia-ai-image-manager-head {
        display: block;
    }
}

.cbia-usage-page {
    display: grid;
    gap: 16px;
}

.cbia-usage-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.cbia-usage-header h2 {
    margin: 0 0 4px;
    color: #153b73;
}

.cbia-usage-header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cbia-usage-pro-cta-card {
    margin: 0 0 14px 0;
    padding: 16px 18px;
    border: 1px solid #c7d7f7;
    border-radius: 12px;
    background: linear-gradient(135deg, #f6f9ff 0%, #eef4ff 100%);
}

.cbia-usage-pro-cta-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.cbia-usage-pro-cta-head h3 {
    margin: 0;
    color: #1d3f7f;
    font-size: 18px;
}

.cbia-usage-pro-cta-card p {
    margin: 0 0 12px 0;
    color: #274c83;
}

.cbia-usage-pro-cta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.cbia-usage-pro-pill {
    border: 1px solid #d7e4fb;
    background: #fff;
    color: #2a4f84;
    border-radius: 10px;
    padding: 10px 12px;
    font-weight: 600;
    text-align: center;
}

.cbia-usage-pro-cta-actions {
    display: flex;
    justify-content: flex-start;
}

.cbia-usage-current-context {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.cbia-usage-context-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
    background: #f9fbfe;
    color: #4f6480;
}

.cbia-usage-context-pill img {
    width: 18px;
    height: 18px;
}

.cbia-usage-context-pill code {
    font-size: 12px;
}

.cbia-usage-dashboard {
    display: grid;
    gap: 18px;
}

.cbia-usage-loading-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f9ff 100%);
    color: #48627f;
}

.cbia-usage-loading-banner[hidden] {
    display: none !important;
}

.cbia-usage-loading-banner .spinner {
    float: none;
    margin: 0;
    flex: 0 0 auto;
}

.cbia-usage-loading-copy {
    display: grid;
    gap: 2px;
}

.cbia-usage-loading-copy strong {
    color: #153b73;
    font-size: 13px;
}

.cbia-usage-loading-copy span {
    font-size: 12px;
    line-height: 1.45;
}

@keyframes cbiaUsageShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.cbia-usage-dashboard.is-loading .cbia-usage-kpi-value,
.cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-total,
.cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-blog {
    position: relative;
    color: transparent !important;
    min-width: 110px;
}

.cbia-usage-dashboard.is-loading .cbia-usage-kpi-value::after,
.cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-total::after,
.cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-blog::after {
    content: "";
    display: block;
    width: 112px;
    max-width: 100%;
    height: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #edf3fa 25%, #f8fbff 50%, #edf3fa 75%);
    background-size: 200% 100%;
    animation: cbiaUsageShimmer 1.2s ease-in-out infinite;
}

.cbia-usage-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 12px;
}

.cbia-usage-kpi {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid #d8e2ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.cbia-usage-kpi-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
}

.cbia-usage-kpi-icon .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

.cbia-usage-kpi-calls .cbia-usage-kpi-icon {
    background: #dff1ff;
    color: #1173c6;
}

.cbia-usage-kpi-posts .cbia-usage-kpi-icon {
    background: #e3f8ea;
    color: #179b57;
}

.cbia-usage-kpi-users .cbia-usage-kpi-icon {
    background: #fff1c8;
    color: #b88203;
}

.cbia-usage-kpi-avg .cbia-usage-kpi-icon {
    background: #efe3ff;
    color: #8c46ff;
}

.cbia-usage-kpi-cost-total .cbia-usage-kpi-icon {
    background: #dff7f2;
    color: #118a70;
}

.cbia-usage-kpi-cost-blog .cbia-usage-kpi-icon {
    background: #fef0dd;
    color: #c76d11;
}

.cbia-usage-kpi-copy {
    display: grid;
    gap: 4px;
}

.cbia-usage-kpi-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7186a0;
}

.cbia-usage-kpi-copy strong {
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1;
    color: #0f2f5f;
}

.cbia-usage-chart-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 16px;
    align-items: stretch;
}

.cbia-usage-chart-grid > .cbia-usage-panel.-activity { grid-column: 1 / 2; }
.cbia-usage-chart-grid > .cbia-usage-panel.-type { grid-column: 2 / 3; }
.cbia-usage-chart-grid > .cbia-usage-panel.-image-quality { grid-column: 1 / 2; }
.cbia-usage-chart-grid > .cbia-usage-panel.-image-role { grid-column: 2 / 3; }
.cbia-usage-chart-grid > .cbia-usage-panel.-monthly { grid-column: 1 / -1; }

@media (max-width: 1560px) {
    .cbia-usage-chart-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cbia-usage-chart-grid > .cbia-usage-panel.-monthly {
        grid-column: 1 / -1;
    }
}

@media (max-width: 980px) {
    .cbia-usage-chart-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cbia-usage-chart-grid > .cbia-usage-panel.-activity,
    .cbia-usage-chart-grid > .cbia-usage-panel.-type,
    .cbia-usage-chart-grid > .cbia-usage-panel.-image-quality,
    .cbia-usage-chart-grid > .cbia-usage-panel.-image-role,
    .cbia-usage-chart-grid > .cbia-usage-panel.-monthly {
        grid-column: 1 / -1;
    }
}

.cbia-usage-chart-note {
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
    color: #627892;
    font-size: 12px;
    line-height: 1.55;
}

.cbia-usage-panel {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cbia-usage-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid #e7edf5;
    background: linear-gradient(180deg, #fbfdff 0%, #f7fbff 100%);
}

.cbia-usage-panel-head h3 {
    margin: 0;
    font-size: 14px;
    color: #153b73;
}

.cbia-usage-panel-title {
    display: grid;
    gap: 4px;
}

.cbia-usage-panel-title p {
    margin: 0;
    color: #627892;
    font-size: 12px;
    line-height: 1.45;
}

.cbia-usage-legend {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.cbia-usage-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #627892;
    font-weight: 600;
}

.cbia-usage-legend-item i {
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}

.cbia-usage-legend-item.is-text i { background: #5B8DEF; }
.cbia-usage-legend-item.is-image i { background: #7BC67B; }
.cbia-usage-legend-item.is-seo i { background: #FFB547; }
.cbia-usage-legend-item.is-quality-low i { background: #25a56a; }
.cbia-usage-legend-item.is-quality-medium i { background: #2388c9; }
.cbia-usage-legend-item.is-quality-high i { background: #e78424; }
.cbia-usage-legend-item.is-quality-auto i { background: #8794a8; }
.cbia-usage-legend-item.is-featured i { background: #d77b17; }
.cbia-usage-legend-item.is-internal i { background: #18a0ae; }

.cbia-usage-chart-wrap {
    position: relative;
    padding: 12px 14px;
    min-height: 292px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}
.cbia-usage-panel.-monthly .cbia-usage-chart-wrap {
    min-height: 336px;
}

.cbia-usage-chart-skeleton {
    display: none;
    position: absolute;
    inset: 16px 16px 12px;
    align-items: end;
    gap: 12px;
    padding: 20px 8px 12px;
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(239, 245, 252, 0.25) 0%, rgba(255, 255, 255, 0) 100%),
        repeating-linear-gradient(
            to top,
            transparent 0,
            transparent 39px,
            rgba(219, 228, 240, 0.6) 39px,
            rgba(219, 228, 240, 0.6) 40px
        );
}

.cbia-usage-chart-skeleton span,
.cbia-usage-table-skeleton span,
.cbia-usage-detail-skeleton span {
    background: linear-gradient(90deg, #edf3fa 25%, #f8fbff 50%, #edf3fa 75%);
    background-size: 200% 100%;
    animation: cbiaUsageShimmer 1.2s ease-in-out infinite;
}

.cbia-usage-chart-skeleton span {
    flex: 1 1 0;
    border-radius: 10px 10px 4px 4px;
    min-width: 0;
}

.cbia-usage-chart-skeleton span.is-low { height: 28%; }
.cbia-usage-chart-skeleton span.is-mid { height: 52%; }
.cbia-usage-chart-skeleton span.is-high { height: 78%; }

.cbia-usage-chart-wrap canvas {
    display: block;
    width: 100%;
    height: 260px;
}
.cbia-usage-panel.-monthly .cbia-usage-chart-wrap canvas {
    height: 300px;
}

.cbia-usage-dashboard.is-loading .cbia-usage-chart-skeleton {
    display: flex;
}

.cbia-usage-dashboard.is-loading .cbia-usage-chart-wrap canvas,
.cbia-usage-dashboard.is-loading .cbia-usage-empty {
    opacity: 0;
    pointer-events: none;
}

.cbia-usage-chart-wrap canvas[hidden],
.cbia-usage-empty[hidden] {
    display: none !important;
}

.cbia-usage-detail-note {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f5f8fc;
    color: #627892;
    font-size: 12px;
    line-height: 1.45;
}

.cbia-usage-empty {
    position: absolute;
    inset: 14px 16px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #7f92aa;
    border: 1px dashed #d7e0eb;
    border-radius: 12px;
    background: #fbfdff;
}

.cbia-usage-filters {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    padding: 12px 14px;
    border: 1px solid #dbe4f0;
    border-radius: 14px;
    background: #fff;
}

.cbia-usage-filter-inline {
    display: inline-flex;
}

.cbia-usage-filters .regular-text {
    min-width: 240px;
    border-radius: 10px;
}

.cbia-usage-filter-summary {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eef6ff;
    color: #315f97;
    font-size: 12px;
    font-weight: 600;
}

.cbia-usage-clear-filters:disabled {
    opacity: 0.55;
    cursor: default;
}

.cbia-usage-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
    gap: 16px;
    align-items: start;
}

.cbia-usage-table-wrap {
    position: relative;
    max-height: 560px;
    overflow: auto;
}

.cbia-usage-table-skeleton,
.cbia-usage-detail-skeleton {
    display: none;
}

.cbia-usage-table-skeleton {
    position: absolute;
    inset: 0;
    z-index: 2;
    padding: 12px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(251, 253, 255, 0.96) 100%);
    display: none;
    gap: 10px;
}

.cbia-usage-table-skeleton span {
    display: block;
    width: 100%;
    height: 42px;
    border-radius: 10px;
}

.cbia-usage-detail-skeleton {
    padding: 16px;
    gap: 10px;
}

.cbia-usage-detail-skeleton span {
    display: block;
    width: 100%;
    height: 16px;
    border-radius: 999px;
}

.cbia-usage-detail-skeleton span.is-title {
    height: 24px;
    width: 62%;
}

.cbia-usage-detail-skeleton span.is-wide {
    width: 82%;
}

.cbia-usage-dashboard.is-loading .cbia-usage-table-skeleton,
.cbia-usage-dashboard.is-loading .cbia-usage-detail-skeleton {
    display: grid;
}

.cbia-usage-dashboard.is-loading .cbia-usage-events-table,
.cbia-usage-dashboard.is-loading .cbia-usage-detail-empty,
.cbia-usage-dashboard.is-loading .cbia-usage-detail-card {
    opacity: 0;
    pointer-events: none;
}

.cbia-usage-events-table {
    border: none;
}

.cbia-usage-events-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    color: #7387a1;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.06em;
    background: #f8fbff;
    box-shadow: inset 0 -1px 0 #e3ebf5;
}

.cbia-usage-events-table tbody tr {
    cursor: pointer;
    transition: background .15s ease, box-shadow .15s ease;
}

.cbia-usage-events-table tbody tr:nth-child(even) {
    background: #fbfdff;
}

.cbia-usage-events-table tbody tr.is-active {
    background: #eef5ff;
    box-shadow: inset 3px 0 0 #5B8DEF;
}

.cbia-usage-events-table tbody tr:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: -2px;
}

.cbia-usage-events-table td,
.cbia-usage-events-table th {
    padding: 10px 12px;
    vertical-align: top;
}

.cbia-usage-table-placeholder {
    text-align: center;
    color: #7f92aa;
    padding: 18px 12px;
}

.cbia-usage-source {
    display: grid;
    gap: 4px;
}

@media (max-width: 960px) {
    .cbia-usage-table-wrap {
        max-height: 420px;
    }
}

.cbia-usage-source-title {
    font-weight: 600;
    color: #173b70;
}

.cbia-usage-source-meta {
    font-size: 12px;
    color: #7b8ea6;
}

.cbia-usage-date {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f3f7fc;
    color: #4f6480;
    font-size: 12px;
    font-weight: 600;
}

.cbia-usage-metric {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef6ff;
    color: #2058b5;
    font-weight: 700;
}

.cbia-usage-cost {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #e8faf0;
    color: #18794e;
    font-weight: 700;
}

.cbia-usage-model-code {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 8px;
    background: #f5f7fb;
    color: #44566f;
    font-size: 12px;
}

.cbia-usage-type-badge,
.cbia-usage-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
}

.cbia-usage-type-badge.type-text {
    background: #e8f0ff;
    color: #2058b5;
}

.cbia-usage-type-badge.type-image {
    background: #e7fbef;
    color: #1c8f4d;
}

.cbia-usage-type-badge.type-seo {
    background: #fff3d8;
    color: #b77d07;
}

.cbia-usage-image-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.cbia-usage-image-meta span {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #54657a;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
}

.cbia-usage-image-meta .quality-low { background: #e7f8ef; color: #16764a; }
.cbia-usage-image-meta .quality-medium { background: #e6f4fb; color: #176b99; }
.cbia-usage-image-meta .quality-high { background: #fff0df; color: #a8560d; }
.cbia-usage-image-meta .quality-auto,
.cbia-usage-image-meta .quality-unknown { background: #edf1f5; color: #5f6d7e; }

@media (prefers-reduced-motion: reduce) {
    .cbia-usage-chart-skeleton span,
    .cbia-usage-table-skeleton span,
    .cbia-usage-detail-skeleton span,
    .cbia-usage-dashboard.is-loading .cbia-usage-kpi-value::after,
    .cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-total::after,
    .cbia-usage-dashboard.is-loading #cbia-usage-kpi-cost-blog::after {
        animation: none;
    }
}

.cbia-usage-status-badge.status-ok {
    background: #e7fbef;
    color: #1c8f4d;
}

.cbia-usage-status-badge.status-error {
    background: #ffe8e8;
    color: #bf2d2d;
}

.cbia-usage-detail-panel {
    padding: 16px;
}

.cbia-usage-detail-empty {
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #7387a1;
    min-height: 320px;
    border: 1px dashed #d7e0eb;
    border-radius: 12px;
    background: #fbfdff;
}

.cbia-usage-detail-card {
    display: grid;
    gap: 16px;
}

.cbia-usage-detail-card h3 {
    margin: 0;
    font-size: 18px;
    color: #163b73;
}

.cbia-usage-detail-subtitle {
    font-size: 12px;
    color: #70849d;
    line-height: 1.45;
}

.cbia-usage-detail-separator {
    height: 1px;
    background: #e5edf6;
}

.cbia-usage-detail-meta {
    display: grid;
    gap: 10px;
}

.cbia-usage-detail-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 10px;
    align-items: start;
}

.cbia-usage-detail-label {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7c90a8;
    font-weight: 600;
}

.cbia-usage-detail-value {
    color: #173b70;
    word-break: break-word;
}

.cbia-usage-detail-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 10px;
}

.cbia-usage-detail-stat {
    padding: 12px;
    border: 1px solid #dde6f1;
    border-radius: 12px;
    background: #f8fbff;
}

.cbia-usage-detail-stat span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7c90a8;
    margin-bottom: 6px;
}

.cbia-usage-detail-stat strong {
    font-size: 20px;
    color: #123565;
}

.cbia-usage-detail-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 1100px) {
    .cbia-usage-kpis,
    .cbia-usage-main-grid,
    .cbia-usage-detail-stats {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 780px) {
    .cbia-usage-kpis,
    .cbia-usage-main-grid,
    .cbia-usage-detail-stats {
        grid-template-columns: 1fr;
    }

    .cbia-usage-detail-row {
        grid-template-columns: 1fr;
    }

    .cbia-usage-filters .regular-text {
        min-width: 0;
        width: 100%;
    }
}

.cbia-oldv2-shell{max-width:1280px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
@media (max-width: 1200px){.cbia-oldv2-shell{grid-template-columns:1fr}}
.cbia-oldv2-main{min-width:0}
.cbia-oldv2-side{display:grid;gap:8px;position:sticky;top:46px;max-height:calc(100vh - 56px);overflow:auto;padding-right:2px}
@media (max-width: 1200px){.cbia-oldv2-side{position:static}}
.cbia-oldv2-card{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:10px 12px;margin:0 0 12px}
.cbia-oldv2-side .cbia-oldv2-card{margin-bottom:0}
.cbia-oldv2-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;max-height:620px;overflow:auto}
.cbia-oldv2-post{display:block;border:1px solid #dcdcde;border-radius:10px;background:#f8fafc;overflow:hidden;cursor:pointer}
.cbia-oldv2-post.is-selected{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1 inset;background:#eef6ff}
.cbia-oldv2-post.is-running{border-color:#d97706;box-shadow:0 0 0 2px rgba(217,119,6,.25) inset;background:#fff7ed}
.cbia-oldv2-post.is-processed{border-color:#16a34a;box-shadow:0 0 0 1px rgba(22,163,74,.45) inset}
.cbia-oldv2-thumb{aspect-ratio:16/9;background:#eef2f7;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:12px}
.cbia-oldv2-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cbia-oldv2-meta{padding:8px 10px}
.cbia-oldv2-title{font-weight:600;font-size:12px;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cbia-oldv2-badges{display:flex;gap:6px;flex-wrap:wrap}
.cbia-oldv2-badge{font-size:11px;padding:2px 6px;border:1px solid #dcdcde;border-radius:999px;background:#fff;color:#50575e}
.cbia-oldv2-badge.-elementor{background:#fff7ed;border-color:#fdba74;color:#9a3412;font-weight:600}
.cbia-oldv2-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cbia-oldv2-toolbar .button{height:34px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.cbia-oldv2-filterbar{display:grid;gap:12px;margin-bottom:14px}
.cbia-oldv2-filter-panel{border:1px solid #dcdcde;border-radius:10px;background:#fff;padding:12px}
.cbia-oldv2-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;align-items:center}
.cbia-oldv2-filter-row.-execution{grid-template-columns:minmax(120px,140px) minmax(170px,220px) 1fr;justify-content:start;align-items:end}
.cbia-oldv2-filter-row > *{min-width:0;max-width:100%}
.cbia-oldv2-filter-row #cbia-oldposts-search{grid-column:span 2}
.cbia-oldv2-filter-row .cbia-oldv2-sort-wrap{width:100%}
.cbia-oldv2-filter-row .cbia-oldv2-sort-wrap .cbia-oldv2-select{min-width:0;flex:1 1 auto}
.cbia-oldv2-filter-row .button{height:36px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}
.cbia-oldv2-scores{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 5px}
.cbia-oldv2-score{display:inline-flex;align-items:center;gap:4px;min-height:22px;padding:2px 7px;border:1px solid #dcdcde;border-radius:999px;background:#fff;color:#3c434a;font-size:11px;line-height:1.2}
.cbia-oldv2-score-dot{width:9px;height:9px;border-radius:50%;background:#a7aaad;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.cbia-oldv2-score.is-good .cbia-oldv2-score-dot{background:#7ad03a}
.cbia-oldv2-score.is-ok .cbia-oldv2-score-dot{background:#ee7c1b}
.cbia-oldv2-score.is-bad .cbia-oldv2-score-dot{background:#dc3232}
.cbia-oldv2-score-value{font-variant-numeric:tabular-nums;color:#1d2327}
.cbia-oldv2-sort-wrap{display:flex;gap:6px;align-items:center}
.cbia-oldv2-sort-arrow{min-width:42px;font-weight:700}
.cbia-oldv2-sort-arrow[data-dir="desc"]::before{content:"\2193";}
.cbia-oldv2-sort-arrow[data-dir="asc"]::before{content:"\2191";}
.cbia-oldv2-range-inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cbia-oldv2-range-inline label{display:flex;gap:6px;align-items:center}
.cbia-oldv2-helper{font-size:12px;color:#50575e}
.cbia-oldv2-inline-warning{margin:10px 0 12px;padding:10px 12px;border:1px solid #f6ad55;border-left:4px solid #dd6b20;border-radius:10px;background:linear-gradient(180deg,#fffaf0 0%,#fff7ed 100%);color:#9a3412;font-size:12px;line-height:1.55}
.cbia-oldv2-post-meta-inline{font-size:11px;color:#6b7280;margin-top:6px}
@media (max-width: 1180px){
    .cbia-oldv2-filter-row,
    .cbia-oldv2-filter-row.-execution{grid-template-columns:1fr 1fr}
    .cbia-oldv2-range-inline{grid-column:1 / -1}
}
@media (max-width: 760px){
    .cbia-oldv2-filter-row,
    .cbia-oldv2-filter-row.-execution{grid-template-columns:1fr}
    .cbia-oldv2-filter-row #cbia-oldposts-search{grid-column:auto}
    .cbia-oldv2-range-inline{grid-column:auto}
}
.cbia-oldv2-field{display:flex;flex-direction:column;gap:4px}
.cbia-oldv2-field label{font-size:12px;color:#50575e}
.cbia-oldv2-select,.cbia-oldv2-input{width:100%;height:36px}
.cbia-oldv2-card h4{margin:0 0 8px}
.cbia-oldv2-mini{font-size:12px;color:#50575e}
.cbia-oldv2-switch-list{display:grid;gap:8px}
.cbia-oldv2-switch-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center;padding:5px 8px;border:1px solid #dcdcde;border-radius:10px;background:#fff}
.cbia-oldv2-switch-copy{display:flex;flex-direction:column;gap:2px}
.cbia-oldv2-switch-copy strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;line-height:1.2}
.cbia-oldv2-switch-copy span{display:none}
.cbia-oldv2-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid #8fb7dd;background:#eef6ff;color:#0f4f84;font-size:11px;font-weight:700;line-height:1;cursor:help;flex:0 0 auto}
.cbia-oldv2-switch-wrap{position:relative;width:44px;height:24px}
.cbia-oldv2-switch-wrap input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2}
.cbia-oldv2-switch-ui{position:absolute;inset:0;background:#bfc5cd;border-radius:999px;transition:all .16s ease}
.cbia-oldv2-switch-ui::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:all .16s ease}
.cbia-oldv2-switch-wrap input:checked + .cbia-oldv2-switch-ui{background:#2271b1}
.cbia-oldv2-switch-wrap input:checked + .cbia-oldv2-switch-ui::after{left:23px}
.cbia-oldv2-side .cbia-oldv2-card.-accent{border-color:#d9e8f6;background:#f6fbff}
.cbia-oldv2-side .cbia-oldv2-card.-accent h4{color:#0f4f84}
.cbia-oldv2-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cbia-oldv2-range{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cbia-oldv2-muted{color:#50575e}
.cbia-oldv2-hidden{display:none!important}
.cbia-oldv2-dd{border:1px solid #dcdcde;border-radius:10px;background:#fff;overflow:hidden}
.cbia-oldv2-dd + .cbia-oldv2-dd{margin-top:8px}
.cbia-oldv2-dd > summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 10px;cursor:pointer}
.cbia-oldv2-dd > summary::-webkit-details-marker{display:none}
.cbia-oldv2-dd-label{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:#6b7280}
.cbia-oldv2-dd-value{font-size:13px;font-weight:600;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;text-align:right}
.cbia-oldv2-dd-body{padding:2px 10px 10px}
.cbia-oldv2-dd-body .cbia-oldv2-field + .cbia-oldv2-field{margin-top:8px}
.cbia-oldv2-section > summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:2px 0 8px}
.cbia-oldv2-section > summary::-webkit-details-marker{display:none}
.cbia-oldv2-count{font-size:11px;color:#2271b1;background:#e7f1fb;padding:2px 8px;border-radius:999px}
.cbia-oldv2-section-body{padding-top:2px}

body.cbia-hide-external-notices #wpbody-content .notice,
body.cbia-hide-external-notices #wpbody-content .error,
body.cbia-hide-external-notices #wpbody-content .updated,
body.cbia-hide-external-notices #wpbody-content .update-nag,
body.cbia-hide-external-notices #wpbody-content #message{
  display:none !important;
}

body.cbia-hide-external-notices #wpbody-content .cbia-shell .notice,
body.cbia-hide-external-notices #wpbody-content .cbia-shell .error,
body.cbia-hide-external-notices #wpbody-content .cbia-shell .updated,
body.cbia-hide-external-notices #wpbody-content .cbia-shell .update-nag,
body.cbia-hide-external-notices #wpbody-content .cbia-shell #message{
  display:block !important;
}

.cbia-prompt-mode-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.cbia-prompt-mode-card,
.cbia-prompt-profile-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  border:1px solid #dbe4f0;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  cursor:pointer;
}

.cbia-prompt-mode-card input,
.cbia-prompt-profile-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.cbia-prompt-mode-card.is-active,
.cbia-prompt-profile-card.is-active{
  border-color:rgba(1,138,170,.48);
  box-shadow:0 0 0 1px rgba(1,138,170,.18),0 10px 24px rgba(2,132,199,.08);
  background:linear-gradient(180deg,#ffffff 0%,#eef9ff 100%);
}

.cbia-prompt-mode-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:#153b73;
}

.cbia-prompt-mode-card-head .dashicons,
.cbia-prompt-profile-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(34,211,238,.12);
  color:#018aaa;
}

.cbia-prompt-mode-card-copy,
.cbia-prompt-profile-copy{
  color:#627892;
  font-size:12px;
  line-height:1.5;
}

.cbia-prompt-profile-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.cbia-prompt-profile-preset{
  display:block;
  margin-top:2px;
  color:#496785;
  font-size:11px;
  line-height:1.45;
}

.cbia-prompt-config-state{
  margin-top:10px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.cbia-prompt-config-state .description{
  margin:0;
  flex:1 1 360px;
}

.cbia-prompt-config-state .description.is-custom{
  color:#0f4f84;
  font-weight:600;
}

.cbia-prompt-config-state .button{
  white-space:nowrap;
}

.cbia-prompt-options-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.cbia-prompt-option-chip,
.cbia-prompt-intent-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  padding:14px 16px;
  border:1px solid #dbe4f0;
  border-radius:14px;
  background:#fff;
}

.cbia-prompt-option-chip input{
  margin-top:5px;
}

.cbia-prompt-option-chip .dashicons,
.cbia-prompt-intent-card .dashicons{
  color:#018aaa;
}

.cbia-prompt-option-chip strong,
.cbia-prompt-intent-card strong{
  display:block;
  margin-bottom:4px;
  color:#153b73;
}

.cbia-prompt-option-chip small,
.cbia-prompt-intent-card small{
  display:block;
  color:#627892;
  line-height:1.45;
}

.cbia-prompt-intent-card select{
  grid-column:1 / -1;
  margin-top:8px;
}

.cbia-prompt-editor-card{
  margin-top:14px;
  border:1px solid #dbe4f0;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfdff 0%,#f7fbff 100%);
}

.cbia-prompt-editor-accordion{
  padding:0;
  overflow:hidden;
}

.cbia-prompt-editor-summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
}

.cbia-prompt-editor-summary::-webkit-details-marker{
  display:none;
}

.cbia-prompt-editor-summary-copy{
  display:grid;
  gap:3px;
}

.cbia-prompt-editor-summary-copy strong{
  color:#153b73;
  font-size:14px;
  line-height:1.3;
}

.cbia-prompt-editor-summary-copy small{
  color:#627892;
  font-size:12px;
  line-height:1.45;
}

.cbia-prompt-editor-summary .dashicons{
  color:#018aaa;
  transition:transform .18s ease;
}

.cbia-prompt-editor-accordion[open] .cbia-prompt-editor-summary .dashicons{
  transform:rotate(180deg);
}

.cbia-prompt-editor-body{
  padding:14px 16px 16px;
  border-top:1px solid #dbe4f0;
}

.cbia-prompt-editor-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}

.cbia-prompt-editor-head h4{
  margin:0 0 6px;
  font-size:15px;
  color:#153b73;
}

.cbia-prompt-editor-head p{
  margin:0;
  color:#627892;
  font-size:12px;
  line-height:1.5;
  max-width:760px;
}

.cbia-batch-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

.cbia-action-with-help{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.cbia-info-tip{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.cbia-info-tip__trigger{
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  padding:0;
  border:1px solid #0798ba;
  border-radius:50%;
  background:#e9f9fc;
  color:#067d99;
  font:700 12px/1 Georgia,serif;
  cursor:help;
}

.cbia-info-tip__trigger:hover,
.cbia-info-tip__trigger:focus-visible{
  border-color:#005f77;
  background:#0798ba;
  color:#fff;
  outline:none;
  box-shadow:0 0 0 2px rgba(7,152,186,.2);
}

.cbia-info-tip__content{
  position:absolute;
  z-index:100;
  left:50%;
  bottom:calc(100% + 9px);
  width:max-content;
  max-width:min(320px,calc(100vw - 48px));
  padding:8px 10px;
  border-radius:6px;
  background:#123b55;
  color:#fff;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  text-align:left;
  white-space:normal;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,4px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}

.cbia-info-tip__content::after{
  position:absolute;
  top:100%;
  left:50%;
  border:5px solid transparent;
  border-top-color:#123b55;
  content:"";
  transform:translateX(-50%);
}

.cbia-info-tip:hover .cbia-info-tip__content,
.cbia-info-tip:focus-within .cbia-info-tip__content{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

@media (max-width: 980px){
  .cbia-layout{
    flex-direction:column;
  }

  .cbia-sidebar{
    width:100% !important;
    min-height:0 !important;
    padding:0 0 12px !important;
  }

  .cbia-sidebar-nav{
    position:static !important;
    top:auto !important;
    max-height:none !important;
    overflow:visible !important;
    flex-direction:row;
    flex-wrap:wrap;
    gap:8px;
    padding:0;
  }

  .cbia-nav-item{
    flex:1 1 240px;
  }

  .cbia-nav-submenu{
    margin:8px 0 0;
  }

  .cbia-prompt-profile-grid,
  .cbia-prompt-options-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 760px){
  .cbia-prompt-mode-grid,
  .cbia-prompt-profile-grid,
  .cbia-prompt-options-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .cbia-prompt-editor-head{
    flex-direction:column;
  }
}
.cbia-provider-connections {
    margin: 0 0 22px;
    padding: 18px;
    border: 1px solid rgba(34, 211, 238, 0.38);
    border-radius: 12px;
    background: #fff;
}

.cbia-provider-connections-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
}

.cbia-provider-connection-card {
    min-width: 0;
    padding: 0;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: linear-gradient(145deg, #fff 0%, #f7fbfd 100%);
}

.cbia-provider-connection-summary {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(240px, 1.2fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 68px;
    padding: 10px 14px;
}

.cbia-provider-connection-heading,
.cbia-provider-connection-meta,
.cbia-provider-connection-actions,
.cbia-provider-summary-actions,
.cbia-provider-key-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.cbia-provider-connection-heading img {
    width: 32px;
    height: 32px;
}

.cbia-provider-connection-heading h3,
.cbia-provider-connection-heading p {
    margin: 0;
}

.cbia-provider-connection-heading p,
.cbia-provider-last-test,
.cbia-provider-key-link {
    color: #64748b;
    font-size: 12px;
}

.cbia-provider-connection-meta {
    margin: 0;
}

.cbia-connection-state,
.cbia-provider-use {
    display: inline-flex;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.cbia-connection-state {
    background: #f1f5f9;
    color: #475569;
}

.is-verified .cbia-connection-state {
    background: #dcfce7;
    color: #166534;
}

.is-authentication_error .cbia-connection-state {
    background: #fee2e2;
    color: #991b1b;
}

.cbia-provider-use {
    background: #e0f2fe;
    color: #075985;
}

.cbia-provider-connection-panel > label {
    display: block;
    margin: 0 0 6px;
    font-weight: 600;
}

.cbia-provider-credential-input {
    width: 100%;
    max-width: none !important;
}

.cbia-provider-connection-actions {
    margin-top: 12px;
}

.cbia-provider-summary-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.cbia-provider-details-toggle .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
    transition: transform .18s ease;
}

.cbia-provider-connection-card.is-expanded .cbia-provider-details-toggle .dashicons {
    transform: rotate(180deg);
}

.cbia-provider-connection-panel {
    padding: 14px;
    border-top: 1px solid #dbe4ee;
    background: #fff;
}

.cbia-provider-connection-panel[hidden] { display: none !important; }

.cbia-provider-key-row { flex-wrap: nowrap; }
.cbia-provider-key-row .cbia-provider-credential-input { flex: 1 1 auto; }

.cbia-provider-technical-details {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f8fafc;
    color: #475569;
    font-size: 12px;
}

.cbia-provider-technical-details p { margin: 4px 0 0; }

.cbia-provider-connection-card[aria-busy="true"] {
    opacity: 0.72;
}

.cbia-provider-connection-message {
    min-height: 20px;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 600;
}

.cbia-provider-connection-message.is-success { color: #166534; }
.cbia-provider-connection-message.is-error { color: #b91c1c; }

/* Usage dashboard redesign: filters, KPI hierarchy, charts and master-detail table. */
.cbia-usage-page {
    --cbia-usage-border: #dbe4ee;
    --cbia-usage-muted: #64748b;
    --cbia-usage-text: #172033;
    --cbia-usage-primary: #2563eb;
    --cbia-usage-primary-soft: #eff6ff;
    max-width: 1440px;
}

.cbia-usage-page [hidden] {
    display: none !important;
}

.cbia-usage-header {
    align-items: flex-start;
    margin-bottom: 18px;
}

.cbia-usage-header h2 {
    color: var(--cbia-usage-text);
    font-size: 25px;
    line-height: 1.2;
    margin-bottom: 5px;
}

.cbia-usage-header .description {
    font-size: 14px;
    margin: 0;
}

.cbia-usage-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cbia-usage-pro-cta-card-compact {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 16px;
}

.cbia-usage-pro-cta-card-compact h3 {
    display: inline-block;
    margin: 0 0 4px 8px;
}

.cbia-usage-pro-cta-card-compact p {
    margin: 0;
}

.cbia-usage-filter-card {
    background: #fff;
    border: 1px solid var(--cbia-usage-border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    margin-bottom: 18px;
    padding: 16px;
}

.cbia-usage-quick-ranges,
.cbia-usage-filters,
.cbia-usage-custom-range {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cbia-usage-quick-ranges {
    border-bottom: 1px solid #edf1f5;
    padding-bottom: 12px;
}

.cbia-usage-range-button.is-active {
    background: var(--cbia-usage-primary);
    border-color: var(--cbia-usage-primary);
    color: #fff;
}

.cbia-usage-custom-range {
    background: #f8fafc;
    border-radius: 8px;
    margin-top: 12px;
    padding: 12px;
}

.cbia-usage-custom-range label,
.cbia-usage-more-panel label {
    align-items: center;
    display: flex;
    gap: 6px;
    font-weight: 600;
}

.cbia-usage-custom-range input,
.cbia-usage-more-panel input {
    font-weight: 400;
}

.cbia-usage-filters {
    margin-top: 12px;
}

.cbia-usage-filters > select,
.cbia-usage-filters > .abb-select {
    min-width: 150px;
}

.cbia-usage-search-label {
    flex: 1 1 220px;
}

.cbia-usage-search-label .regular-text {
    max-width: none;
    width: 100%;
}

.cbia-usage-more-filters {
    position: relative;
}

.cbia-usage-more-filters > summary {
    cursor: pointer;
    list-style: none;
}

.cbia-usage-more-filters > summary::-webkit-details-marker {
    display: none;
}

.cbia-usage-more-panel {
    background: #fff;
    border: 1px solid var(--cbia-usage-border);
    border-radius: 10px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .16);
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(190px, 1fr));
    left: 0;
    min-width: min(620px, calc(100vw - 80px));
    padding: 14px;
    position: absolute;
    top: calc(100% + 6px);
    z-index: 30;
}

.cbia-usage-filter-summary {
    color: var(--cbia-usage-muted);
    display: block;
    margin: 10px 0 0;
}

.cbia-usage-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 10px;
}

.cbia-usage-kpi {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--cbia-usage-border);
    border-radius: 11px;
    box-shadow: none;
    display: flex;
    gap: 10px;
    min-height: 116px;
    padding: 15px;
}

.cbia-usage-kpi-icon {
    align-items: center;
    background: var(--cbia-usage-primary-soft);
    border-radius: 8px;
    color: var(--cbia-usage-primary);
    display: inline-flex;
    flex: 0 0 34px;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.cbia-usage-kpi-copy {
    min-width: 0;
}

.cbia-usage-kpi-label {
    color: var(--cbia-usage-muted);
    display: block;
    font-size: 12px;
    line-height: 1.35;
    min-height: 32px;
}

.cbia-usage-kpi-value,
.cbia-usage-kpi-copy strong {
    color: var(--cbia-usage-text);
    display: block;
    font-size: clamp(20px, 1.5vw, 27px);
    line-height: 1.2;
    margin-top: 3px;
    overflow-wrap: anywhere;
}

.cbia-usage-kpi-comparison {
    color: var(--cbia-usage-muted);
    display: block;
    font-size: 11px;
    line-height: 1.35;
    margin-top: 6px;
}

.cbia-usage-kpi-comparison.is-up { color: #166534; }
.cbia-usage-kpi-comparison.is-down { color: #9f1239; }
.cbia-usage-kpi-comparison.is-same { color: #475569; }

.cbia-usage-secondary-metrics {
    color: var(--cbia-usage-muted);
    margin: 0 0 16px;
}

.cbia-usage-secondary-metrics summary {
    cursor: pointer;
    font-weight: 600;
}

.cbia-usage-secondary-metrics > div {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 8px 0 0;
}

.cbia-usage-panel {
    background: #fff;
    border: 1px solid var(--cbia-usage-border);
    border-radius: 12px;
    box-shadow: none;
    box-sizing: border-box;
    padding: 18px;
}

.cbia-usage-dashboard > .cbia-usage-panel,
.cbia-usage-dashboard > .cbia-usage-breakdown-grid,
.cbia-usage-dashboard > .cbia-usage-events-section {
    margin-bottom: 18px;
}

.cbia-usage-panel-head {
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
}

.cbia-usage-panel-head h3 {
    color: var(--cbia-usage-text);
    font-size: 16px;
    margin: 0 0 4px;
}

.cbia-usage-panel-head p {
    color: var(--cbia-usage-muted);
    margin: 0;
}

.cbia-usage-metric-switch {
    display: flex;
    flex-shrink: 0;
    gap: 4px;
}

.cbia-usage-metric-switch .button.is-active {
    background: var(--cbia-usage-primary);
    border-color: var(--cbia-usage-primary);
    color: #fff;
}

.cbia-usage-main-chart,
.cbia-usage-monthly-chart {
    min-height: 320px;
    position: relative;
}

.cbia-usage-main-chart canvas,
.cbia-usage-monthly-chart canvas {
    display: block;
    height: auto;
    max-height: 320px;
    max-width: 100%;
    width: 100%;
}

.cbia-usage-breakdown-grid {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cbia-usage-breakdown-grid > .cbia-usage-panel {
    min-width: 0;
}

.cbia-usage-breakdown-grid .cbia-usage-empty {
    inset: auto;
    margin-top: 10px;
    position: static;
}

.cbia-usage-type-distribution {
    padding-top: 14px;
}

.cbia-usage-type-bar {
    background: #eef2f7;
    border-radius: 999px;
    display: flex;
    height: 16px;
    overflow: hidden;
    width: 100%;
}

.cbia-usage-type-bar .is-text { background: #2563eb; }
.cbia-usage-type-bar .is-image { background: #8b5cf6; }

.cbia-usage-type-values {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}

.cbia-usage-type-values > span {
    color: var(--cbia-usage-muted);
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cbia-usage-type-values i {
    border-radius: 50%;
    display: inline-block;
    height: 9px;
    margin-top: 4px;
    width: 9px;
}

.cbia-usage-type-values i.is-text { background: #2563eb; }
.cbia-usage-type-values i.is-image { background: #8b5cf6; }

.cbia-usage-horizontal-bars {
    display: grid;
    gap: 13px;
    padding-top: 6px;
}

.cbia-usage-horizontal-row > div {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.cbia-usage-horizontal-row strong {
    font-size: 12px;
}

.cbia-usage-horizontal-track {
    background: #edf2f7;
    border-radius: 999px;
    display: block;
    height: 9px;
    overflow: hidden;
}

.cbia-usage-horizontal-track i {
    background: linear-gradient(90deg, #2563eb, #60a5fa);
    border-radius: inherit;
    display: block;
    height: 100%;
}

.cbia-usage-coverage-panel {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: 150px minmax(0, 1fr);
}

.cbia-usage-coverage-donut {
    align-items: center;
    background: conic-gradient(#2563eb var(--cbia-coverage, 0%), #e8edf3 0);
    border-radius: 50%;
    display: flex;
    height: 132px;
    justify-content: center;
    position: relative;
    width: 132px;
}

.cbia-usage-coverage-donut::before {
    background: #fff;
    border-radius: 50%;
    content: "";
    inset: 15px;
    position: absolute;
}

.cbia-usage-coverage-donut > div {
    align-items: center;
    display: flex;
    flex-direction: column;
    position: relative;
    text-align: center;
    z-index: 1;
}

.cbia-usage-coverage-donut strong {
    color: var(--cbia-usage-text);
    font-size: 24px;
}

.cbia-usage-coverage-donut span {
    color: var(--cbia-usage-muted);
    font-size: 11px;
}

.cbia-usage-cost-control-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cbia-usage-events-section > .cbia-usage-panel-head {
    margin: 0 0 10px;
}

.cbia-usage-main-grid {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.75fr) minmax(300px, .75fr);
}

.cbia-usage-table-panel {
    min-width: 0;
    padding: 0;
}

.cbia-usage-table-wrap {
    max-height: 640px;
    overflow: auto;
}

.cbia-usage-events-table {
    border: 0;
    min-width: 760px;
}

.cbia-usage-events-table thead th {
    background: #f8fafc;
    position: sticky;
    top: 0;
    z-index: 2;
}

.cbia-usage-events-table tbody tr {
    cursor: pointer;
}

.cbia-usage-events-table tbody tr.is-active {
    background: #eff6ff;
    box-shadow: inset 3px 0 0 #2563eb;
}

.cbia-usage-detail-panel {
    max-height: 640px;
    overflow: auto;
    position: sticky;
    top: 46px;
}

.cbia-usage-detail-eyebrow,
.cbia-usage-cost-eyebrow {
    color: var(--cbia-usage-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cbia-usage-detail-content h3 {
    margin: 5px 0;
}

.cbia-usage-post-summary {
    background: #f8fafc;
    border-radius: 9px;
    margin: 14px 0;
    padding: 12px;
}

.cbia-usage-post-summary h4 {
    margin: 0 0 8px;
}

.cbia-usage-post-summary dl,
.cbia-usage-cost-config dl {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.cbia-usage-post-summary dl > div,
.cbia-usage-cost-config dl > div {
    min-width: 0;
}

.cbia-usage-post-summary dt,
.cbia-usage-cost-config dt {
    color: var(--cbia-usage-muted);
    font-size: 11px;
}

.cbia-usage-post-summary dd,
.cbia-usage-cost-config dd {
    font-weight: 600;
    margin: 2px 0 0;
    overflow-wrap: anywhere;
}

.cbia-usage-detail-row {
    border-top: 1px solid #edf1f5;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr);
    padding: 9px 0;
}

.cbia-usage-detail-label {
    color: var(--cbia-usage-muted);
    font-size: 12px;
    font-weight: 600;
}

.cbia-usage-detail-value {
    overflow-wrap: anywhere;
}

.cbia-usage-detail-actions {
    margin-top: 14px;
}

.cbia-usage-empty {
    align-items: center;
    color: var(--cbia-usage-muted);
    flex-direction: column;
    gap: 10px;
    inset: 0;
    justify-content: center;
    min-height: 140px;
    text-align: center;
}

.cbia-usage-empty:not([hidden]) {
    display: flex;
}

.cbia-usage-recalculation-actions {
    margin-bottom: 18px;
}

.cbia-usage-recalculation-actions > div {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.cbia-usage-drawer-open {
    overflow: hidden;
}

.cbia-usage-drawer-backdrop.is-open {
    display: block;
}

.cbia-usage-cost-drawer.is-open {
    display: flex;
}

.cbia-usage-cost-config h4 {
    margin: 0 0 10px;
}

.cbia-usage-page :where(a, button, input, select, summary, tr[tabindex]):focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

@media (max-width: 1200px) {
    .cbia-usage-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .cbia-usage-breakdown-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cbia-usage-breakdown-grid .-image-role {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1024px) {
    .cbia-usage-main-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cbia-usage-detail-panel {
        max-height: none;
        position: static;
    }

    .cbia-usage-more-panel {
        left: auto;
        right: 0;
    }
}

@media (max-width: 782px) {
    .cbia-usage-header,
    .cbia-usage-pro-cta-card-compact,
    .cbia-usage-panel-head {
        align-items: stretch;
        flex-direction: column;
    }

    .cbia-usage-header-actions,
    .cbia-usage-header-actions .button,
    .cbia-usage-pro-cta-card-compact .button {
        width: 100%;
    }

    .cbia-usage-header-actions .button,
    .cbia-usage-pro-cta-card-compact .button {
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
    }

    .cbia-usage-filters > select,
    .cbia-usage-filters > .abb-select,
    .cbia-usage-search-label,
    .cbia-usage-filters > .button,
    .cbia-usage-more-filters {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
    }

    .cbia-usage-more-filters > summary {
        box-sizing: border-box;
        text-align: center;
        width: 100%;
    }

    .cbia-usage-more-panel {
        grid-template-columns: minmax(0, 1fr);
        left: 0;
        min-width: 0;
        position: relative;
        right: auto;
        top: 6px;
        width: 100%;
    }

    .cbia-usage-breakdown-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cbia-usage-breakdown-grid .-image-role {
        grid-column: auto;
    }

    .cbia-usage-coverage-panel {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        text-align: center;
    }

    .cbia-usage-cost-control-actions {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .cbia-usage-page {
        margin-right: 10px;
    }

    .cbia-usage-filter-card,
    .cbia-usage-panel,
    .cbia-usage-kpi {
        padding: 13px;
    }

    .cbia-usage-kpis {
        grid-template-columns: minmax(0, 1fr);
    }

    .cbia-usage-filters > select,
    .cbia-usage-filters > .abb-select,
    .cbia-usage-search-label,
    .cbia-usage-filters > .button,
    .cbia-usage-more-filters {
        flex-basis: 100%;
    }

    .cbia-usage-custom-range {
        align-items: stretch;
        flex-direction: column;
    }

    .cbia-usage-custom-range label {
        align-items: stretch;
        flex-direction: column;
    }

    .cbia-usage-type-values,
    .cbia-usage-post-summary dl,
    .cbia-usage-cost-config dl,
    .cbia-usage-detail-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .cbia-usage-metric-switch {
        width: 100%;
    }

    .cbia-usage-metric-switch .button {
        flex: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cbia-usage-page *,
    .cbia-usage-page *::before,
    .cbia-usage-page *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

.cbia-provider-connection-card :focus-visible {
    outline: 2px solid #0891b2;
    outline-offset: 2px;
}

@media (max-width: 960px) {
    .cbia-provider-connection-summary { grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr); }
    .cbia-provider-summary-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 600px) {
    .cbia-provider-connections { padding: 12px; }
    .cbia-provider-connection-summary { grid-template-columns: 1fr; gap: 10px; }
    .cbia-provider-summary-actions { grid-column: auto; }
    .cbia-provider-summary-actions .button,
    .cbia-provider-key-row .button { width: 100%; justify-content: center; text-align: center; }
    .cbia-provider-key-row { flex-direction: column; }
    .cbia-provider-connection-actions .button,
    .cbia-provider-connection-actions .button-link-delete { width: 100%; justify-content: center; text-align: center; }
}

/* Usage dashboard interaction and data-legibility refinements. */
.cbia-usage-page :where(h2, h3, h4) {
    text-wrap: balance;
}

.cbia-usage-page :where(.cbia-usage-kpi-value, .cbia-usage-kpi-comparison, .cbia-usage-metric, .cbia-usage-cost, td) {
    font-variant-numeric: tabular-nums;
}

.cbia-usage-page :where(button, .button, a, select, input, summary, tr[tabindex], canvas) {
    touch-action: manipulation;
}

.cbia-usage-page select {
    background-color: #fff;
    color: var(--cbia-usage-text, #1e293b);
}

.cbia-usage-page :where(.cbia-usage-source-title, .cbia-usage-detail-value, .cbia-usage-model-code, .cbia-usage-cost-config dd) {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cbia-usage-cost-drawer {
    overscroll-behavior: contain;
}

.cbia-usage-legend-item.is-seo i {
    background: #14b8a6;
}

.cbia-usage-chart-tooltip {
    position: absolute;
    z-index: 5;
    display: grid;
    max-width: min(260px, calc(100% - 24px));
    padding: 9px 11px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: rgba(15, 23, 42, .96);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .18);
    color: #fff;
    font-size: 12px;
    line-height: 1.45;
    pointer-events: none;
    transform: translate(-50%, -100%);
}

.cbia-usage-chart-tooltip[hidden] {
    display: none;
}

.cbia-usage-chart-tooltip strong,
.cbia-usage-chart-tooltip span {
    overflow-wrap: anywhere;
}

.cbia-usage-events-table tbody tr:hover:not(.is-active) {
    background: #f8fafc;
}

.cbia-usage-kpis.is-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 480px) {
    .cbia-usage-kpis.is-three {
        grid-template-columns: minmax(0, 1fr);
    }
}
