:root {
  --navy: #071d3d;
  --navy-2: #0e2d5a;
  --blue: #1f4e8c;
  --red: #df1c2f;
  --ink: #16243a;
  --muted: #718096;
  --line: #e5eaf1;
  --canvas: #f5f7fa;
  --paper: #fff;
  --green: #1b8a66;
  --amber: #c57b16;
  font-family: Aptos, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
.is-hidden { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: 224px;
  padding: 28px 18px 20px;
  display: flex;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at 50% 110%, rgba(44,105,173,.32), transparent 38%),
    linear-gradient(175deg, #0a244b 0%, #06172f 72%);
  box-shadow: 14px 0 36px rgba(7,29,61,.08);
}
.brand { min-height: 76px; padding: 0 10px 26px; display: flex; align-items: center; }
.brand-logo { width: 164px; height: 68px; display: block; object-fit: contain; object-position: left center; }
.brand-wordmark { display: flex; align-items: center; font-size: 23px; font-weight: 780; letter-spacing: -.055em; line-height: 1; }
.brand-wordmark i { margin: 0 2px; color: var(--red); font-size: 28px; font-style: normal; font-weight: 450; transform: skew(-9deg); }
.brand-office { margin-top: 7px; color: rgba(255,255,255,.58); font-size: 10px; font-weight: 600; letter-spacing: .27em; text-transform: uppercase; }
.main-nav { display: grid; gap: 5px; min-height: 0; overflow-y: auto; overflow-x: hidden; flex-shrink: 1; scrollbar-width: thin; }
.sidebar-card, .sidebar-profile, .brand { flex-shrink: 0; }
.nav-item {
  width: 100%; min-height: 44px; padding: 6px 10px; display: grid; grid-template-columns: 19px minmax(0,1fr) auto; align-items: center; gap: 8px;
  color: rgba(255,255,255,.67); border: 0; border-radius: 10px; background: transparent; text-align: left; font-size: 13px; font-weight: 520;
}
.nav-item svg { width: 19px; height: 19px; stroke-width: 1.7; }
.nav-item small { min-width: 24px; padding: 3px 6px; border-radius: 999px; color: rgba(255,255,255,.68); background: rgba(255,255,255,.08); font-size: 9px; text-align: center; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.105); box-shadow: inset 3px 0 var(--red); }
.sidebar-card { margin-top: auto; padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; background: rgba(255,255,255,.045); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #51d19a; box-shadow: 0 0 0 4px rgba(81,209,154,.12); }
.sidebar-card strong, .sidebar-card span, .sidebar-profile strong, .sidebar-profile span { display: block; }
.sidebar-card strong { font-size: 11px; font-weight: 600; }
.sidebar-card div span { margin-top: 2px; color: rgba(255,255,255,.5); font-size: 9px; }
.sidebar-profile { margin-top: 14px; padding: 14px 4px 0; display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; border-top: 1px solid rgba(255,255,255,.08); }
.profile-avatar { display: grid !important; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(140deg, var(--red), #ab1121); font-size: 11px; font-weight: 700; }
.sidebar-profile strong { font-size: 11px; font-weight: 600; }
.sidebar-profile div span { margin-top: 2px; color: rgba(255,255,255,.45); font-size: 9px; }
.sidebar-profile button { color: rgba(255,255,255,.48); border: 0; background: none; letter-spacing: .08em; }
.mobile-menu { display: none; }

/* Pantallas independientes y navegación por áreas. */
.nav-group { border-radius: 10px; }
.nav-group > summary { display: flex; align-items: center; gap: 10px; min-height: 45px; padding: 10px; color: #c7d2e2; cursor: pointer; list-style: none; font-size: 13px; font-weight: 500; }
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary > span { width: 19px; text-align: center; font-size: 20px; }
.nav-group > summary > svg { width: 19px; height: 19px; flex-shrink: 0; }
.nav-group > summary i { margin-left: auto; font-style: normal; transition: transform .15s; }
.nav-group[open] { background: rgba(255,255,255,.035); }
.nav-group[open] > summary { color: #fff; }
.nav-group[open] > summary i { transform: rotate(180deg); }
.nav-children { display: grid; gap: 2px; padding: 0 5px 8px; }
.nav-children .nav-item { min-height: 36px; font-size: 11.5px; }
.nav-symbol { width: 19px; text-align: center; font-size: 19px; }
.main-nav { gap: 7px; margin-bottom: 20px; }
.settings-dialog.page-settings { width: 100%; max-width: none; margin: 0; box-shadow: none; border: 1px solid var(--line); }
body[data-page] .main-grid { grid-template-columns: minmax(0,1fr); }
body[data-page='ranking'] .ranking-card { max-width: 850px; width: 100%; margin: 0 auto; }
body[data-page='ranking'] .podium { height: 240px; }
body[data-page='ranking'] .podium-name { width: 140px; font-size: 12px; }
body[data-page='ranking'] .podium-score { font-size: 11px; }
body[data-page='ranking'] .ranking-row { min-height: 62px; }
body[data-page='ranking'] .ranking-row strong { font-size: 13px; }
body[data-page='ranking'] .ranking-row small { font-size: 11px; }
body[data-page='buscar'] .hero-copy, body[data-page='inmuebles'] .hero-copy, body[data-page='contactos'] .hero-copy, body[data-page='operaciones'] .hero-copy { display: none; }
body[data-page='buscar'] .hero-card, body[data-page='inmuebles'] .hero-card, body[data-page='contactos'] .hero-card, body[data-page='operaciones'] .hero-card { min-height: 0; padding: 20px; background: #fff; margin-bottom: 18px; }
body[data-page='buscar'] .search-box, body[data-page='inmuebles'] .search-box, body[data-page='contactos'] .search-box, body[data-page='operaciones'] .search-box { margin: 0; width: 100%; max-width: none; border: 1px solid var(--line); }
.home-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 22px; }
.home-shortcuts button { padding: 22px; border: 1px solid var(--line); border-radius: 14px; text-align: left; background: #fff; color: var(--ink); transition: transform .15s,box-shadow .15s; }
.home-shortcuts button:hover { transform: translateY(-3px); box-shadow: 0 10px 25px #071d3d0d; }
.home-shortcuts span { display: block; color: var(--red); font-size: 10px; letter-spacing: .12em; margin-bottom: 16px; }
.home-shortcuts strong { display: block; font-weight: 550; font-size: 15px; }
.home-shortcuts small { display: block; color: var(--muted); font-size: 11px; margin-top: 8px; line-height: 1.5; }
.icon-button { position: relative; }
#notification-badge { position: absolute; right: -4px; top: -4px; min-width: 19px; padding: 3px; border-radius: 12px; background: var(--red); color: #fff; font-size: 10px; }
.teamwork-page .card-heading p,.notifications-page .card-heading p { font-size: 12px; color: var(--muted); line-height: 1.6; }
.teamwork-page,.notifications-page { padding: 24px; }
.team-tabs { display: flex; gap: 7px; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin: 20px 0; }
.team-tabs button { border: 0; border-radius: 8px; background: #f1f4f8; color: #66758a; padding: 10px 18px; font-size: 12px; }
.team-tabs button.active { background: var(--navy); color: white; }
.team-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 22px; align-items: start; }
.team-thread-list { border-right: 1px solid var(--line); padding-right: 17px; }
.team-search { display: grid; gap: 8px; margin-bottom: 14px; }
.team-search label { font-size: 11px; color: var(--muted); }
.team-search input,.team-compose textarea,.team-compose select,.new-task input,.new-task select,.task-filters select,.task-state-select select,.notification-settings input[type=email] { width: 100%; padding: 11px; border: 1px solid #dbe3ed; border-radius: 8px; background: #fff; color: var(--ink); font-size: 12px; outline: none; }
.team-search input:focus,.team-compose textarea:focus,.new-task input:focus { border-color: #5582b7; box-shadow: 0 0 0 3px #1f4e8c0d; }
#team-list { max-height: 580px; overflow: auto; }
.thread-item { width: 100%; padding: 14px 10px; border: 1px solid transparent; border-bottom-color: var(--line); border-radius: 8px; background: transparent; color: var(--ink); text-align: left; }
.thread-item strong { display: block; font-size: 12px; font-weight: 550; }
.thread-item small,.thread-item span { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.thread-item.selected { border-color: #afc5e1; background: #f0f5fb; }
.thread-heading { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.thread-heading h3 { font-size: 19px; font-weight: 550; margin: 6px 0; }
.thread-heading p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 0; }
.thread-columns { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(220px,1fr); gap: 25px; padding-top: 20px; }
.thread-columns h3 { font-size: 13px; font-weight: 550; }
.thread-section-title small { color: var(--muted); font-size: 10px; }
.team-messages { display: grid; gap: 12px; padding: 16px 0; max-height: 460px; overflow: auto; }
.team-message { padding: 14px; border-radius: 0 12px 12px; background: #f1f4f8; overflow-wrap: anywhere; }
.team-message.mine { background: #eaf1fa; border-radius: 12px 0 12px 12px; }
.team-message > div { display: flex; flex-wrap: wrap; gap: 6px; justify-content: space-between; }
.team-message strong { font-size: 11px; font-weight: 550; }
.team-message time { color: var(--muted); font-size: 9px; }
.team-message p { margin: 9px 0 0; font-size: 12px; line-height: 1.65; white-space: pre-wrap; }
.team-compose,.new-task form { display: grid; gap: 10px; }
.team-compose label,.new-task label,.task-filters label,.notification-settings label { display: block; font-size: 11px; font-weight: 500; }
.team-compose textarea { min-height: 105px; resize: vertical; }
.team-compose small { color: var(--muted); font-size: 10px; line-height: 1.6; }
.team-compose .primary-action,.new-task .secondary-action { margin-top: 0; width: auto; justify-self: start; font-size: 12px; }
.new-task { margin-top: 15px; border: 1px solid var(--line); padding: 14px; border-radius: 10px; }
.new-task summary { cursor: pointer; font-size: 12px; color: var(--blue); }
.new-task form { padding-top: 15px; }
.team-task { display: flex; justify-content: space-between; gap: 12px; margin: 10px 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.team-task h4 { font-size: 12px; margin: 8px 0; font-weight: 550; overflow-wrap: anywhere; }
.team-task p { color: var(--muted); font-size: 10px; margin: 5px 0; }
.task-state { font-size: 9px; color: var(--blue); text-transform: uppercase; letter-spacing: .06em; }
.task-state.overdue { color: #b82d36; }
.team-task.done { opacity: .7; }
.task-state-select { font-size: 9px; color: var(--muted); width: 115px; flex-shrink: 0; }
.task-state-select select { padding: 7px 4px; margin-top: 7px; font-size: 10px; }
.task-history { margin-top: 16px; font-size: 10px; color: var(--muted); }
.task-history summary { cursor: pointer; }
.task-history ul { padding-left: 16px; }
.task-history li { line-height: 1.7; margin-bottom: 7px; }
.task-history time { display: block; font-size: 9px; }
.task-filters { display: flex; gap: 16px; margin: 15px 0 25px; }
.task-filters select { margin-top: 8px; }
.notification-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(270px,1fr); gap: 28px; margin-top: 25px; align-items: start; }
.notification-settings { border: 1px solid var(--line); border-radius: 13px; padding: 22px; background: #f8fafc; }
.notification-settings h3 { font-size: 14px; font-weight: 550; }
.notification-settings p { font-size: 11px; line-height: 1.65; color: var(--muted); }
.notification-settings form { display: grid; gap: 12px; }
.notification-settings .check-label { display: flex; gap: 8px; align-items: center; }
.notification-settings .check-label input { width: 15px; height: 15px; min-height: 0; }
.notification-settings .primary-action { font-size: 11px; margin-top: 0; }
.notification-settings hr { border: 0; border-top: 1px solid var(--line); margin: 23px 0; }
.notification-settings button:disabled { opacity: .45; cursor: not-allowed; }
.notification-item { display: flex; gap: 14px; padding: 20px 12px; border-bottom: 1px solid var(--line); align-items: start; }
.notification-item > div { flex: 1; }
.notice-dot { flex-shrink: 0; margin-top: 4px; width: 7px; height: 7px; border-radius: 50%; background: #cbd4df; }
.unread .notice-dot { background: var(--red); }
.notification-item strong { font-size: 13px; font-weight: 550; }
.notification-item p { margin: 8px 0; font-size: 11px; color: var(--muted); }
.notification-item small { color: var(--muted); font-size: 10px; }
.text-action { display: block; padding: 6px 0; margin-top: 8px; background: none; border: 0; color: var(--blue); text-align: left; font-size: 11px; }
.notification-empty { padding: 70px 25px; }
.notification-empty > span { display: grid; place-items: center; width: 50px; height: 50px; margin: 0 auto 20px; border-radius: 50%; background: #e6f3ed; color: var(--green); font-size: 23px; }
@media(max-width:1200px) { .thread-columns { grid-template-columns: 1fr; } .team-layout { grid-template-columns: 210px minmax(0,1fr); } .notification-layout { grid-template-columns: 1fr; } }
@media(min-width:761px) and (max-width:1100px) { .team-layout { grid-template-columns: 1fr; } .team-thread-list { border: 0; border-bottom: 1px solid var(--line); padding: 0 0 15px; } #team-list { max-height: 155px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; } .team-search { grid-template-columns: minmax(0,1fr) auto; align-items: center; } .team-search label { grid-column: 1 / -1; } }
@media(max-width:760px) {
  .home-shortcuts { grid-template-columns: 1fr; gap: 10px; }
  .home-shortcuts button { padding: 16px; }
  .home-shortcuts span { margin-bottom: 8px; }
  .team-layout { grid-template-columns: 1fr; }
  .team-thread-list { border-right: 0; border-bottom: 1px solid var(--line); padding-right: 0; padding-bottom: 16px; }
  #team-list { max-height: 200px; }
  .task-filters { flex-direction: column; }
  .thread-columns { gap: 20px; }
  .team-task { flex-direction: column; }
  .task-state-select { width: 100%; }
  .thread-heading { flex-wrap: wrap; }
  .notification-settings { padding: 16px; }
  .teamwork-page,.notifications-page { padding: 17px; }
  .notification-item { flex-wrap: wrap; }
}

.app-shell { width: calc(100% - 224px); margin-left: 224px; padding: 30px clamp(24px, 3.4vw, 52px) 26px; }
.page-header { min-height: 51px; margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; }
.page-kicker { margin: 0 0 3px; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
h1 { margin: 0; font-size: clamp(23px, 2vw, 29px); font-weight: 630; letter-spacing: -.035em; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.today { color: #506077; font-size: 11px; font-weight: 520; }
.icon-button { position: relative; display: grid; width: 36px; height: 36px; place-items: center; color: #52647c; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.icon-button svg { width: 17px; }
.icon-button i { position: absolute; top: 7px; right: 7px; width: 5px; height: 5px; border: 1.5px solid white; border-radius: 50%; background: var(--red); }

.hero-card {
  position: relative; height: 390px; padding: 36px 42px 38px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden;
  border-radius: 19px; color: #fff; background-image:
    linear-gradient(90deg, rgba(4,20,44,.96) 0%, rgba(4,20,44,.86) 44%, rgba(4,20,44,.3) 69%, rgba(4,20,44,.05) 100%),
    url("/assets/hero-pisuerga-v11.png");
  background-position: center center; background-size: cover; box-shadow: 0 18px 46px rgba(7,29,61,.16);
}
.hero-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); border-radius: inherit; }
.hero-copy { position: relative; z-index: 1; max-width: 610px; }
.hero-brand-row { margin-bottom: 22px; display: flex; align-items: center; gap: 17px; }
.hero-brand-row::after { content: ""; width: 1px; height: 30px; order: 1; background: rgba(255,255,255,.25); }
.hero-brand-row span { order: 2; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.hero-logo { width: 226px; height: 70px; display: block; object-fit: contain; object-position: left center; }
.hero-label { display: inline-flex; padding: 6px 9px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(7,29,61,.2); backdrop-filter: blur(6px); font-size: 8px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.hero-copy h2 { margin: 13px 0 8px; font-size: clamp(34px, 3.5vw, 46px); font-weight: 560; letter-spacing: -.045em; line-height: .98; }
.hero-copy p { max-width: 520px; margin: 0; color: rgba(255,255,255,.74); font-size: 12px; line-height: 1.5; }
.search-box { position: relative; z-index: 1; width: min(760px, 76%); height: 56px; padding: 6px 6px 6px 17px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 9px; border-radius: 13px; background: rgba(255,255,255,.98); box-shadow: 0 12px 32px rgba(5,20,45,.25); }
.search-box svg { width: 18px; color: var(--blue); }
.search-box input { min-width: 0; color: var(--ink); border: 0; outline: none; background: transparent; font-size: 12px; }
.search-box input::placeholder { color: #8a97a9; }
.search-box button { height: 44px; padding: 0 22px; color: #fff; border: 0; border-radius: 9px; background: var(--red); font-size: 11px; font-weight: 650; }
.search-box:focus-within { box-shadow: 0 0 0 3px rgba(255,255,255,.25), 0 12px 30px rgba(5,20,45,.25); }

.metrics { margin: 16px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.metrics article { min-height: 90px; padding: 17px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(19,38,65,.025); }
.metric-icon { display: grid !important; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border-radius: 11px; }
.metric-icon svg { width: 19px; }
.metric-icon.blue { color: #2d65a7; background: #eaf2fb; }
.metric-icon.red { color: #c82739; background: #fdecef; }
.metric-icon.green { color: #168262; background: #e6f7f1; }
.metric-icon.amber { color: #ad6d12; background: #fff3df; }
.metrics article div > span, .metrics small { display: block; }
.metrics article div > span { color: #66768c; font-size: 10px; font-weight: 560; }
.metrics strong { display: block; margin: 3px 0 1px; font-size: 21px; font-weight: 650; letter-spacing: -.03em; }
.metrics small { color: #9aa5b4; font-size: 8.5px; }
#issues-metric { cursor: pointer; }

.main-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(290px, .75fr); gap: 16px; align-items: start; }
.content-card { border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 6px 22px rgba(19,38,65,.035); }
.search-card { min-width: 0; padding: 21px; }
.card-heading, .showcase-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.section-label { display: block; margin-bottom: 4px; color: var(--red); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.card-heading h2, .showcase-heading h2 { margin: 0; font-size: 17px; font-weight: 620; letter-spacing: -.02em; }
.result-count { color: var(--muted); font-size: 9px; }
.filters { display: flex; gap: 5px; margin: 15px 0 13px; }
.filter { padding: 6px 10px; color: #66768c; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 9px; font-weight: 560; }
.filter.active { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }
.workspace { min-height: 410px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .83fr); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.results { max-height: 515px; padding: 8px; display: grid; align-content: start; gap: 4px; overflow-y: auto; }
.result { width: 100%; padding: 9px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; color: inherit; text-align: left; border: 1px solid transparent; border-radius: 9px; background: #fff; }
.result:hover, .result.selected { border-color: #dbe5f2; background: #f5f8fc; }
.result.selected { box-shadow: inset 2px 0 var(--blue); }
.result-icon { display: grid; width: 34px; height: 34px; place-items: center; color: #2e619f; border-radius: 9px; background: #eaf2fb; font-size: 10px; font-weight: 700; }
.result[data-kind="contact"] .result-icon { color: #167a5d; background: #e9f7f2; }
.result[data-kind="deal"] .result-icon { color: #a2630b; background: #fff3df; }
.result-title { display: block; max-width: 250px; overflow: hidden; font-size: 10.5px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.result-subtitle { display: block; max-width: 280px; margin-top: 2px; overflow: hidden; color: #8491a2; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.result-meta { padding: 4px 6px; max-width: 85px; overflow: hidden; color: #718096; border-radius: 999px; background: #f0f3f7; font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.result-meta-stack { display: grid; justify-items: end; gap: 3px; }
.alias-pill { padding: 3px 6px; color: #235d4b; border-radius: 999px; background: #e4f5ef; font-size: 7px; font-weight: 700; white-space: nowrap; }
.detail-panel { min-width: 0; padding: 18px; border-left: 1px solid var(--line); background: #fafbfd; }
.empty, .empty-detail { color: var(--muted); font-size: 10px; text-align: center; }
.empty { padding: 42px 16px; }
.empty-detail { min-height: 355px; display: grid; place-content: center; }
.detail-icon { display: grid; width: 42px; height: 42px; margin: 0 auto 10px; place-items: center; color: #3e6eaa; border-radius: 11px; background: #e9f1fa; }
.detail-icon svg { width: 19px; }
.empty-detail h3 { margin: 0; color: var(--ink); font-size: 13px; font-weight: 620; }
.empty-detail p { max-width: 205px; margin: 5px auto 0; line-height: 1.45; }
.detail-panel > .section-label { margin-top: 1px; }
.detail-panel h2 { margin: 0 0 3px; font-size: 17px; font-weight: 620; letter-spacing: -.025em; overflow-wrap: anywhere; }
.detail-type { margin: 0 0 14px; color: var(--muted); font-size: 9px; }
.resolution-banner { margin: -4px 0 12px; padding: 9px 10px; display: flex; align-items: flex-start; gap: 8px; color: #245d4c; border: 1px solid #cde8df; border-radius: 9px; background: #eef9f5; }
.resolution-banner > span { display: grid; flex: 0 0 auto; width: 20px; height: 20px; place-items: center; color: #fff; border-radius: 50%; background: #2f8067; font-size: 8px; font-weight: 800; }
.resolution-banner strong, .resolution-banner p { display: block; margin: 0; }
.resolution-banner strong { font-size: 8.5px; }
.resolution-banner p { margin-top: 2px; color: #4f7569; font-size: 7.5px; line-height: 1.4; }
.data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.data-field { min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.data-field span { display: block; color: #8b98aa; font-size: 7px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.data-field strong { display: block; margin-top: 3px; overflow-wrap: anywhere; font-size: 8.5px; font-weight: 600; }
.related { margin-top: 15px; }
.related h3 { margin: 0 0 7px; font-size: 10px; font-weight: 650; }
.timeline { display: grid; gap: 5px; }
.timeline article { padding: 7px 8px; border-left: 2px solid #a9bdd6; border-radius: 0 6px 6px 0; background: #fff; }
.timeline strong, .timeline span { display: block; font-size: 8px; }
.timeline strong { font-weight: 620; }
.timeline span { margin-top: 2px; color: var(--muted); line-height: 1.35; }

.review-workflow { margin-top: 15px; padding: 13px; border: 1px solid #dbe4ef; border-radius: 11px; background: #fff; }
.review-workflow.pending { display: flex; align-items: center; gap: 10px; background: #f7f9fc; }
.review-workflow.pending strong, .review-workflow.pending p { display: block; margin: 0; }
.review-workflow.pending strong { font-size: 9px; }
.review-workflow.pending p { margin-top: 2px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.review-icon { display: grid; flex: 0 0 auto; width: 29px; height: 29px; place-items: center; color: #fff; border-radius: 50%; background: var(--green); font-size: 11px; font-weight: 700; }
.review-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.review-heading h3 { margin: 0; font-size: 11px; }
.review-workflow > p { margin: 8px 0 10px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.review-workflow label, .settings-dialog label { display: block; margin: 0 0 5px; color: #65748a; font-size: 8px; font-weight: 650; }
.review-workflow select, .settings-dialog input { width: 100%; height: 37px; padding: 0 10px; color: var(--ink); border: 1px solid #dce3ec; border-radius: 8px; outline: none; background: #fff; font-size: 9px; }
.review-workflow select:focus, .settings-dialog input:focus { border-color: #5c7da7; box-shadow: 0 0 0 3px rgba(31,78,140,.1); }
.review-status { padding: 4px 7px; color: #8a640d; border-radius: 999px; background: #fff2d5; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.review-status.new { color: #69778b; background: #edf1f5; }
.review-status.sent { color: #137357; background: #e3f6ef; }
.primary-action, .secondary-action, .whatsapp-action { min-height: 36px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 9px; font-weight: 650; text-decoration: none; }
.primary-action { width: 100%; margin-top: 9px; color: #fff; border: 0; background: var(--red); }
.primary-action:disabled, .secondary-action:disabled { cursor: wait; opacity: .58; }
.secondary-action { color: #516278; border: 1px solid #dce3ec; background: #fff; }
.whatsapp-action { color: #fff; background: #168a5b; }
.review-action-result { margin-top: 10px; }
.message-preview { padding: 10px; color: #526178; border: 1px solid #e1e7ef; border-radius: 8px; background: #f7f9fb; font-size: 8px; line-height: 1.5; white-space: pre-wrap; }
.review-actions { margin-top: 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.review-warning, .review-error, .working { margin: 0 0 7px; font-size: 8px; line-height: 1.4; }
.review-warning { color: #8b6513; }
.review-error { color: #b31d2d; }
.working { display: block; color: var(--muted); }

.settings-dialog { width: min(490px, calc(100% - 28px)); padding: 0; color: var(--ink); border: 0; border-radius: 16px; background: #fff; box-shadow: 0 28px 80px rgba(7,29,61,.24); }
.settings-dialog::backdrop { background: rgba(7,20,42,.55); backdrop-filter: blur(2px); }
.settings-dialog form { padding: 25px; }
.dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.dialog-heading h2 { margin: 0; font-size: 18px; }
.dialog-close { width: 32px; height: 32px; color: #718096; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 20px; line-height: 1; }
.settings-dialog form > p { margin: 8px 0 20px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.settings-dialog input { margin-bottom: 14px; }
.settings-dialog .primary-action { height: 40px; }
.form-message { min-height: 17px; color: #2a6e59; font-size: 9px; }
.commercial-scope .metrics { grid-template-columns: repeat(3, 1fr); }

.review-queue-card { margin-top: 16px; padding: 22px; }
.queue-summary { margin-top: 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.queue-summary article { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f9fafc; }
.queue-summary span, .queue-summary strong { display: block; }
.queue-summary span { color: var(--muted); font-size: 8px; }
.queue-summary strong { margin-top: 3px; font-size: 17px; }
.queue-filters { margin: 13px 0 9px; display: flex; gap: 5px; }
.queue-filter { padding: 6px 10px; color: #66768c; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 8px; }
.queue-filter.active { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }
.review-queue-list { display: grid; gap: 6px; }
.queue-row { padding: 10px 11px; display: grid; grid-template-columns: 1.2fr .9fr .8fr auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.queue-row strong, .queue-row span, .queue-row small { display: block; }
.queue-row strong { font-size: 9px; }
.queue-row span { margin-top: 2px; color: var(--muted); font-size: 8px; }
.queue-row small { color: #8591a1; font-size: 7.5px; }
.queue-status { padding: 5px 7px; border-radius: 999px; font-size: 7px !important; font-weight: 700; text-align: center; text-transform: uppercase; }
.queue-status.pending { color: #7a5b10; background: #fff1cf; }
.queue-status.prepared { color: #315f94; background: #e7f0fa; }
.queue-status.sent { color: #137357; background: #e3f6ef; }

.users-dialog { width: min(900px, calc(100% - 28px)); }
.users-panel { padding: 25px; }
.users-panel > p { margin: 8px 0 18px; color: var(--muted); font-size: 10px; }
.users-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
.users-list { max-height: 480px; padding-right: 5px; display: grid; align-content: start; gap: 6px; overflow-y: auto; }
.user-row { padding: 10px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.user-row.inactive { opacity: .58; background: #f7f8fa; }
.user-row-avatar { display: grid; width: 34px; height: 34px; place-items: center; color: #fff; border-radius: 50%; background: var(--navy-2); font-size: 8px; font-weight: 700; }
.user-row strong, .user-row span { display: block; }
.user-row strong { font-size: 9px; }
.user-row span { margin-top: 2px; color: var(--muted); font-size: 7.5px; }
.user-row-actions { display: flex; gap: 4px; }
.small-action { padding: 5px 7px; color: #536278; border: 1px solid var(--line); border-radius: 6px; background: #fff; font-size: 7px; }
.small-action.danger { color: #a92333; }
.user-form { padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #f9fafc; }
.user-form h3 { margin: 0 0 14px; font-size: 13px; }
.user-form label { display: block; margin: 0 0 5px; color: #65748a; font-size: 8px; font-weight: 650; }
.user-form label span { font-weight: 450; }
.user-form input, .user-form select { width: 100%; height: 37px; margin-bottom: 11px; padding: 0 10px; color: var(--ink); border: 1px solid #dce3ec; border-radius: 8px; outline: none; background: #fff; font-size: 9px; }
.user-form input:focus, .user-form select:focus { border-color: #5c7da7; box-shadow: 0 0 0 3px rgba(31,78,140,.1); }
.user-form-actions { display: grid; grid-template-columns: auto 1fr; gap: 7px; }
.user-form-actions .primary-action { margin-top: 0; }

.ranking-card { padding: 21px; }
.ranking-heading { align-items: center; }
.ranking-heading select { padding: 6px 22px 6px 8px; color: #506077; border: 1px solid var(--line); border-radius: 8px; outline: none; background: #fff; font-size: 9px; }
.ranking-intro { margin: 9px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
.podium { height: 172px; margin-top: 15px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 5px; }
.podium-person { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
.podium-person.first { order: 2; }
.podium-person.second { order: 1; }
.podium-person.third { order: 3; }
.podium-avatar { position: relative; z-index: 2; display: grid; width: 42px; height: 42px; place-items: center; color: #fff; border: 3px solid #fff; border-radius: 50%; background: linear-gradient(145deg, #3167a4, #183e6d); box-shadow: 0 6px 16px rgba(20,46,82,.16); font-size: 10px; font-weight: 700; }
.podium-person.first .podium-avatar { width: 49px; height: 49px; background: linear-gradient(145deg, #df1c2f, #a81424); }
.podium-medal { position: absolute; top: -4px; right: calc(50% - 26px); z-index: 3; display: grid; width: 17px; height: 17px; place-items: center; color: #fff; border: 2px solid #fff; border-radius: 50%; background: #c59a30; font-size: 7px; font-style: normal; font-weight: 700; }
.podium-person.second .podium-medal { background: #8994a6; }
.podium-person.third .podium-medal { background: #a6754c; }
.podium-name { width: 76px; margin-top: 5px; overflow: hidden; font-size: 8.5px; font-weight: 620; text-overflow: ellipsis; white-space: nowrap; }
.podium-score { margin-top: 1px; color: var(--muted); font-size: 7.5px; }
.podium-block { width: 100%; margin-top: 7px; display: grid; place-items: center; color: #fff; border-radius: 7px 7px 2px 2px; background: #e8edf4; font-size: 13px; font-weight: 700; }
.first .podium-block { height: 54px; color: #173f72; background: #e3ecf7; }
.second .podium-block { height: 38px; color: #657386; background: #eef1f5; }
.third .podium-block { height: 28px; color: #856344; background: #f4ece4; }
.ranking-list { display: grid; margin-top: 6px; }
.ranking-row { min-height: 42px; display: grid; grid-template-columns: 18px 29px 1fr auto; align-items: center; gap: 8px; border-top: 1px solid #edf0f4; }
.ranking-position { color: #8d98a8; font-size: 9px; font-weight: 650; }
.ranking-avatar { display: grid; width: 27px; height: 27px; place-items: center; color: #2f5f96; border-radius: 50%; background: #eaf1f9; font-size: 7px; font-weight: 700; }
.ranking-row strong, .ranking-row small { display: block; }
.ranking-row strong { max-width: 105px; overflow: hidden; font-size: 8.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ranking-row small { margin-top: 2px; color: #929ead; font-size: 7px; }
.ranking-total { color: var(--navy-2); font-size: 10px; font-weight: 700; }
.ranking-footnote { margin-top: 10px; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; color: #7c899a; border-radius: 8px; background: #f5f7fa; font-size: 7.5px; }
.ranking-footnote i { width: 6px; height: 6px; border-radius: 50%; background: #50b88a; }
.ranking-warning { margin: 8px 0 11px; padding: 10px 11px; border: 1px solid #f0d7a1; border-radius: 9px; background: #fff9ed; color: #76551d; }
.ranking-warning strong, .ranking-warning span { display: block; }
.ranking-warning strong { font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.ranking-warning span { margin-top: 3px; font-size: 7px; line-height: 1.45; }

.showcase { margin-top: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.showcase-heading > span { color: var(--muted); font-size: 9px; }
.property-grid { margin-top: 15px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.property-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.property-card img { width: 100%; height: 125px; display: block; object-fit: cover; background: #dfe6ef; }
.property-card div { padding: 12px 13px 14px; }
.property-card div span, .property-card strong, .property-card small { display: block; }
.property-card div span { color: var(--red); font-size: 7.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-card strong { margin-top: 4px; font-size: 11px; font-weight: 620; }
.property-card small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.4; }
footer { padding: 22px 0 2px; color: #8f9aaa; text-align: center; font-size: 8px; }
.sidebar-overlay { display: none; }

.login-page { min-height: 100vh; background: #182a35; }
.login-shell { width: 100%; min-height: 100vh; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(350px, 420px); gap: clamp(40px, 7vw, 140px); align-items: center; padding: clamp(32px, 5vw, 80px); color: #fff; background-image: linear-gradient(90deg, rgba(5,17,30,.68), rgba(5,17,30,.13) 65%, rgba(5,17,30,.2)), url("/assets/hero-pisuerga-v11.png"); background-position: center; background-size: cover; }
.login-visual { min-height: calc(100svh - clamp(64px, 10vw, 160px)); display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.login-brand img { display: block; width: clamp(180px, 19vw, 258px); height: auto; }
.login-message { max-width: 600px; margin-block: auto; padding-block: 56px; }
.login-message > span { display: block; color: #fff; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; }
.login-message h1 { margin: 25px 0 0; color: #fff; font-size: clamp(46px, 5.4vw, 82px); font-weight: 400; letter-spacing: -.055em; line-height: 1.04; }
.login-message p { margin: 25px 0 0; color: rgba(255,255,255,.85); font-size: 16px; font-weight: 400; line-height: 1.7; }
.login-visual > small { color: rgba(255,255,255,.8); font-size: 11px; }
.login-form-panel { width: 100%; padding: 44px 38px 30px; color: var(--ink); border: 1px solid rgba(255,255,255,.75); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(0,0,0,.16); backdrop-filter: blur(16px); }
.login-form .section-label { font-size: 10px; letter-spacing: .14em; }
.login-form h2 { margin: 10px 0 0; font-size: 32px; font-weight: 500; letter-spacing: -.04em; }
.login-form > p { margin: 12px 0 30px; color: #59697c; font-size: 13px; line-height: 1.6; }
.login-form label { display: block; margin: 0 0 8px; color: #33465d; font-size: 12px; font-weight: 500; }
.login-form input { width: 100%; height: 50px; margin-bottom: 20px; padding: 0 15px; color: var(--ink); border: 1px solid #cdd6e0; border-radius: 8px; outline: none; background: rgba(255,255,255,.9); font-size: 16px; }
.login-form input:focus { border-color: #40658e; box-shadow: 0 0 0 3px rgba(31,78,140,.13); }
.login-form button { width: 100%; min-height: 50px; margin-top: 5px; color: #fff; border: 0; border-radius: 8px; background: var(--red); font-size: 14px; font-weight: 500; transition: background .15s; }
.login-form button:hover { background: #c7182b; }
.login-form button:focus-visible { outline: 3px solid #234b78; outline-offset: 3px; }
.login-form button:disabled { cursor: wait; opacity: .65; }
.login-error { min-height: 18px; margin-top: 12px; color: #a41b2b; font-size: 12px; text-align: center; }
.login-help { margin: 18px 0 0; color: #5c6b7b; font-size: 11px; line-height: 1.6; text-align: center; }
.activation-help { margin: -10px 0 20px; color: #59697c; font-size: 12px; line-height: 1.5; }
#activation-login { color: #234b78; font-weight: 500; }
.document-access { display: block; padding: 16px 20px; border-radius: 8px; background: var(--red); color: white; font-size: 14px; font-weight: 500; text-align: center; text-decoration: none; }
.document-access:hover { background: #c7182b; }
.document-access:focus-visible, .document-return:focus-visible { outline: 3px solid #234b78; outline-offset: 3px; }
.login-form > .document-note { margin: 20px 0; font-size: 12px; }
.document-return { color: #234b78; font-size: 12px; }
a.nav-item { text-decoration: none; }
.migration-page { margin: 0; background: var(--canvas); color: var(--ink); }
.migration-shell { max-width: 960px; margin: auto; padding: 30px 24px 70px; font-size: 15px; line-height: 1.6; }
.migration-shell header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px; margin-bottom:36px; border-radius:14px; background:var(--navy); }
.migration-shell header img { width:150px; height:auto; }
.migration-shell header a { color:white; }
.migration-shell h1 { font-size:clamp(26px,4vw,38px); font-weight:500; letter-spacing:-.04em; }
.migration-card { margin:22px 0; padding:26px; border:1px solid var(--line); border-radius:14px; background:white; }
.migration-card h2 { margin-top:0; font-size:22px; font-weight:500; }
.migration-card label { display:block; margin:18px 0 8px; }
.migration-card input:not([type=checkbox]) { display:block; width:100%; min-height:46px; padding:10px; border:1px solid #cdd6e0; border-radius:7px; box-sizing:border-box; }
.migration-card button { margin-top:18px; padding:14px 22px; background:var(--red); color:white; border:0; border-radius:8px; font-weight:500; }
.migration-card button:disabled { opacity:.6; cursor:wait; }
.migration-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.migration-counts p { padding:15px; border-radius:10px; background:var(--canvas); font-size:12px; }
.migration-counts strong { display:block; font-size:25px; font-weight:500; }
.migration-card pre { max-height:360px; overflow:auto; padding:15px; white-space:pre-wrap; overflow-wrap:anywhere; background:var(--canvas); font-size:12px; }
.migration-card a { overflow-wrap:anywhere; }
.migration-check input { margin-right:8px; }
@media(max-width:600px){.migration-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.migration-shell header{flex-wrap:wrap}.migration-card{padding:20px}}

.launch-card, .workflow-card, .quality-card { margin: 16px 0; padding: 21px; }
.launch-intro { margin: 7px 0 0; max-width: 600px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.launch-stats { margin: 20px 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.launch-stat { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; color: var(--ink); text-align: left; }
.launch-stat span, .launch-stat strong, .launch-stat small { display: block; }
.launch-stat span { font-size: 11px; font-weight: 550; }
.launch-stat strong { margin: 7px 0; color: var(--navy-2); font-size: 25px; font-weight: 600; }
.launch-stat small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.launch-stat.selected { border-color: #7697c0; background: #edf4fc; box-shadow: inset 0 3px var(--blue); }
.launch-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; padding: 15px; border-radius: 11px; background: #f7f9fc; }
.launch-toolbar label, .launch-detail label { display: grid; gap: 7px; color: #51627a; font-size: 11px; }
.launch-search-label { flex: 1; }
.launch-toolbar input, .launch-toolbar select, .launch-detail input:not([type=radio]), .launch-detail select, .launch-detail textarea { width: 100%; min-height: 39px; padding: 9px 11px; border: 1px solid #d8e1ec; border-radius: 8px; background: #fff; color: var(--ink); font-size: 12px; }
.launch-toolbar button { min-height: 39px; }
.launch-list-heading { margin: 17px 0 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.launch-list-heading strong { color: var(--navy-2); font-size: 13px; font-weight: 600; }
.launch-list-heading > span { color: var(--muted); font-size: 10px; }
.launch-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.launch-list { min-height: 250px; max-height: 540px; padding: 7px; overflow-y: auto; background: #f8fafc; }
.launch-row { width: 100%; padding: 13px 10px; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: start; gap: 6px 9px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: inherit; text-align: left; }
.launch-row:hover, .launch-row.selected { border-color: #cddded; background: #fff; }
.launch-row-number { padding-top: 2px; color: #8c9aac; font-size: 10px; }
.launch-row strong, .launch-row small { display: block; overflow-wrap: anywhere; }
.launch-row strong { color: var(--navy-2); font-size: 12px; font-weight: 560; }
.launch-row small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.launch-review-state { grid-column: 2; justify-self: start; padding: 3px 7px; border-radius: 5px; background: #edf1f7; color: #61748e; font-size: 9px; font-style: normal; }
.launch-review-state.deferred { background: #fff0d6; color: #886019; }
.launch-review-state.reviewed { background: #e5f5ed; color: #237257; }
.launch-pagination { padding: 11px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid var(--line); }
.launch-pagination span { font-size: 11px; color: var(--muted); }
.launch-pagination button:disabled { cursor: default; opacity: .4; }
.launch-detail { padding: 23px; border-left: 1px solid var(--line); min-width: 0; }
.launch-detail h3 { margin: 6px 0 18px; color: var(--navy-2); font-size: 21px; font-weight: 580; overflow-wrap: anywhere; }
.launch-detail form { margin-top: 17px; display: grid; gap: 14px; }
.launch-detail textarea { min-height: 80px; resize: vertical; }
.launch-source { margin-top: 14px; padding: 12px; border-radius: 8px; background: #f4f7fb; overflow-wrap: anywhere; }
.launch-source span, .launch-source strong { display: block; }
.launch-source span { font-size: 10px; color: var(--muted); }
.launch-source strong { margin-top: 5px; font-size: 11px; font-weight: 550; }
.launch-help, .launch-footnote { color: var(--muted); font-size: 11px; line-height: 1.6; }
.launch-help { margin: 0; }
.launch-footnote { margin: 13px 0 0; }
.launch-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.launch-actions button { min-height: 38px; font-size: 11px; }
.launch-contact-search { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px; }
.launch-contact-search button { min-height: 39px; }
.launch-contact-results { display: grid; gap: 6px; font-size: 11px; color: var(--muted); }
.launch-detail .launch-contact-option { padding: 10px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
.launch-contact-option strong, .launch-contact-option small { display: block; overflow-wrap: anywhere; }
.launch-contact-option small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.launch-completed { padding: 12px; border-radius: 8px; background: #eaf7f0; color: #247353; font-size: 12px; }
.launch-success .detail-icon { color: #278460; background: #e6f5ed; }
.launch-card :focus-visible { outline: 2px solid #3c7bc2; outline-offset: 3px; }
.listing-audit-summary { margin: 15px 0; padding: 18px; border: 1px solid #d4e3f3; border-radius: 12px; background: #f0f6fd; }
.audit-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.audit-heading h3 { margin: 4px 0 0; color: var(--navy-2); font-size: 18px; font-weight: 580; }
.audit-heading small { color: var(--muted); font-size: 10px; }
.audit-counts { margin-top: 13px; display: flex; flex-wrap: wrap; gap: 8px; }
.audit-counts span { padding: 7px 10px; border: 1px solid #dce6f2; border-radius: 7px; background: white; color: #506987; font-size: 11px; }
.audit-counts b { color: var(--navy-2); font-size: 15px; }
.listing-audit-summary p { margin: 12px 0 0; font-size: 11px; color: #6c7e94; line-height: 1.5; }
.launch-row .audit-reason { color: #2b639d; }
.launch-row .audit-reason.conflict, .launch-row .audit-reason.empty, .launch-row .audit-reason.duplicate { color: #94601f; }
.listing-audit-detail { margin-top: 16px; padding: 15px; border: 1px solid #dce6f0; border-radius: 10px; background: #f8fafc; }
.listing-audit-detail h4 { margin: 5px 0 8px; color: var(--navy-2); font-size: 14px; font-weight: 600; }
.listing-audit-detail ul { margin: 8px 0; padding-left: 17px; font-size: 11px; line-height: 1.7; color: #5d718a; }
.listing-audit-detail p { font-size: 11px; line-height: 1.6; color: var(--muted); }
.audit-evidence { display: grid; gap: 7px; margin-top: 12px; }
.audit-evidence article { padding: 10px; background: white; border: 1px solid var(--line); border-radius: 8px; }
.audit-evidence strong, .audit-evidence span, .audit-evidence small { display: block; margin-bottom: 4px; overflow-wrap: anywhere; }
.audit-evidence strong { font-size: 12px; color: var(--navy-2); font-weight: 550; }
.audit-evidence span, .audit-evidence small { font-size: 10px; color: var(--muted); }
.identity-panel { margin-top: 17px; padding: 16px; border: 1px solid #d6e3f0; border-radius: 11px; background: #f3f7fc; }
.identity-panel h4 { margin: 5px 0 8px; color: var(--navy-2); font-size: 15px; font-weight: 590; }
.identity-panel p { color: #657b94; font-size: 11px; line-height: 1.6; }
.identity-members { display: grid; gap: 8px; margin: 12px 0; }
.identity-member { padding: 12px; background: white; border: 1px solid #dde6ef; border-radius: 9px; }
.identity-member strong, .identity-member small { display: block; overflow-wrap: anywhere; }
.identity-member strong { color: var(--navy-2); font-size: 12px; font-weight: 560; }
.identity-member small { margin: 6px 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.identity-member-choice { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 9px; }
.identity-member-choice label, .launch-detail .proposal-choice { display: flex; align-items: center; gap: 7px; font-size: 11px; }
.identity-member-choice span { color: #32765d; font-size: 10px; }
.launch-detail .identity-member-choice input[type=checkbox], .launch-detail .proposal-choice input { width: 15px; height: 15px; min-height: 0; padding: 0; flex-shrink: 0; }
.identity-panel .proposal-warning { margin: 7px 0 0; padding: 7px; border-radius: 6px; color: #8c5b1a; background: #fff2d9; font-size: 11px; }
.identity-panel > label { margin-top: 12px; }
.identity-panel > .launch-actions { margin-top: 10px; }
.workflow-heading { align-items: center; }
.workflow-search { display: flex; align-items: center; gap: 7px; }
.workflow-search input, .quality-toolbar input { width: 260px; height: 42px; padding: 0 11px; color: var(--ink); border: 1px solid var(--line); border-radius: 8px; outline: none; background: #fff; font-size: 14px; }
.workflow-search input:focus, .quality-toolbar input:focus, .note-compose textarea:focus, .note-compose select:focus { border-color: #6f8eb6; box-shadow: 0 0 0 3px rgba(31,78,140,.08); }
.pipeline { margin: 16px 0 13px; display: grid; grid-template-columns: repeat(8, minmax(80px, 1fr)); gap: 6px; overflow-x: auto; }
.pipeline-step { min-width: 86px; padding: 9px 8px; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #66768c; border: 1px solid var(--line); border-radius: 9px; background: #f9fafc; font-size: 8.5px; text-align: left; }
.pipeline-step strong { color: var(--navy-2); font-size: 12px; }
.pipeline-step.active { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }
.pipeline-step.active strong { color: #fff; }
.workflow-provisional { margin: -3px 0 12px; padding: 10px 12px; display: flex; align-items: center; gap: 12px; border: 1px solid #f0d6a0; border-radius: 10px; background: #fff9ed; color: #77571e; }
.workflow-provisional[hidden] { display: none; }
.workflow-provisional strong { flex: 0 0 auto; font-size: 8px; text-transform: uppercase; letter-spacing: .04em; }
.workflow-provisional span { font-size: 7.5px; line-height: 1.45; }
.workflow-layout { min-height: 520px; display: grid; grid-template-columns: minmax(285px, .72fr) minmax(0, 1.28fr); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.workflow-list { max-height: 680px; padding: 7px; overflow-y: auto; background: #f8fafc; }
.workflow-row { width: 100%; min-height: 72px; padding: 10px; display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 10px; color: inherit; border: 1px solid transparent; border-radius: 9px; background: transparent; text-align: left; }
.workflow-row:hover, .workflow-row.selected { border-color: #dbe5f1; background: #fff; box-shadow: 0 4px 13px rgba(21,47,82,.05); }
.workflow-stage-dot { width: 7px; height: 7px; border-radius: 50%; background: #9da9b8; }
.workflow-stage-dot.captacion, .stage-pill.captacion { background: #edf2ff; color: #4566a7; }
.workflow-stage-dot.disponible, .stage-pill.disponible { background: #e7f7f0; color: #197a5e; }
.workflow-stage-dot.oferta, .stage-pill.oferta { background: #fff0d9; color: #9a6517; }
.workflow-stage-dot.legal, .stage-pill.legal { background: #f2eafe; color: #7043a4; }
.workflow-stage-dot.cerrada, .stage-pill.cerrada { background: #e5f5f0; color: #117356; }
.workflow-stage-dot.baja, .stage-pill.baja { background: #f2f3f5; color: #788596; }
.workflow-stage-dot.prospeccion { background: #7794b8; }
.workflow-row-main strong, .workflow-row-main small, .workflow-row-meta small { display: block; }
.workflow-row-main strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.workflow-row-main small, .workflow-row-meta small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.workflow-row-main i { width: 100%; height: 3px; margin-top: 8px; display: block; overflow: hidden; border-radius: 9px; background: #e5eaf1; }
.workflow-row-main i b { height: 100%; display: block; border-radius: inherit; background: #36a37d; }
.progress-bar.p0 { width: 0; }.progress-bar.p10 { width: 10%; }.progress-bar.p20 { width: 20%; }.progress-bar.p30 { width: 30%; }.progress-bar.p40 { width: 40%; }.progress-bar.p50 { width: 50%; }.progress-bar.p60 { width: 60%; }.progress-bar.p70 { width: 70%; }.progress-bar.p80 { width: 80%; }.progress-bar.p90 { width: 90%; }.progress-bar.p100 { width: 100%; }
.workflow-row-meta { min-width: 92px; text-align: right; }
.stage-pill { display: inline-flex; padding: 4px 7px; border-radius: 999px; color: #4c6380; background: #edf2f8; font-size: 7.5px; font-style: normal; font-weight: 700; white-space: nowrap; }
.workflow-detail { max-height: 680px; padding: 20px; overflow-y: auto; border-left: 1px solid var(--line); }
.workflow-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.workflow-detail-head h2 { margin: 0; font-size: 19px; }
.workflow-detail-head p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.workflow-block { margin-top: 17px; padding-top: 16px; border-top: 1px solid var(--line); }
.workflow-block h3 { margin: 0 0 10px; font-size: 11px; }
.workflow-block-title { display: flex; align-items: center; justify-content: space-between; }
.workflow-block-title small, .muted-copy { color: var(--muted); font-size: 8px; }
.requirements-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.requirement-row { min-height: 48px; padding: 8px; display: grid; grid-template-columns: 23px 1fr; align-items: center; gap: 8px; color: inherit; border: 1px solid var(--line); border-radius: 8px; background: #fff; text-align: left; }
.requirement-row > span { display: grid; width: 21px; height: 21px; place-items: center; color: #fff; border: 1px solid #cad3df; border-radius: 6px; font-size: 10px; }
.requirement-row.complete { border-color: #cfe8dd; background: #f5fbf8; }
.requirement-row.complete > span { border-color: var(--green); background: var(--green); }
.requirement-row strong, .requirement-row small { display: block; }
.requirement-row strong { font-size: 8.5px; }
.requirement-row small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.transition-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.danger-action { background: #8c2531 !important; }
.note-compose { display: grid; grid-template-columns: 125px 1fr auto; align-items: stretch; gap: 7px; }
.note-compose select, .note-compose textarea { padding: 8px 10px; color: var(--ink); border: 1px solid var(--line); border-radius: 8px; outline: none; background: #fff; font-size: 8.5px; }
.note-compose textarea { min-height: 58px; resize: vertical; }
.workflow-notes { margin-top: 9px; display: grid; gap: 6px; }
.workflow-note { padding: 9px 10px; border-left: 3px solid #7b91ad; border-radius: 0 8px 8px 0; background: #f7f9fc; }
.workflow-note > span { float: right; color: #5d7190; font-size: 7px; font-weight: 700; text-transform: uppercase; }
.workflow-note strong, .workflow-note small { display: block; font-size: 7.5px; }
.workflow-note p { margin: 5px 0; font-size: 8.5px; line-height: 1.45; }
.workflow-note small { color: var(--muted); }
.empty.compact { padding: 12px; min-height: 0; }

.quality-summary { margin: 15px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.quality-summary article { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfd; }
.quality-summary span, .quality-summary strong, .quality-summary small { display: block; }
.quality-summary span { color: var(--muted); font-size: 8px; }
.quality-summary strong { margin: 4px 0 2px; color: var(--navy-2); font-size: 17px; }
.quality-summary small { color: #95a0af; font-size: 7px; }
.import-section { margin: 18px 0 20px; padding: 18px; overflow: hidden; border: 1px solid #dce5ef; border-radius: 13px; background: #f8fafc; }
.import-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.import-heading h3 { margin: 0; font-size: 14px; }
.import-heading p { max-width: 620px; margin: 4px 0 0; color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.privacy-badge { flex: 0 0 auto; padding: 6px 9px; color: #176d55; border: 1px solid #bfe5d7; border-radius: 999px; background: #e8f7f1; font-size: 7.5px; font-weight: 700; }
.privacy-badge.live { color: #7b5b20; border-color: #ead59f; background: #fff6dc; }
.import-overview { margin: 14px 0 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.import-overview article { min-width: 0; padding: 11px; border: 1px solid #e0e6ee; border-radius: 9px; background: #fff; }
.import-overview span, .import-overview strong, .import-overview small { display: block; }
.import-overview span { color: var(--muted); font-size: 7.5px; }
.import-overview strong { margin: 4px 0 2px; color: var(--navy-2); font-size: 15px; }
.import-overview small { color: #909cac; font-size: 6.8px; }
.data-health { margin: 12px 0 14px; padding: 13px; border: 1px solid #d9e5f2; border-radius: 11px; background: linear-gradient(135deg, #fff 0%, #f4f8fc 100%); }
.data-health-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.data-health-heading h4 { margin: 2px 0 0; color: var(--navy-2); font-size: 12px; }
.health-status { padding: 5px 8px; border-radius: 999px; background: #e8f2ff; color: var(--blue); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.data-health-grid { margin-top: 11px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.data-health-grid article { padding: 10px; border: 1px solid #e3e9ef; border-radius: 9px; background: #fff; }
.data-health-grid article > div { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.data-health-grid span, .data-health-grid small { color: var(--muted); font-size: 7px; }
.data-health-grid strong { color: var(--navy-2); font-size: 14px; }
.data-health-grid i { height: 5px; margin: 8px 0 5px; display: block; overflow: hidden; border-radius: 999px; background: #e8edf3; }
.data-health-grid i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--blue), #55a1ed); }
.data-health-grid small { display: block; line-height: 1.35; }
.data-health-alerts { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 6px; }
.data-health-alerts span { padding: 6px 8px; border-radius: 7px; background: #fff3dc; color: #7f5b1b; font-size: 7px; }
.data-health-alerts b { font-size: 8px; }
.import-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.import-source { min-width: 0; padding: 9px 10px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid #e1e7ee; border-radius: 9px; background: #fff; }
.source-status { display: grid; width: 23px; height: 23px; place-items: center; color: #fff; border-radius: 50%; background: #2d8a6d; font-size: 9px; font-weight: 800; }
.source-main { min-width: 0; }
.source-main > div { display: flex; min-width: 0; align-items: center; gap: 6px; }
.source-main strong { overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.source-main small, .source-meta small { display: block; margin-top: 3px; color: #8793a3; font-size: 6.7px; }
.source-kind { flex: 0 0 auto; padding: 3px 5px; color: #315e8d; border-radius: 999px; background: #e9f0f8; font-size: 6.4px; font-style: normal; font-weight: 700; }
.source-kind.reconciliation { color: #7a5c24; background: #fff1cf; }
.source-kind.auxiliary { color: #655b75; background: #efeaf6; }
.source-kind.base { color: #176d55; background: #e4f5ef; }
.source-meta { min-width: 100px; text-align: right; }
.source-meta strong { color: #477059; font-size: 7.5px; }
.source-meta strong.has-issues { color: #9a6420; }
.quality-toolbar { margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.quality-selectors { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.quality-selectors label { display: grid; gap: 5px; flex: 1 1 170px; min-width: 0; font-size: 11px; color: var(--muted); }
.quality-selectors select { width: 100%; min-width: 0; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font: inherit; }
.quality-guidance { font-size: 11px; color: var(--muted); line-height: 1.5; }
.quality-row .issue-action { margin: 5px 0; font-size: 11px; color: var(--ink); line-height: 1.5; }
.quality-filter { padding: 6px 10px; color: #66768c; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 9px; }
.quality-filter.active { color: #fff; border-color: var(--navy-2); background: var(--navy-2); }
.quality-list { max-height: 560px; display: grid; gap: 4px; overflow-y: auto; }
.quality-row { min-height: 58px; padding: 9px 10px; display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 9px; }
.quality-row.resolved { opacity: .62; }
.quality-row .severity { width: 7px; height: 7px; border-radius: 50%; background: #e3a23d; }
.quality-row .severity.error { background: var(--red); }
.quality-row .severity.info { background: #5686bd; }
.quality-row strong, .quality-row span, .quality-row small { display: block; }
.quality-row strong { font-size: 9px; }
.quality-row div span { margin-top: 2px; color: #5f6d81; font-size: 8px; }
.quality-row small { margin-top: 3px; color: #99a3b1; font-size: 7px; }
.dedup-section { margin: 20px 0; padding: 18px; border: 1px solid #dfe6ef; border-radius: 13px; background: #f8fafc; }
.dedup-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; }
.dedup-heading h3, .quality-subheading h3 { margin: 0; font-size: 14px; }
.dedup-heading p { margin: 4px 0 0; color: var(--muted); font-size: 8.5px; }
.dedup-controls { display: flex; gap: 7px; }
.dedup-controls select { height: 34px; padding: 0 28px 0 10px; color: #536278; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 9px; }
.dedup-progress { margin: 13px 0 10px; display: grid; grid-template-columns: auto auto auto minmax(120px, 1fr); align-items: center; gap: 12px; }
.dedup-progress span { color: var(--muted); font-size: 8px; }
.dedup-progress span strong { color: var(--navy-2); font-size: 10px; }
.dedup-progress i { height: 5px; overflow: hidden; border-radius: 99px; background: #e3e8ef; }
.dedup-progress i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #2f6ba7, #38a47d); }
.dedup-layout { min-height: 430px; display: grid; grid-template-columns: 285px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.dedup-groups { max-height: 610px; padding: 7px; display: grid; align-content: start; gap: 4px; overflow-y: auto; background: #f5f7fa; }
.dedup-group { width: 100%; min-height: 59px; padding: 8px; display: grid; grid-template-columns: 29px 1fr auto; align-items: center; gap: 8px; color: inherit; border: 1px solid transparent; border-radius: 8px; background: transparent; text-align: left; }
.dedup-group:hover, .dedup-group.selected { border-color: #d7e2ef; background: #fff; box-shadow: 0 4px 12px rgba(20,45,78,.05); }
.dedup-count { display: grid; width: 28px; height: 28px; place-items: center; color: #365f91; border-radius: 50%; background: #e7eff8; font-size: 9px; font-weight: 700; }
.dedup-group strong, .dedup-group small { display: block; }
.dedup-group strong { max-width: 130px; overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.dedup-group small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.dedup-group em, .decision-badge { padding: 4px 6px; border-radius: 999px; color: #78602f; background: #fff2d5; font-size: 7px; font-style: normal; font-weight: 700; white-space: nowrap; }
.dedup-group em.same, .decision-badge.same { color: #176d55; background: #e3f6ef; }
.dedup-group em.different, .decision-badge.different { color: #55657a; background: #e9edf2; }
.dedup-detail { max-height: 610px; padding: 18px; overflow-y: auto; border-left: 1px solid var(--line); }
.dedup-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dedup-detail-head h3 { margin: 0; font-size: 14px; }
.dedup-help { margin: 8px 0 12px; color: var(--muted); font-size: 8.5px; line-height: 1.5; }
.compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.compare-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.compare-card.canonical { border-color: #5e81ad; box-shadow: 0 0 0 2px rgba(45,101,167,.09); }
.compare-card-head { min-height: 49px; padding: 8px 10px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; background: #f7f9fc; }
.compare-card-head input { accent-color: var(--blue); }
.compare-card-head strong, .compare-card-head small { display: block; }
.compare-card-head strong { font-size: 9px; }
.compare-card-head small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.compare-card-head span { padding: 3px 5px; color: #2e5d91; border-radius: 999px; background: #e6eff9; font-size: 6.5px; font-weight: 700; text-transform: uppercase; }
.compare-card dl { margin: 0; padding: 6px 9px 9px; }
.compare-card dl div { min-height: 31px; padding: 5px 3px; display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 6px; border-bottom: 1px solid #edf0f4; }
.compare-card dl div:last-child { border-bottom: 0; }
.compare-card dl div.different { margin: 0 -5px; padding-right: 8px; padding-left: 8px; border-radius: 6px; background: #fff8e9; }
.compare-card dt { color: var(--muted); font-size: 7px; }
.compare-card dd { margin: 0; overflow-wrap: anywhere; color: var(--ink); font-size: 8px; font-weight: 550; }
.dedup-note-label { margin: 13px 0 5px; display: block; color: #536278; font-size: 8px; font-weight: 650; }
#dedup-note { width: 100%; min-height: 56px; padding: 9px 10px; color: var(--ink); border: 1px solid var(--line); border-radius: 8px; outline: none; resize: vertical; font-size: 8.5px; }
#dedup-note:focus { border-color: #6f8eb6; box-shadow: 0 0 0 3px rgba(31,78,140,.08); }
.dedup-actions { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 7px; }
.dedup-success { min-height: 360px; display: grid; place-items: center; align-content: center; text-align: center; }
.dedup-success > span { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; border-radius: 50%; background: var(--green); font-size: 22px; }
.dedup-success h3 { margin: 11px 0 4px; font-size: 16px; }
.dedup-success p { max-width: 390px; margin: 0 0 14px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.quality-subheading { margin: 22px 0 10px; padding-top: 18px; border-top: 1px solid var(--line); }

.gmail-card { margin: 16px 0; padding: 23px; }
.gmail-heading { align-items: center; }
.gmail-readonly-badge { padding: 7px 10px; color: #176d55; border: 1px solid #bfe5d7; border-radius: 999px; background: #e8f7f1; font-size: 7.5px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.gmail-state { margin-top: 15px; }
.gmail-alert { min-height: 62px; padding: 12px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid #d9e4f1; border-radius: 11px; background: #f5f8fc; }
.gmail-alert > span { display: grid; flex: 0 0 auto; width: 31px; height: 31px; place-items: center; color: #fff; border-radius: 50%; background: #4774a8; font-size: 12px; font-weight: 800; }
.gmail-alert.protected { color: #175f4a; border-color: #c9e8dc; background: #f0faf6; }
.gmail-alert.protected > span { background: #258064; }
.gmail-alert.warning { color: #805817; border-color: #ead9ac; background: #fff9e9; }
.gmail-alert.warning > span { background: #c58624; }
.gmail-alert strong, .gmail-alert p { display: block; margin: 0; }
.gmail-alert strong { font-size: 10px; }
.gmail-alert p { margin-top: 3px; color: #65768a; font-size: 8px; line-height: 1.45; }
.gmail-summary { margin: 10px 0 17px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.gmail-summary article { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfd; }
.gmail-summary span, .gmail-summary strong, .gmail-summary small { display: block; }
.gmail-summary span { color: var(--muted); font-size: 7.5px; }
.gmail-summary strong { margin: 4px 0 2px; color: var(--navy-2); font-size: 17px; }
.gmail-summary small { color: #929dad; font-size: 6.8px; }
.gmail-toolbar { margin-bottom: 14px; padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #dfe7f0; border-radius: 11px; background: #f7f9fc; }
.gmail-toolbar h3, .gmail-toolbar p { margin: 0; }
.gmail-toolbar h3 { font-size: 10px; }
.gmail-toolbar p { margin-top: 3px; color: var(--muted); font-size: 7.5px; }
.gmail-search { width: min(470px, 55%); display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.gmail-search input { min-width: 0; height: 34px; padding: 0 10px; color: var(--ink); border: 1px solid var(--line); border-radius: 8px; outline: none; background: #fff; font-size: 9px; }
.gmail-search input:focus { border-color: #6f8eb6; box-shadow: 0 0 0 3px rgba(31,78,140,.08); }
.gmail-layout { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 14px; }
.gmail-layout > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; }
.gmail-subheading { margin-bottom: 9px; }
.gmail-subheading h3 { margin: 0; font-size: 11px; }
.gmail-accounts, .gmail-messages { max-height: 430px; display: grid; align-content: start; gap: 6px; overflow-y: auto; }
.gmail-account { padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.gmail-account-head { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 8px; }
.gmail-account-dot { width: 7px; height: 7px; border-radius: 50%; background: #9ba7b5; }
.gmail-account-dot.protected { background: #2b9a73; box-shadow: 0 0 0 3px #e3f5ee; }
.gmail-account-dot.syncing { background: #3e79b6; box-shadow: 0 0 0 3px #e6eff8; }
.gmail-account-dot.warning, .gmail-account-dot.error { background: #ce8a23; box-shadow: 0 0 0 3px #fff1d7; }
.gmail-account-head strong, .gmail-account-head small { display: block; }
.gmail-account-head strong { font-size: 9px; }
.gmail-account-head small { margin-top: 2px; color: var(--muted); font-size: 6.8px; }
.gmail-account-head b { padding: 4px 6px; color: #4f657e; border-radius: 999px; background: #edf2f7; font-size: 6.7px; }
.gmail-account-stats { margin-top: 9px; display: flex; flex-wrap: wrap; gap: 5px; }
.gmail-account-stats span { padding: 4px 6px; color: #617187; border-radius: 6px; background: #f3f6f9; font-size: 6.8px; }
.gmail-account-error { margin: 8px 0 0; padding: 7px; color: #92531d; border-radius: 7px; background: #fff3df; font-size: 7px; overflow-wrap: anywhere; }
.gmail-message { min-height: 61px; padding: 9px; display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.gmail-message-icon { display: grid; width: 30px; height: 30px; place-items: center; color: #2f639b; border-radius: 8px; background: #e9f1fa; font-size: 8px; font-weight: 800; }
.gmail-message strong, .gmail-message span, .gmail-message small { display: block; }
.gmail-message strong { overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.gmail-message div > span { margin-top: 2px; overflow: hidden; color: #637288; font-size: 7.5px; text-overflow: ellipsis; white-space: nowrap; }
.gmail-message div > small { margin-top: 3px; color: #98a3b1; font-size: 6.6px; }
.gmail-message-meta { max-width: 145px; text-align: right; }
.gmail-message-meta b { display: block; overflow: hidden; color: #8a6a30; font-size: 6.5px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.gmail-message-meta b.linked { color: #237158; }
.gmail-footnote { margin: 12px 0 0; color: #8491a2; font-size: 7.5px; line-height: 1.5; }

@media (max-width: 1180px) {
  .main-grid { grid-template-columns: 1fr; }
  .ranking-card { display: grid; grid-template-columns: 1fr 1.6fr; gap: 0 22px; }
  .ranking-heading, .ranking-intro, .ranking-warning, .ranking-footnote { grid-column: 1 / -1; }
  .podium { grid-column: 1; grid-row: 4; }
  .ranking-list { grid-column: 2; grid-row: 4; align-self: center; }
  .pipeline { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
}
@media (max-width: 930px) {
  .launch-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .launch-layout { grid-template-columns: 1fr; }
  .launch-list { max-height: 310px; }
  .launch-detail { border-left: 0; border-top: 1px solid var(--line); }
  .sidebar { width: 194px; }
  .app-shell { width: calc(100% - 194px); margin-left: 194px; padding: 24px 20px; }
  .metrics { grid-template-columns: 1fr 1fr; }
  .commercial-scope .metrics { grid-template-columns: 1fr 1fr; }
  .workspace { grid-template-columns: 1fr; }
  .detail-panel { border-top: 1px solid var(--line); border-left: 0; }
  .empty-detail { min-height: 180px; }
  .workflow-layout { grid-template-columns: 1fr; }
  .workflow-list { max-height: 360px; }
  .workflow-detail { max-height: none; border-top: 1px solid var(--line); border-left: 0; }
  .quality-summary { grid-template-columns: 1fr 1fr; }
  .import-sources { grid-template-columns: 1fr; }
  .data-health-grid { grid-template-columns: 1fr 1fr; }
  .dedup-layout { grid-template-columns: 1fr; }
  .dedup-groups { max-height: 300px; }
  .dedup-detail { max-height: none; border-top: 1px solid var(--line); border-left: 0; }
  .gmail-layout { grid-template-columns: 1fr; }
  .gmail-summary { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .mobile-menu { position: fixed; top: 17px; left: 16px; z-index: 50; display: grid; width: 38px; height: 38px; place-items: center; color: var(--navy); border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: 0 5px 16px rgba(7,29,61,.12); }
  .sidebar { transform: translateX(-105%); transition: transform .25s ease; }
  .sidebar.open { transform: translateX(0); }
  .sidebar-overlay { position: fixed; inset: 0; z-index: 25; display: block; pointer-events: none; background: rgba(7,20,42,.42); opacity: 0; transition: opacity .25s ease; }
  .sidebar-overlay.open { pointer-events: auto; opacity: 1; }
  .app-shell { width: 100%; margin: 0; padding: 18px 13px 24px; }
  .page-header { padding-left: 48px; }
  .today { display: none; }
  .hero-card {
    height: 410px; padding: 28px 22px 30px; background-position: 62% center;
    background-image: linear-gradient(90deg, rgba(4,20,44,.96) 0%, rgba(4,20,44,.82) 62%, rgba(4,20,44,.3) 100%), url("/assets/hero-pisuerga-v11.png");
  }
  .hero-copy { max-width: 440px; }
  .hero-logo { width: 200px; height: 62px; }
  .hero-brand-row { margin-bottom: 18px; }
  .search-box { width: 100%; }
  .property-grid { grid-template-columns: 1fr; }
  .property-card { display: grid; grid-template-columns: 42% 1fr; }
  .property-card img { height: 100%; min-height: 120px; }
  .ranking-card { display: block; }
  .login-shell { grid-template-columns: 1fr; gap: 26px; padding: 30px 22px; background-position: 60% center; }
  .login-visual { min-height: 0; gap: 28px; }
  .login-brand img { width: 174px; }
  .login-message { margin: 0; padding: 5px 0 0; }
  .login-message h1 { margin-top: 14px; font-size: 43px; }
  .login-message > span { font-size: 9px; }
  .login-message p, .login-visual > small { display: none; }
  .login-form-panel { max-width: 440px; justify-self: center; padding: 28px 25px 22px; }
  .login-form h2 { font-size: 28px; }
  .users-layout { grid-template-columns: 1fr; }
  .users-list { max-height: 270px; }
  .queue-row { grid-template-columns: 1fr auto; }
  .queue-row > :nth-child(2), .queue-row > :nth-child(3) { display: none; }
  .workflow-card, .quality-card { padding: 16px; }
  .workflow-heading, .quality-toolbar { align-items: stretch; flex-direction: column; }
  .workflow-search { width: 100%; }
  .workflow-search input, .quality-toolbar input { width: 100%; }
  .requirements-list { grid-template-columns: 1fr; }
  .note-compose { grid-template-columns: 1fr; }
  .dedup-heading { align-items: stretch; flex-direction: column; }
  .dedup-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .dedup-progress { grid-template-columns: 1fr 1fr 1fr; }
  .dedup-progress i { grid-column: 1 / -1; }
}
.security-card { padding: 26px; }
.demo-banner { padding: 12px 16px; border: 1px solid #c8d9ec; border-radius: 12px; background: #edf5fc; color: #254a70; font-size: 12px; line-height: 1.6; margin-bottom: 20px; }
.session-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.session-confirm { margin: 18px 0; padding: 18px; border: 1px solid #efd5b2; border-radius: 12px; background: #fffaf2; }
.session-confirm p { font-size: 13px; margin-top: 0; }
.session-confirm button { margin-right: 10px; }
.user-row-actions { flex-wrap: wrap; }
.security-controls { display: flex; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.security-controls label { display: grid; gap: 8px; font-size: 12px; color: var(--muted, #6e7889); }
.security-controls select { padding: 10px 14px; border: 1px solid #dce3ed; border-radius: 10px; background: white; color: #162b48; font: inherit; min-height: 42px; }
.security-summary { display: flex; flex-wrap: wrap; gap: 14px 28px; padding: 18px 0; border-block: 1px solid #edf0f5; }
.security-summary span { font-size: 12px; color: #69778a; }
.security-summary strong { font-size: 20px; font-weight: 500; color: #142c4c; margin-right: 6px; }
.security-event { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 18px 0; border-bottom: 1px solid #edf0f5; }
.security-event-mark { border-radius: 10px; text-align: center; background: #edf4f9; color: #245071; padding: 6px; }
.security-event.warning .security-event-mark { color: #9e5816; background: #fff2df; }
.security-event h3 { font-size: 13px; font-weight: 500; margin: 2px 0 7px; }
.security-event p, .security-event small { font-size: 11px; color: #69778a; margin: 0; overflow-wrap: anywhere; }
.security-event small { display: block; margin-top: 8px; }
.security-event-origin { display: grid; gap: 7px; text-align: right; font-size: 11px; color: #69778a; overflow-wrap: anywhere; }
#security-more { margin-top: 20px; }
@media (max-width: 650px) {
  .security-card { padding: 16px; }
  .security-event { grid-template-columns: 24px minmax(0, 1fr); gap: 10px; }
  .security-event-origin { grid-column: 2; text-align: left; }
  .security-controls, .security-controls label { width: 100%; }
}
@media (max-width: 480px) {
  .launch-card { padding: 14px; }
  .launch-toolbar, .launch-list-heading { align-items: stretch; flex-direction: column; }
  .launch-detail { padding: 17px; }
  .launch-contact-search { grid-template-columns: 1fr; }
  .page-header { margin-bottom: 16px; }
  .header-actions .icon-button { display: none; }
  .hero-card { height: 420px; }
  .hero-brand-row span, .hero-brand-row::after { display: none; }
  .hero-copy h2 { font-size: 32px; }
  .hero-copy p { font-size: 11px; }
  .search-box { grid-template-columns: 20px 1fr; }
  .search-box button { display: none; }
  .metrics { gap: 8px; }
  .metrics article { min-height: 82px; padding: 12px; gap: 9px; }
  .metric-icon { width: 32px; height: 32px; }
  .metrics strong { font-size: 18px; }
  .metrics small { display: none; }
  .search-card, .ranking-card, .showcase { padding: 16px; }
  .filters { overflow-x: auto; }
  .filter { white-space: nowrap; }
  .result { grid-template-columns: 32px 1fr; }
  .result-meta { display: none; }
  .data-grid { grid-template-columns: 1fr; }
  .review-actions { grid-template-columns: 1fr; }
  .pipeline { grid-template-columns: repeat(8, 104px); }
  .quality-summary { grid-template-columns: 1fr; }
  .import-section { padding: 13px; }
  .import-heading { display: grid; }
  .privacy-badge { justify-self: start; }
  .import-overview { grid-template-columns: 1fr 1fr; }
  .data-health-grid { grid-template-columns: 1fr; }
  .import-source { grid-template-columns: 23px minmax(0, 1fr); }
  .source-meta { grid-column: 2; text-align: left; }
  .workflow-row { grid-template-columns: 7px 1fr; }
  .workflow-row-meta { grid-column: 2; text-align: left; }
  .compare-grid { grid-template-columns: 1fr; }
  .gmail-card { padding: 16px; }
  .gmail-heading, .gmail-toolbar { align-items: stretch; flex-direction: column; }
  .gmail-readonly-badge { align-self: flex-start; }
  .gmail-search { width: 100%; }
  .dedup-controls { grid-template-columns: 1fr; }
  .dedup-section { padding: 12px; }
  .gmail-summary { grid-template-columns: 1fr; }
  .gmail-message { grid-template-columns: 30px minmax(0, 1fr); }
  .gmail-message-meta { grid-column: 2; max-width: none; text-align: left; }
}

/* Working catalogue: readable at 100% zoom, with no decorative empty hero. */
body:is([data-page='buscar'],[data-page='inmuebles'],[data-page='contactos'],[data-page='operaciones']) .hero-card {
  height:auto;min-height:0;display:block;padding:16px;background:#fff;color:var(--ink);box-shadow:none;border:1px solid var(--line);
}
body:is([data-page='buscar'],[data-page='inmuebles'],[data-page='contactos'],[data-page='operaciones']) .hero-card::after {display:none;}
body:is([data-page='buscar'],[data-page='inmuebles'],[data-page='contactos'],[data-page='operaciones']) .search-box {height:56px;box-shadow:none;}
.nav-children .nav-item {font-size:14px;min-height:42px;}
.section-label {font-size:11px;}
.search-card {padding:24px;}
.search-card h2 {font-size:23px;}
.search-box input {font-size:16px;}
.search-box button,.filter {font-size:14px;}
.filter {padding:9px 14px;}
.result-count {font-size:14px;color:#415773;}
.catalogue-toolbar {display:flex;align-items:end;gap:18px;flex-wrap:wrap;margin:18px 0;}
.catalogue-toolbar label {display:grid;gap:7px;font-size:13px;color:#415773;}
.catalogue-toolbar select {min-height:44px;padding:9px 12px;border:1px solid #cbd5e1;border-radius:9px;background:white;color:var(--ink);font-size:15px;}
#catalogue-help {max-width:390px;color:#64748b;font-size:13px;line-height:1.5;}
.workspace {grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:480px;}
.results {max-height:72vh;min-height:420px;padding:10px;}
.result {padding:14px 10px;gap:12px;grid-template-columns:38px minmax(0,1fr) auto;min-height:94px;}
.result-title {max-width:none;font-size:16px;line-height:1.35;white-space:normal;font-weight:550;}
.result-subtitle {max-width:none;font-size:13px;color:#50647b;white-space:normal;line-height:1.5;margin-top:5px;}
.result-date {display:block;margin-top:5px;font-size:12px;color:#64748b;}
.result-meta {max-width:130px;font-size:12px;}
.alias-pill {font-size:11px;}
.detail-panel {padding:25px;max-height:72vh;overflow-y:auto;}
.detail-panel h2 {font-size:25px;line-height:1.3;}
.detail-type {font-size:14px;margin:8px 0 20px;}
.data-grid {gap:12px;}
.data-field {padding:12px;}
.data-field span {font-size:11px;color:#53667d;}
.data-field strong {font-size:15px;line-height:1.5;font-weight:500;margin-top:6px;}
.related h3,.review-workflow h3 {font-size:17px;}
.timeline strong,.timeline span {font-size:14px;line-height:1.5;}
.timeline article {padding:12px;}
.resolution-banner strong,.review-workflow strong {font-size:14px;}
.resolution-banner p,.review-workflow p {font-size:13px;line-height:1.5;}
.empty,.empty-detail {font-size:15px;line-height:1.6;}
.empty-detail h3 {font-size:21px;}
.empty-detail p {max-width:300px;}
.catalogue-pages {display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font-size:14px;}
.catalogue-pages button {padding:11px 17px;border:1px solid #cbd5e1;border-radius:9px;background:white;color:var(--navy);}
.catalogue-pages button:disabled {opacity:.4;cursor:default;}
@media(max-width:1100px){.workspace{grid-template-columns:1fr;}.detail-panel{border-left:0;border-top:1px solid var(--line);max-height:none;}.results{max-height:450px;}}
@media(max-width:650px){.search-card{padding:16px;}.catalogue-toolbar{align-items:stretch;gap:12px;}.catalogue-toolbar label{flex:1;}.result{grid-template-columns:32px minmax(0,1fr);}.result-meta-stack{grid-column:2;justify-items:start;}.data-grid{grid-template-columns:1fr;}.detail-panel{padding:18px;}.catalogue-pages button{padding:10px;}}

/* v34: readable daily workflow controls on desktop and phone. */
.pipeline-step {font-size:13px;min-height:44px;}
.workflow-row-main strong {font-size:15px;}
.workflow-row-main small,.workflow-row-meta small,.workflow-detail-head p {font-size:13px;line-height:1.5;}
.workflow-provisional strong,.workflow-provisional span {font-size:13px;line-height:1.5;}
.workflow-block h3 {font-size:17px;}
.workflow-block-title small,.requirement-row small {font-size:12px;line-height:1.45;}
.requirement-row {min-height:70px;}
.requirement-row strong,.note-compose select,.note-compose textarea {font-size:14px;line-height:1.5;}
.workflow-note p {font-size:14px;line-height:1.6;}
.workflow-note strong,.workflow-note small,.workflow-note>span {font-size:12px;}
.workflow-detail .detail-grid span {font-size:12px;}
.workflow-detail .detail-grid strong {font-size:15px;}
.transition-actions button,.note-compose button {min-height:44px;font-size:14px;}
@media(max-width:700px){.requirements-list{grid-template-columns:1fr;}.note-compose{grid-template-columns:1fr;}.pipeline{grid-template-columns:repeat(8,minmax(120px,1fr));}}

/* v35: one full-width operational record rather than a miniature detail pane. */
.stage-pill{font-size:13px;padding:7px 11px;font-weight:500;}
.workflow-row-main strong{white-space:normal;line-height:1.5;}
.workflow-row-main small,.workflow-row-meta small{font-size:14px;}
.workflow-focus .workflow-list{display:none;}
.workflow-focus .workflow-layout{grid-template-columns:1fr;}
.workflow-focus .workflow-detail{max-height:none;padding:30px;border-left:0;}
.workflow-focus .workflow-detail-head h2{font-size:28px;}
.workflow-focus .workflow-block h3{font-size:20px;}
.workflow-focus .timeline strong,.workflow-focus .timeline p{font-size:15px;line-height:1.6;}
.workflow-focus .timeline small,.workflow-focus .section-label,.workflow-focus .muted-copy{font-size:13px;}
.workflow-focus .requirements-list{gap:12px;}
.workflow-focus .requirement-row{padding:15px;}

.workflow-focus .pipeline,.workflow-focus .workflow-search,.workflow-focus .workflow-provisional{display:none!important}
