{"id":11892,"date":"2025-05-12T19:03:54","date_gmt":"2025-05-12T19:03:54","guid":{"rendered":"https:\/\/www.unioviedo.es\/cestudiantes\/?page_id=11892"},"modified":"2025-11-09T10:02:13","modified_gmt":"2025-11-09T10:02:13","slug":"repositorio-legislacion","status":"publish","type":"page","link":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/repositorio-legislacion\/","title":{"rendered":"Repositorio legislaci\u00f3n"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11892\" class=\"elementor elementor-11892\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-504bf45 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"504bf45\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df71d1f\" data-id=\"df71d1f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-573c811 elementor-widget elementor-widget-html\" data-id=\"573c811\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ===== REPOSITORIO NORMATIVO (cabecera reforzada + cuerpo) ===== -->\r\n<section id=\"reg-repo\" aria-labelledby=\"reg-repo-title\">\r\n  <style>\r\n    \/* ===== SCOPE: solo #reg-repo ===== *\/\r\n    #reg-repo{\r\n      --brand:#03827C; --brand2:#0fa7a0; --brand3:#36d1c4;\r\n      --ink:#0f172a; --muted:#475569; --line:rgba(2,6,23,.12);\r\n      --shadow:0 14px 34px rgba(2,6,23,.08); --radius:14px;\r\n      font-family:ui-sans-serif,system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;\r\n    }\r\n    #reg-repo .wrap{max-width:min(1040px,92vw);margin:auto}\r\n\r\n    \/* ===== HERO IMPACTANTE PERO COMPACTO ===== *\/\r\n    #reg-repo .hero{\r\n      position:relative;\r\n      margin:6px 0 10px;\r\n      border:1px solid var(--line);\r\n      border-radius:16px;\r\n      background:\r\n        radial-gradient(1000px 350px at 10% -20%, rgba(3,130,124,.10), transparent 60%),\r\n        radial-gradient(900px 320px at 100% 0%, rgba(54,209,196,.10), transparent 60%),\r\n        linear-gradient(135deg,#f7fbfa,#f1fbf8 40%, #ffffff 60%);\r\n      box-shadow:var(--shadow);\r\n      overflow:hidden;\r\n    }\r\n    \/* Franja superior decorativa *\/\r\n    #reg-repo .hero::before{\r\n      content:\"\";\r\n      position:absolute; inset:0 auto auto 0; height:6px; width:100%;\r\n      background:linear-gradient(90deg,var(--brand),var(--brand2),var(--brand3));\r\n      opacity:.95;\r\n    }\r\n    \/* Patr\u00f3n sutil *\/\r\n    #reg-repo .hero::after{\r\n      content:\"\";\r\n      position:absolute; inset:auto 0 0 0; height:44%;\r\n      background:\r\n        conic-gradient(from 0deg at 0 0, rgba(3,130,124,.06) 0 25%, transparent 0 100%),\r\n        linear-gradient(0deg, transparent, rgba(3,130,124,.03));\r\n      mask:linear-gradient(to top, rgba(0,0,0,.25), transparent 60%);\r\n      pointer-events:none;\r\n    }\r\n    #reg-repo .hero-inner{\r\n      display:grid; grid-template-columns:auto 1fr;\r\n      align-items:center; gap:14px; padding:14px 16px 16px;\r\n    }\r\n    \/* Insignia *\/\r\n    #reg-repo .crest{\r\n      width:50px; height:50px; border-radius:14px;\r\n      background:linear-gradient(135deg,rgba(3,130,124,.12),rgba(54,209,196,.12));\r\n      border:1px solid rgba(3,130,124,.20);\r\n      display:grid; place-items:center;\r\n      box-shadow:inset 0 1px 0 rgba(255,255,255,.6);\r\n    }\r\n    #reg-repo .crest svg{width:28px;height:28px;color:var(--brand)}\r\n    \/* T\u00edtulo + chips *\/\r\n    #reg-repo .head{\r\n      display:flex; flex-direction:column; gap:6px; min-width:0;\r\n    }\r\n    #reg-repo h2#reg-repo-title{\r\n      margin:0; line-height:1.15; letter-spacing:.2px;\r\n      font-weight:800; font-size:clamp(22px,3.2vw,28px);\r\n      color:transparent;\r\n      background:linear-gradient(180deg,#063a34 0%, #0a5e56 50%, #063a34 100%);\r\n      -webkit-background-clip:text; background-clip:text;\r\n    }\r\n    #reg-repo .chips{display:flex; flex-wrap:wrap; gap:6px}\r\n    #reg-repo .chip{\r\n      font-size:12.5px; color:#08524c; background:rgba(3,130,124,.10);\r\n      border:1px solid rgba(3,130,124,.22); padding:4px 8px; border-radius:999px;\r\n      letter-spacing:.2px; white-space:nowrap;\r\n      backdrop-filter:saturate(1.1);\r\n    }\r\n    #reg-repo .meta{margin-left:auto; font-size:12.5px; color:var(--muted); display:flex; align-items:center; gap:8px}\r\n    #reg-repo .dot{width:6px;height:6px;border-radius:50%;background:var(--brand)}\r\n\r\n    \/* Lede muy contenida *\/\r\n    #reg-repo .lede{\r\n      color:var(--muted); margin:8px 2px 12px; line-height:1.55;\r\n      font-size:clamp(14px,1.6vw,15px)\r\n    }\r\n\r\n    \/* Tarjeta del shortcode *\/\r\n    #reg-repo .card{\r\n      background:#fff; border:1px solid var(--line); border-radius:var(--radius);\r\n      box-shadow:var(--shadow); overflow:hidden;\r\n    }\r\n    #reg-repo .card .card-head{\r\n      display:flex; align-items:center; justify-content:space-between;\r\n      padding:10px 12px;\r\n      background:linear-gradient(135deg,#f7fbfa,#f1fbf8);\r\n      color:var(--brand); font-weight:600; font-size:.94rem\r\n    }\r\n    #reg-repo .card .card-body{padding:12px}\r\n    #reg-repo .elementor-shortcode > *{margin:0!important}\r\n\r\n    @media (max-width:520px){\r\n      #reg-repo .hero-inner{grid-template-columns:1fr; gap:10px}\r\n      #reg-repo .meta{margin:0; justify-content:flex-start}\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"wrap\">\r\n    <!-- HERO -->\r\n    <div class=\"hero\" role=\"banner\" aria-label=\"Encabezado del repositorio normativo\">\r\n      <div class=\"hero-inner\">\r\n        <div class=\"crest\" aria-hidden=\"true\">\r\n          <svg viewBox=\"0 0 24 24\" fill=\"none\">\r\n            <path d=\"M4.5 5.5h15v6.2c0 3.7-2.4 7.1-6 8.3l-1.5.5-1.5-.5c-3.6-1.2-6-4.6-6-8.3V5.5Z\" stroke=\"currentColor\" stroke-width=\"1.5\" \/>\r\n            <path d=\"M8.5 9.5h7M8.5 12.5h7M8.5 6.5h7\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\/>\r\n          <\/svg>\r\n        <\/div>\r\n        <div class=\"head\">\r\n          <h2 id=\"reg-repo-title\">Repositorio normativo<\/h2>\r\n        <\/div>\r\n\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Lede compacta -->\r\n    <div class=\"lede\">\r\n      <p><strong>\u00a1Bienvenido al Repositorio de la normativa de la Universidad de Oviedo!<\/strong> Desde el Consejo de Estudiantes hemos creado este espacio para que puedas encontrar todas las normas y reglamentos que necesitas conocer de manera sencilla y r\u00e1pida: desde las <strong>normas propias de la Universidad<\/strong> hasta aquellas del <strong>Principado<\/strong> o de <strong >tribunales<\/strong>, organizadas por competencias y grupos tem\u00e1ticos. Solo tienes que escribir una palabra clave o grupo de normas, y en un instante tendr\u00e1s acceso al t\u00edtulo de la normativa, un enlace directo al <strong>PDF oficial<\/strong> y un breve <strong>resumen<\/strong> que te ayudar\u00e1 a entender de qu\u00e9 se trata.<\/p>\r\n      <p>Con este repositorio tendr\u00e1s toda la informaci\u00f3n oficial a tu alcance para orientarte mejor en tu vida acad\u00e9mica y asegurarte de cumplir con lo que se exige en cada materia o tr\u00e1mite. Explora, busca y mantente siempre al d\u00eda con las \u00faltimas disposiciones.<\/p>\r\n    <\/div>\r\n\r\n    <!-- M\u00f3dulo embebido -->\r\n    <div class=\"card\" role=\"region\" aria-label=\"Buscador y listado del repositorio\">\r\n      <div class=\"card-head\">Repositorio interactivo<\/div>\r\n      <div class=\"card-body\">\r\n        <div class=\"elementor-shortcode\">        <style>\r\n            \/* ----------------------------------------\r\n               Contenedor principal\r\n            ---------------------------------------- *\/\r\n            #reg-search-container {\r\n                max-width: 900px;\r\n                margin: 2rem auto;\r\n                font-family: sans-serif;\r\n                padding: 0 1rem;\r\n            }\r\n\r\n            \/* ----------------------------------------\r\n               Formulario de b\u00fasqueda\r\n            ---------------------------------------- *\/\r\n            #reg-form {\r\n                display: flex;\r\n                flex-wrap: wrap;\r\n                gap: 0.5rem;\r\n                margin-bottom: 1rem;\r\n            }\r\n            #reg-form input,\r\n            #reg-form select,\r\n            #reg-form button {\r\n                flex: 1 1 200px;\r\n                padding: 0.5rem;\r\n                border: 1px solid #4B77AA !important;\r\n                border-radius: 4px !important;\r\n                background: #fff !important;\r\n                min-width: 0;\r\n                transition: border-color 0.2s;\r\n                box-sizing: border-box;\r\n            }\r\n            #reg-form input:focus,\r\n            #reg-form select:focus {\r\n                border-color: #03827C !important;\r\n                outline: none;\r\n            }\r\n            #reg-form button {\r\n                background: #03827C !important;\r\n                color: #fff !important;\r\n                border: none !important;\r\n                position: relative;\r\n                cursor: pointer;\r\n                transition: background 0.2s;\r\n            }\r\n            #reg-form button:hover {\r\n                background: #02736d !important;\r\n            }\r\n            #reg-form button.loading::after {\r\n                content: '';\r\n                position: absolute;\r\n                top: 50%;\r\n                left: 50%;\r\n                width: 1rem;\r\n                height: 1rem;\r\n                margin: -0.5rem 0 0 -0.5rem;\r\n                border: 2px solid #fff;\r\n                border-top-color: transparent;\r\n                border-radius: 50%;\r\n                animation: spin 0.8s linear infinite;\r\n            }\r\n            @keyframes spin { to { transform: rotate(360deg); } }\r\n\r\n            \/* ------------------------------------------------------\r\n   ESTILOS M\u00d3VIL REFORZADOS (hasta 600px de ancho)\r\n   ------------------------------------------------------ *\/\r\n@media (max-width: 600px) {\r\n  \/* 1) Eliminar cualquier flex-basis preexistente y forzar ancho completo *\/\r\n  #reg-form input,\r\n  #reg-form select,\r\n  #reg-form button {\r\n    flex: none !important;\r\n    width: 100% !important;\r\n    max-width: 100% !important;\r\n    box-sizing: border-box !important;\r\n  }\r\n\r\n  \/* 2) Altura fija y line-height para cada elemento *\/\r\n  #reg-form input,\r\n  #reg-form select {\r\n    height: 2.2rem !important;\r\n    line-height: 1.8rem !important;\r\n    padding: 0 0.5rem !important;\r\n    font-size: 0.9rem !important;\r\n    margin-bottom: 0.5rem !important;\r\n  }\r\n  #reg-form button {\r\n    height: 2.2rem !important;\r\n    line-height: 2.2rem !important;\r\n    padding: 0 0.5rem !important;\r\n    font-size: 0.9rem !important;\r\n    margin-bottom: 0.5rem !important;\r\n  }\r\n\r\n  \/* 3) Pasar el formulario a columna para que cada campo ocupe toda la anchura *\/\r\n  #reg-form {\r\n    flex-direction: column !important;\r\n    gap: 0.4rem !important;\r\n  }\r\n\r\n  \/* 4) Ajustar contenedor principal para reducir m\u00e1rgenes laterales *\/\r\n  #reg-search-container {\r\n    padding-left: 0.5rem !important;\r\n    padding-right: 0.5rem !important;\r\n  }\r\n\r\n  \/* 5) Tarjetas individuales: reducir padding y m\u00e1rgenes para adaptarse a pantalla estrecha *\/\r\n  .card,\r\n  .group-card {\r\n    padding: 0.75rem !important;\r\n    margin-bottom: 0.75rem !important;\r\n  }\r\n  .card h4,\r\n  .group-card h4 {\r\n    font-size: 1.1rem !important;\r\n    margin-bottom: 0.4rem !important;\r\n  }\r\n\r\n  \/* 6) Bot\u00f3n \u201cResumen\u201d m\u00e1s compacto *\/\r\n  .res-btn {\r\n    padding: 0.25rem 0.5rem !important;\r\n    font-size: 0.85rem !important;\r\n    margin-top: 0.3rem !important;\r\n  }\r\n\r\n  \/* 7) Contenedores de agrupaci\u00f3n de competencias: menos margen *\/\r\n  .group-container {\r\n    margin-bottom: 1rem !important;\r\n  }\r\n  .group-list {\r\n    padding: 0.8rem !important;\r\n  }\r\n\r\n  \/* 8) Ajustar la visualizaci\u00f3n de \"Consultar m\u00e1s sobre\" *\/\r\n  .consult-group {\r\n    font-size: 0.85rem !important;\r\n    margin-top: 0.4rem !important;\r\n  }\r\n  .consult-group .group-chip {\r\n    padding: 0.25rem 0.4rem !important;\r\n    font-size: 0.8rem !important;\r\n    margin-left: 0.3rem !important;\r\n  }\r\n  .consult-group .group-chip .tooltip {\r\n    font-size: 0.7rem !important;\r\n  }\r\n}\r\n\r\n            \/* ----------------------------------------\r\n               Tarjeta individual\r\n            ---------------------------------------- *\/\r\n            .card {\r\n                background: #f7faff;\r\n                border: 1px solid #e1eaff;\r\n                border-radius: 6px;\r\n                padding: 1rem;\r\n                margin-bottom: 1rem;\r\n                transition: box-shadow 0.2s, transform 0.2s;\r\n            }\r\n            .card:hover {\r\n                box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n                transform: translateY(-2px);\r\n            }\r\n            .card h4 {\r\n                margin: 0 0 0.5rem;\r\n                color: #034a6d;\r\n                font-size: 1.15rem;\r\n            }\r\n\r\n            \/* ----------------------------------------\r\n               Bot\u00f3n \u201cResumen\u201d\r\n            ---------------------------------------- *\/\r\n            .res-btn {\r\n                display: inline-flex;\r\n                align-items: center;\r\n                margin-top: 0.5rem;\r\n                padding: 0.3rem 0.6rem;\r\n                background: #02736d;\r\n                color: #fff;\r\n                border: none;\r\n                border-radius: 4px;\r\n                cursor: pointer;\r\n                font-size: 0.9rem;\r\n                transition: background 0.2s;\r\n            }\r\n            .res-btn:hover {\r\n                background: #02625a;\r\n            }\r\n            .res-content {\r\n                display: none;\r\n                margin-top: 0.5rem;\r\n                padding: 0.5rem;\r\n                background: #eaf6f6;\r\n                border-left: 4px solid #02736d;\r\n                border-radius: 0 4px 4px 0;\r\n                font-size: 0.9rem;\r\n                line-height: 1.4;\r\n            }\r\n\r\n            \/* ----------------------------------------\r\n               Enlace PDF\r\n            ---------------------------------------- *\/\r\n            .pdf-link {\r\n                margin-top: 0.8rem;\r\n                text-align: right;\r\n            }\r\n            .pdf-badge {\r\n                display: inline-flex;\r\n                align-items: center;\r\n                background: #4b77aa;\r\n                color: #fff;\r\n                font-size: 0.9rem;\r\n                text-decoration: none;\r\n                padding: 0.4rem 0.8rem;\r\n                border-radius: 4px;\r\n                transition: background 0.2s;\r\n            }\r\n            .pdf-badge:hover {\r\n                background: #3a5f8c;\r\n            }\r\n            .pdf-badge::before {\r\n                content: \"\\1F4C4\";\r\n                margin-right: 0.4rem;\r\n            }\r\n\r\n            \/* ----------------------------------------\r\n               \u201cConsultar m\u00e1s sobre:\u201d para grupos\r\n            ---------------------------------------- *\/\r\n            .consult-group {\r\n                margin-top: 0.6rem;\r\n                font-size: 0.9rem;\r\n                font-weight: 500;\r\n                color: #034a6d;\r\n            }\r\n            .consult-group .group-chip {\r\n                display: inline-flex;\r\n                align-items: center;\r\n                padding: 0.3rem 0.5rem;\r\n                background: #e0f7f4;\r\n                border-radius: 16px;\r\n                font-size: 0.85rem;\r\n                color: #02736d;\r\n                cursor: pointer;\r\n                margin-left: 0.4rem;\r\n                position: relative;\r\n            }\r\n            .consult-group .group-chip .tooltip {\r\n                visibility: hidden;\r\n                opacity: 0;\r\n                transition: visibility 0s linear 0.2s, opacity 0.2s;\r\n                position: absolute;\r\n                top: 100%;\r\n                left: 0;\r\n                background: rgba(0,0,0,0.7);\r\n                color: #fff;\r\n                padding: 0.3rem;\r\n                border-radius: 3px;\r\n                white-space: nowrap;\r\n                z-index: 10;\r\n                margin-top: 0.2rem;\r\n                font-size: 0.75rem;\r\n            }\r\n            .consult-group .group-chip:hover .tooltip {\r\n                visibility: visible;\r\n                opacity: 1;\r\n                transition-delay: 0s;\r\n            }\r\n\r\n            \/* ----------------------------------------\r\n               Agrupaci\u00f3n por competencia\r\n            ---------------------------------------- *\/\r\n            .group-container {\r\n                margin-bottom: 2rem;\r\n            }\r\n            .group-header {\r\n                background: #4b77aa;\r\n                color: #fff;\r\n                padding: 0.5rem;\r\n                border-radius: 6px 6px 0 0;\r\n            }\r\n            .group-header h3 {\r\n                margin: 0;\r\n                font-size: 1.2rem;\r\n            }\r\n            .group-desc {\r\n                background: #eef4fb;\r\n                padding: 0.5rem;\r\n                border-left: 4px solid #4b77aa;\r\n                font-size: 0.9rem;\r\n                margin-bottom: 0.8rem;\r\n            }\r\n            .group-list {\r\n                border: 1px solid #4b77aa;\r\n                border-top: none;\r\n                border-radius: 0 0 6px 6px;\r\n                padding: 1rem;\r\n            }\r\n            .group-list .group-card {\r\n                background: #ffffff;\r\n                border: 1px solid #dce6f1;\r\n                border-radius: 6px;\r\n                margin-bottom: 1rem;\r\n                padding: 1rem;\r\n                transition: box-shadow 0.2s, transform 0.2s;\r\n            }\r\n            .group-list .group-card:hover {\r\n                box-shadow: 0 4px 12px rgba(0,0,0,0.05);\r\n                transform: translateY(-2px);\r\n            }\r\n            .group-card h4 {\r\n                margin: 0 0 0.5rem;\r\n                color: #4b77aa;\r\n                font-size: 1.1rem;\r\n            }\r\n\r\n            @media (max-width: 600px) {\r\n                #reg-form {\r\n                    flex-direction: column;\r\n                }\r\n            }\r\n        <\/style>\r\n\r\n        <div id=\"reg-search-container\">\r\n            <form id=\"reg-form\">\r\n                <input type=\"text\" name=\"s\" placeholder=\"Buscar normativa\u2026\">\r\n                <select name=\"competence\">\r\n                    <option value=\"\">Todos los \u00e1mbitos<\/option>\r\n                    <option value=\"68\">Estatal<\/option><option value=\"67\">Principado de Asturias<\/option><option value=\"47\">Sentencias judiciales<\/option><option value=\"62\">Universidad de Oviedo<\/option>                <\/select>\r\n                <select name=\"group\">\r\n                    <option value=\"\">Todas las agrupaciones<\/option>\r\n                    <option value=\"92\">Abogac\u00eda y procura<\/option><option value=\"78\">Admisi\u00f3n y acceso a la Universidad<\/option><option value=\"98\">Archivo de la Universidad<\/option><option value=\"111\">Asociaciones<\/option><option value=\"72\">Becas y Ayudas<\/option><option value=\"107\">Biblioteca<\/option><option value=\"71\">Calidad y SIGC<\/option><option value=\"75\">Centros y Departamentos<\/option><option value=\"91\">Convivencia y disciplina<\/option><option value=\"89\">Derechos y deberes<\/option><option value=\"73\">Doctorado<\/option><option value=\"74\">Elecciones<\/option><option value=\"109\">Espacios universitarios<\/option><option value=\"70\">\u00c9tica y buen gobierno<\/option><option value=\"81\">Evaluaci\u00f3n<\/option><option value=\"99\">Evaluaci\u00f3n diferenciada<\/option><option value=\"94\">Evaluaci\u00f3n por compensaci\u00f3n<\/option><option value=\"97\">Extensi\u00f3n Universitaria<\/option><option value=\"108\">Fiestas universitarias<\/option><option value=\"84\">Gesti\u00f3n presupuestaria y fiscalidad<\/option><option value=\"79\">Gobierno de la Universidad<\/option><option value=\"112\">Graduaci\u00f3n<\/option><option value=\"90\">Homologaci\u00f3n<\/option><option value=\"77\">Investigaci\u00f3n<\/option><option value=\"95\">Matr\u00edcula<\/option><option value=\"106\">Movilidad<\/option><option value=\"88\">Pr\u00e1cticas externas<\/option><option value=\"110\">Presupuestos<\/option><option value=\"100\">Reconocimiento de cr\u00e9ditos<\/option><option value=\"83\">R\u00e9gimen Jur\u00eddico<\/option><option value=\"101\">Registro de la Universidad<\/option><option value=\"76\">Representaci\u00f3n estudiantil<\/option><option value=\"102\">Seguridad<\/option><option value=\"80\">Servicios de la Universidad<\/option><option value=\"93\">Suplemento Europeo al T\u00edtulo<\/option><option value=\"82\">T\u00edtulos Universitarios<\/option><option value=\"96\">Trabajo Fin de Estudios<\/option><option value=\"69\">Transparencia e informaci\u00f3n p\u00fablica<\/option>                <\/select>\r\n                <button type=\"submit\">Buscar<\/button>\r\n            <\/form>\r\n            <div id=\"reg-results\"><\/div>\r\n        <\/div>\r\n\r\n        <script>\r\n        (function($){\r\n            var $form    = $('#reg-form'),\r\n                $btn     = $form.find('button'),\r\n                $res     = $('#reg-results'),\r\n                debounce = null;\r\n\r\n            \/\/ Orden global de competencias\r\n            var compOrder = [{\"id\":62,\"name\":\"Universidad de Oviedo\",\"desc\":\"Actos de \\u00f3rganos y servicios de la Universidad.\"},{\"id\":67,\"name\":\"Principado de Asturias\",\"desc\":\"Intervenci\\u00f3n del Gobierno del Principado.\"},{\"id\":47,\"name\":\"Sentencias judiciales\",\"desc\":\"Sentencias y autos judiciales.\"},{\"id\":68,\"name\":\"Estatal\",\"desc\":\"Normativa y resoluciones del Estado.\"}];\r\n            \/\/ Orden espec\u00edfico por grupo->competencia\r\n            var groupCompOrder = {\"81\":{\"47\":[12183,12028,12240,12215,12024,12216,12045,12223],\"62\":[12459,12471,12606,12617,12768,12767,12680,12618,12655,12589,15296,12475,12453,13052,12495,13054,12455,13006,12463,13597,12594,13612],\"68\":[12715,12692]},\"94\":{\"47\":[12191,12181,11983,12174],\"62\":[12463,13597,12679,12603,12594],\"68\":[12715,12692]},\"92\":{\"47\":[12829],\"68\":[12830,12712,12711]},\"78\":{\"47\":[12030,12298,12273,12261,12175,12198,12190,12243,12194,12189,12250,12230,12200],\"62\":[12778,12444,12451,12468,12653,12973,12471,12455,13006,12594],\"68\":[12831,12697,12832,12694,12695,13767,12715,12692]},\"98\":{\"47\":[12036],\"62\":[12613,12623,12636,12640,12594]},\"72\":{\"47\":[12040,12233,12204,11980,12212],\"62\":[12833,12429,12770,13083,12594],\"68\":[12718,12733,12734,12713,12723,12714,12715,12692]},\"107\":{\"62\":[12460,12461]},\"71\":{\"47\":[12228,12029],\"62\":[12776,12478,15318,12431,12447,12625,12786,15048,12592,12594],\"67\":[12591,12742],\"68\":[13005,12708,12709,12722,12707,12706,12704,12705,12702,12699,12721,12715,12692]},\"75\":{\"47\":[12170,11982,12229,12209,12169,12286,12283,12277,12246,12245,12251,12242],\"62\":[12782,14977,13081,12496,12464,12600,12635,13715,15318,15048,12508,12478,12509,12497,12498,12435,12466,12594],\"68\":[12722,12715,12692]},\"91\":{\"47\":[12177,12183,12266,12028,12227],\"62\":[12427,12650,12474,12459,12841,12594],\"68\":[12717,12692,12715]},\"89\":{\"62\":[12459,13612,12471,12497,12498,12433,12479,12841,12455,13006,12474,12495,12481,12594],\"68\":[12715,12692]},\"73\":{\"47\":[12032,12186,12018,12176,12196],\"62\":[12779,12492,12480,12501,12785,13715,12489,12594],\"67\":[12596],\"68\":[12706,12703,12715,12692]},\"74\":{\"47\":[12251],\"62\":[14977,12633,12438,12594],\"68\":[12736,12715,12692]},\"109\":{\"62\":[13079,12509,12594]},\"70\":{\"62\":[12457,12452,12769,12590,12514,12780,12647,12594],\"67\":[12741],\"68\":[12728,12715,12692]},\"99\":{\"62\":[12459,13612,12606,12617,12767,12471,12594],\"68\":[12715]},\"97\":{\"47\":[12022],\"62\":[12437,12454,12654,12594],\"68\":[12692]},\"108\":{\"62\":[13072,13076,13074]},\"79\":{\"47\":[12182,12223],\"62\":[12472,14977,12434,12500,12497,12652,12498,12433,12484,12428,12479,12774,12773,12776,13928,12594],\"67\":[12739,12593],\"68\":[12725,12715,12692]},\"90\":{\"62\":[12594],\"68\":[12697,12708,12710,12700,12692]},\"77\":{\"47\":[12242],\"62\":[12514,12594],\"68\":[12724,12692]},\"95\":{\"47\":[12261,12198,12168,12019,12219,12253,12270,12259,12249,12231,12222,12187,12216,12226,12196,12042],\"62\":[12471,15296,12455,12506,12467,12451,12450,12431,12681,12682,12653,12499,13006,12973,12594],\"67\":[14515],\"68\":[12715,12692]},\"88\":{\"47\":[12021],\"62\":[12448,12833,12594],\"68\":[12716,12846,12715,12692]},\"84\":{\"47\":[11978,12253,12270,12259,12241,12231,12222,11984,12245,12226,12196,12022],\"62\":[12770,12469,12594],\"68\":[12738,12692]},\"100\":{\"47\":[11986,12298,12201,12224],\"62\":[12506,12467,12603,12594],\"68\":[12705,12715,12692]},\"83\":{\"47\":[12218],\"62\":[12513,12503,12633,12612,12642,12641,12608,12626,12449,12481,12594],\"67\":[12740],\"68\":[12692,12715,12720,13024,12726,12727,12693,12735,12729,12730,12732,12731,12719,12691]},\"101\":{\"62\":[12446,12597,12594]},\"76\":{\"62\":[12500,12438,12497,12498,12433,14977,12459,13083,15318,12509,12434,12782,12776,12775,12455,13715,12594],\"67\":[12739],\"68\":[12715,12714,12692]},\"102\":{\"47\":[12203,12043,12211],\"62\":[12474,12486,12511,12487,12488,12594]},\"80\":{\"47\":[12206,12281,12274],\"62\":[12488,12487,12473,12841,12504,12460,12483,12490,12777,12784,12594],\"68\":[12692]},\"93\":{\"47\":[11985,12188],\"62\":[12622,12599,12594],\"68\":[12698,12692]},\"82\":{\"47\":[12247,12029,12034],\"62\":[12428,12431,12499,12676,12766,12616,12603,12602,12622,12592,12594],\"68\":[12707,12702,12701,12692]},\"96\":{\"62\":[12450,12440,12477,12466,12435,12458,12678,12459,12429,12638,12594],\"68\":[12715,12692]},\"69\":{\"47\":[12170,11982,12229,12209,12169,12286,12283,12277,12210],\"62\":[12780,12439,12513,12612,12642,12641,12618,12637,12628,12607,12616,12626,12614,12594],\"67\":[12741],\"68\":[13024,12730,12728,12737,12729,12692]},\"110\":{\"62\":[13685,13686,13687,13688,13710,13690,13692,13693,13695,13694,13696,13697,13691,13698,13699,13700,13709,13703,13701,13702,13704,13705,12594]},\"106\":{\"62\":[12475,12462,12594]}};\r\n\r\n            function spinnerOn() {\r\n                $btn.prop('disabled', true).addClass('loading');\r\n            }\r\n            function spinnerOff() {\r\n                $btn.prop('disabled', false).removeClass('loading');\r\n            }\r\n\r\n            function sortCompKeys(keys, compMap){\r\n                var priority = compOrder.map(function(o){ return o.id; });\r\n                return keys.sort(function(a,b){\r\n                    var ia = priority.indexOf(parseInt(a)), ib = priority.indexOf(parseInt(b));\r\n                    if ( ia !== -1 || ib !== -1 ) {\r\n                        if ( ia === -1 ) return 1;\r\n                        if ( ib === -1 ) return -1;\r\n                        return ia - ib;\r\n                    }\r\n                    return compMap[a].name.localeCompare(compMap[b].name);\r\n                });\r\n            }\r\n\r\n            function render(items, groupFilter){\r\n                var html = '';\r\n\r\n                if ( groupFilter ) {\r\n                    \/\/ Agrupar por competencia\r\n                    var byComp = {}, compMap = {};\r\n                    items.forEach(function(i){\r\n                        i.competences.forEach(function(c){\r\n                            if (!byComp[c.id]) {\r\n                                byComp[c.id] = [];\r\n                                compMap[c.id] = c;\r\n                            }\r\n                            byComp[c.id].push(i);\r\n                        });\r\n                    });\r\n                    var compKeys = Object.keys(byComp);\r\n                    var sortedKeys = sortCompKeys(compKeys, compMap);\r\n                    sortedKeys.forEach(function(cid){\r\n                        var comp = compMap[cid];\r\n                        html += '<div class=\"group-container\">';\r\n                        html +=   '<div class=\"group-header\"><h3>'+comp.name+'<\/h3><\/div>';\r\n                        html +=   '<div class=\"group-desc\">'+comp.desc+'<\/div>';\r\n                        html +=   '<div class=\"group-list\">';\r\n\r\n                        \/\/ Aplicar orden por grupo->competencia\r\n                        var orderArr = [];\r\n                        if ( groupCompOrder[groupFilter] && groupCompOrder[groupFilter][cid] ) {\r\n                            orderArr = groupCompOrder[groupFilter][cid];\r\n                        }\r\n                        \/\/ Mapear items de esta competencia\r\n                        var compItems = byComp[cid];\r\n                        var mapItems  = {};\r\n                        compItems.forEach(function(it){\r\n                            mapItems[it.ID] = it;\r\n                        });\r\n                        \/\/ A\u00f1adir en el orden guardado\r\n                        orderArr.forEach(function(pid){\r\n                            if ( mapItems[pid] ) {\r\n                                var it = mapItems[pid];\r\n                                html += '<div class=\"group-card\">';\r\n                                html +=   '<h4><a href=\"'+it.pdf+'\" target=\"_blank\">'+it.title+'<\/a><\/h4>';\r\n                                html +=   '<button class=\"res-btn\">Resumen<\/button>';\r\n                                html +=   '<div class=\"res-content\">'+it.description+'<\/div>';\r\n                                if ( it.groups.length ) {\r\n                                    html += '<div class=\"consult-group\">Consultar m\u00e1s sobre:';\r\n                                    it.groups.forEach(function(g){\r\n                                        html += '<div class=\"group-chip\" data-gid=\"'+g.id+'\">';\r\n                                        html +=   g.name+'<div class=\"tooltip\">'+g.desc+'<\/div>';\r\n                                        html += '<\/div>';\r\n                                    });\r\n                                    html += '<\/div>';\r\n                                }\r\n                                html +=   '<div class=\"pdf-link\"><a class=\"pdf-badge\" href=\"'+it.pdf+'\" target=\"_blank\">Ver PDF<\/a><\/div>';\r\n                                html += '<\/div>';\r\n                                delete mapItems[pid];\r\n                            }\r\n                        });\r\n                        \/\/ A\u00f1adir restantes alfab\u00e9ticamente\r\n                        var leftovers = Object.values(mapItems);\r\n                        leftovers.sort(function(a,b){\r\n                            return a.title.localeCompare(b.title);\r\n                        });\r\n                        leftovers.forEach(function(it){\r\n                            html += '<div class=\"group-card\">';\r\n                            html +=   '<h4><a href=\"'+it.pdf+'\" target=\"_blank\">'+it.title+'<\/a><\/h4>';\r\n                            html +=   '<button class=\"res-btn\">Resumen<\/button>';\r\n                            html +=   '<div class=\"res-content\">'+it.description+'<\/div>';\r\n                            if ( it.groups.length ) {\r\n                                html += '<div class=\"consult-group\">Consultar m\u00e1s sobre:';\r\n                                it.groups.forEach(function(g){\r\n                                    html += '<div class=\"group-chip\" data-gid=\"'+g.id+'\">';\r\n                                    html +=   g.name+'<div class=\"tooltip\">'+g.desc+'<\/div>';\r\n                                    html += '<\/div>';\r\n                                });\r\n                                html += '<\/div>';\r\n                            }\r\n                            html +=   '<div class=\"pdf-link\"><a class=\"pdf-badge\" href=\"'+it.pdf+'\" target=\"_blank\">Ver PDF<\/a><\/div>';\r\n                            html += '<\/div>';\r\n                        });\r\n\r\n                        html +=   '<\/div>';\r\n                        html += '<\/div>';\r\n                    });\r\n\r\n                } else {\r\n                    \/\/ Vista individual\r\n                    items.forEach(function(i){\r\n                        html += '<div class=\"card\">';\r\n                        html +=   '<h4>'+i.title+'<\/h4>';\r\n                        html +=   '<button class=\"res-btn\">Resumen<\/button>';\r\n                        html +=   '<div class=\"res-content\">'+i.description+'<\/div>';\r\n                        if ( i.groups.length ) {\r\n                            html += '<div class=\"consult-group\">Consultar m\u00e1s sobre:';\r\n                            i.groups.forEach(function(g){\r\n                                html += '<div class=\"group-chip\" data-gid=\"'+g.id+'\">';\r\n                                html +=   g.name+'<div class=\"tooltip\">'+g.desc+'<\/div>';\r\n                                html += '<\/div>';\r\n                            });\r\n                            html += '<\/div>';\r\n                        }\r\n                        html +=   '<div class=\"pdf-link\"><a class=\"pdf-badge\" href=\"'+i.pdf+'\" target=\"_blank\">Ver PDF<\/a><\/div>';\r\n                        html += '<\/div>';\r\n                    });\r\n                }\r\n\r\n                return html;\r\n            }\r\n\r\n            function fetchTop() {\r\n                spinnerOn();\r\n                $.post('https:\/\/www.unioviedo.es\/cestudiantes\/wp-admin\/admin-ajax.php', { action:'reg_top' }, function(res){\r\n                    var title = '<h3>Lo m\u00e1s buscado<\/h3>';\r\n                    $res.html( title + render(res, 0) );\r\n                    spinnerOff();\r\n                }, 'json');\r\n            }\r\n\r\n            function doSearch() {\r\n                var data     = $form.serialize() + '&action=reg_search';\r\n                var groupVal = $form.find('[name=\"group\"]').val() || 0;\r\n                spinnerOn();\r\n                $.post('https:\/\/www.unioviedo.es\/cestudiantes\/wp-admin\/admin-ajax.php', data, function(res){\r\n                    var html = res.length\r\n                        ? render(res, groupVal)\r\n                        : '<p>No hay resultados<\/p>';\r\n                    $res.html(html);\r\n                    spinnerOff();\r\n                }, 'json');\r\n            }\r\n\r\n            $form.on('submit', function(e) {\r\n                e.preventDefault();\r\n                clearTimeout(debounce);\r\n                debounce = setTimeout(doSearch, 300); \/\/ Debounce aumentado a 300ms\r\n            });\r\n\r\n            \/\/ Click en chip de grupo para filtrar\r\n            $res.on('click', '.group-chip', function(){\r\n                var gid = $(this).data('gid');\r\n                $form.find('[name=\"group\"]').val(gid);\r\n                doSearch();\r\n            });\r\n\r\n            \/\/ Toggle de res\u00famenes\r\n            $res.on('click', '.res-btn', function(){\r\n                $(this).next('.res-content').slideToggle(200);\r\n            });\r\n\r\n            \/\/ Carga inicial\r\n            fetchTop();\r\n        })(jQuery);\r\n        <\/script>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Repositorio normativo \u00a1Bienvenido al Repositorio de la normativa de la Universidad de Oviedo! Desde el Consejo de Estudiantes hemos creado este espacio para que puedas encontrar todas las normas y reglamentos que necesitas conocer de manera sencilla y r\u00e1pida: desde las normas propias de la Universidad hasta aquellas del Principado o de tribunales, organizadas por&hellip;&nbsp;<a href=\"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/repositorio-legislacion\/\" rel=\"bookmark\">Leer m\u00e1s &raquo;<span class=\"screen-reader-text\">Repositorio legislaci\u00f3n<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/template-pagebuilder-full-width.php","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"off","neve_meta_content_width":100,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"class_list":["post-11892","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/pages\/11892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/comments?post=11892"}],"version-history":[{"count":12,"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/pages\/11892\/revisions"}],"predecessor-version":[{"id":16732,"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/pages\/11892\/revisions\/16732"}],"wp:attachment":[{"href":"https:\/\/www.unioviedo.es\/cestudiantes\/index.php\/wp-json\/wp\/v2\/media?parent=11892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}