.control-pulse, .entity-portfolio, .support-updates-feed { --cp-surface: #fff; --cp-soft: #f3f2fb; --cp-ink: #202438; --cp-muted: #596078; --cp-line: #dce0ee; --cp-accent: #5e419f; --cp-complete: #26755a; --cp-progress: #7650ba; --cp-pending: #c69c43; font-family: inherit; }
:root[data-theme="dark"] :is(.control-pulse, .entity-portfolio, .support-updates-feed) { --cp-surface: #211a30; --cp-soft: #2b223d; --cp-ink: #f5f0ff; --cp-muted: #c7bddb; --cp-line: #534467; --cp-accent: #d1b4ff; --cp-complete: #8cd0af; --cp-progress: #c2a2f4; --cp-pending: #d9bc77; }
:root[data-theme="sober"] :is(.control-pulse, .entity-portfolio, .support-updates-feed) { --cp-surface: var(--sober-surface-raised); --cp-soft: var(--sober-surface-muted); --cp-ink: var(--sober-ink); --cp-muted: var(--sober-ink-soft); --cp-line: var(--sober-border); --cp-accent: var(--sober-accent-strong); --cp-complete: #387562; --cp-progress: #6d658f; --cp-pending: #a48141; }
:root[data-theme="sober"][data-appearance-variant="graphite"] :is(.control-pulse, .entity-portfolio, .support-updates-feed) { --cp-complete: #a3ceb9; --cp-progress: #c7b8e1; --cp-pending: #d6bf89; }
.ficha-alert-panel { font-family: inherit; display: flex; flex-direction: column; }
:root[data-theme] .ficha-alert-panel .ficha-panel-heading h2 { font: inherit; font-size: 18px; font-weight: 750; letter-spacing: -.015em; }
:root[data-theme] .ficha-alert-panel .ficha-alert strong { font-family: inherit; font-size: 14px; font-weight: 750; }
:root[data-theme] .ficha-alert-panel .ficha-alert span { font-family: inherit; font-size: 13px; line-height: 1.55; }
:root[data-theme] .control-pulse { margin-top: 18px; padding: 20px; border: 1px solid var(--cp-line); border-radius: 13px; background: var(--cp-soft) !important; color: var(--cp-ink) !important; flex: 1; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
:root[data-theme] .control-pulse :is(h3, strong, dd) { color: var(--cp-ink) !important; }
:root[data-theme] .control-pulse :is(p, small, dt, span:not(.control-pulse-track span)) { color: var(--cp-muted) !important; }
.control-pulse-kicker { font-size: 10px; font-weight: 750; letter-spacing: .065em; text-transform: uppercase; }
.control-pulse-heading h3 { margin: 5px 0 8px; font-size: 20px; font-weight: 750; letter-spacing: -.025em; }
.control-pulse-heading p, .control-pulse-empty { font-size: 13px; line-height: 1.6; margin: 0; }
.control-pulse-total { display: flex; align-items: baseline; gap: 10px; margin: 25px 0 17px; }
.control-pulse-total strong { font-size: 36px; letter-spacing: -.04em; line-height: 1; font-weight: 750; }
.control-pulse-total span { font-size: 12px; }
.control-pulse-total svg { width: 52px; height: 38px; margin-left: auto; color: var(--cp-accent); align-self: center; }
.control-pulse-track { display: flex; gap: 3px; height: 10px; border-radius: 6px; overflow: hidden; background: var(--cp-line); }
.control-pulse-track span { min-width: 0; }
.pulse-complete { background: var(--cp-complete); }.pulse-progress { background: var(--cp-progress); }.pulse-pending { background: var(--cp-pending); }
.control-pulse-legend { margin: 15px 0 0; display: grid; gap: 9px; }.control-pulse-legend div { display: flex; justify-content: space-between; gap: 12px; }.control-pulse-legend dt { display: flex; align-items: center; gap: 8px; font-size: 12px; }.control-pulse-legend i { width: 7px; height: 7px; border-radius: 50%; }.control-pulse-legend dd { margin: 0; font-size: 13px; font-weight: 750; }
.control-pulse-details { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--cp-line); padding-top: 18px; margin-top: 22px; }.control-pulse-details div { min-width: 0; }.control-pulse-details :is(span, strong, small) { display: block; overflow-wrap: anywhere; }.control-pulse-details span { font-size: 11px; }.control-pulse-details strong { font-size: 20px; font-weight: 750; margin: 6px 0; }.control-pulse-details small { font-size: 11px; line-height: 1.5; }
.control-pulse-footnote { margin: 18px 0 0; font-size: 11px; line-height: 1.5; }
.entity-portfolio { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 16px; margin-top: 18px; }
:root[data-theme] .entity-portfolio .entity-portfolio-card { --entity-tone: var(--cp-accent); background: var(--cp-surface) !important; border: 1px solid var(--cp-line); border-top: 3px solid var(--entity-tone); border-radius: 14px; min-width: 0; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 5px 14px #13102a08; }
.entity-portfolio-card.entity-tone-particular { --entity-tone: var(--cp-complete) !important; }.entity-portfolio-card.entity-tone-ayuntamiento, .entity-portfolio-card.entity-tone-departamento { --entity-tone: var(--cp-progress) !important; }
.entity-portfolio-identity { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; padding: 19px 18px 16px; }.entity-portfolio-identity > div { flex: 1; min-width: 120px; }
:root[data-theme] .entity-portfolio .entity-portfolio-avatar { display: grid; place-items: center; flex-shrink: 0; width: 43px; height: 43px; border: 1px solid var(--cp-line); border-radius: 12px; background: var(--cp-soft) !important; color: var(--entity-tone) !important; font-size: 14px; font-weight: 750; }
:root[data-theme] .entity-portfolio :is(h3, strong, button) { color: var(--cp-ink) !important; }
:root[data-theme] .entity-portfolio :is(span, p, small) { color: var(--cp-muted) !important; }
.entity-portfolio-kind { text-transform: uppercase; letter-spacing: .055em; font-weight: 750; font-size: 10px; }.entity-portfolio-identity h3 { margin: 4px 0 6px; font-size: 18px; line-height: 1.35; letter-spacing: -.018em; overflow-wrap: anywhere; }.entity-portfolio-reference { font-size: 11px; overflow-wrap: anywhere; }
:root[data-theme] .entity-portfolio .entity-portfolio-state { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; border: 1px solid var(--cp-line); background: var(--cp-soft) !important; border-radius: 20px; padding: 4px 7px; font-weight: 650; }.entity-portfolio-state i { width: 5px; height: 5px; border-radius: 50%; background: var(--cp-muted); }.entity-portfolio-state.is-active i { background: var(--cp-complete); }
.entity-portfolio-contact { padding: 0 18px 17px; }.entity-portfolio-contact > span, .entity-portfolio-context > div > span { font-size: 11px; display: block; margin-bottom: 5px; }.entity-portfolio-contact strong, .entity-portfolio-context > div > strong { font-size: 13px; display: block; line-height: 1.4; overflow-wrap: anywhere; }.entity-portfolio-contact p { margin: 5px 0 0; font-size: 12px; overflow-wrap: anywhere; line-height: 1.5; }
.entity-portfolio-context { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 14px 18px; border-top: 1px solid var(--cp-line); margin-top: auto; align-items: center; }.entity-portfolio-context > div { min-width: 0; }.entity-portfolio-context .entity-portfolio-activity { display: flex; align-items: center; gap: 9px; }.entity-portfolio-activity > strong { font-size: 25px !important; font-weight: 750; }.entity-portfolio-activity span { font-size: 11px; line-height: 1.5; }.entity-portfolio-activity small { display: block; font-size: 10px; }
.entity-portfolio-actions { padding: 12px 14px; display: flex; flex-wrap: wrap; gap: 7px; border-top: 1px solid var(--cp-line); background: var(--cp-soft); }
:root[data-theme] .entity-portfolio .entity-portfolio-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 10px; background: var(--cp-surface) !important; border: 1px solid var(--cp-line) !important; border-radius: 8px; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; box-shadow: none !important; }.entity-portfolio-actions svg { width: 15px; height: 15px; }.entity-portfolio-actions .entity-open { flex: 1; }.entity-portfolio-actions button:hover { text-decoration: underline; }.entity-portfolio-actions button:focus-visible { outline: 3px solid var(--cp-accent); outline-offset: 2px; }.entity-portfolio-actions button:disabled { opacity: .6; cursor: wait; }
.entity-portfolio-empty { padding: 36px 18px; text-align: center; font: inherit; }.entity-portfolio-empty svg { width: 36px; height: 36px; margin: 0 auto; }.entity-portfolio-empty h3 { font-size: 16px; margin: 10px 0; }.entity-portfolio-empty p { font-size: 13px; }
.integration-search-retained { font-size: 12px; margin: 9px 0 18px; line-height: 1.5; }
.support-updates-feed { min-width: 0; }
:root[data-theme] .support-updates-feed :is(h3, strong) { color: var(--cp-ink) !important; }
:root[data-theme] .support-updates-feed :is(p, time, footer, .support-update-kicker) { color: var(--cp-muted) !important; }
:root[data-theme] .support-updates-feed .support-updates-banner { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; padding: 24px; border: 1px solid var(--cp-line); border-radius: 15px; background: var(--cp-soft) !important; margin-bottom: 22px; }
.support-updates-banner > div { flex: 1; min-width: min(180px, 100%); }.support-update-kicker { font-size: 10px; letter-spacing: .07em; text-transform: uppercase; font-weight: 750; }.support-updates-banner h3 { font-size: clamp(21px, 2vw, 27px); font-weight: 750; letter-spacing: -.025em; margin: 6px 0 8px !important; }.support-updates-banner p { margin: 0; font-size: 13px; line-height: 1.6; }
:root[data-theme] .support-updates-feed .support-update-banner-icon { display: grid; place-items: center; width: 55px; height: 55px; border-radius: 15px; background: var(--cp-surface) !important; color: var(--cp-accent) !important; border: 1px solid var(--cp-line); }.support-update-banner-icon svg { width: 30px; height: 30px; }
:root[data-theme] .support-updates-feed .support-update-count { padding: 9px 13px; border-radius: 9px; border: 1px solid var(--cp-line); color: var(--cp-ink) !important; font-size: 12px; font-weight: 750; background: var(--cp-surface) !important; }
.support-updates-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 410px), 1fr)); gap: 17px; }
:root[data-theme] .support-updates-feed .support-update-card { --update-tone: var(--cp-accent); min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--cp-line); border-top: 3px solid var(--update-tone); border-radius: 14px; padding: 22px; background: var(--cp-surface) !important; }.support-update-card.update-correccion { --update-tone: var(--cp-complete) !important; }.support-update-card.update-funcion { --update-tone: var(--cp-progress) !important; }
.support-update-top { display: flex; align-items: center; gap: 10px; margin-bottom: 19px; }.support-update-top > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; }.support-update-top time { font-size: 11px; }
:root[data-theme] .support-updates-feed .support-update-icon { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 9px; border: 1px solid var(--cp-line); color: var(--update-tone) !important; background: var(--cp-soft) !important; }.support-update-icon svg { width: 21px; height: 21px; }
:root[data-theme] .support-updates-feed .support-update-category { color: var(--cp-ink) !important; font-size: 11px; font-weight: 750; }.support-update-unread { margin-left: auto; font-size: 10px; font-weight: 750; color: var(--cp-accent); }
.support-update-card h3 { font-size: 20px; line-height: 1.35; letter-spacing: -.02em; margin: 0 0 12px !important; font-weight: 750; overflow-wrap: anywhere; }.support-update-card > p { font-size: 13px; line-height: 1.75; margin: 0; white-space: pre-line; overflow-wrap: anywhere; }
:root[data-theme] .support-updates-feed .support-update-benefit { display: flex; align-items: flex-start; gap: 8px; padding: 12px 13px; margin-top: 18px; background: var(--cp-soft) !important; border-radius: 9px; color: var(--cp-ink) !important; font-size: 12px; font-weight: 650; line-height: 1.5; }.support-update-benefit > span { color: var(--cp-accent); }
.support-update-card footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--cp-line); padding-top: 15px; margin-top: 20px; font-size: 11px; }.support-update-card > p { flex: 1; }
:root[data-theme] .support-updates-feed .support-update-card button { background: var(--cp-soft) !important; color: var(--cp-ink) !important; border: 1px solid var(--cp-line) !important; padding: 8px 11px; border-radius: 8px; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; box-shadow: none !important; }.support-update-card button:focus-visible { outline: 3px solid var(--cp-accent); outline-offset: 3px; }.support-update-card button:hover { text-decoration: underline; }
@media (max-width: 520px) { :root[data-theme] .support-updates-feed .support-updates-banner, :root[data-theme] .support-updates-feed .support-update-card { padding: 18px; } }
@media (max-width: 430px) { .control-pulse { padding: 16px !important; }.entity-portfolio-identity { gap: 9px; }.entity-portfolio-actions button { flex: 1; }.entity-portfolio-context { gap: 10px; }.entity-portfolio-state { margin-left: 52px; } }
