/* =========================================================
   MASCOTAS CONECTADAS — panel.css — panel profesional, auth y registro
   ========================================================= */
.link{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.header-user{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--navy)}
.header-user .avatar{width:30px;height:30px}
.mobile-menu .header-user{padding:.9rem .75rem}
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}
.badge-ok{background:var(--ok-100);color:var(--ok)}.badge-warn{background:var(--warn-100);color:var(--warn-text)}
.badge-navy{background:var(--navy-100);color:var(--navy)}
.card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:1.35rem;margin-bottom:1.25rem}
.card h3{margin-bottom:1rem}
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.check-list li{display:flex;gap:.55rem;align-items:center;color:var(--ink-2)}
.check-list svg{width:18px;height:18px;color:var(--ok);flex:none}
.check-row{display:flex;gap:.8rem;align-items:center;padding:.9rem 1rem;border:1.5px solid var(--line);border-radius:12px;margin-bottom:.6rem;cursor:pointer;transition:border-color var(--t),background var(--t)}
.check-row.on{border-color:var(--navy);background:var(--navy-100)}
.check-row input{width:20px;height:20px;accent-color:var(--navy);flex:none}
.check-row>span{flex:1}
.notice{padding:1rem 1.25rem;border-radius:14px;margin-bottom:1.5rem;font-size:.95rem}
.err-global{color:#C0392B;font-size:.875rem;min-height:1.2em;margin-bottom:.75rem}

/* Auth */
.auth-grid{display:grid;gap:2rem;max-width:960px}
@media(min-width:900px){.auth-grid{grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}}
.auth-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-xl);padding:2rem;box-shadow:var(--shadow)}
#demoLogin .avatar{width:28px;height:28px}
.auth-side h2{font-size:1.4rem;margin-bottom:1rem}
.upload .avatar.lg{width:88px;height:88px}

/* Panel layout */
body.in-panel .footer{display:none}
.panel{padding:1.25rem 0 4rem;background:var(--bg-soft);min-height:calc(100vh - 68px)}
.panel-grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}
.panel-grid>*{min-width:0}
@media(min-width:1000px){.panel-grid{grid-template-columns:250px minmax(0,1fr);gap:2rem;align-items:start}}
.panel-nav{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:1rem;position:sticky;top:84px}
.panel-user{display:flex;gap:.75rem;align-items:center;padding:.25rem .25rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.75rem}
.panel-user .avatar{width:44px;height:44px}
.panel-user strong{display:block;color:var(--navy);line-height:1.2}
.panel-nav nav{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}
.panel-nav nav::-webkit-scrollbar{display:none}
.panel-nav nav a,.panel-nav nav button{display:inline-flex;align-items:center;gap:.6rem;padding:.65rem .8rem;border-radius:10px;font-weight:600;font-size:.92rem;color:var(--ink-2);white-space:nowrap;transition:background var(--t),color var(--t);text-align:left;width:auto}
.panel-nav nav a svg,.panel-nav nav button svg{width:18px;height:18px;flex:none}
.panel-nav nav a:hover,.panel-nav nav button:hover{background:var(--bg-soft);color:var(--navy)}
.panel-nav nav a.active{background:var(--navy);color:#fff}
.panel-nav nav button{color:var(--ink-3)}
@media(max-width:999px){.panel-nav{position:static;padding:.75rem}.panel-user{padding-bottom:.75rem;margin-bottom:.5rem}}
@media(min-width:1000px){.panel-nav nav{flex-direction:column;overflow:visible}.panel-nav nav button{margin-top:.5rem;border-top:1px solid var(--line);border-radius:0;padding-top:1rem}}
.panel-content{min-width:0}
.panel-head{margin-bottom:1.5rem}
.panel-head h1{font-size:clamp(1.6rem,3.5vw,2.1rem)}
.panel-head p{margin-top:.35rem}
.panel-h2{font-size:1.2rem;margin:1.75rem 0 1rem}
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}
@media(min-width:760px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:1.15rem 1.2rem}
.kpi .v{font-size:1.9rem;font-weight:800;letter-spacing:-.03em;color:var(--navy);line-height:1.1}
.kpi .l{font-size:.85rem;color:var(--ink-3);margin-top:.35rem}

