/* MY PLAZA · Shell administrativo moderno compartido · MASTER + Dueños */
:root{
  --admin-shell-bg:#F3F6F4;
  --admin-side-top:#071E18;
  --admin-side-mid:#0A3327;
  --admin-side-bottom:#0B432F;
  --admin-side-text:#F4FAF7;
  --admin-side-muted:#9DB8AC;
  --admin-side-line:rgba(255,255,255,.08);
  --admin-side-card:rgba(255,255,255,.045);
  --admin-side-card-hover:rgba(255,255,255,.075);
  --admin-side-active:rgba(25,180,111,.16);
  --admin-side-active-line:#35C986;
  --admin-gold:#E0B84B;
  --admin-shell-shadow:0 14px 36px rgba(18,45,34,.07);
}

/* Estructura */
.admin-shell{grid-template-columns:272px minmax(0,1fr);background:var(--admin-shell-bg)}
.owner-shell{grid-template-columns:272px minmax(0,1fr);background:var(--admin-shell-bg)}
.admin-sidebar,.owner-shell>aside{
  position:sticky;top:0;height:100vh;box-sizing:border-box;
  padding:22px 16px 18px;
  background:
    radial-gradient(circle at 12% 2%,rgba(52,201,134,.14),transparent 28%),
    linear-gradient(180deg,var(--admin-side-top) 0%,var(--admin-side-mid) 52%,var(--admin-side-bottom) 100%);
  color:var(--admin-side-text);border-right:1px solid var(--admin-side-line);
  box-shadow:14px 0 40px rgba(4,25,19,.10);
  display:flex;flex-direction:column;gap:18px;overflow:hidden;
}
.admin-main,.owner-shell>main{padding:24px 26px 32px;min-width:0;background:var(--admin-shell-bg)}

/* Marca */
.admin-brand,.owner-brand{
  position:relative;display:grid;gap:4px;margin:0;padding:3px 8px 19px;
  border-bottom:1px solid var(--admin-side-line);
}
.admin-brand:before,.owner-brand:before{
  content:"";position:absolute;left:8px;bottom:-1px;width:48px;height:2px;border-radius:999px;
  background:linear-gradient(90deg,var(--admin-gold),transparent);
}
.admin-brand b,.owner-brand b{
  color:#fff;font:800 19px/1.05 var(--font-display);letter-spacing:-.035em;
  text-shadow:0 1px 18px rgba(0,0,0,.18);
}
.admin-brand span,.owner-brand span{
  color:var(--admin-gold);font:800 9px/1.2 var(--font-display);letter-spacing:.16em;text-transform:uppercase;
}

