:root{
  --bg:#f6f8f9;--surface:#ffffff;--surface-2:#f7f9fb;--ink:#0d1c26;--muted:#64756b;--line:#dfe6eb;
  --green:#0a8de4;--green-2:#065991;--green-soft:#e7f1f7;--red:#d93636;--red-soft:#fff0f0;--amber:#b7791f;--amber-soft:#fff8e6;
  --blue:#2563eb;--blue-soft:#eef4ff;--shadow:0 14px 35px rgba(8,30,44,.08);--shadow-soft:0 8px 18px rgba(8,30,44,.06);
  --radius:18px;--radius-sm:12px;--sidebar:286px;--topbar:72px;
}
*{box-sizing:border-box}html{min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;min-height:100%;line-height:1.45}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}.full{grid-column:1/-1!important}.container{width:min(1180px,calc(100vw - 28px));margin:0 auto;padding:24px 0}.topbar{min-height:72px;padding:12px max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{font-size:1.1rem;font-weight:900}.topbar small{display:block;color:var(--muted);font-size:.78rem}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{background:var(--green-soft);color:var(--green-2);padding:9px 12px;border-radius:999px;font-weight:850;font-size:.82rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:10px 14px;min-height:42px;font-weight:900;line-height:1;background:#eff3f6;color:#173040;transition:.16s ease;box-shadow:none}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#071d2c;box-shadow:0 10px 20px rgba(10,141,228,.18)}.btn-dark{background:#0e1f29;color:#fff}.btn-light{background:#eff4f7;color:#173040;border:1px solid var(--line)}.btn-danger,.btn-danger-soft{background:var(--red-soft);color:#a32020}.btn-success-soft{background:var(--green-soft);color:var(--green-2)}.btn-small{min-height:34px;padding:7px 10px;font-size:.78rem}.btn-large{min-height:48px}.btn-block{width:100%}.alert{border-radius:14px;padding:12px 14px;margin:0 0 16px;font-weight:800;border:1px solid var(--line);background:#fff}.alert-success{background:var(--green-soft);border-color:#cee1ee;color:var(--green-2)}.alert-error{background:var(--red-soft);border-color:#ffd4d4;color:#9c2323}.toast-stack{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;z-index:9999}.toast{background:#0e1f29;color:#fff;padding:12px 14px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.2s}.toast.show{opacity:1;transform:translateY(0)}

/* Auth */
.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#f1f6fa,transparent 42%),var(--bg);padding:24px}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:30px}.install-card{width:min(820px,100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo-box,.erp-brand-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#4eaeee);font-weight:1000;color:#062032}.auth-brand strong{display:block;font-size:1.05rem}.auth-brand small{display:block;color:var(--muted);font-weight:750}.auth-kicker,.eyebrow,.erp-overline,.v5-overline,.witness-section-kicker,.submenu-kicker,.erp-section-label,.entity-eyebrow,.candidate-input-label{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-2);font-weight:950}.auth-card h1{font-size:2rem;letter-spacing:-.05em;margin:0 0 8px}.auth-card p{color:var(--muted);margin:0 0 20px}.auth-card form{display:grid;gap:14px}.auth-footnote{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.78rem;margin-top:18px}.password-field{display:grid;grid-template-columns:1fr auto;gap:8px}.password-field button{border:1px solid var(--line);background:#f5f7f8;border-radius:12px;padding:0 12px;font-weight:850}

/* Forms */
label{display:grid;gap:7px;font-weight:900;font-size:.84rem;color:#162e3e}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:11px 12px;outline:0;transition:.16s}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(10,141,228,.14)}label small{font-weight:750;color:var(--muted);font-size:.75rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}.mini-counter{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center}.mini-counter button,.counter-btn{border:0;border-radius:12px;background:#eef3f7;font-size:1.2rem;font-weight:1000;min-height:42px}.mini-counter strong{text-align:center;font-size:1.35rem}.empty-state,.erp-empty{border:1px dashed #bed5e4;border-radius:16px;padding:18px;color:var(--muted);background:#f6f9fb;text-align:center;font-weight:800}

/* Admin shell */
.erp-body{background:var(--bg)}.erp-shell{min-height:100vh}.erp-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#0d1c26;color:#f3f8fb;padding:22px 18px;display:flex;flex-direction:column;gap:16px;z-index:50;box-shadow:18px 0 42px rgba(8,23,32,.12)}.erp-main{margin-left:var(--sidebar);min-height:100vh}.erp-content{padding:26px;max-width:1540px;margin:0 auto}.erp-topbar{position:sticky;top:0;z-index:25;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 26px}.erp-menu-toggle{display:none;border:0;background:#eff4f7;border-radius:12px;width:42px;height:42px;font-weight:1000}.erp-brand-block{display:flex;align-items:center;gap:12px}.erp-brand-block strong{display:block;line-height:1.15}.erp-brand-block small{display:block;color:#98bdd5;font-size:.76rem;font-weight:750}.erp-workspace-label{font-size:.68rem;letter-spacing:.14em;color:#6ca0c3;font-weight:950;margin-top:4px}.erp-nav,.erp-nav-with-submenu{display:grid;gap:7px;overflow-y:auto;padding-right:2px}.erp-nav svg{width:19px;height:19px;fill:currentColor;flex:0 0 auto}.erp-nav a{display:flex;align-items:center;gap:10px;min-height:42px;border-radius:13px;color:#d8e7f1;padding:11px 12px;font-weight:850}.erp-nav-main:hover,.erp-nav-parent:hover,.erp-nav a.active{background:rgba(255,255,255,.10);color:#fff}.erp-nav a.active{box-shadow:inset 3px 0 0 var(--green)}.erp-nav-group{display:grid;gap:4px}.erp-nav-parent{justify-content:space-between}.erp-nav-parent span{margin-right:auto}.nav-caret{font-style:normal;color:#91b8d2;transition:.16s}.erp-nav-group.open .nav-caret{transform:rotate(180deg)}.erp-subnav{display:none;margin:2px 0 4px 28px;padding:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.07);border-radius:14px;gap:3px}.erp-nav-group.open .erp-subnav{display:grid}.erp-subnav a{min-height:32px;padding:8px 10px;font-size:.78rem;color:#c3d9e7;border-radius:10px}.erp-subnav a.subnav-active,.erp-subnav a:hover{background:rgba(10,141,228,.17);color:#fff}.erp-sidebar-info,.erp-sidebar-user{margin-top:auto;display:flex;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.06);border-radius:16px;padding:12px}.erp-sidebar-user{margin-top:0}.erp-sidebar-info strong,.erp-sidebar-user strong{display:block;font-size:.84rem}.erp-sidebar-info small,.erp-sidebar-user small{display:block;color:#98bdd5;font-size:.72rem}.erp-system-dot{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 6px rgba(10,141,228,.13)}.erp-avatar{width:38px;height:38px;border-radius:12px;background:#0a8de4;color:#071d2c;display:grid;place-items:center;font-weight:1000;flex:0 0 auto}.erp-sidebar-user a{margin-left:auto;color:#fff;opacity:.8}.erp-breadcrumb span{display:block;color:var(--muted);font-weight:850;font-size:.75rem}.erp-breadcrumb strong{display:block;font-size:1rem}.erp-topbar-right{display:flex;align-items:center;gap:10px}.erp-live-chip{display:flex;align-items:center;gap:7px;border:1px solid #d0e3ef;background:var(--green-soft);color:var(--green-2);border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:950}.erp-live-chip i{width:8px;height:8px;border-radius:99px;background:var(--green);box-shadow:0 0 0 5px rgba(10,141,228,.18)}.erp-date{color:var(--muted);font-size:.82rem;font-weight:850}.erp-overlay{display:none}

/* Admin common pages */
.erp-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.erp-page-heading h1{font-size:2rem;letter-spacing:-.05em;margin:4px 0 8px}.erp-page-heading p{margin:0;color:var(--muted);max-width:780px}.erp-panel,.v5-panel,.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{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.erp-panel-head,.v5-panel-head,.panel-head,.entity-card-head,.witness-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.erp-panel-head h2,.v5-panel-head h2,.panel-head h2{font-size:1.18rem;margin:3px 0 5px;letter-spacing:-.02em}.erp-panel-head p,.v5-panel-head p,.panel-head p{margin:0;color:var(--muted);font-size:.9rem}.compact-stat-grid,.witness-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.compact-stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-soft)}.compact-stat-card span{display:block;color:var(--muted);font-size:.75rem;font-weight:900}.compact-stat-card strong{display:block;font-size:2rem;line-height:1.1;margin:5px 0;letter-spacing:-.05em}.compact-stat-card small{color:var(--muted);font-weight:750}.admin-float-layout{display:block}.admin-float-submenu{display:none!important}.admin-float-content{display:block}.admin-subpage-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px}.admin-subpage-section[hidden]{display:none!important}.admin-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-section-title h2{font-size:1.25rem;margin:3px 0 6px;letter-spacing:-.03em}.admin-section-title p{margin:0;color:var(--muted)}.entity-card-grid,.witness-card-grid,.candidate-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.entity-card,.witness-card{padding:18px}.entity-icon,.form-card-icon,.assignment-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--green-soft);color:var(--green-2);font-weight:1000}.entity-address{color:var(--muted);margin:8px 0}.entity-metrics,.witness-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.entity-metrics div,.witness-meta-grid div{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:10px}.entity-metrics span,.witness-meta-grid span{display:block;color:var(--muted);font-size:.72rem;font-weight:850}.entity-metrics strong,.witness-meta-grid strong{display:block;margin-top:3px}.entity-card-footer,.witness-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.online-pill,.status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:950;background:#eef3f7;color:#26485e}.online-pill.online,.status-verified,.status-locked{background:var(--green-soft);color:var(--green-2)}.status-submitted{background:var(--blue-soft);color:var(--blue)}.status-revision{background:var(--amber-soft);color:var(--amber)}.status-draft{background:#eef2f4;color:#53616a}.witness-avatar-photo,.witness-avatar{width:56px;height:56px;border-radius:16px;object-fit:cover;background:#e9f0f5;display:grid;place-items:center;font-weight:1000}.reset-password-row,.action-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface-2);margin-bottom:10px}.inline-reset-form{display:flex;gap:8px;align-items:center}.erp-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.empty-select-notice{background:var(--amber-soft);border:1px solid #fde7a8;color:var(--amber);border-radius:14px;padding:12px;margin-bottom:14px;font-weight:850}.candidate-admin-cover{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#eef3f7;border:1px solid var(--line);position:relative}.candidate-admin-cover img{width:100%;height:100%;object-fit:cover}.candidate-admin-no{position:absolute;top:12px;left:12px;background:#0e1f29;color:#fff;border-radius:999px;padding:6px 9px;font-weight:1000;font-size:.76rem}.candidate-admin-body{padding-top:13px}.candidate-admin-body h3{font-size:1.1rem;margin:0 0 10px}.candidate-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-preview-card{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}.settings-preview-logo{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--green),#4caef0);display:grid;place-items:center;font-weight:1000;font-size:1.4rem;color:#062032}

