
/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/app.css ---- */
:root {
    --bg: #f4f7f6;
    --surface: #ffffff;
    --surface-soft: #f8faf9;
    --text: #17201d;
    --muted: #66736e;
    --line: #dfe7e3;
    --primary: #087f6d;
    --primary-dark: #056554;
    --ok: #16996f;
    --warning: #d58b16;
    --critical: #d34545;
    --suspended: #7c8792;
    --sidebar: #12231e;
    --shadow: 0 12px 36px rgba(24, 52, 44, .07);
    --radius: 16px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; color: var(--text); background: var(--bg); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.5; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 20px 20px; color: #e7f0ed; background: var(--sidebar); display: flex; flex-direction: column; z-index: 20; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand strong { display: block; font-size: 16px; letter-spacing: -.02em; }
.brand small { display: block; margin-top: 1px; color: #95aaa3; font-size: 11px; }
.brand-mark { width: 52px; height: 46px; display: flex; align-items: flex-end; justify-content: center; gap: 5px; padding: 9px; border-radius: 13px; background: var(--primary); }
.brand-mark span { display: block; width: 7px; border-radius: 7px; background: #fff; }
.brand-mark span:nth-child(1) { height: 12px; opacity: .7; }
.brand-mark span:nth-child(2) { height: 23px; }
.brand-mark span:nth-child(3) { height: 17px; opacity: .84; }
.brand-mark.small { width: 38px; height: 38px; padding: 8px; gap: 3px; border-radius: 10px; }
.brand-mark.small span { width: 5px; }
.brand-mark.small span:nth-child(1) { height: 9px; }
.brand-mark.small span:nth-child(2) { height: 19px; }
.brand-mark.small span:nth-child(3) { height: 14px; }
.nav-list { display: grid; gap: 6px; margin-top: 42px; }
.nav-heading { margin: 0 13px 4px; color: #687f77; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nav-heading-spaced { margin-top: 20px; }
.nav-list a { display: flex; align-items: center; gap: 11px; min-height: 44px; padding: 0 13px; border-radius: 10px; color: #aebfba; font-weight: 600; transition: .18s ease; }
.nav-list a:hover, .nav-list a.active { color: #fff; background: rgba(255, 255, 255, .08); }
.nav-list a.active { box-shadow: inset 3px 0 var(--primary); }
.nav-list span { width: 20px; text-align: center; color: #72c7b5; }
.sidebar-footer { margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); }
.user-chip { display: flex; align-items: center; gap: 10px; min-width: 0; }
.user-chip > span { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 50%; background: #27423a; color: #bce9dc; font-weight: 800; }
.user-chip div { min-width: 0; }
.user-chip strong, .user-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { font-size: 12px; }
.user-chip small { color: #829991; font-size: 10px; }
.link-button { margin: 14px 0 0; padding: 0; color: #9eb0aa; background: none; border: 0; cursor: pointer; font-size: 12px; }
.link-button:hover { color: #fff; }

.main-area { min-width: 0; }
.content-area { width: min(1520px, 100%); margin: 0 auto; padding: 36px clamp(20px, 3vw, 52px) 64px; }
.mobile-header { display: none; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.heading-actions { display: flex; gap: 9px; }
.page-heading h1 { margin: 2px 0 5px; font-size: clamp(27px, 3vw, 38px); line-height: 1.15; letter-spacing: -.045em; }
.eyebrow { margin: 0 0 4px; color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.muted { margin: 0; color: var(--muted); }
.back-link { display: inline-block; margin-bottom: 18px; color: var(--muted); font-size: 12px; font-weight: 700; }
.back-link:hover { color: var(--primary); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 17px; border: 1px solid transparent; border-radius: 10px; cursor: pointer; font-weight: 750; transition: .18s ease; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--primary); box-shadow: 0 7px 16px rgba(8,127,109,.2); }
.button-primary:hover { background: var(--primary-dark); }
.button-secondary { color: var(--text); background: var(--surface); border-color: var(--line); }
.button-secondary:hover { border-color: #b8c8c2; }
.button-danger { color: #a12828; background: #fff; border-color: #e8bcbc; }
.button-danger:hover { color: #fff; background: var(--critical); border-color: var(--critical); }
.button-wide { width: 100%; }

.setup-banner { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 18px 20px; border: 1px solid #bce1d7; border-radius: var(--radius); background: #ecf8f5; }
.setup-banner strong { font-size: 15px; }
.setup-banner p { margin: 3px 0 0; color: #4d6961; }
.setup-banner.danger { border-color: #f0c4c4; background: #fff0f0; }
.sync-strip { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-bottom: 22px; padding: 15px 18px; border: 1px solid #a9d8cc; border-radius: 13px; background: #e9f7f3; }
.sync-strip.is-pending { border-color: #d9dfe3; background: #f4f6f7; }
.sync-strip.has-error { border-color: #edb7b7; background: #fdf0f0; }
.sync-strip-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--primary); font-size: 19px; font-weight: 850; }
.sync-strip strong { display: block; font-size: 13px; }
.sync-strip p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }
.sync-strip > a { color: var(--primary); font-size: 12px; font-weight: 800; }

.stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 22px; }
.stat-card { min-width: 0; min-height: 105px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); display: flex; align-items: center; gap: 13px; }
.stat-card small { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.stat-card strong { display: block; margin-top: 4px; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.stat-card .textual-stat { font-size: 17px; letter-spacing: -.02em; }
.stat-dot { width: 11px; height: 11px; flex: 0 0 auto; border-radius: 50%; background: var(--suspended); box-shadow: 0 0 0 6px rgba(124,135,146,.1); }
.stat-dot.ok { background: var(--ok); box-shadow: 0 0 0 6px rgba(22,153,111,.1); }
.stat-dot.warning { background: var(--warning); box-shadow: 0 0 0 6px rgba(213,139,22,.1); }
.stat-dot.critical, .stat-dot.error, .stat-dot.down { background: var(--critical); box-shadow: 0 0 0 6px rgba(211,69,69,.1); }
.stat-dot.suspended, .stat-dot.neutral, .stat-dot.pending { background: var(--suspended); }

.panel { margin-bottom: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); overflow: hidden; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.panel-heading h2 { margin: 0; font-size: 17px; letter-spacing: -.025em; }
.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.counter-badge { min-width: 28px; height: 28px; display: grid; place-items: center; padding: 0 8px; border-radius: 14px; color: #fff; background: var(--critical); font-size: 12px; font-weight: 800; }
.filters { display: flex; align-items: center; gap: 9px; }
.filters select, .search-field input { height: 38px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--text); outline: none; }
.filters select { padding: 0 34px 0 11px; }
.search-field span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.search-field input { width: 220px; padding: 0 12px; }
.filters input:focus, .filters select:focus, input:focus, select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(8,127,109,.1); }

.incident-list { display: grid; }
.incident-row { display: grid; grid-template-columns: 4px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 64px; padding: 10px 22px; border-bottom: 1px solid var(--line); }
.incident-row:last-child { border-bottom: 0; }
.incident-row:hover { background: var(--surface-soft); }
.incident-row strong, .incident-row small { display: block; }
.incident-row small { margin-top: 2px; color: var(--muted); }
.incident-row time { color: var(--muted); font-size: 11px; }
.severity-bar { height: 34px; border-radius: 3px; background: var(--warning); }
.severity-bar.critical { background: var(--critical); }

.table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table { width: 100%; min-width: 940px; border-collapse: collapse; }
.data-table.simple-table { min-width: 820px; }
.data-table.monitoring-table { min-width: 1220px; }
.data-table.sync-table { min-width: 760px; }
.data-table th { padding: 11px 14px; color: #718079; background: #f8faf9; font-size: 10px; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 13px 14px; border-top: 1px solid var(--line); color: #3e4c47; vertical-align: middle; }
.data-table tbody tr:hover { background: #fbfcfc; }
.domain-cell { display: flex; align-items: center; gap: 10px; min-width: 210px; }
.domain-cell strong, .domain-cell small { display: block; }
.domain-cell strong { color: var(--text); font-size: 13px; }
.domain-cell small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.favicon-placeholder { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: var(--primary); background: #e7f5f1; font-weight: 850; }
.table-secondary { font-size: 12px; }
.row-link { color: var(--primary); font-size: 12px; font-weight: 800; }
.ssl-value.due { color: var(--critical); font-weight: 700; }
.hosting-state { display: block; color: #58665f; font-size: 11px; font-weight: 800; }
.hosting-active { color: var(--ok); }
.hosting-suspended, .hosting-missing { color: var(--critical); }
.cell-note { display: block; max-width: 130px; margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.disk-cell { min-width: 125px; }
.disk-cell > div { display: flex; align-items: baseline; justify-content: space-between; gap: 7px; }
.disk-cell span { color: var(--text); font-size: 11px; font-weight: 800; }
.disk-cell small { color: var(--muted); font-size: 8px; }
.disk-cell progress { width: 100%; height: 5px; margin-top: 5px; overflow: hidden; border: 0; border-radius: 6px; background: #e6ece9; accent-color: var(--ok); }
.disk-cell progress.warning { accent-color: var(--warning); }
.disk-cell progress.critical { accent-color: var(--critical); }
.status-pill { display: inline-flex; align-items: center; gap: 7px; min-height: 26px; padding: 0 9px; border-radius: 14px; color: #59655f; background: #edf0ef; font-size: 10px; font-weight: 800; white-space: nowrap; }
.status-pill i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-pill.status-ok { color: #087b58; background: #e5f6ef; }
.status-pill.status-warning { color: #a36503; background: #fff3dc; }
.status-pill.status-error, .status-pill.status-down { color: #b12c2c; background: #fdeaea; }
.status-pill.status-suspended, .status-pill.status-paused, .status-pill.status-pending { color: #66727d; background: #edf0f2; }
.table-empty { padding: 28px; color: var(--muted); text-align: center; }
.empty-list { padding: 52px 22px; color: var(--muted); text-align: center; }
.empty-list strong { display: block; color: var(--text); font-size: 16px; }
.empty-list p { margin: 5px 0 18px; }
.error-detail { max-width: 320px; color: var(--muted); font-size: 11px; }

.alert { margin-bottom: 18px; padding: 13px 15px; border: 1px solid; border-radius: 10px; }
.alert-success { color: #16634f; border-color: #a8dacb; background: #e9f8f3; }
.alert-error { color: #932d2d; border-color: #edb7b7; background: #fdf0f0; }
.settings-card { padding-bottom: 22px; }
.form-panel-narrow { max-width: 760px; }
.settings-form { padding: 22px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.form-grid.single { grid-template-columns: 1fr; }
.form-grid label, .form-stack label { display: grid; gap: 7px; color: #43514c; font-size: 12px; font-weight: 750; }
.form-grid label small { color: var(--muted); font-weight: 500; }
.form-grid input, .form-stack input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: #fff; outline: none; }
.form-grid .file-input { height: auto; min-height: 46px; padding: 10px 12px; }
.import-note { margin-top: 20px; padding: 17px 18px; border: 1px solid #cfe4dd; border-radius: 11px; background: #f0f8f5; }
.import-note strong { display: block; margin-bottom: 7px; font-size: 13px; }
.import-note p { margin: 5px 0; color: #536a63; font-size: 12px; }
.span-2 { grid-column: span 2; }
.check-field { display: flex; align-items: center; gap: 9px; margin: 18px 0 0; color: #40504a; font-weight: 650; }
.check-field input { width: 17px; height: 17px; accent-color: var(--primary); }
.form-actions { display: flex; justify-content: flex-end; margin-top: 20px; }
.inline-test-form { margin: -64px 22px 0; width: max-content; }
.danger-zone { margin: 4px 22px 0; padding: 18px 0 0; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.danger-zone strong { font-size: 12px; }
.danger-zone p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.info-card { max-width: 780px; padding: 20px 22px; border-left: 4px solid var(--primary); background: #eaf5f2; }
.info-card h2 { margin: 0 0 7px; font-size: 15px; }
.info-card p { margin: 0; color: #536a63; }
.two-column { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 22px; align-items: start; }
.sync-overview { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.sync-card { padding: 23px; }
.sync-card h2 { margin: 10px 0 18px; font-size: 18px; }
.sync-status-row { display: flex; justify-content: flex-end; }
.details-list { margin: 0; }
.details-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-top: 1px solid var(--line); }
.details-list dt { color: var(--muted); font-size: 11px; }
.details-list dd { margin: 0; font-size: 11px; font-weight: 750; text-align: right; }
.sync-guide ol { margin: 15px 0 18px; padding-left: 20px; }
.sync-guide li { margin: 9px 0; color: #485750; }
.sync-guide code { padding: 2px 5px; border-radius: 5px; background: #edf2f0; font-size: 11px; }
.alert-status-card { margin-bottom: 18px; padding: 21px 23px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 16px; align-items: center; border: 1px solid #b9ddd4; border-radius: var(--radius); background: #eff9f6; box-shadow: var(--shadow); }
.alert-status-card.is-disabled { border-color: var(--line); background: var(--surface); }
.alert-status-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 13px; color: var(--primary); background: #daf1ea; font-size: 22px; }
.alert-status-card h2 { margin: 9px 0 2px; font-size: 18px; letter-spacing: -.025em; }
.alert-status-card p { margin: 0; color: var(--muted); font-size: 11px; }
.alert-status-card aside { padding-left: 28px; border-left: 1px solid #cfe4dd; text-align: right; }
.alert-status-card aside small, .alert-status-card aside strong, .alert-status-card aside span { display: block; }
.alert-status-card aside small { color: var(--muted); font-size: 9px; }
.alert-status-card aside strong { margin: 4px 0 2px; font-size: 14px; }
.alert-status-card aside span { color: #5f746d; font-size: 9px; }
.alert-stat-grid { grid-template-columns: repeat(3, 1fr); }
.alert-rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.alert-rule-card { padding: 23px; }
.alert-rule-card h2 { margin: 3px 0 18px; font-size: 18px; }
.alert-flow-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 11px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.alert-flow-row > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: var(--primary); background: #e7f5f1; font-size: 11px; font-weight: 850; }
.alert-flow-row strong, .alert-flow-row small { display: block; }
.alert-flow-row strong { font-size: 12px; }
.alert-flow-row small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.alert-details { margin-top: 4px; }
.alert-config-note { margin: 15px 0 0; padding: 11px 12px; border-radius: 8px; color: #536a63; background: #f0f8f5; font-size: 10px; }
.alert-config-note code { font-size: 10px; font-weight: 750; }
.data-table.alert-table { min-width: 840px; }
.small-text { font-size: 11px; }
.site-stats { grid-template-columns: repeat(4, 1fr); }
.timeline { padding: 8px 22px 18px; }
.timeline article { display: grid; grid-template-columns: 10px minmax(0, 1fr); gap: 11px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.timeline article:last-child { border-bottom: 0; }
.timeline strong, .timeline small { display: block; }
.timeline strong { font-size: 12px; }
.timeline small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.timeline-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--warning); }
.timeline-dot.critical { background: var(--critical); }

.two-column:has(.indexing-panel) { grid-template-columns: 1fr; }
.indexing-panel { overflow: hidden; }
.indexing-heading { align-items: center; }
.indexing-state { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #d9e2df; border-radius: 9px; color: #66736f; background: #f8faf9; font-size: 10px; font-weight: 800; white-space: nowrap; }
.indexing-state i { width: 7px; height: 7px; border-radius: 50%; background: #d19324; }
.indexing-state.is-ready { color: #176c52; border-color: #b9ddcf; background: #eff8f4; }
.indexing-state.is-ready i { background: #1d8a67; }
.indexing-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 0; border-top: 1px solid var(--line); }
.indexing-main { padding: 26px; }
.indexing-setup { padding: 26px; border-left: 1px solid var(--line); background: #f7f9f8; }
.indexing-setup.is-complete { background: #f2f8f5; }
.indexing-explainer { display: grid; grid-template-columns: auto 1fr 1fr; gap: 12px; align-items: center; margin-bottom: 23px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.indexing-explainer > strong { font-size: 12px; }
.indexing-explainer div { display: grid; grid-template-columns: 25px 1fr; gap: 8px; align-items: center; }
.indexing-explainer div > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #233a33; font-size: 10px; font-weight: 850; }
.indexing-explainer p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.indexing-explainer b { color: var(--text); }
.indexing-form label { display: grid; gap: 8px; color: var(--text); font-size: 11px; font-weight: 800; }
.indexing-form input { width: 100%; height: 46px; padding: 0 13px; border: 1px solid #cfdad6; border-radius: 9px; background: #fff; font-size: 13px; }
.indexing-form input:focus { outline: 3px solid rgba(29,138,103,.13); border-color: #1d8a67; }
.indexing-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }
.indexing-actions button:disabled { cursor: not-allowed; opacity: .45; }
.indexing-form-note { display: block; margin-top: 10px; color: var(--muted); font-size: 9px; }
.indexing-setup h3 { margin: 5px 0 8px; font-size: 17px; }
.indexing-setup p, .indexing-setup li { color: #5d6d68; font-size: 10px; line-height: 1.55; }
.indexing-setup ol { margin: 12px 0; padding-left: 18px; }
.indexing-key-location { display: block; max-width: 100%; padding: 10px; overflow-wrap: anywhere; border: 1px solid #d7e1de; border-radius: 7px; color: #245648; background: #fff; font-size: 9px; }
.indexing-error { color: #a23b31 !important; }
.indexing-setup-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.indexing-history { border-top: 1px solid var(--line); }
.panel-subheading { display: flex; align-items: center; justify-content: space-between; padding: 20px 25px 12px; }
.panel-subheading h3 { margin: 0; font-size: 14px; }
.panel-subheading p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.indexing-url-cell { max-width: 380px; overflow-wrap: anywhere; font-weight: 700; }
.submission-status { display: inline-flex; padding: 5px 8px; border-radius: 7px; font-size: 9px; font-weight: 850; }
.submission-accepted { color: #176c52; background: #e8f5f0; }
.submission-pending { color: #85600f; background: #fff5d8; }
.submission-failed { color: #9d302b; background: #fdecea; }

.auth-page { min-height: 100vh; background: radial-gradient(circle at 25% 10%, #e6f4ef 0, transparent 34%), #f5f8f7; }
.auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(430px, 100%); padding: 38px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 26px 70px rgba(21,55,45,.12); }
.login-card .brand-mark { margin-bottom: 27px; }
.login-card h1 { margin: 3px 0 8px; font-size: 31px; letter-spacing: -.045em; }
.login-card .muted { margin-bottom: 26px; }
.form-stack { display: grid; gap: 17px; }
.form-stack .button { margin-top: 5px; }
.auth-link { display: block; margin-top: 20px; color: var(--primary); font-size: 12px; font-weight: 750; text-align: center; }
.auth-link:hover { color: var(--primary-dark); text-decoration: underline; }
.empty-state { max-width: 600px; margin: 12vh auto; padding: 34px; text-align: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.empty-state h1 { margin: 8px 0; }
.empty-state p:not(.eyebrow) { margin: 0 0 22px; color: var(--muted); }

@media (max-width: 1180px) {
    .stat-grid { grid-template-columns: repeat(3, 1fr); }
    .two-column { grid-template-columns: 1fr; }
    .sync-overview { grid-template-columns: 1fr; }
    .alert-rules-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    .app-shell { display: block; }
    .sidebar { position: fixed; left: 0; transform: translateX(-102%); width: 270px; transition: transform .22s ease; box-shadow: 18px 0 50px rgba(0,0,0,.2); }
    body.menu-open .sidebar { transform: translateX(0); }
    .mobile-header { height: 62px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--sidebar); }
    .mobile-header .brand { color: #fff; }
    .menu-button { height: 35px; padding: 0 12px; color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(255,255,255,.06); }
    .content-area { padding: 25px 16px 48px; }
    .page-heading { align-items: stretch; }
    .panel-heading-responsive { align-items: stretch; flex-direction: column; }
    .filters { width: 100%; }
    .search-field { flex: 1; }
    .search-field input { width: 100%; }
    .stat-grid { grid-template-columns: repeat(2, 1fr); }
    .site-stats { grid-template-columns: repeat(2, 1fr); }
    .alert-status-card { grid-template-columns: 46px minmax(0, 1fr); }
    .alert-status-card aside { grid-column: 1 / -1; padding: 13px 0 0; border-left: 0; border-top: 1px solid #cfe4dd; text-align: left; }
    .indexing-workspace { grid-template-columns: 1fr; }
    .indexing-setup { border-top: 1px solid var(--line); border-left: 0; }
    .indexing-explainer { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .page-heading { flex-direction: column; }
    .heading-actions { width: 100%; flex-direction: column-reverse; }
    .heading-actions .button { width: 100%; }
    .sync-strip { grid-template-columns: 38px minmax(0, 1fr); }
    .sync-strip > a { grid-column: 2; }
    .page-heading form .button { width: 100%; }
    .setup-banner { align-items: stretch; flex-direction: column; }
    .setup-banner .button { width: 100%; }
    .stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .alert-stat-grid { grid-template-columns: 1fr; }
    .stat-card { min-height: 90px; padding: 15px; }
    .stat-card strong { font-size: 24px; }
    .stat-card .textual-stat { font-size: 15px; }
    .panel { border-radius: 13px; }
    .panel-heading { padding: 17px; }
    .filters { align-items: stretch; flex-direction: column; }
    .filters select { width: 100%; }
    .incident-row { padding: 10px 16px; }
    .incident-row time { display: none; }
    .form-grid { grid-template-columns: 1fr; }
    .span-2 { grid-column: auto; }
    .settings-form { padding: 17px; }
    .form-actions { justify-content: stretch; }
    .form-actions .button { width: 100%; }
    .inline-test-form { margin: 0 17px; width: auto; }
    .inline-test-form .button { width: 100%; }
    .danger-zone { margin: 5px 17px 0; align-items: stretch; flex-direction: column; }
    .danger-zone .button { width: 100%; }
    .login-card { padding: 28px 22px; }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/precision.css ---- */
/* Softtalia Monitor · 1.2 */
:root {
    --pro-bg: #f5f5f6;
    --pro-surface: #ffffff;
    --pro-text: #29292d;
    --pro-muted: #747477;
    --pro-line: #dedee1;
    --pro-line-soft: #ececef;
    --pro-dark: #2d2d31;
    --pro-green: #43a34f;
    --pro-green-soft: #edf7ee;
    --pro-red: #e54848;
    --pro-red-soft: #fff0f0;
    --pro-amber: #c77a0a;
    --pro-amber-soft: #fff7e8;
    --bg: var(--pro-bg);
    --surface: var(--pro-surface);
    --surface-soft: #fafafa;
    --text: var(--pro-text);
    --muted: var(--pro-muted);
    --line: var(--pro-line);
    --primary: var(--pro-dark);
    --primary-dark: #171719;
    --ok: var(--pro-green);
    --warning: var(--pro-amber);
    --critical: var(--pro-red);
    --radius: 8px;
}

/* Softtalia Monitor · 1.4 · SEO e indexación */
.seo-heading { margin-bottom: 14px; }
.seo-explainer { margin-bottom: 18px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 8px; background: #fff; }
.seo-explainer > div { padding: 15px 18px; display: grid; grid-template-columns: 155px 1fr; gap: 14px; align-items: center; }
.seo-explainer > div + div { border-left: 1px solid var(--pro-line-soft); }
.seo-explainer strong { color: var(--pro-text); font-size: 12px; }
.seo-explainer span { color: var(--pro-muted); font-size: 10px; line-height: 1.5; }
.seo-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.seo-metrics .metric-card { cursor: default; }
.seo-run-panel { margin-bottom: 18px; }
.seo-table td:nth-child(1) { min-width: 210px; }
.seo-table td:nth-child(3) { min-width: 170px; }
.seo-table td:nth-child(4) { min-width: 190px; }
.seo-score { width: 46px; height: 46px; display: inline-grid; place-items: center; border: 1px solid #d8d8db; border-radius: 50%; color: var(--pro-text); background: #f4f4f5; font-size: 14px; font-weight: 750; }
.seo-score-good { color: #25713a; border-color: #b9ddc1; background: #eef8f0; }
.seo-score-medium { color: #976515; border-color: #ead3a8; background: #fff8e9; }
.seo-score-low { color: #a72b2b; border-color: #e7baba; background: #fff1f1; }
.seo-score-pending { color: var(--pro-muted); }
.seo-state, .google-state { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px; border-radius: 4px; color: #58585d; background: #f0f0f2; font-size: 10px; font-weight: 700; }
.seo-state-indexable, .google-state-pass { color: #25713a; background: #eef8f0; }
.seo-state-blocked, .seo-state-error, .google-state-fail, .google-state-error { color: #a72b2b; background: #fff1f1; }
.google-state-none, .google-state-no_data { color: #67676c; background: #f1f1f2; }
.seo-table td small { margin-top: 4px; display: block; color: var(--pro-muted); font-size: 9px; }
.issue-count { font-size: 17px; }
.issue-count.has-critical { color: var(--pro-red); }
.settings-grid.gsc-settings { grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); }
.settings-panel > header { margin-bottom: 18px; }
.setup-state { margin-bottom: 18px; padding: 14px 16px; border-left: 3px solid var(--pro-dark); background: #f6f6f7; }
.setup-state strong, .setup-state p { display: block; }
.setup-state p { margin: 5px 0 0; color: var(--pro-muted); font-size: 11px; line-height: 1.5; }
.setup-warning { border-color: var(--pro-amber); background: var(--pro-amber-soft); }
.setup-success { border-color: var(--pro-green); background: var(--pro-green-soft); }
.config-example { padding: 16px; overflow: auto; border-radius: 6px; color: #eee; background: #242426; font-size: 11px; line-height: 1.65; }
.button-row { display: flex; gap: 10px; flex-wrap: wrap; }
.definition-list { margin: 0; }
.definition-list > div { padding: 12px 0; border-bottom: 1px solid var(--pro-line-soft); }
.definition-list > div:first-child { padding-top: 0; }
.definition-list > div:last-child { border-bottom: 0; }
.definition-list dt { margin-bottom: 4px; color: var(--pro-text); font-size: 11px; font-weight: 720; }
.definition-list dd { margin: 0; color: var(--pro-muted); font-size: 10px; line-height: 1.55; }
.site-seo-panel { margin-bottom: 20px; }
.site-seo-summary { display: grid; grid-template-columns: 150px repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--pro-line-soft); }
.site-seo-summary article { min-height: 118px; padding: 17px 20px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--pro-line-soft); }
.site-seo-summary article:last-child { border-right: 0; }
.site-seo-summary span, .site-seo-summary small { color: var(--pro-muted); font-size: 10px; }
.site-seo-summary strong:not(.seo-score) { margin: 8px 0 6px; color: var(--pro-text); font-size: 14px; }
.site-seo-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.search-performance { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--pro-line-soft); background: #fafafa; }
.search-performance > div { padding: 14px 20px; border-right: 1px solid var(--pro-line-soft); }
.search-performance > div:last-child { border-right: 0; }
.search-performance span, .search-performance small, .search-performance strong { display: block; }
.search-performance span, .search-performance small { color: var(--pro-muted); font-size: 9px; }
.search-performance strong { margin: 5px 0 3px; color: var(--pro-text); font-size: 19px; }
.seo-detail-grid { padding: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.seo-detail-grid h3 { margin: 0 0 12px; font-size: 13px; }
.seo-facts { margin: 0; }
.seo-facts > div { padding: 9px 0; display: grid; grid-template-columns: 115px 1fr; gap: 12px; border-bottom: 1px solid var(--pro-line-soft); }
.seo-facts dt { color: var(--pro-muted); font-size: 10px; }
.seo-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--pro-text); font-size: 10px; line-height: 1.45; }
.seo-facts dd small { margin-left: 5px; color: var(--pro-muted); }
.seo-issues { display: grid; gap: 7px; }
.seo-issue { padding: 10px 12px; display: grid; grid-template-columns: 62px 1fr; gap: 10px; border-left: 3px solid #c8c8cc; background: #f7f7f8; }
.seo-issue strong { color: #68686d; font-size: 9px; text-transform: uppercase; }
.seo-issue span { color: #55555a; font-size: 10px; line-height: 1.45; }
.seo-issue-critical, .seo-issue-high { border-color: var(--pro-red); background: var(--pro-red-soft); }
.seo-issue-medium { border-color: var(--pro-amber); background: var(--pro-amber-soft); }

@media (max-width: 1200px) {
    .seo-metrics { grid-template-columns: repeat(3, 1fr); }
    .site-seo-summary { grid-template-columns: 1fr 1fr; }
    .site-seo-summary article:nth-child(2) { border-right: 0; }
    .site-seo-summary article:nth-child(-n+2) { border-bottom: 1px solid var(--pro-line-soft); }
}
@media (max-width: 820px) {
    .seo-explainer, .settings-grid.gsc-settings, .seo-detail-grid { grid-template-columns: 1fr; }
    .seo-explainer > div { grid-template-columns: 1fr; gap: 5px; }
    .seo-explainer > div + div { border-left: 0; border-top: 1px solid var(--pro-line-soft); }
    .seo-metrics { grid-template-columns: 1fr 1fr; }
    .search-performance { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .seo-metrics, .site-seo-summary { grid-template-columns: 1fr; }
    .site-seo-summary article { border-right: 0; border-bottom: 1px solid var(--pro-line-soft); }
    .seo-facts > div { grid-template-columns: 1fr; gap: 4px; }
}

body { background: var(--pro-bg); color: var(--pro-text); font-size: 13px; }
.app-shell { grid-template-columns: 236px minmax(0, 1fr); }
.sidebar { height: calc(100vh - 12px); margin: 6px; padding: 18px 10px 14px; color: var(--pro-text); background: var(--pro-surface); border: 1px solid var(--pro-line); border-radius: 8px; box-shadow: none; }
.brand { min-height: 52px; gap: 10px; padding: 0 12px; color: var(--pro-text); }
.brand:hover { color: var(--pro-text); }
.brand-logo { width: 27px; height: 35px; flex: 0 0 auto; object-fit: contain; }
.brand strong { color: var(--pro-text); font-size: 14px; font-weight: 700; }
.brand small { color: #929295; font-size: 8px; letter-spacing: .05em; }
.nav-list { margin-top: 18px; gap: 2px; }
.nav-heading { margin: 15px 14px 7px; color: #929295; font-size: 9px; letter-spacing: .06em; }
.nav-list a { min-height: 38px; padding: 0 13px; border-radius: 6px; color: #55555a; font-size: 11px; font-weight: 580; }
.nav-list a:hover { color: var(--pro-text); background: #f2f2f3; }
.nav-list a.active { color: #fff; background: var(--pro-dark); box-shadow: 0 3px 8px rgba(30, 30, 34, .16); font-weight: 680; }
.sidebar-footer { border-color: var(--pro-line); }
.user-chip { padding: 0 12px; }
.user-chip strong { color: var(--pro-text); font-size: 10px; }
.user-chip small { color: var(--pro-muted); font-size: 8px; }
.link-button { color: var(--pro-text); font-size: 10px; }

.content-area { width: min(1780px, 100%); padding: 24px clamp(18px, 2.2vw, 34px) 60px; }
.dashboard-heading { min-height: 112px; margin: 0; align-items: center; }
.dashboard-path { margin: 0 0 16px; color: var(--pro-text); font-size: 11px; }
.dashboard-path span { color: #939397; }
.dashboard-heading h1 { margin: 0 0 3px; font-size: 25px; font-weight: 720; letter-spacing: -.035em; }
.dashboard-updated { color: var(--pro-muted); font-size: 11px; }
.dashboard-updated i { width: 7px; height: 7px; margin-right: 6px; display: inline-block; border-radius: 50%; background: var(--pro-green); box-shadow: 0 0 0 3px var(--pro-green-soft); }
.dashboard-guide { margin: 8px 0 0; color: #89898d; font-size: 9px; }
.heading-actions { align-self: flex-start; gap: 8px; }
.button { min-height: 38px; padding: 0 16px; border-radius: 7px; font-size: 11px; font-weight: 650; }
.button-primary { color: #fff; border-color: var(--pro-dark); background: var(--pro-dark); box-shadow: 0 3px 8px rgba(30, 30, 34, .13); }
.button-primary:hover { background: #171719; box-shadow: 0 4px 10px rgba(30, 30, 34, .16); }
.button-secondary { color: var(--pro-text); border-color: #cfd0d3; background: #fff; }
.button-secondary:hover { border-color: #9b9ba0; background: #fafafa; }
.button:disabled { cursor: wait; opacity: .72; }
.button-check-now { gap: 8px; }
.button-check-now svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.button-check-now:disabled svg { animation: manual-check-spin 1s linear infinite; }

.manual-check-panel { margin: 0 0 14px; padding: 13px 15px; display: grid; grid-template-columns: minmax(270px, 1fr) minmax(180px, .75fr) auto; align-items: center; gap: 16px; border: 1px solid #d8d8db; border-radius: 7px; background: #fff; }
.manual-check-panel[hidden] { display: none; }
.manual-check-status { min-width: 0; display: flex; align-items: center; gap: 11px; }
.manual-check-status > div { min-width: 0; }
.manual-check-status strong,
.manual-check-status span { display: block; }
.manual-check-status strong { margin-bottom: 3px; color: var(--pro-text); font-size: 11px; }
.manual-check-status span { overflow: hidden; color: var(--pro-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.manual-check-spinner { width: 23px; height: 23px; flex: 0 0 auto; border: 2px solid #e4e4e6; border-top-color: var(--pro-dark); border-radius: 50%; animation: manual-check-spin .9s linear infinite; }
.manual-check-panel.is-complete .manual-check-spinner { border-color: var(--pro-green); animation: none; }
.manual-check-panel.has-error { border-color: #e4bcbc; background: #fffafa; }
.manual-check-panel.has-error .manual-check-spinner { border-color: var(--pro-red); animation: none; }
.manual-check-panel progress { width: 100%; height: 6px; overflow: hidden; border: 0; border-radius: 10px; color: var(--pro-dark); background: #ececef; appearance: none; }
.manual-check-panel progress::-webkit-progress-bar { border-radius: 10px; background: #ececef; }
.manual-check-panel progress::-webkit-progress-value { border-radius: 10px; background: var(--pro-dark); transition: width .2s ease; }
.manual-check-panel progress::-moz-progress-bar { border-radius: 10px; background: var(--pro-dark); }
.manual-check-panel.is-complete progress::-webkit-progress-value { background: var(--pro-green); }
.manual-check-panel.is-complete progress::-moz-progress-bar { background: var(--pro-green); }
.manual-check-summary { display: flex; align-items: center; justify-content: flex-end; gap: 12px; white-space: nowrap; }
.manual-check-summary span { color: var(--pro-muted); font-size: 8px; }
.manual-check-summary b { margin-right: 2px; color: var(--pro-text); font-size: 10px; }
.manual-check-summary span:nth-child(2) b,
.manual-check-summary span:nth-child(3) b { color: var(--pro-amber); }
.manual-check-summary span:nth-child(4) b { color: var(--pro-red); }

@keyframes manual-check-spin { to { transform: rotate(360deg); } }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.metric-card { position: relative; min-height: 108px; padding: 15px 16px 13px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid var(--pro-line); border-radius: 8px; color: var(--pro-text); background: var(--pro-surface); box-shadow: 0 1px 2px rgba(24, 24, 28, .04); text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.metric-card:hover { border-color: #b8b8bc; box-shadow: 0 4px 12px rgba(24, 24, 28, .07); transform: translateY(-1px); }
.metric-card.is-selected { border-color: var(--pro-dark); box-shadow: inset 0 0 0 1px var(--pro-dark); }
.metric-card > span { color: var(--pro-muted); font-size: 11px; }
.metric-card > strong { margin: 7px 0 10px; font-size: 25px; line-height: 1; letter-spacing: -.035em; }
.metric-card > small { width: calc(100% + 32px); margin: auto -16px -13px; padding: 9px 16px 0; border-top: 1px solid var(--pro-line-soft); color: var(--pro-muted); font-size: 9px; }
.metric-card small b { color: var(--pro-green); }
.metric-card.metric-warning small b { color: var(--pro-amber); }
.metric-card.metric-critical small b { color: var(--pro-red); }
.metric-card:focus-visible { outline: 2px solid #1f6feb; outline-offset: 2px; }

.analytics-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.analytics-card { min-width: 0; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 8px; background: var(--pro-surface); box-shadow: 0 1px 2px rgba(24, 24, 28, .04); }
.analytics-card > header { min-height: 72px; padding: 16px 16px 6px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.analytics-card h2 { margin: 0; font-size: 13px; font-weight: 720; }
.analytics-card header p { margin: 4px 0 0; color: var(--pro-muted); font-size: 10px; }
.analytics-card header > strong { color: var(--pro-text); font-size: 16px; }
.trend-chart { width: 100%; height: 156px; display: block; padding: 4px 8px 0; overflow: visible; }
.trend-chart line { stroke: #e3e3e6; stroke-width: 1; }
.trend-chart text { fill: #7d7d81; font-size: 9px; }
.trend-chart rect { fill: var(--pro-green); }
.trend-chart polyline { fill: none; stroke: var(--pro-green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.trend-chart circle { fill: var(--pro-green); }
.incident-chart polyline { stroke: var(--pro-red); }
.incident-chart circle { fill: var(--pro-red); }
.analytics-card > footer { min-height: 42px; padding: 12px 16px; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--pro-line-soft); color: var(--pro-muted); font-size: 9px; }
.analytics-card footer strong { color: var(--pro-text); font-weight: 620; }

.operation-note { min-height: 44px; margin-top: 18px; padding: 0 14px; border: 1px solid var(--pro-line); border-radius: 7px; background: #fafafa; }
.operation-state { padding: 0 12px 0 0; border: 0; border-right: 1px solid var(--pro-line); border-radius: 0; color: var(--pro-muted); background: transparent; font-size: 8px; }
.operation-note p { color: var(--pro-muted); font-size: 10px; }
.operation-note a { padding: 0; color: var(--pro-text); font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
.operation-note a:hover { background: transparent; }

.attention-section,
.monitoring-section { margin-top: 18px; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 8px; background: var(--pro-surface); box-shadow: 0 1px 2px rgba(24, 24, 28, .04); }
.section-heading { min-height: 72px; padding: 15px 16px; border-bottom: 1px solid var(--pro-line); }
.section-heading h2 { margin: 0 0 4px; font-size: 14px; font-weight: 720; }
.section-heading > div > span { color: var(--pro-muted); font-size: 10px; }
.plain-count { padding: 6px 10px; border-radius: 5px; color: var(--pro-red); background: var(--pro-red-soft); font-size: 9px; }
.incident-list { padding: 0; gap: 0; }
.incident-row { min-height: 60px; padding: 10px 16px; grid-template-columns: 55px minmax(0, 1fr) auto; border: 0 !important; border-bottom: 1px solid var(--pro-line-soft) !important; border-radius: 0; }
.incident-row:last-child { border-bottom: 0 !important; }
.incident-row:hover { background: #fafafa; }
.incident-level { padding: 4px 7px; border-radius: 4px; color: #7a4700; background: var(--pro-amber-soft); font-size: 8px; }
.incident-row.severity-critical .incident-level { color: #aa2525; background: var(--pro-red-soft); }
.incident-row strong { color: var(--pro-text); font-size: 11px; }
.incident-row small { color: var(--pro-muted); font-size: 9px; }
.incident-row time { color: var(--pro-muted); font-size: 9px; }

.table-heading { min-height: 78px; }
.filters { gap: 8px; align-items: flex-end; }
.filter-control { display: grid; gap: 5px; }
.filter-control > span { color: var(--pro-muted); font-size: 8px; font-weight: 650; letter-spacing: .02em; }
.filters select,
.search-field input { height: 36px; border: 1px solid #d5d5d8; border-radius: 6px; color: var(--pro-text); background: #fff; font-size: 10px; }
.filters select { padding-left: 10px; }
.search-field input { width: 220px; padding: 0 11px; }
.filters input:focus,
.filters select:focus,
input:focus,
select:focus { border-color: #8f8f94; box-shadow: 0 0 0 2px rgba(50, 50, 55, .08); }
.data-table th { padding: 10px 12px; color: #88888d; background: #fafafa; font-size: 8px; }
.data-table td { padding: 11px 12px; border-color: var(--pro-line-soft); color: #56565a; font-size: 9px; }
.data-table tbody tr:hover { background: #fafafa; }
.site-row-warning,
.site-row-error,
.site-row-down { background: transparent; }
.site-row-warning { box-shadow: inset 3px 0 var(--pro-amber); }
.site-row-error,
.site-row-down { box-shadow: inset 3px 0 var(--pro-red); }
.domain-cell strong { color: var(--pro-text); font-size: 10px; }
.domain-cell small { color: var(--pro-muted); font-size: 8px; }
.status-pill { min-height: 22px; padding: 0 7px; border-radius: 4px; font-size: 8px; }
.status-pill.status-ok { color: #287d32; background: var(--pro-green-soft) !important; }
.status-pill.status-warning { color: #8a5200; background: var(--pro-amber-soft) !important; }
.status-pill.status-error,
.status-pill.status-down { color: #b02a2a; background: var(--pro-red-soft) !important; }
.diagnostic-text { font-size: 9px; }
.row-link { min-height: 26px; padding: 0 8px; border-radius: 5px; color: var(--pro-text); font-size: 9px; }
.row-link:hover { background: #eeeeef; }
.clear-filters { height: 36px; padding: 0 12px; border: 1px solid #d5d5d8; border-radius: 6px; color: var(--pro-text); background: #fff; font-size: 9px; font-weight: 650; cursor: pointer; }
.clear-filters:hover { border-color: #9b9ba0; background: #f7f7f8; }
.filter-empty { padding: 44px 20px; border-top: 1px solid var(--pro-line-soft); text-align: center; }
.filter-empty strong { display: block; color: var(--pro-text); font-size: 13px; }
.filter-empty p { margin: 6px 0 14px; color: var(--pro-muted); font-size: 10px; }
.filter-empty button { padding: 8px 12px; border: 1px solid #d5d5d8; border-radius: 6px; color: var(--pro-text); background: #fff; font-size: 9px; cursor: pointer; }

.auth-brand { margin-bottom: 20px; display: flex; align-items: center; gap: 12px; }
.auth-brand img { width: 38px; height: 49px; object-fit: contain; }
.auth-brand strong { color: var(--pro-text); font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.login-card { border: 1px solid var(--pro-line); border-radius: 10px; box-shadow: 0 8px 26px rgba(24, 24, 28, .07); }
.mobile-header .brand-logo { width: 18px; height: 24px; }

.panel,
.setup-banner,
.sync-strip,
.connection-card,
.config-card,
.history-card,
.upload-card,
.mapping-card,
.alert-status-card,
.alert-rule-card { border: 1px solid var(--pro-line); border-radius: 8px; background: #fff; box-shadow: 0 1px 2px rgba(24, 24, 28, .04); }
.mobile-header { color: var(--pro-text); background: #fff; border-bottom: 1px solid var(--pro-line); box-shadow: none; }
.mobile-header .brand { color: var(--pro-text); }
.menu-button { border-radius: 6px; color: var(--pro-text); border-color: #cfcfd2; }

@media (max-width: 1200px) {
    .analytics-grid { grid-template-columns: 1fr 1fr; }
    .analytics-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .metric-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
    .sidebar { width: 250px; height: 100vh; margin: 0; border-width: 0 1px 0 0; border-radius: 0; }
    .content-area { padding: 22px 14px 48px; }
    .dashboard-heading { align-items: flex-start; }
    .dashboard-path { margin-bottom: 16px; }
}

@media (max-width: 620px) {
    .metric-grid,
    .analytics-grid { grid-template-columns: 1fr; }
    .analytics-card:last-child { grid-column: auto; }
    .dashboard-heading h1 { font-size: 24px; }
    .heading-actions { width: 100%; }
    .metric-card { min-height: 100px; }
    .trend-chart { height: 148px; }
    .operation-note { padding: 10px 12px; align-items: flex-start; }
    .operation-state { border-right: 0; }
    .incident-row { grid-template-columns: 50px 1fr; }
    .section-heading { padding: 14px; }
    .filters { align-items: stretch; }
    .filter-control { width: 100%; }
    .search-field input,
    .filters select,
    .clear-filters { width: 100%; }
}

/* Dashboard limpio */
.app-shell { grid-template-columns: 218px minmax(0, 1fr); }
.sidebar { padding-top: 16px; }
.content-area { width: min(1480px, 100%); padding: 26px clamp(18px, 2.4vw, 36px) 56px; }
.dashboard-heading { display: flex; justify-content: space-between; gap: 24px; min-height: 100px; }
.clean-heading .heading-actions { align-self: center; display: flex; }
.clean-metrics { gap: 12px; }
.clean-metrics .metric-card { min-height: 98px; border-radius: 7px; box-shadow: none; }
.clean-metrics .metric-card.is-selected { border-color: #aaaab0; box-shadow: none; }
.clean-metrics .metric-card.metric-review > strong { color: var(--pro-amber); }
.clean-metrics .metric-card.metric-critical > strong { color: var(--pro-red); }

.performance-strip { margin-top: 14px; display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 2.3fr); align-items: stretch; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 8px; background: #fff; }
.performance-strip > header { padding: 16px 18px; display: flex; align-items: center; border-right: 1px solid var(--pro-line-soft); }
.performance-strip h2 { margin: 0; font-size: 13px; }
.performance-strip p { margin: 4px 0 0; color: var(--pro-muted); font-size: 9px; }
.performance-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.performance-values article { min-width: 0; padding: 15px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--pro-line-soft); }
.performance-values article:last-child { border-right: 0; }
.performance-values span { color: var(--pro-muted); font-size: 9px; }
.performance-values strong { margin-top: 5px; color: var(--pro-text); font-size: 17px; line-height: 1; letter-spacing: -.025em; }
.performance-values strong.is-critical { color: var(--pro-red); }

.attention-section,
.monitoring-section { box-shadow: none; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.plain-count { min-width: 28px; text-align: center; }
.clean-list .table-heading { align-items: flex-end; }
.clean-list .monitoring-table { min-width: 880px; }
.clean-list .site-diagnostic { max-width: 360px; }
.clean-list .diagnostic-text { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-row-blocked { box-shadow: inset 3px 0 #607d9b; }
.site-row-checking { box-shadow: inset 3px 0 #9a8d68; }
.status-pill.status-blocked { color: #41627f; background: #edf3f8 !important; }
.status-pill.status-checking { color: #71633d; background: #f5f1e6 !important; }
.status-pill.status-pending,
.status-pill.status-paused { color: #666c75; background: #f0f1f3 !important; }
.stat-dot.blocked { background: #607d9b; box-shadow: 0 0 0 6px rgba(96, 125, 155, .1); }
.stat-dot.checking { background: #9a8d68; box-shadow: 0 0 0 6px rgba(154, 141, 104, .1); }
.alert-notice { color: #5e512d; border-color: #ddd2b4; background: #faf7ee; }
.site-status { white-space: nowrap; }
.site-reviewed { white-space: nowrap; }

@media (max-width: 1100px) {
    .manual-check-panel { grid-template-columns: minmax(240px, 1fr) minmax(180px, .8fr); }
    .manual-check-summary { grid-column: 1 / -1; justify-content: flex-start; padding-left: 34px; }
    .performance-strip { grid-template-columns: 1fr; }
    .performance-strip > header { border-right: 0; border-bottom: 1px solid var(--pro-line-soft); }
}

@media (max-width: 820px) {
    .app-shell { display: block; }
    .dashboard-heading { min-height: auto; margin-bottom: 18px; }
    .performance-values { grid-template-columns: 1fr 1fr; }
    .performance-values article:nth-child(2) { border-right: 0; }
    .performance-values article:nth-child(-n+2) { border-bottom: 1px solid var(--pro-line-soft); }
    .clean-list .table-heading { align-items: stretch; flex-direction: column; }
    .filters { width: 100%; }
    .filter-control.search-field { flex: 1; }
    .search-field input { width: 100%; }
}

@media (max-width: 700px) {
    .clean-list .table-wrap { overflow: visible; }
    .clean-list .monitoring-table,
    .clean-list .monitoring-table tbody { min-width: 0; display: block; }
    .clean-list .monitoring-table thead { display: none; }
    .clean-list .monitoring-table tr { margin: 0; padding: 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; border-bottom: 1px solid var(--pro-line-soft); box-shadow: none; }
    .clean-list .monitoring-table tr:last-child { border-bottom: 0; }
    .clean-list .monitoring-table td { padding: 0; display: block; border: 0; }
    .clean-list .site-primary { grid-column: 1; }
    .clean-list .site-status { grid-column: 2; grid-row: 1; text-align: right; }
    .clean-list .site-diagnostic { grid-column: 1 / -1; max-width: none; }
    .clean-list .site-diagnostic .diagnostic-text { white-space: normal; }
    .clean-list .site-http,
    .clean-list .site-response { display: none; }
    .clean-list .site-reviewed { grid-column: 1; grid-row: 3; color: var(--pro-muted); font-size: 8px; }
    .clean-list .site-reviewed::before { content: "Revisión "; }
    .clean-list .site-action { grid-column: 2; grid-row: 3; text-align: right; }
    .clean-list .site-hosting { display: none !important; }
}

@media (max-width: 620px) {
    .clean-heading .heading-actions { width: 100%; flex-wrap: wrap; }
    .clean-heading .heading-actions .button-check-now { width: 100%; flex: 0 0 100%; }
    .clean-heading .heading-actions .button-secondary { flex: 1; }
    .manual-check-panel { grid-template-columns: 1fr; gap: 12px; }
    .manual-check-status span { white-space: normal; }
    .manual-check-summary { grid-column: auto; padding-left: 34px; flex-wrap: wrap; justify-content: flex-start; gap: 7px 12px; }
    .performance-values { grid-template-columns: 1fr 1fr; }
    .filters { flex-direction: column; }
    .incident-row { grid-template-columns: 48px minmax(0, 1fr); }
    .incident-row time { grid-column: 2; }
}

/* Softtalia Monitor · 1.2 · amplitud y claridad operativa */
body { font-size: 15px; }
.app-shell { grid-template-columns: 244px minmax(0, 1fr); }
.sidebar { padding: 20px 12px 16px; }
.brand { min-height: 58px; padding: 0 13px; }
.brand-logo { width: 32px; height: 41px; }
.brand strong { font-size: 15px; }
.brand small { margin-top: 2px; font-size: 9px; letter-spacing: .025em; }
.nav-list { margin-top: 21px; }
.nav-heading { margin: 17px 14px 8px; font-size: 10px; }
.nav-list a { min-height: 42px; padding: 0 14px; font-size: 12px; }
.user-chip strong { font-size: 12px; }
.user-chip small,
.link-button { font-size: 10px; }

.content-area { width: 100%; max-width: none; margin: 0; padding: 30px clamp(24px, 2.8vw, 52px) 72px; }
.dashboard-heading { min-height: 118px; gap: 30px; }
.dashboard-path { margin-bottom: 14px; font-size: 12px; }
.dashboard-heading h1 { margin-bottom: 6px; font-size: 32px; line-height: 1.08; }
.dashboard-updated { font-size: 12px; }
.dashboard-updated i { width: 8px; height: 8px; }
.heading-actions { gap: 10px; }
.button { min-height: 43px; padding: 0 18px; border-radius: 7px; font-size: 13px; }
.button-check-now { min-width: 180px; }
.button-check-now svg { width: 16px; height: 16px; }

.manual-check-workspace { margin: 0 0 20px; overflow: hidden; border: 1px solid #d7d7da; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px rgba(24, 24, 28, .05); }
.manual-check-workspace[hidden] { display: none; }
.manual-check-header { min-height: 78px; padding: 15px 20px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--pro-line-soft); }
.manual-check-status { min-width: 0; display: flex; align-items: center; gap: 13px; }
.manual-check-status > div { min-width: 0; }
.manual-check-status strong,
.manual-check-status span { display: block; }
.manual-check-status strong { margin-bottom: 4px; color: var(--pro-text); font-size: 15px; }
.manual-check-status span { overflow: hidden; color: var(--pro-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.manual-check-spinner { width: 30px; height: 30px; flex: 0 0 auto; border: 3px solid #e4e4e6; border-top-color: var(--pro-dark); border-radius: 50%; animation: manual-check-spin .9s linear infinite; }
.manual-check-workspace.is-complete .manual-check-spinner { border-color: var(--pro-green); animation: none; }
.manual-check-workspace.has-error { border-color: #e1b1b1; }
.manual-check-workspace.has-error .manual-check-spinner { border-color: var(--pro-red); animation: none; }
.manual-check-counter { display: flex; align-items: baseline; gap: 7px; white-space: nowrap; }
.manual-check-counter strong { color: var(--pro-text); font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.manual-check-counter span { color: var(--pro-muted); font-size: 11px; }
.manual-check-overview { padding: 17px 20px; display: grid; grid-template-columns: minmax(300px, 1.1fr) minmax(420px, 1fr); align-items: center; gap: 28px; border-bottom: 1px solid var(--pro-line-soft); background: #fbfbfc; }
.manual-progress-block > div { margin-bottom: 9px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.manual-progress-block span { color: var(--pro-muted); font-size: 11px; }
.manual-progress-block strong { color: var(--pro-text); font-size: 13px; }
.manual-progress-block progress { width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 10px; color: var(--pro-dark); background: #e6e6e8; appearance: none; }
.manual-progress-block progress::-webkit-progress-bar { border-radius: 10px; background: #e6e6e8; }
.manual-progress-block progress::-webkit-progress-value { border-radius: 10px; background: var(--pro-dark); transition: width .2s ease; }
.manual-progress-block progress::-moz-progress-bar { border-radius: 10px; background: var(--pro-dark); }
.manual-check-workspace.is-complete progress::-webkit-progress-value { background: var(--pro-green); }
.manual-check-workspace.is-complete progress::-moz-progress-bar { background: var(--pro-green); }
.manual-check-summary { display: grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 8px; white-space: normal; }
.manual-check-summary span { min-height: 50px; padding: 8px 10px; display: flex; flex-direction: column; justify-content: center; border-left: 2px solid #d6d6d9; color: var(--pro-muted); font-size: 10px; }
.manual-check-summary b { margin: 0 0 3px; color: var(--pro-text); font-size: 17px; }
.manual-check-summary span:nth-child(2) { border-color: var(--pro-amber); }
.manual-check-summary span:nth-child(2) b,
.manual-check-summary span:nth-child(3) b { color: var(--pro-amber); }
.manual-check-summary span:nth-child(4) { border-color: var(--pro-red); }
.manual-check-summary span:nth-child(4) b { color: var(--pro-red); }
.manual-results-wrap { max-height: 390px; overflow: auto; }
.manual-results-table { width: 100%; min-width: 900px; border-collapse: collapse; }
.manual-results-table th { position: sticky; top: 0; z-index: 1; padding: 11px 15px; color: #77777c; background: #f6f6f7; border-bottom: 1px solid var(--pro-line); font-size: 10px; font-weight: 700; letter-spacing: .035em; text-align: left; text-transform: uppercase; }
.manual-results-table td { padding: 12px 15px; border-bottom: 1px solid var(--pro-line-soft); color: #55555a; font-size: 11px; vertical-align: middle; }
.manual-results-table tr:last-child td { border-bottom: 0; }
.manual-results-table tbody tr:hover { background: #fafafa; }
.manual-results-table td:first-child { width: 48px; color: #8b8b90; }
.manual-results-table td:nth-child(2) { min-width: 210px; }
.manual-results-table td:nth-child(3) { width: 135px; }
.manual-results-table td:nth-child(4),
.manual-results-table td:nth-child(5) { width: 95px; white-space: nowrap; }
.manual-results-table td:nth-child(6) { min-width: 280px; }
.manual-results-table td strong,
.manual-results-table td small { display: block; }
.manual-results-table td strong { color: var(--pro-text); font-size: 12px; }
.manual-results-table td small { margin-top: 2px; color: var(--pro-muted); font-size: 9px; }
.manual-results-table [data-manual-empty] td { padding: 30px; color: var(--pro-muted); text-align: center; }
.status-pill.status-internal_error { color: #a72b2b; background: var(--pro-red-soft) !important; }

.metric-grid { gap: 16px; }
.clean-metrics .metric-card { min-height: 126px; padding: 18px 20px 16px; }
.metric-card > span { font-size: 13px; }
.metric-card > strong { margin: 10px 0 14px; font-size: 35px; }
.metric-card > small { width: calc(100% + 40px); margin: auto -20px -16px; padding: 11px 20px 0; font-size: 11px; }

.performance-strip { margin-top: 18px; grid-template-columns: minmax(240px, .75fr) minmax(0, 2.4fr); }
.performance-strip > header { padding: 20px 22px; }
.performance-strip h2 { font-size: 16px; }
.performance-strip p { margin-top: 6px; font-size: 11px; }
.performance-values article { min-height: 86px; padding: 17px 22px; }
.performance-values span { font-size: 11px; }
.performance-values strong { margin-top: 8px; font-size: 22px; }

.attention-section,
.monitoring-section { margin-top: 20px; }
.section-heading { min-height: 88px; padding: 18px 20px; }
.section-heading h2 { margin-bottom: 6px; font-size: 18px; }
.section-heading > div > span { font-size: 12px; }
.plain-count { min-width: 34px; padding: 8px 11px; font-size: 11px; }
.incident-row { min-height: 70px; padding: 13px 20px; grid-template-columns: 66px minmax(0, 1fr) auto; }
.incident-level { padding: 5px 9px; font-size: 9px; }
.incident-row strong { font-size: 13px; }
.incident-row small,
.incident-row time { font-size: 11px; }

.filters { gap: 10px; }
.filter-control > span { font-size: 10px; }
.filters select,
.search-field input,
.clear-filters { height: 42px; font-size: 12px; }
.search-field input { width: 280px; }
.clear-filters { padding: 0 16px; }
.clean-list .monitoring-table { min-width: 1050px; }
.data-table th { padding: 13px 16px; font-size: 10px; }
.data-table td { padding: 15px 16px; font-size: 12px; }
.domain-cell strong { font-size: 13px; }
.domain-cell small { margin-top: 3px; font-size: 10px; }
.status-pill { min-height: 27px; padding: 0 9px; font-size: 10px; }
.diagnostic-text { font-size: 11px; }
.row-link { min-height: 31px; padding: 0 11px; font-size: 11px; }

@media (max-width: 1180px) {
    .manual-check-overview { grid-template-columns: 1fr; gap: 17px; }
    .manual-check-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .metric-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
    .app-shell { display: block; }
    .content-area { padding: 24px 16px 52px; }
    .dashboard-heading { min-height: auto; margin-bottom: 22px; }
    .dashboard-heading h1 { font-size: 29px; }
    .manual-check-header { align-items: flex-start; }
    .manual-check-status span { white-space: normal; }
    .manual-check-counter { padding-top: 2px; }
    .clean-list .table-heading { align-items: stretch; }
}

@media (max-width: 620px) {
    .dashboard-heading h1 { font-size: 27px; }
    .clean-heading .heading-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .clean-heading .heading-actions .button-check-now { grid-column: 1 / -1; width: 100%; min-width: 0; }
    .clean-heading .heading-actions .button-secondary { width: 100%; }
    .manual-check-header { padding: 14px; }
    .manual-check-counter strong { font-size: 23px; }
    .manual-check-counter span { font-size: 9px; }
    .manual-check-overview { padding: 14px; }
    .manual-check-summary { grid-template-columns: 1fr 1fr; }
    .manual-check-summary span { min-height: 46px; }
    .metric-grid { grid-template-columns: 1fr; }
    .clean-metrics .metric-card { min-height: 116px; }
    .performance-values span { font-size: 10px; }
    .performance-values strong { font-size: 19px; }
    .section-heading { min-height: 78px; padding: 15px; }
}

/* Softtalia Monitor · 1.3 · análisis operativo */
.performance-values span small { margin-top: 3px; display: block; color: #9a9a9e; font-size: 9px; font-weight: 600; letter-spacing: .035em; text-transform: uppercase; }

.control-center { margin-top: 20px; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 8px; background: #fff; }
.control-heading { border-bottom: 1px solid var(--pro-line); }
.analysis-period { padding: 7px 10px; border: 1px solid #d8d8db; border-radius: 5px; color: var(--pro-muted); background: #fafafa; font-size: 10px; font-weight: 650; white-space: nowrap; }
.control-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--pro-line); }
.control-overview article { min-height: 102px; padding: 17px 20px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--pro-line-soft); }
.control-overview article:last-child { border-right: 0; }
.control-overview span,
.control-overview strong,
.control-overview small { display: block; }
.control-overview span { color: var(--pro-muted); font-size: 11px; }
.control-overview strong { margin: 7px 0 6px; color: var(--pro-text); font-size: 27px; line-height: 1; letter-spacing: -.035em; }
.control-overview small { color: #8b8b90; font-size: 10px; }
.control-overview .needs-attention { box-shadow: inset 0 3px var(--pro-amber); }
.control-overview .needs-attention strong { color: var(--pro-amber); }

.insight-grid { padding: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; background: #f7f7f8; }
.insight-card { min-width: 0; overflow: hidden; border: 1px solid #dddde0; border-radius: 7px; background: #fff; }
.insight-card > header { min-height: 76px; padding: 15px 16px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--pro-line-soft); }
.insight-card h3 { margin: 0 0 5px; color: var(--pro-text); font-size: 14px; font-weight: 720; }
.insight-card header p { margin: 0; color: var(--pro-muted); font-size: 10px; line-height: 1.45; }
.insight-card header > span { padding: 5px 7px; border-radius: 4px; color: #68686d; background: #f0f0f2; font-size: 9px; font-weight: 700; white-space: nowrap; }
.insight-list a { min-height: 64px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--pro-line-soft); color: inherit; }
.insight-list a:last-child { border-bottom: 0; }
.insight-list a:hover { background: #fafafa; }
.insight-list a > div { min-width: 0; }
.insight-list strong,
.insight-list small { display: block; }
.insight-list strong { overflow: hidden; color: var(--pro-text); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.insight-list small { margin-top: 4px; color: var(--pro-muted); font-size: 9px; line-height: 1.35; }
.insight-list a > b { flex: 0 0 auto; color: var(--pro-text); font-size: 12px; font-weight: 720; white-space: nowrap; }
.insight-list a > b.ssl-indicator { min-width: 38px; padding: 6px 7px; border-radius: 5px; color: var(--pro-amber); background: var(--pro-amber-soft); text-align: center; }
.insight-list a > b.ssl-indicator.is-critical { color: var(--pro-red); background: var(--pro-red-soft); }
.insight-empty { min-height: 108px; padding: 22px; display: grid; place-items: center; color: var(--pro-muted); font-size: 10px; line-height: 1.5; text-align: center; }
.insight-empty.insight-ok { color: #397b42; background: #fbfefb; }

@media (max-width: 1320px) {
    .insight-grid { grid-template-columns: 1fr 1fr; }
    .insight-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
    .control-overview { grid-template-columns: 1fr 1fr; }
    .control-overview article:nth-child(2) { border-right: 0; }
    .control-overview article:nth-child(-n+2) { border-bottom: 1px solid var(--pro-line-soft); }
    .insight-grid { grid-template-columns: 1fr; }
    .insight-card:last-child { grid-column: auto; }
}

@media (max-width: 620px) {
    .analysis-period { display: none; }
    .control-overview article { min-height: 94px; padding: 14px; }
    .control-overview strong { font-size: 24px; }
    .control-overview span { font-size: 10px; }
    .control-overview small { font-size: 9px; }
    .insight-grid { padding: 12px; gap: 12px; }
    .insight-card > header { min-height: 70px; padding: 13px; }
    .insight-list a { padding: 11px 13px; }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/seo-control.css ---- */
/* Softtalia Monitor · SEO workspace · 2.0 */
:root {
    --work-bg: #f3f4f6;
    --work-surface: #fff;
    --work-ink: #1d1e22;
    --work-muted: #70737b;
    --work-line: #dfe1e5;
    --work-line-soft: #eceef0;
    --work-dark: #25262b;
    --work-green: #27864a;
    --work-red: #c94444;
    --work-amber: #a36c16;
}

.settings-grid { display: grid; gap: 20px; }
[hidden] { display: none !important; }
.section-kicker { display: block; margin: 0 0 7px; color: #8a8d94; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.quiet-link { color: #42444a; font-size: 11px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.text-button { padding: 0; color: #4e5056; border: 0; background: transparent; cursor: pointer; font-size: 11px; font-weight: 750; }

/* SEO portfolio dashboard */
.seo-command-page { color: var(--work-ink); }
.seo-command-heading { min-height: 106px; margin-bottom: 14px; }
.seo-command-heading h1 { font-size: clamp(30px, 3vw, 42px); letter-spacing: -.05em; }
.seo-command-heading .dashboard-updated { max-width: 720px; font-size: 12px; }
.heading-actions { gap: 8px; }
.button-scan { min-width: 210px; gap: 9px; }
.scan-button-icon { width: 14px; height: 14px; display: inline-block; position: relative; border: 1.5px solid currentColor; border-radius: 50%; }
.scan-button-icon::after { content: ""; width: 5px; height: 1.5px; position: absolute; right: -4px; bottom: -2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); }

.seo-command-center { min-height: 210px; margin-bottom: 12px; padding: 26px 28px; display: grid; grid-template-columns: 150px minmax(320px, 1.25fr) minmax(280px, .75fr); align-items: center; gap: 30px; overflow: hidden; border: 1px solid var(--work-line); border-radius: 9px; background: var(--work-surface); box-shadow: 0 5px 18px rgba(25,27,31,.04); }
.seo-health-score { width: 132px; height: 132px; position: relative; display: grid; place-items: center; }
.seo-health-score svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.seo-health-score circle { fill: none; stroke-width: 7; }
.seo-health-score .score-track { stroke: #eaebed; }
.seo-health-score .score-value { stroke: #34353a; stroke-linecap: round; }
.seo-health-score > div { position: absolute; text-align: center; }
.seo-health-score strong { display: block; color: #24252a; font-size: 38px; line-height: 1; letter-spacing: -.06em; }
.seo-health-score span { display: block; margin-top: 6px; color: #898b92; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.seo-command-copy .command-eyebrow { display: block; margin-bottom: 8px; color: #83858c; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.seo-command-copy h2 { max-width: 680px; margin: 0; color: #202126; font-size: clamp(25px, 2.2vw, 34px); line-height: 1.08; letter-spacing: -.045em; }
.seo-command-copy > p { max-width: 680px; margin: 11px 0 17px; color: #74767d; font-size: 12px; line-height: 1.55; }
.seo-status-line { display: flex; flex-wrap: wrap; gap: 10px 18px; color: #62646b; font-size: 10px; }
.seo-status-line span { display: inline-flex; align-items: center; gap: 7px; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #9a9ca2; }
.status-dot-good { background: var(--work-green); }
.status-dot-critical { background: var(--work-red); }
.seo-google-coverage { align-self: stretch; padding: 22px; display: flex; flex-direction: column; justify-content: center; border: 1px solid #e5e6e8; border-radius: 7px; background: #f8f8f9; }
.coverage-head { display: flex; justify-content: space-between; gap: 12px; color: #85878e; font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.coverage-head strong { color: #4c4e54; }
.coverage-number { margin: 18px 0 14px; display: flex; align-items: flex-end; gap: 11px; }
.coverage-number strong { color: #24252a; font-size: 36px; line-height: .9; letter-spacing: -.06em; }
.coverage-number span { max-width: 145px; color: #6f7178; font-size: 10px; line-height: 1.35; }
.coverage-meta { display: grid; gap: 4px; color: #8a8c93; font-size: 9px; }
.seo-google-coverage > a { margin-top: 12px; color: #303136; font-size: 10px; font-weight: 800; }

.seo-kpi-grid { margin-bottom: 12px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.seo-kpi-grid article { min-height: 112px; padding: 18px 20px; border: 1px solid var(--work-line); border-radius: 7px; background: #fff; box-shadow: none; }
.seo-kpi-grid article > span { color: #777980; font-size: 10px; font-weight: 700; }
.seo-kpi-grid article > strong { display: block; margin-top: 10px; color: #25262b; font-size: 31px; line-height: 1; letter-spacing: -.055em; }
.seo-kpi-grid article > strong small { margin-left: 3px; color: #989aa0; font-size: 13px; letter-spacing: 0; }
.seo-kpi-grid article > p { margin: 9px 0 0; color: #898b92; font-size: 10px; }
.seo-kpi-grid .kpi-critical, .seo-kpi-grid .kpi-warning { border-top: 1px solid var(--work-line); }

.seo-priority-board, .seo-inventory { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--work-line); border-radius: 8px; background: #fff; }
.seo-priority-board { padding: 22px; }
.seo-priority-board .section-heading { margin-bottom: 16px; }
.seo-priority-board h2, .seo-inventory h2 { margin: 0; color: #232429; font-size: 19px; letter-spacing: -.03em; }
.seo-priority-board .section-heading p, .seo-inventory .section-heading p { margin: 4px 0 0; color: #808289; font-size: 11px; }
.seo-issue-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.seo-issue-group { min-width: 0; min-height: 128px; padding: 15px 43px 15px 15px; position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: left; border: 1px solid #e4e5e8; border-radius: 6px; background: #fafafb; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.seo-issue-group:hover, .seo-issue-group.is-selected { border-color: #b8bac0; background: #f5f5f6; transform: none; box-shadow: none; }
.seo-issue-group .issue-level { margin-bottom: 9px; color: #777980; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.seo-issue-group.issue-group-critical .issue-level { color: var(--work-red); }
.seo-issue-group.issue-group-high .issue-level { color: #b45d3f; }
.seo-issue-group.issue-group-medium .issue-level { color: var(--work-amber); }
.seo-issue-group strong { display: -webkit-box; overflow: hidden; color: #303136; font-size: 11px; line-height: 1.45; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.seo-issue-group small { width: 100%; margin-top: auto; padding-top: 9px; overflow: hidden; color: #92949a; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.seo-issue-group b { min-width: 24px; height: 24px; padding: 0 6px; position: absolute; top: 13px; right: 13px; display: grid; place-items: center; border-radius: 4px; color: #55575d; background: #e9eaec; font-size: 9px; }
.issue-group-critical, .issue-group-high, .issue-group-medium { border-left: 1px solid #e4e5e8; }

.seo-inventory .table-heading { padding: 20px 22px 16px; }
.seo-filter-bar { display: flex; align-items: flex-end; gap: 7px; }
.seo-filter-bar .filter-control { display: grid; gap: 4px; color: #7c7e85; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.seo-filter-bar input, .seo-filter-bar select { height: 39px; border: 1px solid #d9dade; border-radius: 5px; color: #28292e; background: #fff; font-size: 10px; }
.seo-filter-bar input { min-width: 210px; padding: 0 11px; }
.seo-filter-bar select { min-width: 150px; padding: 0 30px 0 10px; }
.seo-filter-summary { min-height: 35px; padding: 0 22px; display: flex; align-items: center; gap: 12px; color: #85878e; border-top: 1px solid #eff0f1; background: #fafafa; font-size: 9px; }
.seo-filter-summary strong { color: #33343a; }
.seo-control-table { min-width: 1320px; }
.seo-control-table th { height: 39px; padding: 0 13px; background: #f5f5f6; font-size: 8px; }
.seo-control-table td { padding: 13px; }
.seo-control-table td small { margin-top: 4px; display: block; color: #898b92; font-size: 8px; }
.seo-control-table tbody tr[data-attention="attention"] { box-shadow: none; }
.priority-value { min-width: 27px; height: 27px; display: inline-grid; place-items: center; border-radius: 4px; color: #666870; background: #eff0f1; font-size: 10px; font-weight: 850; }
.priority-value.priority-high { color: #a95338; background: #f8ede9; }
.priority-value.priority-critical { color: #b13b3b; background: #f8eaea; }
.trend { margin-left: 4px; font-style: normal; font-weight: 800; }
.trend-up { color: var(--work-green); }
.trend-down { color: var(--work-red); }
.trend-neutral { color: #8a8c93; }
.seo-empty-state, .seo-empty-filter { padding: 34px 20px; color: #80828a; text-align: center; }
.seo-empty-state strong, .seo-empty-filter strong { display: block; color: #303137; font-size: 14px; }
.seo-empty-state p, .seo-empty-filter p { margin: 4px 0 0; font-size: 10px; }

/* Shared scan modal */
.seo-scan-dialog, .crawl-complete-dialog { width: min(780px, calc(100% - 32px)); max-height: min(740px, calc(100vh - 32px)); padding: 0; overflow: auto; color: #25262b; border: 1px solid #d8dade; border-radius: 10px; background: #fff; box-shadow: 0 28px 80px rgba(17,18,21,.24); }
.seo-scan-dialog::backdrop, .crawl-complete-dialog::backdrop { background: rgba(21,22,25,.64); backdrop-filter: blur(3px); }
.seo-dialog-header { padding: 25px 28px 20px; display: grid; grid-template-columns: 44px minmax(0,1fr) 32px; gap: 14px; align-items: start; border-bottom: 1px solid #e8e9eb; }
.seo-dialog-symbol { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #edf5ef; }
.seo-dialog-symbol::before { content: "✓"; color: var(--work-green); font-size: 20px; font-weight: 900; }
.seo-dialog-symbol.has-alerts { background: #f6eded; }
.seo-dialog-symbol.has-alerts::before { content: "!"; color: var(--work-red); }
.seo-dialog-header h2 { margin: 0; font-size: 25px; letter-spacing: -.04em; }
.seo-dialog-header p { margin: 6px 0 0; color: #75777e; font-size: 11px; }
.dialog-close { width: 31px; height: 31px; display: grid; place-items: center; color: #777981; border: 0; border-radius: 50%; background: #f1f2f3; cursor: pointer; font-size: 20px; }
.seo-dialog-stats { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #e8e9eb; }
.seo-dialog-stats article { padding: 18px 20px; border-right: 1px solid #e8e9eb; }
.seo-dialog-stats article:last-child { border-right: 0; }
.seo-dialog-stats span { display: block; color: #85878f; font-size: 8px; font-weight: 750; text-transform: uppercase; }
.seo-dialog-stats strong { display: block; margin-top: 6px; font-size: 25px; line-height: 1; }
.seo-dialog-findings { max-height: 280px; padding: 12px 28px; overflow-y: auto; }
.seo-dialog-finding { padding: 12px 0; display: grid; grid-template-columns: minmax(150px,.7fr) minmax(0,1.3fr) auto; gap: 14px; align-items: center; border-bottom: 1px solid #eff0f1; }
.seo-dialog-finding strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.seo-dialog-finding span { color: #666870; font-size: 10px; }
.seo-dialog-finding b { color: var(--work-red); font-size: 9px; }
.seo-dialog-empty { min-height: 140px; display: grid; place-content: center; gap: 5px; text-align: center; }
.seo-dialog-actions { padding: 16px 28px; display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid #e8e9eb; background: #fafafa; }

/* Crawler workspace */
.crawler-page { color: var(--work-ink); }
.workspace-heading { min-height: 128px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.workspace-heading .back-link { margin-bottom: 12px; }
.workspace-context { margin: 0 0 5px; color: #797b82; font-size: 10px; font-weight: 750; }
.workspace-heading h1 { margin: 0; font-size: clamp(29px, 3vw, 43px); line-height: 1.05; letter-spacing: -.055em; }
.workspace-heading > div > p:last-child { margin: 7px 0 0; color: #74767d; font-size: 12px; }
.workspace-actions { display: flex; align-items: flex-end; gap: 8px; }
.crawl-limit { display: grid; gap: 4px; color: #7e8087; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.crawl-limit select { min-width: 112px; height: 38px; padding: 0 30px 0 10px; border: 1px solid #d8dade; border-radius: 4px; background: #fff; font-size: 10px; }

.crawl-progress-panel { margin-bottom: 12px; padding: 18px 20px; border: 1px solid #dfe1e4; border-radius: 7px; background: #fff; }
.crawl-progress-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.crawl-progress-head > div { display: grid; grid-template-columns: 9px 1fr; column-gap: 9px; }
.crawl-progress-head strong { color: #2a2b30; font-size: 12px; }
.crawl-progress-head > strong { font-size: 17px; }
.crawl-progress-head small { grid-column: 2; color: #81838a; font-size: 9px; }
.live-indicator { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: #92949a; }
.crawl-progress-panel.is-running .live-indicator { background: #3b8d59; animation: crawler-pulse 1.4s infinite; }
@keyframes crawler-pulse { 50% { opacity: .35; } }
.crawl-progress-panel progress { width: 100%; height: 6px; margin: 15px 0 12px; display: block; border: 0; border-radius: 6px; overflow: hidden; background: #eceef0; }
.crawl-progress-panel progress::-webkit-progress-bar { background: #eceef0; }
.crawl-progress-panel progress::-webkit-progress-value { background: #34353a; }
.crawl-progress-panel progress::-moz-progress-bar { background: #34353a; }
.crawl-live-stats { display: flex; gap: 20px; color: #777980; font-size: 9px; }
.crawl-live-stats b { color: #2d2e33; font-size: 11px; }
.crawl-stream { margin-top: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #edeeef; }
.crawl-stream:empty { display: none; }
.crawl-stream > div { min-width: 0; padding: 9px 8px 0 0; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 8px; align-items: center; }
.crawl-stream strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.crawl-stream small { color: #898b92; font-size: 8px; }

.crawler-empty { min-height: 310px; padding: 48px; display: grid; grid-template-columns: 76px minmax(280px,1fr) minmax(260px,.6fr); gap: 30px; align-items: center; border: 1px solid var(--work-line); border-radius: 8px; background: #fff; }
.crawler-empty-mark { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #292a2f; font-size: 22px; font-weight: 850; letter-spacing: -.06em; }
.crawler-empty h2 { margin: 0; font-size: 26px; letter-spacing: -.045em; }
.crawler-empty p { max-width: 620px; margin: 9px 0 0; color: #73757c; font-size: 12px; line-height: 1.6; }
.crawler-empty ul { margin: 0; padding: 0; display: grid; gap: 9px; list-style: none; color: #505158; font-size: 10px; }
.crawler-empty li::before { content: "—"; margin-right: 8px; color: #9a9ca2; }

.crawler-tabs { height: 48px; margin-bottom: 12px; padding: 0 4px; display: flex; gap: 2px; align-items: flex-end; border-bottom: 1px solid #d8dade; }
.crawler-tabs button { height: 47px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; color: #6b6d74; border: 0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; font-size: 10px; font-weight: 750; }
.crawler-tabs button:hover { color: #292a2f; }
.crawler-tabs button.is-active { color: #202126; border-bottom-color: #2d2e33; }
.crawler-tabs button span { min-width: 21px; height: 20px; padding: 0 6px; display: grid; place-items: center; border-radius: 10px; color: #66686f; background: #e8e9eb; font-size: 8px; }

.crawler-metrics { margin-bottom: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.crawler-metrics article { min-height: 108px; padding: 18px 20px; border: 1px solid var(--work-line); border-radius: 6px; background: #fff; }
.crawler-metrics span, .crawler-metrics small { display: block; color: #7d7f86; font-size: 9px; }
.crawler-metrics span { font-weight: 750; }
.crawler-metrics strong { display: block; margin: 10px 0 7px; color: #25262b; font-size: 29px; line-height: 1; letter-spacing: -.05em; }

.workspace-section { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--work-line); border-radius: 7px; background: #fff; }
.workspace-section > header { min-height: 78px; padding: 17px 20px; display: flex; justify-content: space-between; align-items: center; gap: 18px; border-bottom: 1px solid var(--work-line-soft); }
.workspace-section h2 { margin: 0; font-size: 18px; letter-spacing: -.03em; }
.workspace-section header p { margin: 4px 0 0; color: #7f8188; font-size: 10px; }
.issue-ledger { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.issue-ledger button { min-width: 0; min-height: 69px; padding: 13px 18px; display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 11px; align-items: center; text-align: left; border: 0; border-right: 1px solid #eceef0; border-bottom: 1px solid #eceef0; background: #fff; cursor: pointer; }
.issue-ledger button:nth-child(even) { border-right: 0; }
.issue-ledger button:hover { background: #f8f8f9; }
.issue-ledger strong, .issue-ledger small { display: block; }
.issue-ledger strong { overflow: hidden; color: #303136; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.issue-ledger small { margin-top: 3px; color: #8a8c93; font-size: 8px; }
.issue-ledger b { min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 4px; color: #55575e; background: #eeeff1; font-size: 9px; }
.severity-dot { width: 6px; height: 6px; border-radius: 50%; background: #a1a3a8; }
.severity-high { background: var(--work-red); }
.severity-medium { background: #c1882d; }
.severity-low { background: #8d9097; }
.section-empty { padding: 42px 20px; color: #81838a; text-align: center; font-size: 10px; }
.section-empty strong { display: block; color: #33343a; font-size: 13px; }
.section-empty p { margin: 5px 0 0; }

.depth-chart { padding: 22px; display: grid; gap: 10px; }
.depth-chart > div { display: grid; grid-template-columns: 70px minmax(0,1fr) 40px; gap: 12px; align-items: center; }
.depth-chart span { color: #777980; font-size: 9px; }
.depth-chart strong { color: #45464c; font-size: 10px; text-align: right; }
.depth-chart progress { width: 100%; height: 9px; border: 0; border-radius: 2px; overflow: hidden; background: #eceef0; }
.depth-chart progress::-webkit-progress-bar { background: #eceef0; }
.depth-chart progress::-webkit-progress-value { background: #55575d; }
.depth-chart progress::-moz-progress-bar { background: #55575d; }

.workspace-filters { display: flex; gap: 7px; }
.workspace-filters input, .workspace-filters select { height: 38px; border: 1px solid #d8dade; border-radius: 4px; background: #fff; font-size: 10px; }
.workspace-filters input { min-width: 240px; padding: 0 11px; }
.workspace-filters select { min-width: 150px; padding: 0 30px 0 10px; }
.url-filters { padding: 12px 18px; border-bottom: 1px solid #eceef0; background: #fafafa; }
.professional-table-wrap { overflow: auto; }
.professional-table { width: 100%; min-width: 1080px; border-collapse: collapse; }
.professional-table th { height: 39px; padding: 0 13px; color: #777980; border-bottom: 1px solid #dedfe2; background: #f5f5f6; font-size: 8px; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.professional-table td { padding: 12px 13px; color: #4c4e54; border-bottom: 1px solid #edeef0; font-size: 9px; vertical-align: top; }
.professional-table tbody tr:hover { background: #fafafa; }
.professional-table td strong, .professional-table td small { display: block; }
.professional-table td strong { color: #303136; font-size: 10px; }
.professional-table td small { margin-top: 3px; color: #8c8e95; font-size: 8px; }
.priority-label { display: inline-flex; min-width: 43px; height: 23px; align-items: center; justify-content: center; border-radius: 3px; color: #676970; background: #eceef0; font-size: 8px; font-weight: 800; }
.priority-high { color: #a63232; background: #f6e8e8; }
.priority-medium { color: #936116; background: #f7efdf; }
.url-cell { max-width: 370px; overflow-wrap: anywhere; }
.url-primary { min-width: 320px; max-width: 560px; }
.url-primary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.http-code { display: inline-grid; min-width: 32px; height: 23px; place-items: center; border-radius: 3px; color: #63656b; background: #eceef0; font-size: 8px; font-weight: 800; }
.http-2 { color: #246c3c; background: #e9f3ec; }
.http-3 { color: #7f641e; background: #f4efdf; }
.http-4, .http-5 { color: #a83838; background: #f5e8e8; }

.run-history { display: grid; }
.run-history article { min-height: 62px; padding: 12px 18px; display: grid; grid-template-columns: minmax(190px,1fr) repeat(4,auto); gap: 24px; align-items: center; border-bottom: 1px solid #eceef0; }
.run-history article:last-child { border-bottom: 0; }
.run-history strong, .run-history small { display: block; }
.run-history strong { font-size: 10px; }
.run-history small { margin-top: 3px; color: #898b92; font-size: 8px; }
.run-history span { color: #676970; font-size: 9px; }
.run-history .change-new { color: #a73a3a; }
.run-history .change-resolved { color: #287646; }

.crawl-complete-dialog > div { padding: 34px; text-align: center; }
.dialog-status-mark { width: 46px; height: 46px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; background: #edf1ee; }
.dialog-status-mark::before { content: "✓"; color: #2d7547; font-size: 21px; font-weight: 900; }
.crawl-complete-dialog h2 { margin: 0; font-size: 27px; letter-spacing: -.045em; }
.crawl-complete-dialog > div > p:not(.section-kicker) { margin: 8px auto 22px; max-width: 520px; color: #777980; font-size: 11px; }
.dialog-result-grid { margin-bottom: 22px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #e1e2e5; border-radius: 6px; }
.dialog-result-grid span { padding: 14px 10px; color: #7d7f86; border-right: 1px solid #e7e8ea; font-size: 8px; }
.dialog-result-grid span:last-child { border-right: 0; }
.dialog-result-grid b { display: block; margin-bottom: 4px; color: #292a2f; font-size: 20px; }

/* Site SEO evidence */
.site-seo-panel { margin-bottom: 20px; overflow: hidden; }
.seo-detail-heading { padding: 23px 25px; }
.seo-detail-overview { display: grid; grid-template-columns: 130px 130px repeat(3,minmax(0,1fr)); border-top: 1px solid #e6e7e9; border-bottom: 1px solid #e6e7e9; background: #fff; }
.seo-detail-overview article { min-height: 122px; padding: 20px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #e6e7e9; }
.seo-detail-overview article:last-child { border-right: 0; }
.seo-detail-overview article > span, .seo-detail-overview article > small { color: #7b7d85; font-size: 9px; }
.seo-detail-overview article > span { font-weight: 800; text-transform: uppercase; }
.seo-detail-overview article > strong:not(.seo-score) { margin: 9px 0 6px; color: #202126; font-size: 15px; }
.seo-detail-overview article.has-priority, .seo-detail-overview article.is-clear { box-shadow: none; background: #fafafa; }
.seo-detail-overview article.has-priority > strong, .seo-detail-overview article.is-clear > strong { font-size: 29px; }
.seo-detail-score .seo-score { margin: 8px 0 5px; width: 54px; height: 54px; font-size: 19px; }
.seo-evidence-grid { padding: 18px 20px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #f5f6f7; }
.seo-evidence-card, .seo-technical-sections > section { min-width: 0; overflow: hidden; border: 1px solid #dedfe2; border-radius: 7px; background: #fff; }
.seo-evidence-card > header, .seo-technical-sections > section > header { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid #ebeced; }
.seo-evidence-card h3, .seo-technical-sections h3 { margin: 0; font-size: 14px; }
.evidence-facts { margin: 0; }
.evidence-facts > div { grid-template-columns: minmax(120px,.7fr) minmax(0,1.3fr); padding: 10px 18px; }
.detailed-issues { max-height: 390px; padding: 8px 18px 14px; overflow-y: auto; }
.detailed-issues .seo-issue { margin: 0; padding: 11px 0; display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 12px; border: 0; border-bottom: 1px solid #ededee; background: transparent; }
.detailed-issues .seo-issue strong { font-size: 8px; }
.detailed-issues .seo-issue span { font-size: 10px; }
.seo-technical-sections { padding: 10px 20px 20px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; background: #f5f6f7; }
.technical-facts { margin: 0; display: grid; grid-template-columns: 1fr 1fr; }
.technical-facts > div { min-width: 0; padding: 12px 18px; display: block; border-bottom: 1px solid #eeeeef; }
.technical-facts > div:nth-child(odd) { border-right: 1px solid #eeeeef; }
.technical-facts > div:nth-last-child(-n+2) { border-bottom: 0; }
.technical-facts dt { margin-bottom: 5px; color: #85878e; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.technical-facts dd { min-width: 0; margin: 0; color: #313238; font-size: 10px; }
.technical-facts dd small { margin-top: 3px; display: block; color: #8b8d94; font-size: 8px; }
.break-value { overflow-wrap: anywhere; }

/* GEO and llms.txt */
.geo-state { display: inline-flex; align-items: center; gap: 6px; color: #5f626a; font-size: 9px; font-weight: 800; white-space: nowrap; }
.geo-state::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #a1a4aa; }
.geo-state-valid::before { background: #27864a; }.geo-state-incomplete::before,.geo-state-nonstandard::before { background: #c28520; }.geo-state-blocked::before,.geo-state-invalid::before,.geo-state-error::before { background: #c94444; }
.geo-audit-section { margin: 18px 20px 0; overflow: hidden; border: 1px solid #dfe1e4; border-radius: 7px; background: #fff; }
.geo-audit-section > header { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e9eaec; }
.geo-audit-section h3 { margin: 0; color: #24252a; font-size: 16px; }.geo-audit-section header p { max-width: 740px; margin: 5px 0 0; color: #7c7e85; font-size: 9px; line-height: 1.55; }
.geo-audit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid #e9eaec; }
.geo-audit-grid article { min-width: 0; padding: 17px 20px; border-right: 1px solid #e9eaec; }.geo-audit-grid article:last-child { border-right: 0; }
.geo-audit-grid span,.geo-audit-grid small { display: block; color: #85878e; font-size: 8px; }.geo-audit-grid span { font-weight: 800; text-transform: uppercase; }.geo-audit-grid strong { margin: 7px 0 5px; display: block; color: #292a2f; font-size: 17px; }.geo-audit-grid small { overflow-wrap: anywhere; line-height: 1.45; }
.geo-file-summary { margin: 0; padding: 14px 20px; color: #55575e; border-bottom: 1px solid #e9eaec; background: #fafafa; font-size: 10px; line-height: 1.6; }
.geo-policy-block { padding: 17px 20px; display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 22px; border-bottom: 1px solid #e9eaec; }.geo-policy-block h4 { margin: 0; font-size: 12px; }
.geo-policy-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }.geo-policy { min-width: 0; padding: 9px 10px; border: 1px solid #e6e7e9; border-radius: 4px; background: #fafafa; }.geo-policy strong,.geo-policy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.geo-policy strong { color: #3b3c42; font-size: 8px; }.geo-policy small { margin-top: 3px; color: #8a8c93; font-size: 7px; }.geo-policy-allowed { border-color: #d8e8dd; background: #f5faf6; }.geo-policy-blocked { border-color: #efd8d8; background: #fcf6f6; }
.geo-findings { padding: 8px 20px 13px; }.geo-finding { padding: 10px 0; display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 12px; border-bottom: 1px solid #eff0f1; }.geo-finding:last-child { border-bottom: 0; }.geo-finding strong { color: #8b6a2b; font-size: 8px; text-transform: uppercase; }.geo-finding span { color: #565860; font-size: 9px; line-height: 1.5; }

@media (max-width: 1200px) {
    .seo-command-center { grid-template-columns: 140px minmax(280px,1fr); }
    .seo-google-coverage { grid-column: 1 / -1; }
    .seo-issue-groups { grid-template-columns: repeat(2,1fr); }
    .seo-filter-bar { width: 100%; flex-wrap: wrap; }
    .crawler-metrics { grid-template-columns: 1fr 1fr; }
    .geo-policy-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .seo-command-heading, .workspace-heading { padding: 18px 0; align-items: flex-start; flex-direction: column; }
    .seo-command-heading .heading-actions, .workspace-actions { width: 100%; }
    .seo-command-heading .button { flex: 1; }
    .seo-command-center { grid-template-columns: 120px 1fr; padding: 22px; gap: 18px; }
    .seo-health-score { width: 110px; height: 110px; }
    .seo-kpi-grid { grid-template-columns: 1fr 1fr; }
    .seo-inventory .table-heading { align-items: stretch; flex-direction: column; }
    .crawler-empty { grid-template-columns: 65px 1fr; padding: 34px; }
    .crawler-empty ul { grid-column: 1 / -1; }
    .issue-ledger { grid-template-columns: 1fr; }
    .issue-ledger button { border-right: 0; }
    .workspace-section > header { align-items: stretch; flex-direction: column; }
    .seo-detail-overview, .seo-evidence-grid, .seo-technical-sections { grid-template-columns: 1fr 1fr; }
    .geo-audit-grid { grid-template-columns: 1fr 1fr; }.geo-audit-grid article:nth-child(2) { border-right: 0; }.geo-audit-grid article:nth-child(-n+2) { border-bottom: 1px solid #e9eaec; }
    .geo-policy-block { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .seo-command-center { grid-template-columns: 1fr; }
    .seo-health-score { margin: 0 auto; }
    .seo-kpi-grid, .seo-issue-groups, .crawler-metrics { grid-template-columns: 1fr; }
    .seo-filter-bar, .workspace-filters { display: grid; grid-template-columns: 1fr; }
    .seo-filter-bar input, .seo-filter-bar select, .workspace-filters input, .workspace-filters select { width: 100%; min-width: 0; }
    .crawler-tabs { overflow-x: auto; }
    .crawler-tabs button { flex: none; }
    .crawler-empty { padding: 26px; grid-template-columns: 1fr; }
    .crawler-empty-mark { width: 56px; height: 56px; }
    .crawl-stream { grid-template-columns: 1fr; }
    .crawl-live-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .dialog-result-grid { grid-template-columns: 1fr 1fr; }
    .dialog-result-grid span:nth-child(2) { border-right: 0; }
    .dialog-result-grid span:nth-child(-n+2) { border-bottom: 1px solid #e7e8ea; }
    .seo-dialog-stats { grid-template-columns: 1fr 1fr; }
    .seo-dialog-finding { grid-template-columns: 1fr auto; }
    .seo-dialog-finding span { grid-column: 1 / -1; }
    .run-history article { grid-template-columns: 1fr 1fr; gap: 9px 15px; }
    .run-history article > div { grid-column: 1 / -1; }
    .seo-detail-overview, .seo-evidence-grid, .seo-technical-sections { grid-template-columns: 1fr; }
    .seo-detail-overview article { border-right: 0; border-bottom: 1px solid #e6e7e9; }
    .technical-facts { grid-template-columns: 1fr; }
    .technical-facts > div, .technical-facts > div:nth-child(odd), .technical-facts > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid #eeeeef; }
    .technical-facts > div:last-child { border-bottom: 0; }
    .geo-audit-section > header { align-items: flex-start; flex-direction: column; }.geo-audit-grid,.geo-policy-list { grid-template-columns: 1fr; }.geo-audit-grid article,.geo-audit-grid article:nth-child(2) { border-right: 0; border-bottom: 1px solid #e9eaec; }.geo-audit-grid article:last-child { border-bottom: 0; }.geo-finding { grid-template-columns: 1fr; gap: 4px; }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/professional.css ---- */
/* Softtalia Monitor 2.1 · final professional layer */
:root {
    --pro-bg: #f3f4f5;
    --pro-surface: #ffffff;
    --pro-text: #202226;
    --pro-muted: #696d75;
    --pro-line: #d9dce1;
    --pro-line-soft: #e9ebee;
    --pro-dark: #23252a;
    --primary: #23252a;
    --primary-dark: #111216;
    --radius: 5px;
    --shadow: none;
}

html, body { background: var(--pro-bg); }
body { color: var(--pro-text); font-size: 14px; }
.app-shell { grid-template-columns: 248px minmax(0, 1fr); }
.sidebar { height: 100vh; margin: 0; padding: 22px 14px 16px; border: 0; border-right: 1px solid var(--pro-line); border-radius: 0; background: #fff; }
.brand { padding: 0 10px; }
.brand-logo { width: 31px; height: 39px; }
.brand strong { font-size: 15px; }
.brand small { font-size: 9px; }
.nav-list { margin-top: 26px; gap: 3px; }
.nav-heading { margin: 18px 12px 7px; font-size: 9px; }
.nav-list a { min-height: 41px; padding: 0 12px; border-radius: 4px; color: #53565d; font-size: 12px; }
.nav-list a:hover { background: #f1f2f4; }
.nav-list a.active { color: #fff; background: #25272c; box-shadow: none; }
.sidebar-footer { padding-top: 16px; }
.user-chip strong { font-size: 11px; }
.user-chip small, .link-button { font-size: 9px; }

.content-area { width: 100%; max-width: 1920px; padding: 28px clamp(24px, 2.6vw, 54px) 72px; }
.page-heading, .dashboard-heading { min-height: 110px; }
.dashboard-heading h1, .page-heading h1 { font-size: clamp(29px, 2.6vw, 40px); }
.dashboard-updated, .muted { font-size: 12px; }
.button { min-height: 40px; padding: 0 17px; border-radius: 4px; font-size: 12px; box-shadow: none; }
.button:hover { transform: none; }
.button-primary { border-color: #25272c; background: #25272c; box-shadow: none; }
.button-secondary { border-color: #cfd2d7; }
input, select { border-radius: 4px !important; }
input:focus, select:focus { border-color: #777b83 !important; box-shadow: 0 0 0 2px rgba(35,37,42,.08) !important; }

.panel, .attention-section, .monitoring-section, .analytics-card, .metric-card,
.manual-check-panel, .alert-status-card, .seo-priority-board, .seo-inventory,
.workspace-section, .crawl-progress-panel, .crawler-empty {
    border-color: var(--pro-line) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
}
.stat-card { border-color: var(--pro-line); border-radius: 5px; box-shadow: none; }
.metric-card:hover { border-color: #aeb1b7; box-shadow: none; transform: none; }
.metric-card.is-selected { border-color: #55585f; box-shadow: inset 0 0 0 1px #55585f; }
.health-overview { border-top: 1px solid var(--pro-line) !important; border-radius: 5px !important; box-shadow: none !important; }
.plain-count, .counter-badge { border-radius: 3px; }
.status-pill, .seo-state, .google-state { border-radius: 3px; }
.status-pill { min-height: 27px; }
.favicon-placeholder, .alert-status-icon, .alert-flow-row > span { border-radius: 4px; }

.data-table th, .professional-table th { color: #686c74; background: #f2f3f4; font-size: 9px; }
.data-table td { padding-top: 15px; padding-bottom: 15px; font-size: 12px; }
.data-table tbody tr:hover, .professional-table tbody tr:hover { background: #f7f8f9; }
.row-link { color: #303238; text-decoration: underline; text-underline-offset: 3px; }
.secondary-row-link { margin-top: 5px; display: block; color: #7b7e85; font-size: 10px; font-weight: 650; }

/* SEO portfolio: one continuous control surface instead of decorative cards. */
.seo-command-heading { min-height: 118px; }
.seo-command-center { min-height: 188px; grid-template-columns: 155px minmax(360px, 1fr) minmax(280px, 360px); gap: 0; padding: 0; border-radius: 5px; box-shadow: none; }
.seo-health-score { width: auto; height: 100%; min-height: 186px; padding: 30px; border-right: 1px solid var(--pro-line-soft); }
.seo-health-score svg { display: none; }
.seo-health-score > div { position: static; text-align: left; }
.seo-health-score strong { font-size: 54px; }
.seo-health-score span { margin-top: 9px; font-size: 9px; }
.seo-command-copy { padding: 28px 32px; }
.seo-command-copy h2 { font-size: clamp(24px, 2vw, 32px); }
.seo-command-copy > p { font-size: 12px; }
.seo-google-coverage { align-self: stretch; padding: 28px; border: 0; border-left: 1px solid var(--pro-line-soft); border-radius: 0; background: #f7f8f9; }

.seo-kpi-grid { gap: 0; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 5px; background: #fff; }
.seo-kpi-grid article { min-height: 116px; border: 0; border-right: 1px solid var(--pro-line-soft); border-radius: 0; }
.seo-kpi-grid article:last-child { border-right: 0; }
.seo-priority-board, .seo-inventory { border-radius: 5px; }
.seo-issue-group { border-radius: 3px; background: #fafafa; }
.seo-issue-group:hover, .seo-issue-group.is-selected { border-color: #aeb1b7; background: #f4f5f6; }
.seo-score { width: 40px; height: 34px; border: 0; border-radius: 3px; }
.crawl-summary-link { min-width: 140px; display: inline-block; color: #2e3035; }
.crawl-summary-link strong, .crawl-summary-link small { display: block; }
.crawl-summary-link strong { font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.crawl-summary-link small { margin-top: 4px; color: #74777e; font-size: 9px; }
.crawl-summary-link.is-pending strong { color: #71747a; }

/* Crawler workspace */
.workspace-heading { min-height: 132px; }
.crawler-empty { grid-template-columns: 92px minmax(320px, 1fr) minmax(260px, .65fr); }
.crawler-empty-mark { width: 74px; height: 34px; border-radius: 3px; color: #fff; background: #292b30; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.crawler-tabs button { font-size: 11px; }
.crawler-metrics { gap: 0; overflow: hidden; border: 1px solid var(--pro-line); border-radius: 5px; background: #fff; }
.crawler-metrics article { min-height: 116px; border: 0; border-right: 1px solid var(--pro-line-soft); border-radius: 0; }
.crawler-metrics article:last-child { border-right: 0; }
.workspace-section > header { min-height: 84px; }
.workspace-section h2 { font-size: 19px; }
.workspace-section header p, .section-empty { font-size: 11px; }
.issue-ledger strong { font-size: 11px; }
.issue-ledger small { font-size: 9px; }
.professional-table td { padding: 14px 13px; font-size: 10px; }
.professional-table td strong { font-size: 10px; }
.professional-table td small { font-size: 9px; }
.priority-label, .http-code { border-radius: 3px; }
.crawl-complete-dialog, .seo-scan-dialog, .page-detail-dialog { border-radius: 5px; }
.crawl-dialog-findings { max-height: 235px; margin: 0 24px 20px; overflow: auto; border: 1px solid var(--pro-line-soft); }
.crawl-dialog-findings > div { min-height: 45px; padding: 10px 12px; display: grid; grid-template-columns: 8px minmax(0, 1fr) 28px; gap: 10px; align-items: center; border-bottom: 1px solid var(--pro-line-soft); }
.crawl-dialog-findings > div:last-child { border-bottom: 0; }
.crawl-dialog-findings strong { font-size: 10px; font-weight: 650; }
.crawl-dialog-findings b { color: #55585f; font-size: 10px; text-align: right; }
.crawl-dialog-empty { margin: 0; padding: 18px; color: var(--pro-muted); font-size: 10px; text-align: center; }
.page-detail-dialog { width: min(760px, calc(100% - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: auto; color: var(--pro-text); border: 1px solid var(--pro-line); background: #fff; box-shadow: 0 24px 70px rgba(18,20,24,.22); }
.page-detail-dialog::backdrop { background: rgba(21,22,25,.62); backdrop-filter: blur(2px); }
.page-detail-dialog > header { min-height: 76px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--pro-line-soft); }
.page-detail-dialog h2 { margin: 0; font-size: 20px; }
.page-detail-dialog dl { margin: 0; padding: 6px 20px 20px; }
.page-detail-dialog dl > div { padding: 11px 0; display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 18px; border-bottom: 1px solid var(--pro-line-soft); }
.page-detail-dialog dt { color: var(--pro-muted); font-size: 10px; }
.page-detail-dialog dd { margin: 0; overflow-wrap: anywhere; color: var(--pro-text); font-size: 11px; }

/* Status colour is reserved for data, never for container borders. */
.setup-banner, .sync-strip, .alert, .import-note, .info-card,
.setup-state, .seo-issue, .manual-check-panel.has-error { border-color: var(--pro-line) !important; }
.setup-banner, .sync-strip, .import-note, .info-card { background: #f7f8f8; }

@media (max-width: 1200px) {
    .seo-command-center { grid-template-columns: 140px minmax(300px, 1fr); }
    .seo-google-coverage { grid-column: 1 / -1; border-top: 1px solid var(--pro-line-soft); border-left: 0; }
    .seo-kpi-grid, .crawler-metrics { grid-template-columns: 1fr 1fr; }
    .seo-kpi-grid article:nth-child(2), .crawler-metrics article:nth-child(2) { border-right: 0; }
    .seo-kpi-grid article:nth-child(-n+2), .crawler-metrics article:nth-child(-n+2) { border-bottom: 1px solid var(--pro-line-soft); }
}

@media (max-width: 820px) {
    .sidebar { width: 280px; border-right: 1px solid var(--pro-line); }
    .content-area { padding: 22px 16px 54px; }
    .mobile-header { color: #202226; border-bottom: 1px solid var(--pro-line); background: #fff; }
    .seo-command-center { grid-template-columns: 120px minmax(0, 1fr); }
    .seo-health-score { min-height: 170px; }
    .crawler-empty { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .seo-command-center { grid-template-columns: 1fr; }
    .seo-health-score { min-height: auto; padding: 24px; border-right: 0; border-bottom: 1px solid var(--pro-line-soft); }
    .seo-health-score > div { width: 100%; }
    .seo-kpi-grid, .crawler-metrics { grid-template-columns: 1fr; }
    .seo-kpi-grid article, .seo-kpi-grid article:nth-child(2), .crawler-metrics article, .crawler-metrics article:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--pro-line-soft); }
    .seo-kpi-grid article:last-child, .crawler-metrics article:last-child { border-bottom: 0; }
    .heading-actions { width: 100%; flex-wrap: wrap; }
    .heading-actions > * { flex: 1 1 auto; }
    .seo-inventory .table-wrap { overflow: visible; }
    .seo-control-table { min-width: 0; }
    .seo-control-table thead { display: none; }
    .seo-control-table tbody { padding: 10px; display: grid; gap: 9px; }
    .seo-control-table tr { padding: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; border: 1px solid var(--pro-line); border-radius: 4px; background: #fff; }
    .seo-control-table td { min-width: 0 !important; padding: 0; border: 0; }
    .seo-control-table td::before { margin-bottom: 4px; display: block; color: #85888f; font-size: 8px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
    .seo-control-table td:nth-child(1) { grid-column: 1 / -1; }
    .seo-control-table td:nth-child(1)::before { content: "Web"; }
    .seo-control-table td:nth-child(2)::before { content: "Salud"; }
    .seo-control-table td:nth-child(3)::before { content: "Portada"; }
    .seo-control-table td:nth-child(4)::before { content: "GEO / llms.txt"; }
    .seo-control-table td:nth-child(5)::before { content: "Crawler"; }
    .seo-control-table td:nth-child(6)::before { content: "Google"; }
    .seo-control-table td:nth-child(7)::before { content: "Prioridad"; }
    .seo-control-table td:nth-child(8)::before { content: "Último análisis"; }
    .seo-control-table td:nth-child(9) { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid var(--pro-line-soft); }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/gsc-performance.css ---- */
:root { --gsc-ink:#18191d; --gsc-muted:#676a73; --gsc-line:#dfe1e5; --gsc-soft:#f4f5f6; --gsc-dark:#232429; --gsc-green:#277a4c; --gsc-red:#b5453f; --metric-clicks:#2563eb; --metric-impressions:#7c3aed; --metric-ctr:#0f8f7f; --metric-position:#d97706; }
.performance-page { width:100%; max-width:none; color:var(--gsc-ink); }
.performance-heading { margin-bottom:20px; display:flex; justify-content:space-between; align-items:flex-end; gap:28px; }
.performance-heading h1 { margin:5px 0 6px; font-size:clamp(28px,3vw,42px); line-height:1.04; letter-spacing:-.045em; }
.performance-url { max-width:900px; margin:0; color:var(--gsc-muted); font-size:14px; overflow-wrap:anywhere; }
.performance-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.performance-actions form { margin:0; }
.period-switcher { margin-bottom:14px; padding:4px; display:flex; gap:2px; overflow-x:auto; border:1px solid var(--gsc-line); border-radius:6px; background:#fff; }
.period-switcher a { min-height:38px; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; color:#5f626a; border-radius:4px; font-size:13px; font-weight:700; white-space:nowrap; text-decoration:none; }
.period-switcher a:hover { color:var(--gsc-ink); background:var(--gsc-soft); }
.period-switcher a.is-active { color:#fff; background:var(--gsc-dark); }
.performance-meta { margin-bottom:14px; display:flex; flex-wrap:wrap; gap:8px 22px; color:#747780; font-size:12px; }
.performance-meta span + span::before { content:""; width:3px; height:3px; margin:0 10px 2px 0; display:inline-block; border-radius:50%; background:#afb2b8; }
.performance-kpis { margin-bottom:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--gsc-line); border-radius:6px; background:#fff; }
.performance-kpis article { min-height:142px; padding:24px 26px; border-right:1px solid var(--gsc-line); }
.performance-kpis article:last-child { border-right:0; }
.performance-kpis span,.performance-kpis small { display:block; }
.performance-kpis span { color:#6e7179; font-size:13px; font-weight:700; }
.performance-kpis span,.chart-metric-switch button,.report-chart-legend span { align-items:center; gap:8px; }
.performance-kpis span,.report-chart-legend span { display:flex; }
.performance-kpis span i,.chart-metric-switch button i,.report-chart-legend i,.chart-tooltip i { width:8px; height:8px; flex:0 0 8px; display:inline-block; border-radius:50%; }
.metric-clicks i { background:var(--metric-clicks); }.metric-impressions i { background:var(--metric-impressions); }.metric-ctr i { background:var(--metric-ctr); }.metric-position i { background:var(--metric-position); }
.performance-kpis strong { display:block; margin:18px 0 12px; color:#191a1e; font-size:38px; line-height:1; letter-spacing:-.05em; }
.performance-kpis small { font-size:12px; }
.delta-positive { color:var(--gsc-green); }.delta-negative { color:var(--gsc-red); }.delta-neutral { color:#767982; }
.performance-chart-panel,.performance-table-section,.breakdown-card,.performance-empty-state { border:1px solid var(--gsc-line); border-radius:6px; background:#fff; }
.performance-chart-panel { margin-bottom:14px; overflow:hidden; }
.performance-chart-panel > header { min-height:86px; padding:20px 24px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid var(--gsc-line); }
.performance-chart-panel h2,.performance-table-section h2,.breakdown-card h2 { margin:2px 0 4px; color:#1f2024; font-size:20px; letter-spacing:-.025em; }
.performance-chart-panel p,.performance-table-section p { margin:0; color:#777a82; font-size:13px; }
.chart-metric-switch { padding:3px; display:flex; flex-wrap:wrap; gap:3px; border:1px solid var(--gsc-line); border-radius:5px; background:#f7f7f8; }
.chart-metric-switch button { height:34px; padding:0 11px; display:inline-flex; color:#666972; border:1px solid transparent; border-radius:3px; background:transparent; cursor:pointer; font:700 12px inherit; transition:background-color .16s ease,border-color .16s ease,color .16s ease; }
.chart-metric-switch button:hover { background:#fff; }
.chart-metric-switch .metric-clicks.is-active { color:#1d4ed8; border-color:#bfdbfe; background:#eff6ff; }.chart-metric-switch .metric-impressions.is-active { color:#6d28d9; border-color:#ddd6fe; background:#f5f3ff; }.chart-metric-switch .metric-ctr.is-active { color:#0f766e; border-color:#99f6e4; background:#f0fdfa; }.chart-metric-switch .metric-position.is-active { color:#b45309; border-color:#fed7aa; background:#fff7ed; }
.gsc-chart { position:relative; min-height:340px; padding:20px 22px 8px; overflow:hidden; }
.gsc-chart svg { width:100%; height:310px; display:block; overflow:hidden; }
.gsc-grid-line { stroke:#eaebed; stroke-width:1; }.gsc-axis-label { fill:#777a82; font-size:11px; }.gsc-axis-title { fill:#666972; font-size:10px; font-weight:700; text-transform:uppercase; }.gsc-series-line { fill:none; stroke-width:2.4; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }.gsc-hit-area { fill:transparent; cursor:crosshair; }
.chart-tooltip { position:absolute; z-index:2; top:24px; right:24px; min-width:140px; padding:10px 12px; color:#fff; border-radius:4px; background:#24252a; box-shadow:0 8px 24px rgba(0,0,0,.18); pointer-events:none; font-size:12px; line-height:1.45; }
.chart-tooltip strong { margin-bottom:7px; display:block; }.chart-tooltip span { min-width:178px; padding:2px 0; display:flex; align-items:center; justify-content:space-between; gap:18px; }.chart-tooltip b { display:flex; align-items:center; gap:7px; font-weight:650; }.chart-tooltip em { color:#fff; font-style:normal; font-variant-numeric:tabular-nums; }.chart-tooltip .metric-clicks i { background:var(--metric-clicks); }.chart-tooltip .metric-impressions i { background:#9f7aea; }.chart-tooltip .metric-ctr i { background:#2dd4bf; }.chart-tooltip .metric-position i { background:#fb923c; }
.performance-chart-panel > footer { min-height:44px; padding:0 22px; display:flex; justify-content:space-between; align-items:center; gap:18px; color:#7b7e86; border-top:1px solid var(--gsc-line); font-size:11px; }
.performance-chart-panel > footer i { width:8px; height:8px; margin-right:7px; display:inline-block; border-radius:50%; background:#35363b; }
.performance-table-section { margin:0; overflow:hidden; }
.performance-table-section > header { padding:20px 22px; }
.performance-filters { min-width:min(100%,460px); display:flex; gap:8px; }
.performance-filters input,.performance-filters select { min-height:40px; padding:0 12px; color:#292a2f; border:1px solid #d9dbe0; border-radius:4px; background:#fff; font-size:13px; }
.performance-filters input { flex:1; min-width:180px; }
.performance-table th,.performance-table td { font-size:13px; }
.performance-table td:not(:first-child),.performance-table th:not(:first-child) { white-space:nowrap; }
.performance-table .url-primary strong { max-width:650px; display:block; overflow:hidden; text-overflow:ellipsis; }
.url-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; white-space:nowrap; }
.url-row-actions .text-button { padding:0; }
.performance-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.65fr); gap:14px; align-items:start; }
.performance-breakdowns { display:grid; gap:14px; }
.breakdown-card { overflow:hidden; }
.breakdown-card > header { padding:18px 20px; border-bottom:1px solid var(--gsc-line); }
.breakdown-list { padding:15px 20px 20px; display:grid; gap:13px; }
.breakdown-list > div { display:grid; gap:6px; }
.breakdown-list span { display:flex; justify-content:space-between; gap:15px; font-size:12px; }
.breakdown-list strong { overflow:hidden; color:#37383d; text-overflow:ellipsis; white-space:nowrap; }.breakdown-list small { color:#777a82; white-space:nowrap; }
.breakdown-list progress { width:100%; height:5px; overflow:hidden; border:0; border-radius:2px; background:#eceef0; }.breakdown-list progress::-webkit-progress-bar { background:#eceef0; }.breakdown-list progress::-webkit-progress-value { background:#4d5056; }.breakdown-list progress::-moz-progress-bar { background:#4d5056; }
.performance-empty-state { min-height:230px; padding:38px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:28px; }
.empty-state-code { width:62px; height:36px; display:grid; place-items:center; color:#fff; border-radius:3px; background:#2c2d32; font-size:12px; font-weight:800; letter-spacing:.08em; }
.performance-empty-state h2 { margin:0 0 8px; font-size:22px; }.performance-empty-state p { max-width:720px; margin:0; color:#6d7078; font-size:14px; line-height:1.6; }

.report-body { margin:0; color:#17181c; background:#e9eaec; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.client-report { width:min(1120px,calc(100% - 40px)); margin:28px auto 70px; background:#fff; box-shadow:0 10px 40px rgba(26,28,33,.12); }
.report-toolbar { min-height:58px; padding:0 26px; display:flex; justify-content:space-between; align-items:center; color:#fff; background:#25262b; font-size:13px; }
.report-toolbar div { display:flex; gap:10px; align-items:center; }.report-toolbar a { color:inherit; text-decoration:none; }.report-toolbar button { padding:9px 13px; color:#1f2024; border:0; border-radius:3px; background:#fff; cursor:pointer; font-weight:750; }
.report-cover { min-height:330px; padding:58px 64px; display:grid; grid-template-columns:150px minmax(0,1fr) 260px; gap:42px; align-items:center; border-bottom:1px solid #dfe1e5; }
.report-cover img { width:116px; height:116px; object-fit:contain; }.report-cover p,.report-kicker { margin:0 0 10px; color:#72757d; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.report-cover h1 { margin:0 0 10px; font-size:48px; line-height:1; letter-spacing:-.05em; }.report-cover span { color:#62656d; font-size:14px; overflow-wrap:anywhere; }
.report-cover dl { margin:0; display:grid; gap:18px; }.report-cover dt { margin-bottom:4px; color:#898c93; font-size:11px; text-transform:uppercase; }.report-cover dd { margin:0; color:#2f3035; font-size:13px; font-weight:700; }
.report-section { padding:52px 64px; display:grid; grid-template-columns:55px minmax(0,1fr); gap:28px; border-bottom:1px solid #e1e2e5; }.report-number { color:#a0a3aa; font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }.report-section h2 { margin:0 0 14px; font-size:29px; letter-spacing:-.04em; }.report-section p { max-width:820px; margin:0; color:#4f525a; font-size:15px; line-height:1.7; }.report-wide { min-width:0; }
.report-kpis { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid #dfe1e5; }.report-kpis article { min-height:145px; padding:28px 32px; border-right:1px solid #e1e2e5; }.report-kpis article:last-child { border-right:0; }.report-kpis span,.report-kpis small { display:block; color:#74777f; font-size:12px; }.report-kpis strong { display:block; margin:17px 0 11px; font-size:34px; letter-spacing:-.05em; }
.report-chart { min-height:280px; padding:15px 0 0; }.report-chart svg { height:265px; }
.report-chart-legend { margin-top:14px; display:flex; flex-wrap:wrap; gap:18px; color:#62656d; font-size:12px; font-weight:700; }
.report-table { width:100%; margin-top:24px; border-collapse:collapse; font-size:12px; }.report-table th { padding:11px 12px; color:#73767e; border-bottom:1px solid #cfd1d5; text-align:left; font-size:10px; text-transform:uppercase; }.report-table td { padding:11px 12px; border-bottom:1px solid #e7e8ea; }.report-table td:first-child { max-width:560px; overflow-wrap:anywhere; }.report-table th:not(:first-child),.report-table td:not(:first-child) { text-align:right; white-space:nowrap; }
.report-tech-grid { margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #dfe1e5; }.report-tech-grid article { padding:22px; border-right:1px solid #dfe1e5; }.report-tech-grid article:last-child { border-right:0; }.report-tech-grid span,.report-tech-grid small { display:block; color:#73767e; font-size:11px; }.report-tech-grid strong { display:block; margin:12px 0 8px; font-size:24px; }.report-footer { min-height:70px; padding:0 64px; display:flex; justify-content:space-between; align-items:center; color:#7c7f86; font-size:11px; }

@media (max-width:1100px) { .performance-kpis { grid-template-columns:1fr 1fr; }.performance-kpis article:nth-child(2) { border-right:0; }.performance-kpis article:nth-child(-n+2) { border-bottom:1px solid var(--gsc-line); }.performance-detail-grid { grid-template-columns:1fr; }.report-cover { grid-template-columns:100px 1fr; }.report-cover dl { grid-column:1/-1; grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .performance-heading,.performance-chart-panel > header,.performance-table-section > header { align-items:flex-start; flex-direction:column; }.performance-actions { justify-content:flex-start; }.performance-kpis { grid-template-columns:1fr; }.performance-kpis article,.performance-kpis article:nth-child(2) { border-right:0; border-bottom:1px solid var(--gsc-line); }.performance-kpis article:last-child { border-bottom:0; }.chart-metric-switch { width:100%; overflow-x:auto; }.gsc-chart { min-height:280px; padding:12px 8px; }.gsc-chart svg { height:260px; }.performance-chart-panel > footer { padding:12px 16px; align-items:flex-start; flex-direction:column; }.performance-filters { width:100%; min-width:0; flex-direction:column; }.performance-empty-state { grid-template-columns:1fr; }.client-report { width:100%; margin:0; box-shadow:none; }.report-toolbar,.report-cover,.report-section,.report-footer { padding-left:24px; padding-right:24px; }.report-cover { grid-template-columns:1fr; }.report-cover h1 { font-size:38px; }.report-cover dl { grid-column:auto; grid-template-columns:1fr; }.report-kpis,.report-tech-grid { grid-template-columns:1fr 1fr; }.report-kpis article:nth-child(2),.report-tech-grid article:nth-child(2) { border-right:0; }.report-section { grid-template-columns:1fr; } }
@media print { @page { size:A4; margin:14mm; }.report-body { background:#fff; -webkit-print-color-adjust:exact; print-color-adjust:exact; }.client-report { width:100%; margin:0; box-shadow:none; }.report-toolbar { display:none; }.report-cover { min-height:220px; padding:28px 20px; grid-template-columns:90px 1fr 190px; page-break-after:avoid; }.report-cover img { width:70px; height:70px; }.report-cover h1 { font-size:34px; }.report-section { padding:28px 20px; page-break-inside:avoid; }.report-kpis article { min-height:100px; padding:18px; }.report-kpis strong { font-size:26px; }.report-chart { min-height:220px; }.report-chart svg { height:210px; }.report-table { font-size:9px; }.report-table th,.report-table td { padding:7px 8px; }.report-footer { padding:0 20px; }.report-technical { page-break-before:always; } }

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/theme-system.css ---- */
:root {
    color-scheme: light;
    --theme-control-bg: #ffffff;
    --theme-control-border: #d9dce1;
    --theme-control-text: #36383d;
    --theme-toolbar-bg: rgba(255,255,255,.94);
    --theme-toolbar-line: #dfe1e5;
}

.desktop-toolbar { position: sticky; top: 0; z-index: 15; height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid var(--theme-toolbar-line); background: var(--theme-toolbar-bg); backdrop-filter: blur(15px); }
.desktop-toolbar > div, .desktop-toolbar nav { display: flex; align-items: center; gap: 15px; }
.desktop-toolbar strong { color: #3b3d43; font-size: 11px; font-weight: 700; }
.desktop-toolbar nav a { color: #73767d; font-size: 10px; font-weight: 700; }
.desktop-toolbar nav a:hover { color: #17181b; }
.toolbar-mark { width: 14px; height: 14px; border: 1px solid #9da0a7; border-radius: 4px; box-shadow: inset 4px 0 #36383d; }
.toolbar-user { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #d5d7dc; border-radius: 50%; color: #4f5157; background: #f3f4f5; font-size: 10px; font-weight: 800; }
.nav-list .nav-icon { width: 17px; height: 17px; display: grid; place-items: center; font-size: 13px; font-weight: 750; line-height: 1; }

.theme-toggle { min-height: 32px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; color: var(--theme-control-text); border: 1px solid var(--theme-control-border); border-radius: 8px; background: var(--theme-control-bg); cursor: pointer; font: 700 10px/1 Inter, ui-sans-serif, system-ui, sans-serif; transition: border-color .15s ease, background .15s ease; }
.theme-toggle:hover { border-color: #adb0b7; background: #f6f7f8; }
.theme-toggle:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
.theme-toggle-icon { width: 14px; height: 14px; display: block; position: relative; border: 1.5px solid currentColor; border-radius: 50%; }
.theme-toggle-icon::before, .theme-toggle-icon::after { content: ''; position: absolute; inset: -4px 5px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.theme-toggle-icon::after { transform: rotate(90deg); }
[data-theme="dark"] .theme-toggle-icon { border: 0; background: currentColor; box-shadow: inset -4px -2px 0 0 #202123; transform: rotate(-25deg); }
[data-theme="dark"] .theme-toggle-icon::before, [data-theme="dark"] .theme-toggle-icon::after { display: none; }
.theme-toggle-compact { width: 36px; min-width: 36px; padding: 0; }
.mobile-actions { display: flex; align-items: center; gap: 7px; }
.auth-theme-toggle { position: fixed; top: 18px; right: 18px; z-index: 10; }

/* El tema claro comparte la misma densidad y jerarquía profesional. */
.content-area { width: 100%; max-width: 1920px; }
.metric-card, .stat-card, .panel, .performance-strip, .control-center, .attention-section, .monitoring-section, .insight-card, .manual-check-workspace { box-shadow: none !important; }
.metric-card, .stat-card, .panel, .performance-strip, .control-center, .attention-section, .monitoring-section, .insight-card { border-radius: 10px !important; }
.button { border-radius: 7px; }
.filters input, .filters select, input, select, textarea { border-radius: 7px !important; }

@media (max-width: 820px) {
    .desktop-toolbar { display: none; }
    .auth-theme-toggle { top: 12px; right: 12px; }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/interface-2.4.css ---- */
/* Softtalia Monitor 2.4 · interfaz de control amplia y orientada a tareas */
:root {
    --ui-canvas: #f3f4f6;
    --ui-panel: #ffffff;
    --ui-panel-subtle: #f8f9fa;
    --ui-ink: #1d1f23;
    --ui-muted: #666b74;
    --ui-line: #d9dce1;
    --ui-line-strong: #c4c8cf;
    --ui-accent: #e84c20;
    --ui-accent-dark: #c83b15;
    --ui-focus: #2563eb;
}

/* Corrige el límite heredado de 1480 px visto en pantallas grandes. */
.app-shell { width: 100%; grid-template-columns: 244px minmax(0, 1fr); }
.main-area { width: 100%; min-width: 0; }
.content-area {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 30px clamp(24px, 2.2vw, 48px) 72px !important;
}

.dashboard-heading h1, .workspace-heading h1 { color: var(--ui-ink); font-weight: 760; letter-spacing: -.045em; }
.dashboard-updated, .workspace-heading p { color: var(--ui-muted); }
.button { min-height: 42px; font-weight: 740; }
.button-primary { border-color: #24262b; background: #24262b; }
.button-primary:hover { border-color: #111216; background: #111216; }
.button:focus-visible, .row-link:focus-visible, .scan-mode-guide a:focus-visible, .scan-mode-trigger:focus-visible { outline: 2px solid var(--ui-focus); outline-offset: 2px; }

.scan-mode-guide {
    margin: 0 0 18px;
    display: grid;
    grid-template-columns: minmax(260px, .85fr) repeat(3, minmax(250px, 1fr));
    overflow: hidden;
    border: 1px solid var(--ui-line);
    border-radius: 8px;
    background: var(--ui-panel);
}
.scan-mode-guide > * { min-width: 0; padding: 20px; border-right: 1px solid var(--ui-line); }
.scan-mode-guide > *:last-child { border-right: 0; }
.scan-mode-intro { background: #22242a; }
.scan-mode-intro .section-kicker { color: #aeb2ba; }
.scan-mode-intro h2 { margin: 7px 0 8px; color: #fff; font-size: 20px; letter-spacing: -.035em; }
.scan-mode-intro p { margin: 0; color: #b9bdc5; font-size: 12px; line-height: 1.55; }
.scan-mode-guide article { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 0 12px; align-items: start; }
.scan-mode-guide article.is-primary { box-shadow: inset 0 3px var(--ui-accent); }
.scan-mode-number { color: #9a9ea6; font: 750 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.scan-mode-guide article strong { display: block; color: var(--ui-ink); font-size: 13px; }
.scan-mode-guide article p { margin: 6px 0 16px; color: var(--ui-muted); font-size: 11px; line-height: 1.5; }
.scan-mode-guide article > a, .scan-mode-trigger { grid-column: 2; width: fit-content; min-height: 30px; padding: 0; display: inline-flex; align-items: center; color: #30333a; border: 0; border-bottom: 1px solid #8f939a; background: transparent; cursor: pointer; font-size: 11px; font-weight: 760; }
.scan-mode-guide article > a:hover, .scan-mode-trigger:hover { color: var(--ui-accent-dark); border-color: var(--ui-accent-dark); }

.seo-command-center, .seo-kpi-grid article, .seo-priority-board, .seo-inventory, .manual-check-workspace,
.workspace-section, .crawl-progress-panel, .crawler-empty, .crawler-metrics article {
    border-color: var(--ui-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 2px rgba(20, 24, 32, .035) !important;
}
.seo-command-center { margin-bottom: 14px; }
.seo-kpi-grid { gap: 10px; }
.seo-kpi-grid article { min-height: 116px; padding: 18px; }
.seo-kpi-grid article > span { color: var(--ui-muted); font-size: 11px; }
.seo-kpi-grid article > strong { margin: 8px 0 6px; font-size: 27px; }
.seo-kpi-grid article > p { color: var(--ui-muted); font-size: 10px; line-height: 1.45; }

.seo-inventory .table-heading { padding: 20px; align-items: flex-start; }
.seo-inventory .table-heading > div:first-child { max-width: 520px; }
.seo-filter-bar { flex: 1; justify-content: flex-end; align-items: flex-end; gap: 9px; }
.seo-filter-bar .filter-control { min-width: 150px; }
.seo-filter-bar .filter-control-property { min-width: 235px; }
.seo-filter-bar .search-field { min-width: 220px; }
.filter-control > span { margin-bottom: 6px; color: #6e727a; font-size: 10px; font-weight: 720; }
.seo-filter-bar input, .seo-filter-bar select { height: 42px; border-color: var(--ui-line-strong); background: var(--ui-panel); font-size: 11px; }
.seo-clear-filters { height: 42px; padding: 0 13px; color: #555961; border: 1px solid var(--ui-line-strong); border-radius: 7px; background: var(--ui-panel); cursor: pointer; font-size: 10px; font-weight: 730; white-space: nowrap; }
.seo-clear-filters:hover { color: var(--ui-ink); border-color: #8f939a; }
.seo-filter-summary { min-height: 42px; padding: 0 20px; display: flex; align-items: center; gap: 14px; color: var(--ui-muted); border-top: 1px solid #eceef1; border-bottom: 1px solid var(--ui-line); background: var(--ui-panel-subtle); font-size: 11px; }
.seo-filter-summary strong { color: var(--ui-ink); }

.seo-control-table { min-width: 1460px; }
.seo-control-table th { height: 43px; padding: 0 14px; background: #f4f5f7; font-size: 9px; }
.seo-control-table td { padding: 14px; font-size: 11px; }
.seo-control-table tbody tr:hover { background: #f8f9fa; }
.seo-control-table tbody tr:focus-within { background: #f5f7fa; box-shadow: inset 3px 0 var(--ui-accent); }
.gsc-property-name { max-width: 220px; margin-top: 6px !important; overflow: hidden; color: #737780 !important; font-size: 9px !important; text-overflow: ellipsis; white-space: nowrap; }
.row-action-stack { display: grid; gap: 6px; min-width: 106px; }
.row-action-stack .row-link { min-height: 29px; padding: 0 9px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d2d5da; border-radius: 5px; color: #41444b; background: #fff; font-size: 10px; white-space: nowrap; }
.row-action-stack .row-link-primary { color: #fff; border-color: #292b30; background: #292b30; }
.row-action-stack .row-link:hover { border-color: #8e9299; }
.row-action-stack .row-link-primary:hover { border-color: #111216; background: #111216; }

/* El crawler explica el alcance y mantiene los controles juntos. */
.workspace-heading { min-height: 126px; padding-bottom: 18px; border-bottom: 1px solid var(--ui-line); }
.workspace-actions { padding: 6px; border: 1px solid var(--ui-line); border-radius: 8px; background: var(--ui-panel); }
.crawl-limit { min-height: 40px; padding-left: 10px; border-left: 1px solid var(--ui-line); }
.crawl-progress-panel { border-top: 3px solid #34363c !important; }
.crawler-tabs { position: sticky; top: 54px; z-index: 8; background: var(--ui-canvas); }

@media (min-width: 1800px) {
    .content-area { padding-left: 42px !important; padding-right: 42px !important; }
    .seo-command-center { grid-template-columns: 170px minmax(420px, 1.3fr) minmax(360px, .8fr); }
    .seo-kpi-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1500px) {
    .scan-mode-guide { grid-template-columns: 1fr 1fr; }
    .scan-mode-guide > * { border-bottom: 1px solid var(--ui-line); }
    .scan-mode-guide > *:nth-child(2) { border-right: 0; }
    .scan-mode-guide > *:nth-last-child(-n+2) { border-bottom: 0; }
    .seo-filter-bar { justify-content: flex-start; }
    .seo-inventory .table-heading { flex-direction: column; }
}

@media (max-width: 820px) {
    .app-shell { display: block; }
    .content-area { padding: 22px 15px 52px !important; }
    .scan-mode-guide { grid-template-columns: 1fr; }
    .scan-mode-guide > * { border-right: 0; border-bottom: 1px solid var(--ui-line) !important; }
    .scan-mode-guide > *:last-child { border-bottom: 0 !important; }
    .seo-filter-bar { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .seo-filter-bar .filter-control, .seo-filter-bar .filter-control-property, .seo-filter-bar .search-field { min-width: 0; }
    .seo-filter-bar input, .seo-filter-bar select { width: 100%; }
    .workspace-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .workspace-actions .button, .workspace-actions .crawl-limit { width: 100%; }
}

@media (max-width: 560px) {
    .seo-filter-bar, .workspace-actions { grid-template-columns: 1fr; }
    .scan-mode-guide > * { padding: 17px; }
}

[data-theme="dark"] {
    --ui-canvas: #090a0b;
    --ui-panel: #151617;
    --ui-panel-subtle: #1b1c1e;
    --ui-ink: #f0f0f1;
    --ui-muted: #9a9ca2;
    --ui-line: #303135;
    --ui-line-strong: #45474d;
}
[data-theme="dark"] .scan-mode-guide, [data-theme="dark"] .scan-mode-guide > *, [data-theme="dark"] .seo-filter-summary { background: var(--ui-panel); border-color: var(--ui-line); }
[data-theme="dark"] .scan-mode-intro { background: #202124; }
[data-theme="dark"] .scan-mode-guide article strong, [data-theme="dark"] .scan-mode-guide article > a, [data-theme="dark"] .scan-mode-trigger { color: var(--ui-ink); }
[data-theme="dark"] .seo-filter-bar input, [data-theme="dark"] .seo-filter-bar select { color: var(--ui-ink); border-color: var(--ui-line-strong); background: #171819; }
[data-theme="dark"] .seo-clear-filters { color: #c8c9cc; border-color: var(--ui-line-strong); background: #171819; }
[data-theme="dark"] .seo-control-table th { background: #1c1d1f; }
[data-theme="dark"] .seo-control-table tbody tr:hover, [data-theme="dark"] .seo-control-table tbody tr:focus-within { background: #1a1b1d; }
[data-theme="dark"] .row-action-stack .row-link { color: #d8d9dc; border-color: #44464b; background: #1b1c1e; }
[data-theme="dark"] .row-action-stack .row-link-primary { color: #fff; border-color: #4f83d6; background: #356bbf; }
[data-theme="dark"] .workspace-actions { border-color: var(--ui-line); background: var(--ui-panel); }
[data-theme="dark"] .crawler-tabs { background: var(--ui-canvas); }

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/performance.css ---- */
/* Softtalia Monitor 2.4.1 · navegación inmediata y sin destellos */
html { scroll-behavior: auto !important; }
body { text-rendering: optimizeSpeed; }

.nav-list a,
.desktop-toolbar a,
.theme-toggle,
.button,
.metric-card,
.seo-issue-group,
.chart-metric-switch button,
.crawler-tabs button,
.data-table tr,
.professional-table tr,
.row-link,
.scan-mode-trigger,
.scan-mode-guide a {
    transition: none !important;
}

.button:hover, .metric-card:hover { transform: none !important; }
.crawler-tabs button, .chart-metric-switch button { touch-action: manipulation; }

/* Mantiene animación únicamente donde comunica una tarea realmente activa. */
.manual-check-spinner, .button-check-now:disabled svg { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0s !important;
    }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/premium.css ---- */
/* Softtalia Monitor 2.5.3 · sistema visual premium, legible y espacioso */
:root {
    --premium-canvas: #f1f3f5;
    --premium-sidebar: #ffffff;
    --premium-surface: #ffffff;
    --premium-surface-raised: #f7f8fa;
    --premium-surface-hover: #f2f4f6;
    --premium-text: #181b20;
    --premium-text-secondary: #5f6670;
    --premium-text-tertiary: #858c96;
    --premium-divider: rgba(22, 27, 34, .09);
    --premium-primary: #24272d;
    --premium-primary-hover: #111318;
    --premium-blue: #2563d8;
    --premium-green: #178551;
    --premium-amber: #a86a10;
    --premium-red: #c43c45;
    --premium-radius: 12px;
    --premium-shadow: 0 1px 2px rgba(18, 23, 31, .04), 0 8px 24px rgba(18, 23, 31, .035);
}

html, body { background: var(--premium-canvas) !important; color: var(--premium-text); }
.main-area { background: var(--premium-canvas) !important; }
.sidebar { color: var(--premium-text); border: 0 !important; background: var(--premium-sidebar) !important; box-shadow: 1px 0 0 var(--premium-divider); }
.desktop-toolbar { border: 0 !important; background: color-mix(in srgb, var(--premium-canvas) 90%, transparent) !important; box-shadow: 0 1px 0 var(--premium-divider); }
.content-area { padding-top: 32px !important; }

/* Superficies: se distinguen por tono y espacio, nunca por contornos decorativos. */
.panel, .stat-card, .metric-card, .performance-strip, .control-center, .attention-section,
.monitoring-section, .insight-card, .manual-check-workspace, .alert-status-card, .sync-card,
.seo-summary-card, .seo-crawler-card, .gsc-card, .performance-card, .report-card,
.seo-command-center, .seo-priority-board, .seo-inventory, .seo-kpi-grid article,
.workspace-section, .crawl-progress-panel, .crawler-empty, .crawler-metrics article,
.performance-kpis, .performance-chart-panel, .performance-table-section, .breakdown-card,
.performance-empty-state, .settings-panel, .alert-rule-card, .indexing-workspace,
.indexing-history, .indexing-explainer, .site-seo-panel {
    border: 0 !important;
    border-radius: var(--premium-radius) !important;
    background: var(--premium-surface) !important;
    box-shadow: var(--premium-shadow) !important;
}

.metric-card:hover, .stat-card:hover, .insight-card:hover, .seo-kpi-grid article:hover {
    border: 0 !important;
    background: var(--premium-surface) !important;
    box-shadow: var(--premium-shadow) !important;
}
.metric-card.is-selected { border: 0 !important; background: var(--premium-surface-raised) !important; box-shadow: inset 0 0 0 2px var(--premium-primary) !important; }
.metric-card::before, .metric-card::after, .stat-card::before,
.seo-detail-overview > article::before, .geo-audit-section::before, .seo-evidence-card::before { display: none !important; }

/* Separadores estructurales neutros, no bordes de tarjeta. */
.panel-heading, .section-heading, .performance-strip > header, .manual-check-header,
.manual-check-overview, .workspace-section > header, .seo-evidence-card > header,
.seo-technical-sections > section > header, .geo-audit-section > header,
.performance-chart-panel > header, .performance-table-section > header, .breakdown-card > header {
    border: 0 !important;
    box-shadow: inset 0 -1px var(--premium-divider);
}
.data-table th, .professional-table th, .manual-results-table th { border: 0 !important; background: var(--premium-surface-raised) !important; }
.data-table td, .professional-table td, .manual-results-table td,
.incident-row, .insight-list a, .details-list > div, .run-history article {
    border: 0 !important;
    box-shadow: inset 0 -1px var(--premium-divider);
}
.data-table tbody tr:last-child td, .professional-table tbody tr:last-child td,
.manual-results-table tbody tr:last-child td { box-shadow: none; }
.data-table tbody tr:hover, .professional-table tbody tr:hover, .manual-results-table tbody tr:hover,
.incident-row:hover, .insight-list a:hover { background: var(--premium-surface-hover) !important; }

/* Navegación compacta, sólida y sin decoraciones laterales. */
.nav-list a { border: 0 !important; border-radius: 8px; color: var(--premium-text-secondary); background: transparent; }
.nav-list a:hover { color: var(--premium-text); background: var(--premium-surface-raised) !important; }
.nav-list a.active { color: #fff !important; border: 0 !important; background: var(--premium-primary) !important; box-shadow: none !important; }
.nav-list a.active .nav-icon { color: #fff !important; }

/* Botones y controles: jerarquía por relleno, no por marcos coloreados. */
.button { border: 0 !important; border-radius: 8px; box-shadow: none !important; }
.button-primary { color: #fff !important; background: var(--premium-primary) !important; }
.button-primary:hover { background: var(--premium-primary-hover) !important; }
.button-secondary { color: var(--premium-text) !important; background: var(--premium-surface-raised) !important; }
.button-secondary:hover { background: var(--premium-surface-hover) !important; }
.row-action-stack .row-link { border: 0 !important; background: var(--premium-surface-raised) !important; }
.row-action-stack .row-link-primary { color: #fff !important; background: var(--premium-primary) !important; }

/* Estados: el color comunica significado sin contornear las superficies. */
.status-pill, .seo-state, .google-state, .geo-state, .priority-label, .http-code,
.analysis-period, .plain-count, .counter-badge { border: 0 !important; box-shadow: none !important; }
.status-pill.status-ok { color: var(--premium-green); background: color-mix(in srgb, var(--premium-green) 12%, transparent) !important; }
.status-pill.status-warning { color: var(--premium-amber); background: color-mix(in srgb, var(--premium-amber) 13%, transparent) !important; }
.status-pill.status-error, .status-pill.status-down { color: var(--premium-red); background: color-mix(in srgb, var(--premium-red) 12%, transparent) !important; }

/* Centro SEO: composición continua y jerarquía editorial. */
.scan-mode-guide { border: 0 !important; border-radius: var(--premium-radius); background: var(--premium-surface); box-shadow: var(--premium-shadow); }
.scan-mode-guide > * { border: 0 !important; box-shadow: inset -1px 0 var(--premium-divider); }
.scan-mode-guide > *:last-child { box-shadow: none; }
.scan-mode-guide article.is-primary { box-shadow: inset -1px 0 var(--premium-divider) !important; }
.scan-mode-intro { background: var(--premium-primary) !important; }
.seo-issue-group { border: 0 !important; border-radius: 9px !important; background: var(--premium-surface-raised) !important; }
.seo-issue-group:hover, .seo-issue-group.is-selected { border: 0 !important; background: var(--premium-surface-hover) !important; }
.seo-issue-group.is-selected { box-shadow: inset 0 0 0 2px var(--premium-primary) !important; }
.seo-filter-summary, .url-filters { border: 0 !important; box-shadow: inset 0 1px var(--premium-divider), inset 0 -1px var(--premium-divider); background: var(--premium-surface-raised) !important; }

/* Ficha SEO/GEO: una superficie principal con grupos tonales. */
.site-seo-panel .seo-detail-overview,
.site-seo-panel .search-performance,
.site-seo-panel .seo-evidence-grid,
.site-seo-panel .seo-technical-sections,
.site-seo-panel .geo-audit-section { border: 0 !important; box-shadow: none !important; }
.site-seo-panel .seo-detail-overview > article,
.site-seo-panel .search-performance > div,
.site-seo-panel .geo-audit-grid > article { border: 0 !important; box-shadow: inset -1px 0 var(--premium-divider); }
.site-seo-panel .seo-detail-overview > article:last-child,
.site-seo-panel .search-performance > div:last-child,
.site-seo-panel .geo-audit-grid > article:last-child { box-shadow: none; }
.site-seo-panel .seo-evidence-grid, .site-seo-panel .seo-technical-sections { gap: 12px; background: var(--premium-canvas) !important; }
.site-seo-panel .seo-evidence-card, .site-seo-panel .seo-technical-sections > section,
.site-seo-panel .geo-audit-section { border: 0 !important; border-radius: 10px !important; background: var(--premium-surface-raised) !important; box-shadow: none !important; }
.site-seo-panel .seo-facts > div, .site-seo-panel .technical-facts > div,
.site-seo-panel .geo-policy, .site-seo-panel .geo-finding,
.site-seo-panel .detailed-issues .seo-issue { border: 0 !important; box-shadow: inset 0 -1px var(--premium-divider); }
.site-seo-panel .detailed-issues .seo-issue { border-left: 0 !important; background: transparent !important; }
.site-seo-panel .detailed-issues .seo-issue:last-child,
.site-seo-panel .geo-finding:last-child { box-shadow: none; }
.site-seo-panel .geo-policy { border-radius: 7px !important; background: var(--premium-surface) !important; box-shadow: none; }

/* Formularios conservan un límite funcional discreto. */
input, select, textarea, .filters select, .search-field input {
    border: 0 !important;
    background: var(--premium-surface-raised) !important;
    box-shadow: inset 0 0 0 1px var(--premium-divider) !important;
}
input:focus, select:focus, textarea:focus {
    outline: 2px solid color-mix(in srgb, var(--premium-blue) 32%, transparent) !important;
    outline-offset: 0;
    box-shadow: inset 0 0 0 1px var(--premium-blue) !important;
}

[data-theme="dark"] {
    --premium-canvas: #0c0f13;
    --premium-sidebar: #111419;
    --premium-surface: #171b21;
    --premium-surface-raised: #1d2229;
    --premium-surface-hover: #232931;
    --premium-text: #f2f5f8;
    --premium-text-secondary: #b4bdc8;
    --premium-text-tertiary: #8e98a5;
    --premium-divider: rgba(230, 237, 243, .09);
    --premium-primary: #3478f6;
    --premium-primary-hover: #4b88f7;
    --premium-blue: #6ea8ff;
    --premium-green: #62d99a;
    --premium-amber: #e8b85d;
    --premium-red: #ff747c;
    --premium-shadow: none;
}
[data-theme="dark"] .nav-list a.active,
[data-theme="dark"] .button-primary,
[data-theme="dark"] .row-action-stack .row-link-primary {
    color: #ffffff !important;
    background: var(--premium-primary) !important;
}
[data-theme="dark"] .nav-list a.active .nav-icon { color: #ffffff !important; }
[data-theme="dark"] .scan-mode-intro { color: #fff; background: #111419 !important; }
[data-theme="dark"] .site-seo-panel .seo-score-good { color: #a9efcb !important; background: #1b4935 !important; }
[data-theme="dark"] .site-seo-panel .seo-score-medium { color: #f6d58c !important; background: #493818 !important; }
[data-theme="dark"] .site-seo-panel .seo-score-low { color: #ffb4b9 !important; background: #4b252a !important; }
[data-theme="dark"] .site-seo-panel .seo-evidence-grid,
[data-theme="dark"] .site-seo-panel .seo-technical-sections { background: var(--premium-canvas) !important; }
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea {
    color: var(--premium-text) !important;
    background: var(--premium-surface-raised) !important;
}

/* Corrección integral 2.5.1: neutraliza superficies claras heredadas en todas las vistas. */
.seo-kpi-grid {
    gap: 10px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.seo-kpi-grid article { min-width: 0; }

.analytics-card, .gsc-chart, .chart-panel, .chart-shell, .chart-metric-switch,
.period-switcher, .crawler-tabs, .crawler-toolbar, .crawler-results,
.seo-google-coverage, .seo-no-data, .filter-empty, .empty-list, .empty-state,
.setup-state, .indexing-setup, .seo-scan-dialog, .crawl-complete-dialog,
.page-detail-dialog, .modal-card, .dialog-card, .url-filters, .filter-bar,
.site-list-toolbar, .table-shell, .table-responsive, .report-toolbar,
.login-card, .auth-card {
    border-color: transparent !important;
    background: var(--premium-surface) !important;
    box-shadow: var(--premium-shadow) !important;
}

[data-theme="dark"] .content-area,
[data-theme="dark"] .content-area main,
[data-theme="dark"] .content-area section,
[data-theme="dark"] .content-area article { color: var(--premium-text); }

[data-theme="dark"] .content-area h1,
[data-theme="dark"] .content-area h2,
[data-theme="dark"] .content-area h3,
[data-theme="dark"] .content-area h4,
[data-theme="dark"] .content-area h5,
[data-theme="dark"] .content-area legend,
[data-theme="dark"] .content-area label,
[data-theme="dark"] .content-area th,
[data-theme="dark"] .seo-command-copy strong,
[data-theme="dark"] .seo-kpi-grid strong,
[data-theme="dark"] .seo-google-coverage strong,
[data-theme="dark"] .seo-issue-group strong,
[data-theme="dark"] .seo-issue-group b,
[data-theme="dark"] .coverage-number strong {
    color: var(--premium-text) !important;
}

[data-theme="dark"] .content-area p,
[data-theme="dark"] .content-area small,
[data-theme="dark"] .content-area .muted,
[data-theme="dark"] .content-area .help-text,
[data-theme="dark"] .content-area .section-caption,
[data-theme="dark"] .dashboard-updated,
[data-theme="dark"] .seo-command-copy p,
[data-theme="dark"] .seo-kpi-grid span,
[data-theme="dark"] .seo-kpi-grid small,
[data-theme="dark"] .seo-google-coverage span,
[data-theme="dark"] .seo-google-coverage small,
[data-theme="dark"] .coverage-meta,
[data-theme="dark"] .seo-issue-group small {
    color: var(--premium-text-secondary) !important;
}

[data-theme="dark"] .panel,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .metric-card,
[data-theme="dark"] .analytics-card,
[data-theme="dark"] .gsc-card,
[data-theme="dark"] .gsc-chart,
[data-theme="dark"] .performance-card,
[data-theme="dark"] .report-card,
[data-theme="dark"] .settings-panel,
[data-theme="dark"] .alert-rule-card,
[data-theme="dark"] .seo-command-center,
[data-theme="dark"] .seo-priority-board,
[data-theme="dark"] .seo-inventory,
[data-theme="dark"] .seo-google-coverage,
[data-theme="dark"] .seo-scan-dialog,
[data-theme="dark"] .crawl-complete-dialog,
[data-theme="dark"] .page-detail-dialog,
[data-theme="dark"] .modal-card,
[data-theme="dark"] .dialog-card,
[data-theme="dark"] .login-card,
[data-theme="dark"] .auth-card {
    color: var(--premium-text) !important;
    border-color: transparent !important;
    background: var(--premium-surface) !important;
}

[data-theme="dark"] .seo-kpi-grid { background: transparent !important; }
[data-theme="dark"] .seo-kpi-grid article,
[data-theme="dark"] .seo-issue-group,
[data-theme="dark"] .setup-state,
[data-theme="dark"] .indexing-setup,
[data-theme="dark"] .seo-no-data,
[data-theme="dark"] .filter-empty,
[data-theme="dark"] .empty-list,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .period-switcher,
[data-theme="dark"] .chart-metric-switch,
[data-theme="dark"] .crawler-tabs,
[data-theme="dark"] .url-filters,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .site-list-toolbar {
    color: var(--premium-text) !important;
    border-color: transparent !important;
    background: var(--premium-surface-raised) !important;
}

[data-theme="dark"] table,
[data-theme="dark"] .data-table,
[data-theme="dark"] .professional-table,
[data-theme="dark"] .manual-results-table { color: var(--premium-text) !important; background: transparent !important; }
[data-theme="dark"] .data-table th,
[data-theme="dark"] .professional-table th,
[data-theme="dark"] .manual-results-table th { color: var(--premium-text-secondary) !important; background: var(--premium-surface-raised) !important; }
[data-theme="dark"] .data-table td,
[data-theme="dark"] .professional-table td,
[data-theme="dark"] .manual-results-table td { color: var(--premium-text) !important; background: transparent; }

[data-theme="dark"] .button-secondary,
[data-theme="dark"] .row-action-stack .row-link,
[data-theme="dark"] .period-switcher button,
[data-theme="dark"] .chart-metric-switch button,
[data-theme="dark"] .crawler-tabs button {
    color: var(--premium-text-secondary) !important;
    border-color: transparent !important;
    background: var(--premium-surface-raised) !important;
}
[data-theme="dark"] .button-secondary:hover,
[data-theme="dark"] .row-action-stack .row-link:hover,
[data-theme="dark"] .period-switcher button:hover,
[data-theme="dark"] .chart-metric-switch button:hover,
[data-theme="dark"] .crawler-tabs button:hover { color: var(--premium-text) !important; background: var(--premium-surface-hover) !important; }
[data-theme="dark"] .period-switcher button.active,
[data-theme="dark"] .chart-metric-switch button.active,
[data-theme="dark"] .crawler-tabs button.active { color: #fff !important; background: var(--premium-primary) !important; }

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--premium-text-tertiary) !important; opacity: 1; }
[data-theme="dark"] option { color: var(--premium-text); background: var(--premium-surface-raised); }
[data-theme="dark"] hr { border-color: var(--premium-divider) !important; }

/* Escala tipográfica 2.5.2: lectura cómoda en todo el producto. */
body { font-size: 16px !important; line-height: 1.55; }
.content-area { font-size: 15px; }
.dashboard-heading h1, .page-heading h1 { font-size: clamp(30px, 2.4vw, 40px) !important; line-height: 1.12; }
.dashboard-updated, .page-heading p { font-size: 14px !important; line-height: 1.55; }
.desktop-toolbar strong { font-size: 13px !important; }
.desktop-toolbar nav a { font-size: 12px !important; }
.brand strong { font-size: 17px !important; }
.brand small { font-size: 11px !important; }
.nav-heading { font-size: 11px !important; }
.nav-list a { min-height: 43px; font-size: 14px !important; }
.nav-list .nav-icon { font-size: 15px !important; }
.button { min-height: 42px; padding-inline: 17px; font-size: 13px !important; }

.metric-card { min-height: 142px !important; padding: 20px 20px 17px !important; }
.metric-card > span, .stat-card small { font-size: 14px !important; }
.metric-card > strong, .stat-card strong { margin: 10px 0 15px; font-size: 36px !important; }
.metric-card > small { font-size: 12px !important; line-height: 1.45; }

.performance-strip h2, .section-heading h2, .panel-heading h2 { font-size: 19px !important; }
.performance-strip p, .section-heading span, .section-heading p, .panel-heading p { font-size: 13px !important; line-height: 1.5; }
.performance-values span, .control-overview span { font-size: 13px !important; }
.performance-values strong, .control-overview strong { font-size: 30px !important; }
.performance-values small, .control-overview small { font-size: 11px !important; }
.performance-values article, .control-overview article { min-height: 116px; padding: 20px 22px; }

.control-center { background: var(--premium-surface) !important; }
.insight-grid { padding: 18px !important; gap: 16px !important; background: var(--premium-surface-raised) !important; }
.insight-card > header { min-height: 86px; padding: 18px !important; }
.insight-card h3 { font-size: 16px !important; }
.insight-card header p { font-size: 12px !important; line-height: 1.5; }
.insight-card header > span { font-size: 11px !important; }
.insight-list a { min-height: 64px; padding: 13px 16px !important; }
.insight-list strong, .insight-list b { font-size: 13px !important; }
.insight-list small, .insight-empty { font-size: 11px !important; line-height: 1.45; }

.data-table th, .professional-table th, .manual-results-table th,
.seo-control-table th, .performance-table th { font-size: 11px !important; }
.data-table td, .professional-table td, .manual-results-table td,
.seo-control-table td, .performance-table td { font-size: 13px !important; line-height: 1.5; }
.domain-cell strong, .site-name, .table-primary { font-size: 14px !important; }
.domain-cell small, .table-secondary, .cell-note,
.seo-control-table td small { font-size: 11px !important; }
.status-pill, .seo-state, .google-state, .geo-state, .priority-label,
.http-code, .analysis-period, .plain-count, .counter-badge { font-size: 11px !important; }
.row-link, .row-action-stack .row-link { min-height: 36px; font-size: 12px !important; }

.form-grid label, .form-stack label, .filter-control, fieldset label { font-size: 13px !important; }
input, select, textarea, .filters select, .search-field input {
    min-height: 44px;
    font-size: 14px !important;
}
textarea { min-height: 116px; }
.help-text, .field-help, .form-help, .import-note p { font-size: 12px !important; line-height: 1.55; }

.seo-command-heading .dashboard-updated { font-size: 14px !important; }
.section-kicker, .seo-command-copy .command-eyebrow { font-size: 11px !important; }
.seo-command-copy h2 { font-size: clamp(27px, 2.2vw, 36px) !important; }
.seo-command-copy > p { font-size: 14px !important; }
.seo-status-line { font-size: 12px !important; }
.coverage-head, .coverage-meta { font-size: 11px !important; }
.coverage-number strong { font-size: 38px !important; }
.coverage-number span, .seo-google-coverage > a { font-size: 12px !important; }
.seo-kpi-grid article { min-height: 130px; padding: 18px !important; }
.seo-kpi-grid article > span { font-size: 13px !important; }
.seo-kpi-grid article > strong { font-size: 34px !important; }
.seo-kpi-grid article > p { font-size: 12px !important; line-height: 1.5; }
.seo-priority-board h2, .seo-inventory h2 { font-size: 21px !important; }
.seo-priority-board .section-heading p, .seo-inventory .section-heading p { font-size: 13px !important; }
.seo-issue-group .issue-level { font-size: 10px !important; }
.seo-issue-group strong { font-size: 13px !important; }
.seo-issue-group small { font-size: 11px !important; }
.seo-filter-bar .filter-control { font-size: 10px !important; }
.seo-filter-bar input, .seo-filter-bar select { height: 44px; font-size: 13px !important; }
.seo-filter-summary { min-height: 42px; font-size: 11px !important; }

.technical-facts dt, .seo-facts dt { font-size: 10px !important; }
.technical-facts dd, .seo-facts dd { font-size: 13px !important; }
.technical-facts dd small, .seo-facts dd small { font-size: 11px !important; }
.geo-audit-section h3 { font-size: 19px !important; }
.geo-audit-section header p { font-size: 12px !important; }
.geo-audit-grid span, .geo-audit-grid small { font-size: 11px !important; }
.geo-audit-grid strong { font-size: 19px !important; }
.geo-policy strong { font-size: 11px !important; }
.geo-policy small { font-size: 10px !important; }
.geo-finding strong { font-size: 10px !important; }
.geo-finding span { font-size: 12px !important; }

.seo-dialog-header h2, .crawl-complete-dialog h2, .page-detail-dialog h2 { font-size: 27px !important; }
.seo-dialog-header p, .crawl-complete-dialog p, .page-detail-dialog p { font-size: 13px !important; }
.seo-dialog-stats span { font-size: 10px !important; }
.seo-dialog-stats strong { font-size: 28px !important; }
.seo-dialog-finding strong { font-size: 13px !important; }
.seo-dialog-finding span { font-size: 12px !important; }

@media (max-width: 900px) {
    body { font-size: 15px !important; }
    .content-area { font-size: 14px; }
    .dashboard-heading h1, .page-heading h1 { font-size: 30px !important; }
    .metric-card { min-height: 128px !important; }
    .metric-card > strong, .stat-card strong { font-size: 32px !important; }
    .performance-values article, .control-overview article { min-height: 104px; padding: 17px; }
    .performance-values strong, .control-overview strong { font-size: 27px !important; }
}

@media (max-width: 560px) {
    .dashboard-heading h1, .page-heading h1 { font-size: 27px !important; }
    .button { min-height: 44px; font-size: 13px !important; }
    .metric-card > span, .stat-card small { font-size: 13px !important; }
    .metric-card > small { font-size: 11px !important; }
    .insight-grid { padding: 12px !important; gap: 12px !important; }
}

/* Sistema de espaciado 2.5.3: ritmo uniforme en todas las secciones. */
:root {
    --space-page-x: clamp(24px, 2.8vw, 56px);
    --space-page-y: 34px;
    --space-section: 24px;
    --space-panel: 24px;
    --space-panel-compact: 18px;
    --space-row: 16px;
}

.content-area {
    padding: var(--space-page-y) var(--space-page-x) 72px !important;
}
.dashboard-heading, .page-heading {
    min-height: 116px;
    margin: 0 0 var(--space-section) !important;
    gap: 28px;
}
.dashboard-heading > div, .page-heading > div { min-width: 0; }
.dashboard-path, .eyebrow { margin-bottom: 10px !important; }
.dashboard-heading h1, .page-heading h1 { margin: 0 0 10px !important; }

.settings-grid, .gsc-settings, .seo-detail-grid, .seo-explainer,
.form-grid, .stats-grid, .cards-grid, .report-grid {
    align-items: start;
}
.settings-grid, .gsc-settings { gap: var(--space-section) !important; }
.settings-panel { align-self: start; overflow: hidden; }
.settings-panel > header {
    margin: 0 !important;
    padding: 24px var(--space-panel) 20px;
    box-shadow: inset 0 -1px var(--premium-divider);
}
.settings-panel > header h2 { margin: 0 0 7px; }
.settings-panel > header p { margin: 0; line-height: 1.55; }
.settings-panel > .setup-state {
    margin: 0 !important;
    padding: 18px var(--space-panel) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 -1px var(--premium-divider) !important;
}
.settings-panel > .setup-state p { margin: 6px 0 0; }
.settings-panel > .button-row {
    margin: 0 !important;
    padding: 18px var(--space-panel) 24px;
    gap: 12px;
}
.settings-panel > form { margin: 0; padding: 18px var(--space-panel) 24px; }
.settings-panel > .config-example { margin: 0 24px 24px; padding: 18px; }
.settings-panel > .definition-list { margin: 0 !important; }
.settings-panel > .definition-list > div { padding: 16px var(--space-panel) !important; }
.settings-panel > .definition-list dt { margin-bottom: 6px; }
.settings-panel > .definition-list dd { line-height: 1.55; }

.panel-heading, .section-heading, .performance-strip > header,
.manual-check-header, .workspace-section > header,
.performance-chart-panel > header, .performance-table-section > header,
.breakdown-card > header, .seo-evidence-card > header,
.seo-technical-sections > section > header, .geo-audit-section > header {
    padding: 20px var(--space-panel) !important;
}
.panel-heading h2, .section-heading h2,
.performance-chart-panel h2, .performance-table-section h2 { margin-top: 0; }

.form-stack, .settings-form, .panel-body, .workspace-body,
.indexing-workspace > form, .alert-rule-card > form,
.manual-check-body, .seo-crawler-body { padding: var(--space-panel) !important; }
.form-stack, .settings-form { gap: 18px !important; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

.table-wrap, .table-responsive, .table-shell { margin: 0; }
.data-table th, .data-table td,
.professional-table th, .professional-table td,
.manual-results-table th, .manual-results-table td { padding: 15px 18px !important; }

.definition-list > div, .details-list > div, .run-history article,
.incident-row, .insight-list a { padding-block: var(--space-row); }
.empty-list, .empty-state, .filter-empty, .seo-no-data,
.crawler-empty, .performance-empty-state { padding: 32px var(--space-panel) !important; }

.seo-command-center, .seo-priority-board, .seo-inventory,
.site-seo-panel, .seo-crawler-card, .gsc-card,
.indexing-workspace, .indexing-history, .indexing-explainer,
.manual-check-workspace, .alert-status-card, .sync-card,
.performance-chart-panel, .performance-table-section,
.breakdown-card, .report-card { margin-bottom: var(--space-section); }

.seo-filter-bar, .url-filters, .filter-bar, .site-list-toolbar,
.performance-filters, .crawler-toolbar { padding: var(--space-panel-compact) var(--space-panel) !important; }
.seo-filter-summary { padding-inline: var(--space-panel) !important; }
.seo-kpi-grid, .crawler-metrics, .performance-kpis { gap: 14px !important; }
.seo-issue-grid, .seo-evidence-grid, .seo-technical-sections,
.geo-audit-grid { gap: 16px !important; }

.seo-scan-dialog, .crawl-complete-dialog, .page-detail-dialog,
.modal-card, .dialog-card { padding: 0 !important; }
.seo-dialog-header, .dialog-header, .modal-header { padding: 22px var(--space-panel) !important; }
.seo-dialog-body, .dialog-body, .modal-body { padding: var(--space-panel) !important; }
.seo-dialog-footer, .dialog-footer, .modal-footer { padding: 18px var(--space-panel) 22px !important; }

@media (max-width: 1100px) {
    :root { --space-page-x: 22px; --space-page-y: 26px; --space-section: 20px; --space-panel: 20px; }
    .dashboard-heading, .page-heading { min-height: auto; padding-block: 10px; }
}

@media (max-width: 700px) {
    :root { --space-page-x: 16px; --space-page-y: 20px; --space-section: 16px; --space-panel: 16px; --space-panel-compact: 14px; }
    .content-area { padding-bottom: 48px !important; }
    .dashboard-heading, .page-heading { gap: 16px; }
    .settings-panel > header { padding-top: 20px; }
    .settings-panel > .button-row { padding-bottom: 20px; }
    .data-table th, .data-table td,
    .professional-table th, .professional-table td,
    .manual-results-table th, .manual-results-table td { padding: 13px 14px !important; }
}

/* Arquitectura premium 2.6: módulos separados y jerarquía por superficie. */
.clean-metrics { gap: 18px !important; }
.performance-strip, .control-center, .attention-section, .monitoring-section,
.manual-check-workspace, .seo-command-center, .seo-priority-board, .seo-inventory,
.workspace-section, .site-seo-panel, .performance-chart-panel,
.performance-table-section, .settings-grid, .gsc-settings {
    margin-top: 24px !important;
}
.control-center { overflow: visible !important; background: transparent !important; box-shadow: none !important; }
.control-center > .control-heading,
.control-center > .control-overview {
    overflow: hidden;
    border-radius: 12px;
    background: var(--premium-surface) !important;
    box-shadow: var(--premium-shadow);
}
.control-center > .control-overview { margin-top: 12px; }
.control-center > .insight-grid {
    margin-top: 16px;
    padding: 0 !important;
    gap: 16px !important;
    background: transparent !important;
}
.insight-card { min-height: 100%; }

.site-seo-panel { overflow: visible !important; background: transparent !important; box-shadow: none !important; }
.site-seo-panel > .seo-detail-heading,
.site-seo-panel > .seo-detail-overview,
.site-seo-panel > .search-performance,
.site-seo-panel > .seo-evidence-grid,
.site-seo-panel > .seo-technical-sections,
.site-seo-panel > .geo-audit-section,
.site-seo-panel > section,
.site-seo-panel > article {
    margin-bottom: 18px !important;
    overflow: hidden;
    border-radius: 12px !important;
    background: var(--premium-surface) !important;
    box-shadow: var(--premium-shadow) !important;
}
.site-seo-panel > .seo-evidence-grid,
.site-seo-panel > .seo-technical-sections {
    padding: 16px;
    background: var(--premium-surface-raised) !important;
}
.geo-audit-section { margin-top: 20px !important; }
.geo-policy-list { gap: 10px !important; }
.geo-policy { padding: 12px !important; }

@media (max-width: 900px) {
    .clean-metrics { gap: 12px !important; }
    .performance-strip, .control-center, .attention-section, .monitoring-section,
    .manual-check-workspace, .seo-command-center, .seo-priority-board, .seo-inventory,
    .workspace-section, .site-seo-panel, .performance-chart-panel,
    .performance-table-section, .settings-grid, .gsc-settings { margin-top: 18px !important; }
}

@media (max-width: 1500px) {
    .scan-mode-guide > * { box-shadow: inset 0 -1px var(--premium-divider); }
}
@media (max-width: 820px) {
    .sidebar { box-shadow: 18px 0 55px rgba(0,0,0,.22); }
    .scan-mode-guide > * { box-shadow: inset 0 -1px var(--premium-divider) !important; }
    .site-seo-panel .seo-detail-overview > article,
    .site-seo-panel .search-performance > div,
    .site-seo-panel .geo-audit-grid > article { box-shadow: inset 0 -1px var(--premium-divider); }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/typography.css ---- */
/* Softtalia Monitor 2.5.4 · tipografía única para tema claro y oscuro. */
:root {
    --type-body: 16px;
    --type-content: 15px;
    --type-caption: 12px;
    --type-label: 13px;
    --type-control: 13px;
    --type-table: 13px;
    --type-section: 19px;
    --weight-regular: 450;
    --weight-medium: 600;
    --weight-strong: 720;
    --weight-display: 760;
}

html[data-theme] body {
    font-size: var(--type-body) !important;
    font-weight: var(--weight-regular) !important;
    line-height: 1.55 !important;
}
html[data-theme] body .content-area { font-size: var(--type-content) !important; }
html[data-theme] body .dashboard-heading h1,
html[data-theme] body .page-heading h1,
html[data-theme] body .workspace-heading h1,
html[data-theme] body .performance-heading h1,
html[data-theme] body .seo-command-heading h1 {
    font-size: clamp(30px, 2.4vw, 40px) !important;
    font-weight: var(--weight-display) !important;
    line-height: 1.12 !important;
    letter-spacing: -.04em !important;
}
html[data-theme] body h2 { font-weight: var(--weight-strong) !important; }
html[data-theme] body h3,
html[data-theme] body h4 { font-weight: var(--weight-strong) !important; }
html[data-theme] body .dashboard-updated,
html[data-theme] body .page-heading p,
html[data-theme] body .workspace-heading > div > p:last-child { font-size: 14px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .brand strong { font-size: 17px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .brand small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .nav-heading { font-size: 11px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .nav-list a { font-size: 14px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .nav-list .nav-icon { font-size: 15px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .desktop-toolbar strong { font-size: 13px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .desktop-toolbar nav a,
html[data-theme] body .theme-toggle { font-size: 12px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .toolbar-user { font-size: 11px !important; font-weight: var(--weight-strong) !important; }

html[data-theme] body .button,
html[data-theme] body button.button,
html[data-theme] body .row-link,
html[data-theme] body .row-action-stack .row-link {
    font-size: var(--type-control) !important;
    font-weight: var(--weight-strong) !important;
}
html[data-theme] body input,
html[data-theme] body select,
html[data-theme] body textarea,
html[data-theme] body .filters select,
html[data-theme] body .search-field input { font-size: 14px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .form-grid label,
html[data-theme] body .form-stack label,
html[data-theme] body .filter-control,
html[data-theme] body fieldset label { font-size: var(--type-label) !important; font-weight: var(--weight-medium) !important; }

html[data-theme] body .metric-card > span,
html[data-theme] body .stat-card small { font-size: 14px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .metric-card > strong,
html[data-theme] body .stat-card > strong { font-size: 36px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .metric-card > small { font-size: var(--type-caption) !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .performance-strip h2,
html[data-theme] body .section-heading h2,
html[data-theme] body .panel-heading h2,
html[data-theme] body .settings-panel > header h2,
html[data-theme] body .performance-chart-panel h2,
html[data-theme] body .performance-table-section h2,
html[data-theme] body .breakdown-card h2 { font-size: var(--type-section) !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .performance-strip p,
html[data-theme] body .section-heading span,
html[data-theme] body .section-heading p,
html[data-theme] body .panel-heading p,
html[data-theme] body .settings-panel > header p { font-size: 13px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .performance-values span,
html[data-theme] body .control-overview span { font-size: 13px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .performance-values strong,
html[data-theme] body .control-overview strong { font-size: 30px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .performance-values small,
html[data-theme] body .control-overview small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .insight-card h3 { font-size: 16px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .insight-card header p { font-size: 12px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .insight-list strong,
html[data-theme] body .insight-list b { font-size: 13px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .insight-list small,
html[data-theme] body .insight-empty { font-size: 11px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .data-table th,
html[data-theme] body .professional-table th,
html[data-theme] body .manual-results-table th,
html[data-theme] body .seo-control-table th,
html[data-theme] body .performance-table th { font-size: 11px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .data-table td,
html[data-theme] body .professional-table td,
html[data-theme] body .manual-results-table td,
html[data-theme] body .seo-control-table td,
html[data-theme] body .performance-table td { font-size: var(--type-table) !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .domain-cell strong,
html[data-theme] body .site-name,
html[data-theme] body .table-primary { font-size: 14px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .domain-cell small,
html[data-theme] body .table-secondary,
html[data-theme] body .cell-note,
html[data-theme] body .seo-control-table td small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .status-pill,
html[data-theme] body .seo-state,
html[data-theme] body .google-state,
html[data-theme] body .geo-state,
html[data-theme] body .priority-label,
html[data-theme] body .http-code,
html[data-theme] body .analysis-period,
html[data-theme] body .plain-count,
html[data-theme] body .counter-badge { font-size: 11px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .setup-state strong,
html[data-theme] body .definition-list dt { font-size: 13px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .setup-state p,
html[data-theme] body .definition-list dd,
html[data-theme] body .help-text,
html[data-theme] body .field-help,
html[data-theme] body .form-help { font-size: 12px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .seo-command-copy h2 { font-size: clamp(27px, 2.2vw, 36px) !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .seo-command-copy > p { font-size: 14px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .section-kicker,
html[data-theme] body .seo-command-copy .command-eyebrow { font-size: 11px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .seo-status-line { font-size: 12px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .coverage-head,
html[data-theme] body .coverage-meta { font-size: 11px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .coverage-number strong { font-size: 38px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .coverage-number span,
html[data-theme] body .seo-google-coverage > a { font-size: 12px !important; }
html[data-theme] body .seo-kpi-grid article > span { font-size: 13px !important; font-weight: var(--weight-medium) !important; }
html[data-theme] body .seo-kpi-grid article > strong { font-size: 34px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .seo-kpi-grid article > p { font-size: 12px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .seo-issue-group .issue-level { font-size: 10px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .seo-issue-group strong { font-size: 13px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .seo-issue-group small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .site-seo-panel .technical-facts dt,
html[data-theme] body .site-seo-panel .seo-facts dt { font-size: 10px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .site-seo-panel .technical-facts dd,
html[data-theme] body .site-seo-panel .seo-facts dd { font-size: 13px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .site-seo-panel .technical-facts dd small,
html[data-theme] body .site-seo-panel .seo-facts dd small,
html[data-theme] body .site-seo-panel .geo-audit-grid small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .site-seo-panel .detailed-issues .seo-issue span { font-size: 13px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .geo-audit-section h3 { font-size: 19px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .geo-audit-section header p { font-size: 12px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .geo-audit-grid span,
html[data-theme] body .geo-audit-grid small { font-size: 11px !important; font-weight: var(--weight-regular) !important; }
html[data-theme] body .geo-audit-grid strong { font-size: 19px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .geo-policy strong { font-size: 11px !important; font-weight: var(--weight-strong) !important; }
html[data-theme] body .geo-policy small { font-size: 10px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body .seo-dialog-header h2,
html[data-theme] body .crawl-complete-dialog h2,
html[data-theme] body .page-detail-dialog h2,
html[data-theme] body .dialog-header h2,
html[data-theme] body .modal-header h2 { font-size: 27px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body .seo-dialog-header p,
html[data-theme] body .crawl-complete-dialog p,
html[data-theme] body .page-detail-dialog p,
html[data-theme] body .dialog-body,
html[data-theme] body .modal-body { font-size: 13px !important; font-weight: var(--weight-regular) !important; }

html[data-theme] body.auth-page .auth-card h1,
html[data-theme] body.auth-page .login-card h1 { font-size: 30px !important; font-weight: var(--weight-display) !important; }
html[data-theme] body.auth-page .auth-card p,
html[data-theme] body.auth-page .login-card p { font-size: 14px !important; font-weight: var(--weight-regular) !important; }

@media (max-width: 900px) {
    :root { --type-body: 15px; --type-content: 14px; }
    html[data-theme] body .dashboard-heading h1,
    html[data-theme] body .page-heading h1,
    html[data-theme] body .workspace-heading h1,
    html[data-theme] body .performance-heading h1,
    html[data-theme] body .seo-command-heading h1 { font-size: 30px !important; }
    html[data-theme] body .metric-card > strong,
    html[data-theme] body .stat-card > strong { font-size: 32px !important; }
    html[data-theme] body .performance-values strong,
    html[data-theme] body .control-overview strong { font-size: 27px !important; }
}

@media (max-width: 560px) {
    html[data-theme] body .dashboard-heading h1,
    html[data-theme] body .page-heading h1,
    html[data-theme] body .workspace-heading h1,
    html[data-theme] body .performance-heading h1,
    html[data-theme] body .seo-command-heading h1 { font-size: 27px !important; }
}

/* ---- softtalia-monitor-2.6.0/banahosting-app/public/assets/theme-consistency.css ---- */
/* Softtalia Monitor 2.5.5 · consistencia cromática final del modo oscuro. */
html[data-theme="dark"] {
    --ui-canvas-dark: #0c0f13;
    --ui-sidebar-dark: #111419;
    --ui-surface-dark: #171b21;
    --ui-raised-dark: #1e232b;
    --ui-hover-dark: #252c35;
    --ui-divider-dark: rgba(230, 237, 243, .11);
    --ui-text-dark: #f4f7fa;
    --ui-secondary-dark: #c5ced8;
    --ui-muted-dark: #a8b3bf;
    --ui-subtle-dark: #909ca9;
    --ui-blue-dark: #6ea8ff;
    --ui-green-dark: #62d99a;
    --ui-amber-dark: #f0bf63;
    --ui-red-dark: #ff7d85;
}

html[data-theme="dark"] body,
html[data-theme="dark"] body .main-area,
html[data-theme="dark"] body .content-area { color: var(--ui-text-dark) !important; background: var(--ui-canvas-dark) !important; }
html[data-theme="dark"] body .sidebar,
html[data-theme="dark"] body .mobile-header { color: var(--ui-text-dark) !important; background: var(--ui-sidebar-dark) !important; border-color: var(--ui-divider-dark) !important; }
html[data-theme="dark"] body .desktop-toolbar { color: var(--ui-text-dark) !important; background: rgba(12, 15, 19, .96) !important; border-color: var(--ui-divider-dark) !important; }

/* Todas las superficies funcionales abandonan cualquier #fff heredado. */
html[data-theme="dark"] body :is(
    .panel, .stat-card, .metric-card, .performance-strip, .control-center,
    .attention-section, .monitoring-section, .insight-card, .analytics-card,
    .manual-check-panel, .manual-check-workspace, .alert-status-card, .alert-rule-card,
    .sync-card, .settings-panel, .seo-summary-card, .seo-crawler-card, .gsc-card,
    .performance-card, .performance-kpis, .performance-chart-panel,
    .performance-table-section, .breakdown-card, .performance-empty-state,
    .seo-command-center, .seo-priority-board, .seo-inventory, .seo-kpi-grid article,
    .seo-explainer, .seo-scan-dialog, .crawl-complete-dialog, .page-detail-dialog,
    .workspace-section, .crawl-progress-panel, .crawler-empty, .crawler-metrics article,
    .indexing-workspace, .indexing-history, .indexing-explainer, .site-seo-panel,
    .modal-card, .dialog-card, .login-card, .auth-card, .period-switcher,
    .gsc-chart, .chart-panel, .chart-shell, .table-shell, .table-responsive
) {
    color: var(--ui-text-dark) !important;
    border-color: transparent !important;
    background: var(--ui-surface-dark) !important;
}

html[data-theme="dark"] body :is(
    .performance-values article, .control-overview article, .insight-grid,
    .setup-state, .indexing-setup, .seo-no-data, .filter-empty, .empty-list,
    .empty-state, .section-empty, .seo-empty-state, .seo-empty-filter,
    .seo-issue-group, .seo-filter-summary, .url-filters, .filter-bar,
    .site-list-toolbar, .performance-filters, .crawler-toolbar, .crawler-tabs,
    .chart-metric-switch, .geo-file-summary, .geo-policy, .indexing-key-location
) {
    color: var(--ui-secondary-dark) !important;
    border-color: var(--ui-divider-dark) !important;
    background: var(--ui-raised-dark) !important;
}

html[data-theme="dark"] body :is(
    .issue-ledger button, .scan-mode-guide, .scan-mode-guide > *,
    .seo-control-table tr, .professional-table tr, .manual-results-table tr,
    .definition-list > div, .details-list > div, .run-history article
) {
    color: var(--ui-text-dark) !important;
    border-color: var(--ui-divider-dark) !important;
    background: transparent !important;
}

/* Formularios, filtros y acciones secundarias. */
html[data-theme="dark"] body :is(
    input, select, textarea, .search-field input, .seo-filter-bar input,
    .seo-filter-bar select, .workspace-filters input, .workspace-filters select,
    .performance-filters input, .performance-filters select, .crawl-limit select,
    .indexing-form input
) {
    color: var(--ui-text-dark) !important;
    border-color: var(--ui-divider-dark) !important;
    background: var(--ui-raised-dark) !important;
}
html[data-theme="dark"] body :is(input, textarea)::placeholder { color: var(--ui-subtle-dark) !important; opacity: 1; }
html[data-theme="dark"] body option { color: var(--ui-text-dark) !important; background: var(--ui-raised-dark) !important; }
html[data-theme="dark"] body :is(
    .button-secondary, .clear-filters, .seo-clear-filters, .filter-empty button,
    .row-action-stack .row-link, .period-switcher a, .period-switcher button,
    .chart-metric-switch button, .crawler-tabs button, .dialog-close
) {
    color: var(--ui-secondary-dark) !important;
    border-color: transparent !important;
    background: var(--ui-raised-dark) !important;
}
html[data-theme="dark"] body :is(
    .button-secondary, .clear-filters, .seo-clear-filters, .filter-empty button,
    .row-action-stack .row-link, .period-switcher a, .period-switcher button,
    .chart-metric-switch button, .crawler-tabs button
):hover { color: var(--ui-text-dark) !important; background: var(--ui-hover-dark) !important; }

/* Texto principal y secundario con contraste estable. */
html[data-theme="dark"] body :is(
    h1, h2, h3, h4, h5, h6, legend, dt, th,
    .domain-cell strong, .table-primary, .site-name, .insight-list strong,
    .insight-list b, .coverage-number strong, .seo-kpi-grid strong,
    .crawler-metrics strong, .breakdown-list strong
) { color: var(--ui-text-dark) !important; }

html[data-theme="dark"] body :is(
    p, dd, small, time, .dashboard-updated, .dashboard-path,
    .performance-meta, .performance-url, .diagnostic-text, .table-secondary,
    .cell-note, .help-text, .field-help, .form-help, .coverage-meta,
    .seo-status-line, .seo-filter-summary, .workspace-context,
    .secondary-row-link, .crawl-summary-link small, .crawl-progress-head small,
    .crawl-live-stats, .crawl-stream small, .workspace-section header p,
    .professional-table td small, .manual-results-table td small,
    .seo-control-table td small, .breakdown-list small, .performance-chart-panel > footer
) { color: var(--ui-muted-dark) !important; }

html[data-theme="dark"] body :is(
    .nav-list a, .desktop-toolbar nav a, .theme-toggle,
    .user-chip small, .link-button, .nav-heading
) { color: var(--ui-secondary-dark) !important; }
html[data-theme="dark"] body .nav-list a:hover { color: var(--ui-text-dark) !important; background: var(--ui-hover-dark) !important; }
html[data-theme="dark"] body .nav-list a.active { color: #fff !important; background: #3478f6 !important; }

/* Tablas y separadores. */
html[data-theme="dark"] body :is(.data-table, .professional-table, .manual-results-table, .seo-control-table) { color: var(--ui-text-dark) !important; background: transparent !important; }
html[data-theme="dark"] body :is(.data-table th, .professional-table th, .manual-results-table th, .seo-control-table th) {
    color: var(--ui-secondary-dark) !important;
    border-color: var(--ui-divider-dark) !important;
    background: var(--ui-raised-dark) !important;
}
html[data-theme="dark"] body :is(.data-table td, .professional-table td, .manual-results-table td, .seo-control-table td) {
    color: var(--ui-secondary-dark) !important;
    border-color: var(--ui-divider-dark) !important;
    background: transparent !important;
}
html[data-theme="dark"] body :is(.data-table tr:hover, .professional-table tr:hover, .manual-results-table tr:hover, .seo-control-table tr:hover, .issue-ledger button:hover) {
    background: var(--ui-hover-dark) !important;
}
html[data-theme="dark"] body :is(.panel-heading, .section-heading, .manual-check-header, .workspace-section > header, .seo-evidence-card > header, .seo-technical-sections > section > header, .geo-audit-section > header) {
    border-color: var(--ui-divider-dark) !important;
}

/* Gráficos GSC: fondo oscuro y controles visibles. */
html[data-theme="dark"] body .gsc-grid-line { stroke: #303843 !important; }
html[data-theme="dark"] body :is(.gsc-axis-label, .gsc-axis-title) { fill: #b8c2cd !important; }
html[data-theme="dark"] body .chart-tooltip { color: #fff !important; background: #080b0f !important; }
html[data-theme="dark"] body .chart-metric-switch .metric-clicks.is-active { color: #a9c8ff !important; background: #1b3154 !important; }
html[data-theme="dark"] body .chart-metric-switch .metric-impressions.is-active { color: #d0b8ff !important; background: #352653 !important; }
html[data-theme="dark"] body .chart-metric-switch .metric-ctr.is-active { color: #84e8d7 !important; background: #173d38 !important; }
html[data-theme="dark"] body .chart-metric-switch .metric-position.is-active { color: #ffd095 !important; background: #49331d !important; }

/* Estados conservan color semántico sin introducir superficies blancas. */
html[data-theme="dark"] body :is(.status-ok, .seo-state-ok, .google-state-ok, .geo-state-valid, .delta-positive, .trend-up) { color: var(--ui-green-dark) !important; }
html[data-theme="dark"] body :is(.status-warning, .seo-state-warning, .priority-medium, .delta-neutral, .trend-neutral) { color: var(--ui-amber-dark) !important; }
html[data-theme="dark"] body :is(.status-error, .status-down, .seo-state-error, .seo-state-blocked, .google-state-fail, .delta-negative, .trend-down) { color: var(--ui-red-dark) !important; }
html[data-theme="dark"] body .button-danger { color: #ff9ca2 !important; background: #321b20 !important; }

/* Un único icono: misma geometría en ambos temas, solo cambia currentColor. */
html[data-theme] body .theme-toggle-icon {
    width: 15px !important;
    height: 15px !important;
    display: block !important;
    position: relative !important;
    border: 2px solid currentColor !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
html[data-theme] body .theme-toggle-icon::before {
    content: '' !important;
    position: absolute !important;
    inset: 3px !important;
    display: block !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: currentColor !important;
    transform: none !important;
}
html[data-theme] body .theme-toggle-icon::after { display: none !important; }
html[data-theme="light"] body .theme-toggle-icon { color: #4c535c !important; }
html[data-theme="dark"] body .theme-toggle-icon { color: #d5dce5 !important; }

/* El informe imprimible permanece blanco intencionadamente; no forma parte del tema de la app. */
