/*
 * Suara TPS Professional UI v10.59
 * Lapisan visual terakhir. Tidak mengubah logika, endpoint, atau struktur database.
 */
:root {
  --pro-bg: #f3f9ff;
  --pro-bg-2: #e7f3ff;
  --pro-surface: #ffffff;
  --pro-surface-soft: #f7fbff;
  --pro-ink: #102f49;
  --pro-ink-2: #234e70;
  --pro-muted: #647f95;
  --pro-line: #d5e6f4;
  --pro-line-strong: #bfd8ec;
  --pro-primary: #118eea;
  --pro-primary-2: #29a6f6;
  --pro-primary-dark: #0872b9;
  --pro-primary-soft: #e8f5ff;
  --pro-blue: #118eea;
  --pro-blue-soft: #eaf6ff;
  --pro-amber: #9b650b;
  --pro-amber-soft: #fff7e7;
  --pro-red: #b93636;
  --pro-red-soft: #fff1f1;
  --pro-shadow-xs: 0 1px 2px rgba(17,38,52, .04);
  --pro-shadow-sm: 0 8px 24px rgba(20,55,78, .065);
  --pro-shadow-md: 0 18px 46px rgba(14,42,61, .10);
  --pro-shadow-lg: 0 28px 80px rgba(9,31,45, .18);
  --pro-radius-sm: 10px;
  --pro-radius: 16px;
  --pro-radius-lg: 22px;
  --pro-radius-xl: 28px;
  --sidebar: 278px;
  --topbar: 74px;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  background: var(--pro-bg);
}
body {
  color: var(--pro-ink);
  background:
    radial-gradient(circle at 92% -10%, rgba(16,102,160, .07), transparent 34rem),
    linear-gradient(180deg, #f7f9fa 0%, var(--pro-bg) 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { color: #fff; background: var(--pro-primary); }
:focus-visible { outline: 3px solid rgba(9,104,168, .30); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: #abc8dc transparent; }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #b0ccdf; border: 3px solid transparent; border-radius: 99px; background-clip: padding-box; }
*::-webkit-scrollbar-track { background: transparent; }

/* Typographic rhythm */
h1,h2,h3,h4,strong,b { color: inherit; }
p { text-wrap: pretty; }
.erp-overline,.v5-overline,.auth-kicker,.witness-section-kicker,.submenu-kicker,.erp-section-label,.entity-eyebrow,.candidate-input-label {
  color: var(--pro-primary) !important;
  font-size: .67rem !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
}

/* Buttons */
.btn,
.saksi-setup-button,
.saksi-start-button,
.saksi-back-button,
.saksi-finalize-open,
.saksi-submit-button,
.saksi-draft-button,
.saksi-upload-primary,
.saksi-upload-secondary,
.saksi-camera-secondary,
.saksi-camera-capture,
.saksi-camera-gallery,
.global-close-btn,
.app-notification-action {
  min-height: 42px;
  border-radius: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .005em;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease !important;
}
.btn:hover:not(:disabled),
.saksi-setup-button:hover:not(:disabled),
.saksi-start-button:hover:not(:disabled),
.saksi-finalize-open:hover:not(:disabled),
.saksi-submit-button:hover:not(:disabled),
.saksi-draft-button:hover:not(:disabled),
.saksi-upload-primary:hover:not(:disabled),
.saksi-upload-secondary:hover:not(:disabled) {
  transform: translateY(-1px);
}
.btn:active:not(:disabled),
.saksi-setup-button:active:not(:disabled),
.saksi-start-button:active:not(:disabled),
.saksi-finalize-open:active:not(:disabled) { transform: translateY(0) scale(.99); }
.btn-primary,
.saksi-start-button,
.saksi-finalize-open,
.saksi-submit-button,
.saksi-upload-primary,
.app-notification-action {
  color: #fff !important;
  background: linear-gradient(135deg, var(--pro-primary-2), var(--pro-primary)) !important;
  border: 1px solid rgba(5,66,107, .18) !important;
  box-shadow: 0 9px 20px rgba(6,81,132, .18) !important;
}
.btn-primary:hover:not(:disabled),
.saksi-start-button:hover:not(:disabled),
.saksi-finalize-open:hover:not(:disabled),
.saksi-submit-button:hover:not(:disabled),
.saksi-upload-primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #076eb2, #054a78) !important;
  box-shadow: 0 12px 26px rgba(6,81,132, .24) !important;
}
.btn-light,.saksi-back-button,.saksi-upload-secondary,.saksi-camera-secondary,.saksi-camera-gallery {
  color: var(--pro-ink-2) !important;
  background: #fff !important;
  border: 1px solid var(--pro-line) !important;
  box-shadow: var(--pro-shadow-xs) !important;
}
.btn-light:hover:not(:disabled),.saksi-back-button:hover:not(:disabled),.saksi-upload-secondary:hover:not(:disabled) {
  color: var(--pro-primary) !important;
  border-color: #9ec0d7 !important;
  background: var(--pro-primary-soft) !important;
}
.btn-dark { color:#fff !important; background:#183345 !important; box-shadow:0 8px 18px rgba(21,44,59,.15) !important; }
.btn-danger,.btn-danger-soft { color:#a32626 !important; background:var(--pro-red-soft) !important; border:1px solid #f2c9c9 !important; }
.btn-warning,.btn-warning-soft { color:#82530a !important; background:var(--pro-amber-soft) !important; border:1px solid #ecd7a9 !important; }
.btn-success-soft { color:var(--pro-primary-dark) !important; background:var(--pro-primary-soft) !important; border:1px solid #bcd4e4 !important; }
.btn-small { min-height: 36px !important; padding: 8px 12px !important; font-size: .76rem !important; }
.btn-large { min-height: 50px !important; }

/* Forms */
label {
  gap: 7px !important;
  color: #20435b !important;
  font-size: .79rem !important;
  font-weight: 800 !important;
}
label > small { color: var(--pro-muted) !important; font-weight: 650 !important; line-height: 1.45; }
input,textarea,select {
  min-height: 43px !important;
  padding: 10px 12px !important;
  color: var(--pro-ink) !important;
  background: #fff !important;
  border: 1px solid var(--pro-line-strong) !important;
  border-radius: 11px !important;
  font-size: .85rem !important;
  box-shadow: inset 0 1px 2px rgba(20,42,57, .025) !important;
}
textarea { min-height: 110px !important; line-height: 1.55; }
input::placeholder,textarea::placeholder { color:#95a49c; }
input:hover,textarea:hover,select:hover { border-color:#98bdd5 !important; }
input:focus,textarea:focus,select:focus {
  border-color: var(--pro-primary-2) !important;
  box-shadow: 0 0 0 4px rgba(9,104,168,.12) !important;
}
input[type="checkbox"],input[type="radio"] { min-height:auto !important; accent-color:var(--pro-primary); }
.form-grid { gap: 15px !important; }
.erp-form { gap: 15px !important; }
.password-field { gap: 8px !important; }
.password-field button,.password-eye-toggle {
  min-width: 70px;
  color: var(--pro-primary-dark) !important;
  border: 1px solid var(--pro-line-strong) !important;
  background: var(--pro-surface-soft) !important;
  border-radius: 11px !important;
}

/* Alerts, status, toasts */
.alert {
  padding: 13px 15px !important;
  border-radius: 13px !important;
  border-width: 1px !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  line-height: 1.55;
  box-shadow: var(--pro-shadow-xs);
}
.alert-success { color:#15496b !important; background:#f0f6fa !important; border-color:#bed5e4 !important; }
.alert-error { color:#932f2f !important; background:#fff3f3 !important; border-color:#efcaca !important; }
.alert-warning { color:#79500d !important; background:#fff8e9 !important; border-color:#ead7aa !important; }
.status,.online-pill,.witness-ready-pill,.active-context-chip {
  min-height: 27px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(21,71,104,.08);
  border-radius: 999px !important;
  padding: 5px 9px !important;
  font-size: .65rem !important;
  font-weight: 900 !important;
  letter-spacing: .025em;
}
.toast-stack { right: 22px !important; bottom: 22px !important; gap: 9px !important; }
.toast {
  min-width: min(340px, calc(100vw - 40px));
  padding: 13px 15px !important;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px !important;
  background: #193446 !important;
  box-shadow: var(--pro-shadow-md) !important;
  font-size: .82rem;
  font-weight: 750;
}

/* Authentication, install, registration */
.auth-page {
  min-height: 100svh !important;
  padding: 28px 20px !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(11,107,171, .14), transparent 28rem),
    radial-gradient(circle at 92% 88%, rgba(33,98,164, .09), transparent 25rem),
    linear-gradient(145deg, #eef4f8 0%, #f7f9fa 55%, #eef2f5 100%) !important;
}
.auth-card {
  position: relative;
  width: min(500px,100%) !important;
  padding: 32px !important;
  overflow: hidden;
  border: 1px solid rgba(178,205,223,.85) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 28px 80px rgba(20,49,68,.14) !important;
}
.auth-card::before {
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--pro-primary),#328ac4,#6aa8d2);
}
.auth-card::after {
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  top:-105px;
  right:-105px;
  border-radius:50%;
  background:rgba(8,100,161,.055);
  pointer-events:none;
}
.auth-card-modern { width:min(470px,100%) !important; }
.install-card { width:min(850px,100%) !important; }
.auth-brand { margin-bottom: 24px !important; }
.logo-box,.apk-login-logo {
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: linear-gradient(145deg, #0b71b4, #065184) !important;
  box-shadow: 0 10px 22px rgba(6,81,132,.22) !important;
}
.auth-brand strong { color:#193547 !important; font-size:1rem !important; }
.auth-brand small { color:var(--pro-muted) !important; }
.auth-card h1 {
  margin: 6px 0 9px !important;
  color: #183244 !important;
  font-size: clamp(1.65rem,4vw,2.05rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
}
.auth-card > p { margin-bottom: 22px !important; color:var(--pro-muted) !important; line-height:1.6 !important; }
.auth-card form { gap: 15px !important; }
.auth-footnote {
  margin-top: 21px !important;
  padding-top: 17px;
  border-top: 1px solid var(--pro-line);
  color: var(--pro-muted) !important;
  font-size: .72rem !important;
  line-height: 1.5;
}
.apk-login-head { margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid var(--pro-line); }
.apk-login-head strong { color:#183244 !important; }
.saksi-apk-login .auth-card { width:min(440px,100%) !important; }

/* Admin shell */
.erp-body { background:var(--pro-bg) !important; }
.erp-sidebar {
  width: var(--sidebar) !important;
  padding: 19px 15px !important;
  gap: 13px !important;
  color: #dae7f0 !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(49,141,202,.15), transparent 15rem),
    linear-gradient(180deg,#153246 0%,#0f2738 50%,#0c202e 100%) !important;
  border-right: 1px solid rgba(255,255,255,.055) !important;
  box-shadow: 12px 0 34px rgba(10,31,44,.13) !important;
}
.erp-main { margin-left:var(--sidebar) !important; }
.erp-brand-block { min-height:49px; padding:0 5px; }
.erp-brand-mark {
  width: 44px !important;
  height: 44px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#137ec4,#065184) !important;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
}
.erp-brand-block strong { color:#fff !important; font-size:.93rem !important; letter-spacing:-.01em; }
.erp-brand-block small { color:#9cbfd7 !important; font-size:.69rem !important; }
.erp-workspace-label { margin:5px 7px 2px !important; color:#6ea2c4 !important; font-size:.62rem !important; letter-spacing:.15em !important; }
.erp-nav,.erp-nav-with-submenu { gap:4px !important; padding:0 2px 4px !important; }
.erp-nav a {
  min-height: 43px !important;
  padding: 10px 11px !important;
  color: #cbdeea !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 11px !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  box-shadow:none !important;
}
.erp-nav svg { width:18px !important; height:18px !important; opacity:.91; }
.erp-nav-main:hover,.erp-nav-parent:hover {
  color:#fff !important;
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.055) !important;
  transform:none !important;
  box-shadow:none !important;
}
.erp-nav a.active,.erp-nav-parent.active {
  color:#fff !important;
  background:linear-gradient(135deg,rgba(22,121,187,.98),rgba(6,81,132,.98)) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.13) !important;
  transform:none !important;
}
.erp-subnav {
  margin:3px 0 6px 30px !important;
  padding:5px !important;
  border-left:1px solid rgba(141,182,209,.25) !important;
}
.erp-subnav a {
  min-height:31px !important;
  padding:7px 9px !important;
  color:#9cbfd7 !important;
  font-size:.69rem !important;
  border-radius:8px !important;
}
.erp-subnav a:hover,.erp-subnav a.subnav-active {
  color:#fff !important;
  background:rgba(255,255,255,.08) !important;
}
.erp-sidebar-info,.erp-sidebar-user {
  padding:11px !important;
  color:#e8f1f7 !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.075) !important;
  border-radius:13px !important;
}
.erp-sidebar-info small,.erp-sidebar-user small { color:#8fb7d1 !important; }
.erp-sidebar-user a { color:#cbdeea !important; opacity:.85 !important; }
.erp-avatar { color:#fff !important; background:linear-gradient(145deg,#1d82c6,#065184) !important; border-radius:10px !important; }
.erp-system-dot { background:#359ce1 !important; box-shadow:0 0 0 5px rgba(53,156,225,.13) !important; }
.erp-topbar {
  height:var(--topbar) !important;
  padding:0 27px !important;
  background:rgba(255,255,255,.91) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
  border-bottom:1px solid rgba(199,219,232,.88) !important;
  box-shadow:0 3px 15px rgba(22,54,75,.035) !important;
}
.erp-breadcrumb span { margin-bottom:2px; color:#7a8c83 !important; font-size:.68rem !important; font-weight:750 !important; }
.erp-breadcrumb strong { color:#183346 !important; font-size:.98rem !important; letter-spacing:-.01em; }
.erp-topbar-right { gap:12px !important; }
.erp-live-chip {
  padding:7px 10px !important;
  color:#075080 !important;
  background:#edf4f9 !important;
  border:1px solid #c5d9e7 !important;
  font-size:.65rem !important;
  box-shadow:var(--pro-shadow-xs);
}
.erp-live-chip i { width:7px !important; height:7px !important; background:#1173b4 !important; box-shadow:0 0 0 4px rgba(17,115,180,.13) !important; }
.erp-date { color:#3f769b !important; font-size:.76rem !important; }
.erp-content { width:100%; max-width:1500px !important; padding:28px 30px 40px !important; }
.erp-menu-toggle { color:#1b384c !important; background:#eff4f8 !important; border:1px solid var(--pro-line) !important; }

/* Page structure */
.erp-page-heading {
  align-items:center !important;
  margin-bottom:22px !important;
  padding:0 2px;
}
.erp-page-heading h1 {
  margin:4px 0 7px !important;
  color:#173142 !important;
  font-size:clamp(1.7rem,2.4vw,2.15rem) !important;
  line-height:1.1 !important;
  letter-spacing:-.04em !important;
}
.erp-page-heading p { color:var(--pro-muted) !important; font-size:.88rem !important; line-height:1.55; }
.admin-section-title,.card-title-row,.erp-panel-head,.v5-panel-head,.panel-head,.entity-card-head,.witness-card-head {
  gap:15px !important;
}
.admin-section-title h2,.erp-panel-head h2,.v5-panel-head h2,.panel-head h2,.card-title-row h2 {
  color:#193547 !important;
  font-size:1.12rem !important;
  letter-spacing:-.025em !important;
}
.erp-panel-head p,.v5-panel-head p,.panel-head p,.admin-section-title p { color:var(--pro-muted) !important; line-height:1.5; }

.erp-panel,.v5-panel,.admin-subpage-section,.master-form-card,.master-list-card,.witness-form-card,.witness-list-card,.candidate-admin-card,.settings-preview-card,.entity-card,.witness-card,.action-list-panel,.table-panel,.export-panel,.report-card,.detail-row-card {
  background:rgba(255,255,255,.98) !important;
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius) !important;
  box-shadow:var(--pro-shadow-sm) !important;
}
.erp-panel,.v5-panel,.admin-subpage-section,.master-form-card,.master-list-card,.witness-form-card,.witness-list-card,.action-list-panel,.table-panel,.export-panel {
  padding:21px !important;
}
.admin-subpage-section { animation:proSectionIn .22s ease-out !important; }
@keyframes proSectionIn { from{opacity:.35;transform:translateY(5px)} to{opacity:1;transform:none} }
.card-title-row,.erp-panel-head { padding-bottom:14px; border-bottom:1px solid #e9eef1; }
.form-card-icon,.assignment-icon {
  color:#fff !important;
  background:linear-gradient(145deg,#1174b7,#065184) !important;
  border-radius:12px !important;
  box-shadow:0 8px 18px rgba(6,81,132,.16) !important;
}

/* KPI cards */
.compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.rekap-stat-grid { gap:14px !important; }
.compact-stat-card,.witness-stat-grid article,.v5-kpi-card,.witness-result-summary article {
  position:relative;
  overflow:hidden;
  min-height:118px;
  padding:18px !important;
  border:1px solid var(--pro-line) !important;
  border-left:1px solid var(--pro-line) !important;
  border-radius:15px !important;
  background:linear-gradient(145deg,#fff,#f7f9fb) !important;
  box-shadow:var(--pro-shadow-sm) !important;
}
.compact-stat-card::after,.witness-stat-grid article::after,.v5-kpi-card::after,.witness-result-summary article::after {
  content:"";
  position:absolute;
  width:78px;
  height:78px;
  right:-31px;
  bottom:-34px;
  border-radius:50%;
  background:rgba(8,97,157,.075);
}
.compact-stat-card:nth-child(4n+2)::after,.v5-kpi-card:nth-child(4n+2)::after,.witness-result-summary article:nth-child(4n+2)::after { background:rgba(37,99,169,.075); }
.compact-stat-card:nth-child(4n+3)::after,.v5-kpi-card:nth-child(4n+3)::after,.witness-result-summary article:nth-child(4n+3)::after { background:rgba(169,105,15,.075); }
.compact-stat-card span,.witness-stat-grid article span,.v5-kpi-card span,.witness-result-summary article span {
  color:#40779b !important;
  font-size:.69rem !important;
  font-weight:850 !important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.compact-stat-card strong,.witness-stat-grid article strong,.v5-kpi-card strong,.witness-result-summary article strong {
  margin:8px 0 4px !important;
  color:#153448 !important;
  font-size:clamp(1.65rem,3vw,2.2rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em;
}
.compact-stat-card small,.witness-stat-grid article small,.v5-kpi-card small,.witness-result-summary article small { color:#72857b !important; font-size:.71rem !important; }

/* Tables and lists */
.table-scroll,.witness-result-table-wrap { overflow:auto; border:1px solid #e2e8ec; border-radius:13px; background:#fff; }
.record-table,.witness-result-table { width:100%; border-collapse:separate !important; border-spacing:0 !important; }
.record-table th,.witness-result-table th {
  position:sticky;
  top:0;
  z-index:1;
  padding:11px 13px !important;
  color:#34617f !important;
  background:#f6f8f9 !important;
  border-bottom:1px solid #dde4e9 !important;
  font-size:.64rem !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.record-table td,.witness-result-table td {
  padding:12px 13px !important;
  color:#213e52 !important;
  background:#fff;
  border-bottom:1px solid #eef2f4 !important;
  font-size:.79rem !important;
  vertical-align:middle;
}
.record-table tbody tr:last-child td,.witness-result-table tbody tr:last-child td { border-bottom:0 !important; }
.record-table tbody tr:hover td,.witness-result-table tbody tr:hover td { background:#f6f9fc; }
.record-table td small,.witness-result-table td small { color:#75877e !important; font-size:.68rem !important; line-height:1.45; }
.action-list-panel { gap:8px !important; }
.action-list-row {
  padding:12px 13px !important;
  border:1px solid #e2e8ec !important;
  border-radius:12px !important;
  background:#f6f9fb !important;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.action-list-row:hover { border-color:#b1cddf !important; background:#f6f9fc !important; transform:translateY(-1px); }
.action-list-row strong { color:#1d3c52 !important; font-size:.82rem !important; }
.action-list-row small { color:#71847a !important; font-size:.69rem !important; }
.empty-state,.erp-empty,.empty-select-notice {
  padding:22px !important;
  color:#71847a !important;
  background:#f7f9fb !important;
  border:1px dashed #b1cddf !important;
  border-radius:14px !important;
  font-size:.79rem !important;
  line-height:1.55;
}

/* TPS, witness and entity records */
.tps-long-list { gap:9px !important; }
.tps-long-head {
  padding:0 13px 8px !important;
  color:#74877d !important;
  font-size:.62rem !important;
  letter-spacing:.07em;
}
.tps-long-row {
  min-height:68px;
  padding:11px 13px !important;
  border:1px solid var(--pro-line) !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:var(--pro-shadow-xs);
}
.tps-long-row:hover { border-color:#a0c2d8 !important; background:#f6f9fc !important; box-shadow:0 7px 20px rgba(17,70,106,.07); }
.tps-long-number {
  width:40px !important;
  height:40px !important;
  color:#fff !important;
  background:linear-gradient(145deg,#1275b7,#065184) !important;
  border-radius:11px !important;
  box-shadow:0 7px 15px rgba(6,81,132,.15);
}
.tps-long-identity strong,.tps-long-cell strong { color:#1c3c51 !important; font-size:.79rem !important; }
.tps-long-identity small,.tps-long-cell small { color:#7a8b82 !important; font-size:.64rem !important; }
.tps-long-votes strong { color:var(--pro-primary) !important; font-size:1.05rem !important; }
.entity-card,.witness-card {
  padding:16px !important;
  border-top:1px solid var(--pro-line) !important;
  background:#fff !important;
}
.entity-card:hover,.witness-card:hover { border-color:#afcbde !important; box-shadow:0 13px 30px rgba(19,63,93,.085) !important; }
.entity-eyebrow { margin-bottom:5px; }
.witness-avatar,.witness-avatar-photo {
  border:2px solid #fff;
  box-shadow:0 0 0 1px #c5dae8,0 7px 18px rgba(26,60,84,.10);
}
.witness-meta-grid > div,.detail-grid > div,.report-detail-grid > div {
  padding:11px !important;
  border:1px solid #e5eaee !important;
  border-radius:11px !important;
  background:#f7f9fb !important;
}
.detail-grid small,.report-detail-grid small,.witness-meta-grid small { color:#73877c !important; font-size:.64rem !important; }
.detail-grid strong,.report-detail-grid strong,.witness-meta-grid strong { color:#213e52 !important; font-size:.76rem !important; }
.device-binding-row,.reset-password-row {
  padding:13px !important;
  border:1px solid #e1e7ec !important;
  border-radius:13px !important;
  background:#f6f9fb !important;
}
.device-public-code code,.device-code-inline {
  color:#08456e !important;
  background:#f0f6fa !important;
  border:1px solid #b7d0e1 !important;
  border-radius:8px !important;
}

/* Candidate management */
.candidate-admin-grid,.candidate-preview-grid,.candidate-one-only-grid { gap:15px !important; }
.candidate-admin-card {
  overflow:hidden;
  padding:0 !important;
  border-radius:16px !important;
}
.candidate-admin-cover,.candidate-admin-placeholder-cover {
  background:linear-gradient(145deg,#eff5f9,#edf4fa) !important;
  border-radius:0 !important;
}
.candidate-admin-body,.candidate-admin-placeholder-body { padding:15px !important; }
.candidate-admin-body h3,.candidate-admin-placeholder-body h3 { color:#1a374b !important; font-size:.88rem !important; }
.candidate-admin-no { color:#fff !important; background:rgba(9,64,100,.92) !important; backdrop-filter:blur(6px); }
.candidate-one-form { padding:18px !important; border:1px solid var(--pro-line) !important; border-radius:15px !important; background:#f6f9fb !important; }

/* Dashboard */
.v5-admin-dashboard { gap:20px !important; }
.v5-global-panel { overflow:hidden; padding:0 !important; }
.v5-global-panel > .v5-panel-head { margin:0 !important; padding:20px 22px !important; border-bottom:1px solid #e2e9ed; background:linear-gradient(180deg,#fff,#f6f9fb); }
body .v5-candidate-grid { gap:16px !important; padding:20px 22px 23px !important; }
body .v5-candidate-card {
  min-height:500px !important;
  border:1px solid #d8e0e6 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 12px 30px rgba(16,52,77,.08) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body .v5-candidate-card:hover { transform:translateY(-3px); border-color:#a2c3d9 !important; box-shadow:0 18px 38px rgba(14,54,80,.13) !important; }
body .v5-candidate-photo-box { background:linear-gradient(150deg,#eff5f9,#e9f0f7) !important; }
body .v5-candidate-info { padding:16px 17px 18px !important; background:#fff; }
body .v5-candidate-info > strong { color:#193547 !important; font-size:.95rem !important; }
body .v5-candidate-role { min-height:25px; padding:5px 11px !important; color:#fff !important; background:var(--pro-primary) !important; font-size:.64rem !important; }
body .v5-candidate-result {
  min-height:58px !important;
  border:1px solid #c2d8e6 !important;
  border-radius:12px !important;
  background:linear-gradient(145deg,#eff5f9,#f6f9fb) !important;
}
body .v5-candidate-result b { color:#054f80 !important; font-size:1.55rem !important; }
body .v5-candidate-result small { color:#41799e !important; }
.witness-results-panel { padding:0 !important; overflow:hidden; }
.witness-results-head { margin:0 !important; padding:20px 22px !important; border-bottom:1px solid #e2e9ed; }
.witness-result-summary { padding:18px 22px 0; }
.witness-results-layout { gap:16px !important; padding:18px 22px 22px !important; }
.witness-overall-chart-card,.witness-result-list-card {
  border:1px solid var(--pro-line) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:var(--pro-shadow-xs);
}
.witness-chart-heading,.witness-list-heading { padding-bottom:13px !important; border-bottom:1px solid #e8edf0; }
.overall-witness-chart { min-height:250px; }
.global-fullscreen,.candidate-focus-modal { backdrop-filter:blur(11px); }
.v5-fullscreen-card,.candidate-focus-card { border:1px solid rgba(255,255,255,.22); border-radius:22px !important; box-shadow:var(--pro-shadow-lg) !important; }

/* Reports and verification */
.report-card { padding:17px !important; }
.report-card-head { padding-bottom:13px; border-bottom:1px solid #e9eef1; }
.report-card-locked { border-color:#a1c3d9 !important; box-shadow:0 11px 28px rgba(7,72,115,.09) !important; }
.revision-note,.report-final-note { border-radius:11px !important; }
.reopen-correction-form,.revision-inline-form {
  padding:13px !important;
  border-radius:13px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.vote-chip-row span,.warning-list span { border-radius:999px !important; }

/* Settings and danger zone */
.security-check-grid > div {
  min-height:78px;
  padding:14px !important;
  border:1px solid #e0e7eb !important;
  border-radius:12px !important;
  background:#f6f9fb !important;
}
.reset-danger-panel {
  border:1px solid #ebc7c7 !important;
  border-radius:17px !important;
  background:linear-gradient(145deg,#fff8f8,#fff) !important;
  box-shadow:0 12px 30px rgba(157,46,46,.07) !important;
}
.reset-danger-icon { box-shadow:0 8px 18px rgba(183,54,54,.17); }
.reset-system-button { border-radius:11px !important; }

/* Notification */
.app-notification-root { top:max(12px,env(safe-area-inset-top)) !important; right:max(14px,env(safe-area-inset-right)) !important; }
.app-notification-bell {
  width:46px !important;
  height:46px !important;
  color:#0f476c;
  background:rgba(255,255,255,.97) !important;
  border:1px solid #c3d8e6 !important;
  border-radius:13px !important;
  box-shadow:0 10px 28px rgba(10,47,72,.15) !important;
}
.app-notification-bell svg { width:20px; height:20px; fill:currentColor; }
.app-notification-card {
  border:1px solid #bfd6e5 !important;
  border-radius:18px !important;
  box-shadow:0 24px 64px rgba(8,36,55,.22) !important;
}
.app-notification-icon { border-radius:13px !important; background:linear-gradient(145deg,#1075b8,#065184) !important; }
.app-notification-close { color:#376686 !important; background:#eff3f6 !important; }

/* Witness application */
.saksi-simple-body {
  min-height:100svh;
  background:
    radial-gradient(circle at 50% -5%, rgba(7,102,166,.10), transparent 24rem),
    linear-gradient(180deg,#f1f5f9,#f7f9fa 46%,#eef2f5) !important;
}
.saksi-simple-body > .container { width:min(760px,calc(100vw - 24px)) !important; padding:18px 0 30px !important; }
.saksi-simple-shell,.saksi-validation-page { gap:14px !important; }
.saksi-simple-header,.saksi-simple-identity,.saksi-setup-card,.saksi-ready-panel,.saksi-simple-candidate,.saksi-validation-topbar,.saksi-final-card,.saksi-final-summary,.saksi-final-status {
  border:1px solid var(--pro-line) !important;
  border-radius:17px !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:var(--pro-shadow-sm) !important;
}
.saksi-simple-header {
  min-height:70px;
  padding:13px 15px !important;
  background:linear-gradient(135deg,#143246,#065184) !important;
  border-color:rgba(255,255,255,.09) !important;
  color:#fff;
}
.saksi-simple-logo {
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none !important;
}
.saksi-simple-brand small,.saksi-simple-brand strong { color:#fff !important; }
.saksi-simple-brand small { opacity:.72; }
.saksi-connection {
  color:#e5eff6 !important;
  background:rgba(255,255,255,.11) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:999px !important;
}
.saksi-simple-identity { padding:14px 15px !important; }
.saksi-assignment span,.saksi-person-mini span { color:var(--pro-primary) !important; }
.saksi-assignment strong,.saksi-person-mini strong { color:#1b394c !important; }
.saksi-assignment small,.saksi-person-mini small { color:#75877e !important; }
.saksi-mini-photo img { border:2px solid #fff; box-shadow:0 0 0 1px #c1d7e6,0 6px 16px rgba(23,62,88,.10); }
.saksi-setup-card { padding:20px !important; }
.saksi-setup-heading h1 { color:#173346 !important; letter-spacing:-.035em; }
.saksi-setup-heading p { color:var(--pro-muted) !important; }
.saksi-setup-actions { gap:12px !important; }
.saksi-setup-item {
  padding:13px !important;
  border:1px solid #e0e7eb !important;
  border-radius:13px !important;
  background:#f6f9fb !important;
}
.saksi-setup-item img { border-radius:11px !important; box-shadow:0 0 0 1px #c5d9e7; }
.saksi-setup-item strong { color:#1e3f55 !important; }
.saksi-setup-item small { color:#74877c !important; }
.saksi-setup-button { color:var(--pro-primary-dark) !important; background:#fff !important; border:1px solid #b0ccdf !important; box-shadow:var(--pro-shadow-xs); }
.saksi-setup-checks span { border-radius:999px !important; }
.saksi-start-button { min-height:50px !important; font-size:.9rem !important; }
.saksi-ready-panel { padding:13px 14px !important; }
.saksi-count-toolbar { gap:10px !important; }
.saksi-simple-candidate { overflow:hidden; padding:18px !important; }
.saksi-candidate-pill { color:#fff !important; background:var(--pro-primary) !important; box-shadow:0 7px 16px rgba(6,81,132,.16); }
.saksi-candidate-photo {
  overflow:hidden;
  border:1px solid #caddea !important;
  border-radius:16px !important;
  background:#eef3f7 !important;
  box-shadow:0 10px 26px rgba(16,53,78,.10) !important;
}
.saksi-candidate-photo img { transition:transform .22s ease; }
.saksi-candidate-photo:hover img { transform:scale(1.015); }
.saksi-candidate-photo > span { background:linear-gradient(180deg,transparent,rgba(7,34,52,.82)) !important; }
.saksi-simple-candidate h1 { color:#183447 !important; letter-spacing:-.035em !important; }
.saksi-simple-counter {
  padding:11px !important;
  border:1px solid #dae2e8 !important;
  border-radius:15px !important;
  background:#f7f9fb !important;
}
.saksi-simple-counter > div strong { color:var(--pro-primary-dark) !important; }
.saksi-counter-minus,.saksi-counter-plus {
  width:54px !important;
  height:54px !important;
  border-radius:14px !important;
  box-shadow:0 7px 16px rgba(10,54,82,.10) !important;
}
.saksi-counter-minus { color:#9a3434 !important; background:#fff1f1 !important; border:1px solid #edc9c9 !important; }
.saksi-counter-plus { color:#fff !important; background:linear-gradient(145deg,#1176ba,#065184) !important; border:1px solid #065184 !important; }
.card-save-state { color:#4785ae !important; }
.saksi-auto-save-note {
  padding:12px 13px !important;
  border:1px solid #dae3e9 !important;
  border-radius:13px !important;
  background:#fff !important;
}
.saksi-auto-save-note > span { color:#fff !important; background:var(--pro-primary) !important; }
.saksi-simple-logout { color:#7a453f !important; background:#fff7f6 !important; border:1px solid #edd8d5 !important; border-radius:11px !important; }
.saksi-camera-modal,.vote-confirm-modal { backdrop-filter:blur(9px); }
.saksi-camera-card,.vote-confirm-card {
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:21px !important;
  box-shadow:var(--pro-shadow-lg) !important;
}
.saksi-camera-head { padding-bottom:12px; border-bottom:1px solid #e5eaee; }
.saksi-camera-preview { border-radius:15px !important; background:#112532 !important; }
.vote-confirm-icon { border-radius:16px !important; background:linear-gradient(145deg,#1277ba,#065184) !important; }

/* Witness validation */
.saksi-validation-topbar { padding:13px 15px !important; }
.saksi-final-status,.saksi-final-summary,.saksi-final-card { padding:15px !important; }
.saksi-final-summary-photo { border-radius:14px !important; box-shadow:0 0 0 1px #c6dae8; }
.saksi-final-summary-content strong,.saksi-final-result-value > strong { color:var(--pro-primary-dark) !important; }
.saksi-final-card-head { padding-bottom:11px; border-bottom:1px solid #e5ebef; }
.saksi-checkline {
  padding:11px 12px !important;
  border:1px solid #e1e8ec !important;
  border-radius:11px !important;
  background:#f7f9fb !important;
}
.saksi-report-preview { border-radius:14px !important; box-shadow:0 8px 20px rgba(20,52,74,.09); }

@media (max-width: 1180px) {
  :root { --sidebar: 250px; }
  .erp-content { padding:24px 22px 34px !important; }
  .compact-stat-grid,.witness-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 900px) {
  .erp-main { margin-left:0 !important; }
  .erp-sidebar { width:min(290px,86vw) !important; transform:translateX(-105%); transition:transform .22s ease; }
  .erp-shell.sidebar-open .erp-sidebar { transform:translateX(0); }
  .erp-shell.sidebar-open .erp-overlay { display:block !important; position:fixed; inset:0; z-index:45; background:rgba(6,23,34,.45); backdrop-filter:blur(3px); }
  .erp-menu-toggle { display:grid !important; place-items:center; }
  .erp-topbar { padding:0 16px !important; }
  .erp-content { padding:20px 16px 32px !important; }
  .erp-date { display:none; }
  .erp-page-heading { align-items:flex-start !important; }
  .witness-results-layout { grid-template-columns:1fr !important; }
  .tps-long-head { display:none !important; }
  .tps-long-row { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .tps-long-identity { grid-column:1/-1; }
  .tps-long-actions { grid-column:1/-1; justify-content:flex-start !important; }
}

@media (max-width: 680px) {
  .auth-page { padding:16px 12px !important; align-items:start !important; }
  .auth-card { margin-top:10px; padding:24px 20px !important; border-radius:20px !important; }
  .install-card { padding:23px 18px !important; }
  .form-grid { grid-template-columns:1fr !important; }
  .full { grid-column:auto !important; }
  .erp-topbar { height:66px !important; }
  .erp-breadcrumb span { display:none; }
  .erp-breadcrumb strong { font-size:.88rem !important; }
  .erp-live-chip { padding:6px 8px !important; }
  .erp-content { padding:16px 12px 28px !important; }
  .erp-page-heading { display:grid !important; gap:12px !important; margin-bottom:17px !important; }
  .erp-page-heading h1 { font-size:1.55rem !important; }
  .erp-page-heading p { font-size:.8rem !important; }
  .erp-panel,.v5-panel,.admin-subpage-section,.master-form-card,.master-list-card,.witness-form-card,.witness-list-card,.action-list-panel,.table-panel,.export-panel { padding:16px !important; border-radius:14px !important; }
  .compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.witness-result-summary { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .compact-stat-card,.witness-stat-grid article,.v5-kpi-card,.witness-result-summary article { min-height:104px; padding:14px !important; }
  .compact-stat-card strong,.witness-stat-grid article strong,.v5-kpi-card strong,.witness-result-summary article strong { font-size:1.65rem !important; }
  .record-table th,.record-table td,.witness-result-table th,.witness-result-table td { padding:10px 11px !important; }
  .witness-result-summary { padding:14px 16px 0 !important; }
  .witness-results-layout { padding:14px 16px 17px !important; }
  .v5-global-panel > .v5-panel-head,.witness-results-head { padding:16px !important; }
  body .v5-candidate-grid { padding:15px !important; }
  body .v5-candidate-card { min-height:470px !important; }
  .saksi-simple-body > .container { width:min(100% - 18px,760px) !important; padding-top:9px !important; }
  .saksi-simple-header { border-radius:14px !important; }
  .saksi-simple-identity { grid-template-columns:1fr !important; gap:12px !important; }
  .saksi-person-mini { padding-top:11px; border-top:1px solid #e3e9ed; }
  .saksi-setup-card { padding:16px !important; }
  .saksi-setup-item { grid-template-columns:70px 1fr !important; }
  .saksi-setup-item img { width:70px !important; height:70px !important; }
  .saksi-setup-item .saksi-setup-button { grid-column:1/-1; width:100%; }
  .saksi-count-toolbar { grid-template-columns:1fr !important; }
  .saksi-back-button { width:100%; }
  .saksi-simple-candidate { padding:14px !important; }
  .saksi-counter-minus,.saksi-counter-plus { width:50px !important; height:50px !important; }
  .saksi-count-bottom { grid-template-columns:1fr !important; }
  .saksi-final-actions { grid-template-columns:1fr !important; }
  .vote-confirm-actions { grid-template-columns:1fr !important; }
  .app-notification-root { top:auto !important; bottom:max(14px,env(safe-area-inset-bottom)) !important; }
  .app-notification-popup { place-items:end center !important; padding:14px !important; }
  .toast-stack { right:10px !important; left:10px; bottom:74px !important; }
  .toast { min-width:0; width:100%; }
}

@media (max-width: 430px) {
  .compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.witness-result-summary { grid-template-columns:1fr !important; }
  .erp-live-chip { font-size:.58rem !important; }
  .saksi-simple-brand div small { display:none; }
  .saksi-simple-header { padding:11px 12px !important; }
  .saksi-connection { font-size:.6rem !important; }
  .saksi-simple-counter { grid-template-columns:50px 1fr 50px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}


/* v10.59 — DANA-inspired blue identity across web and installed app */
:root {
  --dana-blue: #118eea;
  --dana-blue-bright: #29a6f6;
  --dana-blue-dark: #0872b9;
  --dana-navy: #0b3f72;
  --dana-sky: #e8f5ff;
  --dana-sky-2: #d9efff;
  --green: #118eea !important;
  --green-2: #087ac1 !important;
  --green-soft: #e2f3ff !important;
  --mint-sidebar: #e8f5ff !important;
}
html,body { background-color:#f3f9ff !important; }
body {
  background:
    radial-gradient(circle at 92% -10%, rgba(17,142,234,.10), transparent 34rem),
    radial-gradient(circle at 0% 88%, rgba(41,166,246,.07), transparent 30rem),
    linear-gradient(180deg,#f8fcff 0%,#f1f8ff 100%) !important;
}
::selection { background:#118eea !important; }
:focus-visible { outline-color:rgba(17,142,234,.34) !important; }

/* Admin shell */
.erp-sidebar {
  color:#fff !important;
  background:linear-gradient(180deg,#087ac1 0%,#0b6fb5 52%,#075b96 100%) !important;
  border-right:1px solid rgba(255,255,255,.16) !important;
  box-shadow:14px 0 40px rgba(5,85,145,.16) !important;
}
.erp-sidebar * { border-color:rgba(255,255,255,.14); }
.erp-brand-block strong,.erp-brand-block small,.erp-workspace-label,.erp-nav a,.erp-nav-parent,.erp-nav button,
.erp-sidebar-info,.erp-sidebar-info small,.erp-sidebar-user,.erp-sidebar-user small,.erp-sidebar-user a { color:#fff !important; }
.erp-workspace-label,.erp-sidebar-info small,.erp-sidebar-user small { color:#d9efff !important; }
.erp-brand-mark,.erp-avatar {
  color:#087ac1 !important;
  background:#fff !important;
  box-shadow:0 8px 22px rgba(1,52,92,.20) !important;
}
.erp-nav a,.erp-nav-parent { border:1px solid transparent !important; }
.erp-nav-main:hover,.erp-nav-parent:hover,.erp-nav a:hover {
  color:#fff !important;
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.15) !important;
}
.erp-nav a.active,.erp-nav-parent.active {
  color:#0872b9 !important;
  background:#fff !important;
  border-color:rgba(255,255,255,.55) !important;
  box-shadow:0 10px 24px rgba(2,60,104,.20) !important;
}
.erp-subnav { background:rgba(4,81,137,.34) !important; border-color:rgba(255,255,255,.12) !important; }
.erp-subnav a.active { color:#0872b9 !important; background:#fff !important; }
.erp-sidebar-info,.erp-sidebar-user { background:rgba(1,48,84,.22) !important; border-color:rgba(255,255,255,.16) !important; }
.erp-sidebar-info::before { background:#4ee29b !important; box-shadow:0 0 0 6px rgba(78,226,155,.18) !important; }
.erp-topbar { background:rgba(255,255,255,.94) !important; border-bottom-color:#d6e8f5 !important; }
.erp-topbar .btn-primary,.erp-topbar-action,.notification-button,.notification-trigger {
  color:#fff !important;
  background:linear-gradient(135deg,#29a6f6,#118eea) !important;
  border-color:#118eea !important;
}

/* Primary controls */
.btn-primary,.saksi-setup-button,.saksi-start-button,.saksi-finalize-open,.saksi-submit-button,.saksi-upload-primary,
.app-notification-action,body.saksi-apk-login .btn-primary {
  background:linear-gradient(135deg,#29a6f6,#118eea 58%,#0872b9) !important;
  border-color:#0d82d5 !important;
  box-shadow:0 10px 24px rgba(17,142,234,.25) !important;
}
.btn-primary:hover:not(:disabled),.saksi-setup-button:hover:not(:disabled),.saksi-start-button:hover:not(:disabled),
.saksi-finalize-open:hover:not(:disabled),.saksi-submit-button:hover:not(:disabled),.saksi-upload-primary:hover:not(:disabled) {
  background:linear-gradient(135deg,#159bf1,#0879c8) !important;
  box-shadow:0 14px 30px rgba(17,142,234,.30) !important;
}
.btn-dark { background:#0b3f72 !important; border-color:#0b3f72 !important; }
.btn-light:hover:not(:disabled),.saksi-back-button:hover:not(:disabled),.saksi-upload-secondary:hover:not(:disabled) {
  color:#0872b9 !important; border-color:#9fd0f2 !important; background:#eaf6ff !important;
}
input:focus,textarea:focus,select:focus { border-color:#118eea !important; box-shadow:0 0 0 4px rgba(17,142,234,.13) !important; }
input[type="checkbox"],input[type="radio"] { accent-color:#118eea !important; }

/* Surfaces and KPI cards */
.erp-page-card,.erp-panel,.v5-section-card,.v5-kpi-card,.compact-stat-card,.entity-card,.witness-card,.table-card,.auth-card,
.saksi-simple-header,.saksi-simple-identity,.saksi-setup-card,.saksi-ready-panel,.saksi-simple-candidate,.saksi-auto-save-note {
  border-color:#d3e7f5 !important;
}
.v5-kpi-card:nth-child(4n+1),.compact-stat-card:nth-child(4n+1),.witness-stat-grid article:nth-child(4n+1) {
  border-left-color:#118eea !important; background:linear-gradient(145deg,#e8f5ff,#dff1ff) !important;
}
.v5-kpi-card:nth-child(4n+2),.compact-stat-card:nth-child(4n+2),.witness-stat-grid article:nth-child(4n+2) {
  border-left-color:#42aef1 !important; background:linear-gradient(145deg,#edf8ff,#d8efff) !important;
}
.v5-kpi-card:nth-child(4n+3),.compact-stat-card:nth-child(4n+3),.witness-stat-grid article:nth-child(4n+3) {
  border-left-color:#087ac1 !important; background:linear-gradient(145deg,#e5f3ff,#d3eaff) !important;
}
.v5-kpi-card:nth-child(4n+4),.compact-stat-card:nth-child(4n+4),.witness-stat-grid article:nth-child(4n+4) {
  border-left-color:#4e83d7 !important; background:linear-gradient(145deg,#edf4ff,#e2ecff) !important;
}
.entity-card:nth-child(4n+1),.entity-card:nth-child(4n+2),.entity-card:nth-child(4n+3),.entity-card:nth-child(4n+4) {
  background:linear-gradient(150deg,#fff,#f1f8ff) !important;
}
.witness-card:nth-child(4n+1),.entity-card:nth-child(4n+1) { border-top-color:#118eea !important; }
.witness-card:nth-child(4n+2),.entity-card:nth-child(4n+2) { border-top-color:#42aef1 !important; }
.witness-card:nth-child(4n+3),.entity-card:nth-child(4n+3) { border-top-color:#087ac1 !important; }
.witness-card:nth-child(4n+4),.entity-card:nth-child(4n+4) { border-top-color:#4e83d7 !important; }
.erp-overline,.v5-overline,.auth-kicker,.witness-section-kicker,.submenu-kicker,.erp-section-label,.entity-eyebrow,.candidate-input-label {
  color:#087ac1 !important;
}

/* Login, install, registration, and installed-app/PWA experience */
.auth-page,body.saksi-apk-login {
  background:
    radial-gradient(circle at 8% 10%,rgba(17,142,234,.18),transparent 28rem),
    radial-gradient(circle at 92% 88%,rgba(41,166,246,.13),transparent 25rem),
    linear-gradient(145deg,#e6f4ff 0%,#f8fcff 55%,#edf7ff 100%) !important;
}
.auth-card::before { background:linear-gradient(90deg,#0872b9,#118eea,#58baf6) !important; }
.auth-card::after { background:rgba(17,142,234,.07) !important; }
.logo-box,.apk-login-logo,.saksi-simple-logo {
  color:#fff !important;
  background:linear-gradient(145deg,#29a6f6,#118eea 60%,#0872b9) !important;
  box-shadow:0 12px 26px rgba(17,142,234,.27) !important;
}
.apk-login-head,body.saksi-apk-login form label { color:#0b3f72 !important; }
body.saksi-apk-login form input { border-color:#add7f3 !important; background:#f8fcff !important; }
body.saksi-apk-login .password-field button { color:#0872b9 !important; }

/* Witness/mobile app */
.saksi-simple-header { background:linear-gradient(115deg,#075f9e 0%,#118eea 64%,#36adf7 135%) !important; }
.saksi-simple-brand small { color:#d9efff !important; }
.saksi-simple-identity,.saksi-setup-item,.saksi-ready-panel.is-ready,.saksi-auto-save-note {
  background:linear-gradient(135deg,#e9f6ff,#f8fcff) !important;
  border-color:#b9ddf4 !important;
}
.saksi-setup-card { border-top-color:#118eea !important; }
.saksi-setup-heading span,.saksi-setup-heading h1,.saksi-location-icon,.saksi-assignment strong,.saksi-person-mini strong {
  color:#0872b9 !important;
}
.saksi-location-icon,.saksi-mini-photo,.saksi-photo-action { background:#dff2ff !important; }
.saksi-start-button { background:linear-gradient(135deg,#3db2f7,#118eea 60%,#0872b9) !important; }
.saksi-simple-candidate { border-top-color:#118eea !important; background:linear-gradient(160deg,#fff,#eef8ff) !important; }
.saksi-candidate-pill { color:#0872b9 !important; background:#e2f3ff !important; border-color:#83c9f5 !important; }
.saksi-candidate-photo { background:#dff2ff !important; box-shadow:0 10px 26px rgba(17,142,234,.16) !important; }
.saksi-candidate-photo span { background:rgba(5,85,145,.92) !important; }
.saksi-simple-candidate h1,.candidate-focus-result>strong,.candidate-focus-result>span { color:#0872b9 !important; }
.saksi-auto-save-note>span { background:#118eea !important; }

/* PWA/app polish */
@media (display-mode:standalone) {
  body { overscroll-behavior-y:none; }
  .erp-topbar,.saksi-simple-header { padding-top:max(12px,env(safe-area-inset-top)) !important; }
}

/* v10.59 workflow and usability refinements */
.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 300;
  padding: 10px 14px;
  color: #fff;
  background: #075f9d;
  border-radius: 10px;
  transform: translateY(-160%);
  transition: transform .15s ease;
}
.skip-link:focus { transform: translateY(0); }

.erp-topbar {
  position: sticky !important;
  top: 0;
  z-index: 35;
  border-bottom: 1px solid rgba(190,216,236,.9) !important;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 18px rgba(18,73,112,.045);
}
.erp-content {
  width: 100%;
  max-width: 1680px;
  margin-inline: auto;
}
.erp-topbar-right { padding-right: 58px; }
.network-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #cde1ef;
  border-radius: 999px;
  color: #286b99;
  background: #f2f9ff;
  font-size: .62rem;
  font-weight: 950;
  letter-spacing: .06em;
}
.network-status i { width: 7px; height: 7px; border-radius: 50%; background: #20a464; box-shadow: 0 0 0 4px rgba(32,164,100,.12); }
.network-status.is-offline { color: #a23b3b; border-color: #f1caca; background: #fff4f4; }
.network-status.is-offline i { background: #db4444; box-shadow: 0 0 0 4px rgba(219,68,68,.12); }
.app-is-offline .erp-live-chip { opacity: .55; }

.erp-nav-main,
.erp-nav-parent,
.erp-subnav a { position: relative; }
.erp-nav-main.active::before,
.erp-nav-parent.active::before {
  content: "";
  position: absolute;
  inset: 11px auto 11px 0;
  width: 3px;
  border-radius: 4px;
  background: #fff;
}
.erp-subnav a.subnav-active {
  color: #fff !important;
  background: rgba(255,255,255,.13) !important;
  box-shadow: inset 3px 0 #6cc4ff;
}
.erp-subnav a:hover { background: rgba(255,255,255,.09) !important; }
.erp-nav-parent[aria-expanded="true"] .nav-caret { transform: rotate(180deg); }
.nav-caret { transition: transform .16s ease; }

.admin-subpage-section.is-active-section { animation: pageEnter .18s ease both; }
@keyframes pageEnter { from { opacity: .25; transform: translateY(5px); } to { opacity: 1; transform: none; } }

.search-control-wrap { width:min(430px,100%); flex:0 1 430px; }
.search-control-wrap .compact-input { width:100% !important; }
.search-result-meta {
  margin-top: 7px;
  color: #66849a;
  font-size: .69rem;
  font-weight: 750;
  white-space: nowrap;
}
.search-empty-state {
  grid-column: 1 / -1;
  padding: 28px 18px;
  text-align: center;
  border: 1px dashed #bed7e9;
  border-radius: 14px;
  color: #5c7b91;
  background: #f8fcff;
}
.search-empty-state strong,
.search-empty-state span { display: block; }
.search-empty-state strong { margin-bottom: 5px; color: #234f70; }

form.is-submitting { opacity: .78; cursor: wait; }
form.is-submitting * { cursor: wait !important; }
button:disabled,input:disabled,select:disabled,textarea:disabled { opacity: .62; cursor: not-allowed !important; }

.record-table-wrap,
.witness-result-table-wrap { overscroll-behavior-inline: contain; }
.record-table thead th,
.witness-result-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef7ff !important;
  box-shadow: inset 0 -1px #d5e6f4;
}
.record-table tbody tr:hover,
.witness-result-table tbody tr:hover { background: #f5faff !important; }

.app-notification-admin { top: 12px !important; right: 16px !important; z-index: 60 !important; }
.app-notification-bell { box-shadow: 0 7px 18px rgba(15,84,132,.14) !important; }

@media (max-width: 900px) {
  .erp-topbar-right { padding-right: 52px; }
  .network-status span { display: none; }
  .network-status { width: 30px; justify-content: center; padding: 0; }
  .erp-panel-head { align-items: stretch !important; }
  .search-control-wrap { width:100%; flex-basis:auto; }
  .search-result-meta { white-space: normal; }
}

@media (max-width: 680px) {
  .erp-topbar-right { gap: 6px !important; padding-right: 45px; }
  .network-status { display: none; }
  .app-notification-admin { top: auto !important; right: max(12px,env(safe-area-inset-right)) !important; bottom: max(12px,env(safe-area-inset-bottom)) !important; }
  .record-table-wrap,
  .witness-result-table-wrap { margin-inline: -6px; padding-inline: 6px; }
}
.settings-account-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); gap:16px; align-items:start; }
@media (max-width: 980px) { .settings-account-grid { grid-template-columns:1fr; } }

/* v10.60 compact sidebar refinement */
:root {
  --sidebar: 232px;
  --topbar: 70px;
}
body.erp-body .erp-sidebar {
  padding: 18px 14px;
  gap: 12px;
}
body.erp-body .erp-main { margin-left: var(--sidebar); }
body.erp-body .erp-content { padding: 22px; }
body.erp-body .erp-topbar { height: var(--topbar); padding: 0 22px; }
body.erp-body .erp-brand-mark,
body.erp-body .logo-box { width: 42px; height: 42px; border-radius: 14px; }
body.erp-body .erp-brand-block strong { font-size: .95rem; }
body.erp-body .erp-brand-block small { font-size: .70rem; }
body.erp-body .erp-workspace-label { font-size: .60rem; letter-spacing: .16em; margin-top: 2px; }
body.erp-body .erp-nav,
body.erp-body .erp-nav-with-submenu { gap: 5px; }
body.erp-body .erp-nav svg { width: 17px; height: 17px; }
body.erp-body .erp-nav a {
  min-height: 38px;
  gap: 9px;
  padding: 9px 10px;
  border-radius: 12px;
  font-size: .83rem;
  font-weight: 780;
}
body.erp-body .erp-subnav {
  margin: 1px 0 3px 23px;
  padding: 6px;
  border-radius: 12px;
}
body.erp-body .erp-subnav a {
  min-height: 30px;
  padding: 7px 9px;
  border-radius: 9px;
  font-size: .74rem;
  font-weight: 720;
}
body.erp-body .erp-sidebar-info,
body.erp-body .erp-sidebar-user {
  padding: 10px;
  gap: 8px;
  border-radius: 14px;
}
body.erp-body .erp-sidebar-info strong,
body.erp-body .erp-sidebar-user strong { font-size: .78rem; }
body.erp-body .erp-sidebar-info small,
body.erp-body .erp-sidebar-user small { font-size: .67rem; }
body.erp-body .erp-avatar { width: 34px; height: 34px; border-radius: 11px; font-size: .82rem; }
body.erp-body .erp-system-dot { width: 8px; height: 8px; box-shadow: 0 0 0 5px rgba(10,141,228,.12); }
body.erp-body .erp-breadcrumb span { font-size: .70rem; }
body.erp-body .erp-breadcrumb strong { font-size: .94rem; }
body.erp-body .erp-live-chip { padding: 7px 10px; font-size: .68rem; }
body.erp-body .erp-date { font-size: .76rem; }
body.erp-body .erp-page-heading { margin-bottom: 16px; }
body.erp-body .erp-page-heading h1 { font-size: 1.82rem; }
body.erp-body .erp-page-heading p { font-size: .92rem; }
body.erp-body .btn { min-height: 40px; }
body.erp-body .erp-panel,
body.erp-body .v5-panel,
body.erp-body .master-form-card,
body.erp-body .master-list-card,
body.erp-body .witness-form-card,
body.erp-body .witness-list-card,
body.erp-body .candidate-admin-card,
body.erp-body .settings-preview-card,
body.erp-body .entity-card,
body.erp-body .witness-card,
body.erp-body .action-list-panel { padding: 18px; }
body.erp-body .compact-stat-grid,
body.erp-body .witness-stat-grid { gap: 12px; }
body.erp-body .compact-stat-card { padding: 16px; }

@media (max-width: 1180px) {
  :root { --sidebar: 232px; }
  body.erp-body .erp-main { margin-left: 0; }
}
