/* AccessOne: paleta y superficies inspiradas en ui/02.jpg y ui/02.eps. */
[data-theme="oscuro"]{
  color-scheme:dark;
  --accent:#05a9df;--accent-strong:#27b9ec;--accent-soft:#102b38;--accent-rgb:5,169,223;
  --nav:#101114;--nav2:#17151f;--nav-text:#a4a3ad;--nav-active:#25212f;
  --bg:#101114;--panel:#191a1f;--foreground:#f4f3f7;--muted:#9b9aa4;--border:#2b2c33;
  --card-shadow:0 14px 36px rgba(0,0,0,.24);--hero1:#13151a;--hero2:#29213f;--herotext:#b8b6c2;
  --violet:#7154e8;--violet-soft:#28213f;
}
[data-theme="oscuro"] body{background:var(--bg);color:var(--foreground)}
[data-theme="oscuro"] .sidebar{background:linear-gradient(160deg,#101114 0%,#17151f 100%);border-right:1px solid #25252c}
[data-theme="oscuro"] .accessone-sidebar-logo,[data-theme="oscuro"] .topbar-brand img,
[data-theme="oscuro"] .login-mark img{filter:brightness(1.65) saturate(1.08)}
[data-theme="oscuro"] .sidebar-brand{padding-bottom:31px}
[data-theme="oscuro"] .sidebar-nav{gap:6px}
[data-theme="oscuro"] .sidebar-nav a,[data-theme="oscuro"] .sidebar-nav .sidebar-nav-placeholder{min-height:46px;border-radius:13px}
[data-theme="oscuro"] .sidebar-nav a.active{background:linear-gradient(100deg,#25212f,#1d2028);box-shadow:inset 3px 0 var(--accent)}
[data-theme="oscuro"] .sidebar-nav a.active:before{display:none}
[data-theme="oscuro"] .sidebar-nav a.active i{color:var(--accent)}
[data-theme="oscuro"] .topbar{background:rgba(25,26,31,.94);backdrop-filter:blur(16px);border-color:var(--border)}
[data-theme="oscuro"] .main-sticky-header{box-shadow:0 8px 24px rgba(0,0,0,.12)}
[data-theme="oscuro"] .active-neighborhood-name{background:#191a1f;border-color:var(--border);color:#b8a6ff}
[data-theme="oscuro"] .page-heading h1,[data-theme="oscuro"] .root-dashboard-heading h1{letter-spacing:-.045em}
[data-theme="oscuro"] .eyebrow{color:#63c9ee}
[data-theme="oscuro"] .page-heading p b{color:#dddce2}
[data-theme="oscuro"] .hero-banner{border:1px solid #34303f;border-radius:22px;background:radial-gradient(ellipse at 85% 15%,rgba(113,84,232,.24),transparent 43%),linear-gradient(120deg,#17191e,#211c31)}
[data-theme="oscuro"] .hero-banner h2 span{color:#a895ff}
[data-theme="oscuro"] .hero-tag{color:#69d6f7}
[data-theme="oscuro"] .art-ring{border-color:rgba(113,84,232,.38)}
[data-theme="oscuro"] .art-shield{color:#9b83ff;filter:drop-shadow(0 0 22px rgba(113,84,232,.5))}
[data-theme="oscuro"] .surface-card,[data-theme="oscuro"] .gate-card,
[data-theme="oscuro"] .stat-card,[data-theme="oscuro"] .root-dashboard-summary,
[data-theme="oscuro"] .root-neighborhood-section,[data-theme="oscuro"] .listing-card,
[data-theme="oscuro"] .editor-card,[data-theme="oscuro"] .feed-card,
[data-theme="oscuro"] .quick-card,[data-theme="oscuro"] .event-form-card,
[data-theme="oscuro"] .event-detail-card,[data-theme="oscuro"] .community-events-card,
[data-theme="oscuro"] .authorization-card,[data-theme="oscuro"] .household-card,
[data-theme="oscuro"] .visitor-card,[data-theme="oscuro"] .users-card{
  background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:20px!important;
  box-shadow:var(--card-shadow)
}
[data-theme="oscuro"] .stat-card{padding:22px}
[data-theme="oscuro"] .residents-page-heading h2{margin:6px 0 5px;font-size:30px;letter-spacing:-.045em}
[data-theme="oscuro"] .admin-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}
[data-theme="oscuro"] .admin-overview-card{display:flex;align-items:center;gap:14px;min-width:0;padding:17px 18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#1b1c22,#17181d);box-shadow:var(--card-shadow)}
[data-theme="oscuro"] .admin-overview-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;font-size:20px}
[data-theme="oscuro"] .admin-overview-card>div{display:grid;min-width:0;gap:2px}
[data-theme="oscuro"] .admin-overview-card>div>span{color:var(--muted);font-size:12px;font-weight:700}
[data-theme="oscuro"] .admin-overview-card strong{font-size:26px;line-height:1.15;font-family:Manrope,'DM Sans',sans-serif}
[data-theme="oscuro"] .admin-overview-card small{overflow:hidden;color:#777781;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
[data-theme="oscuro"] .gate-carousel .gate-card{padding:26px!important;border:1px solid var(--border)!important;border-radius:22px!important;background:var(--panel)!important;box-shadow:var(--card-shadow)}
[data-theme="oscuro"] .stat-icon,[data-theme="oscuro"] .root-summary-icon,
[data-theme="oscuro"] .root-neighborhood-icon{border-radius:14px}
[data-theme="oscuro"] .icon-blue{background:#102b38;color:#52c8ef}
[data-theme="oscuro"] .icon-violet{background:#28213f;color:#b5a1ff}
[data-theme="oscuro"] .icon-orange{background:#38291c;color:#ffc078}
[data-theme="oscuro"] .stat-footer{border-color:var(--border)}
[data-theme="oscuro"] .quick-link,[data-theme="oscuro"] .root-neighborhood-card,
[data-theme="oscuro"] .auth-kind-options label>span,
[data-theme="oscuro"] .direction-select label>span{background:#141519;border-color:var(--border);border-radius:14px;color:var(--foreground)}
[data-theme="oscuro"] .quick-link:hover,[data-theme="oscuro"] .root-neighborhood-card:hover{background:#1e1b29;border-color:var(--violet)}
[data-theme="oscuro"] .quick-alert,[data-theme="oscuro"] .gate-tip{background:#142631;color:#66cef1;border:1px solid #1d3c49;border-radius:14px}
[data-theme="oscuro"] .quick-alert p,[data-theme="oscuro"] .gate-tip p{color:#b1c2ca}
[data-theme="oscuro"] .modern-table{--bs-table-bg:transparent;--bs-table-color:var(--foreground);--bs-table-border-color:var(--border);--bs-table-hover-bg:#22232a;--bs-table-hover-color:var(--foreground)}
[data-theme="oscuro"] .modern-table thead th{color:#aaa9b3}
[data-theme="oscuro"] .modern-table tbody td{color:var(--foreground)}
[data-theme="oscuro"] .dim-cell,[data-theme="oscuro"] .type-label{color:#b3b2bb!important}
[data-theme="oscuro"] .status-badge.approved{background:#173525;color:#8fe0a8}
[data-theme="oscuro"] .status-badge.denied{background:#3b2227;color:#ffaaa5}
[data-theme="oscuro"] .form-control,[data-theme="oscuro"] .form-select,
[data-theme="oscuro"] .dni-field input,[data-theme="oscuro"] .login-input,
[data-theme="oscuro"] .search-form{background-color:#111216;color:var(--foreground);border-color:#34353d;border-radius:13px}
[data-theme="oscuro"] .form-control::placeholder,[data-theme="oscuro"] .search-form input::placeholder{color:#85848e}
[data-theme="oscuro"] .form-select option{background:#191a1f;color:var(--foreground)}
[data-theme="oscuro"] .form-label{color:#d0cfd5}
[data-theme="oscuro"] .form-control:focus,[data-theme="oscuro"] .form-select:focus,
[data-theme="oscuro"] .dni-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(5,169,223,.13)}
[data-theme="oscuro"] .btn{border-radius:999px;font-weight:800}
[data-theme="oscuro"] .btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 7px 20px rgba(5,169,223,.17)}
[data-theme="oscuro"] .btn-primary:hover,[data-theme="oscuro"] .btn-primary:focus{background:#0796c7;border-color:#0796c7}
[data-theme="oscuro"] .btn-outline-secondary{background:#202126;border-color:#383940;color:#f3f2f5}
[data-theme="oscuro"] .btn-outline-secondary:hover{background:#2b2c33;border-color:#51515a;color:#fff}
[data-theme="oscuro"] .table-action{background:#202126;border-color:#383940;color:#c4c3ca;border-radius:10px}
[data-theme="oscuro"] .plate-badge{background:#24252b;border-color:#41424b;color:#e0eaf7}
[data-theme="oscuro"] .date-pill,[data-theme="oscuro"] .step-pill{background:#191a1f;border-color:var(--border);border-radius:999px;color:#cbc9d2}
[data-theme="oscuro"] .count-chip{background:#28213f;color:#b5a1ff;border-radius:999px}
[data-theme="oscuro"] .root-neighborhood-edit{background:#202126;border-color:#383940;border-radius:10px}
[data-theme="oscuro"] .decision-ok{background:#173525;color:#a5e6b5}
[data-theme="oscuro"] .decision-no{background:#3b2227;color:#ffb1ac}
[data-theme="oscuro"] .modal-content{background:var(--panel);color:var(--foreground);border:1px solid var(--border);border-radius:20px}
[data-theme="oscuro"] .modal-header,[data-theme="oscuro"] .modal-footer{border-color:var(--border)}
[data-theme="oscuro"] .alert{--bs-alert-bg:#20212a;--bs-alert-color:#e4e2eb;--bs-alert-border-color:#393744;border-radius:14px}
[data-theme="oscuro"] .alert-success{--bs-alert-bg:#173525;--bs-alert-color:#a5e6b5;--bs-alert-border-color:#2b6540}
[data-theme="oscuro"] .alert-danger{--bs-alert-bg:#3b2227;--bs-alert-color:#ffb1ac;--bs-alert-border-color:#71383e}
[data-theme="oscuro"] .login-scene{grid-template-columns:1.04fr .96fr;background:#101114}
[data-theme="oscuro"] .login-brand-side{background:radial-gradient(ellipse at 80% 20%,rgba(113,84,232,.28),transparent 40%),linear-gradient(145deg,#111216,#211c31);border-right:1px solid #302b40}
[data-theme="oscuro"] .login-brand-side h1 em{color:#a895ff}
[data-theme="oscuro"] .login-form-side{background:#101114}
[data-theme="oscuro"] .login-card{background:#191a1f;border:1px solid #2b2c33;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.24)}
.login-card>.eyebrow,.login-card>h2,.login-card>p.text-muted-custom{display:block;width:90%;margin-left:auto;margin-right:auto;text-align:center}
[data-theme="oscuro"] .login-input{background:#111216;border-radius:13px}
[data-theme="oscuro"] .login-input input{background:transparent;color:var(--foreground)}
[data-theme="oscuro"] .login-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(5,169,223,.13)}
[data-theme="oscuro"] .page-footer{background:#101114;border-color:var(--border);color:#777781}
[data-theme="oscuro"] .sidebar-backdrop{background:rgba(4,4,6,.74)}
[data-theme="oscuro"] .mobile-install-screen{background:radial-gradient(ellipse at 82% 12%,#2c2148 0,#101114 61%);color:#f7f6fb}
[data-theme="oscuro"] .mobile-install-card{border-color:#ffffff26;background:#191a1fcc;box-shadow:0 24px 80px #0007}
[data-theme="oscuro"] .mobile-install-logo{border:0;border-radius:0;background:transparent}
[data-theme="oscuro"] .mobile-install-eyebrow{color:#a895ff}
[data-theme="oscuro"] .mobile-install-description{color:#c9c7d0}
[data-theme="oscuro"] .mobile-install-button{background:var(--accent);box-shadow:0 8px 22px rgba(5,169,223,.23)}
[data-theme="oscuro"] .mobile-install-button:hover{background:#0796c7}
[data-theme="oscuro"] .mobile-install-instructions{border-color:var(--border);background:#111216}
[data-theme="oscuro"] .mobile-install-instructions ol,[data-theme="oscuro"] .mobile-install-instructions p{color:#cfced5}
[data-theme="oscuro"] .mobile-install-feedback{background:#102b38;color:#daf6ff}
[data-theme="oscuro"] ::selection{background:rgba(5,169,223,.35);color:#fff}
[data-theme="oscuro"] :focus-visible{outline-color:var(--accent)}
@media(max-width:850px){
  [data-theme="oscuro"] .topbar{background:rgba(25,26,31,.97)}
  [data-theme="oscuro"] .sidebar{box-shadow:18px 0 50px rgba(0,0,0,.35)}
  [data-theme="oscuro"] .login-scene{grid-template-columns:minmax(0,1fr)}
  [data-theme="oscuro"] .login-brand-side{border-right:0;border-bottom:1px solid #302b40}
}
@media(max-width:600px){
  [data-theme="oscuro"] .topbar{position:relative;justify-content:flex-start}
  [data-theme="oscuro"] .topbar>div:first-child{width:100%}
  [data-theme="oscuro"] .topbar-brand{position:absolute;left:50%;transform:translateX(-50%);z-index:1}
  [data-theme="oscuro"] .topbar-brand img{display:block;width:156px;max-width:calc(100vw - 120px);height:auto}
  [data-theme="oscuro"] .residents-page-heading h2{font-size:25px}
  [data-theme="oscuro"] .admin-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  [data-theme="oscuro"] .admin-overview-card{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 10px;border-radius:15px}
  [data-theme="oscuro"] .admin-overview-icon{flex-basis:34px;width:34px;height:34px;border-radius:11px;font-size:16px}
  [data-theme="oscuro"] .admin-overview-card>div>span{font-size:10px;line-height:1.3}
  [data-theme="oscuro"] .admin-overview-card strong{font-size:21px}
  [data-theme="oscuro"] .admin-overview-card small{font-size:9px}
  [data-theme="oscuro"] .gate-carousel .gate-card{padding:18px!important}
  [data-theme="oscuro"] .page-content{padding-top:20px}
  [data-theme="oscuro"] .hero-banner{border-radius:19px;padding:22px}
  [data-theme="oscuro"] .stat-card{padding:16px;border-radius:17px!important}
  [data-theme="oscuro"] .feed-card,[data-theme="oscuro"] .quick-card,
  [data-theme="oscuro"] .listing-card,[data-theme="oscuro"] .editor-card,
  [data-theme="oscuro"] .gate-card{padding:17px!important}
  [data-theme="oscuro"] .login-card{border-radius:22px}
}

/* Resident credential card and quick actions based on the AccessOne mobile concept. */
.resident-access-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 28px;align-items:center;margin:0 0 22px;padding:24px 26px;border:1px solid var(--border);border-radius:22px;background:var(--panel);box-shadow:var(--card-shadow)}
.resident-access-identity{display:flex;align-items:center;gap:17px;min-width:0}
.resident-access-icon{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#123441,#2b2148);color:#54d0f2;font-size:30px}
.resident-access-kicker{display:block;color:#72d7f3;font-size:11px;font-weight:850;letter-spacing:.16em}
.resident-access-copy h2{margin:4px 0 4px;font:800 22px/1.2 Manrope,'DM Sans',sans-serif;letter-spacing:-.04em;color:var(--foreground)}
.resident-access-copy p{margin:0;color:var(--muted);font-size:14px}
.resident-access-details{display:flex;align-items:center;gap:24px}
.resident-access-status{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#173525;color:#9be3ae;font-size:12px;font-weight:800;white-space:nowrap}
.resident-access-status i{font-size:8px}
.resident-access-status.is-disabled{background:#3b2227;color:#ffb1ac}
.resident-access-dni{display:grid;gap:2px}
.resident-access-dni small{color:var(--muted);font-size:11px}
.resident-access-dni strong{color:var(--foreground);font-size:18px;letter-spacing:.06em}
.resident-access-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.resident-access-actions .btn{min-height:43px;display:inline-flex;align-items:center;justify-content:center}

/* Access history summary uses counts from the active history filters. */
.access-activity-overview{display:grid;grid-template-columns:minmax(240px,.95fr) minmax(0,1.65fr);gap:15px;margin:0 0 20px}
.access-activity-chart,.activity-stat-card{min-width:0;padding:20px;border:1px solid var(--border);border-radius:19px;background:var(--panel);box-shadow:var(--card-shadow)}
.access-activity-chart{display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:radial-gradient(ellipse at 100% 0,rgba(113,84,232,.18),transparent 58%),var(--panel)}
.access-activity-heading{display:flex;align-items:center;gap:13px}
.activity-shield{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:#102b38;color:#5dcef0;font-size:22px}
.access-activity-heading .eyebrow{font-size:10px;letter-spacing:.13em}
.access-activity-heading h2{margin:4px 0 0;font:800 19px/1.2 Manrope,'DM Sans',sans-serif;letter-spacing:-.035em;color:var(--foreground)}
.activity-ratio{height:10px;overflow:hidden;border-radius:999px;background:#48252b}
.activity-ratio span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#05a9df,#7154e8)}
.activity-ratio-legend{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:12px;font-weight:700}
.activity-ratio-legend span{display:flex;align-items:center;gap:7px}
.activity-dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.authorized-dot{background:#05a9df}.denied-dot{background:#d06a72}
.access-activity-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.activity-stat-card{display:grid;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:2px 11px}
.activity-stat-icon{grid-row:span 3;display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:#102b38;color:#5dcef0;font-size:20px}
.activity-stat-authorized .activity-stat-icon{background:#173525;color:#8fe0a8}
.activity-stat-visitors .activity-stat-icon{background:#28213f;color:#b5a1ff}
.activity-stat-label{color:var(--muted);font-size:11px;font-weight:750}
.activity-stat-card strong{font:800 25px/1.2 Manrope,'DM Sans',sans-serif;color:var(--foreground)}
.activity-stat-card small{color:var(--muted);font-size:10px;white-space:nowrap}

.mobile-bottom-nav{display:none}
@media(max-width:850px){
  .app-shell-neighbor .mobile-bottom-nav{position:fixed;z-index:85;left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(420px,calc(100% - 28px));min-height:58px;padding:6px 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:5px;border:1px solid #34343c;border-radius:19px;background:rgba(25,26,31,.96);box-shadow:0 12px 34px rgba(0,0,0,.42);backdrop-filter:blur(16px)}
  .app-shell-neighbor .mobile-bottom-nav>a{display:grid;place-items:center;min-width:0;min-height:44px;border-radius:13px;color:#aaa9b3;font-size:20px;text-decoration:none;transition:background .16s,color .16s}
  .app-shell-neighbor .mobile-bottom-nav>a.is-active{background:#292a31;color:#22c1ef}
  .app-shell-neighbor .mobile-bottom-nav>a.mobile-bottom-nav-primary{width:46px;height:46px;justify-self:center;border-radius:13px;background:transparent;color:#aaa9b3;font-size:20px;box-shadow:none}
  .app-shell-neighbor .page-content{padding-bottom:154px!important}
  .app-shell-neighbor~.page-footer{display:none!important}
  .resident-access-overview{grid-template-columns:minmax(0,1fr);gap:17px;padding:20px}
  .resident-access-details{justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
  .resident-access-actions{display:grid;grid-template-columns:1fr 1fr}
  .resident-access-actions .btn{padding-inline:10px;font-size:13px}
  .access-activity-overview{grid-template-columns:1fr}
}
@media(max-width:600px){
  .access-activity-stats{gap:8px}
  .activity-stat-card{grid-template-columns:1fr;gap:4px;padding:13px 11px;border-radius:15px}
  .activity-stat-icon{grid-row:auto;width:32px;height:32px;border-radius:11px;font-size:17px;margin-bottom:3px}
  .activity-stat-card strong{font-size:22px}
  .activity-stat-card small{font-size:9px;white-space:normal}
  .access-activity-chart{min-height:150px;padding:17px}
  .resident-access-copy h2{font-size:20px}
}
/* Compact identification controls aligned above the DNI field. */
.gate-carousel #gateStepOne>.section-head{margin-bottom:21px}
.gate-carousel #gateStepOne>.section-head>div{width:100%}
.gate-carousel #gateStepOne>.section-head h3{margin:0;text-align:center}
.gate-dni-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.gate-dni-label-row .form-label{margin:0}
.gate-dni-tools{display:flex;align-items:center;gap:6px}
.gate-dni-tools .gate-voice-button,.gate-dni-tools .dni-scan-button{position:static;transform:none;z-index:auto;width:32px;height:32px;flex:0 0 32px;border:1px solid var(--border);border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center}
.gate-dni-tools .gate-voice-button{font-size:17px}
.gate-dni-tools .dni-scan-button{font-size:19px}
.gate-dni-tools .gate-voice-button:hover,.gate-dni-tools .gate-voice-button:focus-visible,.gate-dni-tools .dni-scan-button:hover,.gate-dni-tools .dni-scan-button:focus-visible{background:var(--accent);color:#fff;outline:0;box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2)}
.gate-dni-tools .gate-voice-button.is-listening{background:#c94444;color:#fff}