/* Dashboard */
.v5-admin-dashboard{display:grid;gap:18px}.v5-hero-card{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#0e1f29,#1b4058);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow)}.v5-hero-card h1{font-size:2.1rem;line-height:1.05;margin:5px 0 8px;letter-spacing:-.06em}.v5-hero-card p{margin:0;color:#c5dae8}.v5-hero-actions,.v5-global-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.v5-panel{padding:20px}.v5-global-panel{cursor:pointer}.v5-leader-badge{min-width:220px;border:1px solid #dae8f2;background:var(--green-soft);border-radius:14px;padding:10px 12px;color:var(--green-2)}.v5-leader-badge span{display:block;font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.v5-leader-badge strong{display:block;margin-top:3px;font-size:.86rem}.v5-candidate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v5-candidate-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;min-width:0}.v5-candidate-photo-box{position:relative;aspect-ratio:4/5;background:#eef3f7;overflow:hidden}.v5-candidate-photo-box img{width:100%;height:100%;object-fit:cover;object-position:center top}.v5-candidate-photo-box span{position:absolute;left:12px;top:12px;background:rgba(14,31,41,.86);color:#fff;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:1000}.v5-candidate-info{padding:13px}.v5-candidate-info strong{display:block;font-size:1rem;line-height:1.22;min-height:2.44em}.v5-candidate-result{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:12px 0 10px}.v5-candidate-result b{font-size:1.6rem;line-height:1;letter-spacing:-.05em}.v5-candidate-result small{color:var(--muted);font-weight:850}.v5-candidate-percent{display:grid;gap:6px}.v5-candidate-percent span{color:var(--green-2);font-weight:950;font-size:.8rem}.v5-candidate-percent i{display:block;height:8px;border-radius:999px;background:#e9eef2;overflow:hidden}.v5-candidate-percent em{display:block;height:100%;border-radius:999px;background:var(--green)}.v5-kpi-grid,.v5-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.v5-kpi-card,.v5-status-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:18px}.v5-kpi-card span,.v5-status-grid span{display:block;color:var(--muted);font-weight:900;font-size:.76rem}.v5-kpi-card strong,.v5-status-grid strong{display:block;margin:5px 0 3px;font-size:2rem;line-height:1;letter-spacing:-.06em}.v5-kpi-card small{color:var(--muted);font-weight:750}.v5-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:18px}.v5-progress-body{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}.v5-progress-ring{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) calc(var(--progress,0)*1%), #e8edf0 0);position:relative}.v5-progress-ring::after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.v5-progress-ring div{position:relative;z-index:1;text-align:center}.v5-progress-ring strong{display:block;font-size:2rem;letter-spacing:-.06em}.v5-progress-ring span{color:var(--muted);font-size:.76rem;font-weight:850}.v5-progress-list{display:grid;gap:8px}.v5-progress-list>div{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:13px;padding:10px;background:#f6f9fb}.v5-activity-list{display:grid;gap:10px;max-height:320px;overflow:auto;padding-right:4px}.v5-activity-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:10px;background:#f6f9fb}.v5-activity-dot{width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green-2);display:grid;place-items:center;font-weight:1000}.v5-activity-item strong{display:block;font-size:.88rem}.v5-activity-item p{margin:3px 0;color:var(--muted);font-size:.78rem}.v5-activity-item small{color:var(--muted);font-weight:800}.global-fullscreen{position:fixed;inset:0;background:rgba(5,14,21,.72);z-index:9990;display:none;padding:26px;overflow:auto}.global-fullscreen.show{display:block}.v5-fullscreen-card{background:#fff;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.28);padding:24px;max-width:1500px;margin:0 auto}.v5-fullscreen-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.global-close-btn{border:0;border-radius:14px;background:#0e1f29;color:#fff;padding:11px 14px;font-weight:900}.v5-candidate-grid-full .v5-candidate-photo-box{aspect-ratio:4/5}.v5-candidate-grid-full .v5-candidate-result b{font-size:2rem}

/* Saksi app */
.witness-app-shell{display:grid;gap:18px}.witness-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#0e1f29,#184460);color:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow)}.witness-header h1{font-size:2rem;margin:5px 0 6px;letter-spacing:-.06em}.witness-header p{margin:0;color:#caddea}.witness-location-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.witness-location-links a,.witness-location-links span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:8px 11px;color:#fff;font-weight:850;font-size:.8rem}.witness-sync-box{min-width:220px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:14px}.witness-sync-box small{display:block;color:#caddea;font-weight:900;font-size:.68rem;letter-spacing:.08em}.sync-status{margin-top:5px;font-weight:950}.witness-identity-card,.witness-guide-card,.witness-report{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);padding:18px}.witness-identity-card{display:grid;grid-template-columns:154px 1fr;gap:18px;align-items:center}.witness-profile-photo-wrap{position:relative;width:154px}.witness-profile-photo-wrap img{width:154px;height:154px;border-radius:24px;object-fit:cover;background:#eef3f7;border:4px solid #e6f0f6}.profile-photo-button{position:absolute;left:12px;right:12px;bottom:12px;display:block;background:rgba(14,31,41,.86);color:#fff;text-align:center;padding:9px 10px;border-radius:999px;font-size:.78rem}.witness-identity-copy h2{font-size:1.35rem;margin:4px 0 6px}.witness-identity-copy p{margin:0 0 12px;color:var(--muted)}.readiness-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.readiness-badge{display:inline-flex;border-radius:999px;padding:8px 10px;font-weight:950;font-size:.78rem;background:#eef2f4;color:#53616a}.readiness-badge.ready{background:var(--green-soft);color:var(--green-2)}.readiness-badge.missing{background:var(--amber-soft);color:var(--amber)}.setup-notice,.locked-notice,.revision-notice{border-radius:16px;padding:13px 15px;display:grid;gap:3px;border:1px solid var(--line);background:#fff}.setup-notice{background:var(--amber-soft);border-color:#fde8aa;color:#8a5c12}.locked-notice{background:var(--red-soft);border-color:#ffd2d2;color:#9c2323}.revision-notice{background:var(--blue-soft);border-color:#cfdcff;color:#1846a8}.witness-guide-card{display:flex;gap:14px;align-items:center}.guide-icon{width:54px;height:54px;border-radius:18px;background:var(--green-soft);color:var(--green-2);display:grid;place-items:center;font-weight:1000}.witness-guide-card p{margin:3px 0 0;color:var(--muted)}.vote-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.vote-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);padding:13px;display:grid;gap:11px}.candidate-label{display:flex;justify-content:space-between;align-items:center}.candidate-label span{color:var(--green-2);font-weight:950;font-size:.68rem;letter-spacing:.1em}.candidate-label strong{width:32px;height:32px;border-radius:10px;background:#0e1f29;color:#fff;display:grid;place-items:center}.photo-vote{border:0;padding:0;border-radius:18px;overflow:hidden;background:#eff4f7;aspect-ratio:4/5;position:relative}.photo-vote img{width:100%;height:100%;object-fit:cover;object-position:center top}.tap-hint{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(14,31,41,.84);color:#fff;border-radius:999px;padding:8px 9px;font-size:.78rem;font-weight:950}.vote-card h2{font-size:1rem;line-height:1.22;min-height:2.44em;margin:0}.counter{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:center}.counter-btn.plus{background:var(--green);color:#071d2c}.counter-btn.minus{background:#eef2f4;color:#26465c}.vote-display{text-align:center;background:#f6f9fb;border:1px solid var(--line);border-radius:14px;padding:8px}.vote-display strong{display:block;font-size:1.45rem;line-height:1}.vote-display small{color:var(--muted);font-weight:850}.card-save-state{font-size:.76rem;color:var(--muted);font-weight:800;text-align:center}.witness-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.witness-summary-strip div{border:1px solid var(--line);background:#f6f9fb;border-radius:14px;padding:12px}.witness-summary-strip small{display:block;color:var(--muted);font-weight:850}.witness-summary-strip strong{font-size:1.35rem}.validation-box{border-radius:12px;padding:11px;border:1px solid var(--line);background:#f6f9fb;font-weight:850}.validation-ok{background:var(--green-soft);border-color:#cee1ee;color:var(--green-2)}.validation-error{background:var(--red-soft);border-color:#ffd2d2;color:#9c2323}.validation-waiting{background:var(--amber-soft);border-color:#fde8aa;color:var(--amber)}.evidence-preview-wrap{display:grid;gap:10px}.evidence-preview-wrap img{max-height:320px;object-fit:contain;background:#f5f7f8;border:1px solid var(--line);border-radius:16px;padding:8px}

/* Responsive */
@media(max-width:1180px){.v5-candidate-grid,.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-bottom-grid{grid-template-columns:1fr}.compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.v5-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-card-grid,.witness-card-grid,.candidate-admin-grid{grid-template-columns:1fr}.v5-progress-body{grid-template-columns:160px 1fr}.v5-progress-ring{width:150px;height:150px}}
@media(max-width:900px){:root{--sidebar:280px}.erp-sidebar{transform:translateX(-100%);transition:.2s}.erp-shell.sidebar-open .erp-sidebar{transform:translateX(0)}.erp-main{margin-left:0}.erp-menu-toggle{display:grid;place-items:center}.erp-overlay{display:none;position:fixed;inset:0;background:rgba(3,10,14,.52);z-index:40}.erp-shell.sidebar-open .erp-overlay{display:block}.erp-content{padding:18px}.erp-topbar{padding:0 16px}.erp-date{display:none}.v5-hero-card,.witness-header{display:grid}.v5-hero-actions,.v5-global-actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr}.witness-identity-card{grid-template-columns:1fr}.witness-profile-photo-wrap{width:130px}.witness-profile-photo-wrap img{width:130px;height:130px}.reset-password-row,.action-list-row{grid-template-columns:1fr}.inline-reset-form{display:grid}}
@media(max-width:640px){.container{width:min(100% - 20px,1180px);padding:14px 0}.auth-page{padding:12px}.auth-card{padding:22px;border-radius:22px}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip{grid-template-columns:1fr}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:16px;border-radius:16px}.v5-hero-card,.witness-header{padding:18px;border-radius:20px}.v5-hero-card h1,.witness-header h1,.erp-page-heading h1{font-size:1.55rem}.erp-page-heading{display:grid}.v5-progress-body{grid-template-columns:1fr}.v5-progress-ring{margin:0 auto}.global-fullscreen{padding:10px}.v5-fullscreen-card{padding:16px;border-radius:20px}.v5-fullscreen-head{display:grid}.topbar{display:grid;justify-content:stretch}.top-actions{justify-content:space-between}.candidate-preview-grid{grid-template-columns:1fr}}


