/* Informes (Fresha /reports), measured at 1470 px: grey page, a 296 px white card with the
   groups on the left, 32 px gaps, the list on the right. */
.rp-page { background: var(--db-f5f5f5, rgb(245, 245, 245)); overflow-y: auto; }
.rp { display: flex; align-items: flex-start; gap: 32px; padding: 33px 32px 48px; max-width: 1600px; box-sizing: border-box; }

/* The left card */
.rp-side { position: relative; flex: none; width: 296px; box-sizing: border-box; padding: 24px 16px 16px; border-radius: 25px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; font-family: var(--font); color: var(--ink); }
.rp-side h2 { margin: 0 16px 4px; font: 600 20px/28px var(--font); }
.rp-side h3 { margin: 16px 16px 0; font: 600 17px/24px var(--font); }
.rp-side hr { margin: 8px 16px; border: 0; border-top: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.rp-si, .rp-add { width: 100%; height: 44px; box-sizing: border-box; padding: 12px 16px; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 15px; background: none; cursor: pointer; font: 500 15px/20px var(--font); color: var(--ink); text-align: left; text-decoration: none; }
.rp-si:hover { background: var(--db-f7f7f7-h, rgb(247, 247, 247)); }
.rp-si.on { background: var(--db-f0f0ff, rgb(240, 240, 255)); }
.rp-si svg, .rp-add svg { width: 20px; height: 20px; flex: none; }
.rp-si > span:not(.rp-n):not(.rp-sync) { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-add { margin-top: 4px; color: var(--accent); }
.rp-sync { width: 20px; height: 20px; flex: none; border-radius: 5px; background: linear-gradient(135deg, #86d23f, #2f9e44); display: grid; place-items: center; color: #fff; }
.rp-sync svg { width: 12px !important; height: 12px !important; }
.rp-n { flex: none; min-width: 20px; height: 20px; box-sizing: border-box; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--db-131313-5, rgba(19, 19, 19, 0.05)); font: 600 13px/16px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }

/* The list */
.rp-main { position: relative; flex: 1; min-width: 0; font-family: var(--font); color: var(--ink); }
.rp-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.rp-top h1 { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 28px/36px var(--font); letter-spacing: -0.3px; }
.rp-sub { margin: 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rp-sub a { color: var(--accent); text-decoration: none; }
.rp-addbtn { height: 48px; padding: 0 24px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--ink); color: var(--do-ffffff, #fff); font: 600 17px/24px var(--font); text-decoration: none; }
.rp-addbtn:hover { background: var(--db-262626-h, rgb(38, 38, 38)); }
.rp-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 32px; }
.rp-search { width: 327px; max-width: 100%; height: 36px; box-sizing: border-box; padding: 0 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--de-d3d3d3, rgb(211, 211, 211)); border-radius: 999px; background: var(--db-ffffff, #fff); }
.rp-search:focus-within { border-color: var(--accent); }
.rp-search svg { width: 18px; height: 18px; flex: none; }
.rp-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 400 15px/20px var(--font); color: var(--ink); }
.rp-search input::placeholder { color: var(--df-a0a0a0, rgb(160, 160, 160)); }
.rp-x { display: none; width: 20px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--ink); }
.rp-search.has .rp-x { display: flex; }
.rp-tools { display: flex; gap: 8px; }
.rp-pill { height: 36px; padding: 0 16px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 999px; background: var(--db-ffffff, #fff); cursor: pointer; font: 500 15px/20px var(--font); color: var(--ink); text-decoration: none; white-space: nowrap; }
.rp-pill:hover { background: var(--db-f7f7f7-h, rgb(247, 247, 247)); }
.rp-pill[aria-expanded="true"] { border-color: var(--accent); }
.rp-pill svg { width: 18px; height: 18px; }
.rp-tabs { display: flex; margin-top: 32px; overflow-x: auto; scrollbar-width: none; }
.rp-tabs::-webkit-scrollbar { display: none; }
.rp-tabs .ws-pill { height: 36px; min-height: 0; padding: 0 16px; margin: 0; border: 0; flex: none; }
.rp-list { display: flex; flex-direction: column; gap: 8px; margin-top: 24px; }
.rp-bar + .rp-list { margin-top: 32px; }
.rp-card { min-height: 88px; box-sizing: border-box; padding: 20px; display: flex; align-items: center; gap: 14px; border-radius: 20px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; cursor: pointer; outline: 0; }
.rp-card:hover { background: var(--db-fafafa-h, rgb(250, 250, 250)); }
.rp-card:focus-visible { box-shadow: 0 0 0 2px var(--accent); }
.rp-ic { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 15px; background: var(--db-131313-5, rgba(19, 19, 19, 0.05)); color: var(--accent); }
.rp-ic.green { color: var(--df-1f8900, rgb(31, 137, 0)); }
.rp-ic svg { width: 24px; height: 24px; }
.rp-tx { flex: 1; min-width: 0; }
.rp-tx b { display: block; font: 600 15px/20px var(--font); }
.rp-tx small { display: block; margin: 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rp-prem { flex: none; height: 24px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: 999px; background: var(--db-f0f0ff, rgb(240, 240, 255)); box-shadow: var(--ds-dbddff, rgb(219, 221, 255)) 0 0 0 1px inset; font: 500 13px/16px var(--font); color: var(--accent); }
.rp-star { width: 48px; height: 48px; flex: none; margin: -6px 0; display: grid; place-items: center; border: 0; border-radius: 999px; background: none; cursor: pointer; color: var(--ink); }
.rp-star:hover { background: var(--db-131313-5-h, rgba(19, 19, 19, 0.05)); }
.rp-star svg { width: 24px; height: 24px; }
.rp-star.on { color: rgb(255, 192, 10); }
.rp-box { min-height: 186px; box-sizing: border-box; padding: 40px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 20px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; }
.rp-none > svg { width: 44px; height: 44px; margin-bottom: 16px; color: var(--accent); }
.rp-box b { font: 600 20px/28px var(--font); }
.rp-box p { margin: 4px 0 16px; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rp-lockic { width: 56px; height: 56px; margin-bottom: 16px; display: grid; place-items: center; border-radius: 4px; background: linear-gradient(135deg, #7f72ff, #4c3fe0); color: #fff; }
.rp-lockic svg { width: 28px; height: 28px; }
.rp-lock { min-height: 320px; }
.rp-menu { min-width: 220px; }

/* "Sincronización de datos" */
.rp-sync-card { position: relative; overflow: hidden; display: flex; gap: 32px; padding: 48px; border-radius: 25px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px;
  background-image: radial-gradient(70% 70% at 90% 10%, rgba(120, 230, 210, 0.85), transparent 70%), radial-gradient(50% 60% at 100% 80%, rgba(190, 240, 170, 0.6), transparent 70%); }
.rp-sync-in { flex: 0 1 500px; min-width: 0; }
.rp-badge { display: flex; align-items: center; gap: 12px; margin: 0 0 30px; font: 600 15px/20px var(--font); }
.rp-badge .rp-sync { width: 40px; height: 40px; border-radius: 10px; }
.rp-badge .rp-sync svg { width: 22px !important; height: 22px !important; }
.rp-sync-in h1 { margin: 0 0 16px; font: 600 28px/36px var(--font); letter-spacing: -0.3px; }
.rp-lead { margin: 0 0 20px; font: 400 15px/20px var(--font); }
.rp-sync-in ul { margin: 0; padding: 0; list-style: none; }
.rp-sync-in li { display: flex; gap: 12px; margin-bottom: 8px; font: 400 15px/20px var(--font); }
.rp-sync-in li svg { width: 20px; height: 20px; flex: none; margin-top: 2px; }
.rp-price { margin: 40px 0 32px; font: 600 24px/32px var(--font); }
.rp-cta { display: flex; align-items: center; gap: 24px; }
.rp-dark { height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--ink); color: var(--do-ffffff, #fff); font: 600 17px/24px var(--font); cursor: pointer; }
.rp-cta a { font: 400 17px/24px var(--font); color: var(--accent); text-decoration: none; }
.rp-art { flex: 1; display: flex; align-items: center; justify-content: center; min-width: 0; }
.rp-chart { width: 210px; padding: 20px; border-radius: 20px; background: var(--db-ffffff, #fff); box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); }
.rp-chart small { display: block; font: 600 13px/16px var(--font); }
.rp-chart b { display: block; margin: 4px 0 12px; font: 700 24px/32px var(--font); }
.rp-bars { display: flex; align-items: flex-end; gap: 10px; height: 120px; }
.rp-bars i { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 4px; background: linear-gradient(to top, #7c5cff var(--a), var(--db-d6ceff, #d6ceff) var(--a), var(--db-d6ceff, #d6ceff) calc(var(--a) + var(--b)), transparent calc(var(--a) + var(--b))); }
@media (max-width: 1000px) { .rp-art { display: none; } }

@media (max-width: 767px) {
  .rp { flex-direction: column; padding: 16px; gap: 16px; }
  .rp-side { position: static; width: 100%; }
  .rp-bar { flex-wrap: wrap; }
  .rp-search { width: 100%; }
  .rp-sync-card { padding: 24px; }
}

/* One report (Fresha /reports/table/<key>), measured at 1470 px. */
.rt { padding: 41px 40px 48px; font-family: var(--font); color: var(--ink); }
.rt-path { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-path a { color: inherit; text-decoration: none; }
.rt-path a:hover { color: var(--ink); }
.rt-path span { color: var(--ink); }
.rt-path i { font-style: normal; }
.rt-back { height: 36px; margin-right: 8px; padding: 0 16px 0 12px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); border-radius: 999px; background: var(--db-ffffff, #fff); color: var(--ink) !important; font: 500 15px/20px var(--font); }
.rt-back svg { width: 18px; height: 18px; }
.rt-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-top: 18px; }
.rt-head h1 { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 28px/36px var(--font); letter-spacing: -0.3px; }
.rt-star { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 999px; background: none; cursor: pointer; color: var(--ink); }
.rt-star:hover { background: var(--db-131313-5-h, rgba(19, 19, 19, 0.05)); }
.rt-star.on { color: rgb(255, 192, 10); }
.rt-star svg { width: 24px; height: 24px; }
.rt-sub { margin: 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-opts { height: 48px; padding: 0 20px 0 24px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 999px; background: var(--db-ffffff, #fff); cursor: pointer; font: 600 17px/24px var(--font); color: var(--ink); }
.rt-opts:hover { background: var(--db-f7f7f7-h, rgb(247, 247, 247)); }
.rt-opts svg { width: 20px; height: 20px; }
.rt-views { display: flex; align-items: flex-end; gap: 4px; margin-top: 40px; }
.rt-view { height: 38px; padding: 0 16px; display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 15px 15px 0 0; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; clip-path: inset(-2px -2px 0 -2px); cursor: pointer; font: 600 15px/20px var(--font); color: var(--ink); }
.rt-view svg, .rt-plus svg { width: 18px; height: 18px; }
.rt-plus { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 999px; background: none; cursor: pointer; color: var(--ink); }
.rt-plus:hover { background: var(--db-131313-5-h, rgba(19, 19, 19, 0.05)); }
.rt-box { position: relative; border-radius: 0 20px 20px 20px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; overflow: hidden; }
.rt-bar { display: flex; align-items: center; gap: 8px; padding: 16px; }
.rt-bar .rp-pill svg { width: 18px; height: 18px; }
.rt-fn { min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; display: inline-grid; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font: 600 12px/16px var(--font); }
.rt-adv { display: inline-flex; align-items: center; gap: 8px; margin-left: 16px; font: 500 15px/20px var(--font); color: var(--ink); text-decoration: none; }
.rt-adv.pill { height: 36px; margin: 0; padding: 0 14px 0 10px; border: 1px solid var(--border); border-radius: 999px; }
.rt-insic { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 5px; background: linear-gradient(135deg, #7f72ff, #4c3fe0); color: #fff; }
.rt-insic svg { width: 12px; height: 12px; }
.rt-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.rt-gear { width: 40px; height: 36px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 999px; background: var(--db-ffffff, #fff); cursor: pointer; color: var(--ink); }
.rt-gear svg { width: 20px; height: 20px; }
.rt-gear:hover { background: var(--db-f7f7f7-h, rgb(247, 247, 247)); }
.rt-tw { overflow-x: auto; }
.rt-t { border-collapse: collapse; min-width: 100%; font: 400 14px/20px var(--font); }
.rt-t th { position: sticky; top: 0; z-index: 1; height: 53px; padding: 0 8px; background: var(--db-ffffff, #fff); border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); text-align: left; white-space: nowrap; }
.rt-t th:first-child, .rt-t td:first-child { padding-left: 16px; }
.rt-t th button { min-width: 184px; height: 40px; padding: 0 8px; margin-left: -8px; display: flex; align-items: center; gap: 6px; border: 0; border-radius: 12px; background: none; cursor: pointer; font: 700 14px/20px var(--font); color: var(--ink); text-align: left; }
.rt-t th button:hover, .rt-t th button[aria-expanded="true"] { background: var(--db-f5f5f5-h, rgb(245, 245, 245)); }
.rt-t th button svg { width: 16px; height: 16px; }
.rt-t td { height: 56px; padding: 0 8px; min-width: 184px; max-width: 320px; border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rt-t td.wrap { white-space: normal; }
.rt-t td a { color: var(--accent); text-decoration: none; }
.rt-t td a:hover { text-decoration: underline; }
.rt-t tbody tr:not(.rt-tot):hover td { background: var(--db-fafafa-h, rgb(250, 250, 250)); }
.rt-tot td { background: var(--db-fafafa, rgb(250, 250, 250)); font-weight: 600; }
.rt-foot { display: block !important; margin: 0; padding: 20px; text-align: center; font: 400 14px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-foot b { font-weight: 600; color: var(--ink); }
.rt-empty { padding: 64px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.rt-empty > svg { width: 44px; height: 44px; margin-bottom: 16px; color: var(--accent); }
.rt-empty b { font: 600 17px/24px var(--font); }
.rt-empty p { margin: 4px 0 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-spin { width: 28px; height: 28px; border: 3px solid var(--de-e5e5e5, rgb(229, 229, 229)); border-top-color: var(--accent); border-radius: 50%; animation: rt-spin .8s linear infinite; }
@keyframes rt-spin { to { transform: rotate(360deg); } }
.rt-menu { min-width: 240px; }
.rt-menu .menu-badge { margin-left: auto; padding: 0 8px; border-radius: 999px; background: var(--db-f0f0ff, rgb(240, 240, 255)); box-shadow: var(--ds-dbddff, rgb(219, 221, 255)) 0 0 0 1px inset; font: 500 12px/20px var(--font); color: var(--accent); }
.menu-sep { margin: 6px 12px; border: 0; border-top: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.hl-x { position: absolute; top: 16px; right: 16px; width: 24px; height: 24px; padding: 0; display: grid; place-items: center; border: 0; background: none; color: #fff; cursor: pointer; z-index: 1; }
.hl-x svg { width: 20px; height: 20px; }
.hl-text { position: relative; margin: -16px 0 0; font: 400 15px/20px var(--font); }
.hl-more { margin-right: auto; color: #fff; font: 500 15px/20px var(--font); text-decoration: none; align-self: center; }

/* "Filtros" drawer */
.rt-fwrap { position: fixed; inset: 0; z-index: 40; }
.rt-scrim { position: absolute; inset: 0; background: var(--db-000000-20, rgba(0, 0, 0, 0.2)); animation: rt-fade .2s; }
.rt-fd { position: absolute; top: 0; right: 0; bottom: 0; width: 480px; max-width: 100vw; display: flex; flex-direction: column; background: var(--db-ffffff, #fff); box-shadow: var(--pop-shadow); font-family: var(--font); color: var(--ink); animation: na-slide .3s cubic-bezier(0, .55, .45, 1); }
.rt-fx { position: absolute; top: 20px; right: 496px; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--de-d3d3d3, rgb(211, 211, 211)); border-radius: 999px; background: var(--db-ffffff, #fff); cursor: pointer; z-index: 1; }
.rt-fx svg { width: 22px; height: 22px; }
.rt-fwrap.out .rt-fd { transform: translateX(100%); transition: transform .22s cubic-bezier(.55, 0, 1, .45); }
.rt-fwrap.out .rt-scrim, .rt-fwrap.out .rt-fx { opacity: 0; transition: opacity .2s; }
@keyframes rt-fade { from { opacity: 0; } }
.rt-fh { display: flex; justify-content: space-between; align-items: center; padding: 28px 32px 16px; }
.rt-fh h2 { margin: 0; font: 600 28px/36px var(--font); }
.rt-fb { flex: 1; overflow-y: auto; padding: 0 32px 16px; }
.rt-fs { border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.rt-fs-h { display: flex; align-items: center; gap: 8px; min-height: 56px; }
.rt-fs-t { flex: 1; min-width: 0; height: 56px; display: flex; align-items: center; gap: 12px; padding: 0; border: 0; background: none; cursor: pointer; font: 500 17px/24px var(--font); color: var(--ink); text-align: left; }
.rt-fs-t svg { width: 22px; height: 22px; flex: none; }
.rt-link { border: 0; background: none; cursor: pointer; font: 500 15px/20px var(--font); color: var(--accent); padding: 0; }
.rt-chev { width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 999px; background: none; cursor: pointer; color: var(--ink); }
.rt-chev svg { width: 20px; height: 20px; transition: transform .2s; }
.rt-chev.up svg { transform: rotate(180deg); }
.rt-fs-b { padding: 0 0 16px 34px; }
.rt-ck { display: flex; align-items: center; gap: 12px; min-height: 40px; cursor: pointer; font: 400 15px/20px var(--font); }
.rt-ck input { position: absolute; opacity: 0; pointer-events: none; }
.rt-ck i { width: 22px; height: 22px; flex: none; display: grid; place-items: center; border: 1px solid var(--de-d3d3d3, rgb(211, 211, 211)); border-radius: 6px; color: transparent; }
.rt-ck i svg { width: 16px; height: 16px; }
.rt-ck input:checked + i { background: var(--accent); border-color: var(--accent); color: #fff; }
.rt-ck:hover i { border-color: var(--de-a0a0a0, rgb(160, 160, 160)); }
.rt-ck.all { font-weight: 600; }
.rt-opt { width: 100%; min-height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0; border: 0; background: none; cursor: pointer; font: 400 15px/20px var(--font); color: var(--ink); }
.rt-opt svg { width: 20px; height: 20px; }
.rt-fnone { margin: 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-fback { display: flex; align-items: center; gap: 8px; margin: 8px 0 16px; padding: 0; border: 0; background: none; cursor: pointer; font: 600 17px/24px var(--font); color: var(--ink); }
.rt-fback svg { width: 20px; height: 20px; }
.rp-search.wide { width: 100%; height: 44px; margin-bottom: 8px; }
.rt-ff { display: flex; gap: 12px; padding: 16px 32px; border-top: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.rt-fbtn { flex: 1; height: 48px; border: 1px solid var(--border); border-radius: 999px; background: var(--db-ffffff, #fff); cursor: pointer; font: 600 17px/24px var(--font); color: var(--ink); }
.rt-fbtn.dark { background: var(--ink); border-color: var(--ink); color: var(--do-ffffff, #fff); }
@media (max-width: 767px) {
  .rt { padding: 16px; }
  .rt-bar { flex-wrap: wrap; }
  .rt-adv { margin-left: 0; }
  .rt-fx { right: 12px; top: 12px; }
}
@media print { .rt-bar, .rt-views, .rt-opts, .rt-path { display: none; } .rt-tw { overflow: visible; } }

/* A premium report: the blurred sample and the offer over it. */
.rt-lock { position: relative; min-height: 520px; overflow: hidden; }
.rt-t.blur { filter: blur(3px); opacity: .45; pointer-events: none; user-select: none; }
.rt-t.blur td { color: var(--accent); }
.rt-offer { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.rt-offer b { font: 600 17px/24px var(--font); }
.rt-offer p { margin: 4px 0 16px; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-offer div { display: flex; gap: 8px; }
.rt-offer .rp-dark { display: inline-flex; align-items: center; height: 48px; text-decoration: none; }
.rt-offer .rp-pill { height: 48px; padding: 0 24px; font-weight: 600; font-size: 17px; }
.rt-offer .rp-lockic { width: 56px; height: 56px; border-radius: 12px; }
.rt-head h1 .rp-prem { margin-left: 4px; }

/* "Panel de control del rendimiento" (Fresha /reports/table/performance) */
.rt-bar.plain { padding: 32px 0 24px; }
.rp-pill.static { cursor: default; }
.rp-pill.static:hover { background: var(--db-ffffff-h, #fff); }
.db { display: flex; flex-direction: column; gap: 24px; }
.db-row { display: grid; gap: 24px; }
.db-row.r1 { grid-template-columns: 386px 1fr; }
.db-row.r5 { grid-template-columns: repeat(5, 1fr); }
.db-row.r2 { grid-template-columns: 1fr 1fr; }
.db-card { min-width: 0; padding: 24px; border-radius: 20px; background: var(--db-ffffff, #fff); box-shadow: rgba(19, 19, 19, 0.1) 0 0 0 1px; font-family: var(--font); color: var(--ink); }
.db-card h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 8px; font: 600 17px/24px var(--font); }
.db-card h3 a { margin-left: auto; font: 400 15px/20px var(--font); color: var(--accent); text-decoration: none; }
.db-card h3.r { justify-content: flex-end; }
.db-big { margin: 0 0 12px; font: 600 28px/36px var(--font); }
.db-vs { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font: 400 13px/16px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.db-card.sm .db-vs { margin: 0; }
.db-ch { flex: none; height: 24px; padding: 0 8px; display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; background: var(--db-131313-6, rgba(19, 19, 19, 0.06)); font: 500 13px/16px var(--font); color: var(--ink); white-space: nowrap; }
.db-ch svg { width: 14px; height: 14px; }
.db-ch.good { background: var(--db-e5f6e5, rgb(229, 246, 229)); color: var(--df-1f8900, rgb(31, 137, 0)); }
.db-ch.bad { background: var(--db-fde8e8, rgb(253, 232, 232)); color: var(--df-d4163a, rgb(212, 22, 58)); }
.db-list { margin: 0; padding: 0; list-style: none; }
.db-list li { display: flex; align-items: center; gap: 8px; min-height: 32px; font: 400 15px/20px var(--font); }
.db-list li > span:not(.db-ch) { flex: 1; min-width: 0; color: var(--df-767676, rgb(118, 118, 118)); }
.db-list li b { font-weight: 600; }
.db-list li i { width: 8px; height: 8px; flex: none; border-radius: 50%; }
.db-list.line { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.db-card.split { display: grid; grid-template-columns: 350px 1fr; gap: 24px; }
.db-card.split > div:first-child { padding-right: 24px; border-right: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.db-c { width: 100%; }
.db-chart { display: block; overflow: visible; font: 400 12px var(--font); }
.db-chart text { fill: var(--df-767676, rgb(118, 118, 118)); }
.db-chart .g { stroke: var(--df-e5e5e5, rgb(229, 229, 229)); stroke-dasharray: 4 4; }
.db-chart .c1 { fill: none; stroke: var(--accent); stroke-width: 2; }
.db-chart .c2 { fill: none; stroke: rgb(184, 172, 255); stroke-width: 2; }
.db-chart circle { fill: var(--accent); }
.db-leg { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); flex-wrap: wrap; }
.db-leg i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.db-leg i.c { margin-left: 8px; background: rgb(184, 172, 255); }
.db-card.tbl { padding: 24px 0 0; overflow: hidden; }
.db-card.tbl h3 { padding: 0 24px; }
.db-t { width: 100%; border-collapse: collapse; margin-top: 8px; font: 400 15px/20px var(--font); }
.db-t th { height: 48px; padding: 0 24px; border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); text-align: left; font-weight: 600; }
.db-t td { height: 80px; padding: 0 24px; border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); white-space: nowrap; }
.db-t td:first-child { display: flex; align-items: center; gap: 12px; height: 80px; font-weight: 600; }
.db-t td svg { width: 16px; height: 16px; vertical-align: -3px; }
.db-av { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--db-e6f4ff, rgb(230, 244, 255)); color: rgb(28, 118, 181); font: 600 15px/1 var(--font); }
@media (max-width: 1100px) { .db-row.r5 { grid-template-columns: repeat(3, 1fr); } .db-row.r1, .db-row.r2, .db-card.split { grid-template-columns: 1fr; } .db-card.split > div:first-child { border: 0; padding: 0; } }
@media (max-width: 767px) { .db-row.r5 { grid-template-columns: 1fr 1fr; } .db-t { display: block; overflow-x: auto; } }

/* The add-on offer on top of a dashboard (fidelidad, recepcionista con IA) */
.rt-box.bare { background: none; box-shadow: none; border-radius: 0; overflow: visible; margin-top: 32px; }
.rt-box.bare .rt-tw { overflow: visible; display: flex; flex-direction: column; gap: 24px; }
#promo { display: flex; flex-direction: column; gap: 24px; }
.db-promo { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px; border-radius: 20px; color: #fff; font-family: var(--font); }
.db-promo.pink { background: linear-gradient(100deg, #f0569a, #ec4c8c 45%, #c64be0); }
.db-promo.violet { background: linear-gradient(100deg, #6b2bd1, #8b3bd6 50%, #c779e6); }
.db-promo > div { max-width: 820px; position: relative; z-index: 1; }
.db-pb { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font: 500 13px/16px var(--font); }
.db-pb svg { width: 20px; height: 20px; padding: 3px; border-radius: 5px; background: rgba(255, 255, 255, 0.25); }
.db-promo h2 { margin: 0 0 8px; font: 600 28px/36px var(--font); }
.db-promo p { margin: 0; font: 400 15px/20px var(--font); }
.db-pc { display: flex; align-items: center; gap: 24px; margin-top: 24px; }
.db-try { height: 44px; padding: 0 20px; display: inline-flex; align-items: center; gap: 8px; border-radius: 999px; background: var(--db-ffffff, #fff); color: var(--ink); font: 600 15px/20px var(--font); text-decoration: none; }
.db-try.dark { background: var(--ink); color: var(--do-ffffff, #fff); }
.db-try svg { width: 18px; height: 18px; }
.db-more2 { color: #fff; font: 600 15px/20px var(--font); text-decoration: none; }
.db-orb { width: 150px; height: 150px; flex: none; margin-right: 40px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, var(--db-ffffff, #fff), var(--db-ffffff-55, rgba(255, 255, 255, 0.55)) 40%, rgba(255, 255, 255, 0.15) 70%); box-shadow: 0 0 60px rgba(255, 255, 255, 0.5); }
@media (max-width: 767px) { .db-orb { display: none; } }

/* "Editar" of a filter: Fresha's window */
.rt-pick .na-cbox { width: 560px; max-width: calc(100vw - 32px); max-height: calc(100vh - 64px); display: flex; flex-direction: column; }
.rt-pick h2 { margin: 0 0 24px; font: 600 20px/28px var(--font); }
.rt-plist { flex: 1; overflow-y: auto; margin: 8px 0 0; min-height: 200px; }
.rt-plist .rt-ck { min-height: 56px; border-bottom: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); }
.rt-plist .rt-ck .rp-n { margin-left: 4px; }
.rt-pfoot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 16px -24px -24px; padding: 16px 24px; border-top: 1px solid var(--de-e5e5e5, rgb(229, 229, 229)); font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
.rt-pfoot .rt-fbtn { flex: none; padding: 0 24px; }
a.rt-fs-t { text-decoration: none; }
.rt-fs-h .rp-prem { text-decoration: none; }
a.rt-chev { color: var(--ink); }
/* Phones: the lists open without the side panel (it is the section's own page). */
@media (max-width: 767px) {
  .sec-app .rp { padding: 0; align-items: stretch; }
  .sec-app .rp-side { display: none; }
  .sec-app.team-app .rp-page { background: var(--db-ffffff, #fff); }
  .sec-app .rp-top { flex-direction: column; }
  .sx-row .rp-n { margin-left: auto; }
  .sx-row.rp-addrow { color: var(--accent); }
  .sx-row .rp-sync { width: 24px; height: 24px; flex: none; }
}
@media (max-width: 767px) {
  .sec-app .rp-top > .rp-addbtn { position: fixed; z-index: 30; top: calc(env(safe-area-inset-top) + 18px); right: 20px; height: 36px; padding: 0 16px 0 12px; display: inline-flex; align-items: center; gap: 4px;
    border: 1px solid var(--t-border); border-radius: 999px; background: var(--db-ffffff, #fff); color: var(--ink); font: 600 15px/20px var(--font); }
  .sec-app .rp-top > .rp-addbtn::before { content: "+"; font: 400 22px/20px var(--font); }
}

/* ---- Ayuda Partners (2026-11-05): team report tables as Fresha (Informes › Equipo) ----
   13 px text, cell padding 1px 16px, the header on two lines (73 px), numbers right-aligned,
   the «Total» row rgb(249, 249, 249). «Resumen de pagos»: 32 px rows, 56 px section titles,
   the table as wide as its content, totals grey. */
.rt-t.rt-team { font-size: 13px; line-height: 16px; }
.rt-t.rt-team th { height: 73px; min-width: 168px; padding: 0 16px; white-space: normal; vertical-align: middle; }
.rt-t.rt-team th button { min-width: 0; margin: 0 -8px; font-size: 13px; line-height: 16px; text-align: left; }
.rt-t.rt-team th.num button { margin-left: auto; justify-content: flex-end; text-align: right; }
.rt-t.rt-team td { padding: 1px 16px; }
.rt-t.rt-team th.num, .rt-t.rt-team td.num { text-align: right; }
.rt-t.rt-team .rt-tot td { background: var(--db-f9f9f9, rgb(249, 249, 249)); }
.rt-t.rt-pay { min-width: 0; width: auto; }
.rt-t.rt-pay th { height: 53px; }
.rt-t.rt-pay td { height: 32px; min-width: 80px; }
.rt-t.rt-pay td:first-child { min-width: 380px; }
.rt-t.rt-pay tr.sec td { height: 56px; }
.rt-t.rt-pay tr.tot td { background: var(--db-f9f9f9, rgb(249, 249, 249)); }

/* ---- Ayuda Partners (2026-11-05): «Panel de control del rendimiento» filters, chips and mobile header as Fresha ---- */
.rt-bar.plain .rp-pill.on { border-color: rgb(105, 80, 243); }
@media (max-width: 1023px) { .rt-bar.plain #filters { order: -1; width: 50px; padding: 0; justify-content: center; } .rt-bar.plain #filters span { display: none; } }
/* Phone: Fresha's bar is one row that scrolls sideways, «Comparar con» shows only the dates. */
@media (max-width: 767px) { .rt-bar.plain { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .rt-bar.plain > * { flex: none; } .db-cmpl { display: none; } }
/* The chips: 12 px under the bar, and the cards as far below them as they are from the bar without chips. */
.db-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: -4px 0 16px; }
.db-chip { height: 36px; padding: 0 15px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--de-dbddff, rgb(219, 221, 255)); border-radius: 999px; background: var(--db-f0f0ff, rgb(240, 240, 255)); color: var(--df-6950f3, rgb(105, 80, 243)); font: 500 15px/20px var(--font); cursor: pointer; }
.db-chip svg { width: 20px; height: 20px; }
.db-chip.clear { background: none; border-color: transparent; color: var(--ink); }
.db-chip.clear:hover { background: var(--db-f7f7f7-h, rgb(247, 247, 247)); }
.db-none { height: 301px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.db-none svg { width: 40px; height: 40px; color: var(--ink); margin-bottom: 8px; }
.db-none b { font: 600 20px/28px var(--font); }
.db-none p { margin: 4px 0 0; font: 400 15px/20px var(--font); color: var(--df-767676, rgb(118, 118, 118)); }
/* Fresha: 16 px between the bar and the cards (40 px to the first card title), with or without chips. */
.rt.dash .rt-bar.plain { padding-bottom: 16px; }
/* Fresha's dashboard has no «Opciones» button at any width (1440, 768, 402). */
.rt.dash .rt-opts { display: none; }
/* Phone: no breadcrumb and no «Opciones»; the star sits in the top bar, right, as «Volver» on the left (402: 36 px, 10 px from the edge). */
@media (max-width: 767px) {
  .rt.dash { padding: 0 0 32px; }
  .rt.dash .rt-path { display: none; }
  .rt.dash .rt-head { margin-top: 0; }
  .rt.dash .rt-star { position: fixed; z-index: 30; top: calc(env(safe-area-inset-top) + 18px); right: 10px; }
  .rt.dash .rt-sub { margin-top: 12px; }
}
.db-promo.navy { background: linear-gradient(100deg, #1d2a8f, #2b3fb8 50%, #4b5bd6); }