/* ---- Valorar ---- */
.lightbox-video{max-width:min(960px,100%);max-height:85vh;border-radius:12px;background:#000}
/* ---- Notificaciones (mocks) ---- */
/* ---- Legal ---- */
.legal{max-width:760px}
.legal h2{font-size:1.2rem;margin:1.75rem 0 .5rem}
.legal p{color:var(--ink-2)}
/* ---- Cookies ---- */
.cookie-bar{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;background:#fff;border:1.5px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:1rem 1.15rem;display:flex;flex-direction:column;gap:.85rem;font-size:.9rem;max-width:720px;margin-inline:auto}
.cookie-bar p{color:var(--ink-2)}
.cookie-bar div{display:flex;gap:.5rem;justify-content:flex-end}
@media(min-width:760px){.cookie-bar{flex-direction:row;align-items:center}.cookie-bar p{flex:1}}

/* ===== Panel v2 (estilo dashboard) ===== */
.bell{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:background var(--t)}
.bell:hover{background:var(--bg-soft)}
.bell svg{width:20px;height:20px}
.bell i{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--accent);border:2px solid #fff}
.header-user svg{width:14px;height:14px;color:var(--ink-3)}
.panel-nav{padding:1.15rem;border-radius:var(--r-xl)}
.panel-user{flex-direction:row;padding-bottom:1rem}
.panel-user .avatar{width:56px;height:56px}
.panel-user .badge{margin-top:.35rem;gap:.3rem}
.panel-user .badge svg{width:12px;height:12px}
.panel-nav nav a svg,.panel-nav nav button svg{width:19px;height:19px}
@media(min-width:1000px){.panel-nav nav a,.panel-nav nav button{padding:.75rem .9rem;font-size:.95rem}.panel-nav nav a.active{background:var(--navy);color:#fff}}
.grow-box{display:none;align-items:center;gap:.7rem;margin-top:1.25rem;padding:1rem;border-radius:14px;background:#FFF6EE;border:1px solid #F9DCC8;font-size:.85rem;color:var(--ink-2);transition:background var(--t)}
.grow-box:hover{background:#FDEBDD}
.grow-box strong{display:block;color:var(--navy);font-size:.92rem}
.grow-box>span:nth-child(2){flex:1;display:grid;gap:.15rem}
.grow-box>svg{width:16px;height:16px;color:var(--accent);flex:none}
@media(min-width:1000px){.grow-box{display:flex}}
.panel-hero{position:relative;margin-bottom:1.25rem;min-height:110px;display:flex;flex-direction:column;justify-content:center}
.panel-hero h1{font-size:clamp(1.8rem,3.6vw,2.4rem)}
.panel-hero p{margin-top:.35rem;font-size:1.05rem}
.panel-art{position:absolute;right:-1rem;top:-.75rem;height:120px;width:auto;opacity:.95;pointer-events:none}
@media(max-width:760px){.panel-art{display:none}}
.notice-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:#EEF9F3;border:1px solid #CDEBDB;color:var(--ink)}
.notice-row>div{flex:1;min-width:220px}
.kpis .kpi{display:flex;align-items:center;gap:.9rem;position:relative;padding:1.2rem 1.1rem;border-radius:var(--r-lg)}
.kpi .v{font-size:1.9rem}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin:1.9rem 0 1rem;padding-left:.9rem;border-left:4px solid var(--accent)}
.sec-head .panel-h2{margin:0}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* Navegación del panel en móvil/tablet: fila desplazable real + salir en la cabecera */
.panel-nav nav{min-width:0;max-width:100%}
@media(max-width:999px){.panel-nav nav button{display:none}.panel-user{align-items:center}}

/* admin: miniaturas de fotos en las opiniones */
.rv-thumbs{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}.rv-thumbs a{display:block;width:96px;height:72px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.rv-thumbs img{width:100%;height:100%;object-fit:cover}

/* ---------- Admin: contenido de la home (tarjetas "¿Qué estás buscando?") ---------- */
.need-admin-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.need-admin-card{padding:1rem}
.need-admin-ph{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;cursor:pointer;margin-bottom:.9rem;background:var(--bg-soft)}
.need-admin-img{width:100%;height:100%;object-fit:cover;display:block;transition:filter var(--t)}
.need-admin-edit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:.4rem;color:#fff;font-weight:600;font-size:.85rem;background:rgba(11,37,69,0);opacity:0;transition:opacity var(--t),background var(--t)}
.need-admin-edit svg{width:16px;height:16px}
.need-admin-ph:hover .need-admin-edit{opacity:1;background:rgba(11,37,69,.45)}
.need-admin-ph:hover .need-admin-img{filter:brightness(.85)}
.need-admin-card .field{margin-bottom:.7rem}

/* ---------- Admin: tabla de zonas (Configuración) ---------- */
/* ---------- Admin: Zonas (navegador por niveles) ---------- */
.zn-migas{display:flex;flex-wrap:wrap;align-items:center;gap:.15rem .5rem;font-size:.88rem;margin-bottom:.9rem;color:var(--ink-3)}
.zn-migas a{color:var(--ink-2);font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.zn-migas a:hover{color:var(--navy);text-decoration:underline}
.zn-migas a::after{content:"/";margin-left:.5rem;color:var(--ink-3);font-weight:400}
.zn-migas span{color:var(--ink);font-weight:600}
#znRoot .panel-h1{margin-bottom:.3rem}
.zn-intro{margin-bottom:1.1rem}
.zn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}
.zn-buscar,.zn-add-row input{padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;font:inherit;outline:none;transition:border-color var(--t),box-shadow var(--t)}
.zn-buscar:focus,.zn-add-row input:focus{border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-100)}
.zn-buscar{width:100%;max-width:360px;margin-bottom:1rem}
.zn-add{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem;margin-bottom:1rem}
.zn-add h3{font-size:1rem;margin-bottom:.7rem}
.zn-chips{margin-bottom:.45rem}
.zn-chips .chip-check{position:relative;background:#fff;min-height:36px}
.zn-chips .chip-check input{position:absolute;opacity:0;width:0;height:0}
.zn-chips .chip-check:has(input:checked){background:var(--navy);border-color:var(--navy);color:#fff}
.zn-chips .chip-check:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}
.zn-add-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}
.zn-add-row input{flex:1 1 220px;min-width:0;background:#fff}
.zn-add-row .btn{flex:0 0 auto}
.zn-check{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--ink-2);margin-top:.45rem}
.zn-check input{width:16px;height:16px;flex:none;accent-color:var(--navy)}
.zn-grupo{margin-bottom:1rem;padding-bottom:.4rem}
.zn-grupo h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:.3rem}
.zn-grupo h3 span{font-weight:500;margin-left:.2rem}
.zn-list{list-style:none;margin:0;padding:0}
.zn-row{display:flex;align-items:center;gap:.5rem;border-top:1px solid var(--line)}
.zn-row:first-child{border-top:0}
.zn-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;padding:.7rem 0;min-height:52px;justify-content:center}
.zn-name{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.zn-main:hover .zn-name{color:var(--navy);text-decoration:underline}
.zn-meta{font-size:.8rem;color:var(--ink-3)}
.zn-meta:empty{display:none}
.zn-go{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--ink-3);flex:none}
.zn-go:hover{background:var(--bg-soft);color:var(--navy)}
.zn-go svg{width:18px;height:18px}
.zn-mas{border-top:1px solid var(--line);padding-top:.8rem;margin-bottom:1rem}
.zn-mas summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--ink-2);margin-bottom:.8rem}
.zn-modal-acts{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.zn-del{color:#B42318}
.row-actions{white-space:nowrap;display:flex;gap:.4rem}

/* ---------- Consultas: inbox y conversación ---------- */
.badge-soft{background:var(--bg-soft);color:var(--ink-3)}
.inbox{display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr)}   /* cada fila ocupa el ancho disponible (un mensaje largo no la estira) */
.inbox-row{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.1rem;transition:border-color var(--t),box-shadow var(--t)}
.inbox-row:hover{border-color:var(--navy);box-shadow:var(--shadow)}
.inbox-row.new{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-100)}
.ir-main{display:grid;gap:.15rem;min-width:0;grid-template-columns:minmax(0,1fr)}   /* el texto se ajusta al ancho de la fila */
.ir-main strong,.ir-main .ir-sub{overflow-wrap:anywhere}
.ir-main strong{color:var(--navy)}
.ir-sub{font-size:.82rem;color:var(--ink-3)}
.ir-last{font-size:.9rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ir-side{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex:none}
.ir-date{font-size:.78rem;color:var(--ink-3);white-space:nowrap}
@media(max-width:560px){.inbox-row{flex-direction:column;gap:.6rem}.ir-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.ir-main{width:100%}}

.conv-page{background:var(--bg-soft);min-height:70vh}
.conv-wrap{max-width:760px}
.conv-back{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;font-size:.9rem;color:var(--ink-2);margin-bottom:1rem}
.conv-back svg{width:16px;height:16px}
.conv-back:hover{color:var(--navy)}
.conv-loading{padding:3rem 1rem;text-align:center;color:var(--ink-3)}
.conv-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.conv-head{display:grid;gap:1rem;padding:1.35rem 1.4rem;border-bottom:1px solid var(--line)}
@media(min-width:760px){.conv-head{grid-template-columns:1fr auto;align-items:start}}
.conv-title{font-size:clamp(1.25rem,3vw,1.5rem);color:var(--navy);line-height:1.2}
.conv-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:.8rem 0 0}
.conv-facts div{display:grid;gap:.15rem}
.conv-facts dt{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.conv-facts dd{margin:0;font-size:.92rem;font-weight:600;color:var(--navy)}
.conv-contact{display:grid;gap:.2rem;padding:.8rem 1rem;border-radius:12px;background:var(--bg-soft);font-size:.9rem;min-width:210px}
.conv-contact a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.conv-clabel{font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.conv-chint{font-size:.78rem;color:var(--ink-3)}
.conv-note{margin:1rem 1.4rem 0;padding:.65rem .85rem;border-radius:10px;background:var(--bg-soft);font-size:.8rem;line-height:1.45;color:var(--ink-3)}
.conv-note-admin{background:var(--warn-100);color:var(--warn)}
.conv-thread{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;max-height:min(60vh,560px);overflow-y:auto;overscroll-behavior:contain}
.conv-msg{display:grid;gap:.3rem;max-width:min(85%,560px)}
.conv-msg.mine{align-self:flex-end;justify-items:end}
.conv-meta{font-size:.76rem;color:var(--ink-3)}
.conv-meta b{color:var(--ink-2);font-weight:600}
.conv-bubble{padding:.75rem 1rem;border-radius:16px 16px 16px 4px;background:var(--bg-soft);color:var(--ink);font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}
.conv-msg.mine .conv-bubble{background:var(--navy);color:#fff;border-radius:16px 16px 4px 16px}
.conv-reply{padding:1rem 1.4rem;border-top:1px solid var(--line)}
.conv-reply textarea{width:100%;min-height:92px;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:12px;resize:vertical;outline:none;font:inherit;transition:border-color var(--t),box-shadow var(--t)}
.conv-reply textarea:focus{border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-100)}
.conv-reply .err-global{margin:.4rem 0 0}
.conv-ractions{display:flex;justify-content:flex-end;margin-top:.5rem}
.conv-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.9rem 1.4rem 1.1rem;border-top:1px solid var(--line)}
.conv-states{display:flex;gap:.5rem;flex-wrap:wrap}
.conv-foot .link{background:none;border:0;color:var(--ink-3);cursor:pointer;font-weight:600}
@media(max-width:560px){.conv-head,.conv-thread,.conv-reply,.conv-foot{padding-left:1rem;padding-right:1rem}.conv-note{margin-left:1rem;margin-right:1rem}.conv-msg{max-width:92%}.conv-ractions .btn{width:100%}.conv-states{width:100%}.conv-states .btn{flex:1}}

@media(max-width:640px){.chips-scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1.25rem;padding-inline:1.25rem}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{flex:none}}

/* ---------- Administración → Emails ---------- */
.em-group{margin-bottom:1.75rem}
.em-group h2{font-size:1.05rem;color:var(--navy);margin-bottom:.6rem}
.em-list{border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.em-row{display:grid;gap:.75rem;padding:1rem 1.1rem;border-top:1px solid var(--line)}
.em-row:first-child{border-top:0}
@media(min-width:900px){.em-row{grid-template-columns:1fr auto;align-items:center}}
.em-row.off .em-info{opacity:.6}
.em-info{display:grid;gap:.2rem;min-width:0}
.em-info strong{color:var(--ink)}
.em-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.em-switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.86rem;font-weight:600;color:var(--ink-2);user-select:none}
.em-switch input{position:absolute;opacity:0;width:1px;height:1px}
.em-track{width:40px;height:22px;border-radius:99px;background:#C9D1DA;position:relative;transition:background var(--t)}
.em-track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform var(--t)}
.em-switch input:checked+.em-track{background:var(--ok)}
.em-switch input:checked+.em-track::after{transform:translateX(18px)}
.em-switch input:focus-visible+.em-track{outline:3px solid var(--accent);outline-offset:2px}
.em-switch input:disabled+.em-track{opacity:.6}
.em-head{align-items:flex-start;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.em-off-note{margin-bottom:1rem;padding:.8rem 1rem;border-radius:12px;background:var(--warn-100);color:#6B4A06;font-size:.9rem}
.em-editor{display:grid;gap:1.25rem}
@media(min-width:1100px){.em-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}
.em-vars{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
.em-var{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;padding:.3rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--navy);cursor:pointer}
.em-var:hover{border-color:var(--navy)}
.em-vars-help{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.2rem;font-size:.82rem;color:var(--ink-3)}
.em-vars-help code{color:var(--navy);margin-right:.3rem}
.em-buttons{display:flex;flex-wrap:wrap;gap:.6rem}
.em-preview{position:sticky;top:84px;display:grid;gap:.6rem}
.em-subject{display:grid;gap:.15rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.em-subject span{font-size:.75rem;color:var(--ink-3)}
.em-preview iframe{width:100%;height:560px;border:1px solid var(--line);border-radius:12px;background:#fff}

/* Administración → Categorías: listado por grupo */
.cadm-grupo{margin-bottom:1rem}
.cadm-gh{margin:0;padding:.85rem 1.1rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--bg-soft);border-bottom:1px solid var(--line)}
.cadm-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem 1.2rem;align-items:center;padding:.85rem 1.1rem;border-bottom:1px solid var(--line)}
.cadm-row:last-child{border-bottom:0}
.cadm-tit{display:grid;gap:.15rem;min-width:0}
.cadm-tit b{color:var(--navy);font-size:.98rem}
.cadm-tit .badge{justify-self:start}
.cadm-tit small{font-size:.8rem;color:var(--ink-3)}
.cadm-tit small a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cadm-checks{display:flex;flex-wrap:wrap;gap:.35rem}
.cadm-chk{padding:.2rem .55rem;border-radius:999px;background:var(--bg-soft);font-size:.74rem;font-weight:600;color:var(--ink-3);white-space:nowrap}
.cadm-chk.ok{background:var(--ok-100);color:var(--ok)}
@media(max-width:760px){.cadm-row{grid-template-columns:1fr auto}.cadm-checks{grid-column:1 / -1;grid-row:2}}

/* Administración → Categorías: vista previa del ícono, igual a la tarjeta de la home */
.cadm-ico-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.2rem}
.cadm-ico-row > div:last-child{display:grid;gap:.45rem;justify-items:start;flex:1 1 260px}
.cadm-ico-prev{display:grid;justify-items:center;gap:.45rem;width:150px;padding:1.1rem .75rem 1rem;border:1.5px solid var(--line);border-radius:var(--r);background:#fff;text-align:center}
.cadm-ico-prev b{font-size:.92rem;color:var(--navy);line-height:1.25}
.cadm-ico{display:grid;place-items:center;width:100px;height:100px;color:var(--navy)}
.cadm-ico svg{width:34px;height:34px}.cadm-ico img{width:100%;height:100%;object-fit:contain}

/* Administración → Categorías: "Servicios principales" y "Dónde se muestra" */
.cadm-home{margin-bottom:1rem;padding:0 0 1rem}
.cadm-home > p{margin:0 1.1rem}
.cadm-home-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem 1.1rem .7rem}
.cadm-home-item{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem .45rem .45rem;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.86rem;color:var(--navy);cursor:pointer}
.cadm-home-item:hover{border-color:var(--navy)}
.cadm-home-item span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:.72rem;font-weight:700}
.cadm-home-item svg,.cadm-home-item img{width:22px;height:22px;object-fit:contain}
.cadm-badges{display:inline-flex;flex-wrap:wrap;gap:.3rem;vertical-align:middle}
.badge.cadm-oculta{background:#FDECEA;color:#B42318}
.cadm-vis{display:grid;gap:.8rem;margin-bottom:1rem}
.cadm-vis .check{align-items:flex-start;line-height:1.5;font-size:.9rem;color:var(--ink-2)}
.cadm-vis .check b{color:var(--navy)}
.cadm-vis-home{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem}
.cadm-vis-home.off{opacity:.45}
.cadm-pos{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--ink)}
.cadm-pos input{width:76px;padding:.5rem .6rem;border:1.5px solid var(--line);border-radius:10px;font:inherit}
.cadm-ico img{mix-blend-mode:multiply}

/* Administración: crear perfiles sin cuenta y entregarlos a su dueño (js/pages/admin-propietarios.js) */
.crear-tipos{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-bottom:1.25rem}
.crear-tipo{display:grid;gap:.35rem;padding:1.2rem 1.25rem;border:1.5px solid var(--line);transition:border-color var(--t),box-shadow var(--t)}
.crear-tipo b{color:var(--navy);font-size:1.05rem}
.crear-tipo:hover,.crear-tipo.on{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-100)}
.crear-form{max-width:640px}
.prop-card{display:grid;gap:.6rem;margin-bottom:1rem}
.prop-card .panel-h2{margin:0}
.prop-estado{display:flex;align-items:center;gap:.5rem;margin:0}
.prop-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--warn);margin-right:.4rem;flex:none;vertical-align:middle}
.prop-dot.ok{background:var(--ok)}
.prop-datos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.3rem 1rem;margin:0;font-size:.9rem}
.prop-datos dt{color:var(--ink-3);font-weight:600}.prop-datos dd{margin:0;overflow-wrap:anywhere}
.prop-acts,.prop-modal-acts{display:flex;flex-wrap:wrap;gap:.5rem}
.prop-modal-acts{justify-content:flex-end;margin-top:1rem}
.prop-alerta{margin:0;padding:.55rem .75rem;border-radius:10px;background:var(--warn-100);color:var(--warn-text);font-size:.88rem;font-weight:600}
.prop-pass{display:flex;flex-wrap:wrap;gap:.5rem}.prop-pass input{flex:1 1 200px;font-family:ui-monospace,Menlo,Consolas,monospace}
.prop-aviso{padding:.8rem 1rem;border-radius:12px;background:var(--bg-soft)}.prop-aviso p{margin:.35rem 0 0}
.prop-cred{padding:.9rem 1rem;border-radius:12px;background:var(--bg-soft);font-size:.9rem;overflow-wrap:anywhere}.prop-cred p{margin:.2rem 0}
.prop-cred code{font-size:1rem;background:#fff;padding:.1rem .4rem;border-radius:6px}
.adm-edit-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:12px;background:var(--navy-100);color:var(--navy);font-size:.9rem}
.adm-acts{display:grid;grid-template-columns:repeat(2,max-content);gap:.25rem .35rem;white-space:nowrap}
.adm-acts .btn{padding:.35rem .6rem;font-size:.8rem;min-height:32px;justify-content:flex-start}
.adm-prop{white-space:nowrap;max-width:215px;overflow:hidden;text-overflow:ellipsis}
.tbl.tbl-adm th,.tbl.tbl-adm td{padding-left:.7rem;padding-right:.7rem}
.tbl.tbl-adm th:first-child,.tbl.tbl-adm td:first-child{padding-left:1rem}

/* ---------- Admin: eliminar proveedor ---------- */
.btn-borrar,.btn-borrar:hover{color:#B42318}
.btn-outline.btn-borrar{border-color:#F3C5C0}
.btn-outline.btn-borrar:hover{background:#FDECEA;border-color:#B42318}
.btn-peligro{background:#B42318;color:#fff;border-color:#B42318}
.btn-peligro:hover{background:#912018;border-color:#912018;color:#fff}
.prov-borrar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem 1.5rem;margin-top:1.5rem;border-color:#F3C5C0}
.prov-borrar div{display:flex;flex-direction:column;gap:.15rem;flex:1 1 260px}
.prov-del-list{padding:0;margin:0 0 .9rem 1.1rem;display:grid;gap:.3rem;list-style:disc}