/* Navegación MASTER */
.admin-sidebar nav{display:grid;gap:10px;overflow:auto;padding:0 1px 8px;scrollbar-width:none}
.admin-sidebar nav::-webkit-scrollbar{display:none}
.master-nav-group{
  --group-accent:#35C986;border:1px solid var(--admin-side-line);border-radius:16px;
  background:var(--admin-side-card);overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.master-nav-group:hover{border-color:rgba(255,255,255,.13)}
.master-nav-group:not(.is-collapsed){background:rgba(255,255,255,.06);border-color:color-mix(in srgb,var(--group-accent) 38%,rgba(255,255,255,.12))}
.master-nav-group-toggle{
  min-height:50px;padding:0 12px 0 14px;border:0;background:transparent;color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;
}
.master-nav-group-toggle:before{
  content:"";width:7px;height:7px;flex:0 0 auto;border-radius:999px;background:var(--group-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--group-accent) 14%,transparent);
}
.master-nav-group-title{
  flex:1;font:800 10px/1 var(--font-display);letter-spacing:.12em;color:rgba(247,252,249,.76);
}
.master-nav-chevron{
  width:26px;height:26px;border:1px solid rgba(255,255,255,.08);border-radius:9px;
  display:grid;place-items:center;background:rgba(255,255,255,.055);color:#DDEAE4;font-size:14px;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.master-nav-group:not(.is-collapsed) .master-nav-chevron{
  transform:rotate(180deg);background:color-mix(in srgb,var(--group-accent) 18%,rgba(255,255,255,.04));
  border-color:color-mix(in srgb,var(--group-accent) 35%,rgba(255,255,255,.08));
}
.master-nav-group-items{display:grid;gap:3px;padding:0 7px 9px}.master-nav-group-items[hidden]{display:none}
.master-nav-group .side-link{
  position:relative;width:100%;min-height:39px;padding:9px 31px 9px 12px;border-radius:10px;
  color:rgba(234,244,239,.74);font:700 11px/1.2 var(--font-display);letter-spacing:.005em;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.master-nav-group .side-link:hover{background:var(--admin-side-card-hover);color:#fff;transform:translateX(1px)}
.master-nav-group .side-link.active{
  background:var(--admin-side-active);color:#fff;box-shadow:inset 3px 0 var(--group-accent),inset 0 1px rgba(255,255,255,.025);
}
.master-nav-group .side-link.active:after{
  content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;border-radius:999px;
  background:var(--group-accent);transform:translateY(-50%);box-shadow:0 0 0 4px color-mix(in srgb,var(--group-accent) 12%,transparent);
}

/* Navegación Dueños */
.owner-shell nav{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;overflow:auto;padding:0 1px 8px;scrollbar-width:none}
.owner-shell nav::-webkit-scrollbar{display:none}
.owner-nav-group{
  border:1px solid var(--admin-side-line);border-radius:16px;background:var(--admin-side-card);
  padding:9px 7px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.owner-nav-label{
  display:flex;align-items:center;gap:8px;padding:5px 7px 9px;color:var(--admin-side-muted);
  font:800 9px/1 var(--font-display);letter-spacing:.14em;
}
.owner-nav-label:before{
  content:"";width:7px;height:7px;border-radius:999px;background:#35C986;
  box-shadow:0 0 0 4px rgba(53,201,134,.11);
}
.owner-nav-group[data-nav-group="configure"] .owner-nav-label:before{background:var(--admin-gold);box-shadow:0 0 0 4px rgba(224,184,75,.10)}
.owner-nav-items{display:grid;gap:3px}
.owner-shell .nav{
  position:relative;width:100%;min-height:39px;padding:9px 30px 9px 12px;border-radius:10px;
  color:rgba(234,244,239,.74);font:700 11px/1.2 var(--font-display);background:transparent;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.owner-shell .nav:hover{background:var(--admin-side-card-hover);color:#fff;transform:translateX(1px)}
.owner-shell .nav.active{
  background:var(--admin-side-active);color:#fff;box-shadow:inset 3px 0 var(--admin-side-active-line);
}
.owner-shell .nav.active:after{
  content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;border-radius:999px;
  background:var(--admin-side-active-line);transform:translateY(-50%);box-shadow:0 0 0 4px rgba(53,201,134,.11);
}

/* Pie de identidad / seguridad */
.admin-note,.owner-shell .security{
  margin-top:auto;padding:12px 13px;border:1px solid rgba(224,184,75,.22);border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025));
  color:#F4FAF7;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  font:800 10px/1.35 var(--font-display);
}
.admin-note small,.owner-shell .security small{
  display:block;margin-top:3px;color:var(--admin-side-muted);font:500 9px/1.35 var(--font-body);
}

/* Cabeceras modernas */
.admin-header,.owner-shell>main>header{
  position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin:0 0 18px;padding:18px 20px;border:1px solid rgba(19,63,46,.09);border-radius:20px;
  background:rgba(255,255,255,.94);box-shadow:var(--admin-shell-shadow);
}
.admin-header:before,.owner-shell>main>header:before{
  content:"";position:absolute;left:20px;top:0;width:72px;height:3px;border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,#118A57,var(--admin-gold));
}
.admin-header .eyebrow,.owner-shell>main>header .eyebrow{color:#61706A;letter-spacing:.13em}
.admin-header h1,.owner-shell>main>header h1{margin:4px 0 6px;color:#142019;font-size:27px;letter-spacing:-.035em}
.admin-header p,.owner-shell>main>header p{color:#6D7D75;max-width:720px}
.admin-actions,.owner-shell>main>header>div:last-child{align-items:center}

/* Superficies de contenido */
.manager-card,.preview-card,.owner-shell .card,.owner-shell .panel{
  border-color:rgba(22,62,47,.10);box-shadow:0 10px 30px rgba(18,45,34,.045);
}
.manager-card,.preview-card{border-radius:20px}.owner-shell .card,.owner-shell .panel{border-radius:17px}
.manager-head h2,.preview-head h2,.owner-shell .panel h2{letter-spacing:-.02em}
.btn{transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}
.btn:hover{transform:translateY(-1px)}
.admin-actions .btn,.owner-shell>main>header .btn{border-radius:11px;min-height:38px}

/* Login consistente */
.master-gate,.gate{background:radial-gradient(circle at 20% 8%,rgba(17,138,87,.12),transparent 32%),var(--admin-shell-bg)}
.gate-card,.login{border-color:rgba(22,62,47,.10);box-shadow:0 22px 70px rgba(16,50,37,.10)}

@media(max-width:1050px){
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{position:static;height:auto;overflow:visible;padding:14px;box-shadow:none;border-right:0;border-bottom:1px solid var(--admin-side-line)}
  .admin-brand{padding-bottom:14px}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(190px,1fr));overflow:visible}
  .admin-note{display:none}.admin-main{padding:18px}
}
@media(max-width:900px){
  .owner-shell{grid-template-columns:1fr}
  .owner-shell>aside{position:static;height:auto;overflow:visible;padding:14px;box-shadow:none;border-right:0;border-bottom:1px solid var(--admin-side-line)}
  .owner-brand{padding-bottom:14px}.owner-shell nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible}
  .owner-shell .security{display:none}.owner-shell>main{padding:18px}
}
@media(max-width:650px){
  .admin-sidebar nav,.owner-shell nav{grid-template-columns:1fr!important}
  .admin-header,.owner-shell>main>header{display:grid;padding:17px;border-radius:17px}
  .admin-main,.owner-shell>main{padding:12px}
  .admin-header h1,.owner-shell>main>header h1{font-size:23px}
}
