.admin-body {
    background:
        radial-gradient(circle at 8% 0%, rgba(0,184,255,.18), transparent 30%),
        radial-gradient(circle at 92% 0%, rgba(0,123,255,.12), transparent 32%),
        #020814;
    min-height: 100vh;
}
.admin-login-wrap { min-height: 100vh; display: grid; place-items: center; padding: 18px; }
.admin-login-card { width: min(480px, 100%); padding: 36px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(10,25,48,.92), rgba(3,10,21,.9)); border-radius: 30px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.admin-login-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 36%); pointer-events: none; }
.admin-login-logo { width: 250px; margin-bottom: 24px; filter: drop-shadow(0 0 22px rgba(0,123,255,.25)); }
.admin-login-card h1 { font-size: 2.45rem; letter-spacing: -0.05em; }
.admin-form { display: grid; gap: 16px; margin: 24px 0; }
.admin-form label { display: grid; gap: 8px; color: #dce8f7; font-weight: 800; }
.admin-form input, .admin-form textarea, .admin-form select { min-height: 52px; border-radius: 15px; border: 1px solid var(--line); background: rgba(255,255,255,.045); color: white; padding: 0 15px; outline: none; }
.admin-form textarea { min-height: 120px; padding-top: 14px; resize: vertical; }
.admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus { border-color: var(--blue-2); box-shadow: 0 0 0 4px rgba(0,184,255,.12); }
.admin-layout { display: grid; grid-template-columns: 292px 1fr; min-height: 100vh; }
.admin-sidebar { border-right: 1px solid var(--line); background: rgba(3,10,21,.88); padding: 22px; position: sticky; top: 0; height: 100vh; backdrop-filter: blur(18px); }
.admin-sidebar img { width: 210px; margin-bottom: 26px; filter: drop-shadow(0 0 18px rgba(0,123,255,.22)); }
.admin-sidebar nav { display: grid; gap: 10px; }
.admin-sidebar a { color: var(--muted); padding: 14px 15px; border-radius: 15px; font-weight: 900; border: 1px solid transparent; transition: .2s ease; }
.admin-sidebar a:hover, .admin-sidebar a.active { background: rgba(0,123,255,.14); color: white; border-color: rgba(0,123,255,.22); }
.admin-main { padding: 34px; }
.admin-title-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 26px; }
.admin-title-row h1 { font-size: clamp(2.3rem, 4vw, 3.6rem); letter-spacing: -0.055em; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }
.admin-stats article, .admin-panel-card, .admin-table-card { border: 1px solid var(--line); background: var(--panel); border-radius: 24px; padding: 22px; box-shadow: var(--shadow-soft); backdrop-filter: blur(16px); }
.admin-stats strong { display: block; font-size: 2.4rem; letter-spacing: -0.04em; }
.admin-stats span, .admin-panel-card p { color: var(--muted); }
.status-ok { border-color: rgba(34,197,94,.35); box-shadow: 0 0 0 1px rgba(34,197,94,.08), var(--shadow-soft); }
.status-warn { border-color: rgba(245,158,11,.45); box-shadow: 0 0 0 1px rgba(245,158,11,.08), var(--shadow-soft); }
.admin-actions { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 960px) {
    .admin-layout { grid-template-columns: 1fr; }
    .admin-sidebar { position: relative; height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
    .admin-sidebar nav { grid-template-columns: repeat(2, 1fr); }
    .admin-stats { grid-template-columns: repeat(2, 1fr); }
    .admin-title-row { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 560px) {
    .admin-main { padding: 18px; }
    .admin-sidebar { padding: 16px; }
    .admin-sidebar nav { grid-template-columns: 1fr; }
    .admin-stats { grid-template-columns: 1fr; }
    .admin-login-card { padding: 26px; }
}

/* Bloque 4 - Landing editable */
.admin-stats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.admin-alert { border-radius: 16px; padding: 14px 16px; margin: 0 0 18px; font-weight: 800; }
.admin-alert-ok { color: #d8ffe2; background: rgba(34,197,94,.14); border: 1px solid rgba(34,197,94,.35); }
.admin-alert-error { color: #ffe0e7; background: rgba(244,63,94,.14); border: 1px solid rgba(244,63,94,.35); }
.admin-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
.admin-card-head h2 { margin-bottom: 2px; }
.admin-muted { color: var(--muted); font-size: .92rem; }
.admin-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.admin-edit-card { display: grid; gap: 13px; padding: 18px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.035); }
.admin-edit-card label { display: grid; gap: 7px; color: #dce8f7; font-weight: 800; }
.admin-edit-card input, .admin-edit-card textarea, .admin-edit-card select,
.admin-inline-create input, .admin-inline-create textarea, .admin-inline-create select,
.admin-table input, .admin-table textarea, .admin-table select {
    width: 100%; min-height: 42px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.045); color: white; padding: 9px 11px; outline: none;
}
.admin-edit-card textarea, .admin-table textarea { min-height: 74px; resize: vertical; }
.admin-edit-card-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.admin-edit-card-title strong { color: #8ed8ff; }
.admin-two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-switch { display: inline-flex !important; grid-auto-flow: column; align-items: center; justify-content: flex-start; gap: 8px !important; color: var(--muted) !important; font-size: .9rem; }
.admin-switch input { width: auto !important; min-height: auto !important; accent-color: var(--blue); }
.admin-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; }
.admin-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.admin-table th, .admin-table td { padding: 12px; text-align: left; border-bottom: 1px solid rgba(82,155,255,.12); vertical-align: top; }
.admin-table th { color: #d9ecff; font-size: .86rem; text-transform: uppercase; letter-spacing: .04em; background: rgba(0,123,255,.08); }
.admin-delete-row td { padding-top: 0; color: var(--muted); }
.admin-link-danger { background: none; border: 0; color: #ff7893; cursor: pointer; font-weight: 900; padding: 0; }
.admin-inline-create { margin-top: 16px; display: grid; grid-template-columns: 1fr 110px 1.1fr 1.6fr 90px auto auto; gap: 10px; align-items: center; }
.faq-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) {
    .admin-edit-grid, .faq-admin-grid { grid-template-columns: 1fr; }
    .admin-inline-create { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
    .admin-card-head, .admin-two-cols { grid-template-columns: 1fr; display: grid; }
    .admin-inline-create { grid-template-columns: 1fr; }
}

/* Bloque 5 - Sistemas administrables */
.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.admin-form-grid label {
    display: grid;
    gap: 8px;
    color: #dce8f7;
    font-weight: 800;
}
.admin-form-grid input,
.admin-form-grid textarea,
.admin-form-grid select {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.045);
    color: white;
    padding: 10px 13px;
    outline: none;
}
.admin-form-grid textarea { min-height: 92px; resize: vertical; }
.admin-form-grid input[type="file"] { padding: 11px; color: var(--muted); }
.admin-form-grid input:focus,
.admin-form-grid textarea:focus,
.admin-form-grid select:focus {
    border-color: var(--blue-2);
    box-shadow: 0 0 0 4px rgba(0,184,255,.12);
}
.admin-span-2 { grid-column: 1 / -1; }
.admin-subsection-title {
    padding: 16px 18px;
    border: 1px solid rgba(0,184,255,.18);
    border-radius: 18px;
    background: rgba(0,123,255,.08);
}
.admin-subsection-title h3 { margin: 0 0 4px; }
.admin-subsection-title p { margin: 0; color: var(--muted); }
.admin-check-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.admin-stats-compact article strong { font-size: 2rem; }
.admin-current-image { display: flex; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.035); }
.admin-current-image img { width: 128px; height: 82px; object-fit: cover; border-radius: 16px; border: 1px solid rgba(255,255,255,.12); }
.admin-system-title { display: flex; gap: 12px; align-items: center; min-width: 260px; }
.admin-system-title img,
.admin-system-title span { width: 54px; height: 54px; border-radius: 16px; flex: 0 0 54px; display: grid; place-items: center; object-fit: cover; background: rgba(0,123,255,.12); border: 1px solid rgba(0,184,255,.18); font-size: 1.4rem; }
.admin-system-title small { display: block; color: var(--muted); margin-top: 3px; max-width: 360px; }
.admin-row-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.admin-row-actions form { margin: 0; }
.btn-mini { padding: 8px 10px !important; min-height: auto !important; border-radius: 11px !important; font-size: .84rem !important; }
.admin-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; font-weight: 900; font-size: .78rem; }
.admin-pill-ok { color: #d8ffe2; background: rgba(34,197,94,.14); border: 1px solid rgba(34,197,94,.3); }
.admin-pill-warn { color: #fff2d6; background: rgba(245,158,11,.14); border: 1px solid rgba(245,158,11,.32); }
.admin-pill-muted { color: var(--muted); background: rgba(255,255,255,.05); border: 1px solid var(--line); }
.admin-table-small { min-width: 760px; }
.admin-table-small-wrap { margin-top: 18px; }
.admin-category-form { margin-bottom: 18px; }
@media (max-width: 900px) {
    .admin-form-grid { grid-template-columns: 1fr; }
    .admin-span-2 { grid-column: auto; }
    .admin-check-row { display: grid; grid-template-columns: 1fr; }
}

/* Bloque 6 - Admin demos avanzados */
.admin-table a { color: #9ddcff; font-weight: 800; }
.admin-table a:hover { color: white; }
@media (max-width: 760px) {
    .admin-stats.admin-stats-compact { grid-template-columns: 1fr; }
}

/* Bloque 7 - Planes de renta administrables */
.admin-pill-info { color: #d7efff; background: rgba(0,184,255,.13); border: 1px solid rgba(0,184,255,.3); }
.admin-textarea-tall { min-height: 170px !important; }
.admin-switch-block { align-self: end; padding: 13px 0; }
.admin-plan-form small { color: var(--muted); font-weight: 700; }
.admin-plans-table strong { color: #fff; }
.admin-plans-table small { color: var(--muted); display: inline-block; margin-top: 2px; }


/* Bloque 9 - Solicitudes */
.lead-filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto auto;gap:10px}.lead-filters input,.lead-filters select,.lead-followup select,.lead-followup textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;padding:9px 11px}.lead-followup{display:grid;gap:8px;min-width:230px}.lead-followup textarea{min-height:78px;resize:vertical}.leads-table td small{display:block;color:var(--muted);margin:3px 0}.leads-table td>a{display:block;margin-top:5px}.leads-table{min-width:1200px}@media(max-width:760px){.lead-filters{grid-template-columns:1fr}}

/* Bloque 10 - seguridad y usuarios */
.admin-user-mini{display:grid;gap:3px;margin:-8px 4px 18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.admin-user-mini span,.admin-table small{color:var(--muted);font-size:.82rem}.admin-login-link{text-align:center;color:var(--blue-2);font-weight:800}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.admin-check{display:flex!important;align-items:center;gap:10px}.admin-check input{min-height:auto;width:20px;height:20px}.admin-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.btn-danger{background:#7f1d1d;color:#fff;border:1px solid #ef4444}.admin-pill-ok{background:rgba(34,197,94,.14);color:#86efac}.admin-pill-muted{background:rgba(148,163,184,.12);color:#cbd5e1}.admin-alert-warn{border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.1);color:#fde68a}
@media(max-width:760px){.admin-form-grid,.admin-two-cols{grid-template-columns:1fr}}

/* Bloque 11 - Dashboard avanzado */
.dashboard-range{display:flex;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}.dashboard-range a{padding:8px 11px;border-radius:10px;color:var(--muted);font-weight:800}.dashboard-range a.active{color:#fff;background:rgba(0,123,255,.25)}
.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.dashboard-kpis article{padding:20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(10,25,48,.86),rgba(3,10,21,.82));box-shadow:var(--shadow-soft)}.dashboard-kpis span,.dashboard-kpis small{display:block;color:var(--muted)}.dashboard-kpis strong{display:block;font-size:2.15rem;margin:7px 0 2px;letter-spacing:-.04em}.dashboard-kpis small{font-size:.8rem}
.dashboard-grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.8fr);gap:16px;margin-bottom:16px}.dashboard-grid-secondary{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:16px;margin-bottom:16px}.dashboard-grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.dashboard-advanced .admin-panel-card{margin:0}.dashboard-advanced .admin-card-head a{color:#8ed8ff;font-weight:800}
.chart-legend{display:flex;gap:12px;flex-wrap:wrap}.chart-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.chart-legend .views:before,.bar.views{background:#00b8ff}.chart-legend .leads:before,.bar.leads{background:#8b5cf6}.chart-legend .demos:before,.bar.demos{background:#22c55e}.bar-chart{height:270px;display:flex;align-items:stretch;gap:5px;padding:18px 4px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 53px,rgba(255,255,255,.045) 54px)}.bar-day{flex:1;min-width:8px;display:grid;grid-template-rows:1fr 22px;gap:7px;text-align:center}.bar-stack{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%}.bar-stack .bar{display:block;width:min(7px,28%);min-height:2px;border-radius:6px 6px 2px 2px;opacity:.9}.bar-day small{font-size:.67rem;color:var(--muted);white-space:nowrap;overflow:hidden}
.funnel-list{display:grid;gap:16px}.funnel-list>div{display:grid;grid-template-columns:95px 1fr 34px;gap:10px;align-items:center}.funnel-list span{color:var(--muted)}.funnel-list strong{text-align:right}.progress{height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.progress i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,#007bff,#00b8ff)}
.rank-list,.simple-list,.dashboard-table,.timeline-list{display:grid;gap:9px}.rank-list>div{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:10px;border:1px solid rgba(82,155,255,.12);border-radius:14px}.rank-list b{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(0,123,255,.15);color:#8ed8ff}.rank-list span small,.dashboard-table small,.timeline-list small{display:block;color:var(--muted);margin-top:2px}.rank-list em{font-style:normal;font-weight:900;color:#8ed8ff}
.device-donut{width:150px;height:150px;margin:4px auto 18px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#00b8ff 0 calc(var(--mobile)*1%),#8b5cf6 0 calc((var(--mobile) + var(--tablet))*1%),#22c55e 0 98%,#64748b 0);position:relative}.device-donut:after{content:'';position:absolute;inset:24px;border-radius:50%;background:#071223}.device-donut>div{position:relative;z-index:1;text-align:center}.device-donut strong{display:block;font-size:1.6rem}.device-donut small{color:var(--muted)}.device-legend{display:grid;grid-template-columns:1fr 1fr;gap:9px}.device-legend span{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center;color:var(--muted);font-size:.82rem}.device-legend i{width:8px;height:8px;border-radius:50%;background:#64748b}.device-legend i.mobile{background:#00b8ff}.device-legend i.tablet{background:#8b5cf6}.device-legend i.desktop{background:#22c55e}
.simple-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(82,155,255,.1)}.simple-list span{color:var(--muted);word-break:break-all}.simple-list strong{color:#8ed8ff}
.dashboard-table>a{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px;border:1px solid rgba(82,155,255,.12);border-radius:14px;color:#fff}.dashboard-table em{font-style:normal;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:900;background:rgba(148,163,184,.13);color:#cbd5e1}.dashboard-table .status-new{background:rgba(0,184,255,.13);color:#8ed8ff}.dashboard-table .status-won{background:rgba(34,197,94,.13);color:#86efac}.dashboard-table time,.timeline-list time{color:var(--muted);font-size:.76rem;white-space:nowrap}.timeline-list>div{display:grid;grid-template-columns:12px 1fr auto;gap:11px;align-items:start;padding:8px 0}.timeline-list>div>i{width:9px;height:9px;border-radius:50%;background:#00b8ff;box-shadow:0 0 12px rgba(0,184,255,.7);margin-top:5px}
@media(max-width:1250px){.dashboard-kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid-secondary{grid-template-columns:1fr 1fr}.dashboard-grid-secondary>article:last-child{grid-column:1/-1}}@media(max-width:900px){.dashboard-grid-main,.dashboard-grid-bottom{grid-template-columns:1fr}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.dashboard-kpis,.dashboard-grid-secondary{grid-template-columns:1fr}.dashboard-grid-secondary>article:last-child{grid-column:auto}.bar-chart{overflow-x:auto;gap:8px}.bar-day{min-width:28px}.dashboard-table>a{grid-template-columns:1fr auto}.dashboard-table time{grid-column:1/-1}.device-legend{grid-template-columns:1fr}.admin-title-row .admin-actions{width:100%}.dashboard-range{width:100%;justify-content:space-between}.dashboard-range a{flex:1;text-align:center}}

/* Bloque 13 */
.admin-plan-form input[type="datetime-local"]{color-scheme:dark}.admin-plan-form small{display:block;color:#91a2bc;margin-top:.25rem}

/* Bloque 16: administración cómoda en celular */
.admin-sidebar-toggle,.admin-sidebar-backdrop{display:none}.admin-table-wrap.has-scroll-hint::after{content:'Desliza para ver más';display:block;padding:8px 12px;color:var(--muted);font-size:.78rem;text-align:center;background:rgba(255,255,255,.025)}
@media(max-width:960px){.admin-layout{display:block}.admin-sidebar-toggle{display:inline-flex;align-items:center;gap:8px;position:sticky;top:10px;left:12px;z-index:120;margin:10px 0 0 12px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(135deg,var(--blue),#165dff);color:#fff;font-weight:900;box-shadow:0 14px 35px rgba(0,123,255,.22)}.admin-sidebar{position:fixed;left:10px;top:10px;bottom:10px;width:min(310px,calc(100% - 20px));height:auto;z-index:130;overflow:auto;border:1px solid var(--line);border-radius:22px;transform:translateX(calc(-100% - 22px));transition:transform .22s ease;box-shadow:0 24px 80px rgba(0,0,0,.48)}.admin-body.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:125;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}.admin-body.admin-menu-open .admin-sidebar-backdrop{display:block}.admin-sidebar nav{grid-template-columns:1fr}.admin-sidebar img{width:190px}.admin-main{padding:18px 14px 28px}.admin-title-row{gap:14px}.admin-title-row h1{font-size:clamp(2rem,10vw,3rem)}.admin-actions .btn{min-height:44px}.admin-form-grid,.admin-edit-grid,.admin-two-cols{grid-template-columns:1fr!important}.admin-card-head,.settings-panel-heading,.admin-sticky-save{align-items:stretch;flex-direction:column}.admin-table{min-width:860px}.admin-table-card,.admin-panel-card,.admin-stats article{padding:18px;border-radius:20px}.settings-tabs{overflow-x:auto;flex-wrap:nowrap}.settings-tab{white-space:nowrap}.admin-sticky-save{bottom:10px}.admin-login-wrap{padding:14px}.admin-login-card{border-radius:24px;padding:24px}.admin-login-logo{width:210px}}
@media(max-width:560px){.admin-main{padding-left:10px;padding-right:10px}.admin-sidebar-toggle{margin-left:10px}.admin-stats{grid-template-columns:1fr}.admin-row-actions,.admin-actions{display:grid;grid-template-columns:1fr;width:100%}.admin-row-actions .btn,.admin-actions .btn{width:100%}.lead-filters{grid-template-columns:1fr}.dashboard-range{width:100%}.dashboard-range a{padding-left:6px;padding-right:6px}.admin-table-wrap{margin-left:-4px;margin-right:-4px}.settings-preview{width:100%}}
@media(prefers-reduced-motion:reduce){.admin-sidebar{transition:none!important}}
