option:disabled { font-weight: bolder; color: #FF5722; } #atrib_zone, #edit_zone { border: #ccc 3px dashed; padding: 15px 15px 0px 15px; } .ck-editor__editable_inline { min-height: 250px; } input[name=modelo], input[name=url] { pointer-events: none; background: whitesmoke; color: #FF5722; font-weight: bolder; } #imgPreview { text-align: center; padding-bottom: 7px; } .infoText { font-size: small; font-weight: bolder; color: #FF5722; } input[type="file"] { display: none; } .uploadImg { border: 1px solid #ccc; /*display: inline-block;*/ padding: 20px 12px 6px 12px; cursor: pointer; text-align: center; height: 37px; border-radius: 4px; } #imgElement { max-width: 170px; max-height: 120px; } #crearProducto { height: 110px; } #loading { display: none; } #ia_link { /* display: none; */ background-color: #FFC107; border-color: #FFC107; } /* Definimos la animación de parpadeo */ @keyframes blink { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } } /* Aplicamos la animación al elemento */ #ia_link { animation: blink 2s ease-in-out infinite; transition: opacity 0.5s ease-in-out; } /* Agregamos un efecto de transición suave */ #ia_link:hover { opacity: 0.8; } /* ============================================================ Natural - Mercado de Vida Panel de administración SEO y descripciones Complemento para Skeleton Boilerplate ============================================================ */ /* ---------- Variables ---------- */ :root { --color-primary: #0074D9; --color-success: #28a745; --color-danger: #dc3545; --color-warning: #ffae00; --color-light: #f4f4f4; --color-muted: #666; } /* ---------- Contenedores ---------- */ .container { max-width: 1100px; margin: 0 auto; padding: 30px 0 50px; } /* ---------- Tablas ---------- */ table { width: 100%; border-collapse: collapse; margin-top: 20px; background: #fff; box-shadow: 0 0 3px rgba(0,0,0,0.05); border: 1px solid #ddd; } th, td { border: 1px solid #ddd; padding: 10px 10px; vertical-align: top; } th { background: var(--color-light); text-align: left; color: #222; } tr:hover td { background: #f9f9f9; } /* ---------- Imágenes ---------- */ td img { width: 140px; border-radius: 6px; display: block; margin: 0 auto 8px; } /* ---------- Textos de idiomas ---------- */ .lang-title { font-weight: bold; color: var(--color-primary); margin-bottom: 4px; } .lang-section { line-height: 1.5em; font-size: 1rem; text-align: justify; } /* ---------- Badges ---------- */ .badge { display: inline-block; padding: 2px 8px; border-radius: 12px; font-size: .85rem; color: #fff; margin-left: 6px; } .badge.ok { background: var(--color-success); } .badge.miss { background: var(--color-danger); } .badge.warn { background: var(--color-warning); color: #000; } /* ---------- Botones ---------- */ .button-primary, button.button-primary { color: #fff; border: none; border-radius: 4px; cursor: pointer; transition: all .2s ease; } .button-primary:hover { opacity: 0.9; } /* Botón de verificación manual */ .toggle-btn { background: var(--color-warning); color: #000; border: none; border-radius: 5px; padding: 5px 12px; cursor: pointer; font-size: 0.9rem; margin-top: 6px; transition: all .2s ease-in-out; } .toggle-btn.active { background: var(--color-success); color: #fff; } /* Toolbar superior */ .toolbar { margin: 10px 0 15px; } .toolbar button { margin-right: 8px; } /* ---------- Caja de ID y estado ---------- */ .idbox { font-size: .9rem; color: #333; text-align: center; } .idbox small { color: var(--color-muted); } .filter-bar { margin-bottom: 20px; } .filter-actions a { display: inline-block; margin-top: 8px; } .alert-box { background: #f5f8fb; border: 1px solid #d9e3ec; border-radius: 6px; padding: 18px; } .table-description { max-height: 120px; overflow: auto; } .log-panel { margin-top: 20px; background: #f9f9f9; border-radius: 8px; border: 1px solid #e0e0e0; } .log-panel__header { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid #e0e0e0; } .log-panel__status { font-size: 0.95rem; color: #666; } .log-panel__body { margin: 0; padding: 14px; max-height: 360px; overflow: auto; font-size: 1.3rem; line-height: 1.45; background: #111; color: #f1f1f1; } .pagination-row { margin-top: 18px; text-align: center; } .pagination-row .button { margin: 0 4px; } .pagination-row .button.disabled { pointer-events: none; opacity: .4; } .pagination-row .pagination-meta { margin: 0 12px; color: var(--color-muted); } /* ---------- Loader ---------- */ .loader-container { display: none; justify-content: center; align-items: center; flex-direction: column; margin-top: 30px; } .loader { border: 5px solid #eee; border-top: 5px solid var(--color-primary); border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loading-text { margin-top: 10px; font-weight: bold; color: #333; animation: fadeText 1.5s infinite; } @keyframes fadeText { 0%,100% { opacity: 0.2; } 50% { opacity: 1; } } /* ---------- Paginación ---------- */ .pagination { text-align: center; margin-top: 25px; } .pagination a { display: inline-block; padding: 6px 12px; margin: 0 4px; text-decoration: none; border-radius: 4px; background: var(--color-primary); color: #fff; } .pagination a.disabled { background: #ccc; pointer-events: none; } .pagination span { display: inline-block; margin: 0 10px; font-weight: bold; } /* ---------- Responsive ---------- */ @media (max-width: 768px) { td img { width: 100px; } table, th, td { font-size: 1.3rem; } .toolbar { text-align: center; } .lang-section { font-size: 1.3rem; text-align: justify;} } .last { margin: 10px 0px; } .checkbox-label { display: flex; align-items: center; gap: 8px; margin-top: 26px; } .checkbox-label .label-body { margin: 0; } /* Alineación vertical suave y estética Skeleton */ #missing { position: relative; top: 2px; margin-right: 5px; } label[for="missing"] { font-weight: 500; cursor: pointer; display: inline-block; color: #555; }