*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6f8;color:#20242a}a{color:#0b5cab;text-decoration:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:14px;box-shadow:0 15px 45px rgba(0,0,0,.12);padding:34px}.login-logo{display:block;max-width:260px;max-height:120px;object-fit:contain;margin:0 auto 24px;background:#fff}.layout{display:flex;min-height:100vh}.sidebar{width:245px;background:#111827;color:#fff;padding:24px 16px;position:fixed;top:0;bottom:0;left:0;overflow:auto}.sidebar-logo{display:block;width:100%;max-height:95px;object-fit:contain;background:#fff;border-radius:8px;padding:8px;margin-bottom:25px}.sidebar a{display:block;color:#dbe3ef;padding:12px 14px;border-radius:8px;margin:5px 0}.sidebar a:hover,.sidebar a.active{background:#263244;color:#fff}.content{margin-left:245px;width:calc(100% - 245px);padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.topbar h1{margin:0}.muted{color:#6b7280;margin-top:5px}.card{background:#fff;border-radius:12px;padding:22px;margin-bottom:22px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.card h2{margin-top:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:16px}label{display:block;font-weight:700;margin-bottom:7px}.form-control,select,textarea{width:100%;border:1px solid #ccd3dc;border-radius:8px;padding:11px 12px;background:#fff;font-size:15px}.btn{display:inline-block;border:0;border-radius:8px;padding:10px 15px;cursor:pointer;font-weight:700}.btn-primary{background:#111827;color:#fff}.btn-light{background:#e9edf2;color:#20242a}.btn-danger{background:#b42318;color:#fff}.notice{padding:12px 15px;border-radius:8px;background:#e8f7ee;color:#176b3a;margin-bottom:18px}.notice.error{background:#fdecec;color:#9b1c1c}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}th{background:#f8fafc}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions form{margin:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef2f7}.subrow td:first-child{padding-left:34px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:#f3f5f7;border:1px solid #ccd3dc;border-bottom:0;border-radius:8px 8px 0 0}.editor-toolbar button,.editor-toolbar select{width:auto;min-width:auto;padding:8px;border:1px solid #cbd5e1;background:#fff;border-radius:5px}.editor{min-height:360px;background:#fff;border:1px solid #ccd3dc;border-radius:0 0 8px 8px;padding:18px;overflow:auto}.editor img{max-width:100%;height:auto}.editor iframe{max-width:100%;width:100%;aspect-ratio:16/9;border:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat{background:#fff;border-radius:12px;padding:22px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.stat strong{font-size:32px;display:block;margin-top:8px}@media(max-width:800px){.sidebar{position:static;width:100%}.layout{display:block}.content{margin:0;width:100%;padding:16px}.grid-2,.stats{grid-template-columns:1fr}.sidebar-logo{max-width:240px}.sidebar a{display:inline-block;margin-right:4px}}
.settings-logo-preview{background:#fff;border:1px solid #e1e5ea;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:center;min-height:120px;margin:12px 0 18px}
.settings-logo-preview img{max-width:320px;max-height:110px;object-fit:contain}

/* Barra social global del portal administrativo */
.admin-social-bar{
    height:38px;
    background:#111;
    color:#fff;
    display:flex;
    align-items:center;
    position:fixed;
    left:0;
    right:0;
    top:0;
    z-index:3000;
}
.admin-social-inner{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:0 28px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:14px;
    height:38px;
}
.admin-social-link{
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    border-radius:50%;
    transition:opacity .2s ease, background .2s ease;
}
.admin-social-link:hover{
    color:#fff;
    opacity:.78;
    background:rgba(255,255,255,.08);
}
.admin-social-link svg{
    width:16px;
    height:16px;
    display:block;
    fill:currentColor;
}
.has-admin-social .sidebar{
    top:38px;
}
.has-admin-social .content{
    padding-top:66px;
}
@media(max-width:800px){
    .admin-social-bar{
        position:static;
    }
    .has-admin-social .sidebar{
        top:auto;
    }
    .has-admin-social .content{
        padding-top:16px;
    }
    .admin-social-inner{
        justify-content:center;
        padding:0 15px;
    }
}


/* Configuración global de logo y barra */
.admin-social-bar{
    background:var(--admin-topbar-color,#111111)!important;
}

.sidebar-logo{
    width:min(var(--admin-logo-width,180px),calc(100% - 32px))!important;
    max-width:calc(100% - 32px)!important;
    height:auto!important;
    object-fit:contain;
    margin-left:auto!important;
    margin-right:auto!important;
}

.settings-logo-preview{
    overflow:auto;
}

@media(max-width:800px){
    .sidebar-logo{
        width:180px!important;
        max-width:calc(100% - 32px)!important;
    }
}
