/* Hariel · páginas de acceso (/admin/login.php, /cliente/login.php) y paneles */
:root{--pl-oro:#C6A16A;--pl-graf:#1A1A1A;--pl-marfil:#F6F3EE;--pl-piedra:#DCD6CC;}
.pl-body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;
  background:linear-gradient(160deg,#101010,#1f1b16);font-family:Montserrat,"Segoe UI",Arial,sans-serif;color:var(--pl-graf);}
.pl-card{width:100%;max-width:420px;background:var(--pl-marfil);border-radius:18px;padding:32px 28px;box-shadow:0 30px 70px rgba(0,0,0,.45);box-sizing:border-box;}
.pl-logo{display:inline-flex;flex-direction:column;text-decoration:none;color:var(--pl-oro);font:700 22px/1 Cinzel,Georgia,serif;letter-spacing:.18em;}
.pl-logo small{font:600 8px/1.8 Montserrat,Arial,sans-serif;letter-spacing:.3em;}
.pl-card h1{font:700 1.5rem/1.2 Cinzel,Georgia,serif;margin:22px 0 6px;}
.pl-sub{color:#6d665c;font-size:.92rem;margin:0 0 18px;}
.pl-card form{display:flex;flex-direction:column;gap:14px;}
.pl-card label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6d665c;}
.pl-card input{padding:12px 14px;border:1px solid var(--pl-piedra);border-radius:10px;font-size:1rem;background:#fff;color:var(--pl-graf);}
.pl-card input:focus{outline:2px solid var(--pl-oro);outline-offset:1px;}
.pl-btn{margin-top:4px;padding:13px;border:none;border-radius:999px;background:linear-gradient(135deg,#d9bf94,var(--pl-oro));font-weight:800;font-size:1rem;cursor:pointer;color:#1a1a1a;}
.pl-error{background:#fdecea;border:1px solid #f3b8b1;color:#8a2a1f;padding:10px 12px;border-radius:10px;font-size:.9rem;margin-bottom:14px;}
.pl-aviso{background:#fdf3e6;border:1px solid #f0d3a8;color:#6b4e1c;padding:10px 12px;border-radius:10px;font-size:.9rem;margin-bottom:14px;}
.pl-pie{margin:18px 0 0;font-size:.85rem;color:#6d665c;text-align:center;}
.pl-pie a{color:#8a6a36;font-weight:700;}

/* paneles */
.pn-body{margin:0;background:var(--pl-marfil);min-height:100vh;font-family:Montserrat,"Segoe UI",Arial,sans-serif;}
.pn-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px clamp(16px,4vw,48px);background:var(--pl-graf);}
.pn-yo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#fff;}
.pn-yo b{font-size:.95rem;} .pn-yo span{font-size:.75rem;color:var(--pl-oro);letter-spacing:.08em;text-transform:uppercase;}
.pn-main{max-width:1100px;margin:0 auto;padding:28px clamp(16px,4vw,48px) 60px;}
.pn-main h1{font:700 clamp(1.6rem,3vw,2.2rem)/1.2 Cinzel,Georgia,serif;margin:0 0 4px;}
.pn-nota{color:#6d665c;margin:0 0 22px;font-size:.9rem;}
.pn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;}
.pn-tile{display:flex;flex-direction:column;gap:6px;text-align:left;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--pl-piedra);
  text-decoration:none;color:var(--pl-graf);cursor:pointer;font:inherit;transition:transform .15s, box-shadow .15s;}
.pn-tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.pn-tile b{font-size:1rem;} .pn-tile span{font-size:.82rem;color:#6d665c;}
.pn-lista{display:flex;flex-direction:column;gap:14px;}
.pn-apartado{background:#fff;border:1px solid var(--pl-piedra);border-radius:14px;padding:18px;}
.pn-ap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.pn-ap-head b{display:block;font:700 1.15rem Cinzel,Georgia,serif;} .pn-ap-head span{color:#6d665c;font-size:.9rem;}
.pn-ap-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0;}
.pn-ap-datos span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8f8a82;}
.pn-ap-acc{display:flex;gap:8px;flex-wrap:wrap;}

/* ---------- "No soy un robot" ---------- */
.hcap{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d9d2c5;border-radius:10px;background:#fbfaf7;padding:10px 12px;max-width:340px;}
.hcap-caja{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;font:600 .95rem Montserrat,Arial,sans-serif;color:#1a1a1a;text-align:left;}
.hcap-check{width:26px;height:26px;flex:0 0 26px;border:2px solid #b9ac9a;border-radius:6px;background:#fff;display:grid;place-items:center;transition:all .2s;}
.hcap-cargando .hcap-check{border-color:#C6A16A;border-top-color:transparent;border-radius:50%;animation:hcapGira .8s linear infinite;}
.hcap-ok .hcap-check{background:#2e7d4f;border-color:#2e7d4f;}
.hcap-ok .hcap-check:after{content:"✓";color:#fff;font-weight:900;}
.hcap-error{border-color:#e3a79f;background:#fdf1ef;}
.hcap-logo{display:flex;align-items:center;gap:6px;color:#8f8a82;font-size:.62rem;line-height:1.1;text-align:left;}
@keyframes hcapGira{to{transform:rotate(360deg)}}

/* ---------- portada con fotos que rotan (panel y portal) ---------- */
.rot{position:relative;isolation:isolate;overflow:hidden;background:#111;}
.rot-capa{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center 45%;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04);}
.rot-capa.rot-on{opacity:1;animation:rotZoom 9s ease-out forwards;}
@keyframes rotZoom{from{transform:scale(1.08)}to{transform:scale(1.0)}}
.rot:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.30) 28%,rgba(8,8,8,.45) 72%,rgba(8,8,8,.55) 86%,var(--pl-marfil) 100%);}
.pn-hero{min-height:min(78vh,720px);display:flex;flex-direction:column;}
.pn-hero .pn-top{background:transparent;}
.pn-hero-txt{margin:auto 0 0;padding:40px clamp(16px,6vw,90px) 110px;color:#fff;max-width:900px;}
.pn-eyebrow{display:block;color:var(--pl-oro);font:800 .72rem Montserrat,Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;margin-bottom:8px;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.pn-hero-txt h1{font:700 clamp(2rem,5vw,3.6rem)/1.05 Cinzel,Georgia,serif;margin:0 0 10px;text-shadow:0 4px 24px rgba(0,0,0,.6);}
.pn-hero-txt p{margin:0 0 16px;text-shadow:0 2px 12px rgba(0,0,0,.7);}
.pn-hero-acc{display:flex;gap:10px;flex-wrap:wrap;}
.pn-glass{background:rgba(20,20,20,.55)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(6px);}
.pn-hero-logo{max-height:110px;max-width:min(360px,70vw);display:block;margin-bottom:14px;filter:drop-shadow(0 4px 18px rgba(0,0,0,.7));}
.pn-nota-hero{font-size:.85rem;opacity:.85;}
.pn-h2{font:700 1.6rem Cinzel,Georgia,serif;margin:0 0 16px;}
.pn-main{margin-top:-40px;position:relative;}
/* tarjetas de torre en el panel */
.pn-torres{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;}
.pn-torre{background:#fff;border:1px solid var(--pl-piedra);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.pn-torre-img{position:relative;display:grid;place-items:center;height:190px;background-size:cover;background-position:center 45%;text-decoration:none;}
.pn-torre-img:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55));transition:background .3s;}
.pn-torre-img:hover:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));}
.pn-torre-img img{position:relative;max-height:80px;max-width:70%;filter:drop-shadow(0 3px 12px rgba(0,0,0,.7));}
.pn-torre-img b{position:relative;color:#fff;font:700 1.4rem Cinzel,Georgia,serif;}
.pn-torre-info{padding:14px 16px 16px;}
.pn-torre-info b{display:block;font-size:1.05rem;} .pn-torre-info span{font-size:.82rem;color:#6d665c;}
.pn-torre-acc{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.pn-torre-acc a,.pn-torre-acc button{font:600 .78rem Montserrat,Arial,sans-serif;padding:7px 10px;border-radius:999px;border:1px solid var(--pl-piedra);background:#faf8f4;color:var(--pl-graf);text-decoration:none;cursor:pointer;}
.pn-torre-acc a:hover,.pn-torre-acc button:hover{border-color:var(--pl-oro);background:#fff;}
/* portal del cliente */
.pn-hero-cliente{min-height:min(70vh,640px);}
.cl-ap{display:grid;grid-template-columns:minmax(260px,38%) 1fr;background:#fff;border:1px solid var(--pl-piedra);border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.07);}
.cl-ap-cerrado{opacity:.6;}
.cl-ap-foto{position:relative;min-height:280px;background-size:cover;background-position:center;background-color:#eee;}
.cl-ap-foto:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45));}
.cl-ap-foto img{position:absolute;left:18px;bottom:18px;max-height:64px;max-width:60%;filter:drop-shadow(0 3px 10px rgba(0,0,0,.7));}
.cl-ap-foto .status-chip{position:absolute;top:14px;right:14px;}
.cl-ap-cuerpo{padding:22px 24px 24px;}
.cl-ap-titulo span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#8a6a36;font-weight:800;}
.cl-ap-titulo h2{font:700 1.5rem/1.2 Cinzel,Georgia,serif;margin:4px 0 2px;}
.cl-ap-titulo small{color:#6d665c;}
.cl-pasos{display:flex;gap:6px;list-style:none;padding:0;margin:16px 0;flex-wrap:wrap;}
.cl-pasos li{flex:1 1 120px;display:flex;align-items:center;gap:8px;font-size:.78rem;color:#8f8a82;padding:8px 10px;border-radius:10px;background:#f6f3ee;}
.cl-pasos li span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dcd6cc;color:#fff;font-weight:800;font-size:.7rem;flex:0 0 22px;}
.cl-pasos li.hecho{color:#24553a;background:#eef7f1;} .cl-pasos li.hecho span{background:#2e7d4f;}
.cl-pasos li.actual{color:#1a1a1a;background:#fdf3e6;font-weight:700;} .cl-pasos li.actual span{background:var(--pl-oro);}
.cl-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0 18px;}
.cl-datos div{background:#faf8f4;border:1px solid #eee6d8;border-radius:10px;padding:10px 12px;}
.cl-datos span{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#8f8a82;}
.cl-datos b{font-size:1rem;}
.cl-h3{font:700 1.1rem Cinzel,Georgia,serif;margin:0 0 10px;}
.cl-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;}
.cl-doc{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:12px;border:1px solid #e3d6bd;
  background:linear-gradient(135deg,#fffaf1,#f5ead6);cursor:pointer;font:inherit;color:var(--pl-graf);transition:transform .15s, box-shadow .15s;}
.cl-doc:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(138,106,54,.18);}
.cl-doc-ico{font-size:1.5rem;} .cl-doc b{font-size:.92rem;} .cl-doc small{color:#6d665c;font-size:.76rem;}
.cl-doc-off{opacity:.55;cursor:not-allowed;background:#f6f3ee;} .cl-doc-off:hover{transform:none;box-shadow:none;}
.cl-cerrado{color:#6d665c;}
@media (max-width:760px){ .cl-ap{grid-template-columns:1fr;} .cl-ap-foto{min-height:200px;} .pn-hero-txt{padding-bottom:60px;} }
/* ---------- navegación rápida (Inicio / Regresar) ---------- */
.nav-rapida{display:flex;gap:8px;align-items:center;}
.nav-rapida a,.nav-rapida button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);
  background:rgba(20,20,20,.5);color:#fff;font:700 .85rem Montserrat,Arial,sans-serif;text-decoration:none;cursor:pointer;backdrop-filter:blur(6px);}
.nav-rapida a:hover,.nav-rapida button:hover{background:rgba(20,20,20,.8);}
.nav-rapida.claro a,.nav-rapida.claro button{background:#fff;color:#1a1a1a;border-color:#dcd6cc;backdrop-filter:none;}

/* ---------- apartado cancelado (rojo) ---------- */
.cl-ap-cancelado{border:2px solid #c0392b;box-shadow:0 14px 40px rgba(192,57,43,.12);}
.cl-ap-cancelado .cl-ap-foto:before{background:linear-gradient(180deg,rgba(192,57,43,.25),rgba(40,0,0,.55));}
.cl-ap-cancelado .cl-ap-titulo span{color:#c0392b;}
.status-Cancelado{background:#c0392b !important;color:#fff !important;}
.cl-cancelacion{margin-top:16px;padding:16px;border-radius:12px;background:#fdecea;border:1px solid #f3b8b1;}
.cl-cancelacion .cl-h3{color:#8a2a1f;}
.cl-cancelacion p{margin:0 0 12px;color:#6b2a22;font-size:.9rem;}
.cl-doc-cancel{background:linear-gradient(135deg,#fff,#fbe3df);border-color:#e7a79f;max-width:360px;}
.cl-borrado{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f0d3a8;color:#6b4e1c;font-size:.85rem;}
