:root {
    --blue-950: #00132f;
    --blue-850: #05235a;
    --blue-700: #0b3f91;
    --bg: #f4f7fb;
    --panel: #ffffff;
    --line: #d9e1ee;
    --text: #172033;
    --muted: #6b7689;
    --ok: #0f7a4f;
}

.department-empty {
    grid-column: 1 / -1;
    border: 1px dashed #c8d5e8;
    border-radius: 8px;
    padding: 28px;
    background: #f8fbff;
    color: #00132f;
}

.department-empty h2 {
    margin: 0 0 8px;
    font-size: 20px;
}

.department-empty p {
    margin: 0;
    color: #5b6b86;
}

.access-page {
    min-height: 100vh;
    margin: 0;
    background: #f1f5fa;
    color: #00132f;
}

.access-topbar {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 22px 42px;
    background: #00132f;
    color: #fff;
}

.access-topbar img {
    display: block;
    width: 230px;
    max-height: 50px;
    object-fit: contain;
}

.access-topbar span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.access-topbar h1 {
    margin: 4px 0 0;
    color: #fff;
    font-size: 28px;
    line-height: 1.1;
}

.access-topbar nav,
.access-actions,
.access-form-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.access-shell {
    width: min(1280px, calc(100% - 48px));
    margin: 28px auto 56px;
}

.access-panel {
    margin-bottom: 22px;
    border: 1px solid #d6e0ef;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(17, 35, 64, 0.08);
    overflow: hidden;
}

.access-panel-header {
    padding: 24px 28px;
    border-bottom: 1px solid #dbe4f1;
}

.access-panel-header span {
    color: #5b6b86;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.access-panel-header h2 {
    margin: 6px 0 6px;
    font-size: 25px;
}

.access-panel-header p {
    margin: 0;
    color: #5b6b86;
    font-size: 16px;
}

.access-table-wrap {
    overflow-x: auto;
}

.access-table {
    width: 100%;
    border-collapse: collapse;
}

.access-table th,
.access-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #e1e8f2;
    text-align: left;
    vertical-align: middle;
}

.access-table th {
    background: #eef4fb;
    color: #00132f;
    font-size: 13px;
    text-transform: uppercase;
}

.access-actions form {
    margin: 0;
}

.access-actions .danger {
    color: #d92d20;
}

.access-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 26px 28px 30px;
}

.access-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #00132f;
    font-weight: 800;
}

.access-form-grid input[type="text"],
.access-form-grid input[type="email"],
.access-form-grid input[type="password"] {
    width: 100%;
    border: 1px solid #cfd9ea;
    border-radius: 8px;
    padding: 14px 16px;
    font: inherit;
    color: #00132f;
}

.access-form-grid small,
.access-check small {
    color: #657693;
    font-size: 13px;
    font-weight: 600;
}

.access-check {
    flex-direction: row !important;
    align-items: center;
    gap: 10px !important;
    cursor: pointer;
}

.access-check input {
    width: 18px;
    height: 18px;
    accent-color: #0b4eb3;
}

.access-admin-check {
    grid-column: 1 / -1;
    padding: 16px;
    border: 1px solid #dbe4f1;
    border-radius: 8px;
    background: #f7fbff;
}

.permission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 24px 28px 30px;
}

.permission-card {
    border: 1px solid #dbe4f1;
    border-radius: 10px;
    padding: 18px;
    background: #fbfdff;
}

.permission-title {
    padding-bottom: 14px;
    border-bottom: 1px solid #e2e9f4;
    font-size: 18px;
    font-weight: 900;
}

