:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --surface-3: #eef3f9;
  --text: #0c1f46;
  --muted: #66758f;
  --muted-2: #8b98ad;
  --line: #dce4ee;
  --navy: #06245b;
  --navy-2: #041b46;
  --navy-3: #0a3478;
  --blue: #0d55c7;
  --blue-2: #164da8;
  --blue-soft: #eaf2ff;
  --green: #17a467;
  --green-soft: #e8f8ef;
  --red: #dc2626;
  --red-soft: #fff0f0;
  --amber: #f59e0b;
  --amber-soft: #fff6e8;
  --purple: #7c3aed;
  --purple-soft: #f2ecff;
  --shadow: 0 7px 22px rgba(15, 35, 70, .07);
  --shadow-lg: 0 22px 64px rgba(4, 27, 70, .18);
  --radius: 12px;
  --sidebar-w: 226px;
  --sidebar-collapsed: 78px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }
svg { display: block; }
.hidden { display: none !important; }
.muted { color: var(--muted); }
.optional { color: var(--muted-2); font-weight: 500; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: var(--sidebar-w);
  display: flex;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at 8% 95%, rgba(16, 90, 201, .18), transparent 24%),
    linear-gradient(180deg, #08295f 0%, #041c49 65%, #05173a 100%);
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 12px 0 36px rgba(3, 16, 41, .14);
  transition: width .22s ease, transform .22s ease;
  overflow: hidden;
}
.brand {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  justify-content: center;
  text-align: center;
}
.brand-icon { display: none; width: 38px; height: 38px; object-fit: contain; flex: 0 0 auto; }
.brand-logo { width: 132px; max-width: 100%; height: auto; object-fit: contain; flex: 0 0 auto; }
.brand-copy { min-width: 0; }
.brand-copy strong { display: block; font-size: 13px; line-height: 1.15; letter-spacing: .015em; }
.brand-copy span { display: block; margin-top: 4px; color: #a9c4ee; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.nav { display: grid; gap: 3px; padding: 10px 8px 12px; overflow-y: auto; scrollbar-width: thin; }
.nav-item {
  width: 100%; min-height: 39px; display: flex; align-items: center; gap: 11px;
  padding: 8px 12px; border: 0; border-radius: 10px; color: #d8e7ff; background: transparent;
  font-weight: 600; font-size: 12.5px; text-align: left; white-space: nowrap; transition: .16s ease;
}
.nav-item svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.07); }
.nav-item.active { color: #fff; background: linear-gradient(90deg, #1053c4, #0b4aa9); box-shadow: 0 8px 18px rgba(0, 32, 91, .2); }
.nav-item[hidden] { display: none; }
.sidebar-user { margin-top: auto; padding: 0 10px 10px; }
.sidebar-profile {
  width: 100%; min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 10px 12px;
  color: #fff; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); border-radius: 12px; text-align: left;
}
.sidebar-profile:hover { background: rgba(255,255,255,.065); }
.sidebar-profile > svg { width: 16px; height: 16px; margin-left: auto; fill: none; stroke: #90acd7; stroke-width: 1.8; }
.avatar {
  width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto;
  border-radius: 50%; color: #fff; background: linear-gradient(145deg,#0c65da,#173d91); font-size: 12px; font-weight: 800;
}
.sidebar-avatar { position: relative; }
.sidebar-avatar::after { content: ""; position: absolute; right: 0; bottom: 0; width: 8px; height: 8px; border-radius: 50%; background: #29c874; border: 2px solid #06245b; }
.sidebar-profile-copy { min-width: 0; }
.sidebar-profile-copy strong, .sidebar-profile-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-profile-copy strong { font-size: 12px; }
.sidebar-profile-copy small { margin-top: 3px; color: #aac0e0; font-size: 9px; }
.collapse-menu {
  width: 100%; min-height: 42px; display: flex; align-items: center; gap: 10px; padding: 8px 12px 2px;
  border: 0; color: #b9cbea; background: transparent; font-size: 10px;
}
.collapse-menu:hover { color: #fff; background: transparent; }
.collapse-menu svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; }

body.sidebar-collapsed .sidebar { width: var(--sidebar-collapsed); }
body.sidebar-collapsed .main-area { margin-left: var(--sidebar-collapsed); width: calc(100% - var(--sidebar-collapsed)); }
body.sidebar-collapsed .brand { min-height: 72px; align-items: center; justify-content: center; padding: 12px 10px; gap: 0; }
body.sidebar-collapsed .brand-copy,
body.sidebar-collapsed .nav-item span,
body.sidebar-collapsed .sidebar-profile-copy,
body.sidebar-collapsed .sidebar-profile > svg,
body.sidebar-collapsed .collapse-menu span { display: none; }
body.sidebar-collapsed .nav-item { justify-content: center; padding-inline: 10px; }
body.sidebar-collapsed .sidebar-profile { justify-content: center; }
body.sidebar-collapsed .collapse-menu { justify-content: center; }
body.sidebar-collapsed .collapse-menu svg { transform: rotate(180deg); }

.main-area { margin-left: var(--sidebar-w); width: calc(100% - var(--sidebar-w)); min-width: 0; transition: margin-left .22s ease, width .22s ease; }
.topbar {
  position: sticky; top: 0; z-index: 30; min-height: 76px; display: flex; align-items: center; gap: 18px;
  padding: 12px 24px; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line);
}
.menu-toggle { display: none; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--navy); }
.menu-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.page-heading { min-width: 0; }
.page-heading h1 { margin: 0; color: #0b1e43; font-size: 21px; line-height: 1.15; letter-spacing: -.02em; }
.page-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.system-credit-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 22px 0;
  color: #587091;
  font-size: 11px;
  text-align: center;
}
.system-credit-banner span { display: inline-flex; align-items: center; gap: 5px; }
.system-credit-banner strong { color: #163c79; font-weight: 800; }
.system-credit-banner small { padding: 4px 8px; border-radius: 999px; background: #edf3ff; color: #355b99; font-size: 10px; font-weight: 700; }
.global-search {
  width: 230px; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 12px;
  border: 1px solid var(--line); border-radius: 8px; background: #f9fbfd; color: var(--muted);
}
.global-search:focus-within { border-color: #9bbbea; box-shadow: 0 0 0 3px rgba(13,85,199,.09); background: #fff; }
.global-search svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.global-search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 12px; }
.icon-btn {
  width: 38px; height: 38px; display: grid; place-items: center; position: relative;
  border: 1px solid transparent; border-radius: 9px; color: #40516d; background: transparent;
}
.icon-btn:hover { color: var(--blue); background: var(--blue-soft); }
.icon-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.notification-dot { position: absolute; right: 1px; top: -2px; min-width: 16px; height: 16px; padding: 0 4px; display: grid; place-items: center; border-radius: 999px; color: #fff; background: #cf1111; border: 2px solid #fff; font-size: 8px; font-weight: 800; }
.profile { display: flex; align-items: center; gap: 9px; padding: 3px 2px 3px 8px; border: 0; color: var(--text); background: transparent; }
.profile:hover { background: #f5f8fc; border-radius: 9px; }
.profile-copy { min-width: 0; text-align: left; }
.profile-copy strong, .profile-copy small { display: block; white-space: nowrap; }
.profile-copy strong { font-size: 11px; }
.profile-copy small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.profile > svg { width: 15px; height: 15px; fill: none; stroke: var(--muted); stroke-width: 1.8; }

.content { padding: 20px 22px 40px; }
.view { display: none; animation: viewIn .16s ease; }
.view.active { display: block; }
@keyframes viewIn { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

.page-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.page-actions-row.compact { margin-bottom: 12px; }
.page-actions-row .left, .page-actions-row .right, .actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.page-note { padding: 7px 10px; border-radius: 6px; color: #6b7890; background: #edf2f7; font-size: 10px; letter-spacing: .02em; }
.btn {
  min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 12px;
  border: 1px solid var(--line); border-radius: 7px; color: var(--blue); background: #fff; font-size: 11px; font-weight: 700; transition: .15s ease;
}
.btn:hover { border-color: #91b5ea; background: #f4f8ff; }
.btn.primary { color: #fff; border-color: var(--navy); background: var(--navy); box-shadow: 0 5px 13px rgba(6,36,91,.15); }
.btn.primary:hover { background: var(--navy-3); }
.btn.danger { color: var(--red); border-color: #f2aaaa; background: #fff5f5; }

.btn.amber { color: #9a5a00; border-color: #f2c36f; background: #fff7e6; }
.btn.amber:hover { border-color: #df9f2c; background: #fff1d2; }
.checkbox-line { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #f9fbfe; color: var(--text); font-size: 11px; font-weight: 700; }
.checkbox-line input { width: 16px; height: 16px; accent-color: var(--navy); }
.btn.small { min-height: 30px; padding: 6px 9px; font-size: 10px; }
.btn.ghost { color: var(--text); background: transparent; border-color: transparent; }
.btn svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.segmented { display: inline-flex; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; background: #fff; }
.segmented button { min-height: 34px; padding: 7px 12px; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: #fff; font-size: 10px; }
.segmented button:last-child { border-right: 0; }
.segmented button.active { color: #fff; background: var(--navy-3); }

.panel, .data-card, .report-card, .person-card, .kpi-card, .settings-card {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.panel { overflow: hidden; }
.panel-head { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.panel-head h3 { margin: 0; font-size: 13px; color: #0d2149; }
.panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.panel-body { padding: 16px; }

.dashboard-filters { justify-content: flex-end; }
.select-control, .toolbar select, .filters select {
  min-height: 34px; padding: 6px 30px 6px 10px; border: 1px solid var(--line); border-radius: 7px; color: #233658; background: #fff; outline: none; font-size: 10px;
}
.select-control:focus, .toolbar select:focus, .filters select:focus { border-color: #9dbce9; box-shadow: 0 0 0 3px rgba(13,85,199,.08); }

.kpi-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-bottom: 12px; }
.kpi-grid.secondary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.kpi-card { min-height: 106px; padding: 15px 14px; position: relative; box-shadow: 0 4px 13px rgba(15,35,70,.05); overflow: hidden; }
.kpi-card.accent-red { border-left: 3px solid var(--red); }
.kpi-card.accent-amber { border-left: 3px solid var(--amber); }
.kpi-card.accent-green { border-left: 3px solid var(--green); }
.kpi-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.kpi-label { color: #52627e; font-size: 10px; }
.kpi-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 6px; color: var(--blue); background: var(--blue-soft); }
.kpi-icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kpi-card.success .kpi-icon { color: var(--green); background: var(--green-soft); }
.kpi-card.warning .kpi-icon { color: var(--amber); background: var(--amber-soft); }
.kpi-card.critical .kpi-icon { color: var(--red); background: var(--red-soft); }
.dashboard-kpis .kpi-card[data-list="delayed"] .kpi-icon { color: var(--blue); background: var(--blue-soft); }
.kpi-card.purple .kpi-icon { color: var(--purple); background: var(--purple-soft); }
.kpi-value { margin-top: 8px; color: #071d49; font-size: 23px; line-height: 1; font-weight: 800; letter-spacing: -.03em; }
.kpi-value.green { color: var(--green); }
.kpi-value.red { color: var(--red); }
.kpi-value.amber { color: #d77d00; }
.kpi-foot { margin-top: 7px; color: var(--muted); font-size: 9px; }
.kpi-foot.positive { color: var(--green); }

.continuity-panel { margin-bottom: 14px; padding: 14px 16px; }
.continuity-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.continuity-head h3 { margin: 0; font-size: 13px; }
.continuity-head p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.continuity-score-big { color: var(--green); font-size: 25px; font-weight: 800; }
.progress-track { height: 6px; margin: 13px 0 12px; overflow: hidden; border-radius: 999px; background: #edf1f6; }
.progress-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg,#1ca768,#36b779); }
.continuity-metrics { display: grid; grid-template-columns: repeat(4,1fr); }
.continuity-metric { text-align: center; padding: 0 12px; border-right: 1px solid var(--line); }
.continuity-metric:last-child { border-right: 0; }
.continuity-metric strong, .continuity-metric span { display: block; }
.continuity-metric strong { font-size: 11px; color: var(--navy-3); }
.continuity-metric strong.green { color: var(--green); }
.continuity-metric strong.red { color: var(--red); }
.continuity-metric span { margin-top: 4px; color: var(--muted); font-size: 9px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 14px; margin-bottom: 14px; }
.chart-panel { min-height: 285px; }
.chart-wrap { display: flex; align-items: center; justify-content: center; min-height: 220px; }
.chart-wrap-column { flex-direction: column; }
.chart-legend { display: grid; gap: 10px; margin-top: 8px; font-size: 10px; }
.chart-legend-centered { justify-items: center; text-align: center; }
.legend-item { display: flex; align-items: center; gap: 7px; color: #4c5e79; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.line-chart { width: 100%; height: 210px; }
.line-chart .grid { stroke: #e8edf4; stroke-width: 1; stroke-dasharray: 3 4; }
.line-chart .axis-text { fill: #7a889f; font-size: 10px; }
.line-chart .area { fill: url(#lineArea); }
.qssma-hero { margin-bottom: 16px; }
.qssma-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.qssma-summary-card { padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(180deg, #fbfdff 0%, #f4f8fd 100%); }
.qssma-summary-card strong { display: block; color: var(--navy); font-size: 24px; line-height: 1; }
.qssma-summary-card span { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.qssma-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.qssma-area-card { display: flex; align-items: flex-start; gap: 16px; padding: 22px; border-radius: 18px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); }
.qssma-area-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: #fff; font-size: 22px; font-weight: 800; flex: 0 0 auto; }
.qssma-area-body h3 { margin: 0; color: var(--navy); font-size: 20px; }
.qssma-area-body p { margin: 8px 0 0; color: var(--muted); line-height: 1.55; font-size: 13px; }
.qssma-area-card.blue .qssma-area-icon { background: linear-gradient(135deg, #0d55c7, #3676db); }
.qssma-area-card.green .qssma-area-icon { background: linear-gradient(135deg, #149a62, #34b37e); }
.qssma-area-card.amber .qssma-area-icon { background: linear-gradient(135deg, #e28a11, #f1b24f); }
.qssma-area-card.teal .qssma-area-icon { background: linear-gradient(135deg, #0b8f9d, #39aebb); }
.qssma-area-card.purple .qssma-area-icon { background: linear-gradient(135deg, #6d3bd1, #955df1); }
.line-chart .line { fill: none; stroke: #0d55c7; stroke-width: 2.3; stroke-linecap: round; stroke-linejoin: round; }
.line-chart .point { fill: #0d55c7; stroke: #fff; stroke-width: 2; }
.priority-layout { min-height: 210px; display: grid; grid-template-columns: 210px 1fr; gap: 16px; align-items: center; }
.priority-layout svg { max-width: 190px; }
.priority-list { display: grid; gap: 13px; }
.priority-row { display: grid; grid-template-columns: 10px 1fr auto; gap: 8px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid #eef1f5; color: #4a5b76; font-size: 10px; }
.priority-row:last-child { border-bottom: 0; }
.priority-row i { width: 8px; height: 8px; border-radius: 50%; }

.alert-strip { display: flex; align-items: center; gap: 9px; margin: 12px 0; padding: 11px 13px; border: 1px solid #f4c67b; border-radius: 8px; color: #a34e00; background: #fff8ec; font-size: 10px; }
.alert-strip svg { width: 17px; height: 17px; fill: none; stroke: #f28b00; stroke-width: 1.8; flex: 0 0 auto; }
.info-strip { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding: 11px 13px; border: 1px solid #b8d3ff; border-radius: 8px; color: #275baf; background: #f3f8ff; font-size: 10px; line-height: 1.5; }
.info-strip svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: 0 0 auto; }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.search { min-width: 250px; min-height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--muted); }
.search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 10px; }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 11px 13px; border-bottom: 1px solid #e8edf3; text-align: left; vertical-align: middle; }
th { color: #5d6d86; background: #f8fafc; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; white-space: nowrap; }
td { color: #263a5d; font-size: 10px; }
tbody tr:hover { background: #fbfdff; }
tbody tr:last-child td { border-bottom: 0; }
.title-cell { min-width: 220px; color: #0a2049; font-weight: 700; }
.owner-warning { color: var(--red); font-style: italic; }
.row-actions { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.action-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 0; border-radius: 6px; color: #5f708a; background: transparent; }
.action-icon:hover { color: var(--blue); background: var(--blue-soft); }
.action-icon svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.chip { display: inline-flex; align-items: center; gap: 5px; min-height: 21px; padding: 3px 8px; border-radius: 5px; font-size: 9px; font-weight: 700; white-space: nowrap; }
.chip.green { color: #078344; background: #e8f8ee; }
.chip.red { color: #d91b1b; background: #fff0f0; }
.chip.blue { color: #145bc0; background: #eaf2ff; }
.chip.amber { color: #d07500; background: #fff4dd; }
.chip.purple { color: #6e35c4; background: #f2ebff; }
.chip.gray { color: #667085; background: #f0f2f5; }
.chip.navy { color: #fff; background: #06245b; }

.people-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.person-card { min-height: 190px; padding: 16px; display: flex; flex-direction: column; box-shadow: 0 4px 13px rgba(15,35,70,.055); }
.person-card.inactive { opacity: .72; }
.person-head { display: flex; align-items: flex-start; gap: 10px; }
.person-head .avatar { width: 38px; height: 38px; }
.person-title { min-width: 0; }
.person-title h3 { margin: 1px 0 2px; color: #0d2149; font-size: 13px; }
.person-title p { margin: 0; color: var(--muted); font-size: 10px; }
.person-badges { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 7px; }
.person-details { display: grid; gap: 7px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e9edf3; }
.person-detail { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
.person-detail strong { color: #253858; font-weight: 600; text-align: right; }
.person-detail strong.danger { color: var(--red); }
.person-footer { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 13px; border-top: 1px solid #edf0f4; }
.person-footer button { border: 0; color: var(--blue); background: transparent; font-size: 10px; font-weight: 700; }
.person-footer button:hover { text-decoration: underline; }

.transition-kpis { grid-template-columns: repeat(6,minmax(0,1fr)); }
.transition-kpis .kpi-card { min-height: 86px; }
.transition-kpis .kpi-value { font-size: 21px; }
.transition-summary { padding: 14px 16px; margin-bottom: 12px; }
.transition-summary-top { display: flex; justify-content: space-between; gap: 15px; }
.transition-summary h3 { margin: 0; font-size: 12px; }
.transition-summary p { margin: 5px 0 0; color: var(--muted); font-size: 9px; }
.transition-summary small { color: var(--muted); font-size: 9px; }

.report-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.report-card { min-height: 188px; padding: 17px; display: flex; flex-direction: column; }
.report-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.report-icon.red { color: var(--red); background: var(--red-soft); }
.report-icon.amber { color: var(--amber); background: var(--amber-soft); }
.report-icon.green { color: var(--green); background: var(--green-soft); }
.report-icon.purple { color: var(--purple); background: var(--purple-soft); }
.report-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.report-card h3 { margin: 16px 0 7px; font-size: 12px; }
.report-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.report-actions { display: flex; gap: 7px; margin-top: auto; padding-top: 15px; }
.report-preview { margin-top: 16px; }

.access-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 12px; }
.access-card { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.access-card-icon { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--navy); }
.access-card-icon.light { color: var(--blue); background: var(--blue-soft); }
.access-card-icon.gray { color: #596980; background: #f0f2f5; }
.access-card-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.access-card h3 { margin: 0 0 4px; font-size: 11px; }
.access-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }

.settings-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.settings-card { padding: 18px; }
.settings-card h3 { margin: 0 0 7px; font-size: 13px; }
.settings-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.settings-card .settings-value { margin-top: 15px; color: var(--navy); font-size: 18px; font-weight: 800; }

.empty-state { min-height: 180px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 30px; color: var(--muted); text-align: center; }
.empty-state strong { display: block; color: var(--text); font-size: 13px; }
.empty-state.compact { min-height: 120px; font-size: 10px; }
.empty-inline { padding: 12px; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); font-size: 10px; }
.loading { min-height: 260px; display: grid; place-items: center; color: var(--muted); }
.loading::before { content: ""; width: 24px; height: 24px; margin-right: 10px; border: 3px solid #dbe5f2; border-top-color: var(--blue); border-radius: 50%; animation: spin .75s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(2,14,36,.57); backdrop-filter: blur(4px); }
.modal { width: min(760px, 96vw); max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; border-radius: 14px; background: #fff; box-shadow: var(--shadow-lg); }
.modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.modal-head h2 { margin: 2px 0 0; font-size: 18px; }
.eyebrow { margin: 0; color: var(--blue); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.modal-body { padding: 20px; overflow-y: auto; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.field { display: grid; gap: 6px; }
.field.full, .check-field.full { grid-column: 1 / -1; }
.field label { color: #32445f; font-size: 10px; font-weight: 700; }
.field input, .field select, .field textarea {
  width: 100%; min-height: 40px; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: #fff; outline: none; font-size: 11px;
}
.field textarea { min-height: 90px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #91b5ea; box-shadow: 0 0 0 3px rgba(13,85,199,.08); }
.help { color: var(--muted); font-size: 9px; line-height: 1.4; }
.check-field { display: flex; align-items: flex-start; gap: 9px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; color: #34445e; background: #f9fbfd; font-size: 10px; }
.check-field input { margin-top: 1px; }
.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.danger-zone { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid #f1b9b9; border-radius: 9px; background: #fff7f7; }
.danger-zone > div { min-width: 0; }
.danger-zone strong, .danger-zone span { display: block; }
.danger-zone strong { color: #8f1f1f; font-size: 10px; }
.danger-zone span { margin-top: 3px; color: #8a5a5a; font-size: 9px; line-height: 1.45; }
.danger-zone .btn { flex: 0 0 auto; }
.warning-box, .danger-box, .success-box, .permission-note { margin-bottom: 15px; padding: 11px 13px; border-radius: 8px; font-size: 10px; line-height: 1.5; }
.warning-box { color: #8a5200; background: #fff6e6; border: 1px solid #f6cf8d; }
.danger-box { color: #9e2525; background: #fff2f2; border: 1px solid #f1b9b9; }
.success-box { color: #087847; background: #edfaf3; border: 1px solid #b9e6cf; }
.permission-note { color: #2558a5; background: #eff6ff; border: 1px solid #c7dcfb; }
.activity-check-list { display: grid; gap: 8px; max-height: 250px; overflow-y: auto; }
.activity-check { display: flex; align-items: flex-start; gap: 9px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.activity-check strong, .activity-check small { display: block; }
.activity-check strong { font-size: 10px; }
.activity-check small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.replacement-grid { display: grid; gap: 8px; }
.replacement-row { display: grid; grid-template-columns: 1fr minmax(210px,.7fr); gap: 10px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 8px; }
.replacement-row strong, .replacement-row small { display: block; }
.replacement-row strong { font-size: 10px; }
.replacement-row small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.account-card { display: flex; align-items: center; gap: 13px; padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; }
.account-avatar { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--navy); font-size: 17px; font-weight: 800; }
.account-card strong, .account-card p, .account-card small { display: block; margin: 0; }
.account-card p { margin-top: 3px; color: var(--muted); font-size: 10px; }
.account-card small { margin-top: 4px; color: #78859a; font-size: 9px; }

.toast-container { position: fixed; right: 20px; bottom: 20px; z-index: 130; display: grid; gap: 8px; }
.toast { min-width: 260px; max-width: 380px; padding: 11px 13px; border-radius: 8px; color: #fff; background: #087847; box-shadow: 0 14px 35px rgba(4,27,70,.2); font-size: 10px; }
.toast.error { background: #b91c1c; }
.toast.warning { background: #b45309; }
.mobile-overlay { display: none; }

@media (max-width: 1250px) {
  .kpi-grid { grid-template-columns: repeat(3,1fr); }
  .kpi-grid.secondary { grid-template-columns: repeat(3,1fr); }
  .people-grid, .settings-grid { grid-template-columns: repeat(2,1fr); }
  .report-grid { grid-template-columns: repeat(3,1fr); }
  .transition-kpis { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 980px) {
  .sidebar { transform: translateX(-100%); width: var(--sidebar-w); }
  .sidebar.open { transform: translateX(0); }
  body.sidebar-collapsed .sidebar { width: var(--sidebar-w); }
  .main-area, body.sidebar-collapsed .main-area { width: 100%; margin-left: 0; }
  .menu-toggle { display: grid; }
  .mobile-overlay { position: fixed; inset: 0; z-index: 45; background: rgba(1,14,35,.45); }
  .sidebar.open + .main-area .mobile-overlay { display: block; }
  .global-search { width: 180px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .report-grid { grid-template-columns: repeat(2,1fr); }
  .access-cards { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .topbar { min-height: 66px; padding: 10px 13px; }
  .page-heading p { display: none; }
  .page-heading h1 { font-size: 17px; }
  .global-search { display: none; }
  .profile-copy, .profile > svg { display: none; }
  .content { padding: 14px 12px 28px; }
  .page-actions-row { align-items: flex-start; flex-direction: column; }
  .page-actions-row .right { width: 100%; }
  .kpi-grid, .kpi-grid.secondary, .transition-kpis { grid-template-columns: repeat(2,1fr); }
  .people-grid, .report-grid, .settings-grid { grid-template-columns: 1fr; }
  .continuity-metrics { grid-template-columns: repeat(2,1fr); gap: 12px 0; }
  .continuity-metric:nth-child(2) { border-right: 0; }
  .priority-layout { grid-template-columns: 1fr; justify-items: center; }
  .toolbar { align-items: flex-start; flex-direction: column; }
  .filters { width: 100%; }
  .search { width: 100%; min-width: 0; }
  .filters select { flex: 1 1 140px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full, .check-field.full { grid-column: auto; }
  .replacement-row { grid-template-columns: 1fr; }
  .danger-zone { align-items: stretch; flex-direction: column; }
  .modal-backdrop { padding: 8px; }
  .modal { width: 100%; max-height: 96vh; }
}
@media (max-width: 460px) {
  .kpi-grid, .kpi-grid.secondary, .transition-kpis { grid-template-columns: 1fr; }
  .continuity-head { align-items: center; }
  .continuity-metrics { grid-template-columns: 1fr; }
  .continuity-metric { border-right: 0; border-bottom: 1px solid var(--line); padding: 8px; }
  .continuity-metric:last-child { border-bottom: 0; }
}

@media print {
  .sidebar, .topbar, .page-actions-row, .toolbar, .btn, .row-actions { display: none !important; }
  .main-area { margin: 0; width: 100%; }
  .content { padding: 0; }
  .panel, .data-card, .report-card { box-shadow: none; }
}
.priority-layout .chart-legend { display: none; }
.person-footer button.danger { color: var(--red); }

/* Dashboard operacional V7 */
.kpi-card.clickable {
  width: 100%; border: 1px solid var(--line); color: inherit; background: var(--surface);
  text-align: left; font-family: inherit; cursor: pointer;
}
.kpi-card.clickable:hover { transform: translateY(-2px); border-color: #a9c3e8; box-shadow: 0 12px 28px rgba(15,35,70,.11); }
.kpi-card.clickable:focus-visible { outline: 3px solid rgba(13,85,199,.2); outline-offset: 2px; }
.kpi-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kpi-open { color: var(--blue); font-size: 8px; font-weight: 800; white-space: nowrap; }
.dashboard-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
.dashboard-kpis-secondary { grid-template-columns: repeat(4,minmax(0,1fr)); }

.priority-summary-panel,
.team-work-panel,
.priority-matrix-panel,
.monthly-summary-panel { margin-bottom: 14px; }
.priority-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 14px; }
.priority-summary-card {
  display: grid; grid-template-columns: 1.15fr .85fr .85fr; min-height: 104px; overflow: hidden;
  border: 1px solid var(--line); border-top: 3px solid var(--priority-color); border-radius: 10px; background: #fff;
}
.priority-summary-card > div,
.priority-summary-card > button { display: grid; align-content: center; gap: 2px; padding: 12px; border: 0; background: transparent; text-align: left; color: var(--text); }
.priority-summary-card > button { border-left: 1px solid var(--line); cursor: pointer; }
.priority-summary-card > button:hover { background: #f7faff; }
.priority-summary-card span { color: var(--muted); font-size: 9px; font-weight: 700; }
.priority-summary-card strong { color: var(--priority-color); font-size: 22px; line-height: 1; }
.priority-summary-card small { color: var(--muted-2); font-size: 8px; }
.priority-summary-card button strong { font-size: 18px; }

.team-progress-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px; }
.team-progress-card { padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: #fff; box-shadow: 0 3px 12px rgba(15,35,70,.04); }
.team-progress-head { display: flex; align-items: center; gap: 10px; }
.team-progress-head h4 { margin: 0; font-size: 12px; }
.team-progress-head p { margin: 3px 0 0; color: var(--muted); font-size: 9px; }
.team-progress-head .btn { margin-left: auto; }
.team-progress-numbers { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin-top: 13px; }
.team-progress-numbers span { padding: 8px; border-radius: 7px; color: var(--muted); background: #f6f8fb; font-size: 8px; text-align: center; }
.team-progress-numbers strong { display: block; margin-bottom: 2px; color: var(--navy); font-size: 16px; }
.team-progress-numbers .done strong { color: var(--green); }
.team-progress-numbers .pending strong { color: var(--amber); }
.team-progress-numbers .late strong { color: var(--red); }
.team-progress-bar, .mini-progress { height: 7px; overflow: hidden; border-radius: 99px; background: #e8edf4; }
.team-progress-bar { margin-top: 12px; }
.team-progress-bar i, .mini-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--green),#32c47f); }
.team-progress-rate { display: flex; justify-content: space-between; margin-top: 5px; color: var(--muted); font-size: 8px; }
.team-task-preview { display: grid; gap: 6px; margin-top: 11px; }
.team-task-preview > button { display: flex; align-items: center; justify-content: space-between; gap: 9px; min-height: 34px; padding: 7px 9px; border: 1px solid #e6ebf2; border-radius: 7px; color: #243958; background: #fafcff; text-align: left; }
.team-task-preview > button:hover { border-color: #aac5ec; background: #f3f8ff; }
.team-task-preview > button > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; font-weight: 650; }

.priority-matrix .title-cell { min-width: 205px; }
.priority-matrix .title-cell small { display: block; margin: 3px 0 0 35px; color: var(--muted); font-size: 8px; font-weight: 500; }
.mini-avatar { display: inline-grid; width: 27px; height: 27px; margin-right: 8px; vertical-align: middle; font-size: 9px; }
.priority-matrix-cell { min-width: 88px; padding: 7px 8px; border: 1px solid #e6ebf2; border-radius: 7px; color: var(--text); background: #fff; text-align: left; }
.priority-matrix-cell:hover { border-color: #a7c2e9; background: #f5f9ff; }
.priority-matrix-cell strong { display: inline-block; margin-right: 3px; color: var(--amber); font-size: 14px; }
.priority-matrix-cell span { color: var(--muted); font-size: 8px; }
.priority-matrix-cell small { display: block; margin-top: 2px; color: var(--green); font-size: 8px; }
.priority-matrix td:last-child { min-width: 130px; }
.priority-matrix td:last-child > strong { display: inline-block; margin-top: 5px; font-size: 10px; }
.priority-matrix td:last-child > small { display: block; color: var(--muted); font-size: 8px; }

.monthly-summary-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; padding: 14px; }
.month-summary-card, .month-summary-card { min-height: 118px; display: grid; gap: 5px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--text); background: #fff; text-align: left; }
.month-summary-card:hover, .month-summary-card.active { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(13,85,199,.08); }
.month-summary-card > strong { color: var(--navy); font-size: 12px; }
.month-summary-card span { color: var(--muted); font-size: 8px; }
.month-summary-card span b { color: var(--text); font-size: 10px; }
.month-summary-card span.green b { color: var(--green); }
.month-summary-card span.amber b { color: var(--amber); }
.month-summary-card span.red b { color: var(--red); }
.month-summary-card small { color: var(--muted); font-size: 8px; }

.compact-continuity { padding: 16px; }
.continuity-metrics > button {
  min-width: 0; padding: 0 12px; border: 0; border-right: 1px solid var(--line); color: inherit; background: transparent; text-align: center;
}
.continuity-metrics > button:hover { background: #f7faff; border-radius: 7px; }
.continuity-metrics > button strong, .continuity-metrics > button span { display: block; }
.continuity-metrics > button strong { font-size: 15px; }
.continuity-metrics > button span { margin-top: 2px; color: var(--muted); font-size: 8px; }

.dashboard-detail-list { display: grid; gap: 8px; }
.dashboard-detail-item { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.dashboard-detail-main { min-width: 0; }
.dashboard-detail-main strong, .dashboard-detail-main span { display: block; }
.dashboard-detail-main strong { color: var(--navy); font-size: 10px; }
.dashboard-detail-main span { margin-top: 4px; color: var(--muted); font-size: 8px; }
.dashboard-detail-meta { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.form-section-title { padding: 9px 11px; border-left: 3px solid var(--blue); border-radius: 6px; background: #f3f7fd; }
.form-section-title strong, .form-section-title span { display: block; }
.form-section-title strong { font-size: 11px; }
.form-section-title span { margin-top: 2px; color: var(--muted); font-size: 8px; }

@media (max-width: 1250px) {
  .priority-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .monthly-summary-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .system-credit-banner { padding: 10px 16px 0; flex-direction: column; gap: 6px; font-size: 10px; }
  .team-progress-grid { grid-template-columns: 1fr; }
  .monthly-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .priority-summary-grid { grid-template-columns: 1fr; }
  .monthly-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-progress-numbers { grid-template-columns: repeat(2,1fr); }
  .dashboard-detail-item { grid-template-columns: 1fr; }
  .dashboard-detail-meta { justify-content: flex-start; }
}


/* Dashboard claro, permissões e exportação V8 */
.dashboard-section { margin-bottom: 16px; }
.dashboard-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:0 0 9px; }
.dashboard-section-title h2 { margin:0; font-size:14px; color:var(--navy); }
.dashboard-section-title p { margin:3px 0 0; color:var(--muted); font-size:9px; }
.attention-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.priority-overview-panel,.people-work-panel,.monthly-summary-panel { margin-bottom:16px; }
.panel-head-actions { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.chip-button { border:0; cursor:pointer; }
.priority-overview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:14px; }
.priority-overview-card { padding:14px; border:1px solid var(--line); border-top:4px solid var(--priority-color); border-radius:10px; background:#fff; box-shadow:0 3px 12px rgba(15,35,70,.04); }
.priority-overview-head { display:flex; align-items:center; gap:9px; }
.priority-dot { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:var(--priority-color); }
.priority-overview-head h4 { margin:0; font-size:12px; }
.priority-overview-head p { margin:3px 0 0; color:var(--muted); font-size:8px; }
.priority-overview-numbers { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:13px; }
.priority-overview-numbers button { min-height:72px; padding:9px; border:1px solid var(--line); border-radius:8px; background:#f9fbfd; text-align:left; }
.priority-overview-numbers button:hover { border-color:#aac4e9; background:#f2f7ff; }
.priority-overview-numbers strong,.priority-overview-numbers span { display:block; }
.priority-overview-numbers strong { color:var(--priority-color); font-size:22px; line-height:1; }
.priority-overview-numbers span { margin-top:5px; color:var(--muted); font-size:8px; font-weight:700; }
.priority-progress { height:7px; overflow:hidden; margin-top:11px; border-radius:99px; background:#e9eef5; }
.priority-progress i { display:block; height:100%; background:var(--priority-color); }
.priority-overview-footer { display:flex; justify-content:space-between; gap:8px; margin-top:6px; color:var(--muted); font-size:8px; }
.priority-overview-footer span { color:var(--priority-color); font-weight:800; }
.people-work-table { min-width:1180px; }
.person-work-cell { display:flex; align-items:center; min-width:190px; }
.person-work-cell strong,.person-work-cell small { display:block; }
.person-work-cell small { margin-top:3px; color:var(--muted); font-size:8px; }
.number-cell { text-align:center; font-weight:800; }
.success-text { color:var(--green)!important; }
.warning-text { color:#d97706!important; }
.danger { color:var(--red)!important; }
.person-priority-list { display:grid; grid-template-columns:repeat(2,minmax(120px,1fr)); gap:5px; min-width:270px; }
.person-priority-pill { display:grid; gap:2px; padding:6px 7px; border:1px solid var(--line); border-left:3px solid currentColor; border-radius:7px; background:#fff; text-align:left; }
.person-priority-pill:hover { background:#f7faff; }
.person-priority-pill.critical { color:var(--red); }
.person-priority-pill.high { color:#d97706; }
.person-priority-pill.medium { color:var(--blue); }
.person-priority-pill.low { color:var(--green); }
.person-priority-name { font-size:8px; font-weight:800; }
.person-priority-pill b { color:currentColor; font-size:9px; }
.person-priority-pill small { color:var(--muted); font-size:7px; }
.progress-cell { min-width:125px; }
.progress-cell strong { display:inline-block; margin-top:4px; font-size:9px; }
.progress-cell small { display:block; color:var(--muted); font-size:7px; }
.monthly-summary-table tr.active { background:#eef5ff; }
.month-link { border:0; color:var(--blue); background:transparent; font-weight:800; }
.activities-table { min-width:1020px; }
.check-column { width:38px; min-width:38px; text-align:center!important; }
.check-column input { width:15px; height:15px; accent-color:var(--blue); }
.selected-row { background:#f1f7ff; }
.selection-help { margin:0 12px 10px; padding:9px 11px; border:1px solid #c8dcfa; border-radius:7px; color:#34557f; background:#f2f7ff; font-size:9px; }
.row-warning { display:block; width:max-content; margin-top:4px; padding:2px 5px; border-radius:4px; color:#b45309; background:#fff4df; font-size:7px; font-weight:800; }
.action-icon.success-action { color:var(--green); }
.action-icon.danger-action { color:var(--red); }
.success-box,.danger-box { margin-bottom:12px; padding:11px; border-radius:8px; font-size:10px; line-height:1.6; }
.success-box { color:#0b6b45; border:1px solid #a9e5c8; background:#effbf5; }
.danger-box { color:#9b1c1c; border:1px solid #f4b4b4; background:#fff3f3; }
.bulk-delete-list { display:grid; gap:5px; max-height:180px; overflow:auto; margin-bottom:12px; }
.bulk-delete-list span { padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:#fafcff; font-size:9px; }
.export-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-bottom:15px; }
.export-count-card { padding:15px; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.export-count-card.green { border-top-color:var(--green); }
.export-count-card.amber { border-top-color:var(--amber); }
.export-count-card.purple { border-top-color:var(--purple); }
.export-count-card strong,.export-count-card span,.export-count-card small { display:block; }
.export-count-card strong { color:var(--navy); font-size:23px; }
.export-count-card span { margin-top:4px; font-size:10px; font-weight:800; }
.export-count-card small { margin-top:4px; color:var(--muted); font-size:8px; }
.export-options-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:15px; }
.export-option { display:grid; grid-template-columns:auto 1fr; gap:12px; padding:15px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.export-option .btn { grid-column:2; justify-self:start; }
.export-option h3 { margin:0; font-size:12px; }
.export-option p { margin:5px 0 0; color:var(--muted); font-size:9px; line-height:1.55; }
.export-option-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:var(--blue); background:var(--blue-soft); }
.export-option-icon.green { color:var(--green); background:var(--green-soft); }
.export-option-icon.red { color:var(--red); background:var(--red-soft); }
.export-option-icon.amber { color:#d97706; background:var(--amber-soft); }
.export-option-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; }
.export-note { margin:0 15px 15px; padding:10px 12px; border:1px solid #f2cf8d; border-radius:8px; color:#80580a; background:#fff9eb; font-size:9px; }

@media (max-width:1250px){.priority-overview-grid,.attention-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.export-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:760px){.priority-overview-grid,.attention-grid,.export-summary-grid,.export-options-grid{grid-template-columns:1fr}.person-priority-list{grid-template-columns:1fr}.priority-overview-footer{flex-direction:column}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* V8.1.6 — cards dinâmicos, evidências, leitura por pessoa e escala de trabalho */
.people-work-panel .panel-head { align-items:center; }
.people-work-grid {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:16px;
  padding:16px;
}
.person-work-card {
  display:flex;
  flex:1 1 350px;
  flex-direction:column;
  width:100%;
  min-width:310px;
  max-width:430px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 22px rgba(16,42,82,.07);
}
.person-work-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 12px;
  background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);
}
.person-work-identification { display:flex; align-items:center; gap:11px; min-width:0; }
.person-work-identification h4 { margin:0; color:var(--navy); font-size:14px; line-height:1.25; }
.person-work-identification p { margin:3px 0 0; color:var(--muted); font-size:9px; }
.person-work-avatar { width:42px; height:42px; flex:0 0 auto; background:linear-gradient(135deg,#0d55c7,#07377f); font-size:13px; }
.person-work-rate { min-width:64px; text-align:right; }
.person-work-rate strong,.person-work-rate span { display:block; }
.person-work-rate strong { color:var(--green); font-size:21px; line-height:1; }
.person-work-rate span { margin-top:3px; color:var(--muted); font-size:8px; }
.person-work-progress { height:5px; margin:0 16px; overflow:hidden; border-radius:99px; background:#e8edf4; }
.person-work-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#159c67,#2ab77c); }
.person-work-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:13px 16px 0; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fafcff; }
.person-work-summary > div { padding:10px 6px; text-align:center; border-right:1px solid var(--line); }
.person-work-summary > div:last-child { border-right:0; }
.person-work-summary strong,.person-work-summary span { display:block; }
.person-work-summary strong { color:var(--navy); font-size:16px; }
.person-work-summary span { margin-top:3px; color:var(--muted); font-size:8px; }
.person-work-summary .success strong { color:var(--green); }
.person-work-summary .warning strong { color:#d97706; }
.person-work-summary .danger strong { color:var(--red); }
.person-work-priorities,.person-work-activities { padding:14px 16px 0; }
.person-card-section-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.person-card-section-title strong { color:var(--navy); font-size:10px; }
.person-card-section-title span { color:var(--muted); font-size:8px; }
.person-card-priority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.person-card-priority { display:grid; grid-template-columns:1fr auto; grid-template-areas:'name count' 'detail detail'; align-items:center; gap:2px 8px; padding:8px 9px; border:1px solid var(--line); border-left:3px solid currentColor; border-radius:8px; background:#fff; text-align:left; }
.person-card-priority:hover { background:#f5f9ff; border-color:#afc7e9; }
.person-card-priority span { grid-area:name; font-size:8px; font-weight:800; }
.person-card-priority strong { grid-area:count; font-size:15px; line-height:1; }
.person-card-priority small { grid-area:detail; color:var(--muted); font-size:7px; }
.person-card-priority.critical { color:var(--red); }
.person-card-priority.high { color:#d97706; }
.person-card-priority.medium { color:var(--blue); }
.person-card-priority.low { color:var(--green); }
.person-card-activity-list { display:grid; gap:6px; }
.person-card-activity { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; width:100%; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:#fbfcfe; text-align:left; }
.person-card-activity:hover { border-color:#aac4e9; background:#f3f7fd; }
.person-card-activity-main { min-width:0; }
.person-card-activity-main strong,.person-card-activity-main small { display:block; }
.person-card-activity-main strong { overflow:hidden; color:var(--navy); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.person-card-activity-main small { margin-top:3px; color:var(--muted); font-size:7px; }
.person-card-activity-meta { display:flex; align-items:center; justify-content:flex-end; gap:4px; flex-wrap:wrap; }
.person-card-activity-meta .chip { padding:3px 5px; font-size:7px; }
.person-card-empty { padding:14px 10px; border:1px dashed var(--line); border-radius:8px; text-align:center; background:#fafcff; }
.person-card-empty strong,.person-card-empty span { display:block; }
.person-card-empty strong { color:var(--navy); font-size:9px; }
.person-card-empty span { margin-top:4px; color:var(--muted); font-size:8px; }
.person-work-card-footer { display:flex; justify-content:center; margin-top:auto; padding:14px 16px 16px; }
.person-work-card-footer .btn { width:100%; justify-content:center; }
@media (max-width:760px) {
  .people-work-grid { display:grid; grid-template-columns:1fr; padding:12px; }
  .person-work-card { min-width:0; max-width:none; }
  .person-work-summary { grid-template-columns:repeat(2,1fr); }
  .person-work-summary > div:nth-child(2) { border-right:0; }
  .person-work-summary > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .person-card-priority-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:430px) {
  .person-card-priority-grid { grid-template-columns:1fr; }
  .person-card-activity { grid-template-columns:1fr; }
  .person-card-activity-meta { justify-content:flex-start; }
}

/* Evidências das atividades */
.evidence-action { position: relative; }
.evidence-action > span { position: absolute; top: -4px; right: -4px; min-width: 15px; height: 15px; display: grid; place-items: center; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--blue); font-size: 8px; font-weight: 800; }
.evidence-count { display: inline-flex; align-items: center; gap: 3px; margin-left: 7px; padding: 2px 6px; border-radius: 999px; color: #145bc0; background: #eaf2ff; font-size: 8px; font-weight: 800; vertical-align: middle; }
.evidence-count svg { width: 10px; height: 10px; fill: none; stroke: currentColor; stroke-width: 2; }
.evidence-activity-title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px 13px; border: 1px solid #cdddf4; border-radius: 9px; background: #f6f9fe; }
.evidence-activity-title > span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--blue); background: #e6efff; }
.evidence-activity-title svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.evidence-activity-title strong, .evidence-activity-title small { display: block; }
.evidence-activity-title strong { color: #0d2149; font-size: 11px; }
.evidence-activity-title small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.evidence-list { display: grid; gap: 8px; max-height: 310px; overflow-y: auto; padding-right: 3px; }
.evidence-item { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.evidence-file-icon { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--blue); background: var(--blue-soft); }
.evidence-file-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.evidence-info { min-width: 0; display: grid; gap: 3px; flex: 1; }
.evidence-info strong { overflow: hidden; color: #12284f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.evidence-info span { color: var(--muted); font-size: 8px; line-height: 1.4; }
.evidence-item-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.btn.small { min-height: 29px; padding: 6px 9px; font-size: 9px; text-decoration: none; }
.evidence-empty { display: grid; gap: 4px; margin-bottom: 4px; }
.evidence-empty strong { color: #253858; }
.evidence-empty span { color: var(--muted); }
.evidence-upload-form { margin-top: 15px; padding-top: 15px; border-top: 1px solid var(--line); }
.evidence-upload-form input[type="file"] { padding: 7px; }
.evidence-inline { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px; border: 1px solid #cdddf4; border-radius: 9px; background: #f6f9fe; }
.evidence-inline > div { min-width: 0; }
.evidence-inline strong, .evidence-inline span { display: block; }
.evidence-inline strong { display: flex; align-items: center; gap: 6px; color: #153765; font-size: 10px; }
.evidence-inline strong svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.evidence-inline span { margin-top: 4px; color: var(--muted); font-size: 9px; }

@media (max-width: 620px) {
  .evidence-item { align-items: flex-start; flex-wrap: wrap; }
  .evidence-info { min-width: calc(100% - 48px); }
  .evidence-item-actions { width: 100%; justify-content: flex-end; }
  .evidence-inline { align-items: flex-start; flex-direction: column; }
}


/* Escala de trabalho */
.work-schedule-kpis { grid-template-columns: repeat(5, minmax(145px, 1fr)); }
.work-schedule-panel .toolbar { margin-bottom: 10px; }
.work-schedule-table small { color: var(--muted); font-size: 8px; }
.work-schedule-summary-panel .avatar { background: linear-gradient(145deg, #0d55c7, #06245b); }
@media (max-width: 1100px) { .work-schedule-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .work-schedule-kpis { grid-template-columns: 1fr; } }

/* V8.1.8 — escala por seleção de colaboradores, sem hora extra e sem cache antigo */
.person-pill-list { display: flex; flex-wrap: wrap; gap: 5px; max-width: 520px; }
.person-pill { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid #cdddf4; border-radius: 999px; color: #103568; background: #f3f8ff; font-size: 8px; font-weight: 800; }
.person-pill small { color: var(--muted); font-size: 7px; font-weight: 700; }
.employee-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: 260px; overflow-y: auto; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #f8fbff; }
.employee-check { align-items: flex-start; min-height: 44px; margin: 0; background: #fff; }
.employee-check span { display: grid; gap: 2px; }
.employee-check small { color: var(--muted); font-size: 8px; }
@media (max-width: 760px) { .employee-picker { grid-template-columns: 1fr; } }

/* v8.1.9 - Controle de propriedade do sistema */
.settings-value.small-value { font-size: 13px; line-height: 1.35; word-break: break-word; }
.system-control-panel { margin-top: 14px; }
.ownership-box { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 12px 0; }
.ownership-box > div { padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #f9fbfd; }
.ownership-box strong, .ownership-box span { display: block; }
.ownership-box strong { color: var(--navy); font-size: 10px; }
.ownership-box span { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.usage-notice { margin: 12px 0; padding: 13px; border: 1px solid #c7dcfb; border-radius: 9px; background: #eff6ff; }
.usage-notice strong { display: block; margin-bottom: 6px; color: #2558a5; font-size: 10px; }
.usage-notice p { margin: 0; color: #2d4c7e; font-size: 10px; line-height: 1.55; }
.neutral-zone { border-color: var(--line); background: #fff; }
.neutral-zone strong { color: var(--navy); }
.neutral-zone span { color: var(--muted); }
@media (max-width: 900px) {
  .system-credit-banner { padding: 10px 16px 0; flex-direction: column; gap: 6px; font-size: 10px; } .ownership-box { grid-template-columns: 1fr; } }

/* v8.2.9 - Checklist de EPI melhorado, exportação PDF/Word e setor removido */
.developer-signature {
  margin: 0 10px 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.04);
  color: #eaf2ff;
}
.developer-signature span, .developer-signature strong { display: block; }
.developer-signature span { color: #a7c4f6; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.developer-signature strong { margin-top: 3px; font-size: 10px; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.success-action { color: var(--green) !important; }
button.success-action { font-weight: 800; }
.check-field small { display: block; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.35; }
body.sidebar-collapsed .developer-signature { display: none; }

.developer-signature { display: none !important; }

@media (max-width: 900px) {
  .qssma-summary, .qssma-card-grid { grid-template-columns: 1fr; }
  .qssma-area-card { padding: 18px; }
  .qssma-area-body h3 { font-size: 18px; }
}


.clickable-card { cursor: pointer; }
.clickable-card:hover { transform: translateY(-2px); border-color: #b8cbe8; box-shadow: 0 14px 34px rgba(15,35,70,.10); }
.card-link { display: inline-block; margin-top: 10px; color: var(--blue); font-weight: 800; font-size: 12px; }
.single-grid { grid-template-columns: minmax(0, 1fr); }
.security-hero { border-color: #f2d9a4; }
.epi-panel, .epi-form-panel { margin-bottom: 16px; }
.epi-form { display: grid; gap: 14px; }
.epi-items-list { display: grid; gap: 9px; margin-top: 4px; }
.epi-check-item { display: grid; grid-template-columns: minmax(220px,1fr) auto minmax(180px,.7fr) 34px; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fbfdff; }
.epi-check-item strong { display: block; color: var(--navy); font-size: 13px; }
.epi-check-item span { display: flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--muted); font-size: 10px; }
.epi-status-group { display: flex; gap: 6px; }
.epi-status-group label { min-width: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: 11px; font-weight: 800; color: #40516d; }
.epi-note { width: 100%; min-height: 34px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; font-size: 11px; }
.epi-history-list { display: grid; gap: 8px; max-height: 360px; overflow: auto; padding-right: 4px; }
.epi-history-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.epi-history-item strong, .epi-history-item span { display: block; }
.epi-history-item strong { font-size: 12px; color: var(--navy); }
.epi-history-item div span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.small-select { min-height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: 0 9px; background: #fff; color: var(--text); font-size: 11px; font-weight: 700; }
@media (max-width: 900px) {
  .epi-check-item { grid-template-columns: 1fr; align-items: stretch; }
  .epi-status-group { flex-wrap: wrap; }
  .epi-history-item { align-items: flex-start; flex-direction: column; }
}

.epi-form input[readonly] { color: #42526e; background: #f5f8fc; }
.epi-form button:disabled, .epi-form select:disabled { opacity: .58; cursor: not-allowed; }


.epi-header-panel .panel-head { align-items: flex-start; }
.epi-action-bar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 14px; }
.improved-epi-form-panel .panel-head { border-bottom: 0; padding-bottom: 10px; }
.epi-flow-form { gap: 12px; }
.epi-step-card { border: 1px solid var(--line); border-radius: 14px; background: #fbfdff; padding: 14px; }
.epi-step-title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.epi-step-title > span { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-weight: 900; }
.epi-step-title strong, .epi-step-title small { display: block; }
.epi-step-title strong { color: var(--navy); font-size: 13px; }
.epi-step-title small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.improved-epi-items-list { gap: 12px; }
.improved-epi-check-item { grid-template-columns: minmax(220px,1fr) minmax(280px,auto) minmax(200px,.75fr) 34px; background: #fff; }
.epi-check-info strong { font-size: 14px; }
.improved-status-group { gap: 8px; }
.improved-status-group label { min-width: 78px; min-height: 46px; border-radius: 12px; flex-direction: column; gap: 1px; }
.improved-status-group label span { margin: 0; font-size: 13px; color: inherit; }
.improved-status-group label small { font-size: 8px; font-weight: 700; color: var(--muted); }
.improved-status-group label:has(input:checked) { border-color: #8fb5ef; background: #edf5ff; color: var(--blue); box-shadow: 0 0 0 3px rgba(13,85,199,.08); }
.epi-save-bar { position: sticky; bottom: 0; z-index: 12; display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 -8px 24px rgba(15,35,70,.08); }
.epi-save-bar span { color: var(--muted); font-size: 10px; }
@media (max-width: 900px) {
  .epi-action-bar { display: grid; grid-template-columns: 1fr; }
  .epi-action-bar .btn { width: 100%; }
  .improved-epi-check-item { grid-template-columns: 1fr; }
  .improved-status-group { display: grid; grid-template-columns: repeat(3,1fr); }
  .improved-status-group label { min-width: 0; min-height: 52px; }
  .epi-save-bar { align-items: stretch; flex-direction: column-reverse; }
  .epi-save-bar .btn { width: 100%; min-height: 44px; }
}


.export-abnt-note { margin: 0 15px 14px; padding: 11px 12px; border: 1px solid #cfe0ff; border-radius: 10px; color: #173c75; background: #f4f8ff; font-size: 10px; line-height: 1.55; }
.export-modules-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 15px; }
.export-module-card { display: grid; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
.export-module-head { display: flex; align-items: flex-start; gap: 12px; }
.export-module-head h3 { margin: 0; color: var(--navy); font-size: 13px; }
.export-module-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.export-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px; border-radius: 10px; background: #f8fafc; border: 1px solid #edf1f6; }
.export-checks label { display: flex; align-items: center; gap: 7px; color: #243653; font-size: 10px; font-weight: 700; }
.export-checks input { width: 15px; height: 15px; accent-color: var(--blue); }
.export-module-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.dashboard-export-card { border-top: 3px solid var(--green); }
@media (max-width: 900px) { .export-modules-grid, .export-checks { grid-template-columns: 1fr; } .export-module-actions .btn { flex: 1 1 auto; } }

.hidden{display:none!important}
.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn.danger{background:#c62828;color:#fff;border-color:#c62828}
.info-list.compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px}
.info-list.compact div{padding:10px 12px;border:1px solid #dfe5f0;border-radius:12px;background:#f8fbff}
.warning-box{padding:12px 14px;border-radius:12px;background:#fff8e8;border:1px solid #f4d58d;color:#6f4d00}
.success-box{padding:12px 14px;border-radius:12px;background:#eef9f1;border:1px solid #b7e0c1;color:#215732}
@media (max-width: 768px){
  .actions-cell{justify-content:flex-start}
  .info-list.compact{grid-template-columns:1fr}
}

.terms-box { max-height: min(56vh, 560px); overflow: auto; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: #000; }
.terms-box h3 { margin: 0 0 14px; color: #061f4f; font-size: 16px; }
.terms-section { margin-bottom: 14px; }
.terms-section h4 { margin: 0 0 6px; color: #061f4f; font-size: 12px; text-transform: uppercase; letter-spacing: .02em; }
.terms-section p { margin: 0; color: #1f2937; font-size: 12px; line-height: 1.55; text-align: justify; }
@media (max-width: 768px) { .terms-box { max-height: 58vh; padding: 14px; } .terms-section p { font-size: 11px; } }

.ergonomics-check-item .ergonomics-action-grid{margin-top:12px;width:100%}
.ergonomics-check-item .field input{font-size:13px}
@media (max-width: 760px){
  .ergonomics-check-item .ergonomics-action-grid{grid-template-columns:1fr}
}

/* v8.4.0 - evidências, alertas e QSSMA mobile */
.qssma-area-card.red .qssma-area-icon { background: linear-gradient(135deg, #c62828, #ef5350); }
.qssma-area-card.purple .qssma-area-icon { background: linear-gradient(135deg, #6d3bd1, #955df1); }
.evidence-mini-link { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 800; color: #0d55c7; text-decoration: none; margin-right: 6px; }
.evidence-mini-link svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
.signature-confirm { margin: 10px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: #f8fbff; }
.nc-evidence-field { margin-top: 8px; }
.action-card { margin-bottom: 10px; }
.action-card small { display: block; margin-top: 5px; color: var(--muted); }
.btn.success { background: #e9f8ef; color: #0f7a42; border-color: #b7e5c9; }
@media (max-width: 768px) {
  .epi-save-bar { position: sticky; bottom: 0; z-index: 8; background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 14px; padding: 10px; }
  .epi-status-group.improved-status-group { grid-template-columns: 1fr; }
  .epi-check-item.improved-epi-check-item { gap: 12px; }
  .qssma-card-grid { grid-template-columns: 1fr; }
}

.qssma-activity-list { display: grid; gap: 10px; margin-top: 14px; }
.qssma-activity-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.qssma-activity-card.overdue { border-color: #f1b8b8; background: #fff8f8; }
.qssma-activity-card strong { display: block; color: var(--navy); }
.qssma-activity-card span { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--muted); font-size: 12px; flex-wrap: wrap; }
.qssma-activity-meta { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.notification-history { display: grid; gap: 10px; }
.notification-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.notification-item.red { border-color: #f1b8b8; background: #fff8f8; }
.notification-item.amber { border-color: #f3d49b; background: #fffaf0; }
.notification-item.blue { border-color: #bed5ff; background: #f6f9ff; }
.notification-item strong { display: block; color: var(--navy); }
.notification-item span, .notification-item small { display: block; margin-top: 3px; color: var(--muted); }
.notification-btn .notification-dot[hidden] { display: none; }
@media (max-width: 768px) {
  .qssma-activity-card, .notification-item { align-items: flex-start; flex-direction: column; }
  .qssma-activity-meta { justify-content: flex-start; }
}


.logout-topbar-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 12px; border: 1px solid #ffd7d7; border-radius: 11px; background: #fff5f5; color: #c1121f; font-weight: 800; font-size: 11px; cursor: pointer; }
.logout-topbar-btn:hover { background: #ffecec; border-color: #ffbdbd; }
.logout-topbar-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 760px) { .logout-topbar-btn span { display: none; } .logout-topbar-btn { width: 38px; padding: 0; justify-content: center; } }

.report-profile-grid { display:grid; gap:16px; margin-top:16px; }
.report-profile-card { border:1px solid var(--border); border-radius:16px; padding:16px; background:#fff; }
.report-profile-card h4 { margin:0 0 12px; color:var(--primary-900); }

.iso-step-list{display:grid;gap:12px}
.iso-step-card{display:grid;grid-template-columns:1fr 280px;gap:16px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;box-shadow:var(--shadow)}
.iso-step-card.overdue{border-color:#fecaca;background:#fffafa}
.iso-step-main h4{margin:8px 0;color:var(--navy);font-size:16px}
.iso-step-main p{margin:0 0 8px;color:var(--muted);line-height:1.5}
.iso-step-main small,.iso-step-side span{display:block;color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px}
.iso-step-side{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border-left:1px solid var(--line);padding-left:14px}
.iso-evidence-list,.evidence-list-modal{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.muted-text{color:var(--muted);font-size:12px}
@media (max-width: 850px){.iso-step-card{grid-template-columns:1fr}.iso-step-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:12px}}


.iso-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.iso-support-box-card{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.iso-support-box-card.complete{border-color:#b7e0c1;background:linear-gradient(180deg,#ffffff 0%,#f5fff7 100%)}
.iso-support-main h4{margin:8px 0 6px;color:var(--navy);font-size:15px}
.iso-support-main p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.5}
.iso-support-main small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.iso-step-card.blocked{border-left:4px solid #f59e0b}
.iso-step-card.auto-ready{border-left:4px solid #17a467}
.iso-doc-form-list{display:grid;gap:12px;margin-top:12px}
.iso-doc-form-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}
.iso-doc-form-card p{margin:6px 0 10px;color:var(--muted);font-size:12px}
@media(max-width:760px){.iso-support-box-card{grid-template-columns:1fr}.iso-support-grid{grid-template-columns:1fr}}

/* v8.4.8 - ISO 14001 reorganizada */
.iso-rule-panel{border-left:4px solid #0b8f9d;background:linear-gradient(180deg,#ffffff 0%,#f7fdff 100%)}
.iso-support-outside{margin-top:14px}
.iso-support-group{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:12px}
.iso-support-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.iso-support-group-head h4{margin:0;color:var(--navy);font-size:14px}
.iso-support-group-head span{font-size:11px;color:var(--muted);font-weight:700}
.iso-support-grid.compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.iso-support-grid.compact .iso-support-box-card{grid-template-columns:1fr;gap:8px;padding:13px;box-shadow:none}
.iso-support-grid.compact .iso-step-side{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:8px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.iso-support-grid.compact .iso-step-side strong{font-size:18px;color:var(--navy)}
.iso-support-grid.compact .iso-step-side span{font-size:11px}
.iso-subitems{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;padding:10px}
.iso-subitems-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--navy)}
.iso-subitems-head strong{font-size:12px}
.iso-subitems-head span{font-size:11px;color:var(--muted);font-weight:700}
.iso-subitem-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #e5edf8}
.iso-subitem-row:first-of-type{border-top:0}
.iso-subitem-row strong{display:inline-block;margin-left:6px;color:var(--navy);font-size:12px}
.iso-subitem-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.btn.tiny{min-height:28px;padding:5px 9px;font-size:11px;border-radius:9px}
@media(max-width:760px){.iso-subitem-row{grid-template-columns:1fr}.iso-support-group{padding:10px}.iso-support-grid.compact{grid-template-columns:1fr}}


.environment-overview{margin-bottom:14px}
.environment-module-grid{margin-bottom:16px}
.compact-nav-card .qssma-area-body p{min-height:38px}
.qssma-collapse{margin-top:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.qssma-collapse > summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;cursor:pointer;background:#f8fbff}
.qssma-collapse > summary::-webkit-details-marker{display:none}
.qssma-collapse > summary strong{display:block;color:var(--navy);font-size:15px}
.qssma-collapse > summary small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.qssma-collapse .summary-caret{color:var(--muted);font-size:18px;font-weight:700;transition:transform .2s ease}
.qssma-collapse[open] .summary-caret, .iso-support-group[open] .summary-caret{transform:rotate(180deg)}
.qssma-collapse > .panel{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
.iso-support-outside .panel-head{margin-bottom:10px}
.iso-support-group{margin-top:12px;padding:0;overflow:hidden;background:#fff}
.iso-support-group-head{list-style:none;cursor:pointer;margin:0;padding:12px 14px;background:#f8fbff}
.iso-support-group-head::-webkit-details-marker{display:none}
.iso-support-group-head h4{margin:0 0 2px 0}
.iso-support-group-head small{display:block;color:var(--muted);font-size:11px}
.iso-support-group-meta{display:flex;align-items:center;gap:10px}
.iso-support-grid.compact{padding:12px}
.iso-support-grid.compact .iso-support-box-card{border-radius:14px}
.iso-support-grid.compact .iso-step-side{border-top:1px solid var(--line);padding-top:10px}
@media(max-width:760px){.qssma-collapse>summary{padding:12px}.environment-module-grid{grid-template-columns:1fr}.compact-nav-card .qssma-area-body p{min-height:auto}}


.iso-box-docs{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;overflow:hidden}
.iso-box-docs-head{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--navy);font-size:12px;font-weight:700}
.iso-box-docs-head::-webkit-details-marker{display:none}
.iso-box-docs-head span{font-size:11px;color:var(--muted)}
.iso-box-doc-list{padding:0 12px 10px 12px}
.iso-box-doc-row{padding:10px 0;border-top:1px solid #e5edf8}
.iso-box-doc-row:first-child{border-top:0}
.iso-box-doc-row strong{display:inline-block;margin-left:6px;color:var(--navy);font-size:12px}
.iso-box-doc-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}
.iso-box-docs[open] .iso-box-docs-head{border-bottom:1px solid #e5edf8;background:#fff}
@media(max-width:760px){.iso-box-docs-head{align-items:flex-start;flex-direction:column}}

/* v8.5.8 - organização visual e assinatura de documentos */
.app-shell{background:linear-gradient(135deg,#f4f8ff 0%,#eef6f4 46%,#f8fbff 100%)}
.panel,.qssma-area-card,.signature-doc-card{border:1px solid rgba(148,163,184,.28);box-shadow:0 14px 34px rgba(15,23,42,.07)}
.qssma-area-card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.qssma-area-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(15,23,42,.11);border-color:rgba(13,85,199,.22)}
.signature-hero{background:linear-gradient(135deg,#ffffff 0%,#f3f7ff 100%)}
.signature-doc-list{display:grid;gap:14px}
.signature-doc-card{display:grid;gap:14px;background:#fff;border-radius:20px;padding:18px}
.signature-doc-card.complete{background:linear-gradient(135deg,#fff 0%,#f5fff7 100%);border-color:#b7e0c1}
.signature-doc-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.signature-doc-main h3{margin:0 0 6px;color:var(--navy)}
.signature-doc-main p{margin:0 0 8px;color:var(--muted);line-height:1.5}
.signature-doc-main small{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.signature-doc-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.signature-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.signature-stage{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:12px;background:#f8fbff}
.signature-stage.done{background:#f6fff8;border-color:#bde4c4}
.signature-stage.pending{background:#fff9f3;border-color:#f4d4ad}
.signature-stage strong{display:block;margin:6px 0 2px;color:var(--navy)}
.signature-stage small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.signature-stage-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}
.signature-download-box{margin:12px 0;padding:12px;border:1px dashed var(--line);border-radius:14px;background:#f8fbff}
.panel-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.signature-stage{grid-template-columns:1fr}.signature-stage-actions{align-items:flex-start}.signature-checklist{grid-template-columns:1fr}.signature-doc-actions{align-items:flex-start}}


.export-logo-picker{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}
.export-logo-picker div{display:grid;gap:3px}.export-logo-picker span{color:var(--muted);font-size:12px}.export-logo-picker select{min-width:220px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;color:var(--navy);font-weight:700}
.compliance-panel{background:linear-gradient(135deg,#fff 0%,#f6f9ff 100%)}
.compliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.compliance-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;text-align:left;display:grid;gap:5px;cursor:pointer;box-shadow:var(--shadow)}
.compliance-card strong{font-size:28px;color:var(--navy)}.compliance-card span{font-weight:900;color:var(--navy)}.compliance-card small{color:var(--muted);font-size:12px}.compliance-card.blue{border-left:5px solid #0d55c7}.compliance-card.teal{border-left:5px solid #0c9377}.compliance-card.amber{border-left:5px solid #f59e0b}.compliance-card.purple{border-left:5px solid #7048e8}.compliance-card.red{border-left:5px solid #dc2626}
.iso-dashboard-card{gap:7px}.compliance-progress-line,.compliance-signature-bar{height:7px;border-radius:999px;background:#edf2ff;overflow:hidden}.compliance-progress-line span{display:block;height:100%;border-radius:999px;background:#0d55c7}.compliance-card.teal .compliance-progress-line span{background:#0c9377}.compliance-card.amber .compliance-progress-line span{background:#f59e0b}.compliance-signature-box{margin-top:6px;padding:10px;border:1px solid #fecdd3;border-radius:12px;background:#fff1f2;display:grid;gap:6px}.compliance-signature-box>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.compliance-signature-box b{font-size:13px;color:#be123c}.compliance-signature-box small{font-size:11px;color:#9f1239;font-weight:800}.compliance-signature-bar{height:7px;background:#ffe4e6}.compliance-signature-bar span{display:block;height:100%;border-radius:999px;background:#e11d48}
.pending-grid{display:grid;gap:12px}.pending-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow)}.pending-card h3{margin:8px 0 4px;color:var(--navy);font-size:16px}.pending-card p{margin:0;color:var(--muted);font-size:13px}
#view-documents table small{color:var(--muted);font-size:11px}.actions-cell .evidence-link{display:inline-flex;margin-right:6px;margin-bottom:4px}
@media(max-width:760px){.export-logo-picker,.pending-card{align-items:stretch;flex-direction:column}.export-logo-picker select{min-width:0;width:100%}.compliance-grid{grid-template-columns:1fr}}


/* ISO Compliance Checklist v8.6.0 */
.iso-tabs-panel { padding: 12px; }
.iso-tabs-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.iso-tab-card { border: 1px solid var(--border, #d8e2ef); background: #fff; border-radius: 14px; padding: 12px; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 8px 18px rgba(15, 23, 42, .05); }
.iso-tab-card.active { outline: 2px solid #0f4c9a; border-color: #0f4c9a; }
.iso-tab-card strong { color: #0f2f5f; font-size: 13px; }
.iso-tab-card small { color: #64748b; }
.iso-progress-bar { width: 100%; height: 8px; border-radius: 999px; overflow: hidden; background: #e8eef7; margin-top: 6px; }
.iso-progress-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #0f4c9a, #1d8f6f); transition: width .25s ease; }
.iso-clause-group { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.iso-clause-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #f6f9fd; border: 1px solid #dce7f5; }
.iso-clause-head h4 { margin: 0; color: #0a2f5f; }
.iso-clause-head span { font-size: 12px; color: #64748b; }
.iso-step-top { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.iso-step-card.direct { border-left-color: #16a34a; }
.iso-direct-box { margin: 10px 0; padding: 10px 12px; border: 1px dashed #bdd7c5; border-radius: 12px; background: #f7fff9; display: flex; flex-direction: column; gap: 6px; }
.iso-direct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.iso-direct-check { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #14532d; cursor: pointer; }
.iso-direct-check.disabled{opacity:.7;cursor:not-allowed}
.iso-direct-check input { width: 18px; height: 18px; accent-color: #16a34a; }
.iso-direct-check.checked span { color: #166534; }
.inline-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.iso-linked-docs { margin: 10px 0; border: 1px solid #dbeafe; border-radius: 12px; background: #f8fbff; overflow: hidden; }
.iso-linked-empty { padding: 10px 12px; border: 1px solid #fecaca; background: #fff7f7; border-radius: 12px; display: flex; flex-direction: column; gap: 4px; }
.iso-compliance-list .iso-subitem-row { align-items: center; }
@media (max-width: 860px) { .iso-tabs-wrap { grid-template-columns: 1fr; } .iso-step-card { grid-template-columns: 1fr; } }

/* v8.6.1 - Abertura focada por item ISO */
.iso-box-doc-row.focused,
.iso-doc-form-card.focused {
  border-color: rgba(0, 48, 135, 0.35);
  box-shadow: 0 8px 22px rgba(0, 48, 135, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.iso-doc-row-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .iso-doc-row-actions {
    justify-content: flex-start;
    width: 100%;
  }
}

/* v8.6.5 — feedback global de processamento */
.operation-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background: rgba(7, 21, 45, .42);
  backdrop-filter: blur(2px);
}
.operation-loading-overlay.hidden { display: none !important; }
.operation-loading-card {
  width: min(340px, calc(100vw - 36px));
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 22px 20px;
  border: 1px solid #d8e5f8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(3, 16, 44, .24);
  text-align: center;
}
.operation-loading-card strong { color: var(--navy); font-size: 15px; }
.operation-loading-card small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.operation-spinner {
  width: 34px;
  height: 34px;
  border: 4px solid #dbeafe;
  border-top-color: var(--navy);
  border-radius: 999px;
  animation: wattSpin .8s linear infinite;
}
@keyframes wattSpin { to { transform: rotate(360deg); } }
body.operation-loading-active { cursor: progress; }
.btn.danger, .btn.danger:hover, .btn.danger:focus, .btn.danger *, .btn.danger:hover *, .btn.danger:focus * { color: #fff !important; }
.role-access-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }

.iso-current-standard-panel{display:grid;gap:10px}
.iso-current-standard-card{border:1px solid var(--line);border-left:5px solid #0d55c7;border-radius:16px;background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow)}
.iso-current-standard-card.teal{border-left-color:#0c9377}.iso-current-standard-card.amber{border-left-color:#f59e0b}.iso-current-standard-card h3{margin:7px 0 4px;color:var(--navy)}.iso-current-standard-card p{margin:0;color:var(--muted);font-size:12px}.iso-current-standard-progress{text-align:right}.iso-current-standard-progress strong{display:block;font-size:28px;color:var(--navy)}.iso-current-standard-progress span{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase}
.iso-signature-projection{margin-top:8px;padding:10px 12px;border:1px solid #fecdd3;border-radius:14px;background:#fff1f2;display:grid;gap:7px}.iso-signature-projection-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.iso-signature-projection-head span{font-size:11px;text-transform:uppercase;font-weight:900;color:#be123c}.iso-signature-projection-head strong{font-size:12px;color:#9f1239}.iso-signature-progress{height:8px;border-radius:999px;background:#ffe4e6;overflow:hidden}.iso-signature-progress span{display:block;height:100%;border-radius:999px;background:#e11d48}
@media (max-width: 760px){.iso-current-standard-card{align-items:flex-start;flex-direction:column}.iso-current-standard-progress{text-align:left}}
.evidence-item-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin:3px 6px 3px 0;padding:3px 4px;border-radius:8px;background:#f8fafc}
.evidence-item-row .btn.danger,.evidence-list-modal .btn.danger{color:#fff!important}

.epi-delivery-grid{align-items:start}.compact-filter-grid{margin-bottom:12px}.epi-delivery-panel .qssma-summary-card strong{font-size:28px}.compact-table td,.compact-table th{font-size:12px}.compact-table td:nth-child(2){text-align:left}.epi-delivery-preview-note{font-size:12px;color:#51607a}.danger{background:#b42318;color:#fff;border-color:#b42318}.danger:hover{background:#9d1c12;color:#fff}.epi-delivery-panel .panel-head p{max-width:900px}

.pending-local-row td{background:#fff8e6}.pending-local-row .chip{white-space:nowrap}

.epi-compliance-symbol{font-size:34px;line-height:1;display:block}.qssma-area-icon{font-family:inherit}.qssma-area-icon:has(+ .qssma-area-body h3){} .epi-delivery-dashboard-card small{font-weight:600}.pending-local-row{background:transparent}

/* v8.6.22 - destaque da Entrega de EPI dentro de Segurança, ao lado da ISO 45001 */


/* v8.6.25: "Atrasadas" no card de colaborador deve seguir o mesmo padrão dos outros indicadores. */
.person-work-summary > div.danger {
  background: transparent !important;
  border-color: var(--line) !important;
  color: inherit !important;
}
.person-work-summary > div.danger strong,
.person-work-summary > div.danger span {
  color: inherit !important;
}

.owner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.owner-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0d55c7;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}
select[multiple][name="participantIds"] {
  min-height: 132px;
}

/* v8.6.33 - atividades: múltiplos responsáveis visíveis e correção do resumo mensal */
.responsible-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  max-height: 230px;
  overflow: auto;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}
.responsible-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  cursor: pointer;
}
.responsible-option:has(input:checked) {
  border-color: #9dbce9;
  background: #eef5ff;
}
.responsible-option input {
  margin-top: 2px;
  accent-color: var(--blue);
}
.responsible-option span {
  display: grid;
  gap: 2px;
  color: var(--text);
  font-size: 11px;
  font-weight: 800;
}
.responsible-option small {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}
.monthly-summary-table .danger-text {
  color: var(--red) !important;
  background: transparent !important;
  border-color: inherit !important;
  font-weight: 800;
}

/* v8.6.40 - ações separadas para visualizar e baixar documentos de assinatura */
.signature-file-actions { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.signature-stage.active { border-color: #f59e0b; background: #fffbeb; }

/* v8.6.41 - Módulo Certificados de NR */
.nr-cert-panel .actions { display:flex; flex-wrap:wrap; gap:8px; }
.nr-cert-form .nr-picker { max-height: 310px; }
.nr-checkbox small { font-size: 10px; line-height: 1.3; }
.nr-register-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); align-items:start; }
.nr-register-grid .epi-step-card { height: 100%; }
.mini-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.check-row { display:flex; align-items:center; gap:8px; margin:8px 0 14px; font-weight:700; color:var(--text); }
.check-row input { accent-color: var(--blue); }

/* v8.6.42 - Certificados NR: carga individual, colaboradores estruturados e calendário */
.nr-person-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px; margin-top:14px; }
.nr-person-card { border:1px solid var(--line); border-radius:14px; padding:12px; background:#f8fbff; display:grid; gap:10px; }
.nr-person-card span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); font-weight:800; }
.nr-person-card strong { display:block; font-size:14px; color:var(--blue-dark); margin-top:3px; }
.nr-person-card small { display:block; color:var(--muted); font-weight:700; margin-top:2px; }
.nr-person-card label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:800; }
.inline-action { display:flex; gap:8px; align-items:center; }
.inline-action input { flex:1; }
.nr-selected-hours { display:grid; gap:10px; margin-top:12px; }
.nr-hour-card { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:12px; align-items:center; border:1px solid var(--line); border-radius:12px; padding:10px; background:#fff; }
.nr-hour-card strong { color:var(--blue-dark); display:block; }
.nr-hour-card span { display:block; color:var(--text); font-size:12px; }
.nr-hour-card small { display:block; color:var(--muted); font-size:10px; margin-top:3px; }
.nr-hour-card > div:last-child { display:grid; gap:4px; }
.nr-hour-card > div:last-child span, .nr-hour-card em { font-size:10px; color:var(--muted); font-weight:800; font-style:normal; }
.nr-collaborator-table { display:grid; gap:8px; }
.nr-collab-head, .nr-collab-row { display:grid; grid-template-columns:1.4fr 180px 95px; gap:8px; align-items:center; }
.nr-collab-head { color:var(--muted); font-size:11px; font-weight:800; }
.input-error { border-color:var(--red) !important; background:#fff5f5 !important; }
.nr-calendar-filters { margin-bottom:14px; }
.nr-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.nr-calendar-grid > div:nth-child(-n+7) { text-align:center; font-weight:900; color:var(--muted); font-size:11px; padding:6px; }
.nr-calendar-cell { min-height:108px; border:1px solid var(--line); border-radius:10px; padding:8px; background:#fff; display:flex; flex-direction:column; gap:4px; }
.nr-calendar-cell.muted { background:#f4f7fb; }
.nr-calendar-cell strong { color:var(--blue-dark); }
.nr-calendar-cell span { display:block; font-size:10px; font-weight:800; background:#eef5ff; color:#0d55c7; border-radius:999px; padding:3px 6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nr-calendar-cell em { color:var(--muted); font-style:normal; font-size:10px; font-weight:800; }
.nr-agenda-title { margin-top:18px; }
.nr-agenda-list { display:grid; gap:8px; }
.nr-agenda-item { border:1px solid var(--line); border-radius:12px; padding:10px; background:#fff; display:grid; gap:3px; }
.nr-agenda-item strong { color:var(--blue-dark); }
.nr-agenda-item span, .nr-agenda-item small { color:var(--muted); }
@media (max-width: 900px) { .nr-collab-head { display:none; } .nr-collab-row, .nr-hour-card { grid-template-columns:1fr; } .nr-calendar-grid { grid-template-columns:repeat(2,1fr); } .nr-calendar-grid > div:nth-child(-n+7) { display:none; } }

/* v8.6.46 - Certificados NR: lista numerada e datas automáticas por NR */
.nr-cert-form .nr-picker { display:block; }
.nr-selection-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:8px; }
.nr-list-option { align-items:center; }
.nr-list-number { width:26px; height:26px; border-radius:999px; display:inline-flex !important; align-items:center; justify-content:center; background:#e8f1ff; color:#0d55c7; font-size:12px !important; font-weight:900; flex:0 0 26px; }
.nr-hour-card .nr-date-input[data-manual="true"] { border-color:#f59e0b; background:#fffbeb; }

/* v8.6.57 - EPI: controles de entrega consolidada para itens de troca frequente */
.epi-bulk-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.epi-bulk-controls select,.epi-bulk-controls input{min-height:28px;font-size:11px;padding:4px 6px;max-width:150px}
.epi-bulk-controls input[type="number"]{width:76px}
.epi-bulk-controls small{flex-basis:100%;color:var(--muted);font-size:10px}

body.sidebar-collapsed .brand-logo { display: none; }
body.sidebar-collapsed .brand-icon { display: block; width: 36px; height: 36px; }
.notice-card{margin:0 0 12px;padding:12px 14px;border:1px solid #d8e1ec;border-radius:10px;background:#fff;display:flex;gap:10px;align-items:center;color:var(--text);font-size:12px}.notice-card strong{font-weight:900}.notice-card span{color:var(--muted)}.notice-card.amber{border-color:#f3cf8a;background:#fff9ed}.notice-card.amber strong{color:#9a5a00}


/* v8.6.70 - performance visual e acabamento mais limpo */
:root{
  --bg:#f2f5f9;
  --surface:#ffffff;
  --surface-2:#f7f9fc;
  --surface-3:#eef3f8;
  --line:#d8e1ec;
  --shadow:0 10px 28px rgba(15,23,42,.06);
  --shadow-lg:0 24px 64px rgba(15,23,42,.12);
  --radius:14px;
  --sidebar-w:214px;
  --sidebar-collapsed:76px;
}
body{background:var(--bg)}
.app-shell{background:linear-gradient(180deg,#f3f6fa 0%,#eef3f8 100%)}
.sidebar{box-shadow:10px 0 28px rgba(3,16,41,.12);border-right:1px solid rgba(255,255,255,.05)}
.brand{min-height:90px;padding:16px 16px 14px}
.brand-copy strong{font-size:12.5px}
.brand-copy span{letter-spacing:.12em}
.nav{gap:6px;padding:12px 10px 16px;scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{width:0;height:0}
.nav-item{min-height:40px;padding:9px 12px;border-radius:12px;font-size:12.5px}
.nav-item.active{background:linear-gradient(90deg,#1657c9 0%,#0b4ba9 100%);box-shadow:0 10px 22px rgba(3,41,112,.24)}
.sidebar-user{padding:0 10px 12px}
.sidebar-profile{min-height:60px;border-radius:14px;background:rgba(255,255,255,.04)}
.topbar{min-height:72px;padding:12px 22px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
.content{padding:18px 20px 36px}
.panel,.data-card,.report-card,.person-card,.kpi-card,.settings-card,.qssma-area-card,.signature-doc-card{border-radius:18px}
.panel,.qssma-area-card,.signature-doc-card{border:1px solid rgba(148,163,184,.24);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.panel-head{min-height:60px;padding:15px 18px}
.panel-head h3{font-size:14px}
.panel-head p{font-size:11px;line-height:1.45}
.qssma-summary{gap:12px}
.qssma-summary-card{border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 100%)}
.notice-card.amber{border-radius:16px;background:#fff8eb;border-color:#f2cf8f}
.operation-loading-overlay{background:rgba(12,20,36,.18);backdrop-filter:blur(2px)}
.operation-loading-card{min-width:320px;border-radius:22px;box-shadow:0 26px 60px rgba(15,23,42,.18)}
html{scrollbar-color:#b6c2d2 #eef3f8}
body::-webkit-scrollbar, .content::-webkit-scrollbar{width:10px;height:10px}
body::-webkit-scrollbar-track, .content::-webkit-scrollbar-track{background:#eef3f8}
body::-webkit-scrollbar-thumb, .content::-webkit-scrollbar-thumb{background:#bcc7d6;border-radius:999px;border:2px solid #eef3f8}
body::-webkit-scrollbar-thumb:hover, .content::-webkit-scrollbar-thumb:hover{background:#9daaba}
@media (max-width:900px){
  .content{padding:16px 14px 28px}
  .topbar{padding:12px 14px}
}


/* v8.6.71 - salvamento rápido e indicadores de atraso */
.activity-total-value{display:inline-block;color:#172c50;font-weight:800;line-height:1}
.overdue-count{display:inline-flex;align-items:center;gap:5px;margin-left:7px;padding:4px 8px;border:1px solid #f3c3c3;border-radius:999px;background:#fff5f5;color:#b42318;font-size:9px;font-weight:800;line-height:1;white-space:nowrap;vertical-align:middle}
.overdue-count::before{content:"";width:5px;height:5px;border-radius:50%;background:#d92d20;box-shadow:0 0 0 2px rgba(217,45,32,.1)}
.overdue-count.compact{padding:3px 7px;font-size:9px;margin-left:5px}
.person-detail strong:has(.overdue-count){display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:wrap}
.operation-loading-card{padding:22px 26px}
.operation-loading-card small{display:none}
@media(max-width:760px){.overdue-count{margin-left:4px}.person-detail strong:has(.overdue-count){justify-content:flex-start}}
