
/* ==========================================================================
   INGRA Inteligência Jurídica — tema do painel (baseado no layout JB Central)
   ========================================================================== */

:root {
    --ig-brand: #006699;
    --ig-brand-2: #0a83bd;
    --ig-navy: #013252;
    --ig-navy-2: #001b29;
    --ig-accent: #2dd4ea;
    --ig-ink: #eaf7fc;
    --ig-muted: #8fb9cd;
    --ig-text: #0f2a3d;
    --ig-text-2: #64748b;
    --ig-line: rgba(2, 26, 51, .08);
    --ig-page: #f3f6fa;
}

body.fi-body { background: var(--ig-page); }

/* ---------- Logo ---------- */
.ingra-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ig-text); }
.ingra-logo-mark { width: 38px; height: 38px; flex: none; }
.ingra-logo-txt { display: flex; flex-direction: column; line-height: 1; }
.ingra-logo-txt b { font-family: 'Fraunces', Georgia, serif; font-size: 21px; font-weight: 700; letter-spacing: .5px; }
.ingra-logo-txt small { font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .7; margin-top: 4px; }

/* ---------- Sidebar ---------- */
.fi-sidebar,
.fi-sidebar-header,
.fi-sidebar-nav {
    background: linear-gradient(180deg, #013252 0%, #001b29 100%) !important;
    border-color: rgba(45, 212, 234, .14) !important;
}
.fi-sidebar-header { border-bottom: 1px solid rgba(255, 255, 255, .06) !important; box-shadow: none !important; }
.fi-sidebar .ingra-logo { color: #fff; }
.fi-sidebar-group-label { color: #7fb0c8 !important; }
.fi-sidebar-item-button,
.fi-sidebar-item-label,
.fi-sidebar-item a { color: #fff !important; border-radius: 12px; }
.fi-sidebar-item-button:hover { background: rgba(45, 212, 234, .10) !important; }
.fi-sidebar-item-icon,
.fi-sidebar-item-button .fi-icon { color: rgba(255, 255, 255, .72) !important; }
.fi-sidebar-item.fi-active .fi-sidebar-item-button,
.fi-sidebar-item-button[aria-current="page"] {
    background: rgba(45, 212, 234, .18) !important;
    box-shadow: inset 0 0 0 1px rgba(45, 212, 234, .3);
}
.fi-sidebar-item.fi-active .fi-sidebar-item-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-button .fi-icon { color: var(--ig-accent) !important; }
.fi-sidebar-item .fi-badge { background: rgba(255, 255, 255, .08) !important; color: #9fc4d6 !important; box-shadow: none !important; font-size: 10px; }
.fi-sidebar-collapse-btn, .fi-sidebar-header .fi-icon-btn { color: #9fc4d6 !important; }
.fi-sidebar .fi-tenant-menu-trigger { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.fi-sidebar .fi-tenant-menu-trigger span,
.fi-sidebar .fi-tenant-menu-trigger .fi-icon { color: #fff !important; }
.fi-sidebar .fi-tenant-menu-trigger .text-gray-500 { color: #7fb0c8 !important; }
.fi-topbar nav { background: rgba(255, 255, 255, .85); backdrop-filter: blur(8px); }

/* ==========================================================================
   Login
   ========================================================================== */
.ig-auth {
    min-height: 100vh; display: grid; grid-template-columns: minmax(380px, 520px) 1fr;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif; background: #fff;
}
.ig-auth-form { display: flex; flex-direction: column; justify-content: space-between; padding: 40px 48px; }
.ig-auth-form-inner { flex: 1; display: flex; align-items: center; }
.ig-login { width: 100%; max-width: 380px; margin: 0 auto; }
.ig-login-brand { margin-bottom: 40px; }
.ig-login-brand .ingra-logo-mark { width: 44px; height: 44px; }
.ig-login-brand .ingra-logo-txt b { font-size: 25px; }
.ig-login-head h1 { font-family: 'Fraunces', Georgia, serif; font-size: 30px; font-weight: 700; color: var(--ig-text); letter-spacing: -.5px; margin: 0; }
.ig-login-head p { color: var(--ig-text-2); font-size: 14px; margin: 6px 0 28px; }
.ig-login .fi-btn { border-radius: 12px; padding-block: 11px; background: linear-gradient(120deg, #013252, #006699); }
.ig-login .fi-btn:hover { filter: brightness(1.12); }
.ig-login .fi-input-wrp { border-radius: 12px; }
.ig-login-trial {
    margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--ig-line);
    font-size: 13px; color: var(--ig-text-2); text-align: center;
}
.ig-login-trial span { color: var(--ig-brand); font-weight: 700; }
.ig-login-trial em {
    font-style: normal; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
    background: #eef6fb; color: var(--ig-brand); border-radius: 999px; padding: 3px 8px; margin-left: 4px;
}
.ig-auth-foot { font-size: 12px; color: #94a3b8; text-align: center; }
.ig-auth-foot b { color: var(--ig-text-2); }

.ig-auth-hero {
    position: relative; overflow: hidden; display: flex; align-items: center;
    background: linear-gradient(135deg, #0a83bd 0%, #006699 38%, #013252 75%, #001b29 100%);
    color: #fff; padding: 64px;
}
.ig-auth-glow {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(520px 300px at 85% -10%, rgba(45, 212, 234, .45), transparent 60%),
        radial-gradient(700px 380px at -10% 115%, rgba(6, 182, 212, .25), transparent 60%);
}
.ig-auth-listras {
    position: absolute; inset: 0 0 0 auto; width: 45%; pointer-events: none;
    background: repeating-linear-gradient(115deg, rgba(45, 212, 234, .08) 0 22px, transparent 22px 52px);
}
.ig-auth-hero-inner { position: relative; max-width: 620px; }
.ig-auth-title { font-family: 'Fraunces', Georgia, serif; font-size: 44px; line-height: 1.12; font-weight: 700; letter-spacing: -1px; margin: 16px 0 0; }
.ig-auth-title span { color: #bff0fb; }
.ig-auth-lead { font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .8); margin: 18px 0 0; max-width: 540px; }
.ig-auth-feats { list-style: none; padding: 0; margin: 30px 0 0; display: grid; gap: 12px; }
.ig-auth-feats li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; font-weight: 600; color: rgba(255, 255, 255, .92); }
.ig-auth-feats .ic {
    width: 34px; height: 34px; padding: 7px; flex: none; border-radius: 11px; color: var(--ig-accent);
    background: rgba(45, 212, 234, .12); border: 1px solid rgba(45, 212, 234, .3);
}
.ig-auth-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 36px; }
@media (max-width: 960px) {
    .ig-auth { grid-template-columns: 1fr; }
    .ig-auth-hero { display: none; }
    .ig-auth-form { padding: 32px 20px; }
}

/* ==========================================================================
   Elementos compartilhados
   ========================================================================== */
.ig-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    color: #d7f6fd; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
}
.ig-dot {
    width: 8px; height: 8px; border-radius: 50%; background: #6ef2ff; box-shadow: 0 0 12px #6ef2ff;
    animation: igPulse 1.8s ease-in-out infinite;
}
@keyframes igPulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.ig-htile {
    background: rgba(0, 27, 41, .3); border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px; padding: 14px 16px; backdrop-filter: blur(6px);
    display: flex; flex-direction: column; gap: 4px; text-align: left; color: inherit; font: inherit;
}
button.ig-htile { cursor: pointer; transition: background .15s ease, transform .15s ease; }
button.ig-htile:hover { background: rgba(0, 27, 41, .45); transform: translateY(-1px); }
.ig-htile.alerta { border-color: rgba(252, 165, 165, .55); background: rgba(127, 29, 29, .25); }
.ig-htile.alerta .ig-htile-num { color: #fecaca; }
.ig-htile-num { color: #fff; font-size: 26px; font-weight: 800; line-height: 1; font-family: 'Fraunces', serif; }
.ig-htile-num i { color: rgba(255, 255, 255, .55); font-style: normal; font-size: 15px; }
.ig-htile-lbl { color: rgba(255, 255, 255, .72); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }

/* ==========================================================================
   Dashboard
   ========================================================================== */
.ig-dash { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; display: flex; flex-direction: column; gap: 20px; }
.ig-dash h1, .ig-dash h2, .ig-dash h3 { font-family: 'Fraunces', Georgia, serif; margin: 0; }
.ig-dash .ic { width: 22px; height: 22px; }
.ig-dash .ic-sm { width: 18px; height: 18px; }
.ig-dash .ic-xs { width: 13px; height: 13px; }
.ig-dash button { font: inherit; }

/* Hero */
.ig-hero {
    position: relative; border-radius: 24px; padding: 28px 26px; overflow: hidden;
    background: linear-gradient(135deg, #0a83bd 0%, #006699 55%, #00374f 100%);
    box-shadow: 0 24px 60px -24px rgba(0, 102, 153, .7);
}
.ig-hero-glow {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(420px 220px at 88% -20%, rgba(45, 212, 234, .5), transparent 60%),
        radial-gradient(600px 300px at 0% 120%, rgba(6, 182, 212, .22), transparent 60%);
}
.ig-hero-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; }
.ig-hero-lead { flex: 1 1 300px; }
.ig-title { color: #fff; font-size: 30px; font-weight: 700; margin-top: 8px !important; letter-spacing: -.5px; }
.ig-title span { color: #bff0fb; }
.ig-subtitle { color: rgba(255, 255, 255, .82); margin-top: 6px; font-size: 14px; }
.ig-hero-tiles { flex: 1 1 440px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 560px) { .ig-hero-tiles { grid-template-columns: 1fr; } }

/* Grids */
.ig-grid { display: grid; gap: 16px; }
.ig-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ig-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ig-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ig-span-2 { grid-column: span 2; }
@media (max-width: 1200px) { .ig-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1024px) { .ig-grid-3 { grid-template-columns: 1fr; } .ig-span-2 { grid-column: auto; } }
@media (max-width: 820px) { .ig-grid-2 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ig-grid-4 { grid-template-columns: 1fr; } }

/* Cards escuros */
.ig-card {
    position: relative; overflow: hidden; text-align: left;
    background: linear-gradient(160deg, #01324e 0%, #001b29 100%);
    border: 1px solid rgba(45, 212, 234, .16); border-radius: 20px; padding: 20px; color: var(--ig-ink);
    box-shadow: 0 18px 40px -20px rgba(0, 54, 80, .8), inset 0 1px 0 rgba(255, 255, 255, .05);
}
.ig-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; gap: 12px; }
.ig-card-head h3 { color: var(--ig-ink); font-size: 17px; font-weight: 600; }
.ig-badge {
    font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap;
    color: var(--ig-accent); background: rgba(45, 212, 234, .1);
    border: 1px solid rgba(45, 212, 234, .22); padding: 4px 10px; border-radius: 999px;
}
.ig-ic-chip {
    width: 40px; height: 40px; border-radius: 12px; flex: none;
    display: flex; align-items: center; justify-content: center; color: var(--ig-accent);
    background: rgba(45, 212, 234, .12); border: 1px solid rgba(45, 212, 234, .28);
    box-shadow: 0 0 16px rgba(45, 212, 234, .18);
}

/* KPI */
.ig-kpi { display: flex; flex-direction: column; gap: 6px; }
.ig-kpi-btn { cursor: pointer; transition: transform .15s ease; }
.ig-kpi-btn:hover { transform: translateY(-2px); }
.ig-kpi-top { display: flex; align-items: center; gap: 12px; }
.ig-kpi-label { color: var(--ig-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.ig-kpi-value { display: flex; align-items: center; gap: 10px; color: var(--ig-ink); font-size: 30px; font-weight: 800; letter-spacing: -.4px; margin-top: 8px; }
.ig-kpi-hint { color: var(--ig-muted); font-size: 12px; }
.ig-kpi-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--ig-accent), transparent); opacity: .5; }
.ig-var { display: inline-flex; border-radius: 999px; padding: 3px 9px; font-size: 11.5px; font-weight: 800; background: rgba(255, 255, 255, .08); letter-spacing: 0; }
.ig-var.up { color: #4ade80; }
.ig-var.down { color: #fca5a5; }
.ig-meta-track { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; margin: 2px 0 2px; }
.ig-meta-track i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ig-brand), var(--ig-accent)); box-shadow: 0 0 12px rgba(45, 212, 234, .5); }

/* Barras */
.ig-bars { display: flex; align-items: flex-end; gap: 8px; height: 210px; padding-top: 10px; }
.ig-bars.densa { gap: 4px; }
.ig-bar-col { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; height: 100%; }
.ig-bar-val { color: var(--ig-muted); font-size: 10px; font-weight: 700; margin-bottom: 6px; min-height: 12px; }
.ig-bar-track { flex: 1; width: 100%; display: flex; align-items: flex-end; background: rgba(255, 255, 255, .03); border-radius: 6px; }
.ig-bar-fill {
    width: 100%; border-radius: 6px 6px 3px 3px;
    background: linear-gradient(to top, var(--ig-brand) 0%, var(--ig-accent) 100%);
    box-shadow: 0 0 14px rgba(45, 212, 234, .45); transition: height .4s ease;
}
.ig-bar-lbl { color: var(--ig-muted); font-size: 10.5px; font-weight: 700; margin-top: 8px; }
.ig-bars.densa .ig-bar-lbl { font-size: 9px; }

/* Calendário */
.ig-cal-nav { display: flex; gap: 6px; }
.ig-cal-nav button {
    width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; cursor: pointer;
    background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); color: var(--ig-ink);
}
.ig-cal-nav button:hover { background: rgba(45, 212, 234, .15); }
.ig-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.ig-cal-sem { font-size: 10.5px; font-weight: 800; color: var(--ig-muted); text-transform: uppercase; letter-spacing: .04em; padding-bottom: 6px; }
.ig-cal-dia {
    position: relative; aspect-ratio: 1; border-radius: 10px; border: 0; cursor: pointer;
    background: transparent; color: var(--ig-ink); font-size: 13px; font-weight: 700;
}
.ig-cal-dia:hover { background: rgba(45, 212, 234, .12); }
.ig-cal-dia.fora { color: rgba(143, 185, 205, .35); }
.ig-cal-dia.hoje { background: var(--ig-accent); color: #001b29; box-shadow: 0 0 16px rgba(45, 212, 234, .45); }
.ig-cal-dia.sel { outline: 2px solid var(--ig-accent); outline-offset: -2px; }
.ig-cal-qtd {
    position: absolute; top: 1px; right: 1px; min-width: 15px; height: 15px; border-radius: 999px; padding: 0 4px;
    font-style: normal; font-size: 9px; line-height: 15px; font-weight: 800; background: #ef4444; color: #fff;
}

/* Ranking */
.ig-toplist { display: flex; flex-direction: column; gap: 14px; }
.ig-toprow { display: flex; align-items: center; gap: 12px; }
.ig-toprow-main { flex: 1; min-width: 0; }
.ig-toprow-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.ig-topname { color: var(--ig-ink); font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-topval { color: var(--ig-accent); font-size: 13px; font-weight: 700; }
.ig-topbar-track { height: 8px; background: rgba(255, 255, 255, .06); border-radius: 999px; overflow: hidden; }
.ig-topbar-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--ig-brand), var(--ig-accent)); box-shadow: 0 0 12px rgba(45, 212, 234, .4); }
.ig-avatar {
    width: 36px; height: 36px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; color: var(--ig-accent); background: rgba(45, 212, 234, .12); border: 1px solid rgba(45, 212, 234, .3);
}
.ig-toprow.eu .ig-avatar { background: var(--ig-accent); color: #001b29; }

/* Lista (cards escuros) */
.ig-list { display: flex; flex-direction: column; }
.ig-listrow { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.ig-listrow:last-child { border-bottom: 0; }
.ig-tag {
    width: 36px; height: 36px; border-radius: 11px; flex: none; display: flex; align-items: center; justify-content: center;
    color: #86efac; background: rgba(134, 239, 172, .12); border: 1px solid rgba(134, 239, 172, .25);
}
.ig-listmain { flex: 1; min-width: 0; }
.ig-listtitle { color: var(--ig-ink); font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-listmeta { color: var(--ig-muted); font-size: 12px; margin-top: 1px; }
.ig-listval { color: #86efac; font-size: 14px; font-weight: 800; }
.ig-empty { color: var(--ig-muted); font-size: 13px; text-align: center; padding: 24px 0; }

/* Compromissos + coluna lateral fixa (calendário sempre visível) */
.ig-agenda { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.ig-agenda-lado { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 16px; }
.ig-cal-dica { margin: 12px 0 0; font-size: 11.5px; color: var(--ig-muted); text-align: center; }
@media (max-width: 1100px) {
    .ig-agenda { grid-template-columns: 1fr; }
    .ig-agenda-lado { position: static; order: -1; }
}

/* Painel claro — compromissos */
.ig-panel { background: #fff; border: 1px solid var(--ig-line); border-radius: 20px; padding: 20px 22px 8px; }
.ig-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ig-panel-head h2 { font-size: 22px; font-weight: 700; color: var(--ig-text); }
.ig-panel-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ig-panel-tools .fi-btn { border-radius: 12px; }
.ig-search {
    display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; min-width: 240px;
    border: 1px solid rgba(2, 26, 51, .12); border-radius: 12px; color: #94a3b8; background: #fff;
}
.ig-search:focus-within { outline: 2px solid rgba(0, 102, 153, .3); outline-offset: 1px; }
.ig-search input { border: 0; outline: 0; box-shadow: none; padding: 0; flex: 1; font-size: 13px; color: var(--ig-text); background: transparent; }
.ig-search input:focus { box-shadow: none; }

.ig-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 16px 0 6px; background: #f4f7fb; border-radius: 999px; padding: 4px; width: fit-content; max-width: 100%; }
.ig-tab {
    border: 0; background: transparent; cursor: pointer; border-radius: 999px; padding: 7px 14px;
    font-size: 13px; font-weight: 700; color: #64748b; display: inline-flex; align-items: center; gap: 6px; transition: all .15s ease;
}
.ig-tab i { font-style: normal; font-size: 11px; background: rgba(100, 116, 139, .12); border-radius: 999px; padding: 1px 7px; }
.ig-tab:hover { color: var(--ig-navy); }
.ig-tab.on { background: linear-gradient(120deg, #013252, #01527d); color: #fff; box-shadow: 0 3px 10px rgba(1, 50, 82, .22); }
.ig-tab.on i { background: rgba(255, 255, 255, .18); }
.ig-tab-filtro {
    border: 0; cursor: pointer; border-radius: 999px; padding: 7px 12px; font-size: 12px; font-weight: 700;
    background: rgba(45, 212, 234, .15); color: #01527d;
}

.ig-rows { transition: opacity .15s ease; }
.ig-rows.carregando { opacity: .55; }
.ig-row {
    display: grid; grid-template-columns: 24px 24px 6px minmax(0, 1fr) 200px 150px; align-items: center; gap: 12px;
    padding: 13px 4px; border-bottom: 1px solid var(--ig-line);
}
.ig-row:last-child { border-bottom: 0; }
.ig-row:hover { background: #f8fbfd; }
.ig-check {
    width: 22px; height: 22px; border-radius: 7px; border: 2px solid #cbd5e1; background: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center; color: #fff; transition: all .15s ease;
}
.ig-check:hover { border-color: var(--ig-brand); }
.ig-row.feita .ig-check { background: #16a34a; border-color: #16a34a; }
.ig-star { border: 0; background: transparent; cursor: pointer; color: #cbd5e1; display: flex; padding: 0; }
.ig-star:hover, .ig-star.on { color: #f59e0b; }
.ig-prio { width: 6px; height: 28px; border-radius: 999px; background: #cbd5e1; }
.ig-prio-normal { background: #38bdf8; }
.ig-prio-alta { background: #f59e0b; }
.ig-prio-urgente { background: #ef4444; }
.ig-row-main { min-width: 0; cursor: default; }
.ig-row-title { font-size: 14px; font-weight: 600; color: var(--ig-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-row.nao-lida .ig-row-title { font-weight: 800; }
.ig-row.nao-lida .ig-row-title::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ig-brand); margin-right: 8px; vertical-align: middle; }
.ig-row.feita .ig-row-title { text-decoration: line-through; color: #94a3b8; }
.ig-row-meta { display: flex; align-items: center; gap: 8px; margin-top: 3px; min-width: 0; }
.ig-row-desc { font-size: 12px; color: #94a3b8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-chip-tipo {
    display: inline-flex; align-items: center; gap: 4px; flex: none;
    font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
    padding: 2px 8px; border-radius: 999px; background: #eef6fb; color: #01527d;
}
.ig-tipo-prazo { background: #fef2f2; color: #b91c1c; }
.ig-tipo-audiencia { background: #fffbeb; color: #b45309; }
.ig-tipo-reuniao { background: #ecfeff; color: #0e7490; }
.ig-tipo-compromisso { background: #f1f5f9; color: #475569; }
.ig-row-resp { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: .02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-row-prazo { font-size: 13px; font-weight: 700; color: #475569; text-align: right; }
.ig-row-prazo.atrasada { color: #dc2626; }
.ig-empty-lg { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 40px 0; color: #94a3b8; }
@media (max-width: 900px) {
    .ig-row { grid-template-columns: 24px 24px 6px minmax(0, 1fr); }
    .ig-row-resp { display: none; }
    .ig-row-prazo { grid-column: 4; text-align: left; font-size: 12px; }
    .ig-search { min-width: 0; flex: 1; }
}

/* ==========================================================================
   Quadro kanban (atividades, processos, CRM)
   ========================================================================== */
.ig-quadro-topo { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 4px; }
.ig-quadro-dica { font-size: 12.5px; color: var(--ig-text-2); }
.ig-quadro { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 12px; align-items: flex-start; transition: opacity .15s ease; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.ig-quadro.carregando { opacity: .6; }
.ig-coluna { flex: 0 0 290px; background: #eef3f8; border: 1px solid var(--ig-line); border-radius: 18px; display: flex; flex-direction: column; max-height: calc(100vh - 220px); }
.ig-coluna-head { display: flex; align-items: center; gap: 8px; padding: 14px 14px 10px; }
.ig-coluna-head h3 { margin: 0; font-size: 14px; font-weight: 800; color: var(--ig-text); flex: 1; }
.ig-coluna-head i { font-style: normal; font-size: 11.5px; font-weight: 800; color: #64748b; background: #fff; border-radius: 999px; padding: 2px 9px; }
.ig-coluna-dot { width: 10px; height: 10px; border-radius: 50%; background: #94a3b8; }
.ig-coluna-info .ig-coluna-dot { background: #06b6d4; }
.ig-coluna-primary .ig-coluna-dot { background: #006699; }
.ig-coluna-warning .ig-coluna-dot { background: #f59e0b; }
.ig-coluna-success .ig-coluna-dot { background: #16a34a; }
.ig-coluna-danger .ig-coluna-dot { background: #ef4444; }
.ig-coluna-lista { flex: 1; overflow-y: auto; padding: 0 10px 10px; display: flex; flex-direction: column; gap: 8px; min-height: 80px; }
.ig-coluna-resumo { padding: 10px 14px; border-top: 1px solid var(--ig-line); font-size: 12.5px; font-weight: 800; color: #01527d; }
.ig-cartao { background: #fff; border: 1px solid rgba(2, 26, 51, .08); border-radius: 14px; padding: 12px 13px; cursor: grab; box-shadow: 0 1px 2px rgba(2, 26, 51, .04); transition: box-shadow .15s ease, transform .15s ease; }
.ig-cartao:hover { box-shadow: 0 8px 20px -10px rgba(1, 50, 82, .35); transform: translateY(-1px); }
.ig-cartao.alerta { border-left: 4px solid #ef4444; }
.ig-cartao-fantasma { opacity: .35; background: rgba(45, 212, 234, .15); }
.ig-cartao-titulo { display: block; font-size: 13.5px; font-weight: 700; color: var(--ig-text); text-decoration: none; line-height: 1.35; }
a.ig-cartao-titulo:hover { color: var(--ig-brand); }
.ig-cartao-sub { margin: 4px 0 0; font-size: 12px; color: #64748b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-cartao-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 8px; }
.ig-cartao-tags span { font-size: 10.5px; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; }
.ig-cartao-tags .ig-tag-primary { background: #e0f2fe; color: #01527d; }
.ig-cartao-tags .ig-tag-info { background: #ecfeff; color: #0e7490; }
.ig-cartao-tags .ig-tag-warning { background: #fffbeb; color: #b45309; }
.ig-cartao-tags .ig-tag-danger { background: #fef2f2; color: #b91c1c; }
.ig-cartao-tags .ig-tag-success { background: #f0fdf4; color: #15803d; }
.ig-cartao-rodape { margin-top: 8px; font-size: 11.5px; font-weight: 700; color: #94a3b8; }

/* ==========================================================================
   Agenda
   ========================================================================== */
.ig-ag { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.ig-ag-main { background: #fff; border: 1px solid var(--ig-line); border-radius: 20px; padding: 16px; }
.ig-ag-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ig-ag-nav { display: flex; align-items: center; gap: 6px; }
.ig-ag-nav button { height: 34px; min-width: 34px; border-radius: 10px; border: 1px solid rgba(2, 26, 51, .12); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ig-text); font-weight: 700; font-size: 13px; }
.ig-ag-nav button:hover { background: #f4f7fb; }
.ig-ag-hoje { padding: 0 12px; }
.ig-ag-nav h2 { margin: 0 0 0 10px; font-family: 'Fraunces', Georgia, serif; font-size: 22px; color: var(--ig-text); }
.ig-ag .ic-sm { width: 18px; height: 18px; }
.ig-ag .ic { width: 26px; height: 26px; }
.ig-ag-filtros { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.ig-ag-select { height: 34px; border-radius: 10px; border: 1px solid rgba(2, 26, 51, .12); font-size: 13px; padding: 0 30px 0 10px; }
.ig-ag-chip { border: 0; cursor: pointer; font-size: 11.5px; font-weight: 800; padding: 6px 11px; border-radius: 999px; background: #eef6fb; color: #01527d; }
.ig-ag-chip.off { opacity: .35; }
.ig-ag-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--ig-line); border-left: 1px solid var(--ig-line); transition: opacity .15s ease; }
.ig-ag-grade.carregando { opacity: .6; }
.ig-ag-sem { padding: 8px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #64748b; border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); background: #f8fafc; }
.ig-ag-dia { min-height: 108px; padding: 6px; border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); cursor: pointer; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ig-ag-dia:hover { background: #f8fbfd; }
.ig-ag-dia.fds { background: #fbfcfd; }
.ig-ag-dia.fora .ig-ag-num { color: #cbd5e1; }
.ig-ag-dia.aberto { box-shadow: inset 0 0 0 2px var(--ig-accent); }
.ig-ag-num { font-size: 12.5px; font-weight: 800; color: var(--ig-text); width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ig-ag-dia.hoje .ig-ag-num { background: var(--ig-brand); color: #fff; }
.ig-ag-item { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 6px; background: #eef6fb; color: #01527d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-ag-item.feito { text-decoration: line-through; opacity: .55; }
.ig-ag-mais { font-size: 10.5px; font-weight: 800; color: #64748b; padding-left: 4px; }
.ig-ag-lado { position: sticky; top: 80px; }
.ig-ag-dialista { padding-bottom: 0; }
.ig-ag-lista { margin-top: 10px; }
.ig-ag-linha { display: flex; gap: 10px; align-items: flex-start; padding: 11px 0; border-bottom: 1px solid var(--ig-line); }
.ig-ag-hora { font-size: 13px; font-weight: 800; color: var(--ig-brand); min-width: 42px; }
.ig-ag-info { flex: 1; min-width: 0; }
.ig-ag-titulo { font-size: 14px; font-weight: 700; color: var(--ig-text); text-decoration: none; }
.ig-ag-titulo:hover { color: var(--ig-brand); }
.ig-ag-titulo.feito { text-decoration: line-through; color: #94a3b8; }
@media (max-width: 1200px) { .ig-ag { grid-template-columns: 1fr; } .ig-ag-lado { position: static; } }
@media (max-width: 700px) { .ig-ag-dia { min-height: 64px; } .ig-ag-item { display: none; } }
.ig-search .ic-sm { width: 18px; height: 18px; flex: none; }
.ig-ag .ig-empty, .ig-quadro .ig-empty { color: #94a3b8; }

/* ==========================================================================
   Agenda (mês / semana / dia)
   ========================================================================== */
.ig-agx { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 18px; align-items: start; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
.ig-agx .ic-sm { width: 18px; height: 18px; }
.ig-agx-filtros { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 14px; }
.ig-agx-visoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; background: #e9eff5; border-radius: 14px; padding: 4px; }
.ig-agx-visoes button { border: 0; background: transparent; border-radius: 11px; padding: 9px 0; font-size: 13px; font-weight: 700; color: #64748b; cursor: pointer; }
.ig-agx-visoes button.on { background: linear-gradient(120deg, #013252, #01527d); color: #fff; box-shadow: 0 3px 10px rgba(1, 50, 82, .22); }
.ig-agx-bloco { background: #fff; border: 1px solid var(--ig-line); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.ig-agx-bloco h3 { margin: 0; font-size: 13px; font-weight: 800; color: var(--ig-text); text-transform: uppercase; letter-spacing: .05em; }
.ig-agx-bloco-head { display: flex; justify-content: space-between; align-items: center; }
.ig-agx-bloco-head button { border: 0; background: none; color: var(--ig-brand); font-size: 12px; font-weight: 700; cursor: pointer; }
.ig-agx-pessoa { display: flex; align-items: center; gap: 10px; width: 100%; border: 1px solid transparent; background: #f4f7fb; border-radius: 12px; padding: 7px 9px; cursor: pointer; text-align: left; opacity: .55; transition: all .15s ease; }
.ig-agx-pessoa.on { opacity: 1; background: #eaf6fb; border-color: rgba(0, 102, 153, .25); }
.ig-agx-avatar { width: 28px; height: 28px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; background: var(--ig-brand); color: #fff; }
.ig-agx-nome { flex: 1; font-size: 13px; font-weight: 700; color: var(--ig-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-agx-marca { color: var(--ig-brand); visibility: hidden; }
.ig-agx-pessoa.on .ig-agx-marca { visibility: visible; }
.ig-agx-rotulo { font-size: 12px; font-weight: 700; color: #64748b; }
.ig-agx-select { height: 38px; border-radius: 10px; border: 1px solid rgba(2, 26, 51, .12); font-size: 13px; padding: 0 30px 0 10px; }
.ig-agx-check { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--ig-text); cursor: pointer; }
.ig-agx-check input { border-radius: 5px; }
.ig-agx-legenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: 13px; color: var(--ig-text); }
.ig-agx-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 6px; vertical-align: -1px; }
.ig-agx-legenda .pendente, .ig-agx-evento.pendente, .ig-agx-bloco-ev.pendente { background: #e0f2fe; color: #01527d; border-left: 3px solid #0a83bd; }
.ig-agx-legenda .concluida, .ig-agx-evento.concluida, .ig-agx-bloco-ev.concluida { background: #dcfce7; color: #166534; border-left: 3px solid #16a34a; }
.ig-agx-legenda .atrasada, .ig-agx-evento.atrasada, .ig-agx-bloco-ev.atrasada { background: #fee2e2; color: #991b1b; border-left: 3px solid #ef4444; }
.ig-agx-total { margin: 4px 0 0; font-size: 12px; color: #94a3b8; }

.ig-agx-cal { background: #fff; border: 1px solid var(--ig-line); border-radius: 20px; padding: 16px; transition: opacity .15s ease; min-width: 0; }
.ig-agx-cal.carregando { opacity: .6; }
.ig-agx-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ig-agx-nav { display: flex; align-items: center; gap: 6px; }
.ig-agx-nav button, .ig-agx-hoje { height: 36px; min-width: 36px; border-radius: 10px; border: 1px solid rgba(2, 26, 51, .12); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--ig-text); font-weight: 700; font-size: 13px; }
.ig-agx-hoje { padding: 0 14px; }
.ig-agx-nav button:hover, .ig-agx-hoje:hover { background: #f4f7fb; }
.ig-agx-nav h2 { margin: 0 0 0 10px; font-family: 'Fraunces', Georgia, serif; font-size: 24px; color: var(--ig-text); }
.ig-agx-acoes { display: flex; gap: 8px; align-items: center; }
.ig-agx-acoes .fi-btn { border-radius: 10px; }

/* Mês */
.ig-agx-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid var(--ig-line); border-left: 1px solid var(--ig-line); }
.ig-agx-sem { padding: 9px; text-align: center; font-size: 12px; font-weight: 800; color: #64748b; border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); background: #f8fafc; }
.ig-agx-celula { min-height: 128px; padding: 6px; border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); display: flex; flex-direction: column; gap: 3px; min-width: 0; cursor: cell; }
.ig-agx-celula:hover { background: #fafcfe; }
.ig-agx-celula.fds { background: #fbfcfd; }
.ig-agx-celula.fora .ig-agx-num { color: #cbd5e1; }
.ig-agx-num { align-self: flex-end; border: 0; background: none; cursor: pointer; width: 28px; height: 28px; border-radius: 50%; font-size: 13px; font-weight: 700; color: var(--ig-text); }
.ig-agx-num:hover { background: #eef6fb; }
.ig-agx-celula.hoje .ig-agx-num { background: var(--ig-brand); color: #fff; }
.ig-agx-evento { display: block; font-size: 11.5px; font-weight: 600; padding: 3px 6px; border-radius: 6px; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-agx-evento:hover { filter: brightness(.96); }
.ig-agx-mais { border: 0; background: none; text-align: left; font-size: 11px; font-weight: 800; color: #64748b; cursor: pointer; padding: 2px 4px; }

/* Semana / dia */
.ig-agx-grade { display: grid; grid-template-columns: 56px repeat(var(--dias), minmax(0, 1fr)); border-left: 1px solid var(--ig-line); border-top: 1px solid var(--ig-line); }
.ig-agx-canto { border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); background: #f8fafc; }
.ig-agx-rotulo-dia { font-size: 10px; font-weight: 700; color: #94a3b8; display: flex; align-items: center; justify-content: center; text-transform: uppercase; }
.ig-agx-diahead { border: 0; border-right: 1px solid var(--ig-line); border-bottom: 1px solid var(--ig-line); background: #f8fafc; padding: 8px 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ig-agx-diahead small { font-size: 10.5px; font-weight: 800; color: #64748b; }
.ig-agx-diahead b { font-size: 18px; color: var(--ig-text); width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.ig-agx-diahead.hoje b { background: var(--ig-brand); color: #fff; }
.ig-agx-diatodo { min-height: 34px; padding: 4px; border-right: 1px solid var(--ig-line); border-bottom: 2px solid rgba(2, 26, 51, .12); display: flex; flex-direction: column; gap: 3px; cursor: cell; }
.ig-agx-horas { display: grid; grid-template-rows: repeat(17, 52px); border-right: 1px solid var(--ig-line); }
.ig-agx-horas span { font-size: 10.5px; font-weight: 700; color: #94a3b8; text-align: right; padding: 2px 6px 0 0; border-bottom: 1px solid var(--ig-line); }
.ig-agx-coluna { position: relative; display: grid; grid-template-rows: repeat(17, 52px); border-right: 1px solid var(--ig-line); }
.ig-agx-coluna.hoje { background: rgba(45, 212, 234, .04); }
.ig-agx-slot { border: 0; border-bottom: 1px solid var(--ig-line); background: transparent; cursor: cell; }
.ig-agx-slot:hover { background: rgba(0, 102, 153, .06); }
.ig-agx-bloco-ev { position: absolute; margin: 0 1px; padding: 4px 6px; border-radius: 8px; text-decoration: none; overflow: hidden; display: flex; flex-direction: column; gap: 1px; font-size: 11.5px; line-height: 1.25; box-shadow: 0 2px 6px rgba(2, 26, 51, .08); z-index: 1; }
.ig-agx-bloco-ev:hover { z-index: 2; box-shadow: 0 8px 18px rgba(2, 26, 51, .18); }
.ig-agx-bloco-ev b { font-size: 10.5px; }
.ig-agx-bloco-ev span { font-weight: 700; }
.ig-agx-bloco-ev small { font-size: 11px; opacity: .85; }
.ig-agx-agora { position: absolute; left: 0; right: 0; height: 2px; background: #ef4444; z-index: 3; pointer-events: none; }
.ig-agx-agora::before { content: ''; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: #ef4444; }
@media (max-width: 1100px) { .ig-agx { grid-template-columns: 1fr; } .ig-agx-filtros { position: static; } }
@media (max-width: 700px) { .ig-agx-celula { min-height: 70px; } .ig-agx-evento { font-size: 0; height: 6px; padding: 0; } }

/* ---------- Cabeçalho das páginas: título/breadcrumb nunca espremidos ----------
   O Filament marca a caixa de botões com shrink-0; com muitos botões (ex.: editar processo) ela empurrava
   o título para uma coluna estreita. Agora o título tem largura mínima e os botões descem e quebram linha. */
.fi-header { flex-wrap: wrap; row-gap: .75rem; }
.fi-header > div:first-child { flex: 1 1 24rem; min-width: 0; }
.fi-header > div:last-child { flex: 0 1 auto; flex-wrap: wrap; max-width: 100%; margin-top: 0; }
.fi-header .fi-ac { flex-wrap: wrap; gap: .5rem; }
.fi-header .fi-breadcrumbs ol { flex-wrap: wrap; row-gap: .25rem; }
.fi-header .fi-breadcrumbs-item-label { white-space: nowrap; max-width: 32rem; overflow: hidden; text-overflow: ellipsis; }