.permission-submenus {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.access-form-actions {
    justify-content: flex-end;
    margin-bottom: 56px;
}

.access-messages,
.access-errors {
    margin-bottom: 18px;
    border: 1px solid #b8d6c4;
    border-radius: 8px;
    background: #ecfdf3;
    padding: 14px 18px;
    color: #047857;
    font-weight: 700;
}

.access-errors {
    border-color: #f4c7c3;
    background: #fff4f2;
    color: #b42318;
}

@media (max-width: 900px) {
    .access-topbar,
    .access-form-grid,
    .permission-grid {
        grid-template-columns: 1fr;
    }

    .access-topbar nav,
    .access-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .permission-submenus {
        grid-template-columns: 1fr;
    }
}

/* Notificações e menções do Chat Interno. */
.chat-menu-entry { position: relative; }
.global-chat-badge {
    margin-left: auto;
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}
.global-chat-toast,
.chat-incoming-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 5000;
    width: min(360px, calc(100vw - 32px));
    padding: 16px 18px;
    display: grid;
    gap: 4px;
    border: 1px solid #b9cef2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(0, 24, 65, .2);
    color: #071a3b;
    text-decoration: none;
}
.global-chat-toast[hidden], .chat-incoming-toast[hidden] { display: none; }
.global-chat-toast strong, .chat-incoming-toast strong { color: #104aa6; }
.global-chat-toast span, .chat-incoming-toast span { color: #5d6d87; font-size: 14px; }
.chat-mention-counter,
.chat-mentioned-you {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border-radius: 999px;
    background: #fff1c7;
    color: #8a5700;
    font-size: 12px;
    font-weight: 800;
}
.chat-mention-counter[hidden] { display: none; }
.chat-compose-options { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; }
.chat-mention-select { display: grid; gap: 5px; color: #52647f; font-size: 12px; font-weight: 800; }
.chat-mention-select select {
    min-width: 260px;
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid #cad7e8;
    border-radius: 7px;
    background: #fff;
    color: #17233a;
}
@media (max-width: 700px) {
    .chat-mention-select, .chat-mention-select select { width: 100%; min-width: 0; }
    .chat-compose-options { width: 100%; }
}

/* Mini chat flutuante disponível nos demais departamentos. */
.chat-widget {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 4200;
    font-family: inherit;
}
.chat-widget-trigger {
    position: relative;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #1554c6;
    color: #fff;
    box-shadow: 0 14px 34px rgba(0, 35, 94, .3);
    cursor: pointer;
}
.chat-widget-trigger svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.chat-widget-badge {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}
.chat-widget-badge[hidden] { display: none; }
.chat-widget-panel {
    position: absolute;
    right: 0;
    bottom: 72px;
    width: min(390px, calc(100vw - 32px));
    height: min(590px, calc(100vh - 120px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #cbd8e8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(0, 28, 74, .25);
}
.chat-widget-panel[hidden] { display: none; }
.chat-widget-header {
    min-height: 68px;
    padding: 13px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #001b44;
    color: #fff;
}
.chat-widget-header > div { display: grid; gap: 2px; }
.chat-widget-header > div:last-child { display: flex; align-items: center; gap: 8px; }
.chat-widget-header span { color: #91acd0; font-size: 11px; text-transform: uppercase; }
.chat-widget-header strong { font-size: 18px; }
.chat-widget-header a, .chat-widget-header button { color: #fff; font-weight: 800; text-decoration: none; }
.chat-widget-header a { padding: 7px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; font-size: 12px; }
.chat-widget-header button { width: 32px; height: 32px; border: 0; background: transparent; font-size: 24px; cursor: pointer; }
.chat-widget-list-view, .chat-widget-conversation-view { min-height: 0; display: grid; }
.chat-widget-list-view { grid-template-rows: auto minmax(0, 1fr) auto; }
.chat-widget-list-view[hidden], .chat-widget-conversation-view[hidden] { display: none; }
.chat-widget-list-heading { padding: 15px; display: grid; gap: 2px; border-bottom: 1px solid #e0e7f0; }
.chat-widget-list-heading strong { color: #071a3b; }
.chat-widget-list-heading small { color: #6a7b94; }
.chat-widget-conversations { min-height: 0; overflow-y: auto; }
.chat-widget-conversation-item {
    width: 100%;
    min-height: 68px;
    padding: 10px 14px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    border: 0;
    border-bottom: 1px solid #e7edf5;
    background: #fff;
    color: #17233a;
    text-align: left;
    cursor: pointer;
}
.chat-widget-conversation-item:hover { background: #f5f8fd; }
.chat-widget-conversation-item > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.chat-widget-conversation-item strong, .chat-widget-conversation-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chat-widget-conversation-item small { color: #6a7b94; }
.chat-widget-conversation-item b { min-width: 23px; height: 23px; display: grid; place-items: center; border-radius: 999px; background: #ef4444; color: #fff; font-size: 11px; }
.chat-widget-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e5efff; color: #1554c6; font-weight: 900; }
.chat-widget-loading { display: block; padding: 20px; color: #6a7b94; text-align: center; }
.chat-widget-all-contacts { padding: 13px; border-top: 1px solid #e0e7f0; color: #1554c6; font-size: 13px; font-weight: 800; text-align: center; text-decoration: none; }
.chat-widget-conversation-view { grid-template-rows: auto minmax(0, 1fr) auto; }
.chat-widget-conversation-title { min-height: 58px; padding: 10px 13px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #e0e7f0; }
.chat-widget-conversation-title button { width: 34px; height: 34px; border: 1px solid #cbd8e8; border-radius: 6px; background: #fff; color: #1554c6; cursor: pointer; }
.chat-widget-conversation-title div { display: grid; }
.chat-widget-conversation-title small { color: #6a7b94; }
.chat-widget-messages { min-height: 0; padding: 14px; display: flex; flex-direction: column; gap: 9px; overflow-y: auto; background: #f3f7fc; }
.chat-widget-message { max-width: 86%; padding: 9px 11px; border: 1px solid #d9e3f0; border-radius: 4px 9px 9px 9px; background: #fff; }
.chat-widget-message.mine { align-self: flex-end; border-color: #bfe8d3; background: #eaf9f1; }
.chat-widget-message small { color: #718099; font-size: 10px; }
.chat-widget-message p { margin: 4px 0 0; color: #203653; line-height: 1.4; overflow-wrap: anywhere; }
.chat-widget-form { padding: 10px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; border-top: 1px solid #dce5f0; background: #fff; }
.chat-widget-form textarea { min-width: 0; min-height: 46px; max-height: 100px; padding: 10px; border: 1px solid #cbd8e8; border-radius: 7px; resize: vertical; }
.chat-widget-form button { min-height: 44px; padding: 0 14px; border: 0; border-radius: 7px; background: #1554c6; color: #fff; font-weight: 800; cursor: pointer; }
.global-chat-toast { bottom: 96px; }
@media (max-width: 600px) {
    .chat-widget { right: 16px; bottom: 16px; }
    .chat-widget-panel { bottom: 68px; height: min(560px, calc(100vh - 100px)); }
}

/* Inventários periódicos de equipamentos. */
.inventory-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:18px; }
.inventory-card { padding:20px; border:1px solid #d5dfed; border-radius:8px; background:#fff; box-shadow:0 12px 28px rgba(18,47,91,.06); }
.inventory-card.is-overdue { border-color:#f2b6bb; box-shadow:0 12px 28px rgba(190,38,51,.08); }
.inventory-card.is-overdue .inventory-card-foot small b { color:#c62838; }
.inventory-card-head, .inventory-card-foot, .inventory-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.inventory-card-head span { color:#1554c6; font-size:12px; font-weight:800; text-transform:uppercase; }
.inventory-card-head h3 { margin:5px 0; font-size:20px; }
.inventory-card-head p, .inventory-card-foot small { margin:0; color:#65738c; }
.inventory-status { padding:7px 10px; border-radius:999px; background:#fff2db; color:#a95d00; font-size:12px; white-space:nowrap; }
.inventory-status.is-done { background:#dcf8e8; color:#087a49; }
.inventory-progress { height:10px; overflow:hidden; margin:20px 0 12px; border-radius:999px; background:#e8eef6; }
.inventory-progress i { display:block; height:100%; border-radius:999px; background:#18b96b; }
.inventory-progress.is-large { position:relative; height:14px; margin:18px 0 24px; }
.inventory-progress.is-large span { position:absolute; top:-24px; right:0; color:#1554c6; font-size:13px; font-weight:800; }
.inventory-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; color:#65738c; font-size:12px; }
.inventory-stats span { padding:10px; border-radius:6px; background:#f6f8fb; }
.inventory-stats b { display:block; color:#17233a; font-size:17px; }
.inventory-card-foot { align-items:center; margin-top:17px; padding-top:15px; border-top:1px solid #e5ebf3; }
.inventory-card-foot a, .inventory-detail-head a { color:#1554c6; font-weight:800; text-decoration:none; }
.inventory-messages { margin:0 0 18px; padding:12px 16px; border:1px solid #bcd2f5; border-radius:7px; background:#eef5ff; color:#173b76; }
.inventory-messages p { margin:0; }
.inventory-form-card { max-width:980px; }
.inventory-form-note { margin:18px 0; padding:14px 16px; border-radius:7px; background:#f4f7fb; color:#52647f; }
.inventory-detail-head { align-items:center; margin-bottom:22px; }
.inventory-detail-head h2 { margin:8px 0 4px; font-size:27px; }
.inventory-detail-head p { margin:0; color:#65738c; }
.inventory-detail-head button { border:0; cursor:pointer; }
.inventory-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.inventory-metrics > div { padding:17px 19px; border:1px solid #d5dfed; border-radius:8px; background:#fff; }
.inventory-metrics span, .inventory-metrics strong { display:block; }
.inventory-metrics span { color:#65738c; }
.inventory-metrics strong { margin-top:5px; color:#1554c6; font-size:28px; }
.inventory-metrics .is-green strong { color:#079b58; } .inventory-metrics .is-orange strong { color:#d96c00; } .inventory-metrics .is-red strong { color:#dc3545; }
.inventory-filters { display:grid; grid-template-columns:minmax(260px,1fr) 250px auto; align-items:end; gap:12px; margin:0 0 18px; padding:18px; border:1px solid #d5dfed; border-radius:8px; background:#fff; }
.inventory-filters label, .inventory-item form label { display:grid; gap:7px; color:#52647f; font-size:13px; font-weight:700; }
.inventory-filters input, .inventory-filters select, .inventory-item input, .inventory-item select { width:100%; min-height:44px; padding:0 12px; border:1px solid #ccd8e8; border-radius:7px; background:#fff; color:#17233a; font:inherit; }
.inventory-filters button, .inventory-item form button { min-height:44px; padding:0 18px; border:0; border-radius:7px; background:#1554c6; color:#fff; font-weight:800; cursor:pointer; }
.inventory-items { display:grid; gap:10px; }
.inventory-item { overflow:hidden; border:1px solid #d5dfed; border-left:5px solid #e3a01a; border-radius:8px; background:#fff; }
.inventory-item.result-conferido { border-left-color:#18b96b; }
.inventory-item.result-divergencia, .inventory-item.result-nao_localizado, .inventory-item.result-danificado, .inventory-item.result-manutencao { border-left-color:#dc3545; }
.inventory-item summary { display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:16px; padding:16px 18px; cursor:pointer; list-style:none; }
.inventory-item summary::-webkit-details-marker { display:none; }
.inventory-item summary strong, .inventory-item summary span { display:block; }
.inventory-item summary span { margin-top:3px; color:#65738c; font-size:13px; }
.inventory-item summary > b { padding:7px 10px; border-radius:999px; background:#eef4ff; color:#1554c6; font-size:12px; }
.inventory-item form { display:grid; grid-template-columns:220px 1fr 2fr auto; align-items:end; gap:12px; padding:17px 18px; border-top:1px solid #e5ebf3; background:#f8fafc; }
.inventory-item-snapshot { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:18px; color:#65738c; font-size:13px; }
.inventory-item form button:disabled { opacity:.45; cursor:not-allowed; }
.inventory-pagination { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:22px; }
.inventory-pagination a { padding:9px 14px; border:1px solid #ccd8e8; border-radius:7px; color:#1554c6; font-weight:800; text-decoration:none; }
@media (max-width:980px) { .inventory-metrics { grid-template-columns:repeat(2,1fr); } .inventory-filters, .inventory-item form { grid-template-columns:1fr; } .inventory-item summary { grid-template-columns:1fr; } }
@media (max-width:620px) { .inventory-grid, .inventory-metrics { grid-template-columns:1fr; } .inventory-card-head, .inventory-card-foot, .inventory-detail-head { flex-direction:column; } }

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: "Segoe UI", Arial, sans-serif;
}

a {
    color: var(--blue-700);
    text-decoration: none;
}

a:hover {
    color: var(--blue-850);
}

.app-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 100vh;
}

.sidebar {
    background: var(--blue-950);
    color: #fff;
    padding: 26px 22px;
}

.brand {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #fff;
    margin-bottom: 34px;
}

.brand img {
    width: 215px;
    max-width: 100%;
    object-fit: contain;
}

.brand span {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.82);
}

.nav {
    display: grid;
    gap: 7px;
}

.nav a {
    color: rgba(255, 255, 255, 0.84);
    padding: 11px 12px;
    border-radius: 8px;
    font-weight: 600;
}

.nav a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.main {
    min-width: 0;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 92px;
    padding: 24px 34px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.topbar p {
    margin: 0 0 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.topbar h1 {
    margin: 0;
    color: var(--text);
    font-size: 26px;
    line-height: 1.15;
}

.topbar-actions,
.actions-row,
.form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.topbar-actions form {
    margin: 0;
}

.content {
    padding: 30px 34px 42px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.metrics-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.metric-card,
.panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.06);
}

.metric-card {
    position: relative;
    padding: 20px;
    overflow: hidden;
}

.metric-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--blue-700);
}

.metric-card span {
    display: block;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}

.metric-card strong {
    color: var(--blue-950);
    font-size: 28px;
}

.metric-card-emphasis {
    background: var(--blue-950);
}

.metric-card-emphasis::before {
    background: #3b82f6;
}

.metric-card-emphasis span,
.metric-card-emphasis strong {
    color: #fff;
}

.dashboard-grid,
.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 24px;
}

.panel {
    overflow: hidden;
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
}

.panel-header h2,
.info-card h2 {
    margin: 0;
    font-size: 17px;
}

.panel-header p {
    margin: 4px 0 0;
    color: var(--muted);
}

.turnover-panel,
.dashboard-kpi-panel {
    margin-bottom: 24px;
}

.expiry-panel {
    margin-bottom: 24px;
}

.expiry-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.expiry-grid > div {
    padding: 18px 20px;
}

.expiry-grid > div:first-child {
    border-right: 1px solid var(--line);
}

.expiry-grid h3 {
    margin: 0 0 12px;
    color: var(--blue-950);
    font-size: 15px;
}

.stack-list.compact {
    padding: 0;
}

.dashboard-filter {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
}

.indicator-filter {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.card-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    padding: 14px 18px;
}

.card-filter .primary-button {
    grid-column: 1 / -1;
}

.birthday-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.turnover-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.turnover-summary article {
    padding: 18px 20px;
    border-right: 1px solid var(--line);
}

.turnover-summary article:last-child {
    border-right: 0;
}

.turnover-summary span {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.turnover-summary strong {
    color: var(--blue-950);
    font-size: 24px;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    padding: 18px 20px 20px;
}

.dashboard-kpi-card {
    position: relative;
    display: grid;
    align-content: start;
    min-height: 146px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 26px rgba(17, 35, 64, 0.06);
    overflow: hidden;
}

.dashboard-kpi-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--blue-700);
}

.dashboard-kpi-card span {
    color: var(--blue-950);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.dashboard-kpi-card strong {
    margin-top: 14px;
    color: var(--blue-950);
    font-size: 42px;
    line-height: 1;
}

.dashboard-kpi-card small {
    margin-top: 12px;
    color: var(--muted);
    font-weight: 700;
}

.kpi-hiring::before {
    background: #0f9f6e;
}

.kpi-hiring strong {
    color: #0f9f6e;
}

.kpi-exits::before {
    background: #ef4444;
}

.kpi-exits strong {
    color: #ef4444;
}

.kpi-active::before {
    background: #3b82f6;
}

.kpi-active strong {
    color: #3b82f6;
}

.kpi-turnover::before {
    background: #7c3aed;
}

.kpi-turnover strong {
    color: #7c3aed;
}

.dashboard-overview-grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.95fr) minmax(520px, 1.55fr);
    align-items: start;
    gap: 20px;
    margin-bottom: 24px;
}

.dashboard-side-column {
    display: grid;
    gap: 20px;
}

.dashboard-list-card,
.talent-dashboard {
    border-color: #e3e9f3;
    box-shadow: 0 18px 38px rgba(17, 35, 64, 0.08);
    overflow: hidden;
}

.highlight-panel .compact-header {
    min-height: auto;
    padding-bottom: 12px;
}

.panel-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--blue-950);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    flex: 0 0 auto;
}

.birthday-panel .panel-badge {
    background: #0f7a4f;
}

.dashboard-icon-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: transparent;
    font-size: 0;
    flex: 0 0 auto;
}

.dashboard-icon-badge::before,
.dashboard-icon-badge::after {
    content: "";
    position: absolute;
    border: 2px solid currentColor;
}

.contract-icon {
    background: #f3e8ff;
    color: #7c3aed;
}

.contract-icon::before {
    width: 15px;
    height: 17px;
    border-radius: 4px;
}

.contract-icon::after {
    width: 8px;
    height: 2px;
    border-width: 2px 0 0;
    transform: translateY(-5px);
}

.birthday-icon {
    background: #f3e8ff;
    color: #9333ea;
}

.birthday-icon::before {
    width: 17px;
    height: 14px;
    border-radius: 3px;
    transform: translateY(3px);
}

.birthday-icon::after {
    width: 2px;
    height: 24px;
    border-width: 0 0 0 2px;
}

.dashboard-table-head {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(70px, 0.65fr) 82px;
    gap: 10px;
    padding: 12px 18px 6px;
    color: var(--blue-950);
    font-size: 12px;
    font-weight: 900;
}

.highlight-list {
    display: grid;
    gap: 0;
    padding: 0 18px 16px;
}

.highlight-list article,
.empty-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 62px;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}

.highlight-list article:hover {
    border-color: var(--line);
    background: #f8fbff;
}

.highlight-list article div,
.empty-highlight {
    min-width: 0;
}

.highlight-list strong,
.empty-highlight strong {
    display: block;
    color: var(--blue-950);
    overflow: hidden;
    text-overflow: ellipsis;
}

.highlight-list span,
.empty-highlight span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}

.highlight-list time {
    min-width: auto;
    min-height: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--blue-950);
    font-size: 13px;
    font-weight: 800;
    text-align: right;
}

.birthday-panel .highlight-list time {
    background: transparent;
    color: var(--blue-950);
}

.empty-highlight {
    margin-top: 10px;
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    background: #f8fafc;
}

.dashboard-clean-list article {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(70px, 0.65fr) 82px;
    gap: 10px;
}

.birthday-clean-list article {
    grid-template-columns: minmax(0, 1fr) 52px;
}

.person-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.person-cell img,
.avatar-initial {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex: 0 0 auto;
}

.person-cell img {
    object-fit: cover;
}

.avatar-initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eaf2ff;
    color: var(--blue-850);
    font-size: 13px;
    font-weight: 900;
}

.area-cell {
    align-self: center;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--blue-950);
    font-size: 13px;
    font-weight: 700;
}

.stack-list {
    display: grid;
    gap: 12px;
    padding: 18px 20px;
}

.stack-list article {
    display: grid;
    gap: 4px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
}

.stack-list span,
.info-card p {
    color: var(--muted);
}

.list-tools {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.list-tools input {
    width: min(420px, 100%);
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 18px;
}

.pagination span {
    color: var(--muted);
    font-weight: 800;
}

.filter-panel {
    margin-bottom: 18px;
}

.filters-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 18px 20px;
}

.filter-actions {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}

.table-wrap {
    width: 100%;
    overflow-x: auto;
}

.base-section {
    margin-bottom: 22px;
}

.table-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

th {
    background: #eef3fa;
    color: var(--text);
    font-size: 12px;
    text-transform: uppercase;
}

.status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eaf2ff;
    color: var(--blue-850);
    font-size: 12px;
    font-weight: 700;
}

.talent-tag-talento {
    background: #dcfce7;
    color: #166534;
}

.talent-tag-neutro {
    background: #fef3c7;
    color: #92400e;
}

.talent-tag-atencao {
    background: #fee2e2;
    color: #991b1b;
}

.talent-dashboard {
    margin-bottom: 0;
}

.talent-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.talent-donut-layout {
    display: grid;
    grid-template-columns: minmax(210px, 0.72fr) minmax(280px, 1fr);
    align-items: center;
    gap: 20px;
    padding: 24px;
}

.talent-donut-wrap {
    display: flex;
    justify-content: center;
}

.talent-donut {
    position: relative;
    display: grid;
    place-items: center;
    width: min(240px, 100%);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        conic-gradient(
            #10b981 var(--talento-start, 0deg) var(--talento-end, 0deg),
            #f59e0b var(--neutro-start, 0deg) var(--neutro-end, 0deg),
            #ef4444 var(--atencao-start, 0deg) var(--atencao-end, 0deg),
            #e5e7eb 0deg
        );
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04), 0 18px 36px rgba(17, 35, 64, 0.08);
}

.talent-donut::before {
    content: "";
    position: absolute;
    inset: 26%;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17, 35, 64, 0.08);
}

.talent-donut-center {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    max-width: 110px;
    text-align: center;
}

.talent-donut-center strong {
    color: var(--blue-950);
    font-size: 34px;
    line-height: 1;
}

.talent-donut-center span {
    margin-top: 6px;
    color: var(--blue-950);
    font-size: 12px;
    line-height: 1.25;
}

.talent-summary-list {
    display: grid;
    gap: 12px;
}

.talent-summary-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 72px;
    padding: 12px 14px;
    border-radius: 8px;
}

.talent-summary-card strong {
    display: block;
    font-size: 15px;
    text-transform: uppercase;
}

.talent-summary-card span {
    display: block;
    margin-top: 4px;
    color: var(--blue-950);
    font-size: 13px;
}

.talent-summary-card em {
    color: inherit;
    font-size: 21px;
    font-style: normal;
    font-weight: 900;
    text-align: right;
}

.talent-summary-card small {
    display: block;
    font-size: 13px;
    font-weight: 800;
}

.talent-summary-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: currentColor;
    opacity: 0.9;
}

.talent-summary-talento {
    background: #ecfdf5;
    color: #059669;
}

.talent-summary-neutro {
    background: #fff7ed;
    color: #f59e0b;
}

.talent-summary-atencao {
    background: #fef2f2;
    color: #ef4444;
}

.talent-detail-link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 24px 18px;
    min-height: 44px;
    border-radius: 8px;
    background: #f5f0ff;
    color: #7c3aed;
    font-weight: 900;
}

.talent-bar-row {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(180px, 2fr) 72px;
    align-items: center;
    gap: 14px;
}

.talent-bar-label {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.talent-bar-label strong,
.talent-percent {
    color: var(--blue-950);
    font-size: 13px;
}

.talent-bar-track {
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf2f7;
}

.talent-bar {
    height: 100%;
    border-radius: inherit;
}

.talent-bar-talento {
    background: #22c55e;
}

.talent-bar-neutro {
    background: #f59e0b;
}

.talent-bar-atencao {
    background: #ef4444;
}

.recruitment-shell {
    grid-template-columns: 240px minmax(0, 1fr);
}

.recruitment-sidebar {
    padding: 18px 0 22px;
    overflow-x: hidden;
}

.recruitment-brand {
    margin: 0 0 24px;
    padding: 0 18px;
}

.recruitment-brand img {
    width: 208px;
}

.recruitment-menu {
    gap: 8px;
}

.recruitment-menu > a,
.recruitment-parent {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    margin: 0 16px 0 0;
    padding: 10px 14px;
    border-radius: 0 8px 8px 0;
    border: 0;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font: inherit;
    text-align: left;
}

.recruitment-parent {
    width: calc(100% - 16px);
    font-weight: 800;
    cursor: pointer;
}

.recruitment-menu > a:hover,
.recruitment-parent:hover {
    background: rgba(255, 255, 255, 0.09);
    color: #fff;
}

.recruitment-parent:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.55);
    outline-offset: 2px;
}

.recruitment-parent strong {
    flex: 1;
}

.recruitment-chevron {
    width: 9px;
    height: 9px;
    border-right: 2px solid rgba(255, 255, 255, 0.72);
    border-bottom: 2px solid rgba(255, 255, 255, 0.72);
    transform: rotate(45deg);
    transition: transform 0.18s ease;
}

.recruitment-parent[aria-expanded="false"] .recruitment-chevron {
    transform: rotate(-45deg);
}

.recruitment-menu-icon,
.recruitment-subnav span,
.equipment-parent span:first-child,
.equipment-subnav span,
.equipment-main-link span,
.equipment-sidebar-actions span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 7px;
    color: #fff;
    font-size: 0;
    letter-spacing: 0;
    font-weight: 800;
    flex: 0 0 auto;
}

.recruitment-menu-icon::before,
.recruitment-menu-icon::after,
.recruitment-subnav span::before,
.recruitment-subnav span::after,
.equipment-parent span:first-child::before,
.equipment-parent span:first-child::after,
.equipment-subnav span::before,
.equipment-subnav span::after,
.equipment-main-link span::before,
.equipment-main-link span::after,
.equipment-sidebar-actions span::before,
.equipment-sidebar-actions span::after {
    content: "";
    position: absolute;
    border-color: currentColor;
}

.menu-icon-user::before {
    width: 7px;
    height: 7px;
    top: 7px;
    left: 10px;
    border: 1.8px solid currentColor;
    border-radius: 50%;
}

.menu-icon-user::after {
    width: 14px;
    height: 8px;
    left: 6px;
    bottom: 6px;
    border: 1.8px solid currentColor;
    border-top: 0;
    border-radius: 0 0 9px 9px;
}

.menu-icon-users::before {
    width: 7px;
    height: 7px;
    top: 6px;
    left: 10px;
    border: 1.8px solid currentColor;
    border-radius: 50%;
}

.menu-icon-users::after {
    width: 17px;
    height: 9px;
    left: 5px;
    bottom: 6px;
    border: 1.8px solid currentColor;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    box-shadow: -5px -4px 0 -3px currentColor, 5px -4px 0 -3px currentColor;
}

.menu-icon-card::before {
    inset: 8px 6px;
    border: 1.8px solid currentColor;
    border-radius: 3px;
}

.menu-icon-card::after {
    left: 9px;
    right: 9px;
    top: 14px;
    border-top: 1.8px solid currentColor;
}

.menu-icon-chart::before {
    left: 8px;
    bottom: 8px;
    width: 13px;
    height: 10px;
    border-left: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
}

.menu-icon-chart::after {
    left: 10px;
    bottom: 11px;
    width: 10px;
    height: 7px;
    border-left: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: skewY(-28deg);
}

.menu-icon-cap::before {
    width: 13px;
    height: 13px;
    left: 7px;
    top: 7px;
    border: 1.8px solid currentColor;
    transform: rotate(45deg) scale(0.78);
}

.menu-icon-cap::after {
    width: 10px;
    height: 5px;
    left: 9px;
    bottom: 7px;
    border: 1.8px solid currentColor;
    border-top: 0;
    border-radius: 0 0 7px 7px;
}

.menu-icon-message::before {
    inset: 7px 6px 9px;
    border: 1.8px solid currentColor;
    border-radius: 3px;
}

.menu-icon-message::after {
    width: 6px;
    height: 6px;
    left: 10px;
    bottom: 6px;
    border-left: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(-45deg);
}

.menu-icon-tool::before {
    width: 6px;
    height: 14px;
    left: 11px;
    top: 6px;
    border: 1.8px solid currentColor;
    border-radius: 5px;
    transform: rotate(45deg);
}

.menu-icon-tool::after {
    width: 11px;
    left: 8px;
    bottom: 6px;
    border-top: 1.8px solid currentColor;
}

.menu-icon-cadastro::before {
    content: "C";
    inset: auto;
    border: 0;
    color: currentColor;
    font-size: 14px;
    font-weight: 800;
}

.menu-icon-search::before {
    content: "";
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-radius: 50%;
    display: block;
}

.menu-icon-search::after {
    content: "";
    width: 8px;
    height: 2px;
    background: currentColor;
    transform: rotate(45deg);
    display: block;
    margin-top: -1px;
    margin-left: 11px;
}

.menu-icon-bell::before {
    content: "";
    width: 16px;
    height: 18px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 10px 10px 4px 4px;
    display: block;
}

.menu-icon-bell::after {
    content: "";
    width: 10px;
    height: 2px;
    background: currentColor;
    display: block;
    margin-top: 2px;
    margin-left: 3px;
}

.menu-icon-cube::before {
    content: "";
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-radius: 4px;
    transform: rotate(45deg);
    display: block;
}

.menu-icon-trash::before {
    content: "";
    width: 14px;
    height: 16px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    display: block;
}

.menu-icon-trash::after {
    content: "";
    width: 16px;
    height: 2px;
    background: currentColor;
    display: block;
    margin-top: -21px;
}

.menu-icon-money::before {
    content: "$";
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.menu-icon-clock::before {
    content: "";
    width: 17px;
    height: 17px;
    border: 2px solid currentColor;
    border-radius: 50%;
    display: block;
}

.menu-icon-clock::after {
    content: "";
    width: 7px;
    height: 2px;
    background: currentColor;
    display: block;
    margin-top: -10px;
    margin-left: 8px;
    transform: rotate(45deg);
}

.menu-icon-shield::before {
    content: "";
    width: 16px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 9px 9px 12px 12px;
    display: block;
}

.menu-icon-doc::before,
.menu-icon-form::before,
.menu-icon-receipt::before {
    inset: 6px 8px;
    border: 1.8px solid currentColor;
    border-radius: 2px;
}

.menu-icon-doc::after,
.menu-icon-form::after,
.menu-icon-receipt::after {
    left: 11px;
    right: 10px;
    top: 12px;
    height: 5px;
    border-top: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
}

.menu-icon-check::before {
    inset: 7px;
    border: 1.8px solid currentColor;
    border-radius: 4px;
}

.menu-icon-check::after {
    width: 10px;
    height: 5px;
    left: 9px;
    top: 11px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.menu-icon-star::before {
    content: "★";
    inset: auto;
    border: 0;
    color: currentColor;
    font-size: 15px;
    line-height: 1;
}

.menu-icon-route::before {
    width: 4px;
    height: 4px;
    left: 7px;
    top: 8px;
    border: 1.8px solid currentColor;
    border-radius: 50%;
    box-shadow: 10px 8px 0 -1px currentColor;
}

.menu-icon-route::after {
    left: 11px;
    top: 12px;
    width: 8px;
    height: 8px;
    border-top: 1.8px solid currentColor;
    border-right: 1.8px solid currentColor;
    transform: rotate(35deg);
}

.menu-icon-briefcase::before {
    left: 6px;
    right: 6px;
    top: 10px;
    bottom: 7px;
    border: 1.8px solid currentColor;
    border-radius: 3px;
}

.menu-icon-briefcase::after {
    width: 8px;
    height: 4px;
    left: 10px;
    top: 7px;
    border: 1.8px solid currentColor;
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
}

.menu-icon-report::before {
    left: 8px;
    bottom: 7px;
    width: 3px;
    height: 8px;
    background: currentColor;
    border: 0;
    box-shadow: 5px -4px 0 0 currentColor, 10px -1px 0 0 currentColor;
}

.menu-icon-user::before,
.menu-icon-user::after,
.menu-icon-users::before,
.menu-icon-users::after,
.menu-icon-card::before,
.menu-icon-card::after,
.menu-icon-chart::before,
.menu-icon-chart::after,
.menu-icon-cap::before,
.menu-icon-cap::after,
.menu-icon-message::before,
.menu-icon-message::after,
.menu-icon-tool::before,
.menu-icon-tool::after,
.menu-icon-search::before,
.menu-icon-search::after,
.menu-icon-bell::before,
.menu-icon-bell::after,
.menu-icon-cube::before,
.menu-icon-cube::after,
.menu-icon-trash::before,
.menu-icon-trash::after,
.menu-icon-money::before,
.menu-icon-money::after,
.menu-icon-clock::before,
.menu-icon-clock::after,
.menu-icon-shield::before,
.menu-icon-shield::after,
.menu-icon-doc::before,
.menu-icon-doc::after,
.menu-icon-form::before,
.menu-icon-form::after,
.menu-icon-receipt::before,
.menu-icon-receipt::after,
.menu-icon-check::before,
.menu-icon-check::after,
.menu-icon-star::before,
.menu-icon-star::after,
.menu-icon-route::before,
.menu-icon-route::after,
.menu-icon-briefcase::before,
.menu-icon-briefcase::after,
.menu-icon-report::before,
.menu-icon-report::after,
.menu-icon-cadastro::before,
.menu-icon-cadastro::after {
    content: "";
    position: absolute;
    inset: auto;
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.menu-icon-user::before {
    width: 7px;
    height: 7px;
    top: 6px;
    left: 10px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-user::after {
    width: 15px;
    height: 8px;
    left: 6px;
    bottom: 6px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 10px 10px;
}

.menu-icon-users::before {
    width: 8px;
    height: 8px;
    top: 6px;
    left: 10px;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: -6px 3px 0 -3px currentColor, 6px 3px 0 -3px currentColor;
}

.menu-icon-users::after {
    width: 18px;
    height: 8px;
    left: 5px;
    bottom: 6px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 11px 11px;
}

.menu-icon-card::before {
    inset: 8px 5px;
    border: 2px solid currentColor;
    border-radius: 3px;
}

.menu-icon-card::after {
    left: 8px;
    right: 8px;
    top: 13px;
    border-top: 2px solid currentColor;
}

.menu-icon-chart::before {
    left: 7px;
    right: 7px;
    bottom: 7px;
    height: 12px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}

.menu-icon-chart::after {
    left: 10px;
    bottom: 10px;
    width: 3px;
    height: 7px;
    background: currentColor;
    box-shadow: 5px -3px 0 0 currentColor, 10px -7px 0 0 currentColor;
}

.menu-icon-cap::before {
    width: 17px;
    height: 17px;
    left: 5px;
    top: 5px;
    border: 2px solid currentColor;
    border-radius: 2px;
    transform: rotate(45deg) scale(0.68);
}

.menu-icon-cap::after {
    width: 12px;
    height: 6px;
    left: 8px;
    bottom: 6px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

.menu-icon-message::before {
    inset: 7px 5px 9px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.menu-icon-message::after {
    width: 7px;
    height: 7px;
    left: 9px;
    bottom: 6px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.menu-icon-tool::before {
    left: 6px;
    right: 6px;
    top: 7px;
    height: 11px;
    border: 2px solid currentColor;
    border-radius: 3px;
}

.menu-icon-tool::after {
    width: 16px;
    left: 6px;
    bottom: 6px;
    border-top: 2px solid currentColor;
    box-shadow: 5px -3px 0 -1px currentColor;
}

.menu-icon-cadastro::before {
    inset: 7px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-cadastro::after {
    width: 6px;
    height: 6px;
    left: 11px;
    top: 11px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-search::before {
    width: 12px;
    height: 12px;
    left: 6px;
    top: 6px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-search::after {
    width: 8px;
    left: 16px;
    top: 18px;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
}

.menu-icon-bell::before {
    width: 15px;
    height: 15px;
    left: 7px;
    top: 5px;
    border: 2px solid currentColor;
    border-radius: 9px 9px 5px 5px;
}

.menu-icon-bell::after {
    width: 10px;
    left: 9px;
    bottom: 6px;
    border-top: 2px solid currentColor;
    box-shadow: 4px 3px 0 -2px currentColor;
}

.menu-icon-cube::before {
    inset: 7px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.menu-icon-cube::after {
    width: 9px;
    height: 9px;
    left: 9px;
    top: 8px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: skewY(-28deg);
}

.menu-icon-trash::before {
    width: 13px;
    height: 14px;
    left: 7px;
    bottom: 5px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 4px 4px;
}

.menu-icon-trash::after {
    width: 16px;
    left: 6px;
    top: 7px;
    border-top: 2px solid currentColor;
    box-shadow: 5px -3px 0 -1px currentColor;
}

.menu-icon-money::before {
    content: "$";
    inset: auto;
    left: 8px;
    top: 2px;
    color: currentColor;
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
}

.menu-icon-clock::before {
    width: 17px;
    height: 17px;
    left: 5px;
    top: 5px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-clock::after {
    width: 7px;
    height: 6px;
    left: 13px;
    top: 9px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}

.menu-icon-shield::before {
    width: 16px;
    height: 18px;
    left: 6px;
    top: 4px;
    border: 2px solid currentColor;
    border-radius: 9px 9px 11px 11px;
}

.menu-icon-shield::after {
    width: 8px;
    height: 4px;
    left: 10px;
    top: 12px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.menu-icon-doc::before,
.menu-icon-form::before,
.menu-icon-receipt::before {
    inset: 5px 8px;
    border: 2px solid currentColor;
    border-radius: 3px;
}

.menu-icon-doc::after,
.menu-icon-form::after,
.menu-icon-receipt::after {
    left: 11px;
    right: 11px;
    top: 12px;
    border-top: 2px solid currentColor;
    box-shadow: 0 5px 0 0 currentColor;
}

.menu-icon-check::before {
    inset: 6px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.menu-icon-check::after {
    width: 10px;
    height: 5px;
    left: 9px;
    top: 11px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.menu-icon-star::before {
    width: 10px;
    height: 10px;
    left: 9px;
    top: 5px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.menu-icon-star::after {
    width: 16px;
    left: 6px;
    bottom: 7px;
    border-top: 2px solid currentColor;
    box-shadow: 4px -4px 0 -2px currentColor, 8px -4px 0 -2px currentColor;
}

.menu-icon-route::before {
    width: 5px;
    height: 5px;
    left: 6px;
    top: 7px;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: 11px 10px 0 -1px currentColor;
}

.menu-icon-route::after {
    width: 12px;
    height: 8px;
    left: 10px;
    top: 11px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    border-radius: 0 8px 0 0;
}

.menu-icon-briefcase::before {
    left: 5px;
    right: 5px;
    top: 10px;
    bottom: 6px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.menu-icon-briefcase::after {
    width: 8px;
    height: 5px;
    left: 10px;
    top: 6px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 5px 5px 0 0;
}

.menu-icon-report::before {
    left: 7px;
    bottom: 7px;
    width: 3px;
    height: 8px;
    background: currentColor;
    box-shadow: 6px -5px 0 0 currentColor, 12px -2px 0 0 currentColor;
}

.recruitment-subnav {
    display: grid;
    gap: 8px;
    max-height: 560px;
    margin: -4px 16px 8px 27px;
    padding-left: 10px;
    border-left: 1px solid rgba(255, 255, 255, 0.14);
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.22s ease, opacity 0.18s ease, margin 0.22s ease;
}

.recruitment-subnav:not(.is-open) {
    max-height: 0;
    margin-top: -8px;
    margin-bottom: 0;
    opacity: 0;
}

.recruitment-subnav a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.recruitment-subnav a:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.recruitment-nav {
    flex-wrap: wrap;
}

.recruitment-dashboard-grid,
.reports-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 20px;
    align-items: start;
}

.recruitment-dashboard-grid > .panel,
.reports-grid > .panel {
    align-self: start;
}

.recruitment-metrics {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.recruitment-action-panel .panel-header {
    align-items: flex-start;
}

.recruitment-action-item {
    border-bottom: 1px solid var(--line);
    padding-bottom: 12px;
}

.recruitment-action-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.recruitment-action-item small {
    color: var(--muted);
    font-weight: 700;
}

.recruitment-sync-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.recruitment-sync-panel h2 {
    font-size: 20px;
}

.recruitment-sync-panel p {
    color: var(--muted);
    margin-top: 4px;
}

.recruitment-sync-panel form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.recruitment-sync-panel select {
    min-width: 220px;
}

.recruitment-report-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
}

.recruitment-report-row span {
    color: var(--blue-950);
    font-weight: 800;
}

.recruitment-report-row strong {
    color: var(--blue-950);
    font-size: 20px;
}

.recruitment-kanban {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 14px;
    align-items: start;
}

.kanban-column {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 220px;
    max-height: 520px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #eef3fa;
    overflow: hidden;
}

.kanban-column.has-cards {
    min-height: 360px;
}

.kanban-column.is-empty {
    min-height: 180px;
}

.kanban-column header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    color: var(--blue-950);
}

.kanban-column header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #fff;
    font-weight: 900;
}

.kanban-card-list {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    gap: 10px;
    padding: 12px;
    overflow-y: auto;
}

.kanban-card,
.kanban-empty {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(17, 35, 64, 0.05);
}

.kanban-card[draggable="true"] {
    cursor: grab;
}

.kanban-card[draggable="true"]:active {
    cursor: grabbing;
}

.kanban-card.is-dragging {
    opacity: 0.45;
    transform: scale(0.98);
}

.kanban-card.is-saving {
    opacity: 0.65;
    pointer-events: none;
}

.kanban-column.is-drag-over {
    border-color: #2563eb;
    background: #e4eeff;
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.16);
}

.kanban-card summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    cursor: pointer;
    list-style: none;
}

.kanban-card summary::-webkit-details-marker {
    display: none;
}

.kanban-card summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #edf3ff;
    color: var(--blue-700);
    font-weight: 900;
}

.kanban-card[open] summary::after {
    content: "-";
}

.kanban-card summary > strong {
    color: var(--blue-800);
    line-height: 1.25;
}

.kanban-card summary > span:not(.kanban-alert) {
    grid-column: 1;
    color: var(--muted);
}

.kanban-drag-label {
    display: inline-flex;
    width: fit-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #edf3ff;
    color: var(--blue-700) !important;
    font-size: 11px;
    font-weight: 800;
}

.kanban-card-expanded {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}

.kanban-card span,
.kanban-card small,
.kanban-empty {
    color: var(--muted);
}

.kanban-vaga-list {
    display: grid;
    gap: 8px;
    margin: 4px 0;
}

.kanban-vaga-item {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid #d9e4f2;
    border-radius: 8px;
    background: #f8fbff;
    color: var(--blue-950);
    text-decoration: none;
}

.kanban-vaga-item strong {
    color: var(--blue-800);
    font-size: 14px;
}

.kanban-vaga-item small {
    color: var(--muted);
}

.kanban-card.is-stale {
    border-color: #f59e0b;
    background: #fffaf0;
}

.kanban-alert {
    display: inline-flex;
    width: fit-content;
    border-radius: 999px;
    background: #fff2d8;
    color: #b45309 !important;
    font-size: 12px;
    font-weight: 900;
    padding: 4px 8px;
}

.kanban-card-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}

.kanban-card-actions a {
    color: var(--blue-700);
    font-weight: 900;
    text-decoration: none;
}

.kanban-feedback {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 50;
    max-width: 360px;
    padding: 12px 16px;
    border-radius: 8px;
    background: #087f5b;
    color: #fff;
    box-shadow: 0 14px 34px rgba(17, 35, 64, 0.22);
    font-weight: 800;
}

.kanban-feedback.is-error {
    background: #b42318;
}

.message-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.message-template-card {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fbff;
}

.message-template-card strong {
    color: var(--blue-950);
}

.message-template-card p {
    color: var(--muted);
    line-height: 1.45;
    margin: 0;
}

@media (max-width: 1200px) {
    .recruitment-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.compact-form {
    max-width: none;
    box-shadow: none;
}

.report-table {
    margin-top: 24px;
}

.nps-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.nps-card {
    display: grid;
}

.nps-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px;
    background: var(--blue-950);
    color: #fff;
}

.nps-card-header span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.nps-card-header h2 {
    margin: 4px 0 0;
    font-size: 18px;
}

.nps-card-header strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 66px;
    min-height: 66px;
    border-radius: 50%;
    background: #fff;
    color: var(--blue-950);
    font-size: 24px;
}

.nps-card-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid var(--line);
}

.nps-card-metrics > div {
    padding: 16px 20px;
    border-right: 1px solid var(--line);
}

.nps-card-metrics > div:last-child {
    border-right: 0;
}

.nps-card-metrics span,
.nps-card-text h3 {
    display: block;
    margin: 0 0 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.nps-card-metrics strong {
    color: var(--blue-950);
    font-size: 20px;
}

.nps-card-text {
    padding: 18px 20px;
    border-bottom: 1px solid var(--line);
}

.nps-card-text p {
    margin: 0;
    color: var(--text);
    line-height: 1.5;
    white-space: normal;
}

.nps-actions {
    justify-content: flex-end;
    padding: 16px 20px;
}

.jornada-hero,
.jornada-profile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding: 22px;
}

.jornada-hero span,
.jornada-profile span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.jornada-hero h2,
.jornada-profile h2 {
    margin: 0 0 7px;
    color: var(--blue-950);
    font-size: 24px;
}

.jornada-hero p,
.jornada-profile p {
    margin: 0;
    color: var(--muted);
}

.jornada-one-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
    padding: 24px;
    border: 1px solid rgba(20, 83, 170, 0.18);
    background:
        linear-gradient(135deg, rgba(14, 165, 233, 0.10), transparent 34%),
        linear-gradient(315deg, rgba(124, 58, 237, 0.10), transparent 30%),
        #fff;
    overflow: hidden;
}

.jornada-one-main span,
.jornada-next-advance span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jornada-one-main h2 {
    margin: 0 0 8px;
    color: var(--blue-950);
    font-size: 28px;
    line-height: 1.1;
}

.jornada-one-main p {
    margin: 0;
    color: var(--text);
    font-size: 17px;
    font-weight: 800;
}

.jornada-next-advance {
    min-width: 230px;
    padding: 18px 20px;
    border: 1px solid rgba(21, 128, 61, 0.22);
    border-radius: 8px;
    text-align: center;
    background: linear-gradient(135deg, #ecfdf5, #fff);
}

.jornada-next-advance strong {
    color: #047857;
    font-size: 30px;
    line-height: 1;
}

.jornada-next-advance.is-empty {
    border-color: rgba(239, 68, 68, 0.25);
    background: linear-gradient(135deg, #fef2f2, #fff);
}

.jornada-next-advance.is-empty strong {
    color: #dc2626;
}

.jornada-one-sections {
    align-items: start;
}

.jornada-profile-card {
    background:
        linear-gradient(135deg, rgba(37, 99, 235, 0.08), transparent 35%),
        #fff;
}

.jornada-profile-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 20px 22px;
}

.jornada-profile-metrics p {
    margin: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fbff;
}

.jornada-profile-metrics span {
    display: block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jornada-profile-metrics strong {
    color: var(--blue-950);
    font-size: 19px;
}

.growth-plan-panel {
    background:
        radial-gradient(circle at 12% 10%, rgba(59, 130, 246, 0.12), transparent 26%),
        radial-gradient(circle at 88% 16%, rgba(16, 185, 129, 0.12), transparent 25%),
        #fff;
}

.growth-plan-header p,
.growth-path-panel .panel-header p {
    margin: 6px 0 0;
    color: var(--muted);
}

.growth-plan-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 18px 20px 0;
}

.growth-plan-options article {
    position: relative;
    min-height: 148px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.88);
}

.growth-plan-options article::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 18px;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #cbd5e1;
}

.growth-plan-options article.is-selected {
    border-color: rgba(20, 83, 170, 0.35);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

.growth-plan-options article.is-selected::after {
    background: #16a34a;
    box-shadow: 0 0 0 6px rgba(22, 163, 74, 0.12);
}

.growth-plan-options span {
    color: var(--blue-850);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.growth-plan-options h3 {
    margin: 8px 0 10px;
    color: var(--blue-950);
    font-size: 21px;
}

.growth-plan-options strong {
    color: var(--blue-950);
    font-size: 17px;
}

.growth-plan-options p {
    margin: 10px 0 0;
    color: var(--muted);
    line-height: 1.45;
}

.individual-growth-timeline {
    margin: 18px 20px 0;
    padding: 0 0 12px;
}

.individual-growth-timeline article {
    min-width: 205px;
    border-color: rgba(20, 83, 170, 0.18);
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.individual-growth-timeline .timeline-level {
    background: linear-gradient(135deg, #0f4aa2, #3b82f6);
    color: #fff;
}

.growth-plan-actions {
    justify-content: flex-end;
    padding: 16px 20px 20px;
}

.growth-path-panel {
    background:
        linear-gradient(180deg, rgba(239, 246, 255, 0.72), rgba(255, 255, 255, 0.96)),
        #fff;
}

.growth-path {
    display: flex;
    align-items: stretch;
    gap: 14px;
    padding: 20px;
    overflow-x: auto;
}

.growth-path-step {
    position: relative;
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 210px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}

.growth-path-step::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -15px;
    width: 15px;
    height: 3px;
    background: #bfdbfe;
}

.growth-path-step:last-child::before {
    display: none;
}

.growth-path-step span {
    width: max-content;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--blue-950);
    font-size: 12px;
    font-weight: 900;
    background: #eff6ff;
}

.growth-path-step h3 {
    margin: 4px 0 0;
    color: var(--blue-950);
    font-size: 18px;
}

.growth-path-step strong {
    color: var(--blue-950);
    font-size: 26px;
    line-height: 1;
}

.growth-path-step small,
.growth-path-step p {
    color: var(--muted);
    line-height: 1.35;
}

.growth-path-step p {
    margin: 0;
}

.growth-path-step em {
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    color: #334155;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    background: #f1f5f9;
}

.growth-path-step.is-passado {
    background: linear-gradient(180deg, #f8fafc, #fff);
}

.growth-path-step.is-atual {
    border-color: rgba(14, 165, 233, 0.38);
    background: linear-gradient(180deg, #ecfeff, #fff);
    transform: translateY(-8px);
}

.growth-path-step.is-atual em {
    color: #075985;
    background: #bae6fd;
}

.growth-path-step.is-futuro {
    border-color: rgba(34, 197, 94, 0.25);
    background: linear-gradient(180deg, #f0fdf4, #fff);
}

.growth-path-step.is-futuro em {
    color: #166534;
    background: #dcfce7;
}

.movement-history {
    padding-top: 0;
}

.growth-path-panel {
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 18%, rgba(37, 99, 235, 0.10), transparent 28%),
        radial-gradient(circle at 84% 14%, rgba(101, 163, 13, 0.12), transparent 26%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.growth-path-panel > .panel-header {
    border-bottom: 0;
    padding-bottom: 4px;
}

.growth-path {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 0;
    min-height: 430px;
    padding: 70px 28px 46px;
    overflow-x: auto;
    isolation: isolate;
}

.growth-path::before {
    content: "";
    position: absolute;
    left: 34px;
    right: 34px;
    top: 125px;
    height: 178px;
    background-image: url("data:image/svg+xml,%3Csvg width='1100' height='178' viewBox='0 0 1100 178' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 145 C180 130 300 120 430 92 C530 70 610 58 690 72' fill='none' stroke='%231256b7' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M690 72 C785 82 890 34 1088 14' fill='none' stroke='%2365a30d' stroke-width='5' stroke-linecap='round' stroke-dasharray='12 10'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 178px;
    z-index: 0;
    pointer-events: none;
}

.growth-path::after {
    content: "";
    position: absolute;
    left: 28px;
    right: 28px;
    bottom: 82px;
    height: 2px;
    background: linear-gradient(90deg, #0b2a55, #2563eb 58%, #65a30d 58%, #65a30d);
    border-radius: 999px;
    z-index: 0;
}

.growth-path-step {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: end;
    justify-items: center;
    gap: 5px;
    flex: 1 0 155px;
    min-width: 155px;
    min-height: 210px;
    padding: 0 10px 58px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
}

.growth-path-step::before {
    content: "";
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 80px;
    width: 1px;
    height: 104px;
    background: repeating-linear-gradient(
        to bottom,
        rgba(100, 116, 139, 0.45) 0 5px,
        transparent 5px 10px
    );
    transform: translateX(-50%);
}

.growth-path-step::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 71px;
    width: 28px;
    height: 28px;
    border: 2px solid #cbd5e1;
    border-radius: 999px;
    background:
        radial-gradient(circle at center, #fff 0 34%, transparent 35%),
        #f8fafc;
    transform: translateX(-50%);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.growth-path-step:nth-child(1) {
    transform: translateY(42px);
}

.growth-path-step:nth-child(2) {
    transform: translateY(14px);
}

.growth-path-step:nth-child(3) {
    transform: translateY(-12px);
}

.growth-path-step:nth-child(4) {
    transform: translateY(-38px);
}

.growth-path-step:nth-child(5) {
    transform: translateY(-66px);
}

.growth-path-step:nth-child(n+6) {
    transform: translateY(-94px);
}

.growth-path-step span {
    order: 5;
    width: auto;
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    background: transparent;
}

.growth-path-step h3 {
    margin: 0;
    color: #0b2a55;
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
}

.growth-path-step strong {
    color: #1256b7;
    font-size: 17px;
    line-height: 1.1;
}

.growth-path-step small {
    color: #52627a;
    font-size: 11px;
    line-height: 1.25;
}

.growth-path-step p {
    display: none;
}

.growth-path-step em {
    order: -1;
    padding: 0;
    color: #1256b7;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    background: transparent;
}

.growth-path-step.is-passado::after,
.growth-path-step.is-atual::after {
    border-color: #1256b7;
    background: #1256b7;
}

.growth-path-step.is-futuro h3,
.growth-path-step.is-futuro strong,
.growth-path-step.is-futuro em {
    color: #4d9f18;
}

.growth-path-step.is-futuro::after {
    border-color: #65a30d;
    background: #65a30d;
}

.growth-path-step.is-atual {
    align-content: start;
    min-height: 280px;
    padding-top: 0;
    padding-bottom: 58px;
    transform: translateY(-98px);
}

.growth-path-step.is-atual::before {
    height: 165px;
}

.growth-path-step.is-atual::after {
    bottom: 68px;
    width: 46px;
    height: 46px;
    border: 8px solid #e8f6ff;
    background: #0b2a55;
    box-shadow: 0 0 0 8px rgba(132, 204, 22, 0.13), 0 18px 34px rgba(15, 23, 42, 0.22);
}

.growth-path-step.is-atual span {
    order: -2;
    width: 100%;
    margin: 0;
    padding: 8px 10px;
    border-radius: 7px 7px 0 0;
    color: #fff;
    background: #0b2a55;
}

.growth-path-step.is-atual h3,
.growth-path-step.is-atual strong,
.growth-path-step.is-atual small {
    width: 100%;
    padding-inline: 12px;
    background: #fff;
}

.growth-path-step.is-atual h3 {
    padding-top: 10px;
    color: #0b2a55;
}

.growth-path-step.is-atual strong {
    color: #4d9f18;
    font-size: 21px;
}

.growth-path-step.is-atual small {
    padding-bottom: 10px;
    border-radius: 0 0 7px 7px;
}

.growth-path-step.is-atual em,
.growth-path-step.is-atual p {
    display: none;
}

.growth-path-panel {
    background:
        linear-gradient(rgba(226, 232, 240, 0.55) 1px, transparent 1px),
        linear-gradient(90deg, rgba(226, 232, 240, 0.55) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #f6faf7 100%);
    background-size: 28px 28px, 28px 28px, auto;
}

.growth-path-panel > .panel-header {
    padding-bottom: 0;
    border-bottom: 0;
}

.growth-path {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 18px;
    min-height: 390px;
    padding: 56px 32px 32px;
    overflow-x: auto;
    isolation: isolate;
}

.growth-path::before {
    content: "";
    position: absolute;
    left: 70px;
    right: 68px;
    top: 34px;
    height: 160px;
    background-image: url("data:image/svg+xml,%3Csvg width='1050' height='160' viewBox='0 0 1050 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cmarker id='arrow' markerWidth='18' markerHeight='18' refX='16' refY='9' orient='auto'%3E%3Cpath d='M0 0 L18 9 L0 18 Z' fill='%2322b33f'/%3E%3C/marker%3E%3C/defs%3E%3Cpath d='M10 142 C250 118 438 92 590 55 C735 20 870 16 1030 8' fill='none' stroke='%2322b33f' stroke-width='12' stroke-linecap='round' marker-end='url(%23arrow)'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 100% 160px;
    pointer-events: none;
    z-index: 0;
}

.growth-path::after {
    display: none;
}

.growth-path-step,
.growth-path-step.is-atual {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 0 135px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    min-width: 135px;
    min-height: 310px;
    padding: 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    text-align: center;
    transform: none;
}

.growth-path-step::before,
.growth-path-step.is-atual::before {
    content: "";
    position: static;
    display: block;
    width: min(86px, 72%);
    height: 70px;
    margin-bottom: 14px;
    border-radius: 7px 7px 3px 3px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.28), transparent 34%),
        linear-gradient(180deg, #39d757 0%, #1f9f37 100%);
    box-shadow:
        10px -8px 0 rgba(30, 146, 50, 0.36),
        0 14px 22px rgba(21, 128, 61, 0.18);
    transform: none;
}

.growth-path-step::after,
.growth-path-step.is-atual::after {
    display: none;
}

.growth-path-step:nth-child(1)::before {
    height: 72px;
}

.growth-path-step:nth-child(2)::before {
    height: 96px;
}

.growth-path-step:nth-child(3)::before {
    height: 122px;
}

.growth-path-step:nth-child(4)::before {
    height: 150px;
}

.growth-path-step:nth-child(5)::before {
    height: 180px;
}

.growth-path-step:nth-child(6)::before {
    height: 212px;
}

.growth-path-step:nth-child(7)::before {
    height: 244px;
}

.growth-path-step:nth-child(n+8)::before {
    height: 274px;
}

.growth-path-step.is-passado::before {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 34%),
        linear-gradient(180deg, #3b82f6 0%, #1256b7 100%);
    box-shadow:
        10px -8px 0 rgba(18, 86, 183, 0.28),
        0 14px 22px rgba(18, 86, 183, 0.16);
}

.growth-path-step.is-atual::before {
    outline: 5px solid rgba(15, 42, 85, 0.12);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.25), transparent 34%),
        linear-gradient(180deg, #0f4aa2 0%, #061f48 100%);
    box-shadow:
        10px -8px 0 rgba(6, 31, 72, 0.30),
        0 18px 28px rgba(6, 31, 72, 0.20);
}

.growth-path-step span,
.growth-path-step.is-atual span {
    order: 1;
    width: auto;
    margin: 0 0 4px;
    padding: 0;
    border-radius: 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    background: transparent;
}

.growth-path-step h3,
.growth-path-step.is-atual h3 {
    order: 2;
    width: auto;
    margin: 0 0 4px;
    padding: 0;
    color: #0b2a55;
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
    background: transparent;
}

.growth-path-step strong,
.growth-path-step.is-atual strong {
    order: 3;
    width: auto;
    padding: 0;
    color: #16a34a;
    font-size: 17px;
    line-height: 1.1;
    background: transparent;
}

.growth-path-step small,
.growth-path-step.is-atual small {
    order: 4;
    width: auto;
    padding: 0;
    color: #52627a;
    font-size: 11px;
    line-height: 1.25;
    background: transparent;
}

.growth-path-step em,
.growth-path-step p,
.growth-path-step.is-atual em,
.growth-path-step.is-atual p {
    display: none;
}

.growth-ladder {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    align-items: end;
    gap: 16px;
    padding: 24px;
    background:
        linear-gradient(rgba(226, 232, 240, 0.52) 1px, transparent 1px),
        linear-gradient(90deg, rgba(226, 232, 240, 0.52) 1px, transparent 1px),
        linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(240, 253, 244, 0.58));
    background-size: 28px 28px, 28px 28px, auto;
}

.growth-ladder-step {
    display: grid;
    grid-template-rows: 220px auto;
    gap: 12px;
    min-width: 0;
}

.growth-ladder-bar {
    align-self: end;
    justify-self: center;
    width: min(82px, 70%);
    min-height: 64px;
    border-radius: 9px 9px 4px 4px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.26), transparent 36%),
        linear-gradient(180deg, #35d153 0%, #1f9f37 100%);
    box-shadow:
        9px -8px 0 rgba(27, 128, 45, 0.24),
        0 16px 26px rgba(22, 101, 52, 0.16);
}

.growth-ladder-step:nth-child(1) .growth-ladder-bar { height: 72px; }
.growth-ladder-step:nth-child(2) .growth-ladder-bar { height: 94px; }
.growth-ladder-step:nth-child(3) .growth-ladder-bar { height: 118px; }
.growth-ladder-step:nth-child(4) .growth-ladder-bar { height: 142px; }
.growth-ladder-step:nth-child(5) .growth-ladder-bar { height: 166px; }
.growth-ladder-step:nth-child(6) .growth-ladder-bar { height: 190px; }
.growth-ladder-step:nth-child(7) .growth-ladder-bar { height: 212px; }
.growth-ladder-step:nth-child(n+8) .growth-ladder-bar { height: 220px; }

.growth-ladder-step.is-passado .growth-ladder-bar {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.24), transparent 36%),
        linear-gradient(180deg, #4f8ff7 0%, #1453ad 100%);
    box-shadow:
        9px -8px 0 rgba(20, 83, 173, 0.20),
        0 16px 26px rgba(20, 83, 173, 0.14);
}

.growth-ladder-step.is-atual .growth-ladder-bar {
    outline: 5px solid rgba(15, 42, 85, 0.10);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.25), transparent 36%),
        linear-gradient(180deg, #0f4aa2 0%, #071c3f 100%);
    box-shadow:
        9px -8px 0 rgba(7, 28, 63, 0.24),
        0 18px 30px rgba(7, 28, 63, 0.18);
}

.growth-ladder-card {
    display: grid;
    gap: 5px;
    min-height: 132px;
    padding: 14px;
    border: 1px solid rgba(203, 213, 225, 0.92);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.92);
    text-align: center;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.06);
}

.growth-ladder-card span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
}

.growth-ladder-card h3 {
    margin: 0;
    color: var(--blue-950);
    font-size: 15px;
    line-height: 1.2;
    text-transform: uppercase;
}

.growth-ladder-card strong {
    color: #159447;
    font-size: 20px;
    line-height: 1.1;
}

.growth-ladder-card small {
    color: #52627a;
    font-size: 12px;
}

.growth-ladder-card em {
    justify-self: center;
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    color: #166534;
    font-size: 11px;
    font-style: normal;
    font-weight: 900;
    background: #dcfce7;
}

.growth-ladder-step.is-passado .growth-ladder-card strong,
.growth-ladder-step.is-passado .growth-ladder-card em {
    color: #1453ad;
}

.growth-ladder-step.is-passado .growth-ladder-card em {
    background: #dbeafe;
}

.growth-ladder-step.is-atual .growth-ladder-card {
    border-color: rgba(15, 74, 162, 0.28);
    background: #f8fbff;
}

.growth-ladder-step.is-atual .growth-ladder-card strong,
.growth-ladder-step.is-atual .growth-ladder-card em {
    color: #0f4aa2;
}

.growth-ladder-step.is-atual .growth-ladder-card em {
    background: #dbeafe;
}

.journey-summary-panel {
    padding: 0;
    overflow: hidden;
    background: #fff;
}

.journey-summary-panel > .panel-header {
    display: none;
}

.journey-summary-panel .growth-ladder,
.journey-summary-panel .movement-history {
    display: none;
}

.journey-summary-card {
    display: grid;
    gap: 24px;
    padding: 28px 30px 22px;
    background:
        radial-gradient(circle at 14% 0%, rgba(37, 99, 235, 0.08), transparent 30%),
        radial-gradient(circle at 88% 8%, rgba(34, 197, 94, 0.08), transparent 32%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.journey-summary-grid {
    display: grid;
    grid-template-columns: minmax(150px, 0.9fr) 78px minmax(280px, 2fr) minmax(130px, 0.9fr) minmax(190px, 1.1fr);
    align-items: center;
    gap: 24px;
}

.journey-summary-block {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.journey-summary-block:not(:first-child) {
    padding-left: 28px;
    border-left: 1px solid rgba(203, 213, 225, 0.92);
}

.journey-summary-block span {
    color: #1e3a70;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.journey-summary-block strong {
    color: #061f48;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.08;
    text-transform: uppercase;
}

.journey-summary-block small {
    color: #0f4aa2;
    font-size: 14px;
    font-weight: 800;
}

.journey-rocket {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(59, 130, 246, 0.22);
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 25%, #fff 0 18%, transparent 19%),
        linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.55);
}

.journey-rocket svg {
    width: 45px;
    height: 45px;
}

.journey-progress-row {
    display: grid;
    grid-template-columns: auto minmax(170px, 1fr);
    align-items: center;
    gap: 22px;
}

.journey-progress-bar {
    height: 11px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
}

.journey-progress-bar div {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #16a34a, #22c55e);
    box-shadow: 0 0 0 1px rgba(22, 163, 74, 0.10);
}

.journey-month-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
    gap: 0;
    padding: 8px 10px 0;
}

.journey-month-track::before {
    content: "";
    position: absolute;
    left: 34px;
    right: 34px;
    top: 20px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #16a34a 0 45%, #cbd5e1 45% 100%);
}

.journey-month {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.journey-month span {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 2px solid #cbd5e1;
    border-radius: 50%;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    background: #fff;
}

.journey-month.is-done span {
    border-color: #16a34a;
    background: #16a34a;
}

.journey-month.is-current span {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: 0 0 0 4px #dbeafe;
}

.journey-month.is-current span i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2563eb;
}

.journey-month.is-current small {
    color: #061f48;
    font-weight: 900;
}

@media (max-width: 980px) {
    .jornada-one-hero {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .jornada-next-advance {
        width: 100%;
        min-width: 0;
    }

    .jornada-profile-metrics,
    .growth-plan-options {
        grid-template-columns: 1fr;
    }

    .growth-path-step.is-atual {
        transform: none;
    }

    .journey-summary-card {
        padding: 22px;
    }

    .journey-summary-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .journey-summary-block:not(:first-child) {
        padding-left: 0;
        border-left: 0;
    }

    .journey-progress-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .journey-month-track {
        grid-template-columns: repeat(4, minmax(58px, 1fr));
        row-gap: 14px;
    }

    .journey-month-track::before {
        display: none;
    }
}

.jornada-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jornada-card {
    display: grid;
}

.jornada-card-header,
.jornada-card-footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
}

.jornada-card-header {
    border-bottom: 1px solid var(--line);
}

.jornada-card-header span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.jornada-card-header h2 {
    margin: 4px 0 6px;
    color: var(--blue-950);
    font-size: 19px;
}

.jornada-card-header p {
    margin: 0;
    color: var(--muted);
}

.jornada-card-metrics,
.info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.jornada-card-metrics > div,
.info-grid p {
    margin: 0;
    padding: 16px 20px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.jornada-card-metrics > div:nth-child(2n),
.info-grid p:nth-child(2n) {
    border-right: 0;
}

.jornada-card-metrics span,
.info-grid span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.jornada-card-metrics strong,
.info-grid strong {
    color: var(--blue-950);
    font-size: 18px;
}

.jornada-card-footer {
    align-items: center;
}

.jornada-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jornada-wide {
    grid-column: 1 / -1;
}

.jornada-text-block {
    padding: 18px 20px;
}

.jornada-text-block h3,
.movement-list h3 {
    margin: 0 0 10px;
    color: var(--blue-950);
    font-size: 16px;
}

.jornada-text-block p,
.movement-list p {
    margin: 7px 0;
    color: var(--text);
    line-height: 1.45;
    white-space: normal;
}

.timeline-list {
    display: grid;
    gap: 0;
}

.timeline-list > div {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    gap: 14px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--line);
}

.timeline-list time {
    color: var(--blue-850);
    font-weight: 800;
}

.timeline-list p {
    margin: 0;
    line-height: 1.45;
}

.timeline-list span,
.muted-text {
    color: var(--muted);
}

.movement-list {
    display: grid;
    gap: 12px;
    padding: 18px 20px;
}

.movement-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fafc;
}

.approval-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.approval-actions form {
    margin: 0;
}

.jornada-mini-text {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.growth-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 0;
    padding: 16px;
    overflow-x: auto;
}

.growth-preview > div {
    min-width: 150px;
    padding: 14px;
    border: 1px solid var(--line);
    border-right: 0;
    background: #fff;
}

.growth-preview > div:first-child {
    border-radius: 8px 0 0 8px;
}

.growth-preview > div:last-child {
    border-right: 1px solid var(--line);
    border-radius: 0 8px 8px 0;
}

.growth-preview span {
    display: block;
    margin-bottom: 7px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.growth-preview strong {
    display: block;
    color: var(--blue-950);
}

.growth-preview small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
}

.next-steps {
    padding-top: 0;
}

.plan-timeline-panel {
    margin-bottom: 22px;
}

.plan-timeline {
    display: flex;
    overflow-x: auto;
    padding: 20px;
}

.plan-timeline article {
    display: grid;
    gap: 7px;
    min-width: 170px;
    padding: 14px;
    border: 1px solid var(--line);
    border-right: 0;
    text-align: center;
    background: #fff;
}

.plan-timeline article:first-child {
    border-radius: 8px 0 0 8px;
}

.plan-timeline article:last-child {
    border-right: 1px solid var(--line);
    border-radius: 0 8px 8px 0;
}

.timeline-month {
    color: var(--blue-950);
    font-weight: 800;
}

.timeline-level {
    margin: -14px -14px 4px;
    padding: 7px;
    background: #9fbeef;
    color: #00132f;
    font-weight: 800;
}

.plan-timeline strong {
    color: var(--blue-950);
}

.plan-timeline small {
    color: var(--muted);
    line-height: 1.35;
}

.colaborador-journey {
    margin: 22px 0;
}

.hunter-kanban {
    display: grid;
    gap: 22px;
}

.hunter-company {
    overflow: hidden;
}

.hunter-company-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    background: var(--blue-950);
    color: #fff;
}

.hunter-company-header span,
.hunter-column header span {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.hunter-company-header span {
    color: rgba(255, 255, 255, 0.7);
}

.hunter-company-header h2 {
    margin: 0;
    font-size: 20px;
}

.hunter-company-header strong {
    color: #fff;
}

.hunter-board {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(310px, 360px);
    gap: 16px;
    padding: 18px;
    overflow-x: auto;
}

.hunter-column {
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 260px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fafc;
}

.hunter-column header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
}

.hunter-column header span {
    color: var(--muted);
}

.hunter-column header h3 {
    margin: 0;
    color: var(--blue-950);
    font-size: 16px;
}

.hunter-column header strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--blue-950);
    color: #fff;
}

.hunter-card-list {
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 14px;
}

.hunter-card {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(17, 35, 64, 0.06);
}

.hunter-card-top,
.hunter-card-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.hunter-card h4 {
    margin: 0 0 4px;
    color: var(--blue-950);
    font-size: 15px;
}

.hunter-card p {
    margin: 0;
    color: var(--muted);
}

.hunter-card-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.hunter-card-info p {
    padding: 10px;
    border-radius: 7px;
    background: #f7f9fc;
}

.hunter-card-info span {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.hunter-card-info strong {
    color: var(--blue-950);
    font-size: 13px;
}

.hunter-hero-compact {
    margin-bottom: 14px;
}

.hunter-group {
    margin-bottom: 22px;
}

.hunter-group-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(240px, 1fr));
    gap: 14px;
    padding: 16px;
}

.hunter-person-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(17, 35, 64, 0.06);
}

.hunter-person-card h3 {
    margin: 0 0 4px;
    color: var(--blue-950);
    font-size: 16px;
}

.hunter-person-card p {
    margin: 0;
    color: var(--muted);
}

.hunter-person-card dl {
    display: grid;
    gap: 8px;
    margin: 0;
}

.hunter-person-card dl div {
    display: grid;
    gap: 3px;
    padding: 10px;
    border-radius: 7px;
    background: #f7f9fc;
}

.hunter-person-card dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.hunter-person-card dd {
    margin: 0;
    color: var(--blue-950);
    font-weight: 800;
}

.hunter-person-card .primary-button {
    justify-content: center;
}

.hunter-company-list {
    margin-bottom: 22px;
}

.hunter-department-tabs {
    display: flex;
    gap: 8px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    overflow-x: auto;
}

.hunter-department-tabs a {
    text-decoration: none;
    white-space: nowrap;
}

.hunter-trello-board {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 340px;
    align-items: start;
    gap: 14px;
    min-height: calc(100vh - 250px);
    margin: 0 -34px -42px;
    padding: 26px 34px 42px;
    overflow-x: auto;
    background: linear-gradient(180deg, #eef3fa 0%, #f8fafc 100%);
}

.hunter-trello-column {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid #d7deea;
    border-radius: 10px;
    background: #eef2f7;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.08);
}

.hunter-trello-column header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: start;
    gap: 12px;
    padding: 8px 8px 4px;
}

.hunter-trello-column h3 {
    margin: 0;
    color: var(--blue-950);
    font-size: 17px;
    line-height: 1.35;
    text-transform: uppercase;
}

.hunter-trello-column header span {
    color: var(--blue-850);
    font-weight: 800;
}

.hunter-trello-column button {
    min-width: 28px;
    min-height: 28px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #4f5663;
    font: inherit;
    font-size: 20px;
    font-weight: 800;
    cursor: default;
}

.hunter-trello-column .hunter-card-list {
    display: grid;
    gap: 8px;
    padding: 0;
}

.hunter-trello-card {
    display: block;
    min-height: 46px;
    padding: 12px 14px;
    border: 1px solid #d1d5db;
    border-radius: 9px;
    background: #fff;
    color: var(--text);
    font-size: 17px;
    line-height: 1.3;
    box-shadow: 0 1px 2px rgba(17, 35, 64, 0.1);
}

.hunter-trello-card:hover {
    border-color: #b9c2cf;
    background: #fbfcfe;
    color: var(--blue-950);
}

.hunter-trello-column footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 8px 6px;
}

.hunter-trello-column footer a {
    color: #555b66;
    font-size: 16px;
    font-weight: 700;
}

.hunter-trello-column footer a:last-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 7px;
    font-size: 22px;
}

.hunter-trello-column footer a:hover,
.hunter-trello-column footer a:last-child:hover {
    background: #dde2ea;
    color: #20242c;
}

.hunter-add-column {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    min-height: 54px;
    border-radius: 12px;
    background: var(--blue-950);
    color: #fff;
    font-size: 30px;
    font-weight: 400;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.12);
}

.hunter-add-column:hover {
    background: var(--blue-850);
    color: #fff;
}

.hunter-filters {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.hunter-filters select {
    width: min(260px, 100%);
}

.feedback-list {
    display: grid;
}

.feedback-list article {
    display: grid;
    gap: 10px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
}

.feedback-list article > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.feedback-list time {
    color: var(--blue-850);
    font-weight: 800;
}

.feedback-list span {
    color: var(--muted);
    font-weight: 700;
}

.feedback-list p {
    margin: 0;
    line-height: 1.45;
}

.feedback-list .danger-link {
    justify-self: start;
}

.org-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.org-summary .info-card p {
    margin-bottom: 12px;
}

.compact-empty {
    padding: 18px 20px;
}

.empty-state {
    grid-column: 1 / -1;
    padding: 24px;
}

.empty-state h2 {
    margin: 0 0 8px;
    color: var(--blue-950);
}

.empty-state p {
    margin: 0 0 18px;
    color: var(--muted);
}

.person-cell {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.person-cell img,
.person-cell span,
.profile-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}

.person-cell span,
.profile-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--blue-950);
    color: #fff;
    font-weight: 800;
}

.person-cell strong {
    font-weight: 700;
}

.profile-header {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 22px;
    padding: 24px;
}

.profile-header img,
.profile-avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
}

.profile-photo-link {
    display: block;
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    border-radius: 50%;
    overflow: hidden;
    cursor: zoom-in;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #cddcf3;
    transition: transform 160ms ease, box-shadow 160ms ease;
}

.profile-photo-link:hover,
.profile-photo-link:focus-visible {
    transform: scale(1.04);
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #2f73e8;
    outline: none;
}

.profile-photo-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-header h2 {
    margin: 0 0 6px;
    color: var(--blue-950);
    font-size: 26px;
}

.profile-header p {
    margin: 0 0 12px;
    color: var(--muted);
}

.profile-status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.tenure-pill {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 800;
}

.form-panel {
    max-width: 980px;
}

.colaborador-form-panel {
    max-width: 1180px;
}

.form-section {
    border-bottom: 1px solid var(--line);
}

.form-section:last-of-type {
    border-bottom: 0;
}

.form-section-title {
    padding: 20px 22px 0;
}

.form-section-title h2 {
    margin: 0 0 5px;
    color: var(--blue-950);
    font-size: 18px;
}

.form-section-title p {
    margin: 0;
    color: var(--muted);
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 22px;
}

.payment-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.document-form-row {
    margin: 18px 22px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fafc;
}

.document-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.document-fields .field:has(textarea),
.document-fields .checkbox-field {
    grid-column: 1 / -1;
}

.checkbox-field {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkbox-field label {
    order: 2;
}

.checkbox-field input {
    order: 1;
    width: auto;
    min-height: 0;
}

.standalone-actions {
    justify-content: flex-end;
    padding: 18px 22px 22px;
}

.field {
    display: grid;
    gap: 7px;
}

.field label,
.login-card label {
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.field small {
    color: var(--muted);
}

.field .error {
    color: #a32929;
}

input,
select,
textarea,
.form-control {
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

textarea {
    resize: vertical;
}

.form-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 8px;
}

.primary-button,
.ghost-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 7px;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.primary-button {
    background: var(--blue-700);
    color: #fff;
}

.primary-button:hover {
    background: var(--blue-850);
    color: #fff;
}

.ghost-button {
    background: #fff;
    border-color: var(--line);
    color: var(--blue-850);
}

.ghost-button:hover {
    border-color: var(--blue-700);
}

.detail-return-bar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: -12px 0 16px;
    padding: 10px 0;
    background: linear-gradient(180deg, rgba(244, 247, 251, 0.98), rgba(244, 247, 251, 0.86));
    backdrop-filter: blur(8px);
}

.recruitment-wide-panel {
    grid-column: 1 / -1;
    width: 100%;
}

.recruitment-vaga-cards {
    display: grid;
    gap: 8px;
}

.recruitment-vaga-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    overflow: hidden;
}

.recruitment-vaga-card summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, auto) 32px;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 11px 14px;
    cursor: pointer;
    list-style: none;
}

.recruitment-vaga-card summary::-webkit-details-marker {
    display: none;
}

.recruitment-vaga-card summary::after {
    content: "+";
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef4ff;
    color: var(--blue-700);
    font-size: 20px;
    font-weight: 800;
}

.recruitment-vaga-card[open] summary::after {
    content: "-";
}

.vaga-card-main,
.vaga-card-main strong,
.vaga-card-main small {
    display: block;
}

.vaga-card-main strong {
    color: var(--text);
    font-size: 16px;
    line-height: 1.2;
}

.vaga-card-main small,
.vaga-card-company {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.vaga-card-main small {
    margin-top: 4px;
}

.vaga-card-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.vaga-card-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 14px;
    padding: 12px 14px 14px;
    border-top: 1px solid var(--line);
    background: #f8fbff;
}

.vaga-card-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.vaga-card-info p,
.vaga-card-companies {
    margin: 0;
    padding: 10px;
    border: 1px solid #dbe5f3;
    border-radius: 8px;
    background: #fff;
}

.vaga-card-info p span,
.vaga-card-companies > span,
.vaga-card-info p strong {
    display: block;
}

.vaga-card-info p span,
.vaga-card-companies > span {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.vaga-card-info p strong {
    color: var(--text);
    font-size: 14px;
}

.vaga-card-companies {
    grid-column: 1 / -1;
}

.vaga-card-companies form {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
}

.vaga-card-companies select {
    flex: 1 1 220px;
    min-width: 0;
    min-height: 40px;
    border: 1px solid #d5e0ef;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fff;
    color: var(--text);
    font: inherit;
    font-weight: 700;
}

.vaga-card-companies .ghost-button {
    min-height: 40px;
}

.vaga-card-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.vaga-card-actions form {
    margin: 0;
}

.vaga-card-actions .ghost-button,
.vaga-card-actions .primary-button,
.vaga-card-actions .danger-link {
    min-height: 36px;
    padding: 7px 11px;
    font-size: 13px;
}

@media (max-width: 900px) {
    .recruitment-vaga-card summary,
    .vaga-card-body {
        grid-template-columns: 1fr;
    }

    .vaga-card-meta,
    .vaga-card-actions {
        justify-content: flex-start;
    }

    .vaga-card-info {
        grid-template-columns: 1fr;
    }

    .vaga-card-companies {
        grid-column: auto;
    }
}

.status-aberta {
    background: #dcfce7;
    color: #166534;
}

.status-fechada {
    background: #eef2f7;
    color: #475569;
}

.status-pausada {
    background: #fff7ed;
    color: #c2410c;
}

.danger-button,
.danger-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 7px;
    border: 1px solid #b42318;
    background: #b42318;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.danger-link {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #b42318;
}

.danger-button:hover,
.danger-link:hover {
    color: #fff;
    background: #8a1c13;
}

.danger-link:hover {
    color: #8a1c13;
    background: transparent;
}

.delete-panel {
    max-width: 680px;
    padding: 24px;
}

.delete-panel h2 {
    margin-top: 0;
}

.delete-warning,
.delete-error {
    color: #b42318;
    font-weight: 700;
}

.delete-actions {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}

.detail-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.payroll-tools {
    flex-wrap: wrap;
}

.payroll-tools input {
    max-width: 220px;
}

.generate-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.06);
}

.generate-row div {
    display: grid;
    gap: 4px;
}

.generate-row span {
    color: var(--muted);
}

.primary-button:disabled,
button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.print-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 18px;
}

.receipt {
    max-width: 960px;
    margin: 0 auto;
    padding: 34px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.06);
}

.receipt-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--blue-950);
}

.receipt-header div {
    display: grid;
    gap: 4px;
}

.receipt-header strong {
    color: var(--blue-950);
    font-size: 20px;
}

.receipt-header span {
    color: var(--muted);
    font-weight: 700;
}

.receipt-header h2 {
    margin: 0;
    color: var(--blue-950);
}

.receipt-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    margin: 24px 0;
}

.receipt-grid p {
    margin: 0;
}

.receipt-table tfoot td {
    background: #f7f9fc;
    font-weight: 700;
}

.signature-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
    margin-top: 64px;
}

.signature-row span {
    display: block;
    border-top: 1px solid var(--text);
}

.signature-row p {
    margin: 8px 0 0;
    text-align: center;
    color: var(--muted);
}

.finance-report .panel-header strong {
    color: var(--blue-950);
}

.fixed-payroll-panel {
    margin-bottom: 24px;
}

.fixed-payroll-panel .panel-header strong {
    color: var(--blue-950);
    font-size: 18px;
}

.fixed-payroll-table input {
    min-width: 96px;
    max-width: 120px;
    min-height: 36px;
    padding: 7px 9px;
}

.fixed-payroll-table tfoot td {
    background: #f7f9fc;
}

.fixed-payroll-actions {
    padding: 16px 20px;
}

.admission-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding: 18px 20px;
}

.admission-link h2 {
    margin: 0 0 6px;
    color: var(--blue-950);
}

.admission-link p {
    margin: 0;
    color: var(--muted);
    word-break: break-all;
}

.public-admission-page {
    min-height: 100vh;
    background: #eef3fa;
}

.public-admission-shell {
    width: min(1040px, 100%);
    margin: 0 auto;
    padding: 28px 18px;
}

.public-admission-card,
.public-admission-success {
    overflow: hidden;
}

.public-admission-header {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 24px;
    background: var(--blue-950);
    color: #fff;
}

.public-admission-header img {
    width: 190px;
    max-width: 42%;
}

.public-admission-header span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.public-admission-header h1,
.public-admission-success h1 {
    margin: 4px 0;
}

.public-admission-header p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
}

.public-admission-form {
    max-width: none;
}

.public-admission-form-v2 {
    display: grid;
    gap: 18px;
    padding: 24px;
}

.public-form-section {
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.public-form-section-title {
    margin-bottom: 16px;
}

.public-form-section-title span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-form-section-title h2 {
    margin: 4px 0 0;
    color: var(--blue-950);
    font-size: 24px;
    line-height: 1.15;
}

.public-form-section-title p {
    margin: 6px 0 0;
    color: var(--muted);
}

.public-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.public-form-grid input[type="file"] {
    width: 100%;
    padding: 11px;
    border: 1px dashed #b9c9df;
    border-radius: 8px;
    background: #f8fbff;
}

.public-form-full {
    grid-column: 1 / -1;
}

.selected-job-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border-radius: 8px;
    background: #eef4ff;
}

.selected-job-card span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.selected-job-card strong {
    display: block;
    margin: 4px 0;
    color: var(--blue-950);
    font-size: 22px;
}

.selected-job-card p {
    margin: 0;
    color: var(--muted);
}

.public-lgpd-section {
    background: #f8fbff;
}

.public-lgpd-section .checkbox-label {
    margin: 0;
    align-items: flex-start;
}

.public-lgpd-check {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.public-lgpd-check input {
    width: 20px;
    height: 20px;
    margin-top: 2px;
}

.public-lgpd-check span {
    color: var(--blue-950);
    line-height: 1.45;
}

.public-form-errors {
    padding: 14px 16px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fff1f2;
    color: #991b1b;
    font-weight: 700;
}

.public-form-notice {
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #eff6ff;
}

.public-form-notice strong {
    color: var(--blue-950);
}

.public-form-notice span {
    color: var(--muted);
    line-height: 1.45;
}

.public-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.public-admission-success {
    display: grid;
    justify-items: start;
    gap: 18px;
    padding: 34px 44px 40px;
}

.success-hero {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 18px;
}

.success-copy {
    display: grid;
    justify-items: start;
    gap: 14px;
}

.public-admission-success h1 {
    margin: 0;
    color: var(--blue-950);
}

.public-admission-success img {
    justify-self: center;
    width: min(360px, 58%);
    margin: 2px 0 24px;
}

.public-admission-success span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-admission-success p {
    max-width: 720px;
    margin: 0;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.55;
}

.success-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    color: #047857;
    font-size: 30px;
    font-weight: 950;
    background: #d1fae5;
    box-shadow: 0 14px 30px rgba(16, 185, 129, 0.16);
}

.success-next-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin: 6px 0 10px;
}

.success-next-steps article {
    display: grid;
    gap: 5px;
    padding: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #f8fbff;
}

.success-next-steps strong {
    color: var(--blue-950);
}

.success-next-steps span {
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.42;
    text-transform: none;
}

.success-actions {
    justify-content: flex-start;
}

.public-jobs-page {
    min-height: 100vh;
    background:
        linear-gradient(90deg, rgba(0, 15, 41, 0.92), rgba(0, 31, 84, 0.72)),
        url("../img/grupo-renda-login-bg-v2.png") center / cover no-repeat fixed;
    color: var(--blue-950);
}

.public-jobs-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 34px 18px 48px;
}

.public-jobs-entrybar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding: 18px 22px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 18px 42px rgba(0, 15, 41, 0.2);
}

.public-jobs-entrybar > div {
    display: grid;
    gap: 2px;
}

.public-jobs-entrybar span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-jobs-entrybar strong {
    color: var(--blue-950);
    font-size: 25px;
}

.public-jobs-entrybar p {
    margin: 0;
    color: #52627a;
}

.public-jobs-entrybar nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.public-careers-banner {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background: var(--blue-950);
    box-shadow: 0 24px 70px rgba(0, 15, 41, 0.28);
}

.public-careers-banner img {
    display: block;
    width: 100%;
    aspect-ratio: 1555 / 393;
    object-fit: cover;
}

.public-jobs-hero {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 34px;
    align-items: center;
    margin-bottom: 18px;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 70px rgba(0, 15, 41, 0.28);
}

.public-jobs-hero img {
    width: 100%;
    max-height: 110px;
    object-fit: contain;
}

.public-jobs-hero span,
.job-company,
.public-job-detail-heading span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-jobs-hero h1 {
    margin: 4px 0 6px;
    font-size: 36px;
    line-height: 1.05;
}

.public-jobs-hero p {
    margin: 0;
    color: var(--muted);
    font-size: 18px;
}

.public-careers-story,
.public-careers-timeline,
.public-careers-today,
.public-careers-next,
.public-careers-brands,
.public-jobs-section-title {
    margin-bottom: 18px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 52px rgba(0, 15, 41, 0.18);
}

.public-careers-story {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 22px;
    padding: 30px;
}

.story-intro span,
.public-careers-today span,
.timeline-heading span,
.brands-heading span,
.public-jobs-section-title span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.story-intro h2,
.public-careers-today h2,
.timeline-heading h2,
.public-careers-next h2,
.brands-heading h2,
.public-jobs-section-title h2 {
    margin: 6px 0 10px;
    color: var(--blue-950);
    font-size: 28px;
    line-height: 1.15;
}

.story-intro p,
.story-origin p,
.public-careers-today p,
.public-careers-next p,
.brands-heading p,
.public-jobs-section-title p {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.6;
}

.story-origin {
    padding: 22px;
    border-radius: 8px;
    background: #eef4ff;
}

.story-origin h3 {
    margin: 0 0 8px;
    color: var(--blue-950);
    font-size: 22px;
}

.public-careers-timeline {
    padding: 30px;
}

.timeline-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}

.timeline-grid article {
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
}

.timeline-grid strong {
    display: block;
    margin-bottom: 8px;
    color: var(--blue-700);
    font-size: 17px;
}

.timeline-grid p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.public-careers-today {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
    gap: 24px;
    align-items: center;
    padding: 30px;
}

.today-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.today-stats article {
    padding: 20px;
    border-radius: 8px;
    background: linear-gradient(135deg, #eef4ff, #fff);
}

.today-stats strong {
    display: block;
    color: var(--blue-700);
    font-size: 34px;
    line-height: 1;
}

.today-stats span {
    display: block;
    margin-top: 8px;
    color: var(--blue-950);
    font-size: 14px;
    font-weight: 800;
    text-transform: none;
}

.public-careers-next {
    padding: 30px;
}

.public-careers-next p + p {
    margin-top: 12px;
}

.public-careers-brands {
    padding: 30px;
}

.brands-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.brands-grid article {
    display: grid;
    align-content: space-between;
    min-height: 184px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: linear-gradient(135deg, #f8fbff, #ffffff);
}

.brands-grid strong {
    color: var(--blue-950);
    font-size: 18px;
    line-height: 1.2;
}

.brands-grid p {
    margin: 10px 0 16px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.45;
}

.brands-grid .ghost-button {
    justify-self: start;
    min-height: 42px;
    padding: 10px 14px;
    font-size: 14px;
}

.public-company-gallery {
    display: grid;
    gap: 22px;
    margin-bottom: 18px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 18px 42px rgba(0, 15, 41, 0.18);
}

.gallery-heading span,
.media-portal-manager .section-heading span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.gallery-heading h2 {
    margin: 5px 0 7px;
    font-size: 28px;
}

.gallery-heading p {
    margin: 0;
    color: var(--muted);
}

.public-company-gallery-grid,
.media-portal-manager-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.public-company-media-card,
.media-portal-manager-card {
    overflow: hidden;
    border: 1px solid #dce7f6;
    border-radius: 8px;
    background: #f8fbff;
}

.public-company-media-frame,
.media-portal-preview {
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--blue-950);
}

.public-company-media-frame img,
.public-company-media-frame iframe,
.public-company-media-frame video,
.media-portal-preview img {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.public-company-media-copy {
    padding: 18px;
}

.public-company-media-copy span,
.media-portal-manager-card > div:nth-child(2) > span {
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-company-media-copy h3,
.media-portal-manager-card h3 {
    margin: 5px 0 7px;
    color: var(--blue-950);
}

.public-company-media-copy p,
.media-portal-manager-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.media-portal-manager {
    padding: 24px;
}

.media-portal-manager .section-heading {
    margin-bottom: 22px;
}

.media-portal-manager-card {
    display: grid;
}

.media-portal-preview {
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 900;
}

.media-portal-manager-card > div:nth-child(2) {
    padding: 16px;
}

.media-portal-manager-card small {
    display: block;
    margin-top: 12px;
    color: var(--muted);
    font-weight: 800;
}

.media-portal-manager-actions {
    display: flex;
    gap: 8px;
    padding: 0 16px 16px;
}

.public-jobs-board {
    display: grid;
    gap: 20px;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 42px rgba(0, 15, 41, 0.12);
    scroll-margin-top: 18px;
}

.public-jobs-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(380px, 1fr);
    align-items: end;
    gap: 24px;
    margin-bottom: 0;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--border);
    border-radius: 0;
    background: transparent;
}

.public-jobs-toolbar .public-jobs-section-title {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border: 0;
    margin-bottom: 0;
}

.public-jobs-toolbar .public-jobs-section-title span {
    color: var(--blue-700);
}

.public-jobs-toolbar .public-jobs-section-title h2 {
    color: var(--blue-950);
}

.public-jobs-toolbar .public-jobs-section-title p {
    color: #52627a;
    font-weight: 650;
}

.public-jobs-search {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    border-radius: 8px;
    background: transparent;
}

.public-jobs-search label {
    color: var(--blue-950);
    font-size: 13px;
    font-weight: 950;
}

.public-jobs-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
}

.public-jobs-search input {
    min-width: 0;
}

.public-jobs-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.public-talent-bank-callout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px;
    border: 1px solid #c9daf3;
    border-radius: 8px;
    background: #f2f7ff;
}

.public-talent-bank-callout span {
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-talent-bank-callout h3 {
    margin: 4px 0 6px;
    color: var(--blue-950);
    font-size: 21px;
}

.public-talent-bank-callout p {
    margin: 0;
    color: #52627a;
}

.public-talent-bank-callout .primary-button {
    flex: 0 0 auto;
}

.public-job-card,
.public-jobs-empty,
.public-job-detail {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 10px 24px rgba(0, 15, 41, 0.08);
}

.public-job-card {
    display: grid;
    min-height: 0;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    padding: 18px;
    border: 1px solid #dce7f6;
    border-radius: 8px;
    background: #f7fbff;
    box-shadow: 0 8px 20px rgba(0, 19, 47, 0.05);
}

.public-job-card:last-child {
    border-bottom: 1px solid #dce7f6;
    padding-bottom: 18px;
}

.public-job-card:hover {
    border-color: #b9cdec;
    background: #f2f7ff;
    box-shadow: 0 12px 26px rgba(0, 19, 47, 0.08);
}

.job-initial {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--blue-700), var(--blue-950));
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-job-card h2 {
    margin: 4px 0;
    font-size: 22px;
    line-height: 1.15;
}

.public-job-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.public-job-card > div:nth-child(2) {
    min-width: 0;
}

.job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.job-meta span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef4ff;
    color: var(--blue-700);
    font-size: 13px;
    font-weight: 800;
}

.job-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.public-jobs-empty {
    grid-column: 1 / -1;
    padding: 34px;
    text-align: center;
}

.public-job-detail-shell {
    width: min(980px, 100%);
}

.public-back-link {
    display: inline-flex;
    margin-bottom: 12px;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.public-job-detail {
    overflow: hidden;
}

.public-job-detail-heading {
    display: grid;
    grid-template-columns: 190px 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 28px;
    background: var(--blue-950);
    color: #fff;
}

.public-job-detail-heading img {
    width: 100%;
    max-height: 78px;
    object-fit: contain;
}

.public-job-detail-heading span,
.public-job-detail-heading p {
    color: rgba(255, 255, 255, 0.76);
}

.public-job-detail-heading h1 {
    margin: 5px 0;
    font-size: 34px;
    line-height: 1.1;
}

.public-job-detail-heading p {
    margin: 0;
}

.public-job-detail-content {
    display: grid;
    gap: 18px;
    padding: 28px;
}

.public-job-detail-content section {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.public-job-detail-content section:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.public-job-detail-content h2 {
    margin: 0 0 8px;
    font-size: 22px;
}

.public-job-detail-content p {
    margin: 0;
    color: var(--muted);
    line-height: 1.65;
}

@media (max-width: 760px) {
    .public-jobs-entrybar {
        align-items: stretch;
        flex-direction: column;
    }

    .public-jobs-entrybar nav {
        display: grid;
        grid-template-columns: 1fr;
    }

    .public-jobs-entrybar nav a {
        justify-content: center;
    }

    .public-form-grid,
    .selected-job-card,
    .public-form-actions,
    .success-hero,
    .success-next-steps {
        grid-template-columns: 1fr;
    }

    .selected-job-card,
    .public-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .public-admission-success img {
        justify-self: start;
        width: min(300px, 100%);
        margin-top: 0;
    }

    .public-admission-form-v2,
    .public-form-section {
        padding: 18px;
    }

    .public-jobs-hero,
    .public-job-detail-heading {
        grid-template-columns: 1fr;
    }

    .public-jobs-hero {
        padding: 24px;
    }

    .public-jobs-hero img,
    .public-job-detail-heading img {
        max-width: 240px;
    }

    .public-jobs-toolbar,
    .public-jobs-search > div {
        grid-template-columns: 1fr;
    }

    .public-talent-bank-callout {
        align-items: stretch;
        flex-direction: column;
    }

    .public-talent-bank-callout .primary-button {
        justify-content: center;
        width: 100%;
    }

    .public-careers-story,
    .public-careers-today,
    .timeline-grid {
        grid-template-columns: 1fr;
    }

    .public-careers-story,
    .public-careers-timeline,
    .public-careers-today,
    .public-careers-next,
    .public-careers-brands,
    .public-company-gallery,
    .public-jobs-board {
        padding: 22px;
    }

    .public-company-gallery-grid,
    .media-portal-manager-grid {
        grid-template-columns: 1fr;
    }

    .today-stats {
        grid-template-columns: 1fr;
    }

    .public-job-card {
        grid-template-columns: 52px 1fr;
        min-height: 0;
    }

    .job-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

/* Chat interno */
.chat-page {
    margin: 0;
    min-width: 0;
    overflow: hidden;
    background: #eef3f9;
}

.chat-shell {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    min-height: 100vh;
    height: 100vh;
}

.chat-sidebar {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    min-width: 0;
    padding: 22px 18px;
    background: #001838;
    color: #fff;
    overflow: hidden;
}

.chat-brand {
    display: block;
    width: 220px;
    max-width: 100%;
}

.chat-brand img {
    display: block;
    width: 100%;
    height: 54px;
    object-fit: contain;
    object-position: left center;
}

.chat-sidebar-heading {
    padding: 18px 8px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.chat-sidebar-heading span,
.chat-channel-nav > p,
.chat-new-private label {
    color: #8eacd2;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.chat-sidebar-heading h1 {
    margin: 3px 0 0;
    color: #fff;
    font-size: 24px;
}

.chat-channel-nav {
    min-height: 0;
    padding: 12px 0;
    overflow-y: auto;
    scrollbar-width: thin;
}

.chat-channel-nav > p {
    margin: 8px 10px;
}

.chat-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 8px 10px;
}

.chat-section-heading p {
    margin: 0;
    color: #8eacd2;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.chat-section-heading > span {
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: #bdd3ef;
    font-size: 11px;
    font-weight: 800;
}

.chat-contact-list {
    max-height: 42vh;
    overflow-y: auto;
    scrollbar-width: thin;
}

.chat-contact-form { margin: 0; }

.chat-contact-form button {
    width: 100%;
    border: 0;
    appearance: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.chat-contact-link {
    grid-template-columns: 36px minmax(0, 1fr) 10px auto;
    background: #0d294d;
    color: #e7f0ff;
}

.chat-contact-link:hover {
    background: #16375f;
    color: #fff;
}

.chat-contact-link.active {
    background: #1459d9;
    color: #fff;
}

.chat-contact-avatar {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #1c4f8f;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
}

.chat-contact-copy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.chat-contact-copy strong,
.chat-contact-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-contact-copy strong { color: inherit; font-size: 14px; }
.chat-contact-copy small { color: #91b5e3; font-size: 11px; }
.chat-contact-link.active .chat-contact-copy small { color: #c9dcff; }
.chat-contact-link .chat-user-dot { margin: 0; }
.chat-groups-heading { margin-top: 22px; }

.chat-new-group {
    margin: 10px 0 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 7px;
    background: rgba(255, 255, 255, .04);
}

.chat-new-group summary {
    padding: 11px 12px;
    color: #8fc0ff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.chat-new-group form { display: grid; gap: 8px; padding: 0 12px 12px; }
.chat-new-group label, .chat-new-group form > span { color: #bdd3ef; font-size: 11px; font-weight: 800; }
.chat-new-group input[type="text"] {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 6px;
    background: #0d294d;
    color: #fff;
}
.chat-group-members {
    max-height: 145px;
    padding: 7px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 6px;
}
.chat-group-members ul { margin: 0; padding: 0; list-style: none; }
.chat-group-members label { display: flex; align-items: flex-start; gap: 7px; padding: 5px 3px; color: #e4effd; font-size: 12px; font-weight: 500; }
.chat-new-group button {
    min-height: 40px;
    border: 0;
    border-radius: 6px;
    background: #2176ff;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.chat-channel-nav .chat-private-title {
    margin-top: 22px;
}

.chat-channel-link {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin: 4px 0;
    padding: 8px 10px;
    border-radius: 6px;
    color: #dbe8fa;
    text-decoration: none;
}

.chat-channel-link:hover {
    background: rgba(255, 255, 255, 0.07);
}

.chat-channel-link.active {
    background: #1459d9;
    color: #fff;
}

.chat-channel-symbol {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;
    color: #66a1ff;
    font-weight: 900;
}

.chat-user-dot {
    width: 10px;
    height: 10px;
    margin-left: 9px;
    border-radius: 50%;
    background: #20c997;
    box-shadow: 0 0 0 3px rgba(32, 201, 151, 0.16);
}

.chat-unread-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: #fff;
    color: #084bb1;
    font-size: 12px;
}

.chat-unread-badge[hidden] {
    display: none;
}

.chat-no-private {
    display: block;
    padding: 5px 10px;
    color: #8eacd2;
    font-size: 13px;
}

.chat-new-private {
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.chat-new-private > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 8px;
    margin-top: 7px;
}

.chat-new-private select,
.chat-new-private button {
    min-width: 0;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: 6px;
}

.chat-new-private select {
    padding: 0 10px;
    background: #0d294d;
    color: #fff;
}

.chat-new-private button {
    background: #2176ff;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
}

.chat-main {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
}

.chat-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 94px;
    padding: 18px 30px;
    border-bottom: 1px solid #d7e1ee;
    background: #fff;
}

.chat-topbar span {
    color: #60728e;
    font-size: 13px;
}

.chat-topbar h2 {
    margin: 3px 0 0;
    color: #001b44;
    font-size: 25px;
}

.chat-topbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.chat-conversation {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 0;
    background: #f4f7fb;
}

.chat-message-list {
    min-height: 0;
    padding: 26px clamp(18px, 5vw, 72px);
    overflow-y: auto;
}

.chat-day-intro {
    display: grid;
    gap: 3px;
    margin-bottom: 25px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dce5f0;
    color: #61738f;
}

.chat-day-intro strong {
    color: #001b44;
    font-size: 20px;
}

.chat-message {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    max-width: 900px;
    margin: 0 0 18px;
}

.chat-message.mine {
    margin-left: auto;
}

.chat-message-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #dbe9ff;
    color: #0d54bd;
    font-weight: 900;
}

.chat-message.mine .chat-message-avatar {
    background: #d7f5e8;
    color: #087f5b;
}

.chat-message-content {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #dce5f0;
    border-radius: 0 8px 8px 8px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(18, 43, 78, 0.04);
}

.chat-message.mine .chat-message-content {
    border-color: #ccebdc;
    background: #effbf6;
}

.chat-message-meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.chat-message-meta strong {
    color: #001b44;
}

.chat-message-meta time {
    color: #8090a8;
    font-size: 12px;
    white-space: nowrap;
}

.chat-message-content p {
    margin: 6px 0 0;
    color: #263c5c;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.chat-message-content a {
    display: inline-flex;
    margin-top: 8px;
    color: #0d54bd;
    font-weight: 800;
}

.chat-compose {
    display: grid;
    gap: 9px;
    padding: 16px clamp(18px, 5vw, 72px) 20px;
    border-top: 1px solid #d7e1ee;
    background: #fff;
}

.chat-compose textarea,
.chat-compose input[type="url"] {
    width: 100%;
    min-width: 0;
    border: 1px solid #cbd8e8;
    border-radius: 6px;
    background: #fff;
    color: #162d4e;
}

.chat-compose textarea {
    min-height: 66px;
    max-height: 150px;
    padding: 12px 14px;
    resize: vertical;
}

.chat-compose input[type="url"] {
    height: 42px;
    padding: 0 11px;
}

.chat-compose-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.chat-link-details {
    flex: 1;
    max-width: 560px;
}

.chat-link-details summary {
    width: fit-content;
    color: #0d54bd;
    cursor: pointer;
    font-weight: 800;
}

.chat-link-details input {
    margin-top: 7px;
}

.chat-form-error {
    color: #b42318;
    font-weight: 700;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 900px) {
    .chat-shell {
        grid-template-columns: 250px minmax(0, 1fr);
    }

    .chat-sidebar {
        padding-inline: 12px;
    }

    .chat-topbar-actions > span,
    .chat-topbar-actions > a {
        display: none;
    }
}

@media (max-width: 680px) {
    .chat-page {
        overflow: auto;
    }

    .chat-shell {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(620px, 1fr);
        height: auto;
        min-height: 100vh;
    }

    .chat-sidebar {
        grid-template-rows: auto auto auto auto;
        max-height: none;
    }

    .chat-channel-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: 240px;
    }

    .chat-channel-nav > p,
    .chat-section-heading,
    .chat-channel-nav .chat-private-title,
    .chat-no-private {
        grid-column: 1 / -1;
    }

    .chat-contact-list,
    .chat-new-group {
        grid-column: 1 / -1;
    }

    .chat-topbar {
        min-height: 78px;
        padding: 14px 18px;
    }

    .chat-message {
        grid-template-columns: 34px minmax(0, 1fr);
    }

    .chat-message-avatar {
        width: 34px;
        height: 34px;
    }
}

.talent-rules {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 20px;
}

.talent-rules h2 {
    margin: 0 0 8px;
    color: var(--blue-950);
}

.talent-rules p {
    margin: 4px 0;
    color: var(--muted);
}

.info-card {
    padding: 22px;
}

.login-page {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 22px;
}

.login-card {
    width: min(460px, 100%);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(17, 35, 64, 0.12);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--blue-950);
    color: #fff;
    padding: 22px;
}

.login-brand img {
    width: 210px;
    max-width: 58%;
}

.login-brand div {
    display: grid;
    gap: 4px;
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.login-brand strong {
    font-size: 19px;
}

.login-brand span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.login-card .form-grid {
    display: grid;
    grid-template-columns: 1fr;
}

.login-card p {
    display: grid;
    gap: 7px;
    margin: 0;
}

.gg-dashboard {
    display: grid;
    gap: 22px;
}

.gg-icon-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.gg-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.gg-hero h2 {
    margin: 0 0 8px;
    color: var(--blue-950);
    font-size: 28px;
    line-height: 1.1;
}

.gg-hero p {
    margin: 0;
    color: #4f5f78;
    font-size: 16px;
}

.gg-toolbar {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.gg-toolbar-field {
    display: grid;
    gap: 6px;
    min-width: 170px;
}

.gg-toolbar-field span,
.gg-mini-filter label {
    color: #516079;
    font-size: 12px;
    font-weight: 900;
}

.gg-toolbar-field input,
.gg-toolbar-field select {
    min-height: 44px;
    border-color: #e4eaf4;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.06);
}

.gg-export-button {
    min-height: 44px;
    background: linear-gradient(135deg, #7438f3, #9d35f4);
    box-shadow: 0 14px 28px rgba(116, 56, 243, 0.24);
}

.gg-export-button:hover {
    background: linear-gradient(135deg, #5e2ed0, #8428dc);
}

.gg-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.gg-kpi-card,
.gg-card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e5ebf5;
    border-radius: 8px;
    box-shadow: 0 18px 38px rgba(17, 35, 64, 0.08);
}

.gg-kpi-card {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 142px;
    padding: 22px 22px;
}

.gg-kpi-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    font-size: 26px;
    font-weight: 900;
    align-self: center;
}

.gg-kpi-card > div {
    display: grid;
    grid-template-rows: 34px 64px;
    align-items: center;
    text-align: left;
    min-width: 0;
}

.gg-kpi-icon svg,
.gg-card-mark svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.gg-kpi-card p {
    margin: 0;
    color: var(--blue-950);
    max-width: 210px;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.12;
    justify-self: center;
    text-align: center;
}

.gg-kpi-card strong {
    display: block;
    color: var(--blue-950);
    font-size: 54px;
    line-height: 1;
    align-self: center;
    justify-self: center;
    max-width: 100%;
    overflow: hidden;
    text-overflow: clip;
}

.gg-kpi-turnover strong {
    font-size: clamp(42px, 3.4vw, 52px);
    letter-spacing: 0;
    white-space: nowrap;
}

.gg-kpi-card small {
    display: none;
    margin-top: 0;
    color: #52627b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    align-self: end;
    justify-self: center;
    max-width: 190px;
}

.gg-kpi-hiring .gg-kpi-icon {
    background: #dcfce7;
    color: #10a66f;
}

.gg-kpi-hiring strong {
    color: #10a66f;
}

.gg-kpi-exits .gg-kpi-icon {
    background: #fee2e2;
    color: #ef4444;
}

.gg-kpi-exits strong {
    color: #ef4444;
}

.gg-kpi-active .gg-kpi-icon {
    background: #e8f1ff;
    color: #3b82f6;
}

.gg-kpi-active strong {
    color: #3b82f6;
}

.gg-kpi-turnover .gg-kpi-icon {
    background: #f3e8ff;
    color: #963cf2;
}

.gg-kpi-turnover strong {
    color: #963cf2;
}

.gg-main-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.72fr) minmax(560px, 1.28fr);
    gap: 18px;
    align-items: start;
}

.gg-card {
    overflow: hidden;
}

.gg-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 18px 16px;
}

.gg-card-header h3 {
    margin: 0 0 8px;
    color: var(--blue-950);
    font-size: 19px;
    line-height: 1.25;
}

.gg-card-header p {
    margin: 0;
    color: #63718a;
    line-height: 1.35;
}

.gg-card-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 13px;
    background: #f3e8ff;
    color: #8b35e8;
    font-weight: 900;
    flex: 0 0 auto;
}

.gg-card-mark svg {
    width: 22px;
    height: 22px;
}

.gg-list-card .gg-card-header {
    padding: 28px 22px 18px;
}

.gg-list-card .gg-card-header h3 {
    font-size: 23px;
}

.gg-list-card .gg-card-header p {
    font-size: 18px;
}

.gg-list-card .gg-card-mark {
    width: 50px;
    height: 50px;
    border-radius: 16px;
}

.gg-contract-card .gg-card-header {
    align-items: center;
    padding: 22px 22px 14px;
}

.gg-contract-card .gg-card-header h3 {
    margin: 0;
    font-size: 23px;
    line-height: 1.22;
}

.gg-contract-card .gg-card-mark {
    width: 48px;
    height: 48px;
    border-radius: 15px;
}

.gg-contract-card .gg-card-mark svg {
    width: 22px;
    height: 22px;
}

.gg-contract-head {
    grid-template-columns: minmax(0, 1.35fr) minmax(82px, 0.82fr) 94px;
    padding: 16px 22px 10px;
    font-size: 13px;
}

.gg-contract-list {
    padding: 0 22px;
}

.gg-scroll-list,
.gg-contract-list {
    max-height: 250px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #c8d3e5 transparent;
}

.gg-scroll-list::-webkit-scrollbar,
.gg-contract-list::-webkit-scrollbar {
    width: 7px;
}

.gg-scroll-list::-webkit-scrollbar-track,
.gg-contract-list::-webkit-scrollbar-track {
    background: transparent;
}

.gg-scroll-list::-webkit-scrollbar-thumb,
.gg-contract-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #c8d3e5;
}

.gg-contract-list article {
    grid-template-columns: minmax(0, 1.35fr) minmax(82px, 0.82fr) 94px;
    min-height: 64px;
}

.gg-wide-expiration-card {
    margin-top: 18px;
}

.gg-expiration-head,
.gg-expiration-list article {
    grid-template-columns: minmax(260px, 1fr) 120px 150px;
}

.gg-expiration-list {
    max-height: 430px;
}

.gg-expiration-list article {
    min-height: 66px;
}

.gg-expiration-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #0f4da8 !important;
    font-size: 12px !important;
    font-weight: 900;
}

.gg-talent-filter {
    padding-top: 0;
}

.gg-expiration-filter {
    padding: 0 22px 16px;
    border-top: 0;
}

.gg-expiration-filter label {
    min-width: 180px;
}

.gg-expiration-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 16px 22px 22px;
    border-top: 1px solid #e8edf5;
}

.gg-expiration-summary span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: #f8fafc;
    color: #52627b;
    font-size: 13px;
    font-weight: 900;
}

.gg-expiration-summary .gg-view-all-link {
    margin: 0 0 0 auto;
    padding: 0 18px;
}

.gg-contract-list .person-cell img,
.gg-contract-list .person-cell .avatar-initial {
    width: 36px;
    height: 36px;
}

.gg-contract-list .person-cell .avatar-initial {
    background: var(--blue-950);
    color: #9ebeff;
    font-size: 15px;
}

.gg-contract-list strong {
    font-size: 13px;
    line-height: 1.25;
    white-space: normal;
}

.gg-contract-list small,
.gg-contract-list span {
    font-size: 12px;
    line-height: 1.3;
}

.gg-contract-list time {
    color: var(--blue-950);
    font-size: 13px;
    font-weight: 900;
}

.gg-contract-list + .gg-mini-filter {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 22px 22px;
}

.gg-contract-list + .gg-mini-filter button {
    grid-column: 1 / -1;
    justify-self: start;
}

.gg-view-all-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 18px 22px 22px;
    border: 1px solid #e1e8f3;
    border-radius: 8px;
    background: #fff;
    color: #7c2ce5;
    font-size: 15px;
    font-weight: 900;
}

.gg-view-all-link:hover {
    border-color: #d4c2ff;
    background: #fbf7ff;
    color: #6822d8;
}

.gg-table-head {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(74px, 0.75fr) 86px;
    gap: 10px;
    padding: 8px 18px;
    color: var(--blue-950);
    font-size: 12px;
    font-weight: 900;
}

.gg-list {
    display: grid;
    padding: 0 18px;
}

.gg-list article {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(74px, 0.75fr) 86px;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    border-top: 1px solid #e8edf5;
}

.gg-birthday-list article {
    grid-template-columns: minmax(0, 1fr) 54px;
}

.gg-list .person-cell {
    min-width: 0;
}

.gg-list strong {
    display: block;
    color: var(--blue-950);
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gg-list small,
.gg-list span {
    color: #596982;
    font-size: 12px;
}

.gg-list time {
    color: var(--blue-950);
    font-size: 12px;
    font-weight: 900;
    text-align: right;
}

.gg-empty {
    display: grid;
    gap: 6px;
    margin: 0 0 16px;
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.gg-empty strong {
    color: var(--blue-950);
}

.gg-empty span {
    color: #60708a;
}

.gg-mini-filter {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
    padding: 16px 18px 18px;
    border-top: 1px solid #e8edf5;
}

.gg-mini-filter label {
    display: grid;
    gap: 5px;
}

.gg-mini-filter input {
    min-height: 36px;
}

.gg-talent-card {
    min-height: 100%;
}

.gg-talent-card .gg-card-header {
    align-items: flex-start;
}

.gg-talent-actions {
    align-items: stretch;
    flex-direction: column;
    min-width: 138px;
}

.gg-talent-actions .ghost-button,
.gg-talent-actions .primary-button {
    width: 100%;
    min-height: 50px;
}

.gg-talent-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.82fr) minmax(260px, 1.18fr);
    gap: 22px;
    align-items: center;
    padding: 14px 22px 24px;
}

.gg-donut {
    width: min(250px, 100%);
    background:
        conic-gradient(
            #10b981 var(--talento-start, 0deg) var(--talento-end, 0deg),
            #f59e0b var(--neutro-start, 0deg) var(--neutro-end, 0deg),
            #ef4444 var(--atencao-start, 0deg) var(--atencao-end, 0deg),
            #edf2f7 0deg
        );
    box-shadow: 0 24px 44px rgba(17, 35, 64, 0.1);
}

.gg-talent-link {
    margin: 0 22px 20px;
    background: #faf5ff;
    color: #7c2ce5;
}

.gg-talent-card .talent-summary-list {
    gap: 14px;
}

.gg-talent-card .talent-summary-card {
    min-height: 104px;
    grid-template-columns: 48px minmax(0, 1fr) minmax(58px, auto);
    gap: 12px;
    padding: 14px;
    border-radius: 8px;
}

.gg-talent-card .talent-summary-card strong {
    font-size: 16px;
}

.gg-talent-card .talent-summary-card span {
    line-height: 1.35;
}

.gg-talent-card .talent-summary-card em {
    min-width: 0;
    font-size: 24px;
    overflow-wrap: normal;
}

.gg-talent-card .talent-summary-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: currentColor;
    color: inherit;
    opacity: 1;
}

.gg-talent-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.gg-talent-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 980px) {
    .app-shell {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
    }

    .nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .metrics-grid,
    .metrics-grid.two,
    .dashboard-grid,
    .detail-grid,
    .nps-grid,
    .jornada-grid,
    .jornada-sections,
    .dashboard-overview-grid,
    .dashboard-split,
    .expiry-grid,
    .filters-grid,
    .dashboard-filter,
    .indicator-filter,
    .card-filter,
    .birthday-filter,
    .talent-filter,
    .talent-donut-layout,
    .talent-bar-row,
    .payment-grid,
    .document-fields,
    .org-summary,
    .turnover-summary {
        grid-template-columns: 1fr;
    }

    .jornada-wide {
        grid-column: auto;
    }

    .expiry-grid > div:first-child {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .turnover-summary article {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 1260px) {
    .gg-main-grid {
        grid-template-columns: minmax(280px, 1fr) minmax(520px, 1.35fr);
    }

    .gg-talent-card {
        grid-column: 1 / -1;
    }

    .gg-talent-layout {
        grid-template-columns: minmax(240px, 0.78fr) minmax(320px, 1.22fr);
    }
}

@media (max-width: 820px) {
    .gg-hero,
    .gg-card-header,
    .gg-talent-layout {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .gg-hero,
    .gg-card-header {
        flex-direction: column;
    }

    .gg-kpi-grid,
    .gg-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .topbar,
    .content {
        padding-left: 18px;
        padding-right: 18px;
    }

    .topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .nav,
    .form-grid {
        grid-template-columns: 1fr;
    }

    .brand img {
        width: 180px;
    }

    th,
    td {
        padding: 12px;
    }

    .generate-row,
    .receipt-header,
    .print-actions,
    .talent-rules,
    .jornada-hero,
    .jornada-profile,
    .movement-list article,
    .hunter-company-header,
    .hunter-card-top,
    .hunter-card-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .receipt-grid,
    .signature-row,
    .jornada-card-metrics,
    .info-grid,
    .timeline-list > div,
    .hunter-card-info,
    .candidate-profile-grid,
    .candidate-summary-layout,
    .candidate-application-head,
    .candidate-application-row,
    .candidate-timeline article,
    .candidate-process-main,
    .candidate-process-meta,
    .candidate-quick-form,
    .candidate-tags-heading {
        grid-template-columns: 1fr;
    }

    .candidate-tags-heading {
        display: grid;
    }

    .candidate-tags-editor form {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    .candidate-profile-top,
    .candidate-profile-main {
        align-items: flex-start;
        flex-direction: column;
    }

    .candidate-avatar {
        width: 72px;
        height: 72px;
        flex-basis: 72px;
        font-size: 30px;
    }

    .candidate-title-row h2 {
        font-size: 24px;
    }

    .candidate-metric-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .candidate-application-head {
        display: none;
    }

    .candidate-application-row {
        gap: 6px;
    }

    .candidate-process-main,
    .candidate-process-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .candidate-process-badges {
        justify-content: flex-start;
    }

    .candidate-timeline time {
        white-space: normal;
    }

    .candidate-comment-header {
        flex-direction: column;
    }

    .candidate-comment-editor form {
        position: static;
        width: 100%;
        margin-top: 10px;
    }

    .jornada-card-metrics > div,
    .info-grid p {
        border-right: 0;
    }

    .hunter-trello-board {
        grid-auto-columns: minmax(290px, 86vw);
        margin-left: -18px;
        margin-right: -18px;
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media print {
    body {
        background: #fff;
    }

    .sidebar,
    .topbar,
    .print-actions,
    .nav,
    .actions-row,
    .list-tools {
        display: none !important;
    }

    .app-shell,
    .main {
        display: block;
        min-height: 0;
    }

    .content {
        padding: 0;
    }

    .receipt,
    .panel {
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    th,
    td {
        white-space: normal;
    }
}

.portal-page,
.portal-login-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 50% 42%, rgba(30, 76, 150, 0.9), rgba(5, 28, 66, 0.98) 56%),
        linear-gradient(135deg, #071a3a 0%, #0f408d 100%);
}

.portal-login-page {
    display: grid;
    place-items: center;
}

.portal-login-card {
    width: min(460px, calc(100% - 32px));
    padding: 30px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 24px 55px rgba(0, 19, 47, 0.28);
}

.portal-login-brand {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.portal-login-brand img {
    width: 238px;
    max-width: 100%;
    margin-bottom: 18px;
}

.portal-login-brand span,
.department-header span,
.soon-card span {
    color: #68738a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.portal-login-brand h1,
.department-header h1,
.soon-card h1 {
    margin: 0;
    color: #172033;
    font-size: 28px;
    line-height: 1.05;
}

.portal-login-brand p,
.department-header p,
.soon-card p {
    margin: 0;
    color: #65718a;
    font-size: 16px;
    line-height: 1.45;
}

.portal-login-card .form-grid {
    padding: 0;
}

.portal-login-card .primary-button {
    width: 100%;
    min-height: 42px;
    margin-top: 4px;
    background: #00132f;
}

.portal-login-card .primary-button:hover {
    background: #05235a;
}

.renda-login-page {
    position: relative;
    min-height: 100vh;
    padding: 42px;
    place-items: center;
    background:
        linear-gradient(90deg, rgba(0, 19, 47, 0.9) 0%, rgba(0, 19, 47, 0.76) 42%, rgba(1, 18, 43, 0.24) 100%),
        url("../img/grupo-renda-login-bg-v2.png") center / cover no-repeat;
    overflow: hidden;
}

.renda-login-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 24%, rgba(0, 145, 255, 0.24), transparent 28%),
        radial-gradient(circle at 18% 72%, rgba(0, 75, 160, 0.28), transparent 34%);
}

.renda-login-page::after {
    content: "";
    position: absolute;
    top: -100px;
    left: -90px;
    width: 320px;
    height: 320px;
    opacity: 0.46;
    background-image: radial-gradient(circle, #1398ff 0 3px, transparent 3.5px);
    background-size: 18px 18px;
    mask-image: linear-gradient(135deg, #000, transparent 72%);
}

.renda-login-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 500px);
    align-items: center;
    gap: min(7vw, 96px);
    width: min(1180px, 100%);
}

.renda-login-copy {
    display: grid;
    gap: 36px;
    color: #fff;
}

.renda-login-copy img {
    width: min(360px, 72vw);
}

.renda-login-copy span {
    color: #1598ff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.renda-login-copy h1 {
    max-width: 560px;
    margin: 10px 0 16px;
    font-size: clamp(34px, 4.3vw, 58px);
    line-height: 1;
}

.renda-login-copy p {
    max-width: 560px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 21px;
    line-height: 1.36;
}

.renda-login-copy p strong {
    display: block;
    margin-top: 4px;
    color: #1598ff;
}

.renda-login-card {
    width: 100%;
    padding: 34px;
    border: 1px solid rgba(255, 255, 255, 0.36);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 34px 80px rgba(0, 15, 39, 0.42);
    backdrop-filter: blur(14px);
}

.renda-login-card .portal-login-brand img {
    width: min(360px, 100%);
    justify-self: center;
    margin: 0 auto 28px;
}

.renda-login-card input {
    min-height: 50px;
    border-color: #cfd9e8;
    background: #eef5ff;
    font-size: 16px;
}

.renda-login-card .primary-button {
    min-height: 52px;
    margin-top: 10px;
    font-size: 17px;
}

.department-card {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 26px 28px 22px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 19, 47, 0.32);
}

.portal-page {
    display: grid;
    place-items: center;
    padding: 22px 0;
}

.renda-portal-page {
    position: relative;
    background:
        linear-gradient(90deg, rgba(0, 19, 47, 0.9) 0%, rgba(0, 19, 47, 0.76) 42%, rgba(1, 18, 43, 0.24) 100%),
        url("../img/grupo-renda-login-bg-v2.png") center / cover no-repeat;
    overflow: hidden;
}

.renda-portal-page::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 72% 24%, rgba(0, 145, 255, 0.2), transparent 28%),
        radial-gradient(circle at 20% 74%, rgba(0, 75, 160, 0.24), transparent 34%);
}

.renda-portal-page .department-card {
    position: relative;
    z-index: 1;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.34);
    box-shadow: 0 34px 80px rgba(0, 15, 39, 0.42);
    backdrop-filter: blur(12px);
}

.department-header {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(320px, 0.58fr);
    align-items: center;
    gap: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #dce4f0;
}

.department-header img {
    width: min(330px, 100%);
    max-width: 100%;
    justify-self: center;
}

.department-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(198px, 1fr));
    gap: 12px;
    padding-top: 14px;
}

.department-logout {
    margin: 14px 0 0;
}

.department-logout .ghost-button {
    min-height: 34px;
    padding: 7px 12px;
}

.department-tile {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    min-height: 132px;
    padding: 12px;
    border: 1px solid #dce4f0;
    border-radius: 8px;
    background: #fff;
    color: #172033;
}

.department-tile:hover {
    border-color: #b8c8e1;
    color: #172033;
    box-shadow: 0 12px 26px rgba(17, 35, 64, 0.08);
}

.department-disabled {
    opacity: 0.55;
}

.department-icon {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #eef4ff;
    color: #0b3f91;
}

.department-icon::before,
.department-icon::after {
    content: "";
    position: absolute;
    inset: 12px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.department-icon-users::before,
.department-icon-user::before {
    width: 8px;
    height: 8px;
    inset: 10px auto auto 15px;
    border-radius: 50%;
}

.department-icon-users::after,
.department-icon-user::after {
    width: 16px;
    height: 10px;
    inset: auto auto 9px 12px;
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

.department-icon-chart::before {
    inset: 14px 11px 11px 13px;
    border-top: 0;
    border-right: 0;
    transform: skewY(-18deg);
}

.department-icon-card::before {
    inset: 13px 11px;
}

.department-icon-card::after {
    inset: 19px 15px auto;
    height: 0;
    border-width: 2px 0 0;
}

.department-icon-message::before {
    inset: 12px 10px 15px;
}

.department-icon-message::after {
    inset: auto auto 10px 16px;
    width: 7px;
    height: 7px;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
}

.department-icon-cap::before {
    inset: 14px 10px;
    border-radius: 0;
    transform: rotate(45deg) scale(0.8);
}

.department-icon-tool::before {
    inset: 12px 16px;
    border-radius: 7px;
    transform: rotate(45deg);
}

.department-icon::before,
.department-icon::after {
    content: "";
    position: absolute;
    inset: auto;
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

.department-icon-shield::before {
    width: 18px;
    height: 21px;
    left: 10px;
    top: 7px;
    border: 2px solid currentColor;
    border-radius: 10px 10px 13px 13px;
}

.department-icon-shield::after {
    width: 9px;
    height: 5px;
    left: 14px;
    top: 17px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.department-icon-user::before {
    width: 9px;
    height: 9px;
    left: 15px;
    top: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.department-icon-user::after {
    width: 19px;
    height: 10px;
    left: 10px;
    bottom: 8px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 12px 12px;
}

.department-icon-users::before {
    width: 9px;
    height: 9px;
    left: 15px;
    top: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
    box-shadow: -8px 4px 0 -3px currentColor, 8px 4px 0 -3px currentColor;
}

.department-icon-users::after {
    width: 22px;
    height: 10px;
    left: 8px;
    bottom: 8px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 13px 13px;
}

.department-icon-leader::before {
    width: 9px;
    height: 9px;
    left: 15px;
    top: 9px;
    border: 2px solid currentColor;
    border-radius: 50%;
}

.department-icon-leader::after {
    width: 21px;
    height: 16px;
    left: 9px;
    bottom: 7px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 14px 14px;
    box-shadow: 5px -17px 0 -3px currentColor, 10px -19px 0 -4px currentColor, 15px -17px 0 -3px currentColor;
}

.department-icon-briefcase::before {
    left: 8px;
    right: 8px;
    top: 16px;
    bottom: 8px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.department-icon-briefcase::after {
    width: 11px;
    height: 7px;
    left: 14px;
    top: 10px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
}

.department-icon-card::before {
    inset: 12px 8px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.department-icon-card::after {
    left: 12px;
    right: 12px;
    top: 19px;
    border-top: 2px solid currentColor;
}

.department-icon-chart::before {
    left: 10px;
    right: 9px;
    bottom: 9px;
    height: 16px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}

.department-icon-chart::after {
    left: 14px;
    bottom: 13px;
    width: 4px;
    height: 9px;
    background: currentColor;
    box-shadow: 7px -4px 0 0 currentColor, 14px -8px 0 0 currentColor;
}

.department-icon-cap::before {
    width: 21px;
    height: 21px;
    left: 8px;
    top: 7px;
    border: 2px solid currentColor;
    border-radius: 2px;
    transform: rotate(45deg) scale(0.68);
}

.department-icon-cap::after {
    width: 15px;
    height: 7px;
    left: 12px;
    bottom: 8px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 9px 9px;
}

.department-icon-message::before {
    inset: 10px 8px 13px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.department-icon-message::after {
    width: 8px;
    height: 8px;
    left: 14px;
    bottom: 9px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

.department-icon-tool::before {
    left: 8px;
    right: 8px;
    top: 11px;
    height: 15px;
    border: 2px solid currentColor;
    border-radius: 5px;
}

.department-icon-tool::after {
    width: 22px;
    left: 8px;
    bottom: 8px;
    border-top: 2px solid currentColor;
    box-shadow: 7px -4px 0 -1px currentColor;
}

.department-tile h2 {
    margin: 0 0 7px;
    color: #172033;
    font-size: 14px;
    line-height: 1.25;
}

.department-tile strong {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 9px;
    border-radius: 999px;
    background: #eaf2ff;
    color: #003b8f;
    font-size: 12px;
}

.department-tile p {
    margin: 10px 0 0;
    color: #65718a;
    font-size: 11px;
    line-height: 1.32;
}

.soon-card {
    width: min(520px, calc(100% - 32px));
    display: grid;
    gap: 12px;
    padding: 32px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 28px 70px rgba(0, 19, 47, 0.32);
}

.soon-card img {
    width: 230px;
    max-width: 100%;
    margin-bottom: 12px;
}

.soon-card .primary-button {
    justify-self: start;
    margin-top: 10px;
    background: #00132f;
}

.leader-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.leader-hero span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.leader-hero h2 {
    margin: 0;
    color: var(--text);
    font-size: 30px;
    line-height: 1.15;
}

.leader-hero p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 16px;
}

.leader-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.leader-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -6px 0 22px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.leader-tabs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--blue-950);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.leader-tabs a:hover,
.leader-tabs a.is-active {
    border-color: var(--blue-700);
    background: var(--blue-700);
    color: #fff;
}

.leader-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.leader-metric {
    min-height: 132px;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(17, 35, 64, 0.06);
}

.leader-metric span,
.leader-metric small {
    display: block;
    color: var(--muted);
    font-weight: 800;
}

.leader-metric span {
    font-size: 13px;
}

.leader-metric strong {
    display: block;
    margin: 10px 0 6px;
    color: var(--blue-950);
    font-size: 40px;
    line-height: 1;
}

.leader-metric small {
    font-size: 12px;
}

.leader-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 24px;
}

.leader-panel .panel-header {
    align-items: flex-start;
}

.leader-list {
    display: grid;
    gap: 0;
}

.leader-person,
.leader-task {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--line);
    color: var(--text);
    text-decoration: none;
}

.leader-person:hover,
.leader-task:hover {
    background: #f7faff;
}

.leader-person > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--blue-950);
    color: #fff;
    font-weight: 900;
    flex: 0 0 auto;
}

.leader-person strong,
.leader-task strong {
    display: block;
    margin-bottom: 3px;
}

.leader-person small,
.leader-task small {
    color: var(--muted);
}

.leader-task {
    justify-content: space-between;
}

.leader-task span,
.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf3ff;
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.status-pill.success {
    background: #ddf8ea;
    color: #07814f;
}

.status-pill.info {
    background: #e7f0ff;
    color: var(--blue-700);
}

.status-pill.warning {
    background: #fff3d8;
    color: #b45309;
}

.status-pill.danger {
    background: #ffe3e3;
    color: #c62828;
}

.status-pill.muted {
    background: #f1f5f9;
    color: #64748b;
}

.candidate-history-grid {
    display: grid;
    gap: 14px;
}

.candidate-process-list {
    display: grid;
    gap: 10px;
}

.candidate-profile-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.candidate-profile-metrics article {
    display: grid;
    gap: 6px;
    padding: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #f8fbff;
}

.candidate-profile-metrics span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.candidate-profile-metrics strong {
    color: var(--blue-950);
    font-size: 28px;
    line-height: 1;
}

.candidate-summary-note {
    margin-top: 14px;
}

.candidate-tags-panel {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
}

.candidate-tags-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.candidate-tags-heading strong {
    display: block;
    color: var(--blue-950);
    font-size: 16px;
}

.candidate-tags-heading span {
    display: block;
    max-width: 760px;
    margin-top: 4px;
    color: var(--muted);
    line-height: 1.4;
}

.candidate-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.candidate-tag-list.compact {
    gap: 5px;
}

.candidate-tag {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #e7f0ff;
    color: var(--blue-800);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
}

.candidate-tag.empty {
    background: #f1f5f9;
    color: #64748b;
}

.candidate-tags-editor {
    position: relative;
}

.candidate-tags-editor summary {
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
    padding: 10px 14px;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    background: #fff;
    color: var(--blue-800);
    font-weight: 900;
}

.candidate-tags-editor summary::-webkit-details-marker {
    display: none;
}

.candidate-tags-editor form {
    position: absolute;
    z-index: 20;
    right: 0;
    top: calc(100% + 8px);
    width: min(720px, 82vw);
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(12, 36, 68, 0.16);
}

.candidate-tags-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px;
    max-height: 280px;
    overflow: auto;
    padding-right: 4px;
}

.candidate-tags-options label {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 8px;
    row-gap: 2px;
    align-items: center;
    padding: 10px;
    border: 1px solid #e0e9f5;
    border-radius: 8px;
    background: #f8fbff;
    color: var(--blue-950);
    font-weight: 900;
}

.candidate-tags-options input {
    grid-row: span 2;
}

.candidate-tags-options small {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.candidate-profile-shell {
    overflow: hidden;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(17, 35, 64, 0.08);
}

.candidate-profile-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 22px;
    border-bottom: 1px solid var(--line);
}

.candidate-profile-main {
    display: flex;
    gap: 18px;
    align-items: center;
}

.candidate-avatar {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    flex: 0 0 92px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0a2a66, #1764f5);
    color: #fff;
    font-size: 40px;
    font-weight: 950;
    text-transform: uppercase;
    box-shadow: 0 16px 32px rgba(23, 100, 245, 0.22);
}

.candidate-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.candidate-title-row h2 {
    margin: 0;
    color: var(--blue-950);
    font-size: 30px;
}

.candidate-contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 10px;
    color: var(--blue-850);
    font-weight: 750;
}

.candidate-contact-grid a {
    color: var(--blue-700);
    font-weight: 900;
}

.candidate-profile-actions {
    align-self: flex-start;
    justify-content: flex-end;
}

.candidate-metric-cards {
    grid-template-columns: repeat(5, minmax(130px, 1fr));
    margin: 0;
    padding: 18px 22px;
    background: #f8fbff;
}

.candidate-metric-cards article {
    background: #fff;
    box-shadow: 0 12px 26px rgba(17, 35, 64, 0.05);
}

.candidate-metric-cards small {
    color: var(--muted);
    font-weight: 800;
}

.candidate-tabs {
    display: flex;
    gap: 4px;
    padding: 0 22px;
    overflow-x: auto;
    border-top: 1px solid var(--line);
}

.candidate-tabs a {
    padding: 14px 16px;
    border-bottom: 3px solid transparent;
    color: var(--blue-850);
    font-weight: 900;
    white-space: nowrap;
}

.candidate-tabs a:hover {
    border-bottom-color: var(--blue-700);
    color: var(--blue-700);
}

.candidate-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 16px;
    margin-top: 16px;
}

.candidate-main-panel,
.candidate-side-panel {
    margin: 0;
}

.candidate-side-panel {
    align-self: start;
}

.candidate-summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.7fr);
    gap: 14px;
}

.candidate-summary-note-card,
.candidate-current-card {
    display: grid;
    gap: 9px;
    padding: 16px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #f8fbff;
}

.candidate-summary-note-card strong,
.candidate-current-card strong {
    color: var(--blue-850);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.candidate-summary-note-card p,
.candidate-current-card p {
    margin: 0;
    color: var(--text);
    line-height: 1.5;
}

.candidate-current-card h3 {
    margin: 0;
    color: var(--blue-950);
}

.candidate-current-card span {
    color: var(--muted);
    font-weight: 800;
}

.candidate-quick-info {
    display: grid;
    gap: 0;
    padding: 6px 20px 14px;
}

.candidate-quick-info p {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 12px 0;
    border-bottom: 1px solid var(--line);
}

.candidate-quick-info p:last-child {
    border-bottom: 0;
}

.candidate-quick-info span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.candidate-quick-info strong {
    color: var(--blue-950);
    text-align: right;
    overflow-wrap: anywhere;
}

.candidate-application-table {
    overflow: hidden;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
}

.candidate-application-head,
.candidate-application-row {
    display: grid;
    grid-template-columns: 1fr 1.2fr 0.7fr 0.8fr 1fr auto;
    gap: 12px;
    align-items: center;
}

.candidate-application-head {
    padding: 12px 14px;
    background: #eef4fb;
    color: var(--blue-950);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}

.candidate-application-row {
    padding: 14px;
    border-top: 1px solid #d8e3f2;
    color: var(--text);
}

.candidate-application-row strong {
    color: var(--blue-950);
}

.candidate-application-row a {
    color: var(--blue-700);
    font-weight: 950;
}

.candidate-application-row.empty {
    display: block;
    color: var(--muted);
}

.candidate-process-list {
    display: grid;
    gap: 14px;
}

.candidate-process-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid #d8e3f2;
    border-radius: 10px;
    background:
        radial-gradient(circle at 98% 0%, rgba(37, 99, 235, 0.08), transparent 24%),
        #fff;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.candidate-process-card.empty {
    color: var(--muted);
}

.candidate-process-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.candidate-process-company {
    display: inline-flex;
    width: max-content;
    margin-bottom: 7px;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 950;
    background: #eaf2ff;
}

.candidate-process-main h3 {
    margin: 0;
    color: var(--blue-950);
    font-size: 21px;
}

.candidate-process-main p {
    margin: 6px 0 0;
    color: var(--muted);
}

.candidate-process-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.candidate-process-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.candidate-process-meta p {
    display: grid;
    gap: 5px;
    min-width: 0;
    margin: 0;
    padding: 12px;
    border: 1px solid #e1e9f5;
    border-radius: 8px;
    background: #f8fbff;
}

.candidate-process-meta span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}

.candidate-process-meta strong {
    color: var(--blue-950);
    font-size: 14px;
    line-height: 1.25;
}

.candidate-process-meta small {
    display: block;
    margin-top: 2px;
    color: var(--blue-700);
    font-size: 12px;
}

.candidate-process-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 12px;
    border-top: 1px solid #e1e9f5;
    color: var(--muted);
}

.candidate-process-footer a {
    flex: 0 0 auto;
    color: var(--blue-700);
    font-weight: 950;
}

.candidate-tag-list-large {
    margin-bottom: 14px;
}

.candidate-tags-editor.inline-editor {
    position: static;
}

.candidate-tags-editor.inline-editor form {
    position: static;
    width: 100%;
    margin-top: 10px;
    box-shadow: none;
}

.candidate-timeline {
    position: relative;
    display: grid;
    gap: 0;
}

.candidate-timeline article {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
}

.candidate-timeline article:last-child {
    border-bottom: 0;
}

.candidate-timeline-dot {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 4px solid #dff7ea;
    border-radius: 999px;
    background: #10a861;
    box-shadow: 0 0 0 1px #10a861;
}

.candidate-timeline strong {
    color: var(--blue-950);
}

.candidate-timeline p {
    margin: 4px 0 0;
    color: var(--muted);
    line-height: 1.4;
}

.candidate-timeline time {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.candidate-quick-form.single-column {
    grid-template-columns: 1fr;
    padding: 0;
    border: 0;
    background: transparent;
}

.candidate-comments-list,
.candidate-files-list {
    display: grid;
    gap: 10px;
}

.candidate-comment-create-form {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 10px;
    background: #f8fbff;
}

.candidate-comment-create-form label {
    display: grid;
    gap: 7px;
    color: var(--blue-950);
    font-weight: 900;
}

.candidate-comment-create-form textarea {
    width: 100%;
    resize: vertical;
}

.candidate-comment-create-form .primary-button {
    justify-self: end;
}

.candidate-comments-list article,
.candidate-files-list article {
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #f8fbff;
}

.candidate-comments-list strong,
.candidate-files-list strong {
    color: var(--blue-950);
}

.candidate-comments-list span,
.candidate-files-list span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.candidate-comments-list p {
    margin: 0;
    color: var(--text);
    line-height: 1.45;
}

.candidate-comment-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.candidate-comment-editor {
    position: relative;
}

.candidate-comment-editor summary {
    cursor: pointer;
    list-style: none;
    padding: 7px 10px;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    background: #fff;
    color: var(--blue-700);
    font-size: 12px;
    font-weight: 950;
}

.candidate-comment-editor summary::-webkit-details-marker {
    display: none;
}

.candidate-comment-editor form {
    position: absolute;
    z-index: 15;
    right: 0;
    top: calc(100% + 8px);
    width: min(460px, 78vw);
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid #cfe0f5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(12, 36, 68, 0.16);
}

.candidate-comment-editor label {
    display: grid;
    gap: 6px;
    color: var(--blue-950);
    font-weight: 850;
}

.candidate-files-list a {
    color: var(--blue-700);
    font-weight: 900;
}

.candidate-process-row {
    display: grid;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(17, 35, 64, 0.04);
}

.candidate-process-main {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 14px;
    align-items: start;
}

.candidate-process-main strong {
    display: block;
    color: var(--blue-950);
    font-size: 17px;
}

.candidate-process-main span,
.candidate-process-meta span {
    color: var(--muted);
}

.candidate-process-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
}

.candidate-process-meta span {
    min-width: 0;
    font-size: 14px;
    line-height: 1.35;
}

.candidate-process-meta strong {
    color: var(--blue-850);
}

.candidate-history-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(17, 35, 64, 0.06);
}

.candidate-history-card.compact {
    gap: 10px;
}

.candidate-history-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.candidate-history-card-header strong {
    display: block;
    color: var(--blue-950);
    font-size: 17px;
}

.candidate-history-card-header span,
.candidate-movement-preview p,
.candidate-history-summary dd {
    color: var(--muted);
}

.candidate-history-tags {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.candidate-history-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin: 0;
}

.candidate-history-summary div {
    display: grid;
    gap: 4px;
    padding: 10px;
    border-radius: 8px;
    background: #f6f9fd;
}

.candidate-history-summary dt {
    color: var(--blue-850);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.candidate-history-summary dd {
    margin: 0;
    font-weight: 700;
}

.candidate-movement-preview {
    display: grid;
    gap: 6px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.candidate-movement-preview strong {
    color: var(--blue-950);
    font-size: 13px;
}

.candidate-movement-preview p {
    margin: 0;
    line-height: 1.45;
}

.candidate-quick-update {
    border-top: 1px solid var(--line);
    padding-top: 8px;
}

.candidate-quick-update summary {
    width: fit-content;
    cursor: pointer;
    color: var(--blue-700);
    font-weight: 900;
}

.candidate-quick-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #f8fbff;
}

.candidate-quick-form label {
    display: grid;
    gap: 6px;
    color: var(--blue-950);
    font-weight: 800;
}

.candidate-quick-form textarea,
.candidate-quick-form .actions-row {
    grid-column: 1 / -1;
}

.leader-planning-group {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #fff;
}

.leader-planning-group summary {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
}

.leader-planning-group summary::-webkit-details-marker {
    display: none;
}

.leader-planning-group summary strong {
    color: #071a3b;
    font-size: 18px;
}

.leader-planning-group summary span,
.leader-planning-group summary small {
    color: #60708d;
    font-weight: 800;
}

.leader-planning-group .table-wrap {
    border-top: 1px solid #d8e3f2;
}

.leader-table-wrap {
    overflow-x: auto;
}

.leader-empty-access {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px;
}

.leader-empty-access h2 {
    margin: 0 0 8px;
}

.leader-empty-access p {
    margin: 0;
    color: var(--muted);
}

.leader-task-actions {
    min-width: 250px;
}

.leader-task-actions,
.leader-task-actions form {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.leader-task-actions select {
    min-height: 38px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0 10px;
    background: #fff;
    color: var(--text);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.button-link {
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    cursor: pointer;
}

.leader-formset {
    margin: 18px 20px 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.leader-formset .compact-header {
    padding: 14px 16px;
}

.leader-formset input,
.leader-formset textarea,
.leader-formset select {
    width: 100%;
    min-width: 120px;
}

.leader-formset textarea {
    min-height: 52px;
}

@media (max-width: 1120px) {
    .leader-metrics,
    .leader-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .department-header,
    .department-grid {
        grid-template-columns: 1fr;
    }

    .renda-login-page {
        padding: 28px 18px;
    }

    .renda-login-shell {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .renda-login-copy {
        gap: 18px;
        text-align: center;
    }

    .leader-hero,
    .leader-empty-access {
        flex-direction: column;
    }

    .leader-metrics,
    .leader-grid {
        grid-template-columns: 1fr;
    }

    .renda-login-copy img,
    .renda-login-copy h1,
    .renda-login-copy p {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 640px) {
    .department-card,
    .soon-card,
    .portal-login-card {
        width: min(100% - 24px, 520px);
        padding: 22px;
    }

    .department-header {
        gap: 16px;
    }

    .department-tile {
        min-height: auto;
    }
}

.equipment-page {
    min-height: 100vh;
    margin: 0;
    background: #f4f7fb;
    color: #071a3b;
    display: flex;
    align-items: flex-start;
}

.equipment-sidebar {
    flex: 0 0 260px;
    width: 260px;
    max-width: 260px;
    min-height: 100vh;
    background: linear-gradient(180deg, #061733 0%, #0b2345 100%);
    color: #ffffff;
    padding: 22px 16px 22px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: sticky;
    top: 0;
    align-self: start;
}

.equipment-brand {
    display: block;
    margin: 0 0 24px;
    padding: 0 4px;
}

.equipment-brand img {
    width: 208px;
    max-width: 100%;
    height: auto;
    display: block;
}

.equipment-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    padding-right: 0;
}

.equipment-nav p {
    margin: 18px 12px 7px;
    color: #8ea0bc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.equipment-nav a,
.equipment-help {
    color: #ffffff;
    text-decoration: none;
    min-height: 42px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 13px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    text-align: left;
}

.equipment-nav a span,
.equipment-help span {
    position: relative;
    width: 28px;
    min-width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 7px;
    color: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    font-size: 0;
    letter-spacing: 0;
}

.equipment-nav a.is-active {
    background: #155dfc;
    box-shadow: 0 10px 24px rgba(21, 93, 252, .28);
}

.equipment-department {
    background: rgba(255, 255, 255, .05);
}

.equipment-module-menu {
    gap: 8px;
}

.equipment-parent,
.equipment-main-link {
    width: 100%;
    color: #ffffff;
    min-height: 54px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 10px 14px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
    margin: 0;
    background: rgba(255, 255, 255, .04);
}

.equipment-parent {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.equipment-parent strong {
    flex: 1;
}

.equipment-parent:hover,
.equipment-main-link:hover,
.equipment-subnav a:hover {
    background: #142a4e;
}

.equipment-parent span:first-child,
.equipment-main-link span,
.equipment-subnav a span,
.equipment-sidebar-actions span {
    position: relative;
    width: 28px;
    min-width: 28px;
    height: 28px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    font-size: 0;
    letter-spacing: 0;
}

.equipment-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .18s ease;
}

.equipment-parent[aria-expanded="false"] .equipment-chevron {
    transform: rotate(-45deg);
}

.equipment-subnav {
    display: none;
    flex-direction: column;
    gap: 8px;
    margin: 2px 0 8px 17px;
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .14);
}

.equipment-subnav.is-open {
    display: flex;
}

.equipment-subnav a {
    min-height: 42px;
    padding: 8px 12px;
    justify-content: flex-start;
    font-size: 14px;
    font-weight: 800;
    background: rgba(255, 255, 255, .04);
}

.equipment-subnav a.is-active,
.equipment-main-link.is-active {
    background: #155dfc;
    box-shadow: 0 10px 24px rgba(21, 93, 252, .26);
}

.equipment-sidebar-actions {
    margin-top: auto;
    display: grid;
    gap: 8px;
    padding: 12px 0 0;
}

.equipment-sidebar-actions a,
.equipment-sidebar-actions button {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    color: #ffffff;
    background: rgba(255, 255, 255, .04);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.equipment-sidebar-actions a:hover,
.equipment-sidebar-actions button:hover {
    background: rgba(255, 255, 255, .1);
}

.equipment-help {
    margin-top: auto;
    border: 1px solid rgba(255, 255, 255, .32);
}

.equipment-main {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
}

.equipment-topbar {
    min-height: 104px;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid #dbe4f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    padding: 24px 30px;
}

.equipment-topbar h1 {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.1;
}

.equipment-topbar p {
    margin: 0;
    color: #61708a;
    font-size: 15px;
}

.equipment-standard-topbar {
    min-height: 92px;
    padding: 24px 34px;
    background: #ffffff;
    border-bottom-color: var(--line);
}

.equipment-standard-topbar p {
    margin: 0 0 4px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}

.equipment-standard-topbar h1 {
    margin: 0;
    color: var(--text);
    font-size: 26px;
    line-height: 1.15;
}

.equipment-standard-topbar .ghost-button {
    min-height: 42px;
    padding: 10px 18px;
}

.equipment-dashboard-intro {
    margin: 0 0 24px;
}

.equipment-dashboard-intro h2 {
    margin: 0 0 6px;
    color: #071a3b;
    font-size: 28px;
    line-height: 1.1;
}

.equipment-dashboard-intro p {
    margin: 0;
    color: #61708a;
    font-size: 16px;
}

.equipment-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.equipment-search {
    width: 380px;
    height: 48px;
    border: 1px solid #d5deeb;
    border-radius: 7px;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    color: #8391a8;
}

.equipment-search input {
    width: 100%;
    border: 0;
    outline: 0;
    font: inherit;
    color: #071a3b;
}

.equipment-icon-button {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: #071a3b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.equipment-icon-button strong {
    position: absolute;
    top: 4px;
    right: 3px;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #ef4444;
    color: #ffffff;
    font-size: 11px;
    display: grid;
    place-items: center;
}

.equipment-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.equipment-user > span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e8eef7;
    color: #7b8aa3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.equipment-user strong,
.equipment-user small {
    display: block;
}

.equipment-user small {
    color: #61708a;
    margin-top: 3px;
}

.equipment-content {
    padding: 28px 30px;
}

.equipment-metrics {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
}

.equipment-metric,
.equipment-card {
    background: #ffffff;
    border: 1px solid #dce5f0;
    border-radius: 8px;
    box-shadow: 0 20px 45px rgba(18, 35, 64, .06);
}

.equipment-metric {
    min-height: 126px;
    padding: 22px 18px;
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.equipment-metric span,
.equipment-metric small {
    display: block;
    color: #61708a;
    font-size: 13px;
    line-height: 1.25;
}

.equipment-metric strong {
    display: block;
    margin: 16px 0 14px;
    color: #071a3b;
    font-size: 31px;
    line-height: 1;
}

.equipment-metric i {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    align-self: center;
}

.metric-blue i { background: #e8f0ff; color: #2563eb; }
.metric-green i { background: #dcfce7; color: #16a34a; }
.metric-purple i { background: #f1e8ff; color: #8b5cf6; }
.metric-orange i { background: #fff0df; color: #f97316; }
.metric-red i { background: #ffe5e8; color: #ef4444; }
.metric-money i { background: #dcfce7; color: #16a34a; }

.equipment-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr) minmax(320px, 1fr);
    gap: 20px;
    margin-top: 26px;
}

.equipment-card {
    padding: 22px;
}

.equipment-card h2 {
    margin: 0;
    color: #071a3b;
    font-size: 18px;
    line-height: 1.2;
}

.equipment-card-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.equipment-card-title button,
.equipment-card-title a {
    min-height: 38px;
    border-radius: 6px;
    border: 1px solid #d5deeb;
    background: #ffffff;
    color: #0b3675;
    padding: 0 16px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.equipment-card-title div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.equipment-card-title div button {
    background: #155dfc;
    border-color: #155dfc;
    color: #ffffff;
}

.equipment-bars {
    height: 280px;
    margin-top: 20px;
    padding: 18px 6px 0;
    border-bottom: 1px solid #dce5f0;
    background: repeating-linear-gradient(to top, transparent 0, transparent 53px, #e9eef6 54px);
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    align-items: end;
    gap: 18px;
}

.equipment-bars div {
    height: 100%;
    display: grid;
    grid-template-rows: 28px 1fr 30px;
    justify-items: center;
    align-items: end;
}

.equipment-bars strong {
    color: #0f2b58;
    font-size: 13px;
}

.equipment-bars span {
    width: 44px;
    height: calc(var(--value) * 2.35px);
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, #3b82f6, #1d4ed8);
    box-shadow: 0 10px 18px rgba(29, 78, 216, .2);
}

.equipment-bars small {
    color: #52627b;
    font-size: 12px;
}

.equipment-donut-wrap {
    min-height: 270px;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
}

.equipment-donut {
    width: 176px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: conic-gradient(#2f7df6 0 75%, #5fd279 75% 88%, #f59e0b 88% 93%, #f05252 93% 100%);
    position: relative;
}

.equipment-donut::after {
    content: "";
    position: absolute;
    inset: 48px;
    border-radius: 50%;
    background: #ffffff;
}

.equipment-donut-wrap ul,
.equipment-alerts,
.equipment-movements {
    list-style: none;
    margin: 0;
    padding: 0;
}

.equipment-donut-wrap li {
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: 8px;
    margin: 12px 0;
    color: #071a3b;
}

.equipment-donut-wrap li small {
    grid-column: 2;
    color: #61708a;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    margin-top: 5px;
}

.dot.blue { background: #2f7df6; }
.dot.green { background: #5fd279; }
.dot.orange { background: #f59e0b; }
.dot.red { background: #f05252; }

.equipment-alerts {
    margin-top: 22px;
}

.equipment-alerts li {
    display: grid;
    grid-template-columns: 28px 1fr 14px;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    border-bottom: 1px solid #e7edf5;
    color: #12264a;
    font-size: 14px;
}

.equipment-alerts span {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 12px;
}

.equipment-alerts i {
    color: #48607e;
    font-style: normal;
    font-size: 26px;
}

.equipment-alerts .warn { color: #f59e0b; border: 2px solid #f59e0b; }
.equipment-alerts .late { color: #f97316; border: 2px solid #f97316; }
.equipment-alerts .danger { color: #ef4444; border: 2px solid #ef4444; }
.equipment-alerts .info { color: #2563eb; border: 2px solid #2563eb; }

.equipment-bottom-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.2fr) minmax(340px, .9fr);
    gap: 20px;
    margin-top: 24px;
}

.equipment-table-wrap {
    margin-top: 18px;
    overflow-x: auto;
}

.equipment-table-card table {
    width: 100%;
    border-collapse: collapse;
    min-width: 850px;
}

.equipment-table-card th,
.equipment-table-card td {
    padding: 14px 12px;
    border-bottom: 1px solid #e2e9f2;
    text-align: left;
    color: #1c3157;
    font-size: 13px;
}

.equipment-table-card th {
    background: #f8fafc;
    color: #586984;
    font-weight: 900;
}

.tag {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 0 10px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 800;
}

.tag.green { background: #dcfce7; color: #12854c; }
.tag.blue { background: #e6efff; color: #155dfc; }
.tag.orange { background: #fff1df; color: #e45d00; }
.tag.gray { background: #eef2f7; color: #53657e; }
.tag.red { background: #fee2e2; color: #c62828; }
.tag.dark { background: #172033; color: #ffffff; }
.tag.purple { background: #f1e6ff; color: #7e22ce; }

.equipment-movements {
    margin-top: 20px;
}

.equipment-movements li {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 15px 0;
    border-bottom: 1px solid #e5ebf5;
}

.equipment-movements span {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.equipment-movements strong,
.equipment-movements small {
    display: block;
}

.equipment-movements strong {
    color: #071a3b;
    font-size: 14px;
}

.equipment-movements small {
    color: #61708a;
    margin-top: 4px;
    line-height: 1.35;
}

.equipment-movements .green { background: #dcfce7; color: #16a34a; }
.equipment-movements .blue { background: #e6efff; color: #2563eb; }
.equipment-movements .orange { background: #fff1df; color: #f97316; }
.equipment-movements .purple { background: #f1e8ff; color: #8b5cf6; }

.equipment-footer {
    min-height: 68px;
    padding: 0 30px;
    border-top: 1px solid #dbe4f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #66758f;
    font-size: 13px;
}

.equipment-preview-action {
    min-height: 42px;
    border-radius: 7px;
    border: 1px solid #d5deeb;
    background: #ffffff;
    color: #0b3675;
    padding: 0 16px;
    font-weight: 900;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.equipment-preview-hero {
    margin-bottom: 22px;
    background: linear-gradient(135deg, #071a3b, #155dfc);
    color: #ffffff;
    border-radius: 8px;
    padding: 28px 30px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    box-shadow: 0 20px 45px rgba(18, 35, 64, .12);
}

.equipment-preview-hero span,
.equipment-preview-hero p {
    color: rgba(255, 255, 255, .76);
}

.equipment-preview-hero h2 {
    margin: 8px 0;
    font-size: 28px;
    line-height: 1.1;
}

.equipment-preview-hero p {
    margin: 0;
    word-break: break-word;
}

.equipment-preview-hero strong {
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, .12);
}

.equipment-preview-metrics {
    margin-bottom: 24px;
}

.equipment-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 22px;
}

.equipment-preview-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.equipment-preview-list {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.equipment-preview-list li {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid #e7edf5;
    color: #1c3157;
}

.equipment-preview-list span {
    min-width: 0;
}

.equipment-preview-list strong {
    color: #071a3b;
}

.equipment-preview-muted {
    color: #66758f;
    font-size: 14px;
    font-weight: 700;
}

.equipment-preview-table-card {
    margin-top: 4px;
}

.equipment-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e5ebf5;
}

.equipment-list-heading h2 {
    margin: 0 0 6px;
}

.equipment-list-heading p {
    margin: 0;
    color: #66758f;
    font-weight: 700;
}

.equipment-list-heading > span {
    flex: 0 0 auto;
    border: 1px solid #d5deeb;
    border-radius: 999px;
    color: #0b3675;
    background: #f8fafc;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 900;
}

.equipment-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.equipment-list-actions > span {
    flex: 0 0 auto;
    border: 1px solid #d5deeb;
    border-radius: 999px;
    color: #0b3675;
    background: #f8fafc;
    padding: 9px 14px;
    font-size: 13px;
    font-weight: 900;
}

.equipment-list-actions a {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 7px;
    background: var(--blue-700);
    color: #ffffff;
    font-weight: 800;
}

.equipment-list-actions a:hover {
    background: var(--blue-850);
    color: #ffffff;
}

.equipment-messages {
    display: grid;
    gap: 8px;
    padding-top: 14px;
}

.equipment-messages p {
    margin: 0;
    padding: 10px 12px;
    border-radius: 7px;
    background: #fff5f5;
    color: #b42318;
    font-weight: 700;
}

.equipment-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #cfd9e8;
    border-radius: 6px;
    color: #0b4aa2;
    background: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.equipment-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 260px;
}

.equipment-row-actions form {
    margin: 0;
}

.equipment-row-actions button.equipment-table-action {
    cursor: pointer;
    font-family: inherit;
}

.equipment-table-action:hover {
    border-color: #155dfc;
    color: #ffffff;
    background: #155dfc;
}

.equipment-table-action.danger {
    color: #b4232a;
    border-color: #f1c9cc;
    background: #fff7f7;
}

.equipment-table-action.danger:hover {
    border-color: #d53b45;
    color: #ffffff;
    background: #d53b45;
}

.equipment-inventory-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(150px, 1fr));
    gap: 14px;
    margin-top: 20px;
    padding: 18px;
    border: 1px solid #e0e8f3;
    border-radius: 8px;
    background: #f8fbff;
}

.equipment-inventory-filters label {
    display: grid;
    gap: 7px;
    color: #586984;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.equipment-inventory-filters input,
.equipment-inventory-filters select {
    min-height: 42px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    background: #ffffff;
    color: #071a3b;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 800;
    text-transform: none;
}

.equipment-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.equipment-filter-actions button,
.equipment-filter-actions a {
    min-height: 40px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    padding: 0 16px;
    background: #ffffff;
    color: #071a3b;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.equipment-filter-actions button {
    border-color: #155dfc;
    color: #ffffff;
    background: #155dfc;
}

.equipment-quick-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.equipment-quick-filters a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 13px;
    border: 1px solid #d3ddea;
    border-radius: 999px;
    background: #ffffff;
    color: #1c3157;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.equipment-quick-filters a.is-active {
    border-color: #155dfc;
    background: #eef5ff;
    color: #0b4aa2;
}

.equipment-edit-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    gap: 24px;
}

.equipment-form {
    margin-top: 22px;
}

.equipment-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.equipment-form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #071a3b;
    font-size: 14px;
    font-weight: 900;
}

.equipment-form-field input,
.equipment-form-field select {
    width: 100%;
    min-height: 46px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    background: #ffffff;
    color: #071a3b;
    font: inherit;
    font-weight: 700;
    padding: 0 13px;
}

.equipment-form-field input[readonly] {
    background: #f2f6fb;
    color: #586984;
}

.equipment-form-field.is-check {
    min-height: 46px;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 13px 14px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    background: #f8fafc;
}

.equipment-form-field.is-check input {
    width: 18px;
    min-height: 18px;
    padding: 0;
}

.equipment-form-field small,
.equipment-form-errors {
    color: #d53b45;
    font-size: 13px;
    font-weight: 800;
}

.equipment-form-note {
    margin-top: 20px;
    padding: 14px 16px;
    border: 1px solid #d8e6fb;
    border-radius: 8px;
    background: #f4f8ff;
    color: #435775;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.equipment-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 22px;
}

.equipment-form-actions a,
.equipment-form-actions button {
    min-height: 46px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    padding: 0 18px;
    color: #071a3b;
    background: #ffffff;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.equipment-form-actions button {
    border-color: #155dfc;
    color: #ffffff;
    background: #155dfc;
}

.equipment-form-actions button.danger {
    border-color: #d92d20;
    background: #d92d20;
}

.equipment-batch-card {
    max-width: 980px;
    margin: 0 auto;
}

.equipment-table-card tbody tr.equipment-row-linked td {
    background: #ecfdf3;
    border-color: #b7ebca;
}

.equipment-table-card tbody tr.equipment-row-linked:hover td {
    background: #dcf8e7;
}

.equipment-table-card tbody tr.equipment-row-partial td {
    background: #fff9e8;
    border-color: #f2d98c;
}

.equipment-table-card tbody tr.equipment-row-pending td {
    background: #fff;
}

.equipment-batch-collaborator {
    max-width: 620px;
}

.equipment-batch-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0 12px;
}

.equipment-batch-toolbar strong {
    color: #071a3b;
    font-size: 18px;
}

.equipment-batch-toolbar p {
    margin: 5px 0 0;
    color: #66758d;
}

.equipment-batch-toolbar button {
    min-height: 40px;
    border: 1px solid #cbd8eb;
    border-radius: 7px;
    padding: 0 14px;
    background: #fff;
    color: #0b4aa2;
    font-weight: 900;
    cursor: pointer;
}

.equipment-batch-list {
    display: grid;
    gap: 10px;
}

.equipment-batch-item {
    display: grid;
    grid-template-columns: 22px 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 72px;
    border: 1px solid #d6e0ed;
    border-radius: 7px;
    padding: 12px 16px;
    background: #fbfdff;
    cursor: pointer;
}

.equipment-batch-item input {
    position: absolute;
    opacity: 0;
}

.equipment-batch-check {
    width: 22px;
    height: 22px;
    border: 2px solid #9db2cf;
    border-radius: 5px;
    background: #fff;
}

.equipment-batch-item input:checked + .equipment-batch-check {
    border-color: #155dfc;
    background: #155dfc;
    box-shadow: inset 0 0 0 4px #fff;
}

.equipment-batch-item strong {
    display: block;
    color: #071a3b;
    font-size: 16px;
}

.equipment-batch-item small {
    display: block;
    margin-top: 4px;
    color: #61718a;
}

.equipment-batch-item em {
    border-radius: 999px;
    padding: 7px 10px;
    background: #eef4fd;
    color: #31527f;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 720px) {
    .equipment-batch-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .equipment-batch-item {
        grid-template-columns: 22px 26px minmax(0, 1fr);
    }

    .equipment-batch-item em {
        grid-column: 3;
        justify-self: start;
    }
}

.equipment-inline-link-form {
    min-width: 340px;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.equipment-inline-link-form select {
    width: 100%;
    min-height: 38px;
    border: 1px solid #d3ddea;
    border-radius: 7px;
    background: #ffffff;
    color: #071a3b;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 0 10px;
}

.equipment-inline-link-form button {
    min-height: 38px;
    border: 1px solid #155dfc;
    border-radius: 7px;
    background: #155dfc;
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    padding: 0 12px;
    cursor: pointer;
}

.equipment-inline-link-form small {
    grid-column: 1 / -1;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.equipment-admission-list,
.equipment-reservation-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.equipment-admission-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid #e2e8f0;
}

.equipment-admission-list strong,
.equipment-admission-list small,
.equipment-admission-list span {
    display: block;
}

.equipment-admission-list strong {
    color: #00132f;
    font-size: 16px;
}

.equipment-admission-list small {
    margin-top: 4px;
    color: #64748b;
}

.equipment-admission-list span {
    margin-top: 6px;
    color: #0b4eb3;
    font-size: 13px;
    font-weight: 800;
}

.equipment-admission-list a {
    flex: 0 0 auto;
    border-radius: 8px;
    background: #0b4eb3;
    color: #fff;
    padding: 10px 14px;
    font-weight: 900;
    text-decoration: none;
}

.equipment-reservation-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 18px 0;
}

.equipment-reservation-option {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #d7e0ee;
    border-radius: 8px;
    background: #f8fbff;
    padding: 12px 14px;
    color: #00132f;
    font-weight: 800;
}

.equipment-reservation-option input {
    width: 18px;
    height: 18px;
    accent-color: #0b4eb3;
}

.equipment-history-card h2 {
    margin-bottom: 18px;
}

.equipment-history-item {
    padding: 14px 0;
    border-bottom: 1px solid #e5ebf5;
}

.equipment-history-item strong,
.equipment-history-item span,
.equipment-history-item p {
    display: block;
}

.equipment-history-item strong {
    color: #071a3b;
    font-size: 15px;
}

.equipment-history-item span {
    margin-top: 4px;
    color: #66758f;
    font-size: 13px;
    font-weight: 800;
}

.equipment-history-item p {
    margin: 8px 0 0;
    color: #1c3157;
    font-weight: 800;
}

.equipment-empty-state {
    margin: 0;
    color: #66758f;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 1380px) {
    .equipment-page {
        display: flex;
    }

    .equipment-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .equipment-grid,
    .equipment-bottom-grid,
    .equipment-edit-layout,
    .equipment-inventory-filters,
    .equipment-preview-grid,
    .equipment-preview-grid.two {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .equipment-page {
        display: block;
    }

    .equipment-sidebar {
        position: static;
        min-height: auto;
        width: 100%;
        max-width: none;
    }

    .equipment-topbar,
    .equipment-actions,
    .equipment-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .equipment-search {
        width: 100%;
    }

    .equipment-metrics {
        grid-template-columns: 1fr;
    }

    .equipment-form-grid {
        grid-template-columns: 1fr;
    }
}

/* Keep the Equipment module in the same stable two-column shell used by the
   other departments. These selectors intentionally win over legacy rules. */
body.equipment-page {
    display: flex !important;
    align-items: flex-start !important;
    overflow-x: hidden;
}

body.equipment-page > .equipment-sidebar {
    flex: 0 0 260px !important;
    width: 260px !important;
    max-width: 260px !important;
    min-width: 260px !important;
}

body.equipment-page > .equipment-main {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
}

.equipment-parent span:first-child,
.equipment-subnav span,
.equipment-main-link span,
.equipment-sidebar-actions span {
    width: 32px;
    min-width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 8px;
}

@media (max-width: 860px) {
    body.equipment-page {
        display: block !important;
    }

    body.equipment-page > .equipment-sidebar {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Stable department icons: use fixed SVG artwork so old border-based drawings do not overlap. */
.department-icon {
    background-color: #eef4ff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
}

.department-icon::before,
.department-icon::after {
    display: none !important;
    content: none !important;
}

.department-icon-shield {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 20 6v5c0 5-3.4 8.4-8 10-4.6-1.6-8-5-8-10V6l8-3Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
}

.department-icon-user {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M5 21c1.5-4 4-6 7-6s5.5 2 7 6'/%3E%3C/svg%3E");
}

.department-icon-users {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20c1.2-3.4 3.4-5 6.5-5s5.3 1.6 6.5 5'/%3E%3Cpath d='M4 11.5c-1.3.5-2.3 1.8-3 3.5'/%3E%3Cpath d='M20 11.5c1.3.5 2.3 1.8 3 3.5'/%3E%3C/svg%3E");
}

.department-icon-leader {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5h16v14H4Z'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M8 14h5'/%3E%3Cpath d='M12 19v3'/%3E%3Cpath d='M8 22h8'/%3E%3C/svg%3E");
}

.department-icon-briefcase {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6h4a2 2 0 0 1 2 2v1H8V8a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M4 9h16v10H4V9Z'/%3E%3Cpath d='M4 13h16'/%3E%3C/svg%3E");
}

.department-icon-card {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3Cpath d='M7 15h4'/%3E%3C/svg%3E");
}

.department-icon-chart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='M8 16v-5'/%3E%3Cpath d='M12 16V8'/%3E%3Cpath d='M16 16v-9'/%3E%3C/svg%3E");
}

.department-icon-cap {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-5 9 5-9 5-9-5Z'/%3E%3Cpath d='M7 12v4c2.5 2 7.5 2 10 0v-4'/%3E%3Cpath d='M21 9v5'/%3E%3C/svg%3E");
}

.department-icon-message {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H8l-4 4V5Z'/%3E%3Cpath d='M8 9h8'/%3E%3Cpath d='M8 13h5'/%3E%3C/svg%3E");
}

.department-icon-tool {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230b3f91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v11H4V6Z'/%3E%3Cpath d='M9 21h6'/%3E%3Cpath d='M12 17v4'/%3E%3C/svg%3E");
}

/* Department landing page, reference-style cards. */
.department-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 22px;
    padding-top: 26px;
}

.department-tile {
    display: flex;
    min-height: 260px;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    gap: 0;
    padding: 32px 24px 28px;
    border-color: #d8e3f2;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 16px 34px rgba(8, 31, 68, 0.04);
}

.department-tile:hover {
    transform: translateY(-2px);
    border-color: #bdd0ea;
    box-shadow: 0 20px 42px rgba(8, 31, 68, 0.09);
}

.department-icon {
    width: 74px;
    height: 74px;
    margin: 0 0 22px;
    border-radius: 20px;
    background-color: #edf4ff;
    background-size: 48px 48px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.department-tile h2 {
    min-height: 54px;
    margin: 0 0 10px;
    color: #071a3b;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.15;
}

.department-tile strong {
    min-height: 27px;
    padding: 4px 13px;
    font-size: 14px;
}

.department-tile p {
    max-width: 230px;
    margin: 18px auto 0;
    color: #405274;
    font-size: 15px;
    line-height: 1.35;
}

.department-disabled {
    opacity: 0.64;
}

.department-disabled .department-icon {
    filter: grayscale(0.2);
}

.department-icon-shield {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='8' width='34' height='32' rx='4'/%3E%3Cpath d='M17 8v32'/%3E%3Cpath d='M17 19h24'/%3E%3Cpath d='M17 30h24'/%3E%3Cpath d='M11 20h5'/%3E%3Cpath d='M11 31h5'/%3E%3Cpath d='m27 30 4 3 7-9'/%3E%3C/svg%3E");
}

.department-icon-user {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='16' r='8'/%3E%3Cpath d='M10 40c2.8-9 7.5-13 14-13s11.2 4 14 13'/%3E%3C/svg%3E");
}

.department-icon-users {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='17' r='7'/%3E%3Ccircle cx='33' cy='20' r='5'/%3E%3Cpath d='M8 39c2.6-8.2 6.6-12 12-12 5.3 0 9.4 3.8 12 12'/%3E%3Cpath d='M30 30c4.7.4 7.8 3.4 10 9'/%3E%3C/svg%3E");
}

.department-icon-leader {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 38V10h32v23H16l-8 5Z'/%3E%3Ccircle cx='20' cy='21' r='5'/%3E%3Cpath d='M29 18h6'/%3E%3Cpath d='M29 25h5'/%3E%3C/svg%3E");
}

.department-icon-briefcase {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='17' r='7'/%3E%3Cpath d='M8 39c2.5-8.4 6.5-12 12-12 3.6 0 6.6 1.6 9 5'/%3E%3Ccircle cx='34' cy='33' r='6'/%3E%3Cpath d='m39 38 4 4'/%3E%3C/svg%3E");
}

.department-icon-card {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 16h29l4 7v15H8V16Z'/%3E%3Cpath d='M8 23h33'/%3E%3Cpath d='M34 30h7'/%3E%3C/svg%3E");
}

.department-icon-chart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 39V29'/%3E%3Cpath d='M20 39V22'/%3E%3Cpath d='M31 39V16'/%3E%3Cpath d='M8 24c9-1 17-5 25-15'/%3E%3Cpath d='M33 9h7v7'/%3E%3C/svg%3E");
}

.department-icon-cap {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 18 18-10 18 10-18 10L6 18Z'/%3E%3Cpath d='M14 24v8c5.8 4.2 14.2 4.2 20 0v-8'/%3E%3Cpath d='M40 19v12'/%3E%3Cpath d='M40 31v4'/%3E%3C/svg%3E");
}

.department-icon-message {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13h23c4.4 0 8 3.2 8 7.2s-3.6 7.2-8 7.2H19l-9 7v-7.2H8V13Z'/%3E%3Cpath d='M20 24c0 4 3.6 7.2 8 7.2h4l8 6v-6h1'/%3E%3C/svg%3E");
}

.department-icon-tool {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 13h30v20H9V13Z'/%3E%3Cpath d='M19 39h10'/%3E%3Cpath d='M24 33v6'/%3E%3Cpath d='M14 33h20'/%3E%3C/svg%3E");
}

/* Compact the reference-style department cards for the current viewport. */
.department-card {
    width: min(1220px, calc(100% - 48px));
    padding: 30px 30px 24px;
}

.department-header {
    min-height: 128px;
}

.department-header img {
    width: min(390px, 48vw);
}

.department-grid {
    grid-template-columns: repeat(auto-fit, minmax(206px, 1fr));
    gap: 14px;
    padding-top: 18px;
}

.department-tile {
    min-height: 186px;
    padding: 22px 18px 20px;
}

.department-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 15px;
    border-radius: 16px;
    background-size: 36px 36px;
}

.department-tile h2 {
    min-height: 44px;
    margin-bottom: 7px;
    font-size: 17px;
    line-height: 1.18;
}

.department-tile strong {
    min-height: 23px;
    padding: 2px 10px;
    font-size: 13px;
}

.department-tile p {
    max-width: 190px;
    margin-top: 11px;
    font-size: 12.5px;
    line-height: 1.35;
}

/* Iconografia padronizada dos menus e departamentos */
.recruitment-menu-icon,
.recruitment-subnav span,
.equipment-parent span:first-child,
.equipment-subnav span,
.equipment-main-link span,
.equipment-sidebar-actions span {
    position: relative;
    width: 40px;
    min-width: 40px;
    height: 40px;
    border: 1px solid rgba(96, 165, 250, 0.35);
    border-radius: 8px;
    background:
        radial-gradient(circle at 30% 20%, rgba(96, 165, 250, 0.18), transparent 42%),
        rgba(15, 42, 85, 0.62);
    color: #2f7bff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.recruitment-subnav a.is-active span,
.equipment-subnav a.is-active span {
    border-color: rgba(255, 255, 255, 0.28);
    color: #fff;
    background: rgba(255, 255, 255, 0.10);
}

.department-icon {
    position: relative;
    width: 64px;
    height: 64px;
    border: 1px solid rgba(96, 165, 250, 0.18);
    border-radius: 8px;
    background:
        radial-gradient(circle at 30% 20%, rgba(96, 165, 250, 0.22), transparent 42%),
        #eef5ff;
    color: #0f56bd;
}

.recruitment-menu-icon::before,
.recruitment-subnav span::before,
.equipment-parent span:first-child::before,
.equipment-subnav span::before,
.equipment-main-link span::before,
.equipment-sidebar-actions span::before,
.department-icon::before {
    content: "";
    position: absolute;
    inset: 8px;
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: currentColor;
    box-shadow: none;
    transform: none;
    -webkit-mask: var(--renda-icon) center / contain no-repeat;
    mask: var(--renda-icon) center / contain no-repeat;
}

.department-icon::before {
    inset: 12px;
}

.recruitment-menu-icon::after,
.recruitment-subnav span::after,
.equipment-parent span:first-child::after,
.equipment-subnav span::after,
.equipment-main-link span::after,
.equipment-sidebar-actions span::after,
.department-icon::after {
    display: none;
}

.menu-icon-chart,
.department-icon-chart {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 19h16v2H2V3h2v16Zm3-3 4-4 3 3 5-7 1.8 1.2-6.6 9.2-3.1-3.1L8.4 18 7 16Z'/%3E%3Cpath d='M7 11h2v5H7v-5Zm5-5h2v10h-2V6Zm5 3h2v7h-2V9Z'/%3E%3C/svg%3E");
}

.menu-icon-users,
.department-icon-users {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm7-1a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Zm0 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM2 20a6.5 6.5 0 0 1 10.6-5H10a4.5 4.5 0 0 0-6 4.2V21H2v-1Zm10.5 1a5.5 5.5 0 0 1 11 0h-2a3.5 3.5 0 0 0-7 0h-2Z'/%3E%3C/svg%3E");
}

.menu-icon-user,
.department-icon-user {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 12a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM2 22v-1a9 9 0 0 1 14.8-6.9l-1.5 1.4A7 7 0 0 0 4 21v1H2Zm17.3-7.2a4.2 4.2 0 1 1-3 7.2 4.2 4.2 0 0 1 3-7.2Zm0 2a2.2 2.2 0 1 0 0 4.4 2.2 2.2 0 0 0 0-4.4Zm3.4 4.4L24 22.5 22.6 24l-1.4-1.4 1.5-1.4Z'/%3E%3C/svg%3E");
}

.department-icon-leader {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM4 21a8 8 0 0 1 16 0h-2a6 6 0 0 0-12 0H4Zm14.5-9.5 1.2 2.4 2.6.4-1.9 1.9.4 2.6-2.3-1.2-2.3 1.2.4-2.6-1.9-1.9 2.6-.4 1.2-2.4Z'/%3E%3C/svg%3E");
}

.menu-icon-card,
.department-icon-card,
.menu-icon-money {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3V6Zm2 2h14V6a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v2Zm14 3H5v7a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-7Zm-11 3h5v2H8v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-briefcase,
.department-icon-briefcase {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 5a3 3 0 0 1 3-3h1a3 3 0 0 1 3 3v1h3a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V9a3 3 0 0 1 3-3h4V5Zm2 1h3V5a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1v1Zm9 7h-7v2h-2v-2H4v5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5ZM5 8a1 1 0 0 0-1 1v2h16V9a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
}

.menu-icon-cap,
.department-icon-cap {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 3 11 6-11 6L1 9l11-6Zm0 2.3L5.2 9 12 12.7 18.8 9 12 5.3ZM5 12.4l2 1.1V17c0 1 2 2.5 5 2.5s5-1.5 5-2.5v-3.5l2-1.1V17c0 2.8-3.6 4.5-7 4.5S5 19.8 5 17v-4.6Z'/%3E%3C/svg%3E");
}

.menu-icon-message,
.department-icon-message {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 4h11a4 4 0 0 1 4 4v2a4 4 0 0 1-4 4H9l-5 4v-4a4 4 0 0 1-4-4V8a4 4 0 0 1 4-4Zm0 2a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2v1.8L8.3 12H15a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2H4Zm8 10h5.7l2.3 1.8V16h1a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1v-2a3 3 0 0 1 3 3v2a3 3 0 0 1-2 2.8V22l-5-4h-5v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-tool,
.department-icon-tool {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v9H4V5Zm2 7h12V5a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v7Zm-4 5h20v2H2v-2Zm6 3h8v2H8v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-doc {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 2h10l5 5v15H5V2Zm2 2v16h11V8h-4V4H7Zm9 0v2h2l-2-2ZM9 11h7v2H9v-2Zm0 4h7v2H9v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-form {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 2h10l5 5v5h-2V8h-4V4H7v16h6v2H5V2Zm11 2v2h2l-2-2Zm-7 7h6v2H9v-2Zm0 4h4v2H9v-2Zm9.5-1 1.5 1.5-3 3H22v2h-8v-8h2v4.6l2.5-2.6Z'/%3E%3C/svg%3E");
}

.menu-icon-receipt {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 2 7 3.2 9 2l2 1.2L13 2l2 1.2L17 2l2 1.2V22l-2-1.2-2 1.2-2-1.2-2 1.2-2-1.2L7 22l-2-1.2V2Zm2 3.5v12.9l2-1.2 2 1.2 2-1.2 2 1.2 2-1.2V5.5l-2 1.2-2-1.2-2 1.2-2-1.2-2 1.2ZM9 9h6v2H9V9Zm0 4h6v2H9v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-check,
.department-icon-shield {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 21 6v6c0 5-3.4 8.7-9 10-5.6-1.3-9-5-9-10V6l9-4Zm0 2.2L5 7.3V12c0 3.8 2.4 6.5 7 7.9 4.6-1.4 7-4.1 7-7.9V7.3l-7-3.1Zm4.7 5.6 1.4 1.4-6.7 6.7-3.7-3.7 1.4-1.4 2.3 2.3 5.3-5.3Z'/%3E%3C/svg%3E");
}

.menu-icon-star {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 2.9 6 6.6.9-4.8 4.7 1.1 6.6L12 17.1l-5.8 3.1 1.1-6.6-4.8-4.7 6.6-.9L12 2Zm0 4.6-1.6 3.2-3.5.5 2.5 2.5-.6 3.5 3.2-1.7 3.2 1.7-.6-3.5 2.5-2.5-3.5-.5L12 6.6Z'/%3E%3C/svg%3E");
}

.menu-icon-route {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a7 7 0 0 1 7 7h3l-4 5-4-5h3a5 5 0 1 0-1.5 3.6l1.4 1.4A7 7 0 1 1 12 2Zm0 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 2a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z'/%3E%3C/svg%3E");
}

.menu-icon-clock {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm1 3v5.2l3.4 2-1 1.7-4.4-2.6V7h2Z'/%3E%3C/svg%3E");
}

.menu-icon-bell {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 2h10a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 4v12h10V6H7Zm3-2v1h4V4h-4Zm1 15v1h2v-1h-2Z'/%3E%3C/svg%3E");
}

.menu-icon-cube {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 9 5v10l-9 5-9-5V7l9-5Zm0 2.3L6.1 7.5 12 10.8l5.9-3.3L12 4.3ZM5 9.2v6.6l6 3.3v-6.6L5 9.2Zm8 9.9 6-3.3V9.2l-6 3.3v6.6Z'/%3E%3C/svg%3E");
}

.menu-icon-trash {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 3h6l1 2h5v2H3V5h5l1-2Zm1 6v9h2V9h-2Zm4 0v9h2V9h-2ZM6 9h2v11h8V9h2v13H6V9Z'/%3E%3C/svg%3E");
}

.menu-icon-report {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 20h16v2H2V4h2v16Zm3-2V9h3v9H7Zm5 0V5h3v13h-3Zm5 0v-6h3v6h-3Z'/%3E%3C/svg%3E");
}

.menu-icon-cadastro {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 4h16v16H4V4Zm2 2v12h12V6H6Zm3 3a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm-1 7a4 4 0 0 1 7 0h-2.1a2 2 0 0 0-2.8 0H8Zm8-6h2v2h-2v-2Zm0 4h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

.menu-icon-search {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 3a7.5 7.5 0 1 1-4.8 13.3L1.9 20.1.5 18.7l3.8-3.8A7.5 7.5 0 0 1 10.5 3Zm0 2a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11Zm8.8 11.6L24 21.3 22.6 23l-4.8-4.8 1.5-1.6Z'/%3E%3C/svg%3E");
}

.menu-icon-shield {
    --renda-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 21 6v6c0 5-3.4 8.7-9 10-5.6-1.3-9-5-9-10V6l9-4Zm0 2.2L5 7.3V12c0 3.8 2.4 6.5 7 7.9 4.6-1.4 7-4.1 7-7.9V7.3l-7-3.1Z'/%3E%3C/svg%3E");
}

/* Tela de departamentos compacta: icone + nome. */
.renda-portal-page .department-card {
    width: min(1180px, calc(100% - 72px));
    padding: 28px 30px 30px;
}

.renda-portal-page .department-header {
    min-height: 118px;
    padding-bottom: 20px;
}

.renda-portal-page .department-header img {
    width: min(370px, 45vw);
}

.renda-portal-page .department-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
    padding-top: 20px;
}

.renda-portal-page .department-tile {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    align-content: center;
    min-height: 138px;
    padding: 20px 14px;
    gap: 12px;
}

.renda-portal-page .department-icon {
    width: 54px;
    height: 54px;
    margin: 0;
    border-radius: 8px;
    background-size: 34px 34px;
}

.renda-portal-page .department-tile h2 {
    min-height: 0;
    margin: 0;
    color: #071a3b;
    font-size: 17px;
    line-height: 1.18;
    text-align: center;
}

.renda-portal-page .department-tile strong,
.renda-portal-page .department-tile p {
    display: none;
}

/* Fallback estavel para a pagina inicial: SVG direto no fundo do icone. */
.renda-portal-page .department-icon::before,
.renda-portal-page .department-icon::after {
    display: none !important;
    content: none !important;
}

.renda-portal-page .department-icon {
    background-color: #edf4ff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 34px 34px;
}

.renda-portal-page .department-icon-shield {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='8' width='34' height='32' rx='4'/%3E%3Cpath d='M17 8v32'/%3E%3Cpath d='M17 19h24'/%3E%3Cpath d='M17 30h24'/%3E%3Cpath d='M11 20h5'/%3E%3Cpath d='M11 31h5'/%3E%3Cpath d='m27 30 4 3 7-9'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-user {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='24' cy='16' r='8'/%3E%3Cpath d='M10 40c2.8-9 7.5-13 14-13s11.2 4 14 13'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-users {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='17' r='7'/%3E%3Ccircle cx='33' cy='20' r='5'/%3E%3Cpath d='M8 39c2.6-8.2 6.6-12 12-12 5.3 0 9.4 3.8 12 12'/%3E%3Cpath d='M30 30c4.7.4 7.8 3.4 10 9'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-leader {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 38V10h32v23H16l-8 5Z'/%3E%3Ccircle cx='20' cy='21' r='5'/%3E%3Cpath d='M29 18h6'/%3E%3Cpath d='M29 25h5'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-briefcase {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='17' r='7'/%3E%3Cpath d='M8 39c2.5-8.4 6.5-12 12-12 3.6 0 6.6 1.6 9 5'/%3E%3Ccircle cx='34' cy='33' r='6'/%3E%3Cpath d='m39 38 4 4'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-card {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 16h29l4 7v15H8V16Z'/%3E%3Cpath d='M8 23h33'/%3E%3Cpath d='M34 30h7'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-chart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 39V29'/%3E%3Cpath d='M20 39V22'/%3E%3Cpath d='M31 39V16'/%3E%3Cpath d='M8 24c9-1 17-5 25-15'/%3E%3Cpath d='M33 9h7v7'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-cap {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 18 18-10 18 10-18 10L6 18Z'/%3E%3Cpath d='M14 24v8c5.8 4.2 14.2 4.2 20 0v-8'/%3E%3Cpath d='M40 19v12'/%3E%3Cpath d='M40 31v4'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-message {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13h23c4.4 0 8 3.2 8 7.2s-3.6 7.2-8 7.2H19l-9 7v-7.2H8V13Z'/%3E%3Cpath d='M20 24c0 4 3.6 7.2 8 7.2h4l8 6v-6h1'/%3E%3C/svg%3E");
}

.renda-portal-page .department-icon-tool {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48' fill='none' stroke='%230b4fb3' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 13h30v20H9V13Z'/%3E%3Cpath d='M19 39h10'/%3E%3Cpath d='M24 33v6'/%3E%3Cpath d='M14 33h20'/%3E%3C/svg%3E");
}
.equipment-dashboard-page {
    display: block !important;
    min-height: 100vh;
}

.equipment-dashboard-page > .equipment-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    width: 300px;
    height: 100vh;
    overflow-y: auto;
}

.equipment-dashboard-page > .equipment-main {
    display: block;
    width: auto;
    min-width: 0;
    margin-left: 300px;
}

.equipment-home {
    width: 100%;
    padding: 34px 38px 48px;
    color: #061a3a;
}

.equipment-home,
.equipment-home * {
    box-sizing: border-box;
}

.equipment-home-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.equipment-home-intro p,
.equipment-home-panel-title span {
    margin: 0 0 5px;
    color: #66758e;
    font-size: 12px;
    font-weight: 800;
}

.equipment-home-intro h2 {
    margin: 0 0 5px;
    font-size: 34px;
    line-height: 1.1;
}

.equipment-home-intro > div > span {
    color: #65738b;
    font-size: 17px;
}

.equipment-home-primary,
.equipment-home-panel-title a,
.equipment-home-admission-list a {
    border: 1px solid #174da3;
    border-radius: 7px;
    background: #174da3;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.equipment-home-primary {
    padding: 14px 18px;
    white-space: nowrap;
}

.equipment-home-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
}

.equipment-home-stat {
    position: relative;
    flex: 1 1 155px;
    min-width: 145px;
    min-height: 150px;
    overflow: hidden;
    padding: 22px;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 38, 78, 0.06);
}

.equipment-home-stat::after {
    position: absolute;
    right: -18px;
    bottom: -24px;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.09;
    content: "";
}

.equipment-home-stat > span,
.equipment-home-stat small {
    display: block;
    color: #63718a;
}

.equipment-home-stat > span {
    font-size: 15px;
}

.equipment-home-stat strong {
    display: block;
    margin: 10px 0 8px;
    color: currentColor;
    font-size: 38px;
    line-height: 1;
}

.equipment-home-stat small {
    max-width: 120px;
    font-size: 14px;
    line-height: 1.35;
}

.equipment-home-stat.is-blue { color: #1764e8; }
.equipment-home-stat.is-green { color: #13a66a; }
.equipment-home-stat.is-purple { color: #7c4dff; }
.equipment-home-stat.is-orange { color: #f28a24; }
.equipment-home-stat.is-red { color: #ef4d59; }
.equipment-home-stat.is-teal { color: #078c9e; }

.equipment-home-panels {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.equipment-home-panel {
    flex: 1 1 420px;
    min-width: 0;
    padding: 24px;
    border: 1px solid #d9e2ef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(12, 38, 78, 0.05);
}

.equipment-home-alert-panel {
    flex: 0.75 1 330px;
}

.equipment-home-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e4eaf2;
}

.equipment-home-panel-title h3 {
    margin: 0;
    font-size: 22px;
}

.equipment-home-panel-title a,
.equipment-home-admission-list a {
    padding: 9px 12px;
    font-size: 14px;
    white-space: nowrap;
}

.equipment-home-category-list,
.equipment-home-alerts,
.equipment-home-admission-list,
.equipment-home-recent-list {
    margin-top: 18px;
}

.equipment-home-category {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 10px 0;
}

.equipment-home-category > div:first-child {
    width: 175px;
}

.equipment-home-category strong,
.equipment-home-category span {
    display: block;
}

.equipment-home-category span,
.equipment-home-admission-list small,
.equipment-home-recent-list small {
    margin-top: 3px;
    color: #6b7890;
    font-size: 13px;
}

.equipment-home-progress {
    flex: 1;
    height: 9px;
    overflow: hidden;
    border-radius: 99px;
    background: #edf2f8;
}

.equipment-home-progress span {
    height: 100%;
    border-radius: inherit;
    background: #2f75e9;
}

.equipment-home-alerts {
    padding: 0;
    list-style: none;
}

.equipment-home-alerts li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid #e8edf4;
    color: #44536b;
}

.equipment-home-alerts li:last-child {
    border-bottom: 0;
}

.equipment-home-alerts i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #eef4ff;
    color: #1764e8;
    font-style: normal;
    font-weight: 900;
}

.equipment-home-alerts i.is-orange { background: #fff4e8; color: #d96d00; }
.equipment-home-alerts i.is-red { background: #ffedef; color: #dd3444; }
.equipment-home-alerts i.is-purple { background: #f2edff; color: #7546df; }

.equipment-home-admission-list > div,
.equipment-home-recent-list > div,
.equipment-home-recent-list > a {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid #e8edf4;
}

.equipment-home-admission-list > div:last-child,
.equipment-home-recent-list > div:last-child,
.equipment-home-recent-list > a:last-child {
    border-bottom: 0;
}

.equipment-home-admission-list span,
.equipment-home-recent-list span {
    flex: 1;
    min-width: 0;
}

.equipment-home-admission-list strong,
.equipment-home-admission-list small,
.equipment-home-recent-list strong,
.equipment-home-recent-list small {
    display: block;
}

.equipment-home-admission-list em,
.equipment-home-recent-list em {
    color: #59677e;
    font-size: 13px;
    font-style: normal;
    white-space: nowrap;
}

.equipment-home-recent-list > a {
    color: inherit;
    text-decoration: none;
}

.equipment-home-recent-list > a:hover strong {
    color: #174da3;
}

.equipment-home-lower {
    margin-bottom: 0;
}

.equipment-home-empty {
    margin: 16px 0 0;
    padding: 16px;
    border-radius: 6px;
    background: #f5f8fc;
    color: #66758e;
}

@media (max-width: 900px) {
    .equipment-dashboard-page > .equipment-sidebar {
        position: static;
        width: 100%;
        height: auto;
    }

    .equipment-dashboard-page > .equipment-main {
        margin-left: 0;
    }

    .equipment-home {
        padding: 24px 18px 40px;
    }

    .equipment-home-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .equipment-home-stat {
        flex-basis: calc(50% - 8px);
    }

    .equipment-home-panel {
        flex-basis: 100%;
    }
}

@media (max-width: 560px) {
    .equipment-home-stat {
        flex-basis: 100%;
    }

    .equipment-home-category,
    .equipment-home-admission-list > div,
    .equipment-home-recent-list > div,
    .equipment-home-recent-list > a {
        align-items: flex-start;
        flex-direction: column;
    }

    .equipment-home-category > div:first-child {
        width: auto;
    }

    .equipment-home-progress {
        width: 100%;
        flex: none;
    }
}
/* Icones exclusivos do modulo Equipamentos. */
.equipment-sidebar .equipment-parent > span:first-child,
.equipment-sidebar .equipment-subnav a > span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border: 1px solid rgba(83, 151, 255, 0.45);
    border-radius: 8px;
    background: rgba(28, 67, 124, 0.58);
    color: #5b9cff;
    box-shadow: inset 0 0 12px rgba(44, 112, 229, 0.10);
}

.equipment-sidebar .equipment-parent > span:first-child {
    flex-basis: 48px;
    width: 48px;
    min-width: 48px;
    height: 48px;
}

.equipment-sidebar .equipment-subnav a.is-active > span {
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
}

.equipment-sidebar .equipment-parent > span:first-child::before,
.equipment-sidebar .equipment-subnav a > span::before {
    position: absolute;
    inset: 8px;
    display: block;
    width: auto;
    height: auto;
    border: 0;
    background-color: currentColor;
    content: "";
    -webkit-mask-image: var(--equipment-icon);
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-image: var(--equipment-icon);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
}

.equipment-sidebar .equipment-parent > span:first-child::before {
    inset: 10px;
}

.equipment-sidebar .equipment-parent > span:first-child::after,
.equipment-sidebar .equipment-subnav a > span::after {
    display: none;
}

.equipment-icon-laptop {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3h14a2 2 0 0 1 2 2v11H3V5a2 2 0 0 1 2-2Zm0 2v9h14V5H5ZM1 18h22v2H1v-2Zm8 3h6v1H9v-1Z'/%3E%3C/svg%3E");
}

.equipment-icon-boxes {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 2 6 3v7l-6 3-6-3V5l6-3Zm0 2.2L3.4 6 7 7.8 10.6 6 7 4.2ZM3 8v2.8l3 1.5V9.5L3 8Zm5 4.3 3-1.5V8L8 9.5v2.8ZM17 9l6 3v7l-6 3-6-3v-5l2-1v4.8l3 1.5v-4.8l-2.6-1.3L17 11.2l3.6 1.8-3.6 1.8-2-1 2-1 2 1-2 1.2v4.3l3-1.5V13l-3-1.5-3 1.5-2-1 5-3Z'/%3E%3C/svg%3E");
}

.equipment-icon-status {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 2 9 4v6c0 5.1-3.2 8.5-9 10-5.8-1.5-9-4.9-9-10V6l9-4Zm0 2.2L5 7.3V12c0 3.9 2.3 6.4 7 7.8 4.7-1.4 7-3.9 7-7.8V7.3l-7-3.1Zm4.7 5.1 1.4 1.4-6.8 6.8-4-4 1.4-1.4 2.6 2.6 5.4-5.4Z'/%3E%3C/svg%3E");
}

.equipment-icon-phone {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1h10a2 2 0 0 1 2 2v18a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2Zm0 3v15h10V4H7Zm3-1h4V2h-4v1Zm1 17h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

.equipment-icon-transfer {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 5h13l-3-3 1.4-1.4L22 6l-5.6 5.4L15 10l3-3H5V5Zm14 12H6l3 3-1.4 1.4L2 16l5.6-5.4L9 12l-3 3h13v2Z'/%3E%3C/svg%3E");
}

.equipment-icon-user {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 11a5 5 0 1 1 0-10 5 5 0 0 1 0 10Zm0-2a3 3 0 1 0 0-6 3 3 0 0 0 0 6ZM1 22v-1a8 8 0 0 1 14.7-4.4l-1.8.9A6 6 0 0 0 3 21v1H1Zm18-8 1.1 2.1 2.4.4-1.7 1.7.4 2.4-2.2-1.1-2.2 1.1.4-2.4-1.7-1.7 2.4-.4L19 14Z'/%3E%3C/svg%3E");
}

.equipment-icon-history {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 1 1-8.5 6H1l3.5-4L8 9H5.6A7 7 0 1 0 12 5V3Zm-1 4h2v5.2l3.5 2-1 1.8-4.5-2.7V7Z'/%3E%3C/svg%3E");
}

.equipment-icon-loan {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 3h8a2 2 0 0 1 2 2v2h3a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h3V5a2 2 0 0 1 2-2Zm0 4h8V5H8v2ZM3 9v3h18V9H3Zm0 5v5h18v-5h-8v2h-2v-2H3Z'/%3E%3C/svg%3E");
}

.equipment-icon-maintenance {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.7 2.3a6 6 0 0 0-7.2 7.6L1.7 15.7a3.5 3.5 0 1 0 4.9 4.9l5.8-5.8a6 6 0 0 0 7.6-7.2l-3.7 3.7-3.6-.9-.9-3.6 3.7-3.7-.8-.8ZM8.9 12.1l1 1-4.7 6.1a1.5 1.5 0 1 1-2.1-2.1l5.8-5Z'/%3E%3C/svg%3E");
}

.equipment-icon-alert {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 23 21H1L12 2Zm0 4L4.5 19h15L12 6Zm-1 4h2v5h-2v-5Zm0 7h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

.equipment-icon-sim {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1h8l5 5v17H4V4a3 3 0 0 1 3-3Zm0 2a1 1 0 0 0-1 1v17h12V7h-4V3H7Zm1 8h8v7H8v-7Zm2 2v3h4v-3h-4Z'/%3E%3C/svg%3E");
}

.equipment-icon-line {
    --equipment-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.6 2 10 7 8 9.2c1.4 2.8 3.7 5.1 6.5 6.5l2.2-2 5 3.4-1.2 4.1c-.2.7-.9 1.2-1.7 1.1C9.4 21.1 2.9 14.6 1.7 5.2c-.1-.8.4-1.5 1.1-1.7L6.6 2Zm-.9 2.4-1.9.6c1.1 8.1 7.1 14.1 15.2 15.2l.6-2-2.7-1.8-1.9 1.8-.6-.2A15.7 15.7 0 0 1 6 9.6L5.8 9l1.8-2-1.9-2.6Z'/%3E%3C/svg%3E");
}

/* SVGs embutidos: compatíveis com todos os navegadores usados na rede. */
.equipment-sidebar .equipment-parent > .equipment-menu-icon::before,
.equipment-sidebar .equipment-subnav a > .equipment-menu-icon::before,
.equipment-sidebar .equipment-main-link > .equipment-menu-icon::before,
.equipment-sidebar .equipment-parent > .equipment-menu-icon::after,
.equipment-sidebar .equipment-subnav a > .equipment-menu-icon::after,
.equipment-sidebar .equipment-main-link > .equipment-menu-icon::after {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    content: none !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.equipment-sidebar .equipment-menu-icon svg {
    display: block;
    width: 21px;
    height: 21px;
    overflow: visible;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.equipment-sidebar .equipment-menu-icon svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8;
    vector-effect: non-scaling-stroke;
}

.equipment-sidebar .equipment-main-link > .equipment-menu-icon {
    color: #72a8ff;
}

.equipment-sidebar .equipment-main-link > .equipment-menu-icon svg {
    width: 20px;
    height: 20px;
}

.equipment-sidebar .equipment-parent > .equipment-menu-icon svg {
    width: 26px;
    height: 26px;
}

.equipment-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 18px 0;
    padding: 10px 0;
}

.equipment-pagination p {
    margin: 0;
    color: #60708a;
    font-size: 14px;
    font-weight: 700;
}

.equipment-pagination-pages {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.equipment-pagination-pages a,
.equipment-pagination-pages span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid #d3deed;
    border-radius: 7px;
    background: #fff;
    color: #123c7a;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.equipment-pagination-pages a:hover,
.equipment-pagination-pages .is-current {
    border-color: #2464f4;
    background: #2464f4;
    color: #fff;
}

.equipment-pagination-pages .is-disabled,
.equipment-pagination-pages .is-ellipsis {
    border-color: transparent;
    background: transparent;
    color: #9aa7ba;
}

@media (max-width: 720px) {
    .equipment-pagination {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Padrao visual definitivo do menu de Equipamentos. */
@media (min-width: 861px) {
    body.equipment-page > .equipment-sidebar,
    body.equipment-dashboard-page > .equipment-sidebar {
        flex: 0 0 240px !important;
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }

    body.equipment-dashboard-page > .equipment-main {
        margin-left: 240px !important;
    }
}

.equipment-sidebar {
    box-sizing: border-box !important;
    padding: 18px 0 22px !important;
    overflow-x: hidden !important;
}

.equipment-sidebar .equipment-brand {
    margin: 0 0 24px !important;
    padding: 0 18px !important;
}

.equipment-sidebar .equipment-brand img {
    width: 208px !important;
    max-width: 100% !important;
}

.equipment-sidebar .equipment-module-menu {
    gap: 8px !important;
}

.equipment-sidebar .equipment-parent,
.equipment-sidebar .equipment-main-link {
    box-sizing: border-box !important;
    width: calc(100% - 16px) !important;
    min-height: 54px !important;
    margin: 0 16px 0 0 !important;
    padding: 10px 14px !important;
    gap: 12px !important;
    border-radius: 8px !important;
    border-radius: 0 8px 8px 0 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.equipment-sidebar .equipment-parent {
    font-weight: 800 !important;
}

.equipment-sidebar .equipment-main-link {
    font-weight: 600 !important;
}

.equipment-sidebar .equipment-parent > .equipment-menu-icon,
.equipment-sidebar .equipment-main-link > .equipment-menu-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
}

.equipment-sidebar .equipment-parent > .equipment-menu-icon svg,
.equipment-sidebar .equipment-main-link > .equipment-menu-icon svg {
    width: 24px !important;
    height: 24px !important;
}

.equipment-sidebar .equipment-subnav {
    gap: 8px !important;
    margin: -4px 16px 8px 27px !important;
    padding-left: 10px !important;
}

.equipment-sidebar .equipment-subnav a {
    min-height: 42px !important;
    padding: 8px 12px !important;
    gap: 12px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.equipment-sidebar .equipment-subnav a > .equipment-menu-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
}

.equipment-sidebar .equipment-subnav a > .equipment-menu-icon svg {
    width: 21px !important;
    height: 21px !important;
}

.equipment-sidebar .equipment-sidebar-actions {
    gap: 10px !important;
    padding: 18px 16px 0 !important;
}

.equipment-sidebar .equipment-sidebar-actions a,
.equipment-sidebar .equipment-sidebar-actions button {
    min-height: 54px !important;
    padding: 7px 12px !important;
    gap: 12px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
    color: #72a8ff !important;
}

.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon svg {
    width: 22px !important;
    height: 22px !important;
}

/* Mantem as acoes inferiores no mesmo padrao dos demais itens do menu. */
.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon::before,
.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon::after {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: none !important;
    content: none !important;
    -webkit-mask: none !important;
    mask: none !important;
}

.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon svg {
    display: block !important;
    overflow: visible;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.equipment-sidebar .equipment-sidebar-actions .equipment-menu-icon svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8;
    vector-effect: non-scaling-stroke;
}

.equipment-sidebar .equipment-sidebar-actions a,
.equipment-sidebar .equipment-sidebar-actions button {
    width: 100% !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

.equipment-sidebar .equipment-sidebar-actions form {
    width: 100%;
    margin: 0;
}

/* Dashboard operacional de equipamentos. Usa classes isoladas para não herdar o painel antigo. */
.eq-overview { display:grid; gap:22px; padding:28px 34px 44px; }
.eq-overview-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.eq-overview-intro p, .eq-panel-heading p { margin:0 0 5px; color:#1554c6; font-size:11px; font-weight:900; letter-spacing:.04em; }
.eq-overview-intro h2 { margin:0 0 6px; font-size:30px; }
.eq-overview-intro span { color:#65738c; }
.eq-overview-actions { display:flex; gap:10px; }
.eq-overview-actions a { min-height:42px; padding:0 16px; border:1px solid #cad7e8; border-radius:7px; display:inline-flex; align-items:center; color:#0b2b5f; font-weight:800; text-decoration:none; background:#fff; }
.eq-overview-actions a.primary { color:#fff; border-color:#1554c6; background:#1554c6; }
.eq-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.eq-metric { position:relative; min-height:154px; padding:20px; border:1px solid #d7e1ee; border-radius:8px; background:#fff; color:#071a3b; text-decoration:none; overflow:hidden; }
.eq-metric::after { content:""; position:absolute; right:18px; top:50%; width:54px; height:54px; border-radius:50%; background:#e7efff; transform:translateY(-50%); }
.eq-metric span { display:block; max-width:90px; color:#65738c; font-size:14px; }
.eq-metric strong { display:block; margin:15px 0 9px; font-size:36px; line-height:1; }
.eq-metric small { display:block; max-width:105px; color:#65738c; line-height:1.35; }
.eq-metric.orange::after { background:#fff0dc; } .eq-metric.orange strong { color:#e87800; }
.eq-metric.green::after { background:#ddf8e8; } .eq-metric.green strong { color:#079b58; }
.eq-metric.blue::after { background:#e6efff; } .eq-metric.blue strong { color:#2463eb; }
.eq-metric.red::after { background:#ffe3e5; } .eq-metric.red strong { color:#e33b43; }
.eq-metric.violet::after { background:#f0e5ff; } .eq-metric.violet strong { color:#7b35e8; }
.eq-dashboard-grid { display:grid; gap:18px; }
.eq-dashboard-grid-top { grid-template-columns:1.4fr .85fr .85fr; }
.eq-dashboard-grid-flow { grid-template-columns:1.35fr .65fr; }
.eq-panel { min-width:0; padding:22px; border:1px solid #d7e1ee; border-radius:8px; background:#fff; }
.eq-panel-heading { min-height:49px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid #e5ebf3; padding-bottom:15px; }
.eq-panel-heading h3 { margin:0; font-size:19px; }
.eq-panel-heading a, .eq-panel-heading > span { color:#1554c6; font-size:13px; font-weight:800; text-decoration:none; }
.eq-bar-list, .eq-status-list, .eq-alert-list, .eq-flow-list { display:grid; gap:13px; margin-top:17px; }
.eq-bar-row > div:first-child { display:flex; justify-content:space-between; gap:12px; margin-bottom:6px; font-size:13px; }
.eq-bar-track { height:10px; overflow:hidden; border-radius:3px; background:#edf2f8; }
.eq-bar-track i { display:block; height:100%; border-radius:3px; background:#2f75ed; }
.eq-status-list a { display:grid; grid-template-columns:10px 1fr auto 38px; align-items:center; gap:10px; color:#17233a; text-decoration:none; }
.eq-status-list i { width:10px; height:10px; border-radius:2px; background:#2f75ed; }
.eq-status-list i.orange { background:#e87800; } .eq-status-list i.green { background:#18b96b; } .eq-status-list i.blue { background:#2f75ed; } .eq-status-list i.red { background:#ef4444; } .eq-status-list i.dark { background:#17233a; }
.eq-status-list small { color:#65738c; text-align:right; }
.eq-alert-list a { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #e5ebf3; color:#17233a; text-decoration:none; }
.eq-alert-list strong { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#fff2db; color:#d96c00; }
.eq-flow-list a { display:grid; grid-template-columns:42px minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:12px; border:1px solid #e1e8f2; border-radius:7px; color:#17233a; text-decoration:none; }
.eq-flow-list.compact a { grid-template-columns:42px minmax(0,1fr) auto; }
.eq-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#e5efff; color:#1554c6; font-weight:900; }
.eq-avatar.return { background:#ffe8e8; color:#d13b43; }
.eq-flow-list strong, .eq-flow-list small { display:block; }
.eq-flow-list small { margin-top:3px; color:#65738c; }
.eq-flow-date { text-align:right; }
.eq-flow-list b { color:#1554c6; font-size:13px; }
.eq-movement-list { display:grid; margin-top:5px; }
.eq-movement-list > div { display:grid; grid-template-columns:135px 1.15fr .6fr 1fr .8fr; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid #e5ebf3; }
.eq-movement-list span, .eq-movement-list small, .eq-movement-list em { color:#65738c; font-style:normal; }
.eq-empty { margin:14px 0 0; padding:18px; border:1px dashed #ccd8e8; border-radius:7px; color:#65738c; background:#f8fafc; }
@media (max-width:1250px) { .eq-metric-grid { grid-template-columns:repeat(3,1fr); } .eq-dashboard-grid-top { grid-template-columns:1fr 1fr; } .eq-dashboard-grid-top .eq-alert-list { grid-column:1/-1; } }
@media (max-width:900px) { .eq-overview { padding:22px 18px 36px; } .eq-overview-intro, .eq-panel-heading { align-items:flex-start; flex-direction:column; } .eq-metric-grid, .eq-dashboard-grid-top, .eq-dashboard-grid-flow { grid-template-columns:1fr; } .eq-movement-list > div { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .eq-metric-grid { grid-template-columns:1fr 1fr; } .eq-flow-list a { grid-template-columns:42px 1fr; } .eq-flow-date { text-align:left; } }

/* Kits de trabalho e preparação de admissões */
.equipment-primary-link { display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border-radius:7px; background:#1554c6; color:#fff; font-weight:800; text-decoration:none; }
.equipment-kit-heading { margin-bottom:24px; }
.equipment-kit-section { margin-bottom:30px; }
.equipment-kit-section-title { margin-bottom:14px; }
.equipment-kit-section-title h3, .equipment-kit-section-title p { margin:0; }
.equipment-kit-section-title p { margin-top:5px; color:#65738c; }
.equipment-kit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; }
.equipment-kit-card { padding:20px; border:1px solid #d5dfed; border-radius:8px; background:#fff; }
.equipment-kit-card-head, .equipment-kit-actions, .equipment-admission-kit-item-head, .equipment-admission-kit-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.equipment-kit-card-head h3, .equipment-kit-card-head p { margin:0; }
.equipment-kit-card-head p { margin-top:5px; color:#65738c; }
.equipment-kit-type { color:#1554c6; font-size:12px; font-weight:800; text-transform:uppercase; }
.equipment-kit-items { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.equipment-kit-items span { padding:7px 10px; border-radius:6px; background:#eef4ff; color:#173b76; }
.equipment-kit-actions { justify-content:flex-end; padding-top:14px; border-top:1px solid #e3e9f2; }
.equipment-kit-actions a, .equipment-kit-actions button { border:0; background:transparent; color:#1554c6; font:inherit; font-weight:800; text-decoration:none; cursor:pointer; }
.equipment-kit-actions button { color:#c62939; }
.equipment-kit-form-card { max-width:980px; }
.equipment-kit-formset { margin-top:26px; }
.equipment-kit-form-row { display:grid; grid-template-columns:minmax(220px,1fr) 150px auto; align-items:end; gap:14px; padding:14px 0; border-bottom:1px solid #e3e9f2; }
.equipment-kit-form-row label { display:grid; gap:7px; font-weight:700; }
.equipment-kit-form-row select, .equipment-kit-form-row input[type="number"] { width:100%; min-height:46px; padding:0 12px; border:1px solid #ccd8e8; border-radius:7px; background:#fff; }
.equipment-kit-delete-check { display:flex !important; grid-auto-flow:column; justify-content:start; align-items:center; min-height:46px; }
.equipment-admission-kit-summary { margin:20px 0; padding:15px 18px; border:1px solid #bdd2f4; border-radius:7px; background:#eef5ff; }
.equipment-admission-kit-summary span { color:#52647f; }
.equipment-admission-kit-list { display:grid; gap:16px; }
.equipment-admission-kit-item { padding:17px; border:1px solid #d5dfed; border-radius:8px; background:#fff; }
.equipment-admission-kit-item-head h3, .equipment-admission-kit-item-head p { margin:0; }
.equipment-admission-kit-item-head p { margin-top:4px; color:#65738c; font-size:13px; }
.equipment-kit-counter { padding:7px 10px; border-radius:999px; background:#fff2db; color:#ad6300; font-size:13px; font-weight:800; }
.equipment-kit-counter.is-complete { background:#dcf8e8; color:#087a49; }
.equipment-admission-kit-item .equipment-reservation-list { margin-top:14px; }
.equipment-admission-extras { margin-top:18px; padding:14px 17px; border:1px solid #d5dfed; border-radius:8px; }
.equipment-admission-extras summary { color:#1554c6; font-weight:800; cursor:pointer; }
@media (max-width:760px) { .equipment-kit-form-row { grid-template-columns:1fr; } .equipment-kit-card-head, .equipment-admission-kit-item-head, .equipment-admission-kit-summary { align-items:flex-start; flex-direction:column; } }

/* Padrao visual consolidado dos modulos internos. */
body.equipment-page {
    align-items: stretch;
}

body.equipment-page > .equipment-sidebar {
    flex: 0 0 240px !important;
    width: 240px !important;
    max-width: 240px !important;
    min-height: 100vh !important;
    padding: 18px 0 22px !important;
    background: var(--blue-950) !important;
}

.equipment-sidebar .equipment-brand {
    margin: 0 0 24px !important;
    padding: 0 18px !important;
}

.equipment-sidebar .equipment-brand img {
    width: 204px !important;
    max-width: 100% !important;
}

.equipment-sidebar .equipment-parent,
.equipment-sidebar .equipment-main-link {
    width: calc(100% - 16px) !important;
    min-height: 54px !important;
    margin: 0 16px 0 0 !important;
    padding: 10px 14px !important;
    border-radius: 0 8px 8px 0 !important;
    font-size: 16px !important;
}

.equipment-sidebar .equipment-subnav {
    margin: -4px 16px 8px 27px !important;
    padding-left: 10px !important;
}

.equipment-sidebar .equipment-subnav a {
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.equipment-sidebar .equipment-parent > .equipment-menu-icon,
.equipment-sidebar .equipment-main-link > .equipment-menu-icon,
.equipment-sidebar .equipment-subnav a > .equipment-menu-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
}

.equipment-sidebar .equipment-menu-icon svg {
    width: 22px !important;
    height: 22px !important;
}

.equipment-standard-topbar,
.equipment-topbar {
    min-height: 92px !important;
    padding: 24px 34px !important;
    background: #fff !important;
    border-bottom: 1px solid var(--line) !important;
}

.equipment-topbar p {
    margin: 0 0 4px !important;
    color: var(--muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

.equipment-topbar h1 {
    margin: 0 !important;
    color: var(--text) !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
}

.equipment-content {
    padding: 30px 34px 42px !important;
}

@media (max-width: 900px) {
    body.equipment-page {
        display: block;
    }

    body.equipment-page > .equipment-sidebar {
        width: 100% !important;
        max-width: none !important;
        min-height: auto !important;
    }

    .equipment-standard-topbar,
    .equipment-topbar,
    .equipment-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}
