/* ===========================================================
   PUEBLO KAYAMBI — Panel de Administración (estilo premium)
   =========================================================== */
:root{
  --rojo:#1B7F4C;--dorado:#D5A72C;--azul:#2B7A78;--oscuro:#10271D;--oscuro2:#07150F;
  --crema:#FBF7F0;--gris:#8a8594;--ok:#16a34a;
  --grad:linear-gradient(135deg,#1B7F4C,#D5A72C);
  --font-d:'Sora',sans-serif;--font-b:'Inter',sans-serif;
  --sidebar:268px;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-b);background:#f4f1ec;color:#2a2533}
a{text-decoration:none;color:inherit}

/* ---- LAYOUT ---- */
.admin-wrap{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar);background:linear-gradient(180deg,var(--oscuro),var(--oscuro2));color:#fff;position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100;transition:.3s}
.sidebar-head{padding:24px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:12px}
.sidebar-head img{width:42px;height:42px;object-fit:contain}
.sidebar-head b{font-family:var(--font-d);font-size:1.05rem;line-height:1}
.sidebar-head span{font-size:.7rem;color:var(--dorado);text-transform:uppercase;letter-spacing:.05em}
.sidebar-nav{flex:1;overflow-y:auto;padding:16px 12px}
.nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#6a6478;padding:14px 14px 6px}
.sidebar-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:11px;color:#c4bed0;font-size:.92rem;font-weight:500;margin-bottom:3px;transition:.2s}
.sidebar-nav a i{width:20px;text-align:center;font-size:.95rem}
.sidebar-nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.sidebar-nav a.active{background:var(--grad);color:#fff;box-shadow:0 6px 18px rgba(27,127,76,.35)}
.sidebar-foot{padding:16px;border-top:1px solid rgba(255,255,255,.08)}
.sidebar-foot a{display:flex;align-items:center;gap:10px;color:#c4bed0;font-size:.9rem;padding:10px 14px;border-radius:10px}
.sidebar-foot a:hover{background:rgba(27,127,76,.18);color:#fff}

.main{flex:1;margin-left:var(--sidebar);display:flex;flex-direction:column;min-height:100vh}
.topbar{background:#fff;padding:18px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px rgba(0,0,0,.04);position:sticky;top:0;z-index:50}
.topbar h1{font-family:var(--font-d);font-size:1.3rem;color:var(--oscuro)}
.topbar .right{display:flex;align-items:center;gap:16px}
.topbar .user{display:flex;align-items:center;gap:10px}
.topbar .avatar{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-d)}
.topbar .user b{font-size:.9rem;display:block}.topbar .user span{font-size:.76rem;color:var(--gris)}
.view-site{background:var(--azul);color:#fff;padding:9px 18px;border-radius:30px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px;transition:.2s}
.view-site:hover{transform:translateY(-2px)}
.content{padding:30px;flex:1}

.burger-adm{display:none;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--oscuro)}

/* ---- CARDS / STATS ---- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}
.stat-card{background:#fff;border-radius:18px;padding:26px;display:flex;align-items:center;gap:18px;box-shadow:0 6px 24px rgba(0,0,0,.05);transition:.3s}
.stat-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.1)}
.stat-card .ic{width:58px;height:58px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem}
.stat-card b{font-family:var(--font-d);font-size:1.9rem;color:var(--oscuro);line-height:1}
.stat-card span{color:var(--gris);font-size:.88rem}

.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 6px 24px rgba(0,0,0,.05);margin-bottom:24px}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}
.card-head h2{font-family:var(--font-d);font-size:1.2rem;color:var(--oscuro)}
.card-head p{color:var(--gris);font-size:.86rem}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:11px;border:none;cursor:pointer;font-weight:600;font-family:var(--font-b);font-size:.9rem;transition:.25s;text-decoration:none}
.btn-primary{background:var(--grad);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(27,127,76,.35)}
.btn-azul{background:var(--azul);color:#fff}
.btn-light{background:#f4f1ec;color:#3a3545}.btn-light:hover{background:#ebe6dd}
.btn-danger{background:#fee2e2;color:var(--rojo)}.btn-danger:hover{background:var(--rojo);color:#fff}
.btn-sm{padding:8px 14px;font-size:.82rem}
.btn-ic{width:38px;height:38px;padding:0;justify-content:center;border-radius:10px}

/* ---- TABLES ---- */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;padding:13px 14px;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);border-bottom:2px solid #f0ebe3}
td{padding:14px;border-bottom:1px solid #f4f1ec;font-size:.9rem;vertical-align:middle}
tr:hover td{background:#faf8f4}
.td-img{width:54px;height:54px;border-radius:10px;object-fit:cover}
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.74rem;font-weight:700;color:#fff}
.badge-ok{background:var(--ok)}.badge-off{background:#cbd5e1;color:#475569}
.actions{display:flex;gap:8px}
.dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ddd}

/* ---- FORMS ---- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fg{margin-bottom:16px}
.fg.full{grid-column:1/-1}
.fg label{display:block;font-weight:600;font-size:.85rem;margin-bottom:7px;color:#3a3545}
.fg input,.fg select,.fg textarea{width:100%;padding:12px 15px;border:2px solid #eee;border-radius:11px;font-family:var(--font-b);font-size:.92rem;transition:.2s;background:#fff}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--rojo)}
.fg textarea{resize:vertical;min-height:110px}
.fg small{color:var(--gris);font-size:.78rem;display:block;margin-top:5px}
.fg-check{display:flex;align-items:center;gap:10px}
.fg-check input{width:auto}
input[type=color]{height:46px;padding:5px;cursor:pointer}
.preview-img{margin-top:10px;max-height:120px;border-radius:10px;display:none}

/* ---- ALERTS ---- */
.alert{padding:14px 20px;border-radius:12px;margin-bottom:20px;font-weight:500;display:flex;align-items:center;gap:10px}
.alert-success{background:#dcfce7;color:#15803d}
.alert-error{background:#fee2e2;color:#b91c1c}
.alert-info{background:#dbeafe;color:#1e40af}

/* ---- MODAL ---- */
.modal{position:fixed;inset:0;background:rgba(26,20,35,.6);backdrop-filter:blur(4px);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:20px;max-width:760px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:modalIn .3s}
@keyframes modalIn{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.modal-head{padding:22px 28px;border-bottom:1px solid #f0ebe3;display:flex;align-items:center;justify-content:between;justify-content:space-between}
.modal-head h3{font-family:var(--font-d);color:var(--oscuro)}
.modal-close{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--gris)}
.modal-body{padding:28px}
.modal-foot{padding:18px 28px;border-top:1px solid #f0ebe3;display:flex;gap:12px;justify-content:flex-end}

/* ---- TABS ---- */
.tabs{display:flex;gap:8px;border-bottom:2px solid #f0ebe3;margin-bottom:24px;flex-wrap:wrap}
.tab{padding:12px 20px;cursor:pointer;font-weight:600;color:var(--gris);border-bottom:3px solid transparent;margin-bottom:-2px;transition:.2s}
.tab.active{color:var(--rojo);border-color:var(--rojo)}
.tab-content{display:none}.tab-content.active{display:block}

/* ---- LOGIN ---- */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#2a1a2e,#10271D 60%);padding:20px}
.login-card{background:#fff;border-radius:24px;max-width:430px;width:100%;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.login-head{background:var(--grad);padding:40px;text-align:center;color:#fff}
.login-head .sun{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.2);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.login-head .sun img{width:50px;height:50px;object-fit:contain;padding:4px;border-radius:50%;background:#fff}
.login-head h1{font-family:var(--font-d);font-size:1.5rem}
.login-head p{opacity:.95;font-size:.9rem;margin-top:4px}
.login-body{padding:36px}
.login-body .btn{width:100%;justify-content:center;padding:14px;margin-top:10px;font-size:1rem}
.empty{text-align:center;padding:50px;color:var(--gris)}
.empty i{font-size:3rem;color:#ddd;margin-bottom:14px}

@media(max-width:980px){.stats-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
  .sidebar{left:-100%}.sidebar.open{left:0}
  .main{margin-left:0}
  .burger-adm{display:block}
  .form-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr}
}

/* Kayambi Admin Premium V5 */
.quick-icons{display:flex;flex-wrap:wrap;gap:10px}.quick-icon-btn{width:44px;height:44px;border-radius:14px;border:1px solid #d9eadc;background:#fff;color:#187A55;cursor:pointer;transition:.22s}.quick-icon-btn:hover{transform:translateY(-3px) scale(1.04);background:linear-gradient(135deg,#187A55,#D5A72C);color:#fff;box-shadow:0 12px 28px rgba(24,122,85,.22)}.premium-category-form small{color:#7b8b80;font-weight:600}.premium-category-form input[type=file]{padding:12px;background:#fff;border:1px dashed #b7d6bf;border-radius:14px}.card .muted{color:#789084;font-weight:700}
.quick-icon-btn.active{background:linear-gradient(135deg,#0F6F4F,#B98A23)!important;color:#fff!important;box-shadow:0 12px 28px rgba(15,111,79,.22)!important;transform:translateY(-2px)!important;}
.block-order{border:1px solid #dbe5d6;background:#f5f8f0;padding:14px;border-radius:12px;margin:12px 0}.block-order select{max-width:100%;margin-bottom:10px}.block-order button{border:1px solid #d2dfca;padding:7px 10px;border-radius:8px;background:white;color:#345a3d;margin-right:5px}.block-order small{display:block;margin-top:8px}.block-order ol{padding-left:20px;max-height:160px;overflow:auto}.block-order li{padding:6px;cursor:grab;font-size:12px;border-bottom:1px solid #e0e8d8}.rte-editor img{max-width:100%;max-height:300px;object-fit:contain}.rte-editor iframe,.rte-editor video{width:100%;aspect-ratio:16/9;border:0}.rte-editor .kay-block-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
