/* Identidad compartida: Noel Calderon / Santo Domingo Oeste 2028. */
:root{--fp-forest:#303030;--fp-deep:#242424;--fp-green:#656565;--fp-bright:#7d7d7d;--fp-mint:#f1f1f1;--fp-line:#e6e6e6;--fp-ink:#333333;--fp-muted:#737373;--fp-sidebar:284px;--fp-topbar:88px;--primary:#656565!important;--navy:#303030!important;--blue:#656565!important;--av-navy:#303030!important;--av-gold:#bebebe!important}
html body{color:var(--fp-ink);background:#f3f7f4;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
body h1,body h2,body h3,body h4,body h5,body h6{color:var(--fp-ink)}
body a{color:#595959}body a:hover{color:#3a3a3a}
body :focus-visible{outline:3px solid #9f9f9f;outline-offset:3px}
body .card{border-radius:18px;border-color:var(--fp-line);box-shadow:0 5px 22px #34343406}
body .card-header{background:#f5faf7!important;border-bottom:1px solid var(--fp-line)!important;border-radius:18px 18px 0 0;color:var(--fp-forest)}
body .card-header h4,body .card-header h5,body .section-title{color:var(--fp-forest)!important}
body :is(.hero,.jce-hero,.admin-hero,.hero-electoral,.create-hero,.import-hero,.reg-hero,.dr-hero,.e-hero,.geo-hero,.od-hero,.vv-hero,.jm-hero){background:radial-gradient(ellipse at 95% 0%,#90909055,transparent 55%),linear-gradient(115deg,#303030,#4c4c4c 65%,#676767)!important;color:#fff!important;border:1px solid #ffffff14!important;border-radius:20px!important;box-shadow:0 12px 28px #40404012!important}
body :is(.hero,.jce-hero,.admin-hero,.hero-electoral,.create-hero,.import-hero,.reg-hero,.dr-hero,.e-hero,.geo-hero,.od-hero,.vv-hero,.jm-hero) :is(h1,h2,h3,h4,h5){color:white!important}
body :is(.hero,.jce-hero,.admin-hero,.hero-electoral,.create-hero,.import-hero,.reg-hero,.dr-hero,.e-hero,.geo-hero,.od-hero,.vv-hero,.jm-hero) p{color:#efefef!important}
body .modal-header{background:var(--fp-forest)!important;border-bottom:0!important;color:#fff!important}body .modal-header :is(h4,h5,.close){color:#fff!important}
body .btn,body :is(.btn-main,.btn-save,.btn-secondary-modern,.btn-danger-pro,.e-btn,.btn-review,.btn-camera,.btn-clear){border-radius:11px!important;font-weight:650;transition:background .15s,box-shadow .15s,transform .15s}
body .btn:not([class*="btn-outline"]):not(.btn-link):not(.btn-light):not(.btn-white):not(.btn-soft):not(.close),body :is(.btn-main,.btn-save,.btn-danger-pro,.btn-primary-av,.btn-av,.btn-search,.btn-import,.e-btn,.btn-review){background:linear-gradient(110deg,#555555,#686868)!important;border-color:#5b5b5b!important;color:#fff!important;box-shadow:0 4px 12px #4a4a4a14!important}
body .btn:not([class*="btn-outline"]):not(.btn-link):not(.btn-light):not(.btn-white):not(.btn-soft):hover,body :is(.btn-main,.btn-save,.e-btn):hover{background:#454545!important;color:#fff!important;box-shadow:0 5px 16px #4a4a4a26!important}
body :is([class*="btn-outline"],.btn-soft,.btn-secondary-modern,.btn-camera,.btn-clear,.btn-scan){background:#f7f7f7!important;border:1px solid #cacaca!important;color:#4d4d4d!important;box-shadow:none!important}
body :is([class*="btn-outline"],.btn-soft,.btn-secondary-modern,.btn-camera,.btn-clear,.btn-scan):hover{background:#eaeaea!important;color:#3b3b3b!important}
body :is(.btn-light,.btn-white,.btn-link){color:#565656!important}.btn:disabled,button:disabled{opacity:.5!important;transform:none!important}
body .form-control{border-color:#e0e0e0;color:#3c3c3c}body .form-control:focus{border-color:#9f9f9f!important;box-shadow:0 0 0 3px #70707016!important}
body .custom-control-input:checked~.custom-control-label::before{background-color:#656565;border-color:#656565}body input[type=checkbox],body input[type=radio]{accent-color:#656565}
body .nav-pills .nav-link.active,body .jce-tabs .nav-link.active{background:#ededed!important;color:#414141!important;box-shadow:inset 0 0 0 1px #dbdbdb}
body .nav-tabs .nav-link.active{color:#515151!important;border-bottom-color:#656565!important}
body .page-item.active .page-link{background:#656565;border-color:#656565}body .page-link{color:#595959}
body .table thead th{background:#f4f4f4!important;color:#575757!important;border-color:#e6e6e6!important}body .table-hover tbody tr:hover{background:#f6f6f6}
body .text-primary,body .text-info{color:#595959!important}body .bg-primary,body .bg-info,body .badge-primary{background-color:#656565!important}
body .cedula-badge{background:#f1f1f1!important;color:#4a4a4a!important}
body .jce-search-card,body .query-card,body .panel,body .panel-card{box-shadow:0 8px 30px #3e3e3e06!important}
body .jce-search-card .form-control{background:#fbfdfb}
body .jce-hero img[src*="logo_t"]{border-radius:15px;box-shadow:0 6px 20px #1d1d1d26;filter:none!important}
body .screen .brand{background:radial-gradient(ellipse at top right,#7d7d7d66,transparent 60%),linear-gradient(135deg,#303030,#5c5c5c)!important}
body .screen .lock{background:#f1f1f1;color:#575757}body .screen .eyebrow{color:#dcdcdc}
body .vote-head,body .dr-modal-head{background:linear-gradient(115deg,#303030,#616161)!important;color:#fff!important;border-radius:18px}body .vote-head h2,body .dr-modal-head h5{color:#fff!important}
body button.primary,body .location-map-btn{background:#5d5d5d!important;color:#fff!important;border-color:#5d5d5d!important;border-radius:11px}
body .toggle-pass,body .security-icon{color:#505050!important;background:#f2f2f2!important}body .toggle-pass:hover{background:#e6e6e6!important}
body .pagination .active .page-link{background:#5d5d5d!important;border-color:#5d5d5d!important;color:white!important}
body .stat-widget-two .progress-bar{background:#777777!important}body .stat-widget-two .stat-digit{color:#444444}
/* Navegación independiente del menú heredado. */
.fp-topbar,.fp-sidebar,.fp-backdrop{box-sizing:border-box}.fp-topbar *,.fp-sidebar *{box-sizing:border-box}
.fp-topbar{position:fixed;inset:0 0 auto var(--fp-sidebar);height:var(--fp-topbar);z-index:1030;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 32px;background:#fffffff5;backdrop-filter:blur(18px);border-bottom:1px solid var(--fp-line);transition:left .2s}
.fp-topbar-left,.fp-topbar-right{display:flex;align-items:center;gap:20px;min-width:0}.fp-topbar-left{flex:1}
.fp-icon-button{border:1px solid #e5e5e5;background:#f4faf6;color:#474747;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;cursor:pointer}.fp-icon-button:hover{background:#efefef}.fp-icon-button svg{width:24px;height:24px}
.fp-breadcrumb{display:flex;flex-direction:column;gap:3px;min-width:0}.fp-breadcrumb>span{font-size:11px;font-weight:550;letter-spacing:.03em;color:#7c7c7c}.fp-breadcrumb strong{font-size:17px;color:#363636;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp-workspace{display:flex;align-items:center;gap:8px;color:#686868;font-size:12px;white-space:nowrap}.fp-workspace>span,.fp-footer-dot{width:7px;height:7px;border-radius:50%;background:#9d9d9d;box-shadow:0 0 0 4px #7d7d7d13}
.fp-profile{position:relative}.fp-profile summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.fp-profile summary::-webkit-details-marker,.fp-nav-group summary::-webkit-details-marker{display:none}.fp-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#efefef;color:#515151;font-weight:750}.fp-profile-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;color:#3b3b3b}.fp-profile-name small{display:block;color:#7a7a7a;font-size:9px;letter-spacing:.06em;margin-top:2px}.fp-profile-menu{position:absolute;right:0;top:55px;width:240px;border:1px solid var(--fp-line);border-radius:14px;background:white;box-shadow:0 16px 48px #29292920;padding:16px}.fp-profile-menu>strong{display:block;font-size:13px;overflow-wrap:anywhere;margin-bottom:12px}.fp-profile-menu a{display:flex;justify-content:space-between;background:#f6f6f6;padding:12px;border-radius:8px;color:#4e4e4e;font-size:13px}
.fp-sidebar{position:fixed;inset:0 auto 0 0;width:var(--fp-sidebar);z-index:1040;display:flex;flex-direction:column;padding:28px 18px 18px;background:radial-gradient(ellipse at 0 0,#55555544,transparent 65%),#252525;color:#e5e5e5;border-right:1px solid #434343;transition:transform .2s;box-shadow:4px 0 20px #27272708}
.fp-brand-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px 25px}.fp-brand{display:flex;align-items:center;gap:14px;color:#fff!important}.fp-brand img{height:58px;width:58px;border-radius:12px;object-fit:contain;box-shadow:0 4px 20px #18181833}.fp-brand>span{font-size:19px;line-height:1.1;letter-spacing:-.4px;color:#fff}.fp-brand strong{font-weight:750}.fp-brand small{display:block;margin-top:8px;font-size:8px;letter-spacing:2px;font-weight:600;color:#bababa}.fp-drawer-close{display:none}
.fp-nav-search{display:flex;align-items:center;gap:9px;background:#ffffff08;border:1px solid #ffffff18;border-radius:11px;padding:10px 12px;margin:0 5px 26px;color:#b2b2b2}.fp-nav-search svg{width:18px;height:18px;flex-shrink:0}.fp-nav-search input{background:transparent;color:#f2f2f2;border:0;outline:none;width:100%;font-size:12px;min-width:0}.fp-nav-search input::placeholder{color:#bbbbbb}.fp-nav-search:focus-within{border-color:#afafaf;box-shadow:0 0 0 2px #90909022}
.fp-navigation{min-height:0;flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#585858 transparent;padding:0 3px 10px}.fp-nav-label{display:block;padding:0 12px 12px;color:#a2a2a2;font-size:9px;letter-spacing:1.5px;font-weight:650}.fp-nav-group{margin:3px 0 8px}.fp-nav-group summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:12px;border-radius:11px;color:#d1d1d1;font-size:13px;font-weight:570}.fp-nav-group summary:hover{background:#ffffff08;color:#fff}.fp-nav-group[open] summary{background:#ffffff0b;color:#fff}.fp-group-icon{font-size:20px;width:22px;line-height:1;color:#cbcbcb}.fp-chevron{margin-left:auto;width:13px;height:13px;transition:transform .18s}.fp-nav-group[open] .fp-chevron{transform:rotate(90deg)}
.fp-nav-links{margin:7px 0 12px 22px;padding-left:12px;border-left:1px solid #ffffff1a}.fp-nav-links a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:9px 11px;margin:3px 0;border-radius:9px;font-size:12px;color:#c5c5c5;line-height:1.4}.fp-nav-links a:hover{background:#ffffff0b;color:#fff}.fp-nav-links a[aria-current=page]{background:#eeeeee;color:#343434;font-weight:700;box-shadow:0 4px 14px #18181822}.fp-active-arrow{display:none}.fp-nav-links [aria-current=page] .fp-active-arrow{display:inline;font-size:17px;color:#676767}.fp-sidebar [hidden]{display:none!important}.fp-no-results{padding:14px;color:#cfcfcf;font-size:12px}
.fp-group-icon{height:22px;flex-shrink:0}
.fp-sidebar-footer{display:flex;align-items:center;gap:10px;margin-top:14px;padding:16px 9px 0;border-top:1px solid #ffffff13}.fp-footer-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;border:1px solid #ffffff1f;color:#d6d6d6;font-weight:800;font-size:12px}.fp-sidebar-footer strong{display:block;font-size:11px;color:#e3e3e3;font-weight:550}.fp-sidebar-footer small{display:block;color:#a6a6a6;font-size:10px;margin-top:2px}.fp-footer-dot{margin-left:auto}
body.fp-shell #main-wrapper{opacity:1}body.fp-shell .content-body{margin-left:var(--fp-sidebar)!important;padding-top:var(--fp-topbar)!important;min-height:100vh!important;transition:margin-left .2s}body.fp-shell .content-body>.container-fluid{padding:28px!important}body.fp-shell .footer{margin-left:var(--fp-sidebar)!important;background:#f3f7f4;border:0}
body.fp-menu-hidden .fp-sidebar{transform:translateX(-100%)}body.fp-menu-hidden .fp-topbar{left:0}body.fp-menu-hidden .content-body,body.fp-menu-hidden .footer{margin-left:0!important}
.fp-backdrop{position:fixed;inset:0;background:#202020cc;backdrop-filter:blur(4px);z-index:1039;border:0;padding:0;width:100%;height:100%}.fp-backdrop[hidden]{display:none}
@media(min-width:1100px){body.fp-shell .content-body>.container-fluid{max-width:1900px;margin:auto}}
@media(max-width:1099px){.fp-topbar{left:0;padding:0 22px}.fp-sidebar{transform:translateX(-100%);width:300px;max-width:88vw}.fp-drawer-open .fp-sidebar{transform:translateX(0)}.fp-drawer-open{overflow:hidden}.fp-drawer-close{display:grid;border-color:#ffffff22;background:#ffffff0b;color:white;font-size:25px}.fp-workspace{display:none}body.fp-shell .content-body,body.fp-shell .footer{margin-left:0!important}.fp-brand-row{padding-left:4px;padding-right:0}.fp-brand img{width:50px;height:50px}}
@media(max-width:575px){:root{--fp-topbar:74px}.fp-topbar{padding:0 16px;gap:12px}.fp-topbar-left{gap:12px}.fp-profile-name,.fp-profile summary>span:last-child{display:none}.fp-breadcrumb>span{font-size:9px}.fp-breadcrumb strong{font-size:14px}.fp-topbar-right{gap:0}.fp-avatar{width:36px;height:36px}.fp-icon-button{height:38px;width:38px}body.fp-shell .content-body>.container-fluid{padding:18px 14px!important}body .card-header{padding:16px;flex-wrap:wrap;gap:8px}body .jce-hero .card-body{padding:23px!important}body .jce-hero img[src*="logo_t"]{width:68px!important;max-height:68px!important}body .jce-title{font-size:24px}body .jce-tabs{gap:7px}body .jce-tabs .nav-link{padding:10px 13px;font-size:12px}.fp-profile-menu{width:220px}.fp-sidebar{padding-top:20px;padding-bottom:max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.fp-topbar,.fp-sidebar,.fp-chevron,body.fp-shell .content-body,body .btn{transition:none!important}}
@media print{.fp-sidebar,.fp-topbar,.fp-backdrop{display:none!important}body.fp-shell .content-body{margin:0!important;padding:0!important}}


/* Noel Calderon · Santo Domingo Oeste. */
:root{--fp-forest:#2E2D2D;--fp-deep:#222121;--fp-green:#2E2D2D;--fp-bright:#555454;--fp-ink:#2E2D2D;--fp-mint:#f2f2f2;--primary:#2E2D2D!important;--navy:#2E2D2D!important;--blue:#2E2D2D!important;--av-navy:#2E2D2D!important;--av-gold:#d5a32e!important}
.fp-sidebar{background:#2E2D2D!important}
.fp-brand img{width:98px;height:64px;flex-shrink:0;object-fit:contain;box-shadow:none;background:transparent;border:0}
.fp-brand>span{font-size:17px}.fp-brand small{letter-spacing:1px;color:#e4c777}
.fp-footer-mark{color:#e4c777;min-width:36px}
body .screen .brand,body :is(.hero,.jce-hero,.admin-hero,.hero-electoral,.create-hero,.import-hero,.reg-hero,.dr-hero,.e-hero,.geo-hero,.od-hero,.vv-hero,.jm-hero,.mc-hero){background:#2E2D2D!important;border-bottom:3px solid #d5a32e!important}
body .screen .logo{width:260px;height:auto;max-height:none;max-width:100%;object-fit:contain;background:transparent;padding:0}
body .screen .brand-copy h1{color:#fff}
.msa-public-logo{width:220px;height:auto;max-width:100%;object-fit:contain;background:transparent;margin-bottom:16px}
body .btn-primary,body .btn-main,body .btn-save,body button.primary,body .bg-primary,body .page-item.active .page-link{background:#2E2D2D!important;border-color:#2E2D2D!important;color:#fff!important}
body .btn-primary:hover,body button.primary:hover{background:#464545!important}
body .screen .eyebrow,body .screen .brand p{color:#e6e6e6}
body .jce-hero img[src*="logo_t"]{background:transparent;object-fit:contain;box-shadow:none}
body .screen .btn{background:#2E2D2D!important;border-color:#2E2D2D!important}
body .screen .login-side{background:#f3f3f3}
body .screen .field input:focus{border-color:#2E2D2D;box-shadow:0 0 0 4px #2e2d2d18}
