/* Avances silenciosos, separados de las alertas urgentes. */
.nav .admin-activity-dot{position:absolute;top:9px;right:13px;width:8px;height:8px;background:var(--brand,#0e7c86);border:2px solid var(--card,#fff);border-radius:50%;pointer-events:none}
.nav .admin-activity-dot[hidden]{display:none}
.activity-new{font-size:11px;background:#e3f5f1;color:#07554d;border-radius:12px;padding:3px 8px;white-space:nowrap}
.registro-progress{display:flex;gap:12px;align-items:center;font-size:13px}
.registro-progress progress{width:100%;height:8px;accent-color:var(--brand,#0e7c86)}
.activity-events{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.activity-events li{display:grid;gap:2px;font-size:13px}
.activity-events time{font-size:11px;color:var(--muted,#5e7376)}
/* La tira mantiene su propio gesto horizontal sin abrir la tarjeta. */
.lav-photo-widget{position:relative;min-width:0;height:100%;isolation:isolate;overflow:hidden}
.lav-photo-strip{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.lav-photo-strip::-webkit-scrollbar{display:none}
.lav-photo-strip>button{flex:0 0 100%;width:100%;height:100%;min-width:0;border:0;padding:0;border-radius:0;background:transparent;scroll-snap-align:start;cursor:zoom-in;overflow:hidden}
.lav-photo-strip>button>img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-drag:none}
.lav-photo-strip button:focus-visible,.photo-arrow:focus-visible{outline:3px solid #0e7c86;outline-offset:-3px}
.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:36px;padding:0;border:0;border-radius:14px;background:rgba(0,0,0,.52);color:#fff;font:28px/1 system-ui;z-index:2;cursor:pointer}
.photo-prev{left:6px}.photo-next{right:6px}.photo-arrow:disabled{opacity:.25;cursor:default}
.photo-count{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.65);color:#fff;border-radius:10px;padding:3px 7px;font-size:11px;pointer-events:none;z-index:2}
.lav-photo-widget.photo-detail{height:220px}.lav-photo-widget.photo-map{width:84px;height:84px;flex:none;border-radius:12px}
.photo-map .lav-photo-strip>button>img{width:84px;height:84px;border-radius:0}
.photo-map .photo-arrow{width:20px;height:28px;font-size:22px}.photo-map .photo-prev{left:1px}.photo-map .photo-next{right:1px}.photo-map .photo-count{bottom:2px;right:3px;font-size:9px;padding:1px 4px}
.lav-precio{pointer-events:none;z-index:2}
.laundry-photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#080e12;color:#fff;overflow:hidden}
.laundry-photo-dialog::backdrop{background:rgba(0,0,0,.9)}
.photo-dialog-head{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:linear-gradient(#080e12,transparent);z-index:3}
.photo-dialog-head b{font-size:15px}.photo-dialog-head>button{background:#263438;color:#fff;border:0;border-radius:50%;width:42px;height:42px;font-size:20px;cursor:pointer}
.photo-full .lav-photo-strip>button{cursor:default}.photo-full .lav-photo-strip>button>img{object-fit:contain;filter:none}
.photo-full .photo-arrow{width:42px;height:50px;font-size:36px}.photo-full .photo-count{bottom:calc(24px + env(safe-area-inset-bottom));right:50%;transform:translateX(50%);font-size:14px}
@media(prefers-reduced-motion:reduce){.lav-photo-strip{scroll-behavior:auto}}

.registro-reminder-dialog{width:min(94vw,520px);max-height:85dvh;overflow:auto;border:0;border-radius:20px;padding:24px}.registro-reminder-dialog::backdrop{background:#0008}.registro-reminder-banner{position:fixed;bottom:85px;left:50%;transform:translateX(-50%);width:min(94vw,440px);max-height:48dvh;overflow:auto;z-index:500;background:var(--card,#fff);color:var(--text,#17202a);padding:18px;border:2px solid #7353cf;border-radius:18px;box-shadow:0 6px 30px #0004}

/* Admin: ubicación visible y una sola sección de trabajo a la vez. */
.admin-location{position:sticky;top:var(--admin-header-height,0px);z-index:8;border:1px solid var(--line,#c8dcd8);border-left:5px solid var(--brand,#0e7c86);border-radius:16px;background:var(--card,#fff);padding:14px;margin:12px 0;box-shadow:0 4px 16px #0000000b}
.admin-location strong{display:block;font-size:17px;margin-top:4px}.admin-breadcrumb{color:var(--muted,#5e7376);margin-bottom:8px}.admin-location .row{gap:12px;flex-wrap:wrap}.admin-location .btn{flex-shrink:0}
.admin-section-menu{padding:16px 0 24px}.admin-section-menu[hidden],.admin-section-panel[hidden],.admin-selected[hidden]{display:none!important}
.admin-section-menu .tile.on{outline:3px solid var(--brand,#0e7c86);outline-offset:2px}.admin-selected{font-size:11px;font-weight:800;color:var(--brand,#0e7c86)}
.admin-section-panel{border-top:2px solid var(--brand,#0e7c86);padding-top:18px;scroll-margin-top:calc(var(--admin-header-height,0px) + var(--admin-location-height,120px) + 16px)}.admin-section-heading h2{font-size:22px;margin:0 0 8px}.admin-section-heading p{margin:0;line-height:1.5}.admin-section-menu{scroll-margin-top:calc(var(--admin-header-height,0px) + var(--admin-location-height,120px) + 16px)}
.actividad-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.actividad-filter-grid label{min-width:0}.actividad-filter-grid select{width:100%}
@media(max-width:360px){.actividad-filter-grid{grid-template-columns:1fr}}
