:root {
  --ig-charcoal: #3a3a39;
  --ig-red: #c1304a;
  --ig-gold: #e3b023;
  --ig-blue: #1d699b;
  --ig-pink: #e5114a;
  --ig-bg: #f4f6f8;
  --ig-card: #ffffff;
  --ig-text: #25292e;
  --ig-muted: #6f7782;
  --ig-border: #e4e8ed;
  --ig-success: #2b8a67;
  --ig-success-bg: #e8f5ef;
  --ig-warning-bg: #fff7df;
  --ig-danger-bg: #fcecef;
  --ig-radius-lg: 18px;
  --ig-radius-md: 13px;
  --ig-shadow: 0 10px 30px rgba(29, 39, 48, .06);
  --ig-sidebar: 252px;
  --ig-font: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { background: var(--ig-bg) !important; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.iwales-gestion-app {
  margin: 0 !important;
  background: var(--ig-bg) !important;
  color: var(--ig-text) !important;
  font-family: var(--ig-font) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  min-height: 100vh;
  overflow-x: hidden;
}
body.iwales-gestion-app * { box-sizing: border-box; }
body.iwales-gestion-app a { text-decoration: none !important; }
body.iwales-gestion-app button,
body.iwales-gestion-app input { font: inherit; }
body.iwales-gestion-app button { cursor: pointer; }
body.iwales-gestion-app svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.iwales-gestion-app svg path[fill] { fill: currentColor; stroke: none; }

.ig-app { min-height: 100vh; display: flex; background: var(--ig-bg); }
.ig-icon { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 22px; }
.ig-icon svg { width: 100%; height: 100%; }

.ig-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--ig-sidebar);
  background: linear-gradient(180deg, #353534 0%, #2f302f 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  z-index: 1000;
  box-shadow: 8px 0 24px rgba(0,0,0,.08);
}
.ig-sidebar::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--ig-blue) 0 25%, var(--ig-red) 25% 50%, var(--ig-gold) 50% 75%, var(--ig-pink) 75% 100%);
}
.ig-brand { padding: 22px 16px 18px; }
.ig-brand-link { display: flex; align-items: center; gap: 14px; color: #fff !important; }
.ig-brand-icon-wrap { width: 56px; height: 56px; flex: 0 0 56px; overflow: hidden; border-radius: 16px; background: #ffffff; box-shadow: 0 8px 20px rgba(0,0,0,.18); display: flex; align-items: center; justify-content: center; padding: 6px; }
.ig-brand-icon { width: 100%; height: 100%; object-fit: contain; object-position: center; display:block; }
.ig-brand-lockup { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.ig-wordmark-wrap { width: 164px; height: 66px; border-radius: 14px; background: #fff; padding: 8px 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.ig-logo { width: 100%; height: 100%; object-fit: contain; object-position: center; display:block; }
.ig-brand-text { display: flex; align-items: baseline; gap: 7px; line-height: 1; padding-left: 2px; min-height: 12px; }
.ig-brand-text strong { font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }
.ig-brand-text small { color: rgba(255,255,255,.52); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }

.ig-nav { display: flex; flex: 1; flex-direction: column; padding: 2px 12px 16px; min-height: 0; }
.ig-nav-group { margin-top: 16px; }
.ig-nav-group.ig-nav-bottom { margin-top: auto; }
.ig-nav-label { display: block; margin: 0 12px 7px; color: rgba(255,255,255,.35); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.ig-nav-link { position: relative; display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 13px; margin: 4px 0; border-radius: 11px; color: rgba(255,255,255,.72) !important; font-weight: 600; transition: .18s ease; }
.ig-nav-link:hover { color: #fff !important; background: rgba(255,255,255,.07); transform: translateX(1px); }
.ig-nav-link.is-active { color: #fff !important; background: rgba(29,105,155,.34); box-shadow: inset 3px 0 0 #53a9df; }
.ig-nav-link.is-active .ig-icon { color: #68b7e8; }

.ig-sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); margin: 0 14px; padding: 16px 4px 17px; display: flex; align-items: center; gap: 10px; }
.ig-user-mini { min-width: 0; flex: 1; display: flex; align-items: center; gap: 10px; }
.ig-avatar { width: 37px; height: 37px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.11); color: #fff; font-weight: 800; }
.ig-user-mini-copy { min-width: 0; display: flex; flex-direction: column; }
.ig-user-mini-copy strong { color: #fff; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-user-mini-copy small { color: rgba(255,255,255,.4); font-size: 10px; margin-top: 2px; }
.ig-logout { width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.55) !important; }
.ig-logout:hover { color: #fff !important; background: rgba(255,255,255,.07); }

.ig-main { width: calc(100% - var(--ig-sidebar)); margin-left: var(--ig-sidebar); min-height: 100vh; }
.ig-topbar { height: 72px; padding: 0 34px; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--ig-border); display: flex; align-items: center; position: sticky; top: 0; z-index: 500; }
.ig-breadcrumb { display: flex; align-items: center; gap: 9px; color: var(--ig-muted); font-size: 13px; }
.ig-topbar-mark { width: 30px; height: 30px; border-radius: 10px; background: transparent; object-fit: contain; object-position: center; display:block; }
.ig-breadcrumb strong { color: var(--ig-text); }
.ig-breadcrumb-sep { color: #bec4ca; }
.ig-security-pill { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; color: #52606a; background: #f7f9fa; border: 1px solid var(--ig-border); padding: 7px 11px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.ig-security-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ig-success); box-shadow: 0 0 0 4px rgba(43,138,103,.1); }
.ig-mobile-menu { display: none; border: 0; background: transparent; color: var(--ig-text); padding: 7px; margin-right: 8px; border-radius: 8px; }

.ig-content { max-width: 1540px; margin: 0 auto; padding: 34px clamp(22px, 3vw, 46px) 52px; }
.ig-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.ig-page-heading h1 { margin: 0 !important; color: var(--ig-text) !important; font-family: var(--ig-font) !important; font-size: clamp(27px, 3vw, 36px) !important; line-height: 1.14 !important; font-weight: 750 !important; letter-spacing: -.035em; }
.ig-page-heading p { margin: 7px 0 0 !important; color: var(--ig-muted) !important; font-size: 14px !important; }
.ig-heading-actions { display: flex; gap: 10px; flex-wrap: wrap; }

.ig-btn { min-height: 42px; border-radius: 10px; padding: 9px 15px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; font-weight: 700; font-size: 13px; transition: .17s ease; }
.ig-btn:hover { transform: translateY(-1px); }
.ig-btn-primary { background: var(--ig-blue); color: #fff; box-shadow: 0 8px 18px rgba(29,105,155,.19); }
.ig-btn-primary:hover { background: #175b86; }
.ig-btn-secondary { background: #fff; color: var(--ig-blue); border-color: #cbdde9; }
.ig-btn-secondary:hover { background: #f5fafd; border-color: #9fc4db; }

.ig-welcome-card { position: relative; overflow: hidden; min-height: 184px; padding: 30px 34px; background: linear-gradient(126deg, #183f58 0%, #1d699b 72%, #2478ad 100%); color: #fff; border-radius: var(--ig-radius-lg); box-shadow: 0 14px 36px rgba(29,105,155,.18); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ig-welcome-card::after { content: ""; position: absolute; width: 320px; height: 320px; right: -130px; top: -150px; border-radius: 50%; border: 50px solid rgba(255,255,255,.06); }
.ig-welcome-card > div:first-child { position: relative; z-index: 2; max-width: 760px; }
.ig-eyebrow { color: #bcdff4; font-size: 10px; letter-spacing: .14em; font-weight: 800; }
.ig-welcome-card h2 { color: #fff !important; font-family: var(--ig-font) !important; margin: 9px 0 8px !important; font-size: clamp(22px, 2.3vw, 30px) !important; line-height: 1.2 !important; font-weight: 750 !important; letter-spacing: -.025em; }
.ig-welcome-card p { margin: 0 !important; color: rgba(255,255,255,.79) !important; font-size: 14px !important; max-width: 680px; }
.ig-welcome-brand { width: 234px; min-height: 132px; position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding-right: 0; }
.ig-welcome-icon { width: 86px; height: 86px; padding: 8px; border-radius: 20px; background: rgba(255,255,255,.95); object-fit: contain; object-position: center; display:block; box-shadow: 0 12px 26px rgba(0,0,0,.18); }
.ig-welcome-logo { width: 188px; max-height: 76px; object-fit: contain; object-position: center; display:block; filter: none; opacity: 1; padding: 8px 10px; background: rgba(255,255,255,.98); border: 1px solid rgba(255,255,255,.35); border-radius: 14px; box-shadow: 0 12px 28px rgba(0,0,0,.14); }

.ig-stat-grid { margin-top: 21px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 15px; }
.ig-stat-card { background: var(--ig-card); border: 1px solid var(--ig-border); border-radius: 15px; padding: 18px; display: flex; gap: 14px; align-items: center; min-height: 112px; box-shadow: var(--ig-shadow); }
.ig-stat-icon { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.ig-stat-icon svg { width: 23px; height: 23px; }
.ig-stat-icon.is-blue { color: var(--ig-blue); background: #eaf4fa; }
.ig-stat-icon.is-gold { color: #a77b08; background: #fff5d7; }
.ig-stat-icon.is-red { color: var(--ig-red); background: #faedf0; }
.ig-stat-icon.is-pink { color: var(--ig-pink); background: #fdecef; }
.ig-stat-copy { min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 12px; }
.ig-stat-copy > span { color: var(--ig-muted); font-size: 12px; font-weight: 650; }
.ig-stat-copy strong { color: var(--ig-text); font-size: 26px; line-height: 1; }
.ig-stat-copy small { grid-column: 1 / -1; color: #a1a8b0; margin-top: 8px; font-size: 10px; }

.ig-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.7fr); gap: 18px; margin-top: 20px; }
.ig-panel { background: var(--ig-card); border: 1px solid var(--ig-border); border-radius: var(--ig-radius-lg); box-shadow: var(--ig-shadow); padding: 22px; }
.ig-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 19px; }
.ig-panel-head h2 { margin: 0 !important; color: var(--ig-text) !important; font-family: var(--ig-font) !important; font-size: 16px !important; line-height: 1.3 !important; font-weight: 750 !important; letter-spacing: -.015em; }
.ig-panel-head p { margin: 5px 0 0 !important; color: var(--ig-muted) !important; font-size: 11px !important; }
.ig-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.ig-quick-action { width: 100%; min-height: 78px; padding: 12px 13px; border: 1px solid var(--ig-border); background: #fff; border-radius: 12px; display: grid; grid-template-columns: 42px 1fr 18px; gap: 11px; align-items: center; text-align: left; color: var(--ig-text); transition: .16s ease; }
.ig-quick-action:hover { border-color: #c9d7e1; box-shadow: 0 8px 20px rgba(29,39,48,.055); transform: translateY(-1px); }
.ig-quick-action > svg { width: 17px; height: 17px; color: #b5bcc3; }
.ig-quick-action > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.ig-quick-action strong { font-size: 12px; }
.ig-quick-action small { margin-top: 2px; color: var(--ig-muted); font-size: 10px; }
.ig-quick-icon { width: 42px; height: 42px; border-radius: 11px; display: flex; align-items: center; justify-content: center; }
.ig-quick-icon svg { width: 21px; height: 21px; }
.ig-quick-icon.is-blue { color: var(--ig-blue); background: #edf6fb; }
.ig-quick-icon.is-gold { color: #98710d; background: #fff6dc; }
.ig-quick-icon.is-red { color: var(--ig-red); background: #fbeff1; }
.ig-quick-icon.is-pink { color: var(--ig-pink); background: #fdeff2; }

.ig-security-panel { padding-bottom: 16px; }
.ig-security-feature { display: grid; grid-template-columns: 36px 1fr; gap: 11px; padding: 12px 0; border-top: 1px solid #eff1f3; }
.ig-security-feature:first-of-type { border-top: 0; padding-top: 2px; }
.ig-feature-icon { width: 36px; height: 36px; border-radius: 10px; color: var(--ig-success); background: var(--ig-success-bg); display: flex; align-items: center; justify-content: center; }
.ig-feature-icon svg { width: 19px; height: 19px; }
.ig-security-feature strong { display: block; font-size: 11px; margin-bottom: 3px; }
.ig-security-feature p { margin: 0 !important; color: var(--ig-muted) !important; font-size: 10px !important; line-height: 1.55 !important; }

.ig-module-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 15px; flex-wrap: wrap; }
.ig-search { height: 46px; flex: 1 1 360px; max-width: 580px; position: relative; display: flex; align-items: center; }
.ig-search > .ig-icon { position: absolute; left: 14px; color: #939ba3; width: 18px; height: 18px; }
.ig-search input { width: 100%; height: 46px; padding: 0 78px 0 43px; border: 1px solid var(--ig-border); border-radius: 11px; background: #fff; color: var(--ig-text); outline: none; box-shadow: 0 5px 15px rgba(29,39,48,.025); }
.ig-search input::placeholder { color: #9ea5ac; }
.ig-coming { position: absolute; right: 10px; padding: 3px 6px; border-radius: 6px; background: #f0f2f4; color: #8d949b; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ig-filter-row { display: flex; flex-wrap: wrap; gap: 6px; }
.ig-filter-row button { min-height: 34px; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--ig-border); background: #fff; color: #7a828a; font-size: 10px; font-weight: 700; }
.ig-filter-row button.is-active { color: var(--ig-blue); background: #edf6fb; border-color: #d2e6f2; }

.ig-module-cards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin: 0 0 17px; }
.ig-module-cards article { background: #fff; border: 1px solid var(--ig-border); border-radius: 13px; padding: 16px 17px; min-height: 104px; box-shadow: 0 6px 18px rgba(29,39,48,.035); }
.ig-module-cards span { display: block; color: var(--ig-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ig-module-cards strong { display: block; margin-top: 6px; color: var(--ig-text); font-size: 25px; line-height: 1; }
.ig-module-cards small { display: block; margin-top: 9px; color: #a0a7ae; font-size: 9px; }
.ig-table-panel { min-height: 330px; }
.ig-empty-state { min-height: 230px; display: flex; align-items: center; justify-content: center; flex-direction: column; text-align: center; padding: 28px; border: 1px dashed #d8dde2; border-radius: 13px; background: #fafbfc; }
.ig-empty-state.compact { min-height: 190px; }
.ig-empty-icon { width: 48px; height: 48px; border-radius: 13px; display: flex; align-items: center; justify-content: center; color: var(--ig-blue); background: #edf6fb; }
.ig-empty-icon svg { width: 24px; height: 24px; }
.ig-empty-state h3 { margin: 12px 0 5px !important; color: var(--ig-text) !important; font-family: var(--ig-font) !important; font-size: 14px !important; line-height: 1.3 !important; font-weight: 750 !important; }
.ig-empty-state p { margin: 0 !important; max-width: 570px; color: var(--ig-muted) !important; font-size: 11px !important; line-height: 1.65 !important; }

.ig-doc-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; margin-bottom: 18px; }
.ig-doc-card { background: #fff; border: 1px solid var(--ig-border); border-radius: 15px; padding: 20px; box-shadow: var(--ig-shadow); display: grid; grid-template-columns: 52px 1fr auto; gap: 16px; align-items: center; }
.ig-doc-icon { width: 52px; height: 52px; border-radius: 13px; display: flex; align-items: center; justify-content: center; }
.ig-doc-icon svg { width: 25px; height: 25px; }
.ig-doc-icon.is-blue { color: var(--ig-blue); background: #edf6fb; }
.ig-doc-icon.is-red { color: var(--ig-red); background: #faeef0; }
.ig-doc-card span { color: #9ba2a9; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.ig-doc-card h2 { margin: 3px 0 5px !important; color: var(--ig-text) !important; font-family: var(--ig-font) !important; font-size: 15px !important; line-height: 1.3 !important; font-weight: 750 !important; }
.ig-doc-card p { margin: 0 !important; color: var(--ig-muted) !important; font-size: 10px !important; }

.ig-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.ig-status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; font-size: 9px; font-weight: 800; }
.ig-status-badge.is-ok { background: var(--ig-success-bg); color: var(--ig-success); }
.ig-settings-list > div { min-height: 45px; border-top: 1px solid #edf0f2; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.ig-settings-list > div:first-child { border-top: 0; }
.ig-settings-list span { color: var(--ig-muted); font-size: 11px; }
.ig-settings-list strong { color: var(--ig-text); font-size: 11px; text-align: right; }
.ig-settings-list strong.is-muted { color: #a1a8af; font-weight: 600; }
.ig-permission-list { display: grid; gap: 8px; }
.ig-permission-list span { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 9px; background: #f8fafb; color: #56606a; font-size: 11px; font-weight: 600; }
.ig-permission-list i { width: 8px; height: 8px; border-radius: 50%; background: var(--ig-success); box-shadow: 0 0 0 4px rgba(43,138,103,.09); }

.ig-toast { position: fixed; right: 26px; bottom: 26px; width: min(360px, calc(100vw - 32px)); padding: 14px 16px; background: #242827; color: #fff; border-radius: 12px; box-shadow: 0 14px 40px rgba(0,0,0,.2); z-index: 2000; transform: translateY(130%); opacity: 0; pointer-events: none; transition: .25s cubic-bezier(.2,.7,.2,1); display: flex; flex-direction: column; gap: 3px; border-left: 4px solid var(--ig-blue); }
.ig-toast.is-visible { transform: translateY(0); opacity: 1; }
.ig-toast strong { font-size: 11px; }
.ig-toast span { color: rgba(255,255,255,.67); font-size: 10px; }
.ig-mobile-overlay { display: none; }

@media (max-width: 1180px) {
  .ig-stat-grid, .ig-module-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ig-dashboard-grid { grid-template-columns: 1fr; }
  .ig-security-panel { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap: 16px; }
  .ig-security-panel .ig-panel-head { grid-column: 1 / -1; }
  .ig-security-feature { border-top: 0; padding-top: 4px; }
}

@media (max-width: 900px) {
  :root { --ig-sidebar: 274px; }
  .ig-sidebar { transform: translateX(-105%); transition: transform .22s ease; }
  .ig-sidebar.is-open { transform: translateX(0); }
  .ig-main { width: 100%; margin-left: 0; }
  .ig-mobile-menu { display: inline-flex; }
  .ig-mobile-overlay { display: block; position: fixed; inset: 0; background: rgba(18,22,25,.46); opacity: 0; pointer-events: none; z-index: 900; transition: opacity .2s ease; }
  .ig-mobile-overlay.is-open { opacity: 1; pointer-events: auto; }
  .ig-doc-grid, .ig-settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .ig-topbar { height: 62px; padding: 0 15px; }
  .ig-security-pill { font-size: 0; padding: 8px; }
  .ig-security-pill .ig-security-dot { margin: 0; }
  .ig-content { padding: 24px 14px 38px; }
  .ig-page-heading { align-items: flex-start; margin-bottom: 20px; }
  .ig-page-heading h1 { font-size: 28px !important; }
  .ig-page-heading p { font-size: 12px !important; }
  .ig-heading-actions .ig-btn { padding-inline: 12px; }
  .ig-welcome-card { min-height: 210px; padding: 25px 23px; align-items: flex-start; }
  .ig-welcome-brand { position: absolute; right: 8px; bottom: 14px; width: 138px; min-height: 82px; opacity: .52; }
  .ig-welcome-icon { width: 58px; height: 58px; border-radius: 15px; }
  .ig-welcome-logo { width: 118px; }
  .ig-welcome-card > div:first-child { max-width: calc(100% - 30px); }
  .ig-stat-grid, .ig-module-cards { grid-template-columns: 1fr 1fr; gap: 9px; }
  .ig-stat-card { min-height: 102px; padding: 13px; align-items: flex-start; }
  .ig-stat-icon { width: 38px; height: 38px; flex-basis: 38px; }
  .ig-stat-icon svg { width: 19px; height: 19px; }
  .ig-stat-copy { grid-template-columns: 1fr; }
  .ig-stat-copy strong { grid-row: 2; font-size: 23px; margin-top: 5px; }
  .ig-stat-copy small { display: none; }
  .ig-quick-grid { grid-template-columns: 1fr; }
  .ig-security-panel { display: block; }
  .ig-security-feature { border-top: 1px solid #eff1f3; padding-top: 12px; }
  .ig-module-toolbar { align-items: stretch; }
  .ig-search { max-width: none; flex-basis: 100%; }
  .ig-filter-row { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 3px; }
  .ig-filter-row button { flex: 0 0 auto; }
  .ig-module-cards article { min-height: 92px; padding: 13px; }
  .ig-module-cards small { display: none; }
  .ig-doc-card { grid-template-columns: 46px 1fr; }
  .ig-doc-card .ig-btn { grid-column: 1 / -1; }
  .ig-doc-icon { width: 46px; height: 46px; }
  .ig-panel { padding: 17px; border-radius: 14px; }
  .ig-panel-head { gap: 10px; }
  .ig-panel-head .ig-btn { font-size: 10px; padding-inline: 10px; }
  .ig-empty-state { min-height: 230px; padding: 20px 15px; }
  .ig-toast { right: 16px; bottom: 16px; }
}

@media (max-width: 420px) {
  .ig-stat-grid, .ig-module-cards { grid-template-columns: 1fr; }
  .ig-stat-card { align-items: center; min-height: 85px; }
  .ig-stat-copy { grid-template-columns: 1fr auto; }
  .ig-stat-copy strong { grid-row: auto; margin-top: 0; }
  .ig-stat-copy small { display: block; }
  .ig-page-heading { flex-direction: column; }
  .ig-heading-actions { width: 100%; }
  .ig-heading-actions .ig-btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ig-sidebar, .ig-toast, .ig-nav-link, .ig-btn, .ig-quick-action { transition: none !important; }
}

body.iwales-gestion-app button:focus-visible,
body.iwales-gestion-app a:focus-visible,
body.iwales-gestion-app input:focus-visible {
  outline: 3px solid rgba(29,105,155,.28) !important;
  outline-offset: 2px !important;
}


/* v0.2.2 · Pulido visual */
:root {
  --ig-bg: #f2f5f7;
  --ig-card: #ffffff;
  --ig-border: #e1e7eb;
  --ig-shadow: 0 12px 34px rgba(31, 45, 56, .055);
  --ig-radius-lg: 20px;
  --ig-sidebar: 260px;
}

body.iwales-gestion-app {
  background:
    radial-gradient(circle at 78% 0%, rgba(29,105,155,.045), transparent 30rem),
    var(--ig-bg) !important;
}

.ig-sidebar {
  background: linear-gradient(180deg, #343534 0%, #2d2f2f 100%);
  box-shadow: 10px 0 34px rgba(15, 20, 24, .075);
}
.ig-sidebar::before { height: 3px; opacity: .95; }
.ig-brand { padding: 26px 17px 22px; }
.ig-brand-link { gap: 11px; }
.ig-brand-icon-wrap {
  width: 48px; height: 48px; flex-basis: 48px;
  border-radius: 14px; padding: 6px;
  background: #101213;
  box-shadow: 0 9px 24px rgba(0,0,0,.2);
}
.ig-brand-lockup { gap: 7px; }
.ig-wordmark-wrap {
  width: 143px; height: 42px;
  border-radius: 11px;
  padding: 7px 11px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(0,0,0,.115);
}
.ig-logo, .ig-brand-icon, .ig-topbar-mark, .ig-welcome-icon, .ig-welcome-logo { display:block; }
.ig-brand-text { padding-left: 3px; gap: 6px; align-items: center; }
.ig-brand-text strong { font-size: 11px; letter-spacing: .055em; }
.ig-brand-text small {
  font-size: 8px; letter-spacing: .095em; color: rgba(255,255,255,.48);
  border-left: 1px solid rgba(255,255,255,.18); padding-left: 7px;
}
.ig-nav { padding-inline: 11px; }
.ig-nav-label { margin-left: 13px; color: rgba(255,255,255,.32); font-size: 9px; letter-spacing: .145em; }
.ig-nav-link { min-height: 47px; border-radius: 12px; padding: 10px 14px; }
.ig-nav-link.is-active {
  background: linear-gradient(90deg, rgba(29,105,155,.42), rgba(29,105,155,.28));
  box-shadow: inset 3px 0 0 #60b4e6, 0 5px 16px rgba(0,0,0,.07);
}

.ig-topbar {
  height: 68px; padding: 0 34px;
  background: rgba(255,255,255,.89);
  border-bottom-color: rgba(219,226,231,.9);
  box-shadow: 0 4px 16px rgba(29,39,48,.025);
}
.ig-breadcrumb { gap: 10px; font-size: 12px; }
.ig-topbar-mark {
  width: 30px; height: 30px; border-radius: 9px;
  padding: 3px; object-fit: contain; background: #101213;
  box-shadow: 0 4px 11px rgba(0,0,0,.13);
}
.ig-security-pill { background: #fff; border-color: #dfe7eb; padding: 7px 12px; }

.ig-content { max-width: 1480px; padding-top: 30px; }
.ig-page-heading { margin-bottom: 25px; }
.ig-page-kicker {
  display:block; margin-bottom: 7px; color: var(--ig-blue);
  font-size: 9px; font-weight: 800; letter-spacing: .15em;
}
.ig-page-heading h1 { font-size: clamp(29px, 3vw, 38px) !important; letter-spacing: -.04em; }
.ig-page-heading p { margin-top: 6px !important; color: #7a828b !important; font-size: 13px !important; }

.ig-welcome-card {
  min-height: 196px; padding: 30px 34px;
  background:
    radial-gradient(circle at 84% 15%, rgba(255,255,255,.12), transparent 17rem),
    linear-gradient(122deg, #173e58 0%, #1d699b 63%, #287fae 100%);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 21px;
  box-shadow: 0 18px 38px rgba(29,105,155,.16);
}
.ig-welcome-card::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background: linear-gradient(180deg, var(--ig-red), var(--ig-gold));
  opacity:.9;
}
.ig-welcome-card::after { right: -115px; top: -135px; border-width: 46px; opacity:.8; }
.ig-eyebrow { color: #c5e4f5; font-size: 9px; }
.ig-welcome-card h2 { margin-top: 11px !important; font-size: clamp(24px, 2.45vw, 32px) !important; }
.ig-welcome-card p { max-width: 700px; color: rgba(255,255,255,.78) !important; }
.ig-welcome-brand { width: 236px; min-height: 122px; align-items: center; padding-right: 0; }
.ig-welcome-brand-card {
  width: 210px; min-height: 118px; padding: 14px 15px 12px;
  display:grid; grid-template-columns: 54px 1fr; grid-template-rows: auto auto;
  align-items:center; gap: 8px 12px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 18px;
  box-shadow: 0 15px 34px rgba(8,31,45,.18);
}
.ig-welcome-icon {
  grid-row: 1 / span 2; width: 54px; height: 54px;
  padding: 4px; border-radius: 15px; object-fit: contain; background:#101213;
  box-shadow: 0 7px 16px rgba(0,0,0,.14);
}
.ig-welcome-logo-shell { display:flex; align-items:center; justify-content:center; min-width:0; }
.ig-welcome-logo {
  width: 118px; height: 39px; max-height:none; padding:0; border:0; border-radius:0;
  object-fit: contain; object-position:center; background:transparent; box-shadow:none;
  filter:none; opacity:1;
}
.ig-welcome-brand-card small {
  color:#7e878e; font-size:9px; line-height:1.2; font-weight:700; letter-spacing:.02em;
}

.ig-stat-grid { margin-top: 18px; gap: 14px; }
.ig-stat-card {
  position:relative; overflow:hidden; min-height: 112px; padding: 18px 18px 17px;
  border-radius: 16px; box-shadow: 0 8px 24px rgba(31,45,56,.045);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.ig-stat-card::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:#dfe6ea; }
.ig-stat-card:nth-child(1)::before { background: var(--ig-blue); }
.ig-stat-card:nth-child(2)::before { background: var(--ig-gold); }
.ig-stat-card:nth-child(3)::before { background: var(--ig-red); }
.ig-stat-card:nth-child(4)::before { background: var(--ig-pink); }
.ig-stat-card:hover { transform:translateY(-2px); border-color:#d6dfe4; box-shadow:0 12px 28px rgba(31,45,56,.07); }
.ig-stat-icon { width: 44px; height: 44px; flex-basis: 44px; border-radius: 13px; }
.ig-stat-copy > span { font-size: 11px; font-weight:700; }
.ig-stat-copy strong { font-size: 28px; }
.ig-stat-copy small { margin-top: 7px; color:#a0a8ae; }

.ig-dashboard-grid { gap: 16px; margin-top: 18px; grid-template-columns: minmax(0,1.55fr) minmax(315px,.72fr); }
.ig-panel { border-radius: 18px; padding: 21px; box-shadow: 0 8px 26px rgba(31,45,56,.045); }
.ig-panel-head { margin-bottom: 17px; }
.ig-panel-head h2 { font-size: 15px !important; }
.ig-panel-head p { color:#8a9298 !important; }
.ig-quick-grid { gap: 9px; }
.ig-quick-action {
  min-height: 78px; border-radius: 13px; padding: 12px 13px;
  background: linear-gradient(180deg, #fff, #fcfdfd);
}
.ig-quick-action:hover { border-color:#cbd9e1; box-shadow:0 9px 22px rgba(31,45,56,.055); }
.ig-quick-action strong { font-size: 11px; }
.ig-quick-action small { color:#8d959c; }
.ig-quick-icon { border-radius: 12px; }

.ig-security-panel {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
}
.ig-security-feature { padding-block: 11px; }
.ig-feature-icon { width: 35px; height: 35px; border-radius: 11px; }
.ig-security-feature strong { font-size: 10px; }
.ig-security-feature p { color:#808991 !important; }

.ig-sidebar-footer { padding-top: 14px; }
.ig-avatar { border-radius: 11px; }

@media (max-width: 680px) {
  .ig-welcome-brand { right: 8px; bottom: 8px; width: 130px; min-height: 74px; opacity: .38; }
  .ig-welcome-brand-card { width: 124px; min-height: 70px; padding: 8px; grid-template-columns: 37px 1fr; gap: 5px 7px; border-radius: 13px; }
  .ig-welcome-icon { width:37px; height:37px; border-radius:10px; }
  .ig-welcome-logo { width:70px; height:24px; }
  .ig-welcome-brand-card small { font-size:6px; }
}


/* v0.2.3 · Corrección del wordmark: conservar la I completa y dar margen óptico */
.ig-wordmark-wrap {
  overflow: visible;
  padding: 6px 8px;
}
.ig-wordmark-wrap .ig-logo {
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  transform: scale(.94);
  transform-origin: center;
}
.ig-welcome-logo-shell {
  overflow: visible;
  padding: 0 5px;
}
.ig-welcome-logo {
  object-fit: contain;
  object-position: center;
  transform: scale(.94);
  transform-origin: center;
}


/* v0.2.6 · identidad: usar assets originales del usuario y fondo blanco en el icono */
.ig-brand-icon-wrap {
  background: #ffffff !important;
  padding: 5px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.12) !important;
}
.ig-brand-icon {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.ig-wordmark-wrap {
  width: 170px !important;
  height: 72px !important;
  padding: 8px 10px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}
.ig-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
.ig-topbar-mark {
  width: 32px !important;
  height: 32px !important;
  padding: 4px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 10px rgba(0,0,0,.08) !important;
  object-fit: contain !important;
  object-position: center !important;
}
.ig-welcome-brand-card {
  width: 222px !important;
  min-height: 124px !important;
  grid-template-columns: 58px 1fr !important;
}
.ig-welcome-icon {
  width: 58px !important;
  height: 58px !important;
  padding: 5px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 7px 16px rgba(0,0,0,.10) !important;
  object-fit: contain !important;
  object-position: center !important;
}
.ig-welcome-logo-shell {
  width: 132px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.ig-welcome-logo {
  width: 132px !important;
  height: 54px !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
@media (max-width: 680px) {
  .ig-wordmark-wrap { width: 146px !important; height: 60px !important; }
  .ig-welcome-brand-card { width: 134px !important; min-height: 78px !important; grid-template-columns: 40px 1fr !important; }
  .ig-welcome-icon { width: 40px !important; height: 40px !important; }
  .ig-welcome-logo-shell, .ig-welcome-logo { width: 78px !important; height: 30px !important; }
}


/* v0.2.7 · integración del bloque de marca del panel azul */
.ig-welcome-brand {
  width: 250px !important;
  min-height: 126px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ig-welcome-product-lockup {
  width: 232px;
  min-height: 98px;
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 6px;
}
.ig-welcome-icon-shell {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
  box-shadow: 0 12px 28px rgba(7,35,54,.20);
  border: 1px solid rgba(255,255,255,.65);
}
.ig-welcome-product-lockup .ig-welcome-icon {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
}
.ig-welcome-product-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.ig-welcome-product-copy strong {
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.025em;
  white-space: nowrap;
}
.ig-welcome-product-copy > span {
  color: rgba(255,255,255,.76);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  margin-top: 6px;
}
.ig-welcome-product-copy small {
  color: rgba(255,255,255,.58);
  font-size: 9px;
  font-weight: 600;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.18);
  width: 100%;
}
.ig-welcome-product-copy small::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 3px;
  margin-right: 7px;
  vertical-align: middle;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ig-red) 0 50%, var(--ig-gold) 50%);
}
@media (max-width: 680px) {
  .ig-welcome-brand { right: 8px !important; bottom: 8px !important; width: 154px !important; min-height: 78px !important; opacity: .48 !important; }
  .ig-welcome-product-lockup { width: 148px; min-height: 66px; grid-template-columns: 44px 1fr; gap: 8px; padding: 6px 2px; }
  .ig-welcome-icon-shell { width: 44px; height: 44px; padding: 5px; border-radius: 12px; }
  .ig-welcome-product-copy strong { font-size: 12px; }
  .ig-welcome-product-copy > span { font-size: 7px; margin-top: 3px; }
  .ig-welcome-product-copy small { display: none; }
}


/* v0.3.0 · módulo Pruebas + usuarios y permisos */
.ig-stat-grid { grid-template-columns: repeat(auto-fit, minmax(190px,1fr)); }
.ig-stat-icon.is-test, .ig-quick-icon.is-test { color:#7a2a68; background:#f6eaf3; }
.ig-status-badge.is-preview { background:#eef3f7; color:#65727d; border:1px solid #dce5ea; }
.ig-test-toolbar-actions { display:flex; gap:8px; flex-wrap:wrap; }
.ig-test-form { background:#fff; border:1px solid var(--ig-border); border-radius:20px; box-shadow:var(--ig-shadow); overflow:hidden; margin-top:18px; }
.ig-test-form-head { padding:24px 26px 20px; display:flex; justify-content:space-between; gap:24px; align-items:flex-start; border-bottom:1px solid #edf0f2; }
.ig-test-form-head h2 { margin:3px 0 6px !important; font-size:22px !important; color:var(--ig-text)!important; }
.ig-test-form-head p { margin:0!important; max-width:760px; color:var(--ig-muted)!important; font-size:12px!important; }
.ig-form-state { flex:0 0 auto; display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:#fff8e5; color:#806210; font-size:10px; font-weight:700; border:1px solid #f3e2a8; }
.ig-form-state span { width:7px; height:7px; background:var(--ig-gold); border-radius:50%; }
.ig-form-state.is-write-enabled { background:var(--ig-success-bg); color:#1f6f53; border-color:#bfe4d5; }
.ig-form-state.is-write-enabled span { background:var(--ig-success); }
.ig-test-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:#f8fafb; border-bottom:1px solid #edf0f2; }
.ig-test-steps span { padding:12px 16px; font-size:10px; font-weight:750; color:#8b949c; border-right:1px solid #edf0f2; }
.ig-test-steps span.is-active { color:var(--ig-blue); background:#edf6fb; }
.ig-form-section { padding:25px 26px; border-bottom:1px solid #edf0f2; }
.ig-form-section-title { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.ig-form-section-title > span { width:32px; height:32px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#edf6fb; color:var(--ig-blue); font-size:10px; font-weight:800; flex:0 0 32px; }
.ig-form-section-title h3 { margin:0!important; color:var(--ig-text)!important; font-size:15px!important; }
.ig-form-section-title p { margin:3px 0 0!important; color:var(--ig-muted)!important; font-size:10px!important; }
.ig-field-grid { display:grid; gap:13px; }
.ig-field-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ig-field-grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ig-field-grid label, .ig-full-field, .ig-inline-select { display:flex; flex-direction:column; gap:6px; min-width:0; }
.ig-field-grid label > span, .ig-full-field > span, .ig-inline-select { color:#56616a; font-size:10px; font-weight:700; }
.ig-field-grid input, .ig-field-grid select, .ig-full-field textarea, .ig-inline-select select, .ig-user-create input { width:100%; min-height:42px; border:1px solid #dfe5e9; border-radius:10px; background:#fff; color:var(--ig-text); padding:9px 11px; outline:none; font:inherit; }
.ig-field-grid input:focus, .ig-field-grid select:focus, .ig-full-field textarea:focus, .ig-user-create input:focus { border-color:#8ab8d4; box-shadow:0 0 0 3px rgba(29,105,155,.08); }
.ig-full-field { margin-top:15px; }
.ig-full-field textarea { resize:vertical; min-height:95px; }
.ig-conditional-block { margin-top:15px; padding:16px; border-radius:13px; border:1px solid #dceaf2; background:#f7fbfd; }
.ig-conditional-block.compact { padding:13px; }
.ig-conditional-block[hidden], .ig-alert-block[hidden] { display:none !important; }
.ig-conditional-head { display:flex; align-items:center; gap:8px; margin-bottom:13px; }
.ig-conditional-head strong { font-size:11px; }
.ig-conditional-head small { color:#82909a; font-size:9px; }
.ig-condition-dot { width:7px; height:7px; border-radius:50%; background:var(--ig-blue); }
.ig-test-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ig-test-panel { border:1px solid #e1e7eb; border-radius:15px; padding:17px; background:#fcfdfd; }
.ig-test-panel-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px; }
.ig-test-panel-head > div { display:flex; align-items:center; gap:9px; }
.ig-test-panel-head h4 { margin:0!important; font-size:14px!important; }
.ig-test-dot { width:10px; height:10px; border-radius:50%; }
.ig-test-dot.hiv { background:var(--ig-red); }
.ig-test-dot.syph { background:var(--ig-gold); }
.ig-inline-select { flex-direction:row; align-items:center; gap:7px; }
.ig-inline-select select { min-height:34px; padding:5px 8px; width:auto; }
.ig-alert-block { margin-top:13px; padding:14px; border-radius:12px; border:1px solid #f0c8cf; background:#fff6f7; }
.ig-alert-block > strong { display:block; color:#a02a3e; font-size:10px; margin-bottom:11px; }
.ig-form-footer { padding:18px 24px; display:flex; justify-content:space-between; align-items:center; gap:20px; background:#f8fafb; }
.ig-form-footer.compact { margin-top:18px; padding:14px 0 0; background:transparent; border-top:1px solid #edf0f2; }
.ig-form-footer > div { display:flex; flex-direction:column; gap:2px; }
.ig-form-footer strong { font-size:10px; }
.ig-form-footer span { color:var(--ig-muted); font-size:9px; }
.ig-inline-notice { margin-bottom:15px; padding:11px 13px; border-radius:11px; font-size:11px; font-weight:650; }
.ig-inline-notice.is-ok { background:#eaf6f0; color:#2c765a; border:1px solid #cde9db; }
.ig-inline-notice.is-error { background:#fff0f2; color:#a33345; border:1px solid #f2ccd3; }
.ig-users-panel { margin-top:17px; }
.ig-user-create { display:block; }
.ig-permission-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:16px; }
.ig-permission-groups.compact { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:12px; }
.ig-permission-group { min-width:0; border:1px solid #e2e8ec; border-radius:12px; padding:11px; background:#fbfcfd; }
.ig-permission-group legend { padding:0 5px; color:#4b5660; font-size:10px; font-weight:800; }
.ig-check { display:flex; align-items:flex-start; gap:8px; padding:6px 4px; color:#65717a; font-size:9px; line-height:1.35; }
.ig-check input { margin-top:1px; accent-color:var(--ig-blue); }
.ig-user-list { display:grid; gap:12px; }
.ig-user-card { border:1px solid #e2e7eb; border-radius:14px; padding:15px; background:#fcfdfd; }
.ig-user-card-head { display:flex; align-items:center; gap:10px; }
.ig-user-card-head > div { display:flex; flex-direction:column; min-width:0; }
.ig-user-card-head strong { font-size:11px; }
.ig-user-card-head small { color:var(--ig-muted); font-size:9px; }
.ig-avatar.light { background:#edf3f6; color:#52616b; }
.ig-you-badge { margin-left:auto; padding:4px 7px; border-radius:999px; background:#edf6fb; color:var(--ig-blue); font-size:8px; font-weight:800; }
.ig-user-card-footer { margin-top:12px; padding-top:11px; border-top:1px solid #e9edef; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ig-user-card-footer small { color:#89939a; font-size:9px; }

@media (max-width: 1100px) {
  .ig-permission-groups, .ig-permission-groups.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ig-test-panels { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .ig-field-grid.cols-2, .ig-field-grid.cols-3 { grid-template-columns:1fr; }
  .ig-test-form-head, .ig-form-footer { flex-direction:column; align-items:stretch; }
  .ig-test-steps { grid-template-columns:repeat(2,1fr); }
  .ig-permission-groups, .ig-permission-groups.compact { grid-template-columns:1fr; }
  .ig-form-section, .ig-test-form-head { padding-left:17px; padding-right:17px; }
}

/* v0.3.1 · Formulario de pruebas completo */
.ig-test-reviewbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 18px;padding:14px 16px;border:1px solid #d9e6ee;border-radius:14px;
  background:linear-gradient(180deg,#f8fcfe,#f2f8fb)
}
.ig-test-reviewbar>div{display:flex;flex-direction:column;gap:2px}
.ig-test-reviewbar strong{font-size:12px;color:var(--ig-text)}
.ig-test-reviewbar span{font-size:10px;color:var(--ig-muted)}
.ig-review-switch{display:inline-flex!important;align-items:center;gap:8px;white-space:nowrap;font-size:11px;font-weight:700;color:var(--ig-blue)}
.ig-review-switch input{width:18px;height:18px;accent-color:var(--ig-blue)}
.ig-full-test-section[hidden], .ig-field[hidden], fieldset[hidden]{display:none!important}
.ig-test-form.is-review-all [data-ig-condition][hidden]{display:block!important}
.ig-test-form.is-review-all label[data-ig-condition][hidden]{display:flex!important}
.ig-test-form.is-review-all fieldset[data-ig-condition][hidden]{display:block!important}
.ig-test-form.is-review-all [data-ig-condition]{opacity:1!important}
.ig-complete-field-grid{align-items:start}
.ig-field{min-width:0}
.ig-field>span,.ig-check-field>legend{
  display:block;margin-bottom:6px;color:#414950;font-size:11px;font-weight:700;line-height:1.35
}
.ig-field small,.ig-check-field small{
  display:block;margin-top:5px;color:#8a9299;font-size:9px;line-height:1.45
}
.ig-required{color:var(--ig-red);font-style:normal;margin-left:3px}
.ig-field input,.ig-field select,.ig-field textarea{
  width:100%;min-height:42px;border:1px solid #dce3e8;border-radius:10px;background:#fff;
  padding:9px 11px;color:#30363b;outline:none
}
.ig-field textarea{resize:vertical;min-height:94px}
.ig-field input:focus,.ig-field select:focus,.ig-field textarea:focus{
  border-color:#9fc9df;box-shadow:0 0 0 3px rgba(29,105,155,.09)
}
.ig-field-span-2,.ig-check-field{grid-column:1/-1}
.ig-check-field{
  margin:0;padding:12px 13px 13px;border:1px solid #e0e6ea;border-radius:12px;background:#fbfcfd
}
.ig-check-field legend{padding:0 5px;margin-left:-5px}
.ig-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ig-check-option{
  display:flex!important;align-items:flex-start;gap:7px;padding:8px 9px;border:1px solid #e4e8eb;
  border-radius:9px;background:#fff;color:#59626a;font-size:10px;line-height:1.35
}
.ig-check-option input{width:15px!important;height:15px!important;min-height:0!important;flex:0 0 15px;margin-top:1px;accent-color:var(--ig-blue)}
.ig-check-option span{margin:0!important;font-size:10px!important;font-weight:600!important;color:#59626a!important}
.ig-full-test-section.is-alert-section{
  border-color:#efcbd1;background:linear-gradient(180deg,#fff,#fff9fa)
}
.ig-full-test-section.is-alert-section .ig-form-section-title>span{background:#fbecef;color:var(--ig-red)}
.ig-full-test-section.is-result-section{
  border-color:#cfe3ee;background:linear-gradient(180deg,#fff,#fafdff)
}
.ig-full-test-section.is-result-section .ig-form-section-title>span{background:#e9f5fb;color:var(--ig-blue)}
.ig-form-section-title p{margin-top:3px!important}
@media(max-width:900px){.ig-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .ig-test-reviewbar{align-items:flex-start;flex-direction:column}
  .ig-check-grid{grid-template-columns:1fr}
  .ig-complete-field-grid{grid-template-columns:1fr!important}
  .ig-field-span-2,.ig-check-field{grid-column:auto}
}


/* v0.3.2 · Catálogo de proyectos con campo Otro condicional */


/* v0.5.0 · módulo Pruebas con puente privado preparado; escritura desactivada por defecto */
.ig-dev-safety { margin: 0 0 14px; padding: 12px 14px; display:flex; gap:10px; align-items:center; border:1px solid #ead99b; border-radius:12px; background:#fff8df; color:#6e5a16; font-size:11px; }
.ig-dev-safety strong { flex:0 0 auto; font-size:10px; text-transform:uppercase; letter-spacing:.055em; }
.ig-dev-safety span { color:#78662b; }
@media (max-width:680px){ .ig-dev-safety{align-items:flex-start;flex-direction:column;gap:4px;} }

/* v0.6.0 · navegador, filtros, ficha individual y edición preparada para Pruebas */
.ig-tests-module-toolbar{margin-bottom:14px}
.ig-tests-browser[hidden],.ig-test-form-wrap[hidden],.ig-test-drawer[hidden]{display:none!important}
.ig-tests-loading[hidden],.ig-tests-empty[hidden],.ig-tests-table-wrap[hidden],.ig-tests-pagination[hidden]{display:none!important}
.ig-tests-filterbar{position:relative;display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(520px,2fr) auto;gap:12px;align-items:end;margin-bottom:14px;padding:15px;border:1px solid var(--ig-border);border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(29,39,48,.035)}
.ig-tests-search{max-width:none;align-self:end}
.ig-tests-search input{padding-right:14px}
.ig-tests-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ig-tests-filter-grid label{display:flex;flex-direction:column;gap:5px;min-width:0}
.ig-tests-filter-grid label>span{color:#6f7880;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.045em}
.ig-tests-filter-grid input,.ig-tests-filter-grid select{width:100%;min-height:40px;border:1px solid #dfe5e9;border-radius:9px;background:#fff;color:var(--ig-text);padding:7px 9px;font:inherit;font-size:10px;outline:none}
.ig-tests-filter-grid input:focus,.ig-tests-filter-grid select:focus{border-color:#8ab8d4;box-shadow:0 0 0 3px rgba(29,105,155,.08)}
.ig-filter-clear{height:40px;border:0;background:transparent;color:#77818a;font-size:10px;font-weight:700;padding:0 4px;text-decoration:underline;text-decoration-color:#ccd3d8;text-underline-offset:3px}
.ig-tests-list-state{padding:5px 8px;border-radius:999px;background:#f2f5f7;color:#78828a;font-size:9px;font-weight:750;white-space:nowrap}
.ig-tests-table-panel{padding-bottom:16px;min-height:370px}
.ig-tests-loading{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#68737c;text-align:center}
.ig-tests-loading>span{width:28px;height:28px;border-radius:50%;border:3px solid #dfe8ed;border-top-color:var(--ig-blue);animation:igspin .8s linear infinite}
.ig-tests-loading strong{font-size:11px}.ig-tests-loading small{font-size:9px;color:#98a0a7}
@keyframes igspin{to{transform:rotate(360deg)}}
.ig-tests-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #d8dde2;border-radius:13px;background:#fafbfc;padding:28px}
.ig-tests-empty h3{margin:12px 0 5px!important;font-size:14px!important}.ig-tests-empty p{margin:0!important;max-width:520px;color:var(--ig-muted)!important;font-size:10px!important}
.ig-tests-table-wrap{width:100%;overflow:auto;border:1px solid #e7ebee;border-radius:12px}
.ig-data-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;min-width:980px}
.ig-data-table th{position:sticky;top:0;z-index:1;padding:10px 12px;background:#f7f9fa;border-bottom:1px solid #e5eaed;color:#737d85;text-align:left;font-size:8.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;white-space:nowrap}
.ig-data-table td{padding:12px;border-bottom:1px solid #edf0f2;color:#4d565e;font-size:10px;vertical-align:middle}
.ig-data-table tbody tr:last-child td{border-bottom:0}.ig-data-table tbody tr:hover td{background:#fbfdfe}
.ig-data-table td strong{font-size:10px;color:#31383e}.ig-data-table td small{display:block;margin-top:2px;color:#9aa2a8;font-size:8px}
.ig-record-id{font-weight:750;color:#35414a}
.ig-result-pill{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.ig-result-pill.is-negative{background:#eaf6f0;color:#2c765a;border-color:#d3eadf}
.ig-result-pill.is-reactive{background:#fff0f2;color:#a42f43;border-color:#f0cbd2}
.ig-result-pill.is-pending{background:#fff7df;color:#826611;border-color:#eedfa9}
.ig-result-pill.is-muted{background:#f2f4f5;color:#8c949a;border-color:#e4e8ea}
.ig-result-pill.is-neutral{background:#eef5fa;color:#4b718a;border-color:#dbe9f1}
.ig-row-action{text-align:right}.ig-row-action button{min-height:30px;padding:5px 10px;border-radius:8px;border:1px solid #d7e3ea;background:#f7fbfd;color:var(--ig-blue);font-size:9px;font-weight:800}
.ig-row-action button:hover{background:#edf6fb}
.ig-tests-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.ig-tests-pagination button{min-height:32px;padding:5px 10px;border:1px solid #dfe5e9;border-radius:8px;background:#fff;color:#65717a;font-size:9px;font-weight:750}.ig-tests-pagination button:disabled{opacity:.38;cursor:default}.ig-tests-pagination span{font-size:9px;color:#7d868e;font-weight:750}
.ig-test-form-return{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.ig-test-form-return>span{color:#7e8890;font-size:10px;font-weight:750}
.ig-test-drawer{position:fixed;inset:0;z-index:2500;display:flex;justify-content:flex-end}
.ig-test-drawer-overlay{position:absolute;inset:0;background:rgba(25,31,35,.42);backdrop-filter:blur(2px)}
.ig-test-drawer-panel{position:relative;width:min(760px,94vw);height:100%;background:#f6f8f9;box-shadow:-16px 0 48px rgba(0,0,0,.18);display:flex;flex-direction:column;animation:igslide .22s ease-out}
@keyframes igslide{from{transform:translateX(30px);opacity:.65}to{transform:translateX(0);opacity:1}}
.ig-test-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 15px;background:#fff;border-bottom:1px solid #e6eaed}.ig-test-drawer-head h2{margin:3px 0 4px!important;font-size:20px!important}.ig-test-drawer-head p{margin:0!important;color:var(--ig-muted)!important;font-size:10px!important}
.ig-drawer-close{width:34px;height:34px;border:1px solid #e0e5e8;border-radius:10px;background:#fff;color:#68727a;font-size:21px;line-height:1}
.ig-test-drawer-actions{display:flex;gap:8px;padding:12px 24px;background:#fff;border-bottom:1px solid #e6eaed}
.ig-test-detail-body{padding:18px 20px 30px;overflow:auto;display:grid;gap:12px}
.ig-detail-section{background:#fff;border:1px solid #e3e8eb;border-radius:14px;padding:16px;box-shadow:0 5px 16px rgba(29,39,48,.03)}.ig-detail-section h3{margin:0 0 12px!important;padding-bottom:9px;border-bottom:1px solid #edf0f2;color:#30383e!important;font-size:12px!important}
.ig-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.ig-detail-grid>div{min-width:0;padding:8px 9px;border-radius:9px;background:#f8fafb}.ig-detail-grid span{display:block;color:#899299;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.035em;line-height:1.35}.ig-detail-grid strong{display:block;margin-top:4px;color:#424b52;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
body.ig-drawer-open{overflow:hidden}
@media(max-width:1320px){.ig-tests-filterbar{grid-template-columns:1fr}.ig-tests-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-filter-clear{justify-self:start}}
@media(max-width:800px){.ig-tests-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-detail-grid{grid-template-columns:1fr}.ig-test-drawer-panel{width:100vw}.ig-test-drawer-head,.ig-test-drawer-actions{padding-left:16px;padding-right:16px}.ig-test-detail-body{padding-left:12px;padding-right:12px}}
@media(max-width:520px){.ig-tests-filter-grid{grid-template-columns:1fr}.ig-test-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-test-drawer-actions{flex-direction:column}.ig-test-drawer-actions .ig-btn{width:100%}}


/* v0.7 · Pruebas: navegación, estadísticas y exportaciones */
.ig-tests-subnav{display:flex;gap:5px;flex-wrap:wrap}.ig-tests-subnav button{min-height:36px;padding:8px 14px;border:1px solid #dfe5e9;border-radius:10px;background:#fff;color:#6f7b84;font:700 10px/1.2 Open Sans,Arial,sans-serif;cursor:pointer}.ig-tests-subnav button:hover{background:#f5f9fb}.ig-tests-subnav button.is-active{border-color:#1d699b;background:#eaf4fa;color:#15547d;box-shadow:inset 0 0 0 1px rgba(29,105,155,.08)}
[data-ig-tests-view][hidden]{display:none!important}
.ig-stats-filterbar,.ig-export-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:14px;padding:18px 20px;border:1px solid #e1e7ea;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(31,43,51,.035)}.ig-stats-filterbar h2,.ig-export-head h2{margin:3px 0 4px!important;font-size:18px!important}.ig-stats-filterbar p,.ig-export-head p{margin:0!important;color:var(--ig-muted)!important;font-size:10px!important}
.ig-stats-filter-grid,.ig-export-filter-grid{display:grid;gap:8px;align-items:end}.ig-stats-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr)) auto auto auto}.ig-export-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.ig-stats-filter-grid label,.ig-export-filter-grid label{display:grid;gap:5px}.ig-stats-filter-grid label>span,.ig-export-filter-grid label>span{font-size:8px;font-weight:800;color:#65727b;text-transform:uppercase;letter-spacing:.04em}.ig-stats-filter-grid input,.ig-stats-filter-grid select,.ig-export-filter-grid input,.ig-export-filter-grid select{width:100%;min-height:38px;border:1px solid #dce3e7;border-radius:9px;background:#fff;padding:7px 10px;color:#4a555d;font:600 10px Open Sans,Arial,sans-serif}
.ig-stats-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 14px}.ig-stats-kpis article{padding:14px 15px;border:1px solid #e1e6e9;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(31,43,51,.03)}.ig-stats-kpis span{display:block;color:#7d878e;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ig-stats-kpis strong{display:block;margin:5px 0 2px;color:#2c353b;font-size:24px;line-height:1}.ig-stats-kpis small{display:block;color:#99a1a6;font-size:8px}
.ig-stats-tests-panel{margin-bottom:14px}.ig-stats-table-wrap{overflow:auto}.ig-stats-table td:first-child{font-weight:800;color:#34414a}.ig-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.ig-stats-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.ig-stat-bars{display:grid;gap:9px}.ig-stat-bar{display:grid;grid-template-columns:minmax(90px,1.4fr) minmax(90px,2fr) 34px;align-items:center;gap:9px}.ig-stat-bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#55616a;font-size:9px;font-weight:650}.ig-stat-bar-track{height:8px;border-radius:999px;background:#edf1f3;overflow:hidden}.ig-stat-bar-fill{height:100%;min-width:2px;border-radius:inherit;background:#1d699b}.ig-stat-bar strong{text-align:right;color:#4f5b63;font-size:9px}.ig-stat-empty{padding:12px;border:1px dashed #dfe5e8;border-radius:10px;color:#8d969c;font-size:9px;text-align:center}
.ig-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ig-export-card{display:flex;flex-direction:column;align-items:flex-start;min-height:205px;padding:20px;border:1px solid #e1e6e9;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(31,43,51,.035)}.ig-export-card h3{margin:11px 0 7px!important;color:#303a40!important;font-size:16px!important}.ig-export-card p{flex:1;margin:0 0 16px!important;color:#77828a!important;font-size:10px!important;line-height:1.6}.ig-export-tag{display:inline-flex;align-items:center;min-height:22px;padding:4px 8px;border-radius:999px;background:#eef2f4;color:#68737b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.ig-export-tag.is-red{background:#fae9ed;color:#a52b42}.ig-export-tag.is-blue{background:#e8f3f9;color:#1d699b}.ig-export-tag.is-yellow{background:#fff5d9;color:#9b7000}.ig-privacy-notice{display:flex;align-items:flex-start;gap:12px;margin-top:13px;padding:14px 16px;border:1px solid #dbe6ec;border-radius:13px;background:#f4f9fc}.ig-privacy-notice .ig-icon{width:22px;height:22px;fill:none;stroke:#1d699b;stroke-width:1.7}.ig-privacy-notice strong{display:block;color:#3b4951;font-size:10px}.ig-privacy-notice p{margin:3px 0 0!important;color:#77838b!important;font-size:9px!important;line-height:1.5}.ig-export-result{margin-top:12px;padding:13px 15px;border:1px solid #cfe4d7;border-radius:11px;background:#f2faf5;color:#42624d;font-size:10px}.ig-export-result.is-error{border-color:#efd2d8;background:#fff4f6;color:#8f3546}
@media(max-width:1250px){.ig-stats-filterbar,.ig-export-head{align-items:stretch;flex-direction:column}.ig-stats-filter-grid,.ig-export-filter-grid{width:100%}.ig-stats-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ig-stats-filter-grid,.ig-export-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-stats-grid,.ig-stats-grid-wide,.ig-export-grid{grid-template-columns:1fr}.ig-stat-bar{grid-template-columns:minmax(80px,1.1fr) minmax(70px,1.7fr) 30px}}
@media(max-width:520px){.ig-tests-subnav{display:grid;grid-template-columns:1fr}.ig-stats-filter-grid,.ig-export-filter-grid{grid-template-columns:1fr}.ig-stats-kpis{grid-template-columns:1fr 1fr}}
@media print{.ig-sidebar,.ig-topbar,.ig-page-heading,.ig-module-toolbar,.ig-tests-filterbar,.ig-stats-filterbar,.ig-export-head,.ig-heading-actions,.ig-toast{display:none!important}.ig-main{margin:0!important}.ig-content{padding:0!important}.ig-panel,.ig-stats-kpis article{box-shadow:none!important;break-inside:avoid}.ig-stats-grid{grid-template-columns:1fr 1fr!important}}


/* v0.8 · puesta en marcha segura y catálogo de programas */
.ig-staged-activation{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #dfe7eb;border-radius:14px;background:#f8fbfc}.ig-staged-activation .ig-check{margin:0}.ig-program-catalog{display:grid;gap:7px}.ig-program-catalog>span{font-size:10px;font-weight:800;color:#49565e}.ig-program-catalog textarea{width:100%;min-height:126px;padding:12px 14px;border:1px solid #d9e1e5;border-radius:12px;background:#fff;color:#27343b;font:inherit;line-height:1.6;resize:vertical}.ig-program-catalog textarea:focus{outline:2px solid rgba(29,105,155,.16);border-color:#1d699b}.ig-program-catalog small{color:#7b878e;font-size:9px;line-height:1.5}

/* v0.9 · constructor de informes PDF personalizados */
body.ig-report-open{overflow:hidden}
.ig-report-launch{min-height:38px;white-space:nowrap}
.ig-report-modal{position:fixed;inset:0;z-index:99950;display:grid;place-items:center;padding:24px}
.ig-report-modal[hidden]{display:none!important}
.ig-report-modal-overlay{position:absolute;inset:0;background:rgba(24,31,36,.58);backdrop-filter:blur(4px)}
.ig-report-dialog{position:relative;z-index:1;width:min(1080px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border:1px solid #dce3e7;border-radius:20px;background:#f7f9fa;box-shadow:0 30px 90px rgba(20,29,35,.28);overflow:hidden}
.ig-report-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;background:#fff;border-bottom:1px solid #e2e7ea}
.ig-report-dialog-head h2{margin:4px 0 5px!important;color:#2f3940!important;font-size:20px!important;line-height:1.25!important}
.ig-report-dialog-head p{margin:0!important;max-width:700px;color:#75818a!important;font-size:10px!important;line-height:1.55!important}
.ig-report-body{overflow:auto;padding:18px 20px 20px}
.ig-report-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.ig-report-presets button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:13px 15px;border:1px solid #dce3e7;border-radius:12px;background:#fff;color:#53606a;cursor:pointer;text-align:left;transition:.18s ease}
.ig-report-presets button:hover{border-color:#b9ccd8;transform:translateY(-1px)}
.ig-report-presets button.is-active{border-color:#1d699b;background:#eef7fc;box-shadow:inset 0 0 0 1px rgba(29,105,155,.12)}
.ig-report-presets strong{font-size:11px;color:#344049}.ig-report-presets span{font-size:8px;color:#879199}
.ig-report-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);gap:12px}
.ig-report-config-card{padding:17px 18px;border:1px solid #e0e6e9;border-radius:15px;background:#fff;box-shadow:0 4px 16px rgba(31,43,51,.025)}
.ig-report-config-card h3{margin:0 0 12px!important;color:#39454c!important;font-size:13px!important}
.ig-report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ig-report-card-head h3{margin-bottom:2px!important}.ig-report-card-head p{margin:0 0 11px!important;color:#879199!important;font-size:8px!important}
.ig-report-link,.ig-report-delete-template{border:0;background:transparent;color:#1d699b;font:750 9px Open Sans,Arial,sans-serif;cursor:pointer;padding:3px 0}.ig-report-delete-template{color:#a63349}
.ig-report-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ig-report-filter-grid label{display:grid;gap:5px}.ig-report-filter-grid label>span{color:#6d7880;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.ig-report-filter-grid input,.ig-report-filter-grid select,.ig-report-filter-grid textarea{width:100%;box-sizing:border-box;border:1px solid #dce3e7;border-radius:9px;background:#fff;padding:8px 10px;color:#44515a;font:600 10px Open Sans,Arial,sans-serif;outline:none}.ig-report-filter-grid input,.ig-report-filter-grid select{min-height:39px}.ig-report-filter-grid textarea{resize:vertical;min-height:74px;line-height:1.45}.ig-report-filter-grid input:focus,.ig-report-filter-grid select:focus,.ig-report-filter-grid textarea:focus{border-color:#8bb7d0;box-shadow:0 0 0 3px rgba(29,105,155,.08)}.ig-report-span-2{grid-column:1/-1}
.ig-report-sections{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ig-report-sections label,.ig-report-switches label{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid #e6eaed;border-radius:10px;background:#fbfcfc;cursor:pointer}.ig-report-sections label:has(input:checked){border-color:#c8dce8;background:#f5fafc}.ig-report-sections input,.ig-report-switches input{width:15px;height:15px;margin:1px 0 0;accent-color:#1d699b;flex:0 0 auto}.ig-report-sections span,.ig-report-switches span{display:grid;gap:2px;min-width:0}.ig-report-sections strong,.ig-report-switches strong{color:#48545c;font-size:9px;line-height:1.3}.ig-report-sections small,.ig-report-switches small{color:#929aa0;font-size:7.5px;line-height:1.35}
.ig-report-presentation{margin-top:12px}.ig-report-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ig-report-template-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:14px 16px;border:1px solid #dfe6e9;border-radius:13px;background:#fff}.ig-report-template-row>div:first-child{display:grid;gap:3px}.ig-report-template-row strong{color:#46535b;font-size:10px}.ig-report-template-row span{color:#8a949b;font-size:8px}.ig-report-template-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ig-report-template-actions select{min-width:190px;min-height:36px;border:1px solid #dce3e7;border-radius:9px;background:#fff;padding:6px 9px;color:#53606a;font:600 9px Open Sans,Arial,sans-serif}
.ig-report-message{margin-top:12px;padding:11px 13px;border:1px solid #cfe4d7;border-radius:10px;background:#f2faf5;color:#42624d;font-size:9px;line-height:1.5}.ig-report-message.is-error{border-color:#efd2d8;background:#fff4f6;color:#8f3546}
.ig-report-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;border-top:1px solid #dfe5e8;background:#fff}.ig-report-dialog-foot>span{color:#7c878e;font-size:9px;font-weight:700}.ig-report-dialog-foot>div{display:flex;gap:8px}
@media(max-width:900px){.ig-report-modal{padding:10px}.ig-report-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.ig-report-grid{grid-template-columns:1fr}.ig-report-switches{grid-template-columns:1fr 1fr}.ig-report-template-row{align-items:stretch;flex-direction:column}.ig-report-template-actions{justify-content:flex-start}}
@media(max-width:600px){.ig-report-dialog-head{padding:17px 16px 14px}.ig-report-body{padding:12px}.ig-report-presets{grid-template-columns:1fr}.ig-report-sections{grid-template-columns:1fr}.ig-report-switches{grid-template-columns:1fr}.ig-report-filter-grid{grid-template-columns:1fr}.ig-report-span-2{grid-column:auto}.ig-report-dialog-foot{align-items:stretch;flex-direction:column}.ig-report-dialog-foot>div{display:grid;grid-template-columns:1fr 1fr}.ig-report-template-actions{display:grid;grid-template-columns:1fr}.ig-report-template-actions select{min-width:0;width:100%}}


/* v1.0.0 · Voluntariado */
.ig-vol-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr));max-width:520px}.ig-vol-table td small,.ig-data-table td small{display:block;color:#7b8088;font-size:11px;margin-top:3px}.ig-volunteer-drawer-panel{width:min(860px,94vw)}.ig-vol-detail-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid #e7eaee;background:#fafbfc;position:sticky;top:0;z-index:2}.ig-vol-detail-tabs button{border:0;background:transparent;padding:9px 12px;border-radius:9px;font-weight:700;color:#65717d;cursor:pointer}.ig-vol-detail-tabs button.is-active{background:#eaf4fa;color:#1d699b}.ig-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ig-detail-kv{padding:14px;border:1px solid #e3e7eb;border-radius:12px;background:#fff}.ig-detail-kv span{display:block;color:#7b8088;font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.ig-detail-kv strong{display:block;color:#20262d;font-size:14px;line-height:1.35}.ig-vol-hours-head{display:flex;align-items:center;justify-content:space-between;background:#f3f8fb;border:1px solid #d9eaf4;border-radius:12px;padding:12px 14px;margin-bottom:14px}.ig-vol-hours-head strong{font-size:20px;color:#1d699b}.ig-vol-hours-head span{color:#67727e;font-size:12px}.ig-vol-doc-list{display:grid;gap:9px}.ig-vol-doc-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 14px;border:1px solid #e3e7eb;border-radius:12px;background:#fff}.ig-vol-doc-row strong{display:block}.ig-vol-doc-row small{display:block;color:#7b8088;margin-top:3px}.ig-doc-status{font-size:11px;font-weight:800;padding:6px 9px;border-radius:999px}.ig-doc-status.is-ok{background:#e7f5ef;color:#238d74}.ig-doc-status.is-pending{background:#fff4d8;color:#966f00}.ig-doc-status.is-muted{background:#eef1f3;color:#6d757d}.ig-health-locked{display:flex;gap:14px;padding:18px;border-radius:14px;background:#f6f8fa;border:1px solid #e1e5e8}.ig-health-locked .ig-feature-icon{width:38px;height:38px}.ig-health-locked p{margin:5px 0 0;color:#69747f;line-height:1.5}.ig-vol-hours-page,.ig-vol-doc-page{padding:22px}.ig-vol-hours-page>.ig-btn{margin-bottom:16px}.ig-callout{border-left:4px solid #1d699b;background:#f1f7fb;border-radius:10px;padding:15px 18px}.ig-callout p{margin:5px 0 0;color:#68747f}.ig-vol-doc-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:18px 0}.ig-vol-doc-controls label{display:grid;gap:6px}.ig-vol-doc-controls label span{font-size:11px;font-weight:800;color:#66727e;text-transform:uppercase}.ig-vol-doc-controls input,.ig-vol-doc-controls select{height:44px;border:1px solid #dce2e7;border-radius:10px;padding:0 12px;background:#fff}.ig-vol-doc-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.ig-hours-dialog{max-width:820px}.ig-hours-form{padding:0 20px 18px}.ig-hours-form .ig-report-dialog-foot{margin:18px -20px -18px;padding:16px 20px}.ig-volunteer-drawer .ig-test-drawer-body{padding:18px 20px 90px}@media(max-width:760px){.ig-detail-grid{grid-template-columns:1fr}.ig-vol-doc-controls{grid-template-columns:1fr}.ig-vol-doc-summary{grid-template-columns:1fr}.ig-vol-detail-tabs{overflow:auto;flex-wrap:nowrap}.ig-vol-filter-grid{grid-template-columns:1fr}.ig-volunteer-drawer-panel{width:100vw}}

/* v1.3 · Formularios nativos de Voluntariado */
.ig-volunteer-form-dialog{width:min(1080px,96vw);max-height:94vh;display:flex;flex-direction:column}
.ig-volunteer-form{display:flex;flex-direction:column;min-height:0;flex:1}
.ig-vol-form-scroll{overflow:auto;padding:22px 28px 6px;min-height:0;flex:1;background:#fbfaf8}
.ig-vol-form-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #ece6df;border-bottom:1px solid #e4dfd8;background:#fff}
.ig-vol-form-steps button{appearance:none;border:0;border-right:1px solid #ece6df;background:#fff;color:#68727a;padding:14px 10px;font:700 12px/1.2 Open Sans,Arial,sans-serif;cursor:pointer}
.ig-vol-form-steps button:last-child{border-right:0}.ig-vol-form-steps button.is-active{background:#eaf3f8;color:#145c86;box-shadow:inset 0 -3px 0 #1d699b}
.ig-field-span-2{grid-column:1/-1}.ig-check-field{border:1px solid #dce3e8;border-radius:12px;padding:13px 15px;background:#fff;margin:0;min-width:0}.ig-check-field legend{font-size:12px;font-weight:800;color:#27333b;padding:0 4px}.ig-check-field>div,.ig-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:4px}.ig-check-field label{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#46545e}.ig-check-field input{margin-top:2px}
.ig-volunteer-form [data-ig-vol-form-panel][hidden]{display:none!important}.ig-report-message.is-error{color:#9e2339;background:#fae9ed;border-color:#efc7d1}
.ig-hours-dialog{width:min(860px,95vw)}
@media(max-width:760px){.ig-vol-form-steps{grid-template-columns:1fr 1fr;overflow:auto}.ig-vol-form-steps button{min-width:130px}.ig-vol-form-scroll{padding:16px}.ig-check-field>div,.ig-check-grid{grid-template-columns:1fr}}

/* v1.4 · Salud de Voluntariado separada */
.ig-health-form-dialog{width:min(900px,95vw);max-height:94vh;display:flex;flex-direction:column}
.ig-health-form{display:flex;flex-direction:column;min-height:0;flex:1}
.ig-health-warning{border:1px solid #efd6dc;border-left:4px solid #c1304a;border-radius:12px;background:#fff5f7;padding:13px 15px;margin-bottom:16px}
.ig-health-warning strong{color:#8d2b3f}.ig-health-warning p{margin:4px 0 0;color:#6f5960;font-size:12px;line-height:1.45}
.ig-health-panel-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid #e6e9ec}
.ig-health-meta{margin-top:10px;color:#7b8088;font-size:11px}
.ig-btn-danger{background:#fff!important;color:#a52d44!important;border:1px solid #e4b7c1!important}.ig-btn-danger:hover{background:#fff3f5!important;border-color:#d98e9d!important}
.ig-health-form .ig-report-dialog-foot{margin-top:auto}.ig-health-form .ig-check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.ig-health-form .ig-check-grid{grid-template-columns:1fr}.ig-health-panel-actions{align-items:stretch;flex-direction:column}.ig-health-panel-actions .ig-btn{width:100%}}

/* v1.5.0 · Personas socias */
.ig-members-module-toolbar{align-items:center;justify-content:space-between}.ig-members-filterbar{grid-template-columns:minmax(260px,1fr) minmax(420px,1.35fr) auto}.ig-members-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.ig-members-table{min-width:940px}.ig-members-control-table{min-width:960px}.ig-member-payments-table{min-width:980px}.ig-member-payments-filterbar{grid-template-columns:minmax(380px,640px) auto}.ig-member-payments-filterbar .ig-tests-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.ig-member-drawer-panel{width:min(900px,95vw)}.ig-member-detail-tabs{padding-left:24px;padding-right:24px}.ig-member-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.ig-member-kpi article{border:1px solid #e2e7ea;border-radius:12px;background:#fff;padding:14px}.ig-member-kpi span{display:block;color:#808a91;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ig-member-kpi strong{display:block;margin-top:5px;font-size:18px;color:#29323a}.ig-member-kpi small{display:block;margin-top:3px;color:#8c959c;font-size:8px}.ig-fee-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;border:1px solid #dbe5eb;background:#f5fafc;color:#1d699b;font-size:8px;font-weight:800;white-space:nowrap}.ig-fee-badge.is-pape{background:#fff7e5;border-color:#eddfaf;color:#886a06}.ig-members-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:800}.ig-members-status.is-active{background:#e9f5ef;color:#27765b}.ig-members-status.is-low{background:#eef1f3;color:#737c83}.ig-members-status.is-pending{background:#fff2e5;color:#9a5b16}.ig-members-status.is-current{background:#e9f5ef;color:#27765b}.ig-members-status.is-notice{background:#fff0f2;color:#a42f43}.ig-member-ledger{display:grid;gap:9px}.ig-member-ledger-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e4e8eb;border-radius:11px;background:#fff}.ig-member-ledger-row>span{font-size:10px;color:#6c7880}.ig-member-ledger-row strong{font-size:11px;color:#374149}.ig-member-ledger-row em{font-style:normal;font-size:9px;font-weight:800;color:#1d699b}.ig-member-history{display:grid;gap:10px}.ig-member-history-item{position:relative;padding:13px 14px 13px 36px;border:1px solid #e4e8eb;border-radius:12px;background:#fff}.ig-member-history-item:before{content:"";position:absolute;left:15px;top:18px;width:9px;height:9px;border-radius:50%;background:#1d699b;box-shadow:0 0 0 4px #eaf3f8}.ig-member-history-item strong{display:block;color:#354049}.ig-member-history-item span,.ig-member-history-item small{display:block;color:#7c878e;margin-top:3px;font-size:9px}.ig-member-notice-card{border:1px solid #e2e7ea;border-radius:13px;background:#fff;padding:16px}.ig-member-notice-card h3{margin:0 0 10px!important}.ig-member-notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ig-member-notice-grid div{padding:10px;border-radius:9px;background:#f7f9fa}.ig-member-notice-grid span{display:block;color:#879198;font-size:8px;text-transform:uppercase;font-weight:800}.ig-member-notice-grid strong{display:block;margin-top:4px;color:#374149;font-size:10px}.ig-member-form-dialog{width:min(1000px,96vw);max-height:94vh;display:flex;flex-direction:column}.ig-member-form{display:flex;flex-direction:column;min-height:0;flex:1}.ig-member-form-scroll{overflow:auto;padding:22px 28px 8px;min-height:0;flex:1;background:#fbfaf8}.ig-member-change-fee{margin-top:14px}.ig-member-change-fee .ig-callout{margin-bottom:14px}.ig-member-payment-dialog{width:min(760px,94vw)}.ig-member-payment-form{padding:22px 24px 0}.ig-member-payment-form .ig-report-dialog-foot{margin:20px -24px 0}.ig-members-control-cards article strong{font-size:17px}.ig-member-money{font-variant-numeric:tabular-nums;font-weight:800}.ig-member-money.is-pending{color:#c1304a}.ig-member-money.is-zero{color:#238d74}.ig-member-year-state{display:grid;gap:2px}.ig-member-year-state strong{font-size:9px}.ig-member-year-state small{font-size:8px;color:#8a949b}.ig-member-year-state.is-current strong{color:#238d74}.ig-member-year-state.is-pending strong{color:#a75a18}.ig-member-drawer .ig-test-detail-body{padding-bottom:90px}
@media(max-width:1100px){.ig-members-filterbar{grid-template-columns:1fr}.ig-members-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-member-payments-filterbar{grid-template-columns:1fr}}
@media(max-width:760px){.ig-members-filter-grid{grid-template-columns:1fr}.ig-member-kpi{grid-template-columns:1fr}.ig-member-notice-grid{grid-template-columns:1fr}.ig-member-ledger-row{grid-template-columns:70px 1fr}.ig-member-ledger-row em{grid-column:2}.ig-member-form-scroll{padding:16px}.ig-member-payment-form{padding:16px 16px 0}.ig-member-payment-form .ig-report-dialog-foot{margin-left:-16px;margin-right:-16px}.ig-member-drawer-panel{width:100vw}}


/* v1.9.6 · checkbox de activadores proporcionados y alineados */
.ig-staged-activation .ig-check{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:start;
  column-gap:9px;
  padding:7px 4px;
}
.ig-staged-activation .ig-check input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  padding:0!important;
  margin:1px 0 0!important;
  border:initial!important;
  border-radius:3px!important;
  box-shadow:none!important;
  flex:none!important;
  accent-color:var(--ig-blue);
}
.ig-staged-activation .ig-check>span{
  display:grid;
  gap:2px;
  min-width:0;
}
.ig-staged-activation .ig-check strong{
  display:block;
  color:#4d5961;
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}
.ig-staged-activation .ig-check small{
  display:block;
  margin:0;
  color:#8a949b;
  font-size:8px;
  line-height:1.4;
}

/* v1.9.9 · Voluntariado: chips semánticos con color para todas las áreas conocidas */
.ig-detail-kv-areas{grid-column:1/-1}
.ig-area-chips{display:flex;flex-wrap:wrap;gap:7px 8px;margin-top:7px}
.ig-area-chip{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;border:1px solid transparent;font-size:11px;font-weight:750;line-height:1.25;white-space:normal}
.ig-area-chip.is-health{background:#e8f3fb;color:#1d699b;border-color:#c9e0ef}
.ig-area-chip.is-hiv{background:#fdecef;color:#b51f3d;border-color:#f2c6cf}
.ig-area-chip.is-diversity{background:#fbeaf2;color:#a82f62;border-color:#efc9da}
.ig-area-chip.is-migration{background:#e7f7f4;color:#167565;border-color:#c8e9e2}
.ig-area-chip.is-support{background:#eaf7ef;color:#27734f;border-color:#cde8d8}
.ig-area-chip.is-awareness{background:#fff5d9;color:#8a6410;border-color:#eed99b}
.ig-area-chip.is-training{background:#f2eafa;color:#6f428c;border-color:#dccbed}
.ig-area-chip.is-culture{background:#fff0e5;color:#a2511d;border-color:#efd2bc}
.ig-area-chip.is-community{background:#eaf6e5;color:#3f7831;border-color:#cfe6c6}
.ig-area-chip.is-comms{background:#e8f6fa;color:#1e7186;border-color:#c7e7ef}
.ig-area-chip.is-audiovisual{background:#eeecfb;color:#5b4b96;border-color:#d8d2f0}
.ig-area-chip.is-events{background:#eaf2f8;color:#315f7f;border-color:#cedfea}
.ig-area-chip.is-fundraising{background:#fff2d5;color:#8a5f06;border-color:#ebd39a}
.ig-area-chip.is-admin{background:#f0f1f2;color:#51575c;border-color:#dde0e2}
.ig-area-chip.is-neutral{background:#edf5f4;color:#426c68;border-color:#d5e5e3}
.ig-area-empty{color:#7b8088;font-size:13px}


/* v1.10.0 · Pruebas: borrado controlado */
.ig-btn[disabled],.ig-btn:disabled{opacity:.48!important;cursor:not-allowed!important;pointer-events:none}
.ig-test-delete-dialog{width:min(650px,94vw)}
.ig-test-delete-body{padding:22px 24px 4px;background:#fbfaf8}
.ig-delete-warning{display:grid;gap:4px;padding:13px 15px;margin-bottom:16px;border:1px solid #efcbd2;border-left:4px solid #c1304a;border-radius:12px;background:#fff5f7;color:#6f5960}
.ig-delete-warning strong{color:#95283d;font-size:12px}.ig-delete-warning span{font-size:11px;line-height:1.45}
.ig-delete-id-box{display:grid;gap:6px;padding:12px 14px;margin-bottom:14px;border:1px solid #e0e5e8;border-radius:11px;background:#fff}
.ig-delete-id-box span{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7b858c}
.ig-delete-id-box code{display:block;overflow-wrap:anywhere;font:800 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#9b273d}
.ig-test-delete-body .ig-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.ig-test-delete-dialog .ig-report-dialog-foot{margin-top:16px}
@media(max-width:760px){.ig-test-delete-body{padding:16px 16px 2px}}


/* v1.10.4 · Voluntariado: checkboxes proporcionados + borrado controlado de horas */
.ig-volunteer-form .ig-check-field input[type="checkbox"],
.ig-health-form .ig-check-field input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  flex:0 0 16px!important;
  padding:0!important;
  margin:1px 0 0!important;
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
  accent-color:var(--ig-blue);
}
.ig-volunteer-form .ig-check-field label,
.ig-health-form .ig-check-field label{align-items:flex-start}
.ig-hours-delete-modal .ig-test-delete-body .ig-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.ig-hours-form .ig-report-dialog-foot>div{display:flex;gap:8px;align-items:center}
@media(max-width:680px){
  .ig-hours-form .ig-report-dialog-foot{align-items:stretch;flex-direction:column}
  .ig-hours-form .ig-report-dialog-foot>div{display:grid;grid-template-columns:1fr 1fr}
}

/* v1.10.5 · Historial de horas de Voluntariado: lectura más cómoda y acción visible */
.ig-vol-hours-table{
  min-width:680px;
  table-layout:auto;
}
.ig-vol-hours-table th{
  padding:9px 9px;
  font-size:10px;
  letter-spacing:.035em;
}
.ig-vol-hours-table td{
  padding:10px 9px;
  font-size:12px;
  line-height:1.35;
}
.ig-vol-hours-table td strong{
  font-size:12px;
  line-height:1.35;
}
.ig-vol-hours-table td small{
  margin-top:2px;
  font-size:10.5px;
  line-height:1.3;
}
.ig-vol-hours-table th:nth-child(1),.ig-vol-hours-table td:nth-child(1){width:94px;white-space:nowrap}
.ig-vol-hours-table th:nth-child(2),.ig-vol-hours-table td:nth-child(2){min-width:150px}
.ig-vol-hours-table th:nth-child(3),.ig-vol-hours-table td:nth-child(3){min-width:155px}
.ig-vol-hours-table th:nth-child(4),.ig-vol-hours-table td:nth-child(4){width:64px;white-space:nowrap}
.ig-vol-hours-table th:nth-child(5),.ig-vol-hours-table td:nth-child(5){min-width:90px}
.ig-vol-hours-table th:last-child,.ig-vol-hours-table td:last-child{width:64px;white-space:nowrap}
.ig-vol-hours-table .ig-row-action{
  position:sticky;
  right:0;
  z-index:1;
  background:#fff;
  box-shadow:-8px 0 12px -12px rgba(37,49,57,.5);
}
.ig-vol-hours-table thead th:last-child{
  position:sticky;
  right:0;
  z-index:3;
  background:#f7f9fa;
  box-shadow:-8px 0 12px -12px rgba(37,49,57,.45);
}
.ig-vol-hours-table tbody tr:hover .ig-row-action{background:#fbfdfe}
@media(max-width:760px){
  .ig-vol-hours-table{min-width:650px}
  .ig-vol-hours-table th{font-size:9.5px;padding:8px}
  .ig-vol-hours-table td{font-size:11.5px;padding:9px 8px}
}


/* v1.10.6 · Cuentas: checkboxes proporcionados + borrado controlado de pagos */
.ig-permission-group .ig-check{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;column-gap:8px}
.ig-permission-group .ig-check input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;margin:1px 0 0!important;border:initial!important;box-shadow:none!important;flex:none!important;accent-color:var(--ig-blue)}
.ig-member-payment-delete-modal .ig-test-delete-body .ig-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.ig-member-payment-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ig-member-payment-actions .ig-btn{min-height:30px;padding:6px 9px;font-size:9px}
.ig-member-payments-table .ig-row-action{width:92px;text-align:right}
@media(max-width:760px){.ig-member-payment-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}}

/* v1.10.7 · Personas socias · seguimiento de avisos */
.ig-members-control-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.ig-members-status.is-overdue{background:#fdecee;color:#a52b42;border:1px solid #f3c8d0}
.ig-notice-overdue-callout{border-left:5px solid #c1304a;background:#fff4f5}
.ig-notice-draft-callout{border-left:5px solid #1d699b;background:#f3f8fb}
.ig-member-notice-preview-dialog{width:min(980px,96vw);max-height:94vh;display:flex;flex-direction:column}
.ig-member-notice-preview-body{padding:18px 22px;overflow:auto;min-height:0;flex:1;background:#f7f8f9}
.ig-member-notice-preview-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.ig-member-notice-preview-meta>div{padding:11px 12px;border:1px solid #e0e6e9;border-radius:10px;background:#fff}
.ig-member-notice-preview-meta span{display:block;font-size:8px;text-transform:uppercase;font-weight:800;color:#879198;letter-spacing:.04em}
.ig-member-notice-preview-meta strong{display:block;margin-top:4px;font-size:10px;color:#374149;overflow-wrap:anywhere}
.ig-member-notice-preview-frame-wrap{background:#dfe4e7;border:1px solid #d6dde1;border-radius:12px;padding:14px}
.ig-member-notice-preview-frame{display:block;width:100%;height:560px;border:0;border-radius:8px;background:#fff}
.ig-member-notice-history-section{margin-top:14px}
@media(max-width:1100px){.ig-members-control-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ig-member-notice-preview-meta{grid-template-columns:1fr}.ig-member-notice-preview-body{padding:12px}.ig-member-notice-preview-frame{height:460px}.ig-members-control-cards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ig-members-control-cards{grid-template-columns:1fr}}


/* v1.11.0 · Dashboard operativo */
.ig-dashboard-hero { min-height: 196px; }
.ig-dashboard-refresh-line { margin-top:14px; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.82); font-size:10px; font-weight:700; }
.ig-dashboard-live-dot { width:8px; height:8px; border-radius:50%; background:#e3b023; box-shadow:0 0 0 4px rgba(227,176,35,.16); animation:igDashboardPulse 1.5s ease-in-out infinite; }
.ig-dashboard-hero.is-loaded .ig-dashboard-live-dot { background:#83d4aa; box-shadow:0 0 0 4px rgba(131,212,170,.14); animation:none; }
@keyframes igDashboardPulse { 0%,100%{opacity:.55} 50%{opacity:1} }

.ig-dashboard-connections { display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:10px; margin-top:16px; }
.ig-dashboard-connection { min-width:0; display:grid; grid-template-columns:10px minmax(0,1fr) 16px; align-items:center; gap:10px; padding:11px 13px; border:1px solid var(--ig-border); border-radius:13px; background:#fff; color:var(--ig-text); box-shadow:0 5px 18px rgba(31,45,56,.035); transition:.16s ease; }
.ig-dashboard-connection:hover { transform:translateY(-1px); border-color:#cddbe3; box-shadow:0 8px 20px rgba(31,45,56,.055); }
.ig-dashboard-connection > svg { width:15px; height:15px; color:#b4bcc2; }
.ig-dashboard-connection > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.ig-dashboard-connection strong { font-size:10px; line-height:1.3; }
.ig-dashboard-connection small { margin-top:2px; color:#8f989f; font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ig-dashboard-connection-dot { width:8px; height:8px; border-radius:50%; background:#c4cbd0; }
.ig-dashboard-connection.is-loading .ig-dashboard-connection-dot { background:var(--ig-gold); animation:igDashboardPulse 1.3s ease-in-out infinite; }
.ig-dashboard-connection.is-ok .ig-dashboard-connection-dot { background:#40a875; }
.ig-dashboard-connection.is-error .ig-dashboard-connection-dot { background:var(--ig-red); }
.ig-dashboard-connection.is-off .ig-dashboard-connection-dot { background:#9ba4aa; }
.ig-dashboard-connection.is-error small { color:var(--ig-red); }

.ig-dashboard-stat-grid { grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); }
.ig-dashboard-stat-link { color:inherit; text-decoration:none; }
.ig-dashboard-stat-link.is-error { border-color:#f0c8d0; background:#fffafb; }
.ig-dashboard-stat-link.is-warning::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; right:13px; top:13px; background:var(--ig-gold); }
.ig-dashboard-stat-link.is-error::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; right:13px; top:13px; background:var(--ig-red); }

.ig-dashboard-operational-grid { grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr); }
.ig-dashboard-attention-list { display:grid; gap:8px; }
.ig-dashboard-attention-item { display:grid; grid-template-columns:9px minmax(0,1fr) auto; gap:11px; align-items:center; min-height:63px; padding:10px 12px; border:1px solid #edf0f2; border-radius:12px; color:var(--ig-text); background:#fcfdfd; transition:.15s ease; }
.ig-dashboard-attention-item:hover { border-color:#d9e2e7; background:#fff; }
.ig-dashboard-alert-mark { width:8px; height:8px; border-radius:50%; background:#c5ccd1; }
.ig-dashboard-attention-item > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.ig-dashboard-attention-item strong { font-size:10px; }
.ig-dashboard-attention-item small { color:#8a939a; font-size:9px; margin-top:3px; line-height:1.45; }
.ig-dashboard-attention-item b { min-width:30px; text-align:right; font-size:18px; color:#5d6870; }
.ig-dashboard-attention-item.is-ok .ig-dashboard-alert-mark { background:#40a875; }
.ig-dashboard-attention-item.is-warning .ig-dashboard-alert-mark { background:var(--ig-gold); }
.ig-dashboard-attention-item.is-alert .ig-dashboard-alert-mark,
.ig-dashboard-attention-item.is-error .ig-dashboard-alert-mark { background:var(--ig-red); }
.ig-dashboard-attention-item.is-alert b,
.ig-dashboard-attention-item.is-error b { color:var(--ig-red); }
.ig-dashboard-attention-item.is-warning b { color:#9b7300; }

.ig-dashboard-module-links { display:grid; gap:8px; }
.ig-dashboard-module-links > a { min-height:65px; display:grid; grid-template-columns:40px minmax(0,1fr) 16px; gap:10px; align-items:center; padding:10px 11px; border:1px solid #edf0f2; border-radius:12px; color:var(--ig-text); background:#fff; transition:.15s ease; }
.ig-dashboard-module-links > a:hover { border-color:#cfdde5; transform:translateY(-1px); box-shadow:0 7px 18px rgba(31,45,56,.04); }
.ig-dashboard-module-links > a > svg { width:15px; height:15px; color:#b4bcc2; }
.ig-dashboard-module-links > a > span:nth-child(2) { min-width:0; display:flex; flex-direction:column; }
.ig-dashboard-module-links strong { font-size:10px; }
.ig-dashboard-module-links small { color:#8c959c; font-size:9px; margin-top:2px; }
.ig-dashboard-module-links .ig-quick-icon { width:40px; height:40px; }

@media (max-width: 1040px) {
  .ig-dashboard-operational-grid { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
  .ig-dashboard-connections { grid-template-columns:1fr 1fr; }
  .ig-dashboard-stat-grid { grid-template-columns:1fr 1fr; }
  .ig-dashboard-connection { padding:10px; }
}
@media (max-width: 480px) {
  .ig-dashboard-connections, .ig-dashboard-stat-grid { grid-template-columns:1fr; }
}

/* v1.11.1 · Hardening responsive móvil
   - evita auto-zoom de iOS en controles <16px
   - mejora jerarquía visual/táctil del Dashboard
   - usa altura dinámica en diálogos móviles
*/
@media (max-width: 900px) {
  body.iwales-gestion-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  body.iwales-gestion-app select,
  body.iwales-gestion-app textarea {
    font-size: 16px !important;
  }

  .ig-tests-table-wrap {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .ig-row-action button,
  .ig-tests-pagination button,
  .ig-tests-subnav button,
  .ig-filter-row button,
  .ig-drawer-close {
    min-height: 44px;
  }
  .ig-drawer-close { width: 44px; height: 44px; }
}

@supports (height: 100dvh) {
  @media (max-width: 900px) {
    .ig-report-dialog,
    .ig-volunteer-form-dialog,
    .ig-health-form-dialog,
    .ig-member-form-dialog,
    .ig-member-notice-preview-dialog {
      max-height: calc(100dvh - 20px);
    }
    .ig-test-drawer-panel,
    .ig-volunteer-drawer-panel,
    .ig-member-drawer-panel {
      height: 100dvh;
      max-height: 100dvh;
    }
  }
}

@media (max-width: 680px) {
  .ig-content { padding: 20px 12px 34px; }

  .ig-dashboard-hero {
    min-height: 0;
    padding: 22px 18px;
  }
  .ig-dashboard-hero .ig-welcome-brand { display: none; }
  .ig-dashboard-hero > div:first-child { max-width: 100%; }
  .ig-dashboard-hero h2 { font-size: 24px !important; line-height: 1.22 !important; }
  .ig-dashboard-hero p { font-size: 12.5px !important; line-height: 1.55 !important; }
  .ig-dashboard-refresh-line { font-size: 11px; }

  .ig-dashboard-connections { grid-template-columns: 1fr 1fr; gap: 9px; }
  .ig-dashboard-connection { min-height: 60px; padding: 11px 12px; }
  .ig-dashboard-connection strong { font-size: 12px; }
  .ig-dashboard-connection small {
    font-size: 10px;
    line-height: 1.35;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }

  .ig-dashboard-operational-grid { gap: 12px; }
  .ig-dashboard-attention-item,
  .ig-dashboard-module-links > a { min-height: 68px; }
  .ig-dashboard-attention-item strong,
  .ig-dashboard-module-links strong { font-size: 12px; }
  .ig-dashboard-attention-item small,
  .ig-dashboard-module-links small { font-size: 10px; line-height: 1.4; }

  .ig-panel-head h2 { font-size: 17px !important; }
  .ig-panel-head p { font-size: 11px !important; line-height: 1.5 !important; }

  .ig-tests-table-wrap { margin-inline: 0; }
  .ig-data-table th { font-size: 10px; }
  .ig-data-table td { font-size: 12px; }
}

@media (max-width: 560px) {
  .ig-dashboard-connections,
  .ig-dashboard-stat-grid { grid-template-columns: 1fr; }

  .ig-dashboard-stat-grid .ig-stat-card {
    min-height: 94px;
    padding: 14px;
    align-items: center;
  }
  .ig-dashboard-stat-grid .ig-stat-copy {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    row-gap: 3px;
  }
  .ig-dashboard-stat-grid .ig-stat-copy > span { font-size: 13px; }
  .ig-dashboard-stat-grid .ig-stat-copy strong {
    grid-row: auto;
    margin-top: 0;
    font-size: 24px;
  }
  .ig-dashboard-stat-grid .ig-stat-copy small {
    display: block;
    font-size: 10px;
    margin-top: 4px;
  }

  .ig-dashboard-attention-item {
    grid-template-columns: 9px minmax(0,1fr) auto;
    gap: 9px;
  }
}

@media (max-width: 420px) {
  .ig-topbar { padding-inline: 10px; }
  .ig-content { padding-inline: 10px; }
  .ig-dashboard-hero { border-radius: 15px; padding: 20px 16px; }
  .ig-dashboard-hero h2 { font-size: 22px !important; }
  .ig-dashboard-connection { grid-template-columns: 9px minmax(0,1fr) 14px; gap: 9px; }
  .ig-panel { padding: 15px; }
}


/* v1.11.4 · Catálogos normalizados de Pruebas */
.ig-field small.is-error{color:#a33345;font-weight:700}
.ig-field select[aria-busy="true"]{background-image:none;cursor:wait;opacity:.78}
[data-ig-municipality-fallback][hidden]{display:none!important}

/* v1.11.14 · Pruebas bajo demanda */
[data-ig-tests-summary][hidden],
[data-ig-tests-results][hidden],
[data-ig-tests-idle][hidden],
[data-ig-stats-idle][hidden]{display:none!important}
.ig-tests-filter-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:flex-end}
.ig-tests-filter-actions .ig-btn,.ig-tests-filter-actions .ig-filter-clear{white-space:nowrap}
.ig-tests-query-idle,.ig-stats-query-idle{margin-bottom:14px;min-height:175px}
@media(max-width:1320px){.ig-tests-filter-actions{flex-direction:row;justify-content:flex-start;flex-wrap:wrap}}

/* v1.11.15 · Estadísticas de Pruebas: controles compactos y sin solapamientos. */
.ig-stats-filterbar{display:grid;grid-template-columns:minmax(310px,1fr) auto;align-items:end;gap:20px}
.ig-stats-filter-grid{grid-template-columns:132px 132px 132px 132px 54px 148px;align-items:end;width:auto}
.ig-stats-filter-grid .ig-btn,.ig-stats-filter-grid .ig-filter-clear{height:38px;min-height:38px;margin:0;align-self:end}
.ig-stats-filter-grid .ig-btn{padding:0 13px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}
.ig-stats-filter-grid .ig-stats-consult{min-width:132px}
.ig-stats-filter-grid .ig-report-launch{min-width:148px}
.ig-stats-filter-grid .ig-filter-clear{display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
@media(max-width:1250px){.ig-stats-filterbar{grid-template-columns:1fr;align-items:stretch}.ig-stats-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr)) 132px 54px 148px;width:100%}}
@media(max-width:900px){.ig-stats-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-stats-filter-grid .ig-stats-consult,.ig-stats-filter-grid .ig-report-launch{min-width:0;width:100%}.ig-stats-filter-grid .ig-filter-clear{width:100%}}
@media(max-width:620px){.ig-stats-filter-grid{grid-template-columns:1fr 1fr}.ig-stats-filter-grid label:nth-of-type(3){grid-column:1/-1}.ig-stats-filter-grid .ig-report-launch{grid-column:1/-1}}


/* v1.11.16 · Estadísticas de Pruebas: contención real de controles nativos. */
.ig-stats-filter-grid{
  grid-template-columns:144px 144px 144px 132px 54px 148px;
  column-gap:14px;
  row-gap:10px;
}
.ig-stats-filter-grid > *{
  min-width:0;
  max-width:100%;
}
.ig-stats-filter-grid label{
  min-width:0;
  max-width:100%;
  overflow:visible;
}
.ig-stats-filter-grid input[type="date"],
.ig-stats-filter-grid select{
  display:block;
  width:100%;
  min-width:0 !important;
  max-width:100% !important;
  margin:0;
}
.ig-stats-filter-grid input[type="date"]{
  padding-left:10px;
  padding-right:7px;
}
@media(max-width:1320px){
  .ig-stats-filterbar{grid-template-columns:1fr;align-items:stretch}
  .ig-stats-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr)) 132px 54px 148px;width:100%;column-gap:14px}
}
@media(max-width:960px){
  .ig-stats-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:14px}
  .ig-stats-filter-grid .ig-stats-consult,
  .ig-stats-filter-grid .ig-report-launch{min-width:0;width:100%}
  .ig-stats-filter-grid .ig-filter-clear{width:100%}
}
@media(max-width:620px){
  .ig-stats-filter-grid{grid-template-columns:1fr;row-gap:10px}
  .ig-stats-filter-grid label:nth-of-type(3),
  .ig-stats-filter-grid .ig-report-launch{grid-column:auto}
}


/* v1.12.0 · Acceso frontal de Iwales Gestión */
.ig-auth-body{margin:0;background:#f4f4f1;color:#252525;min-height:100vh}
.ig-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,46%) minmax(420px,54%);font-family:Open Sans,Arial,sans-serif}
.ig-auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 54px;background:#343433;color:#fff}
.ig-auth-brand:after{content:"";position:absolute;right:0;top:0;width:12px;height:100%;background:#1d699b}
.ig-auth-brand-top{display:flex;align-items:center;gap:15px;position:relative;z-index:1}
.ig-auth-mark{width:52px;height:52px;border-radius:13px;background:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.ig-auth-mark img{width:38px;height:38px;object-fit:contain}
.ig-auth-logo{max-width:190px;max-height:60px;object-fit:contain;filter:brightness(0) invert(1)}
.ig-auth-brand-copy{position:relative;z-index:1;max-width:540px;padding:70px 0}
.ig-auth-brand-copy .ig-eyebrow{color:#e3b023;font-size:13px;letter-spacing:.12em;font-weight:800}
.ig-auth-brand-copy h1{font-size:48px;line-height:1.04;margin:14px 0 18px;color:#fff;letter-spacing:-.035em}
.ig-auth-brand-copy p{font-size:18px;line-height:1.6;color:#e5e5e2;margin:0;max-width:480px}
.ig-auth-brand-lines{position:absolute;left:0;bottom:0;width:100%;height:12px;display:grid;grid-template-columns:54% 28% 18%}
.ig-auth-brand-lines span:nth-child(1){background:#c1304a}.ig-auth-brand-lines span:nth-child(2){background:#1d699b}.ig-auth-brand-lines span:nth-child(3){background:#e3b023}
.ig-auth-card-wrap{display:flex;align-items:center;justify-content:center;padding:50px;background:#f5f5f2}
.ig-auth-card{width:min(470px,100%);background:#fff;border:1px solid #e2e1dc;border-radius:22px;padding:38px 40px;box-shadow:0 22px 60px rgba(34,34,32,.09)}
.ig-auth-kicker{display:inline-flex;color:#1d699b;font-size:11px;font-weight:800;letter-spacing:.11em;margin-bottom:8px}
.ig-auth-card h2{font-size:30px;line-height:1.15;margin:4px 0 10px;color:#2e2e2d;letter-spacing:-.025em}
.ig-auth-intro{margin:0 0 24px;color:#66645f;font-size:14px;line-height:1.6}
.ig-auth-form{display:grid;gap:17px}
.ig-auth-form label>span{display:block;font-size:12px;font-weight:800;color:#44433f;margin-bottom:7px}
.ig-auth-form input[type=text],.ig-auth-form input[type=password]{width:100%;box-sizing:border-box;height:46px;border:1px solid #d8d7d1;border-radius:10px;background:#fff;padding:0 13px;font:inherit;color:#2c2c2a;outline:none;transition:.15s ease}
.ig-auth-form input:focus{border-color:#1d699b;box-shadow:0 0 0 3px rgba(29,105,155,.12)}
.ig-auth-row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}
.ig-auth-row a,.ig-auth-back{color:#1d699b;text-decoration:none;font-weight:700}.ig-auth-row a:hover,.ig-auth-back:hover{text-decoration:underline}
.ig-auth-check{display:flex!important;align-items:center;gap:7px;color:#555!important;font-weight:600!important}.ig-auth-check input{margin:0}.ig-auth-check span{display:inline!important;margin:0!important;font-size:12px!important;font-weight:600!important}
.ig-auth-submit{height:47px;width:100%;justify-content:center;margin-top:2px}
.ig-auth-notice{padding:12px 14px;border-radius:10px;margin:0 0 18px;font-size:13px;line-height:1.45;font-weight:650}.ig-auth-notice.is-error{background:#f8e8eb;color:#8d273b;border:1px solid #edc5cd}.ig-auth-notice.is-ok{background:#e8f4ef;color:#29664f;border:1px solid #cce6da}
.ig-auth-back{display:inline-block;margin-top:22px;font-size:12px}.ig-auth-foot{margin:26px 0 0;border-top:1px solid #ecebe6;padding-top:18px;color:#87857f;font-size:11px;text-align:center}
@media(max-width:900px){.ig-auth-shell{grid-template-columns:1fr}.ig-auth-brand{min-height:230px;padding:28px 30px}.ig-auth-brand:after{width:8px}.ig-auth-brand-copy{padding:34px 0 20px}.ig-auth-brand-copy h1{font-size:36px}.ig-auth-card-wrap{padding:30px 18px 48px}.ig-auth-card{padding:30px 26px}}
@media(max-width:520px){.ig-auth-brand{min-height:185px;padding:22px}.ig-auth-brand-top{gap:10px}.ig-auth-mark{width:44px;height:44px}.ig-auth-mark img{width:32px;height:32px}.ig-auth-logo{max-width:145px}.ig-auth-brand-copy{padding:24px 0 12px}.ig-auth-brand-copy h1{font-size:31px;margin:8px 0 10px}.ig-auth-brand-copy p{font-size:14px}.ig-auth-card-wrap{padding:20px 12px 34px}.ig-auth-card{border-radius:16px;padding:25px 20px}.ig-auth-row{align-items:flex-start;flex-direction:column;gap:9px}}

/* v1.12.1 · Solicitudes públicas */
.ig-nav-badge{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#c1304a;color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.ig-request-notice{padding:13px 16px;border-radius:9px;margin-bottom:18px;font-weight:650}.ig-request-notice.is-success{background:#e5f5ee;border:1px solid #add9c8}.ig-request-notice.is-error{background:#fbe7eb;border:1px solid #e5adb9}.ig-requests-panel{overflow:hidden}.ig-request-layout{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);border-top:1px solid #e1e6ea;min-height:540px}.ig-request-list{border-right:1px solid #e1e6ea;max-height:760px;overflow:auto}.ig-request-row{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf0f2;color:inherit;text-decoration:none}.ig-request-row:hover,.ig-request-row.is-active{background:#f1f7fa}.ig-request-mark{width:9px;height:9px;border-radius:50%;background:#9aa3aa;flex:none}.ig-request-mark.is-open{background:#e3b023}.ig-request-copy{min-width:0;flex:1}.ig-request-copy strong,.ig-request-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ig-request-copy strong{font-size:14px}.ig-request-copy small{margin-top:3px;color:#747d84;font-size:11px}.ig-request-status{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;background:#eef2f4;padding:5px 7px;border-radius:6px;color:#596169}.ig-request-status.is-large{font-size:11px}.ig-request-detail{padding:22px;min-width:0}.ig-request-placeholder{text-align:center;max-width:420px;margin:110px auto;color:#727a82}.ig-request-placeholder .ig-icon{width:46px;height:46px;margin:auto;display:block;color:#1d699b}.ig-request-placeholder h3{color:#3a3a39;margin:14px 0 8px}.ig-request-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e1e6ea}.ig-request-detail-head h2{margin:5px 0}.ig-request-detail-head p{margin:0;color:#737b82;font-size:13px}.ig-request-data-grid,.ig-request-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.ig-request-data-grid>div,.ig-request-mini-grid>div{padding:11px 12px;background:#f7f9fa;border-radius:8px;min-width:0}.ig-request-data-grid .wide{grid-column:1/-1}.ig-request-data-grid span,.ig-request-mini-grid span,.ig-request-text>span{display:block;color:#788087;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.05em;margin-bottom:4px}.ig-request-data-grid strong,.ig-request-mini-grid strong{font-size:13px;word-break:break-word}.ig-request-module{margin-top:18px;border:1px solid #dde4e8;border-radius:12px;padding:18px}.ig-request-module>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #edf0f2;padding-bottom:12px}.ig-request-module>header span{font-size:10px;letter-spacing:.08em;color:#1d699b;font-weight:900}.ig-request-module>header h3{margin:4px 0 0;font-size:17px}.ig-request-module>header b{font-size:11px;background:#eef6fa;padding:6px 8px;border-radius:6px}.ig-request-text{margin:14px 0}.ig-request-text p{margin:5px 0;line-height:1.45}.ig-request-action{border-top:1px solid #edf0f2;padding-top:14px;margin-top:14px}.ig-request-action>label{display:block;font-size:12px;font-weight:750;margin-top:12px}.ig-request-action input,.ig-request-action textarea{display:block;width:100%;margin-top:6px;border:1px solid #ccd5dc;border-radius:7px;padding:9px 10px;font:inherit}.ig-request-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.ig-request-resolved{padding:11px 13px;background:#e9f6f1;border-radius:8px;font-weight:700}.ig-empty-state{padding:35px 20px;text-align:center;color:#747d84}.ig-empty-state strong,.ig-empty-state span{display:block}.ig-empty-state span{margin-top:7px;font-size:12px}@media(max-width:900px){.ig-request-layout{grid-template-columns:1fr}.ig-request-list{border-right:0;border-bottom:1px solid #e1e6ea;max-height:320px}.ig-request-data-grid,.ig-request-mini-grid{grid-template-columns:1fr}.ig-request-data-grid .wide{grid-column:auto}.ig-request-detail-head{flex-direction:column}}