/* v6.2 - UI profesional sederhana, hijau terang, submenu konteks tunggal */
:root{--green:#0a8de4;--green-2:#065991;--green-soft:#e7f1f7;--focus-ring:0 0 0 4px rgba(10,141,228,.18)}
.erp-sidebar{background:linear-gradient(180deg,#08151d 0%,#0d212e 56%,#071a26 100%);border-right:1px solid rgba(10,141,228,.12)}
.erp-brand-mark,.settings-preview-logo{background:linear-gradient(135deg,#0a8de4,#45b0f7);color:#031a2a;box-shadow:0 12px 30px rgba(10,141,228,.24)}
.erp-nav a.active,.erp-nav-parent.active{background:rgba(10,141,228,.14);color:#fff;box-shadow:inset 4px 0 0 var(--green)}
.erp-subnav{background:rgba(10,141,228,.075);border-color:rgba(10,141,228,.16);padding:8px;margin-left:26px}
.erp-subnav a{position:relative;color:#e7f0f6}.erp-subnav a.subnav-active,.erp-subnav a:hover{background:linear-gradient(135deg,rgba(10,141,228,.26),rgba(6,89,145,.2));color:#fff}.erp-subnav a.subnav-active::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(10,141,228,.14);position:absolute;left:-6px;top:50%;transform:translateY(-50%)}
.btn-primary{background:linear-gradient(135deg,#0a8de4,#0876bf)!important;color:#061c2b!important;box-shadow:0 10px 22px rgba(10,141,228,.24)}.btn-primary:hover{filter:saturate(1.08) brightness(.98)}
.btn-success-soft{background:var(--green-soft);color:var(--green-2)}.btn-warning{background:#fff4d7;color:#8a5c12}.btn-danger-soft{background:var(--red-soft);color:#a12626}.btn-dark{background:#0e1f29;color:#fff}
.erp-live-chip,.online-pill.is-online,.online-pill.online,.status-verified,.status-locked,.validation-ok{background:var(--green-soft)!important;color:var(--green-2)!important;border-color:#cde0ed!important}
.admin-subpage-section{animation:sectionIn .16s ease-out;outline:none}.admin-subpage-section.is-active-section{display:block}.admin-subpage-section[hidden]{display:none!important}@keyframes sectionIn{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.active-context-chip{border:1px solid #cde1ee;background:var(--green-soft);color:var(--green-2);border-radius:999px;padding:10px 14px;font-weight:850;white-space:nowrap}.active-context-chip strong{color:#052338}
.table-panel{padding:0;overflow:hidden}.table-scroll{overflow:auto}.record-table{width:100%;border-collapse:separate;border-spacing:0}.record-table th{background:#f6f9fc;color:#0d3651;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:13px;border-bottom:1px solid var(--line);white-space:nowrap}.record-table td{padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.record-table td small{display:block;color:var(--muted);margin-top:3px}.record-table tr:hover td{background:#f6f9fc}
.detail-row-card,.report-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:18px;margin-bottom:12px}.detail-row-card h3,.report-card h3{margin:3px 0 6px;font-size:1.15rem}.detail-row-card p,.report-card p{margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.detail-grid>div{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:11px}.detail-grid small{display:block;color:var(--muted);font-weight:850}.detail-grid strong{display:block;margin-top:4px}.report-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}.report-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vote-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.vote-chip-row span{border:1px solid #d7e7f1;background:#f6f9fc;color:#0c3a59;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:850}.warning-list{display:grid;gap:6px;margin:12px 0}.warning-list span{background:#fff8e8;border:1px solid #ffe3a6;color:#85580f;border-radius:12px;padding:8px 10px;font-weight:800;font-size:.82rem}.revision-note{background:#eef4ff;border:1px solid #ccd9ff;color:#183f90;border-radius:12px;padding:10px;margin:12px 0}.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.revision-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.revision-inline-form input{min-width:220px;border:1px solid var(--line);border-radius:11px;padding:9px 10px}.export-panel{display:flex;justify-content:space-between;align-items:center;gap:16px}.export-panel h3{margin:0 0 4px}.export-panel p{margin:0;color:var(--muted)}.security-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.security-check-grid div{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);padding:14px}.security-check-grid strong{display:block}.security-check-grid small{display:block;color:var(--muted);margin-top:4px}.pro-candidate-grid .v5-candidate-photo-box{background:#f6f9fc}.v5-candidate-photo-box img,.candidate-admin-cover img{object-fit:cover;object-position:center top}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}
@media(max-width:1180px){.detail-grid,.report-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.active-context-chip{width:100%;text-align:center}.detail-grid,.report-detail-grid,.security-check-grid{grid-template-columns:1fr}.report-card-head,.export-panel{display:grid}.revision-inline-form input{min-width:0;width:100%}}

/* v6.3 - halaman lebih halus, typography lebih kecil, spacing profesional */
:root{
  --topbar:64px;
  --sidebar:274px;
  --radius:16px;
  --radius-sm:11px;
  --shadow:0 14px 32px rgba(9,29,42,.07);
  --shadow-soft:0 8px 20px rgba(9,29,42,.055);
}
html{font-size:14px}
body{font-size:.94rem;line-height:1.48;color:#10212d;background:#f7f9fa}.erp-content{padding:20px 22px;max-width:1480px}.erp-topbar{height:var(--topbar);padding:0 22px}.erp-sidebar{width:var(--sidebar);padding:18px 15px}.erp-main{margin-left:var(--sidebar)}
.brand{font-size:1rem}.erp-brand-block strong{font-size:.95rem}.erp-brand-block small,.erp-sidebar-info small,.erp-sidebar-user small{font-size:.7rem}.erp-workspace-label{font-size:.63rem;margin-top:1px}.erp-breadcrumb strong{font-size:.92rem}.erp-breadcrumb span,.erp-date,.erp-live-chip{font-size:.7rem}
.erp-nav,.erp-nav-with-submenu{gap:5px}.erp-nav a{min-height:38px;padding:9px 10px;border-radius:11px;font-size:.83rem;font-weight:820}.erp-nav svg{width:17px;height:17px}.erp-subnav{margin-left:24px;padding:6px;border-radius:12px}.erp-subnav a{min-height:29px;padding:7px 9px;font-size:.74rem;border-radius:9px}.erp-sidebar-info,.erp-sidebar-user{padding:10px;border-radius:14px}.erp-avatar{width:34px;height:34px;border-radius:11px}
.erp-page-heading{margin-bottom:16px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:1.55rem;line-height:1.12;letter-spacing:-.035em}.erp-page-heading p,.v5-hero-card p,.v5-panel-head p,.admin-section-title p,.witness-header p{font-size:.84rem;line-height:1.48}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker{font-size:.62rem;letter-spacing:.11em}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2{font-size:1.06rem;line-height:1.2;margin-bottom:4px}.detail-row-card h3,.report-card h3,.entity-card h3,.witness-card h3{font-size:.98rem}
.v5-hero-card,.witness-header{padding:20px 22px;border-radius:20px}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:16px;border-radius:17px;box-shadow:var(--shadow-soft);border-color:#e4eaed}.v5-bottom-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid{gap:12px}.form-grid{gap:12px}.button-row{margin-top:14px;gap:8px}
label{font-size:.78rem;gap:6px}input,textarea,select{padding:9px 10px;border-radius:11px;font-size:.88rem}.btn{min-height:38px;padding:9px 12px;border-radius:11px;font-size:.82rem;font-weight:850}.btn-small{min-height:30px;padding:6px 9px;font-size:.73rem}.btn-large{min-height:43px}.status{font-size:.72rem;padding:6px 9px;border-radius:999px}.alert{font-size:.84rem;padding:10px 12px;border-radius:12px}
.v5-kpi-card,.compact-stat-card{padding:14px 15px;border-radius:16px;box-shadow:0 10px 22px rgba(9,29,42,.055);min-height:104px}.v5-kpi-card span,.compact-stat-card span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:900}.v5-kpi-card strong,.compact-stat-card strong{font-size:1.45rem;line-height:1.05}.v5-kpi-card small,.compact-stat-card small{font-size:.75rem;line-height:1.35}.v5-status-card{padding:14px;border-radius:16px}.v5-status-card strong{font-size:1.25rem}.v5-status-card span{font-size:.75rem}
.compact-stat-grid .compact-stat-card:nth-child(4n+1),.v5-kpi-grid .v5-kpi-card:nth-child(4n+1){background:linear-gradient(135deg,#f2f7fa,#ffffff);border-color:#d3e4ef}.compact-stat-grid .compact-stat-card:nth-child(4n+2),.v5-kpi-grid .v5-kpi-card:nth-child(4n+2){background:linear-gradient(135deg,#eef6ff,#ffffff);border-color:#d4e5ff}.compact-stat-grid .compact-stat-card:nth-child(4n+3),.v5-kpi-grid .v5-kpi-card:nth-child(4n+3){background:linear-gradient(135deg,#fff7e8,#ffffff);border-color:#ffe1ad}.compact-stat-grid .compact-stat-card:nth-child(4n+4),.v5-kpi-grid .v5-kpi-card:nth-child(4n+4){background:linear-gradient(135deg,#f1eeff,#ffffff);border-color:#ded6ff}
.v5-global-panel{padding:18px}.v5-candidate-grid{gap:14px}.v5-candidate-card{padding:13px;border-radius:18px}.v5-candidate-photo-box{border-radius:15px;overflow:hidden;background:#f5f9fb}.v5-candidate-photo-box img{width:100%;height:100%;object-fit:cover;object-position:center center}.v5-candidate-photo-box span{font-size:.7rem;padding:6px 8px}.v5-candidate-info strong{font-size:.95rem;line-height:1.2}.v5-candidate-result b{font-size:1.55rem}.v5-candidate-result small,.v5-candidate-percent span{font-size:.73rem}.v5-leader-badge,.active-context-chip{font-size:.76rem;padding:8px 11px}
.record-table th{font-size:.68rem;padding:11px}.record-table td{padding:11px;font-size:.84rem}.action-list-row{padding:11px;border-radius:14px}.action-list-row strong{font-size:.88rem}.action-list-row small{font-size:.74rem}.detail-row-card,.report-card{padding:15px;border-radius:16px}.detail-grid{gap:8px}.detail-grid>div{padding:10px;border-radius:12px}.vote-chip-row span{font-size:.74rem;padding:6px 9px}.warning-list span{font-size:.76rem;padding:7px 9px}.empty-state,.erp-empty{padding:15px;font-size:.84rem;border-radius:14px}
.witness-card-photo,.witness-profile-photo-wrap img{border-radius:14px}.vote-card{padding:12px;border-radius:17px}.vote-card h2{font-size:.92rem}.vote-display strong{font-size:1.25rem}.counter-btn,.mini-counter button{min-height:38px}.photo-vote{border-radius:15px}.tap-hint{font-size:.72rem;padding:7px}
.global-fullscreen-card,.v5-fullscreen-card{border-radius:22px;padding:22px}.global-close-btn{font-size:.84rem;border-radius:12px;padding:9px 12px}.v5-progress-ring{width:150px;height:150px}.v5-progress-ring strong{font-size:1.35rem}.v5-activity-list{font-size:.83rem}
@media(max-width:900px){:root{--sidebar:274px}.erp-main{margin-left:0}.erp-content{padding:16px}.erp-topbar{padding:0 14px}.v5-hero-card,.witness-header{padding:18px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:1.38rem}}
@media(max-width:640px){html{font-size:13.5px}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:14px;border-radius:15px}.v5-hero-card,.witness-header{padding:16px;border-radius:18px}.v5-kpi-card,.compact-stat-card{min-height:auto}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip{grid-template-columns:1fr}}

/* v6.4 - refinement tipografi: lebih halus, font lebih kecil, spacing lebih rapat */
:root{
  --topbar:60px;
  --sidebar:268px;
  --radius:15px;
  --radius-sm:10px;
  --shadow:0 12px 28px rgba(9,29,42,.065);
  --shadow-soft:0 7px 16px rgba(9,29,42,.05);
}
html{font-size:13px;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
body{font-size:.9rem;line-height:1.46;background:#f7f9fa;color:#0e1f29}
.erp-content{padding:18px 20px;max-width:1460px}.erp-topbar{height:var(--topbar);padding:0 20px}.erp-sidebar{width:var(--sidebar);padding:16px 14px}.erp-main{margin-left:var(--sidebar)}
.erp-brand-mark,.logo-box{width:42px;height:42px;border-radius:13px}.erp-brand-block{gap:10px}.erp-brand-block strong{font-size:.88rem}.erp-brand-block small{font-size:.66rem}.erp-workspace-label{font-size:.58rem;letter-spacing:.12em}.erp-breadcrumb strong{font-size:.88rem}.erp-breadcrumb span,.erp-date,.erp-live-chip{font-size:.66rem}.erp-live-chip{padding:7px 10px;border-radius:999px}
.erp-nav,.erp-nav-with-submenu{gap:4px}.erp-nav a{min-height:35px;padding:8px 9px;border-radius:10px;font-size:.78rem;font-weight:790}.erp-nav svg{width:16px;height:16px}.erp-subnav{margin:2px 0 4px 22px;padding:5px;border-radius:11px}.erp-subnav a{min-height:27px;padding:6px 8px;font-size:.7rem;border-radius:8px}.erp-sidebar-info,.erp-sidebar-user{padding:9px;border-radius:13px}.erp-sidebar-info strong,.erp-sidebar-user strong{font-size:.77rem}.erp-sidebar-info small,.erp-sidebar-user small{font-size:.65rem}.erp-avatar{width:32px;height:32px;border-radius:10px;font-size:.78rem}
.erp-page-heading{margin-bottom:14px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:1.38rem;line-height:1.12;letter-spacing:-.03em}.erp-page-heading p,.v5-hero-card p,.v5-panel-head p,.admin-section-title p,.witness-header p{font-size:.78rem;line-height:1.45}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker,.entity-eyebrow,.candidate-input-label{font-size:.56rem;letter-spacing:.105em}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2{font-size:.96rem;line-height:1.2}.detail-row-card h3,.report-card h3,.entity-card h3,.witness-card h3{font-size:.91rem}
.v5-hero-card,.witness-header{padding:18px 20px;border-radius:18px}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:14px;border-radius:15px;box-shadow:var(--shadow-soft);border-color:#e8edf0}.v5-bottom-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.form-grid{gap:10px}.button-row{margin-top:12px;gap:7px}
label{font-size:.72rem;gap:5px;font-weight:820}label small{font-size:.66rem}input,textarea,select{padding:8px 9px;border-radius:10px;font-size:.81rem}textarea{min-height:84px}.btn{min-height:34px;padding:8px 10px;border-radius:10px;font-size:.76rem;font-weight:820;gap:6px}.btn-small{min-height:28px;padding:5px 8px;font-size:.68rem}.btn-large{min-height:40px}.status{font-size:.66rem;padding:5px 8px}.alert{font-size:.78rem;padding:9px 10px;border-radius:11px}
.v5-kpi-card,.compact-stat-card{padding:12px 13px;border-radius:14px;min-height:92px}.v5-kpi-card span,.compact-stat-card span{font-size:.6rem;letter-spacing:.055em}.v5-kpi-card strong,.compact-stat-card strong{font-size:1.28rem;line-height:1.05}.v5-kpi-card small,.compact-stat-card small{font-size:.68rem;line-height:1.3}.v5-status-card{padding:12px;border-radius:14px}.v5-status-card strong{font-size:1.1rem}.v5-status-card span{font-size:.68rem}
.v5-global-panel{padding:15px}.v5-candidate-grid{gap:12px}.v5-candidate-card{padding:11px;border-radius:15px}.v5-candidate-photo-box{border-radius:13px;overflow:hidden;background:#f6f9fb}.v5-candidate-photo-box img{width:100%;height:100%;object-fit:cover;object-position:center center}.v5-candidate-photo-box span{font-size:.64rem;padding:5px 7px}.v5-candidate-info{gap:3px}.v5-candidate-info strong{font-size:.86rem;line-height:1.16}.v5-candidate-info small{font-size:.68rem}.v5-candidate-result b{font-size:1.38rem}.v5-candidate-result small,.v5-candidate-percent span{font-size:.66rem}.v5-leader-badge,.active-context-chip{font-size:.68rem;padding:7px 10px}.v5-candidate-percent{height:7px}
.record-table th{font-size:.62rem;padding:9px 10px}.record-table td{padding:9px 10px;font-size:.78rem}.record-table td small{font-size:.66rem}.action-list-row{padding:10px;border-radius:13px}.action-list-row strong{font-size:.82rem}.action-list-row small{font-size:.68rem}.detail-row-card,.report-card{padding:13px;border-radius:14px}.detail-grid{gap:7px}.detail-grid>div{padding:9px;border-radius:11px}.detail-grid small{font-size:.66rem}.detail-grid strong{font-size:.8rem}.vote-chip-row span{font-size:.68rem;padding:5px 8px}.warning-list span{font-size:.7rem;padding:6px 8px}.empty-state,.erp-empty{padding:13px;font-size:.78rem;border-radius:13px}
.witness-card-photo,.witness-profile-photo-wrap img{border-radius:13px}.vote-card{padding:11px;border-radius:15px}.vote-card h2{font-size:.86rem}.vote-display strong{font-size:1.12rem}.counter-btn,.mini-counter button{min-height:35px}.mini-counter{grid-template-columns:38px 1fr 38px}.mini-counter strong{font-size:1.18rem}.photo-vote{border-radius:13px}.tap-hint{font-size:.66rem;padding:6px}
.global-fullscreen-card,.v5-fullscreen-card{border-radius:20px;padding:20px}.global-close-btn{font-size:.76rem;border-radius:11px;padding:8px 10px}.v5-progress-ring{width:138px;height:138px}.v5-progress-ring strong{font-size:1.22rem}.v5-activity-list{font-size:.77rem}
.toast{font-size:.78rem;padding:10px 12px;border-radius:12px}.auth-card{padding:24px;border-radius:24px}.auth-card h1{font-size:1.65rem}.auth-card p{font-size:.82rem}.auth-footnote{font-size:.7rem}
@media(max-width:900px){.erp-main{margin-left:0}.erp-content{padding:14px}.erp-topbar{padding:0 12px}.v5-hero-card,.witness-header{padding:16px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:1.26rem}}
@media(max-width:640px){html{font-size:12.5px}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:12px;border-radius:14px}.v5-hero-card,.witness-header{padding:14px;border-radius:16px}.btn{min-height:34px}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip{grid-template-columns:1fr}.record-table th,.record-table td{padding:8px}}


/* v6.7 - mode lebih ringkas, resmi, dan minim scroll. Halaman Aktivitas Sistem dihapus dari dashboard/pengaturan. */
:root{
  --bg:#f5f7f9;
  --surface:#ffffff;
  --surface-2:#f7f9fb;
  --ink:#112431;
  --muted:#66736a;
  --line:#e0e7eb;
  --green:#106aa5;
  --green-2:#054c7b;
  --green-soft:#f1f6fa;
  --red:#c81e2b;
  --red-soft:#fff1f2;
  --gold:#d7a319;
  --blue:#2454b8;
  --blue-soft:#edf4ff;
  --shadow:0 8px 18px rgba(10,28,39,.045);
  --shadow-soft:0 4px 10px rgba(10,28,39,.035);
  --radius:10px;
  --radius-sm:7px;
  --sidebar:214px;
  --topbar:46px;
}
html{font-size:10.5px;background:var(--bg)}
body{font-size:.84rem;line-height:1.32;color:var(--ink)}
.erp-sidebar{width:var(--sidebar);padding:9px 8px;gap:7px;background:linear-gradient(180deg,#082c44 0%,#07161f 100%)}
.erp-main{margin-left:var(--sidebar)}
.erp-content{padding:8px 10px;max-width:1460px}.erp-topbar{height:var(--topbar);padding:0 10px}.erp-brand-mark,.logo-box{width:30px;height:30px;border-radius:8px;font-size:.76rem}.erp-brand-block{gap:7px}.erp-brand-block strong{font-size:.7rem;line-height:1.08}.erp-brand-block small{font-size:.52rem}.erp-workspace-label{font-size:.48rem;margin-top:0}.erp-breadcrumb strong{font-size:.76rem}.erp-breadcrumb span,.erp-date,.erp-live-chip{font-size:.58rem}.erp-live-chip{padding:5px 8px}.erp-live-chip i{width:5px;height:5px}.erp-avatar{width:26px;height:26px;border-radius:8px;font-size:.62rem}.erp-sidebar-info,.erp-sidebar-user{padding:6px;border-radius:9px}.erp-sidebar-info strong,.erp-sidebar-user strong{font-size:.62rem}.erp-sidebar-info small,.erp-sidebar-user small{font-size:.51rem}
.erp-nav,.erp-nav-with-submenu{gap:2px}.erp-nav svg{width:13px;height:13px}.erp-nav a{min-height:26px;padding:5px 7px;border-radius:8px;font-size:.62rem;font-weight:760;gap:7px}.erp-nav a.active{box-shadow:inset 2px 0 0 #fff}.erp-subnav{margin:1px 0 2px 16px;padding:3px;border-radius:8px}.erp-subnav a{min-height:21px;padding:4px 6px;border-radius:6px;font-size:.57rem}.nav-caret{font-size:.62rem}
.erp-page-heading{margin-bottom:7px;gap:10px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:.96rem;line-height:1.08;margin:1px 0 2px;letter-spacing:-.01em}.erp-page-heading p,.v5-hero-card p,.v5-panel-head p,.admin-section-title p,.witness-header p{font-size:.62rem;line-height:1.32;margin:0}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker,.entity-eyebrow,.candidate-input-label{font-size:.45rem;letter-spacing:.08em}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2,.panel-head h2{font-size:.74rem;line-height:1.12;margin:1px 0 2px}.v5-panel-head,.erp-panel-head,.panel-head,.entity-card-head,.witness-card-head,.admin-section-title{margin-bottom:7px;gap:8px}.detail-row-card h3,.report-card h3,.entity-card h3,.witness-card h3{font-size:.72rem;margin:0 0 2px}
.v5-admin-dashboard{gap:7px}.v5-hero-card{padding:8px 10px;border-radius:10px;display:flex;background:#fff;color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--green);border-top:2px solid var(--red);box-shadow:var(--shadow-soft)}.v5-hero-card p{color:var(--muted)}.v5-hero-actions,.v5-global-actions{gap:5px}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:8px;border-radius:10px;box-shadow:var(--shadow-soft);border-color:var(--line)}.admin-subpage-section{margin-bottom:7px}.v5-global-panel{padding:8px}.v5-bottom-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.form-grid,.v5-candidate-grid,.entity-card-grid,.witness-card-grid,.candidate-admin-grid{gap:6px}.button-row{margin-top:7px;gap:5px}
.v5-kpi-card,.v5-status-grid article,.compact-stat-card{padding:7px 8px;border-radius:9px;min-height:50px}.v5-kpi-card::before,.v5-status-grid article::before,.compact-stat-card::before{width:3px}.v5-kpi-card span,.v5-status-grid span,.compact-stat-card span{font-size:.5rem;letter-spacing:.04em}.v5-kpi-card strong,.v5-status-grid strong,.compact-stat-card strong{font-size:.9rem;line-height:1;margin:2px 0 1px}.v5-kpi-card small,.compact-stat-card small{font-size:.52rem;line-height:1.16}.v5-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.v5-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.v5-candidate-card{border-radius:9px}.v5-candidate-photo-box{aspect-ratio:16/9;background:#eff4f7}.v5-candidate-photo-box img{object-fit:cover;object-position:center top}.v5-candidate-photo-box span{left:6px;top:6px;padding:3px 5px;font-size:.5rem}.v5-candidate-info{padding:6px 7px}.v5-candidate-info strong{font-size:.64rem;line-height:1.1;min-height:1.35em}.v5-candidate-result{margin:5px 0 4px}.v5-candidate-result b{font-size:.92rem}.v5-candidate-result small,.v5-candidate-percent span{font-size:.5rem}.v5-candidate-percent{gap:3px}.v5-candidate-percent i{height:4px}.v5-leader-badge,.active-context-chip{font-size:.55rem;padding:5px 7px;border-radius:8px}.v5-leader-badge strong{font-size:.62rem}.v5-leader-badge span{font-size:.48rem}.v5-candidate-grid-full .v5-candidate-photo-box{aspect-ratio:16/9}.v5-candidate-grid-full .v5-candidate-result b{font-size:1.05rem}
.v5-bottom-grid{grid-template-columns:1fr}.v5-activity-card{display:none!important}.v5-progress-body{grid-template-columns:86px 1fr;gap:8px}.v5-progress-ring{width:82px;height:82px}.v5-progress-ring::after{inset:7px}.v5-progress-ring strong{font-size:.78rem}.v5-progress-ring span{font-size:.5rem}.v5-progress-list{grid-template-columns:repeat(4,minmax(0,1fr));display:grid;gap:5px}.v5-progress-list>div{padding:5px 6px;border-radius:8px}.v5-progress-list span,.v5-progress-list strong{font-size:.58rem}
label{font-size:.58rem;gap:3px}label small{font-size:.5rem}input,textarea,select{padding:5px 7px;border-radius:7px;font-size:.66rem}textarea{min-height:62px}.btn{min-height:25px;padding:5px 7px;border-radius:7px;font-size:.59rem;font-weight:800;gap:4px}.btn-small{min-height:21px;padding:3px 6px;font-size:.53rem}.btn-large{min-height:30px}.alert{font-size:.62rem;padding:6px 8px;border-radius:8px}.status,.online-pill{font-size:.5rem;padding:3px 6px}.record-table th{font-size:.5rem;padding:6px 7px}.record-table td{padding:6px 7px;font-size:.62rem}.record-table td small{font-size:.5rem}.table-scroll{max-height:calc(100vh - 184px);overflow:auto}.empty-state,.erp-empty{padding:8px;font-size:.62rem;border-radius:8px}
.entity-card-grid,.witness-card-grid,.candidate-admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.entity-card,.witness-card{padding:7px;border-radius:9px}.entity-icon,.form-card-icon,.assignment-icon{width:26px;height:26px;border-radius:8px;font-size:.62rem}.entity-address{font-size:.6rem;margin:4px 0}.entity-metrics,.witness-meta-grid{gap:4px;margin:5px 0}.entity-metrics div,.witness-meta-grid div{padding:5px;border-radius:7px}.entity-metrics span,.witness-meta-grid span{font-size:.5rem}.entity-metrics strong,.witness-meta-grid strong{font-size:.6rem}.entity-card-footer,.witness-card-actions{gap:4px;margin-top:5px}.witness-avatar-photo,.witness-avatar{width:36px;height:36px;border-radius:9px}.reset-password-row,.action-list-row{padding:6px;border-radius:8px;gap:6px;margin-bottom:5px}.action-list-row strong{font-size:.62rem}.action-list-row small{font-size:.52rem}.detail-row-card,.report-card{padding:8px;border-radius:9px;margin-bottom:6px}.detail-grid{gap:5px;margin:7px 0}.detail-grid>div{padding:6px;border-radius:7px}.detail-grid small{font-size:.5rem}.detail-grid strong{font-size:.6rem}.vote-chip-row{gap:5px;margin:6px 0}.vote-chip-row span{font-size:.54rem;padding:4px 6px}.warning-list{gap:4px;margin:6px 0}.warning-list span{font-size:.56rem;padding:5px 6px}.revision-note{font-size:.58rem;padding:6px;margin:6px 0}.export-panel h3{font-size:.72rem;margin-bottom:2px}.export-panel p{font-size:.58rem}.security-check-grid{gap:6px}.security-check-grid div{padding:7px;border-radius:9px}.security-check-grid strong{font-size:.64rem}.security-check-grid small{font-size:.52rem}
.candidate-admin-cover{aspect-ratio:16/9;border-radius:9px}.candidate-admin-cover img{object-fit:cover;object-position:center top}.candidate-admin-no{top:6px;left:6px;font-size:.5rem;padding:3px 5px}.candidate-admin-body{padding-top:6px}.candidate-admin-body h3{font-size:.66rem;margin-bottom:4px}.candidate-preview-grid{gap:6px}.settings-preview-card{grid-template-columns:38px 1fr}.settings-preview-logo{width:38px;height:38px;border-radius:10px;font-size:.82rem}.auth-card{padding:18px;border-radius:18px}.auth-card h1{font-size:1.25rem}.auth-card p{font-size:.68rem}.auth-footnote{font-size:.58rem}.witness-header{padding:9px 10px;border-radius:10px}.vote-card{padding:7px;border-radius:10px}.vote-card h2{font-size:.62rem}.vote-display strong{font-size:.88rem}.counter-btn,.mini-counter button{min-height:26px;border-radius:7px}.mini-counter{grid-template-columns:28px 1fr 28px}.mini-counter strong{font-size:.86rem}.photo-vote{border-radius:8px}.tap-hint{font-size:.5rem;padding:4px}.witness-profile-photo-wrap{width:96px}.witness-profile-photo-wrap img{width:96px;height:96px;border-radius:10px}.global-fullscreen{padding:10px}.v5-fullscreen-card{border-radius:12px;padding:10px}.v5-fullscreen-head{margin-bottom:8px}.global-close-btn{font-size:.58rem;border-radius:7px;padding:5px 8px}
@media(max-width:1180px){.v5-candidate-grid,.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.v5-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-progress-list{grid-template-columns:repeat(2,minmax(0,1fr))}.entity-card-grid,.witness-card-grid,.candidate-admin-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:900px){:root{--sidebar:232px}.erp-main{margin-left:0}.erp-content{padding:8px}.erp-topbar{padding:0 8px}.v5-hero-card,.witness-header{padding:9px}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:.92rem}.erp-sidebar{transform:translateX(-100%)}.erp-shell.sidebar-open .erp-sidebar{transform:translateX(0)}.erp-menu-toggle{display:grid;place-items:center}.erp-overlay{display:none;position:fixed;inset:0;background:rgba(3,10,14,.52);z-index:40}.erp-shell.sidebar-open .erp-overlay{display:block}}
@media(max-width:640px){html{font-size:11px}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip,.v5-progress-list{grid-template-columns:1fr}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:8px}.v5-hero-card,.witness-header{padding:8px}.record-table th,.record-table td{padding:5px}.topbar{display:grid;justify-content:stretch}.top-actions{justify-content:space-between}}

/* =========================================================
   v6.7 ULTRA COMPACT PROFESSIONAL
   Fokus: semua halaman lebih ringkas, minim scroll, tetap rapi.
   ========================================================= */
:root{
  --sidebar:220px;
  --topbar:50px;
  --radius:10px;
  --radius-sm:7px;
  --shadow:0 10px 24px rgba(8,30,44,.07);
  --shadow-soft:0 4px 12px rgba(8,30,44,.055);
}
html{font-size:12px!important;background:#f7f9fa!important}
body{line-height:1.28!important;color:#0e1f29!important}
button,input,textarea,select{font-size:.72rem!important}
.erp-content{padding:10px 12px!important;max-width:1440px!important}
.erp-topbar{height:50px!important;min-height:50px!important;padding:0 12px!important}
.erp-sidebar{width:220px!important;padding:10px 9px!important;gap:7px!important}
.erp-main{margin-left:220px!important}
.logo-box,.erp-brand-mark{width:30px!important;height:30px!important;border-radius:9px!important;font-size:.78rem!important}
.erp-brand-block{gap:7px!important}.erp-brand-block strong{font-size:.74rem!important;line-height:1.05!important}.erp-brand-block small{font-size:.55rem!important}.erp-workspace-label{font-size:.5rem!important;margin-top:1px!important}.erp-breadcrumb span{font-size:.58rem!important}.erp-breadcrumb strong{font-size:.78rem!important}.erp-date{font-size:.6rem!important}.erp-live-chip{padding:4px 7px!important;font-size:.55rem!important}.erp-avatar{width:26px!important;height:26px!important;border-radius:8px!important;font-size:.62rem!important}
.erp-nav,.erp-nav-with-submenu{gap:2px!important}.erp-nav svg{width:13px!important;height:13px!important}.erp-nav a{min-height:25px!important;padding:5px 7px!important;border-radius:7px!important;font-size:.62rem!important;font-weight:750!important;gap:7px!important}.erp-subnav{margin:1px 0 2px 16px!important;padding:3px!important;border-radius:8px!important}.erp-subnav a{min-height:21px!important;padding:4px 6px!important;border-radius:6px!important;font-size:.56rem!important}.nav-caret{font-size:.6rem!important}.erp-sidebar-info,.erp-sidebar-user{padding:6px!important;border-radius:8px!important}.erp-sidebar-info strong,.erp-sidebar-user strong{font-size:.6rem!important}.erp-sidebar-info small,.erp-sidebar-user small{font-size:.5rem!important}
.erp-page-heading{margin-bottom:7px!important;gap:8px!important;align-items:center!important}.erp-page-heading h1,.v5-hero-card h1,.witness-header h1{font-size:.95rem!important;line-height:1.08!important;letter-spacing:-.01em!important;margin:0!important}.erp-page-heading p,.v5-hero-card p,.v5-panel-head p,.admin-section-title p,.witness-header p,.panel-head p,.erp-panel-head p{font-size:.58rem!important;line-height:1.25!important;margin:0!important;max-width:560px!important;color:#64756b!important}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker,.entity-eyebrow,.candidate-input-label{font-size:.46rem!important;letter-spacing:.075em!important}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2,.panel-head h2,.erp-panel-head h2{font-size:.76rem!important;line-height:1.1!important;margin:0 0 2px!important}.v5-panel-head,.erp-panel-head,.panel-head,.entity-card-head,.witness-card-head,.admin-section-title{margin-bottom:6px!important;gap:7px!important}
.v5-admin-dashboard,.admin-subpage-content,.submenu-layout,.v5-bottom-grid{gap:6px!important}.v5-hero-card{padding:7px 9px!important;border-radius:9px!important;min-height:0!important;border-left:3px solid var(--green)!important;display:flex!important;align-items:center!important}.v5-hero-actions{gap:4px!important}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:7px!important;border-radius:9px!important;box-shadow:var(--shadow-soft)!important}.admin-subpage-section{margin-bottom:6px!important}.v5-global-panel{padding:7px!important}.button-row{gap:5px!important;margin-top:6px!important}
.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.form-grid,.entity-card-grid,.witness-card-grid,.candidate-admin-grid,.v5-candidate-grid,.candidate-preview-grid{gap:6px!important}.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v5-kpi-card,.v5-status-grid article,.compact-stat-card{padding:6px 7px!important;border-radius:8px!important;min-height:46px!important}.v5-kpi-card span,.v5-status-grid span,.compact-stat-card span{font-size:.48rem!important;letter-spacing:.04em!important}.v5-kpi-card strong,.v5-status-grid strong,.compact-stat-card strong{font-size:.82rem!important;line-height:1!important;margin:1px 0!important}.v5-kpi-card small,.compact-stat-card small{font-size:.48rem!important;line-height:1.12!important}
.v5-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v5-candidate-card{border-radius:8px!important;overflow:hidden!important}.v5-candidate-photo-box{aspect-ratio:16/9!important;background:#eff4f7!important;border-radius:8px 8px 0 0!important}.v5-candidate-photo-box img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}.v5-candidate-photo-box span{left:5px!important;top:5px!important;padding:2px 5px!important;font-size:.46rem!important;border-radius:999px!important}.v5-candidate-info{padding:5px 6px!important}.v5-candidate-info strong{font-size:.62rem!important;line-height:1.05!important;min-height:auto!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.v5-candidate-result{margin:4px 0 3px!important}.v5-candidate-result b{font-size:.86rem!important}.v5-candidate-result small,.v5-candidate-percent span{font-size:.46rem!important}.v5-candidate-percent{gap:3px!important}.v5-candidate-percent i{height:4px!important}.v5-leader-badge,.active-context-chip{font-size:.52rem!important;padding:4px 6px!important;border-radius:7px!important}.v5-leader-badge strong{font-size:.58rem!important}.v5-leader-badge span{font-size:.46rem!important}.v5-candidate-grid-full .v5-candidate-photo-box{aspect-ratio:16/9!important}.v5-candidate-grid-full .v5-candidate-result b{font-size:.95rem!important}
.v5-bottom-grid{grid-template-columns:1fr!important}.v5-progress-card{padding:7px!important}.v5-progress-body{grid-template-columns:64px 1fr!important;gap:7px!important}.v5-progress-ring{width:62px!important;height:62px!important}.v5-progress-ring::after{inset:6px!important}.v5-progress-ring strong{font-size:.66rem!important}.v5-progress-ring span{font-size:.43rem!important}.v5-progress-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid!important;gap:4px!important}.v5-progress-list>div{padding:5px!important;border-radius:7px!important}.v5-progress-list span,.v5-progress-list strong{font-size:.54rem!important}
label{font-size:.58rem!important;gap:3px!important}label small{font-size:.48rem!important}input,textarea,select{padding:5px 6px!important;border-radius:7px!important;min-height:27px!important}textarea{min-height:58px!important}.btn{min-height:24px!important;padding:5px 7px!important;border-radius:7px!important;font-size:.56rem!important;font-weight:820!important;gap:4px!important}.btn-small{min-height:20px!important;padding:3px 5px!important;font-size:.51rem!important}.btn-large{min-height:30px!important}.alert{font-size:.58rem!important;padding:6px 7px!important;border-radius:7px!important;margin-bottom:7px!important}.status,.online-pill{font-size:.49rem!important;padding:3px 5px!important}.record-table th{font-size:.49rem!important;padding:5px 6px!important}.record-table td{padding:5px 6px!important;font-size:.58rem!important}.record-table td small{font-size:.48rem!important}.table-scroll{max-height:calc(100vh - 150px)!important;overflow:auto!important}.empty-state,.erp-empty{padding:7px!important;font-size:.58rem!important;border-radius:7px!important}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.entity-card-grid,.witness-card-grid,.candidate-admin-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}.entity-card,.witness-card{padding:6px!important;border-radius:8px!important}.entity-card h3,.witness-card h3,.detail-row-card h3,.report-card h3{font-size:.66rem!important;margin:0 0 2px!important}.entity-icon,.form-card-icon,.assignment-icon{width:24px!important;height:24px!important;border-radius:7px!important;font-size:.6rem!important}.entity-address{font-size:.55rem!important;margin:3px 0!important}.entity-metrics,.witness-meta-grid{gap:4px!important;margin:4px 0!important}.entity-metrics div,.witness-meta-grid div{padding:4px!important;border-radius:6px!important}.entity-metrics span,.witness-meta-grid span{font-size:.48rem!important}.entity-metrics strong,.witness-meta-grid strong{font-size:.56rem!important}.entity-card-footer,.witness-card-actions{gap:4px!important;margin-top:4px!important}.witness-avatar-photo,.witness-avatar{width:32px!important;height:32px!important;border-radius:8px!important}.reset-password-row,.action-list-row{padding:5px!important;border-radius:7px!important;gap:5px!important;margin-bottom:4px!important}.action-list-row strong{font-size:.58rem!important}.action-list-row small{font-size:.48rem!important}.detail-row-card,.report-card{padding:7px!important;border-radius:8px!important;margin-bottom:5px!important}.detail-grid{gap:4px!important;margin:5px 0!important}.detail-grid>div{padding:5px!important;border-radius:6px!important}.detail-grid small{font-size:.48rem!important}.detail-grid strong{font-size:.56rem!important}.vote-chip-row{gap:4px!important;margin:5px 0!important}.vote-chip-row span{font-size:.5rem!important;padding:3px 5px!important}.warning-list{gap:4px!important;margin:5px 0!important}.warning-list span{font-size:.52rem!important;padding:4px 5px!important}.revision-note{font-size:.54rem!important;padding:5px!important;margin:5px 0!important}.export-panel h3{font-size:.66rem!important;margin-bottom:2px!important}.export-panel p{font-size:.54rem!important}
.candidate-admin-cover{aspect-ratio:16/9!important;border-radius:8px!important;background:#eff4f7!important}.candidate-admin-cover img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}.candidate-admin-no{top:5px!important;left:5px!important;font-size:.47rem!important;padding:2px 5px!important}.candidate-admin-body{padding-top:5px!important}.candidate-admin-body h3{font-size:.62rem!important;margin-bottom:3px!important}.settings-preview-card{grid-template-columns:32px 1fr!important}.settings-preview-logo{width:32px!important;height:32px!important;border-radius:8px!important;font-size:.72rem!important}.global-fullscreen{padding:8px!important}.v5-fullscreen-card{border-radius:10px!important;padding:8px!important}.v5-fullscreen-head{margin-bottom:6px!important}.global-close-btn{font-size:.54rem!important;border-radius:7px!important;padding:4px 7px!important}
.auth-card{padding:16px!important;border-radius:16px!important}.auth-card h1{font-size:1.15rem!important}.auth-card p{font-size:.66rem!important}.auth-footnote{font-size:.56rem!important}.topbar{min-height:50px!important;padding:8px 14px!important}.brand{font-size:.9rem!important}.topbar small{font-size:.62rem!important}.user-chip{padding:5px 8px!important;font-size:.62rem!important}.container{padding:10px 0!important;width:min(1180px,calc(100vw - 18px))!important}
.witness-header{padding:8px 9px!important;border-radius:9px!important}.vote-card{padding:6px!important;border-radius:9px!important}.vote-card h2{font-size:.6rem!important}.vote-display strong{font-size:.82rem!important}.counter-btn,.mini-counter button{min-height:25px!important;border-radius:7px!important}.mini-counter{grid-template-columns:26px 1fr 26px!important;gap:5px!important}.mini-counter strong{font-size:.82rem!important}.photo-vote{border-radius:7px!important}.tap-hint{font-size:.48rem!important;padding:3px!important}.witness-profile-photo-wrap{width:88px!important}.witness-profile-photo-wrap img{width:88px!important;height:88px!important;border-radius:9px!important}
@media(max-width:1180px){.v5-candidate-grid,.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-stat-grid,.witness-stat-grid,.v5-kpi-grid,.v5-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v5-progress-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){:root{--sidebar:220px}.erp-main{margin-left:0!important}.erp-content{padding:8px!important}.erp-topbar{padding:0 8px!important}.erp-sidebar{transform:translateX(-100%)!important}.erp-shell.sidebar-open .erp-sidebar{transform:translateX(0)!important}.erp-menu-toggle{display:grid!important;place-items:center!important}}
@media(max-width:640px){html{font-size:11px!important}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip,.v5-progress-list{grid-template-columns:1fr!important}.form-grid{grid-template-columns:1fr!important}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:7px!important}.record-table th,.record-table td{padding:4px!important}.topbar{display:grid!important;justify-content:stretch!important}.top-actions{justify-content:space-between!important}}


/* v6.8 - balance: tampilan tetap ringkas, tetapi foto dan teks kembali mudah dibaca */
:root{
  --sidebar:230px;
  --topbar:52px;
  --radius:12px;
  --radius-sm:8px;
}
html{font-size:12px!important;background:var(--bg)!important}
body{font-size:.9rem!important;line-height:1.38!important;color:#10212d!important}
.erp-sidebar{width:var(--sidebar)!important;padding:11px 10px!important;gap:8px!important}
.erp-main{margin-left:var(--sidebar)!important}
.erp-content{padding:12px 14px!important;max-width:1500px!important}
.erp-topbar{height:var(--topbar)!important;padding:0 14px!important}
.erp-brand-mark,.logo-box{width:34px!important;height:34px!important;border-radius:10px!important;font-size:.9rem!important}
.erp-brand-block strong{font-size:.78rem!important;line-height:1.1!important}
.erp-brand-block small{font-size:.58rem!important}.erp-workspace-label{font-size:.52rem!important}
.erp-nav a{min-height:31px!important;padding:7px 9px!important;border-radius:9px!important;font-size:.72rem!important;gap:8px!important}
.erp-nav svg{width:15px!important;height:15px!important}.erp-subnav{margin-left:19px!important;padding:4px!important;border-radius:9px!important}.erp-subnav a{min-height:24px!important;padding:5px 7px!important;font-size:.64rem!important}
.erp-sidebar-info,.erp-sidebar-user{padding:8px!important;border-radius:10px!important}.erp-sidebar-info strong,.erp-sidebar-user strong{font-size:.7rem!important}.erp-sidebar-info small,.erp-sidebar-user small{font-size:.56rem!important}.erp-avatar{width:30px!important;height:30px!important;border-radius:9px!important;font-size:.72rem!important}
.erp-breadcrumb strong{font-size:.85rem!important}.erp-breadcrumb span,.erp-date,.erp-live-chip{font-size:.64rem!important}.erp-live-chip{padding:6px 9px!important}
.v5-admin-dashboard{gap:10px!important}.v5-hero-card{padding:10px 12px!important;border-radius:12px!important}.v5-hero-card h1,.erp-page-heading h1,.witness-header h1{font-size:1.12rem!important;line-height:1.08!important}.v5-hero-card p,.erp-page-heading p,.v5-panel-head p,.admin-section-title p,.witness-header p{font-size:.68rem!important;line-height:1.35!important}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker,.entity-eyebrow,.candidate-input-label{font-size:.52rem!important;letter-spacing:.09em!important}
.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:10px!important;border-radius:12px!important}.v5-global-panel{padding:11px!important}.v5-panel-head,.erp-panel-head,.panel-head,.entity-card-head,.witness-card-head,.admin-section-title{margin-bottom:9px!important}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2,.panel-head h2{font-size:.9rem!important;line-height:1.15!important}
.btn{min-height:30px!important;padding:6px 9px!important;border-radius:8px!important;font-size:.66rem!important}.btn-small{min-height:24px!important;padding:4px 7px!important;font-size:.6rem!important}.v5-hero-actions,.v5-global-actions{gap:6px!important}
/* Kandidat: foto dibuat besar, utuh, pas di dalam card, dan tidak dipotong */
.v5-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.v5-candidate-card{border-radius:12px!important;overflow:hidden!important;background:#fff!important;border:1px solid #dde5eb!important}.v5-candidate-photo-box{aspect-ratio:7/10!important;background:#f5f9fb!important;border-radius:11px 11px 0 0!important;display:grid!important;place-items:center!important;overflow:hidden!important}.v5-candidate-photo-box img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#f5f9fb!important}.v5-candidate-photo-box.has-photo img{padding:0!important}.v5-candidate-photo-box.is-placeholder img{object-fit:cover!important}.v5-candidate-photo-box span{left:7px!important;top:7px!important;padding:4px 7px!important;font-size:.6rem!important;border-radius:999px!important}.v5-candidate-info{padding:8px 9px!important}.v5-candidate-info strong{font-size:.76rem!important;line-height:1.12!important;min-height:1.75em!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.v5-candidate-result{margin:7px 0 5px!important;padding:5px 6px!important;border-radius:8px!important;background:#f6f9fc!important;border:1px solid #d7e7f1!important}.v5-candidate-result b{font-size:1.18rem!important;line-height:1!important}.v5-candidate-result small,.v5-candidate-percent span{font-size:.58rem!important}.v5-candidate-percent{gap:5px!important}.v5-candidate-percent i{height:5px!important;border-radius:999px!important}
.v5-candidate-grid-full{gap:14px!important}.v5-candidate-grid-full .v5-candidate-photo-box{aspect-ratio:7/10!important}.v5-candidate-grid-full .v5-candidate-info strong{font-size:.9rem!important}.v5-candidate-grid-full .v5-candidate-result b{font-size:1.45rem!important}
.v5-leader-badge,.active-context-chip{font-size:.66rem!important;padding:7px 9px!important;border-radius:9px!important}.v5-leader-badge strong{font-size:.72rem!important}.v5-leader-badge span{font-size:.58rem!important}
.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}.v5-kpi-card,.v5-status-grid article,.compact-stat-card{padding:9px 10px!important;border-radius:11px!important;min-height:60px!important}.v5-kpi-card span,.v5-status-grid span,.compact-stat-card span{font-size:.58rem!important}.v5-kpi-card strong,.v5-status-grid strong,.compact-stat-card strong{font-size:1.08rem!important}.v5-kpi-card small,.compact-stat-card small{font-size:.58rem!important}
.v5-progress-card{padding:10px!important}.v5-progress-body{grid-template-columns:88px 1fr!important;gap:10px!important}.v5-progress-ring{width:86px!important;height:86px!important}.v5-progress-ring strong{font-size:.82rem!important}.v5-progress-ring span{font-size:.52rem!important}.v5-progress-list{gap:6px!important}.v5-progress-list>div{padding:6px 7px!important}.v5-progress-list span,.v5-progress-list strong{font-size:.6rem!important}
.record-table th{font-size:.58rem!important;padding:7px 8px!important}.record-table td{padding:7px 8px!important;font-size:.68rem!important}.record-table td small{font-size:.56rem!important}label{font-size:.66rem!important}input,textarea,select{padding:7px 8px!important;font-size:.72rem!important;min-height:31px!important}.status,.online-pill{font-size:.56rem!important;padding:4px 7px!important}.entity-card,.witness-card{padding:8px!important}.entity-card h3,.witness-card h3,.detail-row-card h3,.report-card h3{font-size:.78rem!important}.detail-row-card,.report-card{padding:10px!important;border-radius:10px!important}.detail-grid>div{padding:7px!important}.detail-grid small{font-size:.56rem!important}.detail-grid strong{font-size:.66rem!important}
.candidate-admin-cover{aspect-ratio:7/10!important}.candidate-admin-cover img{object-fit:contain!important;object-position:center center!important;background:#f5f9fb!important}.candidate-admin-body h3{font-size:.76rem!important}
.global-fullscreen{padding:14px!important}.v5-fullscreen-card{padding:14px!important;border-radius:14px!important}.global-close-btn{font-size:.66rem!important;padding:6px 9px!important}
@media(max-width:1280px){.v5-candidate-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.v5-candidate-photo-box{aspect-ratio:7/10!important}.v5-candidate-info strong{font-size:.7rem!important}}
@media(max-width:1180px){.v5-candidate-grid,.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v5-kpi-grid,.v5-status-grid,.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-content{padding:10px!important}.erp-sidebar{transform:translateX(-100%)!important}.erp-shell.sidebar-open .erp-sidebar{transform:translateX(0)!important}.erp-menu-toggle{display:grid!important}}
@media(max-width:640px){html{font-size:12px!important}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip,.v5-progress-list{grid-template-columns:1fr!important}.v5-candidate-photo-box{aspect-ratio:7/10!important}}


/* =========================================================
   v6.9 BALANCED READABLE + PHOTO FIT FIX
   Tujuan: foto calon utuh/pas card, huruf kembali terbaca,
   dashboard tetap rapi dan tidak sekecil v6.7/v6.8.
   ========================================================= */
:root{--sidebar:236px!important;--topbar:56px!important;--radius:14px!important;--radius-sm:9px!important}
html{font-size:14px!important;background:#f7f9fb!important}
body{font-size:.95rem!important;line-height:1.42!important;color:#11232f!important}
.erp-content{padding:16px 18px!important;max-width:1560px!important}.erp-topbar{height:56px!important;padding:0 18px!important}.erp-sidebar{width:236px!important;padding:14px 12px!important;gap:10px!important}.erp-main{margin-left:236px!important}.erp-brand-mark,.logo-box{width:38px!important;height:38px!important;border-radius:12px!important;font-size:1rem!important}.erp-brand-block strong{font-size:.88rem!important;line-height:1.12!important}.erp-brand-block small{font-size:.66rem!important}.erp-workspace-label{font-size:.6rem!important}.erp-nav a{min-height:36px!important;padding:8px 10px!important;border-radius:10px!important;font-size:.78rem!important;font-weight:800!important;gap:9px!important}.erp-nav svg{width:16px!important;height:16px!important}.erp-subnav{margin:2px 0 3px 22px!important;padding:5px!important;border-radius:10px!important}.erp-subnav a{min-height:28px!important;padding:6px 8px!important;font-size:.7rem!important}.erp-sidebar-info,.erp-sidebar-user{padding:10px!important;border-radius:12px!important}.erp-sidebar-info strong,.erp-sidebar-user strong{font-size:.78rem!important}.erp-sidebar-info small,.erp-sidebar-user small{font-size:.62rem!important}.erp-avatar{width:34px!important;height:34px!important;border-radius:10px!important;font-size:.82rem!important}.erp-breadcrumb strong{font-size:.92rem!important}.erp-breadcrumb span,.erp-date,.erp-live-chip{font-size:.7rem!important}.erp-live-chip{padding:7px 10px!important}
.v5-admin-dashboard{gap:13px!important}.v5-hero-card{padding:14px 16px!important;border-radius:15px!important}.v5-hero-card h1,.erp-page-heading h1,.witness-header h1{font-size:1.35rem!important;line-height:1.08!important;letter-spacing:-.03em!important}.v5-hero-card p,.erp-page-heading p,.v5-panel-head p,.admin-section-title p,.witness-header p,.panel-head p{font-size:.8rem!important;line-height:1.38!important;color:#376686!important}.v5-overline,.erp-overline,.erp-section-label,.submenu-kicker,.auth-kicker,.eyebrow,.witness-section-kicker,.entity-eyebrow,.candidate-input-label{font-size:.62rem!important;letter-spacing:.1em!important}.v5-panel,.erp-panel,.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,.admin-subpage-section{padding:14px!important;border-radius:15px!important}.v5-global-panel{padding:16px!important}.v5-panel-head,.erp-panel-head,.panel-head,.entity-card-head,.witness-card-head,.admin-section-title{margin-bottom:13px!important}.v5-panel-head h2,.admin-section-title h2,.erp-panel h2,.v5-panel h2,.panel-head h2{font-size:1.08rem!important;line-height:1.16!important}.btn{min-height:34px!important;padding:8px 12px!important;border-radius:10px!important;font-size:.76rem!important}.btn-small{min-height:29px!important;padding:6px 10px!important;font-size:.68rem!important}
/* Dashboard kandidat: 4 card seimbang, foto utuh dan tidak kepotong */
.v5-candidate-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}.v5-candidate-card{display:flex!important;flex-direction:column!important;min-width:0!important;border-radius:16px!important;overflow:hidden!important;background:#fff!important;border:1px solid #d9e3ea!important;box-shadow:0 8px 22px rgba(13,39,57,.07)!important}.v5-candidate-photo-box{position:relative!important;width:100%!important;height:auto!important;aspect-ratio:4/5!important;min-height:260px!important;max-height:420px!important;border-radius:15px 15px 0 0!important;background:linear-gradient(180deg,#f6f9fb,#eff5f9)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;padding:8px!important}.v5-candidate-photo-box img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center center!important;background:transparent!important;border-radius:10px!important}.v5-candidate-photo-box.has-photo img{object-fit:contain!important;object-position:center center!important;padding:0!important}.v5-candidate-photo-box.is-placeholder img{object-fit:contain!important;object-position:center center!important}.v5-candidate-photo-box span{position:absolute!important;left:10px!important;top:10px!important;padding:5px 9px!important;font-size:.68rem!important;border-radius:999px!important;background:#0a1f2d!important;color:#fff!important;z-index:2!important;box-shadow:0 5px 12px rgba(0,0,0,.13)!important}.v5-candidate-info{padding:12px!important;display:grid!important;gap:8px!important;flex:1!important}.v5-candidate-info strong{font-size:.96rem!important;line-height:1.18!important;min-height:auto!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#08131a!important}.v5-candidate-result{margin:0!important;padding:10px 11px!important;border-radius:12px!important;background:#f5f9fc!important;border:1px solid #d1e3ef!important;display:flex!important;align-items:baseline!important;justify-content:center!important;gap:6px!important}.v5-candidate-result b{font-size:1.55rem!important;line-height:1!important;color:#065387!important}.v5-candidate-result small{font-size:.72rem!important;font-weight:900!important;color:#0a4871!important;text-transform:uppercase!important}.v5-candidate-percent{gap:7px!important}.v5-candidate-percent span{font-size:.74rem!important;font-weight:900!important}.v5-candidate-percent i{height:7px!important;border-radius:999px!important;background:#e8edf0!important}.v5-candidate-grid-full{gap:18px!important}.v5-candidate-grid-full .v5-candidate-photo-box{min-height:360px!important;max-height:64vh!important}.v5-candidate-grid-full .v5-candidate-info strong{font-size:1.08rem!important}.v5-candidate-grid-full .v5-candidate-result b{font-size:1.85rem!important}
.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important}.v5-kpi-card,.v5-status-grid article,.compact-stat-card{padding:13px!important;border-radius:14px!important;min-height:78px!important}.v5-kpi-card span,.v5-status-grid span,.compact-stat-card span{font-size:.7rem!important}.v5-kpi-card strong,.v5-status-grid strong,.compact-stat-card strong{font-size:1.35rem!important}.v5-kpi-card small,.compact-stat-card small{font-size:.7rem!important}.v5-progress-card{padding:14px!important}.v5-progress-body{grid-template-columns:100px 1fr!important;gap:14px!important}.v5-progress-ring{width:98px!important;height:98px!important}.v5-progress-ring strong{font-size:1rem!important}.v5-progress-ring span{font-size:.62rem!important}.v5-progress-list span,.v5-progress-list strong{font-size:.72rem!important}.record-table th{font-size:.68rem!important;padding:9px 10px!important}.record-table td{padding:9px 10px!important;font-size:.78rem!important}label{font-size:.76rem!important}input,textarea,select{font-size:.82rem!important;min-height:36px!important;padding:8px 10px!important}.status,.online-pill{font-size:.65rem!important;padding:5px 8px!important}.global-fullscreen{padding:20px!important}.v5-fullscreen-card{padding:18px!important;border-radius:18px!important}.global-close-btn{font-size:.78rem!important;padding:8px 12px!important}
@media(max-width:1360px){.v5-candidate-grid{gap:12px!important}.v5-candidate-photo-box{min-height:225px!important}.v5-candidate-info strong{font-size:.86rem!important}.v5-candidate-result b{font-size:1.35rem!important}}
@media(max-width:1180px){.v5-candidate-grid,.vote-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v5-candidate-photo-box{min-height:300px!important}.erp-main{margin-left:0!important}.erp-sidebar{transform:translateX(-100%)!important}.erp-shell.sidebar-open .erp-sidebar{transform:translateX(0)!important}.erp-menu-toggle{display:grid!important}}
@media(max-width:640px){html{font-size:14px!important}.erp-content{padding:10px!important}.v5-candidate-grid,.vote-grid,.v5-kpi-grid,.v5-status-grid,.compact-stat-grid,.witness-stat-grid,.witness-summary-strip,.v5-progress-list{grid-template-columns:1fr!important}.v5-candidate-photo-box{min-height:330px!important;aspect-ratio:4/5!important}.v5-hero-card{display:grid!important}.v5-hero-actions{width:100%!important;justify-content:flex-start!important;flex-wrap:wrap!important}}
