/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/fonts.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
@import url('https://fonts.googleapis.com/css2?family=Encode+Sans:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap');
@import url("https://cdnjs.cloudflare.com/ajax/libs/tabler-icons/3.35.0/tabler-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/reset.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*,
*:before, 
*:after{
    box-sizing: border-box;
}
/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/variables.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
:root{

    /* Colors */
    --white: #fff;
    --black: #000;

    --skyblue: #1f75fe;
    --violet: #e5e9f6;
    --pink: #ef2154;
    --purple: #c13c95;
    --orange: #F45D01;
    --yellow: #EEB902;
    --green: #97CC04;

    /* Greys */
    --grey-111: #111;
    --grey-222: #222;
    --grey-333: #333;
    --grey-444: #444;
    --grey-555: #555;
    --grey-666: #666;
    --grey-777: #777;
    --grey-888: #888;
    --grey-999: #999;
    --white-aaa: #aaa;
    --white-bbb: #bbb;
    --white-ccc: #ccc;
    --white-ddd: #ddd;
    --white-eee: #eee;

    /* Blues */
    --blue-one: #005ce0;
    --blue-two: #0044c2;
    --blue-three: #002fa5;
    --blue-four: #001c89;

    /* Semantic */
    --success: var(--green);
    --error: var(--pink);
    --warning: var(--yellow);
    --info: var(--skyblue);
    --link: var(--skyblue);
    --link-hover: var(--blue-two);

    /* Pink - tints/shades */
    --pink-light: #f4658a;
    --pink-dark: #c11845;

    /* Purple - tints/shades */
    --purple-light: #d066ab;
    --purple-dark: #9c2f78;

    /* Orange - tints/shades */
    --orange-light: #f7823a;
    --orange-dark: #c34a00;

    /* Yellow - tints/shades */
    --yellow-light: #f2c93a;
    --yellow-dark: #bd9402;

    /* Green - tints/shades */
    --green-light: #b0da3e;
    --green-dark: #7aa302;

    /* Skyblue - tints/shades */
    --skyblue-light: #5a95fe;
    --skyblue-dark: #1a63d6;

    /* Overlays */
    --overlay-black-25: rgba(0,0,0,0.25);
    --overlay-black-50: rgba(0,0,0,0.5);
    --overlay-black-75: rgba(0,0,0,0.75);
    --overlay-white-25: rgba(255,255,255,0.25);
    --overlay-white-50: rgba(255,255,255,0.5);
    --overlay-white-75: rgba(255,255,255,0.75);

    /* Others */
    --transition: all 0.3s;
    --box-shadow: 0 0 6px rgba(0,0,0,0.1);
    
    /* Fonts */
    --encode: 'Encode Sans', Arial, sans-serif;
    --google: 'Google Sans Flex', Arial, sans-serif;
    --dm: 'DM Sans', Arial, sans-serif;
    --inter: 'Inter', Arial, sans-serif;

    /* Icons */
    --tabler: 'tabler-icons';

}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/shared.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
html{ scroll-behavior: smooth; }
body{ font-family: var(--inter); background: var(--violet) url("/bg-pattern.png"); background-repeat: no-repeat; background-position: center top; background-attachment: fixed; color: var(--black); }

svg{ overflow: visible; }

.content{ width: 100%; max-width: 1160px; margin: 0 auto; }
.content-wrapper{ margin-top: 70px; }

.global-content-wrapper{ min-height: 300px; }

.section-title{ font-size: 36px; font-weight: 500; letter-spacing: -1px; margin-bottom: 50px; padding: 0 10px; }

/* Page Head */
.page-head{ width: 100%; background: #00152a url("/hero-home.jpg"); background-position: top center; background-size: cover; color: var(--white); padding: 40px 0 30px; position: relative; font-family: var(--google); overflow: hidden; margin-bottom: 50px; box-shadow: var(--box-shadow); }
.page-head .content{ position: relative; }
.page-head .page-title{ font-size: 42px; font-weight: 600; letter-spacing: -1px; }
.page-head .page-title .qty{ font-size: 19px; font-weight: 500; opacity: .7; position: relative; top: -4px; }
.page-head .uy-vector{ width: 400px; height: 434px; background: url("/uy-vector.svg"); position: absolute; background-size: 100% 100%; right: 0; top: -200px; opacity: .3; }

/* Skeletons — placeholder shimmer usado mientras carga contenido real
   (listados, secciones que hacen fetch al BE, etc). Pensado para
   reemplazar el spinner de pantalla completa de abajo en los lugares
   donde ya sabemos la forma aproximada del contenido: se ve la
   estructura de la página desde el primer render, en vez de una capa
   oscura tapando todo. */
.skeleton{ position: relative; overflow: hidden; background: var(--white-eee); border-radius: 6px; color: transparent !important; pointer-events: none; }
.skeleton::after{ content: ''; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); animation: skeleton-shimmer 1.6s infinite; }
@media (prefers-reduced-motion: reduce){ 
    .skeleton::after{ animation: none; }
}

@keyframes skeleton-shimmer {
    100%{ transform: translateX(100%); }
}

/* RowsSkeleton — filas genéricas "avatar + 2 líneas" (rankings del
   home, feed de actualizaciones) */
.skeleton-rows{ list-style: none; display: flex; flex-direction: column; gap: 4px; width: 100%; }
.skeleton-rows li{ display: flex; align-items: center; padding: 6px 15px; gap: 12px; }
.skeleton-rows-avatar{ width: 40px; height: 40px; min-width: 40px; border-radius: 8px; }
.skeleton-rows-lines{ display: flex; flex-direction: column; gap: 6px; flex: 1 1; }

/* Spinner */
.spinner{ position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0,.5); z-index: 9999; display: flex; justify-content: center; align-items: center; }
.spinner .loader{ width: 48px; height: 48px; border-radius: 50%; display: inline-block; border-top: 3px solid var(--white); border-right: 3px solid transparent; box-sizing: border-box; animation: rotation 1s linear infinite; }

@keyframes rotation {
    0%{ transform: rotate(0deg); }
    100%{ transform: rotate(360deg); }
}

/* Toasts */
.toast{ position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; transition: var(--transition); opacity: 0; }
.toast.show{ opacity: 1; }
.toast .toast-message{ color: var(--white); padding: 15px 20px; border-radius: 5px; box-shadow: 0 2px 10px rgba(0,0,0,.2); font-size: 15px; }
.toast .toast-message.error{ background: #dd2222; }
.toast .toast-message.success{ background: #27ae60; }

/* Modals */
.modal{ position: fixed; background: rgba(0,0,0,.5); z-index: 99999; width: 100%; top: 0; left: 0; height: 100%; opacity: 0; visibility: hidden; transition: var(--transition); border: none; max-width: 100%; max-height: 100%; }
dialog{ opacity: 1; visibility: visible; }
.modal.show,
dialog[open]{ opacity: 1; visibility: visible; }
.modal .modal-content{ position: absolute; z-index: 9999; width: 600px; top: 50%; left: 50%; transform: translate(-50%, -50%); height: auto; border-radius: 10px; line-height: 1.4; box-shadow: var(--box-shadow); }
.modal .modal-content .modal-header{ background: #dd2222; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 15px 10px; border-radius: 5px 5px 0 0; color: var(--white); }
.modal .modal-content .modal-header .close-modal{ font-size: 22px; opacity: .8; color: var(--white); cursor: pointer; transition: var(--transition); text-decoration: none; height: 24px; width: 24px; position: absolute; top: 15px; right: 15px; }
.modal .modal-content .modal-header .close-modal:hover{ opacity: 1; }
/* Fix nuestro: ni acá ni en main el <svg> de la "X" tenía tamaño propio
   — dependía de que el botón (24x24 / 18x18 en info-modal) lo recortara,
   y nada lo recorta. Sin esto el ícono de cerrar cualquier modal del
   sitio se ve enorme/desbordado. */
.modal .modal-content .modal-header .close-modal svg{ width: 100%; height: 100%; }
.modal .modal-content .modal-header h3{ font-size: 20px; font-weight: 600; display: flex; align-items: center; font-family: var(--google); letter-spacing: 0; }
.modal .modal-content .modal-header h3 svg{ width: 18px; color: var(--white); margin-right: 10px; display: inline-block; }
.modal .modal-content .modal-body{ padding: 40px 30px; line-height: 1.6; text-align: center; background: var(--white); border-radius: 0 0 5px 5px; }
.modal .modal-content .modal-body p{ font-size: 16px; letter-spacing: 0; font-weight: normal; font-family: var(--inter); }
.modal .modal-content .modal-body .bottom-buttons{ display: flex; align-items: center; justify-content: center; margin-top: 30px; gap: 20px; }
.modal .modal-content .modal-body .bottom-buttons .button{ padding: 10px 20px 10px 15px; }
.modal .modal-content .modal-body .bottom-buttons .button:hover{ background: transparent; border-color: var(--white); color: var(--white); text-decoration: none; }
.modal .modal-content .modal-body .bottom-buttons .button.accept-button{ background: #27ae60; border-color: #27ae60; }
.modal .modal-content .modal-body .bottom-buttons .button.accept-button:hover{ background: #1b7a43; border-color: #1b7a43; }
.modal .modal-content .modal-body .bottom-buttons .button.cancel-button{ background: #dd2222; border-color: #dd2222; }
.modal .modal-content .modal-body .bottom-buttons .button.cancel-button:hover{ background: #a71a1a; border-color: #a71a1a; }
.modal .modal-content .modal-body .bottom-buttons .button svg{ width: 12px; margin-right: 5px; }

.modal.info-modal .modal-content{ background: var(--white) url("/bg-white-grey.jpg"); background-size: 1100px auto; background-position: center bottom; overflow: hidden; }
.modal.info-modal .modal-header{ font-weight: 600; background: transparent; color: var(--blue-four); padding: 0 20px; font-size: 14px; border-bottom: none; padding-top: 20px; }
.modal.info-modal .modal-header .close-modal{ color: var(--black); font-size: 18px; top: 11px; right: 14px; }
.modal.info-modal .modal-body{ text-align: left; padding: 20px; background: transparent; }
.modal.info-modal .modal-body p{ font-size: 15px; }
.modal.info-modal .modal-content .modal-header h3{ font-weight: 600; font-size: 26px; letter-spacing: -1px; }

/* Delete Password Modal */
.modal .delete-password-modal-content p{ margin-bottom: 10px; }
.modal .delete-password-modal-content input{ margin-top: 20px; }

/* Suplencias que quedarían huérfanas al borrar un rol titular */
.orphan-roles-list{ margin: 12px 0 4px; padding-left: 18px; list-style: disc; max-height: 220px; overflow-y: auto; }
.orphan-roles-list li{ margin-bottom: 6px; font-size: 14px; line-height: 1.4; }

/* Filters Bar */
.filters-bar{ width: 100%; background: var(--white) url("/bg-white.jpg"); background-size: 100% auto; background-position: center center; padding: 10px; margin-bottom: 0; z-index: 99; position: relative; box-shadow: var(--box-shadow); }
.filters-bar form{ display: flex; align-items: center; justify-content: flex-end; gap: 10px; width: 100%; }
.filters-bar input,
.filters-bar select{ width: 100%; box-shadow: none; border: 1px solid var(--white-ddd); height: 35px; font-size: 13px; padding: 0 13px; transition: var(--transition); }
.filters-bar select{ width: 200px; }
.filters-bar input:hover,
.filters-bar select:hover{ border-color: var(--grey-333); }
.filters-bar .search-bar{ position: relative; display: flex; align-items: center; }
.filters-bar .search-bar svg{ position: absolute; width: 17px; top: 9px; left: 10px; color: var(--grey-999); }
.filters-bar .search-bar input{ padding-left: 35px; width: 300px; }
.filters-bar .search-bar .button{ height: 35px; margin-left: 10px; font-size: 13px; font-weight: 600; }

/* Content Pages */
.content-page{ font-size: 17px; line-height: 1.6; padding: 30px 0 10px; }
.content-page p{ margin-bottom: 20px; }
.content-page strong{ font-weight: bold; }
.content-page a{ color: var(--blue); text-decoration: underline; transition: var(--transition); }
.content-page h3{ font-family: var(--google); color: var(--blue-four); font-weight: 600; font-size: 28px; letter-spacing: -1px; margin: 40px 0; }

/* Pagination */
.pagination{ padding: 30px 0; font-family: var(--poppins); font-size: 16px; display: flex; align-items: center; justify-content: center; font-weight: 500; }
.pagination ul{ display: flex; gap: 5px; align-items: center; }
.pagination ul li{ display: flex; width: 35px; height: 35px; }
.pagination ul li.active{ display: flex; width: 35px; height: 35px; }
.pagination ul li a{ display: flex; align-items: center; justify-content: center; text-decoration: none; width: 100%; height: 100%; background: transparent; transition: var(--transition); border-radius: 5px; color: var(--black); }
.pagination ul li span{ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: transparent; font-weight: 600; border-radius: 5px; }
.pagination ul li a:hover{ background: var(--blue-one); color: var(--white); }
.pagination ul li svg{ width: 17px; }
.pagination ul li.dots span{ color: var(--white-aaa); background: transparent; }
.pagination ul li button{ display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: transparent; border: none; cursor: pointer; transition: var(--transition); border-radius: 5px; color: var(--black); font: inherit; font-weight: 600; }
.pagination ul li button:hover:not(:disabled){ background: var(--blue-one); color: var(--white); }
.pagination ul li button:disabled{ opacity: 0.35; cursor: not-allowed; }
.pagination ul li span.disabled{ opacity: 0.35; }
.pagination ul li.active span{ background: var(--blue-one); color: var(--white); }

/* Tabs */
.tabs{ width: 100%; margin-bottom: 40px; position: relative; }
.tabs ul{ display: flex; flex-wrap: wrap; gap: 28px; max-width: 1160px; margin: 0 auto; list-style: none; padding: 0; border-bottom: 1px solid var(--white-aaa); }
.tabs ul li{ position: relative; }
.tabs ul li a{ display: inline-flex; align-items: center; padding: 14px 2px; font-size: 14px; color: var(--grey-222); font-weight: 500; font-family: var(--google); text-decoration: none; position: relative; transition: var(--transition); white-space: nowrap; }
.tabs ul li a::after{ content: ""; position: absolute; left: 50%; bottom: -1px; width: 0; height: 2px; background: var(--blue-two); transition: var(--transition); transform: translateX(-50%); }
.tabs ul li a:hover{ color: var(--blue-four); }
.tabs ul li a:hover::after{ width: 100%; }
.tabs ul li a:focus-visible{ outline: 2px solid var(--blue-two); outline-offset: 4px; }
.tabs ul li a.active{ color: var(--blue-two); font-weight: 700; }
.tabs ul li a.active::after{ width: 100%; }

/* Tooltip=s */
.tooltip{ position: relative; }
.tooltip .tooltip-content{ position: absolute; background: var(--blue-four); white-space: nowrap; color: var(--white); padding: 0; border-radius: 5px; font-size: 13px; top: 5px; right: 35px; transition: all .5s; max-width: 0; overflow: hidden; }
.tooltip:hover .tooltip-content{ max-width: 300px; }
.tooltip .tooltip-content span{ padding: 5px 5px 5px 10px; display: block; }

/* Legal Page */
.legal-page .legal-content{ line-height: 1.4; padding-bottom: 60px; }
.legal-page .legal-content p{ margin-bottom: 20px; }
.legal-page .legal-content strong{ font-weight: 600; }
.legal-page .legal-content h2{ font-size: 26px; font-weight: 600; margin-bottom: 20px; border-bottom: 1px solid var(--white-bbb); padding-bottom: 10px; font-family: var(--google); }
.legal-page .legal-content h3{ font-size: 20px; font-weight: 600; margin-bottom: 20px; border-bottom: 1px solid var(--white-bbb); padding-bottom: 10px; font-family: var(--google); }
.legal-page .legal-content ul{ list-style-type: disc; padding-left: 30px; margin-bottom: 30px; }
.legal-page .legal-content ul li{ margin-bottom: 5px; }

/* Effects */
.fade-edges{ -webkit-mask-image: linear-gradient( to bottom, transparent 0, black 40px, black calc(100% - 50px), transparent 100% ); mask-image: linear-gradient( to bottom, transparent 0, black 50px, black calc(100% - 40px), transparent 100% ); }

/* Quote */
.quote{ background: var(--blue-four); color: var(--white); padding: 80px 0; position: relative; }
.quote:before{ content: ""; background: url("/bg-blue-01.webp"); inset: 0; position: absolute; opacity: .8; }
.quote svg{ width: 50px; }
.quote .content{ position: relative; z-index: 100; }
.quote h3{ font-size: 62px; font-style: italic; letter-spacing: -1px; }
.quote strong{ font-weight: 600; }
.quote .quoter{ font-weight: 600; font-size: 14px; margin-top: 20px; opacity: .7; }

/* Form Toast */
.form-toast{ position: fixed; bottom: 20px; background: var(--white); z-index: 9999; right: 20px; padding: 20px; border-radius: 10px; font-size: 13px; display: flex; align-items: center; gap: 5px; box-shadow: var(--box-shadow); }
.form-toast svg{ width: 15px; }
.form-toast.error{ background-color: #a71a1a; color: var(--white); }
.form-toast.success{ background-color: #1b7a43; color: var(--white); }

/* Not found page */
.not-found-wrapper{ padding: 100px 0 150px; }
.not-found-wrapper .error-icon{ width: 80px; margin-bottom: 20px; }
.not-found-wrapper .content{ display: flex; flex-direction: column; align-items: center; }
.not-found-wrapper .page-title{ font-family: var(--google); font-size: 32px; margin-bottom: 20px; font-weight: 600; letter-spacing: -1px; }
.not-found-wrapper p{ margin-bottom: 15px; color: var(--grey-333); }
.not-found-wrapper .buttons-wrapper{ display: flex; gap: 10px; margin-top: 30px; }

@media screen and (max-width: 1280px){

    .content{ padding: 0 20px; }

    /* Page Head */
    .page-head .page-title{ font-size: 36px; padding: 0; }
    .page-head .page-title .qty{ font-size: 16px; top: -3px; }

}

@media screen and (max-width: 1024px){

    /* Page Head */
    .page-head{ padding: 50px 0 20px; background-size: 1200px auto; }
    .page-head .page-title{ font-size: 32px; }
    .page-head .page-title .qty{ font-size: 14px; top: -2px; }

}

@media screen and (max-width: 767px){

}

@media screen and (max-width: 540px){

}

/* Acciones del editor de ocupaciones: agregar vs. borrar todo */
.occupancies-actions{ display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 8px; }

/* Solo para lectores de pantalla.
   La clase ya se usaba en el markup (RatingSection, y ahora el esqueleto
   del listado) pero nunca había sido definida: esas etiquetas se veían
   como texto suelto en pantalla. */
.sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); -webkit-clip-path: inset(50%); clip-path: inset(50%); white-space: nowrap; border: 0; }

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/reveal.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/*Reveal animations*/
.reveal{ position: relative; transition: 1s all; opacity: 0; }
.reveal.active{ opacity: 1; }

@media screen and (min-width: 1024px){

    /*Reveal from Right*/
    .reveal.reveal-right{ transform: translateX(50px); }
    .reveal.reveal-right.active{ transform: translateX(0); }

    /*Reveal from Left*/
    .reveal.reveal-left{ transform: translateX(-50px); }
    .reveal.reveal-left.active{ transform: translateX(0); }

    /*Reveal from Bottom*/
    .reveal.reveal-bottom{ transform: translateY(50px); }
    .reveal.reveal-bottom.active{ transform: translateY(0); }

    /*Reveal from Top*/
    .reveal.reveal-top{ transform: translateY(-50px); }
    .reveal.reveal-top.active{ transform: translateY(0); }

    /*Animation duration framework*/
    .reveal.duration-100{ transition: .3s all; }
    .reveal.duration-200{ transition: .5s all; }
    .reveal.duration-300{ transition: .7s all; }
    .reveal.duration-400{ transition: .9s all; }
    .reveal.duration-500{ transition: 1.1s all; }
    .reveal.duration-600{ transition: 1.3s all; }
    .reveal.duration-700{ transition: 1.5s all; }
    .reveal.duration-800{ transition: 1.8s all; }
    .reveal.duration-900{ transition: 2s all; }

}

@media screen and (max-width: 1023px){

    /*Reveal from Right*/
    .reveal.mobile-reveal-right{ transform: translateX(50px); }
    .reveal.mobile-reveal-right.active{ transform: translateX(0); }

    /*Reveal from Left*/
    .reveal.mobile-reveal-left{ transform: translateX(-50px); }
    .reveal.mobile-reveal-left.active{ transform: translateX(0); }

    /*Reveal from Bottom*/
    .reveal.mobile-reveal-bottom{ transform: translateY(50px); }
    .reveal.mobile-reveal-bottom.active{ transform: translateY(0); }

    /*Reveal from Top*/
    .reveal.mobile-reveal-top{ transform: translateY(-50px); }
    .reveal.mobile-reveal-top.active{ transform: translateY(0); }

    /*Animation duration framework*/
    .reveal.mobile-duration-100{ transition: .3s all; }
    .reveal.mobile-duration-200{ transition: .5s all; }
    .reveal.mobile-duration-300{ transition: .7s all; }
    .reveal.mobile-duration-400{ transition: .9s all; }
    .reveal.mobile-duration-500{ transition: 1.1s all; }
    .reveal.mobile-duration-600{ transition: 1.3s all; }
    .reveal.mobile-duration-700{ transition: 1.5s all; }
    .reveal.mobile-duration-800{ transition: 1.8s all; }
    .reveal.mobile-duration-900{ transition: 2s all; }

}
/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/header.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/* Main Header */
.main-header{ width: 100%; height: 70px; position: fixed; z-index: 999; top: 0; left: 0; background: url("/bg-white-grey.jpg"); background-size: 100% auto; background-position: center center; border-bottom: 1px solid var(--white-ccc); box-shadow: var(--box-shadow); font-family: var(--google); }
.main-header .content{ height: 100%; display: flex; align-items: center; justify-content: space-between; padding-right: 30px; }
.main-header .site-logo{ display: flex; align-items: center; }
.main-header .site-logo .logo{ background: url("/vox-populi-logo.svg"); width: 239px; height: 44px; background-size: 100% 100%; display: block; }
.main-header .site-logo span{ font-size: 11px; color: var(--grey-666); font-weight: bold; line-height: 1.15; margin-left: 10px; position: relative; top: 2px; }

/* Navigation */
.main-header .navigation{ display: flex; align-items: center; justify-content: center; height: 100%; }
.main-header .navigation .nav-list{ display: flex; height: 100%; align-items: center; }
.main-header .navigation .nav-list li.label-menu-item{ height: 100%; display: flex; align-items: center; padding: 0 15px; }
.main-header .navigation .nav-list li .label-item{ font-weight: 600; display: flex; align-items: center; }
.main-header .navigation .nav-list li .label-item svg{ display: inline-block; margin-left: 7px; transition: var(--transition); width: 12px; }
.main-header .navigation .nav-list li.label-menu-item:hover .label-item{ color: var(--blue-four); }
.main-header .navigation .nav-list li.label-menu-item:hover .label-item svg{ rotate: 180deg; }
.main-header .navigation .nav-list li .sub-menu-large{ width: 100%; background: url("/bg-white-grey.jpg"); background-size: 100% auto; background-position: bottom center; position: absolute; top: 70px; left: 0; padding: 40px 0; box-shadow: var(--box-shadow); opacity: 0; visibility: hidden; transform: translateY(-10px); pointer-events: none; transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; }
.main-header .navigation .nav-list li:hover .sub-menu-large{ opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.main-header .navigation .nav-list li .sub-menu-large .content{ display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 60px; gap: 60px; align-items: flex-start; }
.main-header .navigation .nav-list li .sub-menu-large .column{ }
.main-header .navigation .nav-list li .sub-menu-large .column ul{ }
.main-header .navigation .nav-list li .sub-menu-large .column ul li.title{ font-weight: 600; font-size: 21px; border-bottom: 1px solid var(--white-ccc); padding-bottom: 10px; margin-bottom: 20px; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li{ margin-bottom: 30px; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a{ display: flex; gap: 15px; text-decoration: none; color: var(--black); transition: var(--transition); border-radius: 5px; position: relative; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .left{ width: 70px; height: 70px; min-width: 70px; background: var(--white-ccc); overflow: hidden; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .left img{ width: 100%; height: 100%; object-fit: cover; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .right{ padding-right: 40px; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .right .label{ font-weight: 600; margin-bottom: 5px; transition: var(--transition); }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .right .description{ font-size: 13px; color: var(--grey-444); line-height: 1.3; transition: var(--transition); font-family: var(--inter); }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a .right .description strong{ font-weight: 600; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a:hover{ }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a svg{ position: absolute; top: 25px; right: 0; width: 12px; opacity: .7; transition: var(--transition); }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a:hover svg{ transform: translateX(3px); opacity: 1; }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a:hover .label{ color: var(--blue-four); }
.main-header .navigation .nav-list li .sub-menu-large .column ul li a:hover .description{ color: var(--black); }
.main-header .navigation .nav-list li .sub-menu-large .column .intro-text{ padding-right: 50px; }
.main-header .navigation .nav-list li .sub-menu-large .column .intro-text .title{ font-weight: 600; font-size: 30px; margin-bottom: 15px; color: var(--blue-four); letter-spacing: -1px; }
.main-header .navigation .nav-list li .sub-menu-large .column .intro-text .description{ font-size: 13px; color: var(--grey-444); line-height: 1.5; font-family: var(--inter); }
.main-header .navigation .nav-list li .sub-menu-large .column .intro-text .description strong{ font-weight: 700; }

/* Search */
.main-header .search-bar{ height: 50px; }
.main-header .search-bar form{ height: 100%; }
.main-header .search-bar .open-search-button{ width: 30px; height: 100%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--transition); background: none; border: none; }
.main-header .search-bar .open-search-button:hover{ color: var(--blue-three); }
.main-header .search-bar .open-search-button svg{ pointer-events: none; width: 100%; }
.main-header .search-bar .search-bar-input{ opacity: 0; position: absolute; top: 0; right: 0; width: 0; height: 100%; pointer-events: none; transition: var(--transition); }
.main-header .search-bar .search-bar-input.open{ opacity: 1; width: 300px; pointer-events: auto; }
.main-header .search-bar .search-bar-input input{ width: 100%; height: 100%; border: 1px solid var(--white-eee); padding-right: 50px; }
.main-header .search-bar .search-bar-input button{ position: absolute; right: 0; top: 0; width: 60px; height: 100%; background: none; border: none; cursor: pointer; }
.main-header .search-bar .search-bar-input svg{ width: 22px; }

/* Header Right */
.main-header .header-right{ position: relative; display: flex; align-items: center; gap: 10px; height: 100%; }
.main-header .header-right > ul{ display: flex; align-items: center; justify-content: center; height: 100%; }

/* User Menu */
.main-header .user-menu{ cursor: pointer; position: relative; font-weight: normal; font-size: 14px; text-decoration: none; color: var(--black); transition: var(--transition); display: flex; align-items: center; }
.main-header .user-menu svg{ margin-right: 5px; position: relative; transition: var(--transition); width: 22px; height: 22px; }
.main-header .user-menu:hover svg{ color: var(--blue-four); }
.main-header .user-menu-wrapper:hover .user-menu{ color: var(--blue-four); }
.main-header .user-menu-wrapper:hover .user-menu svg{ color: var(--blue-four); }

/* Submenu */
.main-header .user-menu-wrapper{ height: 100%; display: flex; align-items: center; margin-right: 10px; }
.main-header .sub-menu{ position: absolute; background: var(--white); top: 60px; display: flex; flex-direction: column; justify-content: flex-start; width: 190px; left: 0; overflow: hidden; box-shadow: var(--box-shadow); max-height: 0; opacity: 0; transition: max-height 0.3s ease, opacity 0.3s ease; border: 1px solid var(--white-ccc); }
.main-header .user-menu-wrapper:hover .sub-menu{ max-height: 500px; opacity: 1; }
.main-header .sub-menu li{ display: flex; align-items: center; justify-content: flex-start; width: 100%; position: relative; }
.main-header .sub-menu li a,
.main-header .sub-menu li span{ text-align: left; display: flex; align-items: center; text-decoration: none; color: var(--black); padding: 10px 12px; white-space: nowrap; transition: var(--transition); width: 100%; font-size: 13px; cursor: pointer; font-weight: 500; }
.main-header .sub-menu li a:hover,
.main-header .sub-menu li span:hover{ background: var(--white-eee); color: var(--blue-four); }
.main-header .sub-menu li a:hover svg,
.main-header .sub-menu li span:hover svg{ color: var(--blue-four); }
.main-header .sub-menu li span:last-child{ border-bottom: none; }

.main-header .sub-menu li .arrow{ right: 10px; left: auto; width: 10px; rotate: -90deg; top: 13px; position: absolute; }

.main-header .sub-menu li.possible-duplicates .dup-badge{ position: absolute; right: 8px; display: flex; align-items: center; justify-content: center; padding: 0; width: 22px; height: 22px; font-size: 11px; background: var(--pink-dark); color: var(--white); }

.main-header .sub-menu .header-user-divider{ border-bottom: 1px solid var(--white-ccc); }

/* Notifications */
.main-header .notif-bell{ position: relative; height: 100%; display: flex; align-items: center; }
.main-header .notif-bell-btn{ position: relative; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; font-size: 22px; color: var(--black); border-radius: 50%; transition: var(--transition); }
.main-header .notif-bell-btn:hover{ background: var(--violet); color: var(--blue-three); }
.main-header .notif-bell-btn svg{ width: 21px; }
.main-header .notif-badge{ position: absolute; top: 4px; right: 4px; background: var(--pink); color: var(--white); font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 0 3px; line-height: 1; }
.main-header .notif-panel{ position: absolute; top: calc(100% - 5px); right: 0; width: 320px; background: var(--white); border: 1px solid var(--white-ccc); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12); z-index: 200; overflow: hidden; }
.main-header .notif-panel-header{ display: flex; justify-content: space-between; align-items: center; padding: 14px 16px 10px; font-family: var(--google); font-size: 14px; font-weight: 600; color: var(--blue-four); border-bottom: 1px solid var(--white-eee); }
.main-header .notif-clear-btn{ font-size: 12px; color: var(--grey-666); background: none; border: none; cursor: pointer; text-decoration: underline; transition: var(--transition); }
.main-header .notif-clear-btn:hover{ color: var(--blue-two); }
.main-header .notif-empty{ padding: 24px 16px; text-align: center; font-size: 13px; color: var(--grey-888); }
.main-header .notif-list{ list-style: none; padding: 6px 0; margin: 0; max-height: 340px; overflow-y: auto; }
.main-header .notif-item{ display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--white-eee); transition: background var(--transition); }
.main-header .notif-item:last-child{ border-bottom: none; }
.main-header .notif-item.unread{ background: #f0f4ff; }
.main-header .notif-item:hover{ background: var(--violet); }
.main-header .notif-icon{ font-size: 18px; color: var(--blue-three); flex-shrink: 0; margin-top: 1px; }
.main-header .notif-content{ flex: 1 1; min-width: 0; }
.main-header .notif-message{ font-size: 13px; color: var(--grey-222); line-height: 1.4; margin-bottom: 3px; font-family: var(--inter); }
.main-header .notif-time{ font-size: 11px !important; color: var(--grey-999); font-weight: 300 !important; padding: 0 !important; margin-top: 5px; }
.main-header .notif-time:before{ display: none; }

@media screen and (max-width: 1280px){

}

@media screen and (max-width: 1024px){

}

@media screen and (max-width: 767px){

}

@media screen and (max-width: 540px){

}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/footer.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
.main-footer{ font-size: 15px; background: var(--black) url("/bg-black.jpg"); background-size: cover; background-position: center center; color: var(--white); padding: 80px 0 0; box-shadow: var(--box-shadow); }
.main-footer .content{ display: flex; justify-content: flex-end; align-items: center; position: relative; flex-wrap: wrap; }
.main-footer .logo{ width: 250px; position: absolute; top: 0; left: 0; opacity: .7; }

.main-footer .columns{ width: 600px; display: flex; justify-content: space-between; padding-top: 10px; }

.main-footer .title{ font-weight: 600; font-family: var(--google); font-size: 19px; margin-bottom: 15px; display: block; color: var(--green); }
.main-footer .title.separator{ margin-top: 40px; }

.main-footer .menu{ }
.main-footer .menu li{ }
.main-footer .menu li a,
.main-footer .menu li span{ color: var(--white-bbb); text-decoration: none; display: inline-block; padding: 8px 0; cursor: pointer; transition: var(--transition); }
.main-footer .menu li a:hover,
.main-footer .menu li span:hover{ color: var(--white); }

.main-footer .post-footer{ width: 100%; padding: 30px 0; margin-top: 80px; background: var(--black); font-family: var(--google); border-top: 1px solid var(--grey-222); }
.main-footer .post-footer .content{ display: flex; justify-content: space-between; align-items: center; opacity: .7; font-weight: 200; font-size: 13px; }
.main-footer .post-footer nav{ }
.main-footer .post-footer nav ul{ display: flex; gap: 30px; }
.main-footer .post-footer nav ul li a{ color: var(--white); opacity: .7; text-decoration: none; transition: var(--transition); }
.main-footer .post-footer nav ul li a:hover{ opacity: 1; }

@media screen and (max-width: 1280px){

}

@media screen and (max-width: 1024px){

    .main-footer{ padding: 60px 0 0; }
    .main-footer .content{ justify-content: flex-start; }

    .main-footer .columns{ flex-direction: column; width: 100%; gap: 30px; }
    .main-footer .logo{ width: 210px; top: 0; left: 0; position: relative; margin-bottom: 40px; }

    .main-footer .title.separator{ margin-top: 30px; }

    .main-footer .post-footer{ margin-top: 50px; }

}

@media screen and (max-width: 767px){

}

@media screen and (max-width: 540px){

}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/inputs.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
input,
select,
textarea{ border: none; border-radius: 5px; font-family: var(--inter); background: var(--white); color: var(--black); padding: 0 18px; height: 48px; outline: none; font-size: 15px; box-shadow: var(--box-shadow); width: 100%; }

input:focus,
select:focus,
textarea:focus{ outline: none; }

/* Placeholders */
input::placeholder,
textarea::placeholder{ color: var(--grey-999); }

/* Select */
.select-wrapper{ position: relative; display: flex; align-items: center; }
.select-wrapper label{ margin-right: 15px; }
.select-wrapper .selector{ position: relative; width: 100%; }
.select-wrapper .selector svg{ position: absolute; top: 13px; right: 10px; z-index: 10; width: 10px; }
.select-wrapper .selector select{ -moz-appearance: none; -webkit-appearance: none; appearance: none; cursor: pointer; }

/* Switch */
.switch{ position: relative; display: inline-block; width: 40px; height: 20px; }
.switch input{ opacity: 0; width: 0; height: 0; }
.switch .slider{ position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 26px; }
.switch .slider:hover{ background-color: var(--white); }
.switch .slider:before{ position: absolute; content: ""; height: 18px; width: 18px; border-radius: 50%; left: 2px; top: 1px; background-color: black; transition: 0.4s; }
.switch input:checked + .slider{ background-color: var(--yellow); }
.switch input:checked + .slider:before{ transform: translateX(calc(40px - 18px - 4px)); }

/*Checkbox*/
.checkbox{ width: auto; position: relative; cursor: pointer; display: flex; align-items: center; }
.checkbox input[type="checkbox"]{ opacity: 0; position: absolute; left: 0; top: 7px; margin: 0; z-index: 1; cursor: pointer; width: 18px; height: 18px; }
.checkbox .checkbox-check{ position: relative; top: -1px; background: var(--white); border: 1px solid var(--grey-999); border-radius: 3px; display: inline-block; vertical-align: bottom; margin-right: 5px; width: 18px; height: 18px; }
.checkbox input[type="checkbox"]:checked + span:after{ content: '\ea5e'; font-family: var(--tabler); display: flex; align-items: center; justify-content: center; position: absolute; top: 1px; left: 1px; bottom: 0; margin: 0; width: 13px; height: 13px; color: var(--white); }
.checkbox input[type="checkbox"]:checked + span{ background: var(--blue-one); border-color: var(--blue-one); }
.checkbox .checkbox-label{ display: inline-block; padding-left: 5px; }

/* Highighted */
.highlighted{ border: 1px solid var(--black); }

/*!*********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/buttons.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************/
button{ border: none; background: none; outline: none; cursor: pointer; font-family: var(--inter); }

.button{ background: var(--blue-two); border: 1px solid var(--blue-two); color: var(--white); text-decoration: none; padding: 10px 17px; display: inline-flex; transition: var(--transition); position: relative; font-size: 15px; font-weight: 500; border-radius: 5px; align-items: center; line-height: 1; font-family: var(--inter); }
.button:hover{ background: var(--blue-three); border-color: var(--blue-three); }

/* Reverse */
.button.reverse{ background: var(--blue-three); border-color: var(--blue-three); color: var(--white); transition: var(--transition); }
.button.reverse:hover{ color: var(--blue-two); }

/* Border White */
.button.border-white{ background: transparent; color: var(--white); border-color: var(--white); }
.button.border-white:hover{ background: var(--blue-two); border-color: var(--blue-two); }

/* Arrowed */
.button.arrowed{ padding-right: 26px; padding: 13px 18px 13px 25px; }
.button.arrowed i{ font-size: 15px; margin-left: 5px; transition: var(--transition); position: relative; top: 1px; }
.button.arrowed:hover i{ transform: translateX(2px); }
.button.arrowed svg{ width: 11px; margin-left: 8px; transition: var(--transition); position: relative; }
.button.arrowed:hover svg{ transform: translateX(2px); }

/* Iconized */
.button.iconized{ padding-right: 26px; padding: 13px 20px 13px 40px; }
.button.iconized i{ font-size: 18px; margin-right: 5px; transition: var(--transition); position: absolute; left: 15px; }
.button.iconized svg{ width: 18px; margin-right: 5px; transition: var(--transition); position: absolute; left: 15px; top: 10px; }

/* Delete */
.delete-button{ background: #f33; color: var(--white); border-color: #f33; }
.delete-button:hover{ background: #d22; border-color: #d22; }

/* Hover Transparent White */
.hover-transparent-white:hover{ background: transparent; border: 1px solid var(--white); }

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/rating.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
/*Rating Section*/
.rating-section{ padding-bottom: 50px; }

/*Stats*/
.rating-stats{ margin-bottom: 20px; border-bottom: 1px solid var(--white-ccc); padding-bottom: 10px; }
.rating-stats .stats-header{ display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.rating-stats .average-score{ font-size: 48px; font-weight: 600; color: var(--blue-two); line-height: 1; font-family: var(--google); margin-bottom: 5px; }
.rating-stats .average-stars{ display: flex; gap: 3px; margin-bottom: 5px; }
.rating-stats .average-stars .star{ font-size: 20px; color: var(--yellow); }
.rating-stats .average-stars .star.empty{ color: var(--white-aaa); }
.rating-stats .average-stars .star svg{ width: 15px; }
.rating-stats .vote-count{ font-size: 14px; color: var(--grey-666); }
.rating-stats .distribution{ display: flex; flex-direction: column; gap: 6px; flex: 1 1; }
.rating-stats .distribution-row{ display: flex; align-items: center; gap: 10px; font-size: 13px; }
.rating-stats .distribution-row .label{ width: 25px; text-align: right; color: var(--grey-555); flex-shrink: 0; display: flex; justify-content: space-between; }
.rating-stats .distribution-row .label svg{ width: 10px; color: var(--white-aaa); }
.rating-stats .distribution-row .bar-track{ flex: 1 1; height: 8px; background: var(--white-ccc); border-radius: 4px; overflow: hidden; }
.rating-stats .distribution-row .bar-fill{ height: 100%; background: var(--blue-one); border-radius: 4px; transition: width 0.4s ease; min-width: 0; }
.rating-stats .distribution-row .count{ width: 24px; color: var(--grey-777); flex-shrink: 0; }

/*Gate Messages*/
.rating-gate{ display: flex; align-items: center; justify-content: center; text-align: center; gap: 20px; padding: 30px 20px; background: var(--white) url("/bg-white-grey.jpg"); background-size: 100% auto; background-repeat: no-repeat; background-position: center center; box-shadow: var(--box-shadow); border-radius: 10px; position: relative; overflow: hidden; margin-bottom: 10px; }
.rating-gate svg{ width: 42px; }
.rating-gate .gate-text strong{ display: block; font-size: 32px; font-weight: 600; font-family: var(--google); letter-spacing: -1px; margin-bottom: 5px; }
.rating-gate .gate-text p{ font-size: 14px; color: var(--grey-555); line-height: 1.4; }
.rating-gate .gate-text a{ color: var(--blue-two); font-weight: 600; text-decoration: none; transition: var(--transition); }
.rating-gate .gate-text a:hover{ color: var(--blue-four); text-decoration: underline; }

/*Form*/
.rating-form-wrapper{ }
.rating-form-wrapper .calification-header{ display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; }
.rating-form-wrapper .calification-header .form-title{ font-size: 14px; font-weight: 600; color: var(--black); display: flex; align-items: center; gap: 8px; }
.rating-form-wrapper .calification-header .form-title i{ font-size: 18px; color: var(--grey-333); }
.star-picker{ display: flex; }
.star-picker .star-btn{ width: 42px; cursor: pointer; color: var(--white-aaa); transition: color 0.15s, transform 0.1s; line-height: 1; -webkit-user-select: none; -moz-user-select: none; user-select: none; }
.star-picker .star-btn.active{ color: var(--yellow); }
.star-picker .star-btn.hover{ color: var(--yellow); }
.star-picker .star-btn:hover{ transform: scale(1.15); }
.rating-form-wrapper .comment-label{ display: block; font-size: 14px; font-weight: 500; color: var(--grey-444); margin-bottom: 12px; }
.rating-form-wrapper .comment-field{ width: 100%; height: auto; padding: 15px; resize: vertical; min-height: 120px; font-size: 14px; }
.rating-form-wrapper .char-count{ font-size: 12px; color: var(--grey-888); text-align: right; margin-top: 8px; }
.rating-form-wrapper .char-count.near-limit{ color: var(--orange); }
.rating-form-wrapper .char-count.over-limit{ color: #dd2222; font-weight: 500; }
.rating-form-wrapper .form-actions{ display: flex; align-items: center; gap: 12px; margin-top: 18px; }
.rating-form-wrapper .form-actions .send-button i{ margin-right: 6px; }
.rating-form-wrapper .form-actions .send-button.incomplete{ opacity: 0.55; cursor: not-allowed; }

@keyframes vp-shake{
  10%,
  90%{ transform: translateX(-1px); }
  20%,
  80%{ transform: translateX(2px); }
  30%,
  50%,
  70%{ transform: translateX(-4px); }
  40%,
  60%{ transform: translateX(4px); }
}
.rating-form-wrapper .shake,
.shake{ animation: vp-shake 0.5s cubic-bezier(.36,.07,.19,.97) both; }
.rating-form-wrapper .delete-link{ font-size: 13px; color: var(--grey-666); cursor: pointer; transition: var(--transition); background: none; border: none; }
.rating-form-wrapper .delete-link:hover{ color: #dd2222; }
.rating-form-wrapper .form-toast{ margin-top: 14px; font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.rating-form-wrapper .form-toast.success{ color: #088408; }
.rating-form-wrapper .form-toast.error{ color: #dd2222; }

/*Admin User Validation*/
.admin-users-page .section-title{ font-size: 26px; font-weight: 600; margin-bottom: 20px; padding: 0 0 10px 0; border-bottom: 1px solid var(--white-bbb); color: var(--blue-four); display: flex; align-items: center; gap: 6px; }
.admin-users-page .section-title svg{ width: 30px; }
.pending-count{ font-size: 14px; font-weight: 400; color: var(--grey-666); margin-bottom: 20px; line-height: 1.3; }

/* User List */
.users-list{ list-style: none; margin: 0 0 50px; padding: 0; width: 100%; background: var(--white); border-radius: 10px; box-shadow: var(--box-shadow); overflow: hidden; font-size: 14px; }

.users-list .users-list-header{ display: flex; align-items: center; background: var(--blue-four); color: var(--white); padding: 14px 16px; }
.users-list .users-list-header span{ font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }

.users-list .users-list-row{ display: flex; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--white-eee); transition: background var(--transition); }
.users-list .users-list-row:last-child{ border-bottom: none; }
.users-list .users-list-row span{ color: var(--grey-222); line-height: 1.3; }

/* Columnas: tabla Comisiones */
.users-list .col-name{ flex: 2 1; }
.users-list .col-chamber{ flex: 1 1; }
.users-list .col-type{ flex: 1 1; }
.users-list .col-members{ flex: 1 1; }

/* Columnas: tabla Members */
.users-list .col-id{ flex: 1.2 1; }
.users-list .col-politico{ flex: 2 1; }
.users-list .col-rol{ flex: 1 1; }
.users-list .col-cargo{ flex: 1.5 1; }
.users-list .col-titular{ flex: 0.8 1; text-align: center; }
.users-list .col-desde{ flex: 1 1; }
.users-list .col-hasta{ flex: 1 1; }
.users-list .col-sustituye{ flex: 1.5 1; }

/* Columnas: tabla Users */
.users-list .col-nombre{ flex: 2 1; }
.users-list .col-credencial{ flex: 1.5 1; }
.users-list .col-nacimiento{ flex: 1.5 1; }
.users-list .col-registrado{ flex: 1 1; }

/* Columna compartida por las 3 tablas */
.users-list .col-actions{ flex: 1 1; text-align: right; white-space: nowrap; }

.users-list .users-list-row .credential-cell{ font-weight: 600; letter-spacing: 0.03em; }
.users-list .users-list-row .date-cell{ color: var(--grey-555); white-space: nowrap; }
.users-list .users-list-row input[type="checkbox"]{ width: 15px; height: 15px; }

.users-list .users-list-row select,
.users-list .users-list-row input[type="date"],
.users-list .users-list-row input[type="number"]{ max-width: 60%; }

.users-list .users-list-row:has(.col-politico) select,
.users-list .users-list-row:has(.col-politico) input[type="date"],
.users-list .users-list-row:has(.col-politico) input[type="number"]{ padding: 4px 6px; font-size: 13px; height: 30px; line-height: 1.2; }

.users-list .users-list-row:has(.col-politico) input[type="checkbox"]{ width: 15px; height: 15px; }

.users-list .users-list-row:has(.col-politico) .substitute-selector{ min-width: 0 !important; }
.users-list .users-list-row:has(.col-politico) .substitute-input{ padding: 4px 6px; font-size: 13px; height: 30px; line-height: 1.2; width: 100%; }
.users-list .users-list-row:has(.col-politico) .substitute-label{ font-size: 11px; }

.substitute-search{ position: relative; }
.substitute-dropdown{ list-style: none; margin: 4px 0 0; padding: 4px 0; position: absolute; top: 100%; left: 0; right: 0; background: var(--white); border: 1px solid var(--white-eee); border-radius: 8px; box-shadow: var(--box-shadow); max-height: 220px; overflow-y: auto; z-index: 10; }
.substitute-dropdown li{ padding: 8px 12px; font-size: 13px; color: var(--grey-222); cursor: pointer; white-space: nowrap; }
.substitute-dropdown li:hover{ background: var(--white-eee); }

.commisions-edit-page .bottom-buttons{ display: flex; gap: 10px; align-items: center; justify-content: flex-end; margin-bottom: 80px; }

/* Validate Button */
.validate-button{ background: #27ae60; border: 1px solid #27ae60; color: var(--white); padding: 5px 12px; border-radius: 5px; font-size: 13px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: var(--transition); }
.validate-button svg{ width: 10px; }

.admin-section .spinner{ background: transparent; }
.admin-section .spinner .loader,
.mod-wrapper.spinner .loader{ border-color: var(--blue-one); }

/* Comissions */
.comissions-wrapper .content{ padding: 0 5px; }
.comissions-wrapper .pending-count{ display: flex; align-items: center; margin-bottom: 30px; }
.comissions-wrapper .pending-count svg{ width: 35px; margin-right: 10px; }

/* Moderation Queue */
.mod-wrapper{ padding: 10px 5px 60px; }
.mod-wrapper .mod-queue-card{ background: var(--white); margin-bottom: 15px; padding: 0; border-radius: 10px; box-shadow: var(--box-shadow); }
.mod-wrapper .small-title{ font-family: var(--google); margin-bottom: 30px; font-weight: 600; font-size: 28px; letter-spacing: -1px; display: flex; gap: 5px; align-items: center; }
.mod-wrapper .small-title .comments-count{ font-family: var(--inter); font-size: 22px; font-weight: normal; }
.mod-wrapper .mod-queue-meta{ display: flex; gap: 10px; border-bottom: 1px solid var(--white-ccc); padding-bottom: 10px; padding: 15px; }
.mod-wrapper .mod-queue-meta .rc-badge{ background: var(--blue-two); color: var(--white); padding: 5px 9px; font-size: 12px; border-radius: 50px; font-weight: 600; }
.mod-wrapper .mod-queue-meta .rc-badge.major{ background: var(--pink); }

.mod-wrapper .rc-politic-meta{ display: flex; align-items: center; gap: 20px; }
.mod-wrapper .rc-politic-meta .rc-politic-name{ font-size: 14px; }
.mod-wrapper .rc-politic-meta .rc-politic-name a{ color: var(--blue-one); text-decoration: none; font-weight: 600; transition: var(--transition); }
.mod-wrapper .rc-politic-meta .rc-politic-name svg{ width: 11px; rotate: -90deg; position: relative; top: 1px; }
.mod-wrapper .rc-politic-meta .rc-politic-name a:hover{ color: var(--black); }
.mod-wrapper .rc-politic-meta .rc-date{ font-size: 12px; font-family: var(--google); color: var(--grey-444); }
.mod-wrapper .rc-politic-meta .rc-star-rating{ gap: 2px; display: flex; }
.mod-wrapper .rc-politic-meta .rc-star-rating svg{ width: 13px; }

.mod-wrapper .rc-comment-box{ padding: 15px; }
.mod-wrapper .rc-comment-content{ font-size: 14px; line-height: 1.5; padding: 10px 0 0; }

.mod-wrapper .rc-deleted-notice{ display: flex; gap: 10px; font-size: 14px; align-items: center; font-weight: 600; }
.mod-wrapper .rc-deleted-notice svg{ width: 20px; }
.mod-wrapper .rc-actions{ display: flex; gap: 10px; border-top: 1px solid var(--white-ccc); padding: 15px; }
.mod-wrapper .rc-mod-btn{ padding: 6px 12px; background: none; border: 1px solid var(--blue-four); color: var(--blue-four); border-radius: 5px; font-size: 13px; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 5px; }
.mod-wrapper .rc-mod-btn:hover:not(:disabled){ background: var(--blue-four); color: var(--white); }
.mod-wrapper .rc-mod-btn:disabled{ opacity: 0.6; cursor: not-allowed; }
.mod-wrapper .rc-mod-btn.accept{ border-color: #1b7a43; color: #1b7a43; }
.mod-wrapper .rc-mod-btn.accept:hover:not(:disabled){ background: #1b7a43; color: var(--white); }
.mod-wrapper .rc-mod-btn.warn{ border-color: #d68910; color: #d68910; }
.mod-wrapper .rc-mod-btn.warn:hover:not(:disabled){ background: #d68910; color: var(--white); }
.mod-wrapper .rc-mod-btn.danger{ border-color: #f33; color: #f33; }
.mod-wrapper .rc-mod-btn.danger:hover:not(:disabled){ background: #f33; color: var(--white); }
.mod-wrapper .rc-mod-btn svg{ width: 15px; }

.mod-wrapper .rc-label{ padding: 6px 12px; background: none; border: 1px solid var(--blue-four); color: var(--blue-four); border-radius: 5px; font-size: 13px; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 5px; }
.mod-wrapper .rc-label svg{ width: 15px; }
.mod-wrapper .rc-label.warn{ border-color: #d68910; background: #d68910; color: var(--white); }

.validate-button i{ font-size: 16px; }
.validate-button:hover{ background: #1b7a43; border-color: #1b7a43; }
.validate-button:disabled{ opacity: 0.6; cursor: not-allowed; }
.users-empty{ text-align: center; padding: 60px 20px; color: var(--grey-666); }
.users-empty svg{ width: 70px; display: block; margin-bottom: 15px; color: var(--grey-999); margin: 0 auto 20px; }
.users-pagination{ display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 30px; font-size: 14px; color: var(--grey-555); }
.users-pagination .pag-btn{ padding: 8px 16px; border-radius: 5px; border: 1px solid var(--white-bbb); background: var(--white); cursor: pointer; transition: var(--transition); font-size: 14px; }
.users-pagination .pag-btn:hover:not(:disabled){ background: var(--blue-four); color: var(--white); border-color: var(--blue-four); }
.users-pagination .pag-btn:disabled{ opacity: 0.4; cursor: not-allowed; }

/* Mis calificaciones */
.mis-calificaciones-page .mc-list{ margin: 70px 0 80px; }
.mis-calificaciones-page .mc-list .mc-left-column{ display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; width: 35%; min-width: 35%; }
.mis-calificaciones-page .mc-list .mc-row{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px; background: var(--white); margin-bottom: 15px; border-radius: 10px; box-shadow: var(--box-shadow); }

.mis-calificaciones-page .mc-list .mc-row .mc-rating-data{ display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.mis-calificaciones-page .mc-list .mc-row .mc-rating-data .mc-date{ font-size: 13px; color: var(--grey-222); }
.mis-calificaciones-page .mc-list .mc-row .mc-rating-data .mc-stars{ display: flex; gap: 2px; color: var(--yellow ); min-width: 120px; }
.mis-calificaciones-page .mc-list .mc-row .mc-rating-data .mc-stars svg{ width: 10px; }

.mis-calificaciones-page .mc-list .mc-row .mc-politician{ display: flex; flex-direction: column; align-items: flex-start; }
.mis-calificaciones-page .mc-list .mc-row .mc-politician .politician-data{ display: flex; flex-direction: column; min-width: 260px; }
.mis-calificaciones-page .mc-list .mc-row .mc-politician .politician-data .mc-role{ font-size: 13px; margin-top: 5px; }
.mis-calificaciones-page .mc-list .mc-row .mc-politician .mc-politician-link{ text-decoration: none; color: var(--blue-one); font-weight: 600; transition: var(--transition); outline: none; }
.mis-calificaciones-page .mc-list .mc-row .mc-politician .mc-politician-link svg{ margin-left: 3px; width: 12px; position: relative; top: 1px; rotate: -90deg; }
.mis-calificaciones-page .mc-list .mc-row .mc-politician .mc-politician-link:hover{ color: var(--blue-two); }

.mis-calificaciones-page .mc-list .mc-row .mc-comment{ width: 40%; color: var(--grey-222); font-size: 15px; line-height: 1.3; font-weight: 400; }
.mis-calificaciones-page .mc-list .mc-row .mc-comment .mc-comment-text{ white-space: pre-line; margin: 0; }
.mis-calificaciones-page .mc-list .mc-row .mc-comment .mc-deleted-notice{ font-weight: 500; }
.mis-calificaciones-page .mc-list .mc-row .mc-comment .mc-deleted-notice i{ margin-right: 5px; }

.mis-calificaciones-page .mc-list .mc-row .mc-actions{ display: flex; gap: 10px; }
.mis-calificaciones-page .mc-list .mc-row .mc-actions .button{ padding: 8px 12px; font-size: 13px; }
.mis-calificaciones-page .mc-list .mc-row .mc-actions .button svg{ margin-right: 5px; width: 15px; top: 0; position: relative; }

/* Promote users */
.promote-search-form{ display: flex; gap: 10px; margin-bottom: 80px; }

/*Comments List*/
.rating-comments-list{ margin-top: 60px; }
.rating-comments-list .comments-list-head{ display: flex; justify-content: space-between; width: 100%; }
.rating-comments-list .comments-list-head .comments-list-title{ font-size: 28px; font-weight: 600; color: var(--black); margin-bottom: 30px; display: flex; align-items: center; gap: 10px; font-family: var(--google); letter-spacing: -1px; }
.rating-comments-list .comments-list-head .comments-sort{ display: flex; margin-bottom: 20px; justify-content: flex-end; align-items: center; gap: 10px; font-size: 14px; }
.rating-comments-list .comments-list-head .comments-sort select{ width: 160px; font-size: 14px; padding: 10px; height: auto; cursor: pointer; }

/*Rating Card*/
.rating-card{ background: var(--white); border-radius: 10px; padding: 16px; margin-bottom: 16px; box-shadow: var(--box-shadow); transition: var(--transition); border-left: 4px solid transparent; position: relative; }
.rating-card.rc-deleted{ opacity: .5; }
.rating-card.rc-hidden{ opacity: .5; }
.rating-card.rc-major-flag{ border-left-color: #e74c3c; background: #fef5f5; }
.rating-card .rc-header{ display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.rating-card .rc-initials{ display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--blue-two); color: var(--white); font-weight: 600; font-size: 14px; flex-shrink: 0; }
.rating-card .rc-stars{ }
.rating-card .rc-stars .rc-star{ display: inline-flex; align-items: center; justify-content: center; }
.rating-card .rc-stars .rc-star i{ font-size: 16px; color: var(--white-ccc); transition: color var(--transition); }
.rating-card .rc-stars .rc-star.active i{ color: var(--yellow); }
.rating-card .rc-date{ font-size: 12px; color: var(--grey-666); margin-left: auto; white-space: nowrap; font-family: var(--google); font-weight: 400; }
.rating-card .rc-badge{ display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.rating-card .rc-badge svg{ width: 10px; }
.rating-card .rc-badge.major{ background: #ffe0e0; color: #c0392b; }
.rating-card .rc-badge.hidden{ background: var(--pink); color: var(--white); }
.rating-card .rc-badge.flagged{ background: #fef3e0; color: #d68910; }
.rating-card .rc-body{ margin-bottom: 12px; }
.rating-card .rc-deleted-notice{ display: flex; align-items: center; gap: 8px; color: var(--grey-333); font-style: italic; font-size: 14px; font-weight: 500; padding: 10px 5px 0; }
.rating-card .rc-deleted-notice svg{ width: 18px; }
.rating-card .rc-suppressed{ }
.rating-card .rc-suppressed-label{ display: flex; align-items: center; gap: 8px; color: var(--grey-777); font-size: 14px; }
.rating-card .rc-suppressed-label svg{ width: 18px; }
.rating-card .rc-reveal-btn{ margin-top: 10px; padding: 8px 14px; background: var(--blue-two); color: var(--white); border: none; border-radius: 6px; font-size: 13px; font-weight: 500; cursor: pointer; transition: var(--transition); }
.rating-card .rc-reveal-btn:hover{ background: var(--blue-four); }
.rating-card .rc-comment{ font-size: 15px; color: var(--grey-333); line-height: 1.5; margin: 0; white-space: pre-line; }
.rating-card .rc-actions{ display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 25px; justify-content: space-between; }
.rating-card .rc-mod-actions{ display: flex; gap: 10px; }

/* Vote Buttons */
.rating-card .rc-vote-buttons{ display: flex; align-items: center; gap: 6px; }
.rating-card .rc-vote-btn{ padding: 6px 10px; background: none; border: 1px solid var(--white-bbb); color: var(--grey-555); border-radius: 5px; font-size: 13px; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 5px; }
.rating-card .rc-vote-btn svg{ width: 15px; }
.rating-card .rc-vote-btn:hover:not(:disabled){ border-color: var(--blue-four); color: var(--blue-four); }
.rating-card .rc-vote-btn:disabled{ opacity: 0.6; cursor: not-allowed; }
.rating-card .rc-vote-btn.like.active{ border-color: #27ae60; color: #27ae60; background: #eafaf1; }
.rating-card .rc-vote-btn.dislike.active{ border-color: #dd2222; color: #dd2222; background: #fdecea; }
.rating-card .rc-vote-total{ font-size: 12px; color: var(--grey-777); margin-left: 2px; }

/* Mod Flag Reason */
.mod-flag-reasons{ font-size: 13px; color: var(--grey-777); margin: 4px 0; }
.mod-flag-reasons ul{ margin: 0; padding-left: 18px; }
.mod-flag-reasons .mod-flag-details{ font-style: italic; color: var(--grey-555); }

/* Hidden Summary */
.rating-hidden-summary{ display: flex; align-items: center; gap: 8px; justify-content: center; color: var(--grey-777); font-size: 14px; padding: 18px 0 6px; }
.rating-hidden-summary svg{ width: 16px; }
.rating-hidden-summary a{ color: var(--blue-two); font-weight: 600; text-decoration: none; }
.rating-hidden-summary a:hover{ color: var(--blue-four); text-decoration: underline; }

/* Report Modal */
.modal.report-modal .modal-content{ background: var(--white); }
.modal.report-modal .modal-header{ background: #dd2222; }
.modal.report-modal .modal-body{ text-align: left; }
.modal.report-modal .report-modal-form{ display: flex; flex-direction: column; gap: 10px; }
.modal.report-modal .report-modal-form label{ font-size: 14px; font-weight: 600; color: var(--grey-555); }
.modal.report-modal .report-modal-form select,
.modal.report-modal .report-modal-form textarea{ font-family: var(--inter); font-size: 15px; padding: 10px 12px; border: 1px solid var(--white-bbb); border-radius: 5px; color: var(--black); }
.modal.report-modal .report-modal-form textarea{ resize: vertical; }
.rating-card .rc-flag-btn{ padding: 6px 12px; background: none; border: 1px solid var(--white-bbb); color: var(--grey-555); border-radius: 5px; font-size: 13px; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 5px; }
.rating-card .rc-flag-btn:hover:not(:disabled){ border-color: #dd2222; color: #dd2222; }
.rating-card .rc-flag-btn:disabled{ opacity: 0.6; cursor: not-allowed; }
.rating-card .rc-flag-done{ display: flex; align-items: center; gap: 5px; font-size: 13px; color: #27ae60; font-weight: 500; }
.rating-card .rc-mod-btn{ padding: 6px 12px; background: none; border: 1px solid var(--blue-four); color: var(--blue-four); border-radius: 5px; font-size: 13px; cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 5px; }
.rating-card .rc-mod-btn:hover:not(:disabled){ background: var(--blue-four); color: var(--white); }
.rating-card .rc-mod-btn:disabled{ opacity: 0.6; cursor: not-allowed; }
.rating-card .rc-mod-btn.warn{ border-color: #d68910; color: #d68910; }
.rating-card .rc-mod-btn.warn:hover:not(:disabled){ background: #d68910; color: var(--white); }
.rating-card .rc-mod-btn.danger{ border-color: #f33; color: #f33; }
.rating-card .rc-mod-btn.danger:hover:not(:disabled){ background: #f33; color: var(--white); }
.rating-card .rc-mod-btn svg{ width: 15px; }

/* Empty Votes */
.rating-stats-empty{ padding-bottom: 16px; margin-bottom: 20px; }
.rating-stats-empty .stats-empty{ display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 24px 0; text-align: center; color: var(--grey-777); }
.rating-stats-empty .stats-empty svg{ width: 82px; margin-bottom: 5px; }
.rating-stats-empty .stats-empty strong{ color: var(--black); font-size: 28px; font-family: var(--google); font-weight: 600; letter-spacing: -1px; }
.rating-stats-empty .stats-empty-sub{ font-size: 15px; margin: 0; color: var(--grey-555); font-weight: 500; margin-top: 5px; }

/* Rating no comments */
.rating-card .rc-no-comment{ font-size: 13px; color: var(--grey-aaa); font-style: italic; margin: 0; display: flex; align-items: center; gap: 5px; }

/* Pending */
.star-btn.pending{ opacity: 0.7; }

/* Reportado pero todavía por debajo del umbral de escalado (2026-09-15).
   Tono neutro a propósito: un reporte suelto es algo para mirar, no
   necesariamente para actuar — el rojo está reservado para lo escalado. */
.mod-wrapper .mod-queue-meta .rc-badge.reported{ background: var(--white-eee); color: var(--grey-555); }

/*!******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/home.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************/
/* Hero */
.hero{ width: 100%; height: 700px; background-color: #001b36; position: relative; margin-top: 70px; overflow: hidden; }
.hero:before{ content: ""; background-image: url("/hero-home.jpg"); background-size: cover; background-position: center; position: absolute; inset: 0; opacity: .5; }
.hero .content{ height: 100%; display: flex; align-items: center; position: relative; }
.hero .uy-vector{ width: 700px; height: 760px; background: url("/uy-vector.svg"); position: absolute; background-size: 100% 100%; right: -200px; top: -20px; opacity: .1; }
.hero .icon{ width: 90px; margin-bottom: 20px; opacity: .8; }
.hero .text{ color: var(--white); display: flex; flex-direction: column; align-items: flex-start; }
.hero .text .title{ font-size: 58px; font-weight: 600; letter-spacing: -1px; line-height: 1.1; font-family: var(--google); }
.hero .text .title span{ display: block; color: var(--green); }
.hero .text .description{ line-height: 1.5; font-size: 16px; margin-top: 20px; max-width: 800px; opacity: .9; }
.hero .text .description strong{ font-weight: bold; }
.hero .text .button{ font-size: 16px; display: inline-flex; font-weight: 600; width: auto; margin-top: 40px; padding: 15px 20px 15px 20px; }
.hero .text .button i{ font-size: 18px; }

.big-gradient{ background: linear-gradient(180deg, #e5e9f6 0%, #ffffff 100%); }

/* Government Branches */
.government-branches{ padding: 130px 0 50px; }
.government-branches svg{ opacity: .6; font-size: 72px; width: 100px; margin-bottom: 10px; }
.government-branches .head{ margin-bottom: 70px; display: flex; justify-content: space-between; align-items: flex-end; }
.government-branches .head .title{ font-family: var(--google); font-size: 48px; letter-spacing: -1px; font-weight: 500; color: var(--black); margin-bottom: 10px; }
.government-branches .head .title span{ display: block; }
.government-branches .head .title strong{ font-weight: bold; color: var(--blue-four); }
.government-branches .head .description{ font-size: 28px; text-align: right; line-height: 1.4; font-weight: bold; }
.government-branches .head .description span{ display: block; }
.government-branches .columns{ display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 80px; gap: 80px; margin-top: 100px; }
.government-branches .columns .column{ position: relative; }
.government-branches .columns .column svg{ width: 65px; margin-bottom: 20px; opacity: .6; display: block; }
.government-branches .columns .column h4{ font-family: var(--google); font-weight: bold; margin-bottom: 15px; font-size: 28px; letter-spacing: -1px; color: var(--orange); }
.government-branches .columns .column .subtitle{ font-weight: bold; margin-bottom: 20px; font-size: 20px; }
.government-branches .columns .column .description{ line-height: 1.5; font-size: 15px; color: var(--grey-333); font-weight: 500; }
.government-branches .columns .column .small-title{ font-weight: 600; margin-top: 30px; font-size: 15px; }
.government-branches .columns .column .link-items{ display: flex; margin-top: 15px; gap: 10px; }
.government-branches .columns .column .link-items li{ }
.government-branches .columns .column .link-items li a{ text-decoration: none; color: var(--blue-one); font-weight: 600; font-family: var(--google); font-size: 14px; display: flex; align-items: center; transition: var(--transition); }
.government-branches .columns .column .link-items li a svg{ margin-left: 7px; position: relative; top: 10px; width: 9px; }
.government-branches .columns .column .link-items li a:hover{ color: var(--black); }

/* Parties Hero */
.parties-hero{ padding: 130px 0; }
.parties-hero svg{ opacity: .6; width: 100px; margin-bottom: 10px; }
.parties-hero .head{ margin-bottom: 50px; }
.parties-hero .head .title{ font-family: var(--google); font-size: 48px; letter-spacing: -1px; font-weight: 500; color: var(--black); margin-bottom: 15px; }
.parties-hero .head .title span{ color: var(--blue-four); font-weight: 600; }
.parties-hero .head .title strong{ font-weight: bold; color: var(--blue-four); }
.parties-hero .head .description{ line-height: 1.3; font-size: 18px; }
.parties-hero .head .sub-title{ font-weight: bold; margin-top: 30px; font-size: 18px; }
.parties-hero .parties-list{ display: grid; grid-template-columns: repeat(4,1fr); grid-gap: 40px; gap: 40px; }
.parties-hero .parties-list li{ gap: 15px; }
.parties-hero .parties-list li figure{ width: 60px; min-width: 60px; height: 60px; border-radius: 5px; line-height: 0; overflow: hidden; box-shadow: var(--box-shadow); margin-bottom: 20px; }
.parties-hero .parties-list li figure img{ width: 100%; }
.parties-hero .parties-list li h4{ font-family: var(--google); font-weight: 600; margin-bottom: 5px; }
.parties-hero .parties-list li p{ font-size: 13px; line-height: 1.3; }
.parties-hero .parties-list li p strong{ font-weight: 600; }
.parties-hero .parties-list li a{ text-decoration: none; color: var(--blue-one); font-weight: 600; font-family: var(--google); font-size: 14px; display: flex; align-items: center; transition: var(--transition); margin-top: 10px; }
.parties-hero .parties-list li a svg{ margin-left: 7px; position: relative; top: 5px; width: 9px; }
.parties-hero .parties-list li a:hover{ color: var(--black); }

/* Vote Hero */
.vote-hero{ padding: 100px 0 0; background: var(--white); position: relative; border-top: 1px solid var(--white-ccc); border-bottom: 1px solid var(--white-ccc); }
.vote-hero:before{ content: ""; position: absolute; top: 0; left: 0; inset: 0; background: url("/bg-white.jpg"); background-position: center; background-size: cover; opacity: .5; }
.vote-hero svg{ opacity: .6; width: 100px; margin-bottom: 10px; }
.vote-hero .head{ margin-bottom: 30px; }
.vote-hero .head .title{ font-family: var(--google); font-size: 58px; letter-spacing: -1px; font-weight: 500; color: var(--black); margin-bottom: 20px; }
.vote-hero .head .title strong{ font-weight: 600; color: var(--blue-four); }
.vote-hero .head .description{ font-size: 16px; line-height: 1.4; }
.vote-hero .head .description strong{ font-weight: bold; }
.vote-hero .small-icon svg{ opacity: 1; width: 35px; margin-bottom: 0; }

/* Politician rankings */
.politician-rankings{ padding: 40px 0 80px; }
.politician-rankings .rankings-grid{ display: grid; grid-template-columns: 1fr 1fr; grid-gap: 100px; gap: 100px; }

/* Ranking List */
.ranking-list{ }
.ranking-list .ranking-head{ margin-bottom: 30px; }
.ranking-list .ranking-head .title{ font-size: 22px; font-weight: 700; display: flex; align-items: flex-start; gap: 8px; font-family: var(--google); flex-direction: column; color: var(--blue-four); }
.ranking-list .ranking-head .title figure{ width: 30px; min-width: 30px; }
.ranking-list .ranking-head .title figure img{ width: 100%; }
.ranking-list ol{ list-style: none; display: flex; flex-direction: column; }
.ranking-list ol li{ display: flex; align-items: center; padding: 6px 15px; }
.ranking-list ol li:nth-child(even){ background: var(--white-eee); border-radius: 10px; }
.ranking-list .rank-position{ width: 25px; min-width: 25px; font-size: 13px; font-weight: bold; color: var(--grey-888); font-family: var(--google); }
.ranking-list .rank-avatar{ display: block; width: 40px; height: 40px; min-width: 40px; border-radius: 8px; overflow: hidden; margin-right: 12px; }
.ranking-list .rank-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.ranking-list .rank-body{ display: flex; flex-direction: column; flex: 1 1; min-width: 0; }
.ranking-list .rank-name{ font-size: 14px; font-weight: 600; color: var(--blue-one); font-family: var(--google); text-decoration: none; margin-bottom: 3px; transition: var(--transition); }
.ranking-list .rank-name:hover{ color: var(--black); }
.ranking-list .rank-party{ font-size: 12px; color: var(--grey-444); }
.ranking-list .rank-value{ font-size: 13px; font-weight: 500; white-space: nowrap; margin-left: 10px; }
.ranking-list .rank-value{ display: flex; align-items: center; align-self: center; font-size: 13px; color: var(--grey-333); }
.ranking-list .rank-value svg{ width: 16px; opacity: 1; margin-bottom: 0; margin-left: 5px; position: relative; top: -1px; }

/* Top liked comments */
.top-liked-comments ol li{ align-items: flex-start; }
.top-liked-comments .comment-text{ font-size: 13px; color: var(--grey-222); line-height: 1.4; margin-bottom: 4px; font-style: italic; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 350px; }
.top-liked-comments .comment-author{ font-size: 12px; display: flex; align-items: center; gap: 4px; font-family: var(--google); }
.top-liked-comments .comment-author a{ font-weight: 600; text-decoration: none; font-family: var(--google); color: var(--blue-one); transition: var(--transition); }
.top-liked-comments .comment-author a:hover{ color: var(--black); }
.top-liked-comments .comment-author svg{ color: var(--yellow); opacity: 1; width: 10px; position: relative; top: 4px; }
.top-liked-comments .rank-value{ display: flex; align-items: center; align-self: center; font-size: 13px; color: var(--grey-333); }
.top-liked-comments .rank-value svg{ width: 16px; opacity: 1; margin-bottom: 0; margin-left: 5px; position: relative; top: -1px; }

/* Updates feed */
.updates-feed{ padding: 100px 0; background: var(--violet); }
.updates-feed svg{ opacity: .6; width: 100px; margin-bottom: 10px; }
.updates-feed .head{ margin-bottom: 40px; }
.updates-feed .head .title{ font-family: var(--google); font-size: 42px; letter-spacing: -1px; font-weight: 500; color: var(--black); margin-bottom: 15px; }
.updates-feed .head .title span{ color: var(--blue-four); font-weight: 600; }
.updates-feed .head .title strong{ font-weight: bold; color: var(--blue-four); }
.updates-feed .head .description{ line-height: 1.3; font-size: 18px; }
.updates-feed .updates-list{ display: flex; flex-direction: column; }
.updates-feed .update-item{ display: flex; align-items: center; padding: 5px 10px; width: 100%; justify-content: space-between; }
.updates-feed .update-item:nth-child(even){ background: var(--white); border-radius: 10px; }
.updates-feed .update-item .left{ display: flex; align-items: center; }
.updates-feed .update-item .left .update-avatar{ display: block; width: 44px; height: 44px; min-width: 44px; border-radius: 8px; overflow: hidden; margin-right: 15px; align-self: flex-start; }
.updates-feed .update-item .left .update-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.updates-feed .update-item .left .update-body{ display: flex; flex-direction: column; }
.updates-feed .update-item .left .update-text{ font-size: 12px; line-height: 1.4; }
.updates-feed .update-item .left .update-text a{ font-weight: 600; color: var(--blue-two); font-family: var(--google); text-decoration: none; transition: var(--transition); font-size: 14px; }
.updates-feed .update-item .left .update-text a:hover{ color: var(--black); }
.updates-feed .update-item .left .update-text a svg{ width: 10px; rotate: -90deg; opacity: 1; margin-bottom: 0; position: relative; top: 1px; }
.updates-feed .update-item .update-date{ font-size: 12px; margin-top: 3px; font-family: var(--google); opacity: .7; padding-left: 30px; }
/* Los bloques agrupados ahora pueden tener varios renglones (uno por
   mensaje): la fecha se alinea arriba, a la altura del nombre, en vez
   de quedar centrada contra el medio de la lista. */
.updates-feed .update-item.grouped{ align-items: flex-start; padding-top: 10px; padding-bottom: 10px; }
.updates-feed .update-item.grouped .update-date{ margin-top: 2px; }
/* Un renglón por mensaje (2026-09-17, reportado por Octavio): estos li
   iban `display: inline` y el separador lo intercalaba el JSX, pero
   solo en la rama de noticias — en la de cambios de cargo no lo ponía
   nadie y los mensajes salían pegados ("...Director Departamentalasumió
   como Edil de Salto"). Con un renglón por mensaje el separador es el
   salto de línea, no depende del JSX, y un bloque de siete cargos se
   puede leer. */
.updates-feed .update-item .update-sub-items{ font-size: 12px; color: var(--grey-222); line-height: 1.5; margin-top: 2px; }
.updates-feed .update-item .update-sub-items li{ display: block; position: relative; padding-left: 12px; }
.updates-feed .update-item .update-sub-items li::before{ content: "•"; position: absolute; left: 0; top: 0; font-size: 10px; line-height: 1.8; opacity: .55; }

/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/politics-list.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/* Politic List */
.politic-list-wrapper{ margin: 70px 0 80px; }

.politic-list-items{ display: grid; align-items: stretch; grid-template-columns: repeat(4,1fr); grid-gap: 15px; gap: 15px; width: 100%; margin: 50px 0 0; }
.politic-list-items .politic-list-item{ position: relative; }
.politic-list-items .politic-list-item a{ color: #000; text-decoration: none; position: relative; display: flex; flex-direction: column; transition: var(--transition); height: 100%; border-radius: 10px; overflow: hidden; background: var(--white); box-shadow: var(--box-shadow); border: 1px solid var(--white-ccc); }
.politic-list-items .politic-list-item a:hover{ box-shadow: 0 0 6px rgba(0,0,0,.3); }
.politic-list-items .politic-list-item a figure{ width: 100%; height: auto; background: var(--white-eee); overflow: hidden; padding-top: 100%; position: relative; }
.politic-list-items .politic-list-item a figure img{ width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; }
.politic-list-items .politic-list-item a figure .icons{ position: absolute; top: 54px; right: 10px; display: flex; flex-direction: column; gap: 4px; }
.politic-list-items .politic-list-item a figure .icons .last-role{ width: 35px; height: 35px; background: var(--pink); color: var(--white); border-radius: 100%; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); font-size: 19px; }
.politic-list-items .politic-list-item a figure .icons .is-substitute{ width: 35px; height: 35px; background: var(--orange); color: var(--white); border-radius: 100%; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); font-size: 19px; }
.politic-list-items .politic-list-item a figure .icons .death{ width: 35px; height: 35px; background: var(--black); color: var(--white); border-radius: 100%; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); font-size: 19px; }
.politic-list-items .politic-list-item a figure .icons .is-new{ width: 35px; height: 35px; background: var(--purple-dark); color: var(--white); border-radius: 100%; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); font-size: 19px; }
.politic-list-items .politic-list-item a figure .icons svg{ width: 20px; }
.politic-list-items .politic-list-item a .meta{ padding: 15px 12px; position: relative; line-height: 1.4; }
.politic-list-items .politic-list-item a .meta .angle-arrow{ position: absolute; top: 18px; right: 10px; width: 18px; height: 18px; opacity: 0; transition: var(--transition); rotate: -90deg; }
.politic-list-items .politic-list-item a:hover .meta .angle-arrow{ opacity: .8; }
.politic-list-items .politic-list-item a .meta .name{ font-weight: 600; font-size: 21px; margin-bottom: 10px; font-family: var(--google); line-height: 1.2; padding-right: 20px; border-bottom: 1px solid var(--white-ccc); padding-bottom: 8px; }
.politic-list-items .politic-list-item a .meta .role{ font-size: 16px; margin-top: 3px; font-weight: 600; color: var(--blue-three); line-height: 1.3; }
.politic-list-items .politic-list-item a .meta .role .last-role{ font-weight: 500; font-size: 13px; color: var(--grey-333); }
.politic-list-items .politic-list-item a .meta .party{ font-weight: 400; font-size: 13px; color: var(--grey-333); margin-top: 3px; }

.politic-list-items .politic-list-item a .tooltip{ font-family: var(--google); }
.politic-list-items .politic-list-item a .tooltip .last-role .tooltip-content{ background: var(--pink) !important; right: 30px; border-radius: 5px 0 0 5px; top: 6px; }
.politic-list-items .politic-list-item a .tooltip .is-substitute .tooltip-content{ background: var(--orange) !important; right: 30px; border-radius: 5px 0 0 5px; top: 6px; }
.politic-list-items .politic-list-item a .tooltip .death .tooltip-content{ background: var(--black) !important; right: 30px; border-radius: 5px 0 0 5px; top: 6px; }
.politic-list-items .politic-list-item a .tooltip .is-new .tooltip-content{ background: var(--purple-dark) !important; right: 30px; border-radius: 5px 0 0 5px; top: 6px; }

.politic-list-items .politic-list-item a:before{ content: ''; position: absolute; top: 10px; right: 10px; width: 35px; height: 35px; background: var(--black); border-radius: 100%; background-size: cover; background-position: center center; box-shadow: var(--box-shadow); z-index: 30; }

    .politic-list-items .politic-list-item.partido-nacional a:before{ background-image: url("/pn-flag.jpg"); }
    .politic-list-items .politic-list-item.partido-colorado a:before{ background-image: url("/pc-flag.jpg"); }
    .politic-list-items .politic-list-item.frente-amplio a:before{ background-image: url("/fa-flag.jpg"); }
    .politic-list-items .politic-list-item.cabildo-abierto a:before{ background-image: url("/ca-flag.jpg"); }
    .politic-list-items .politic-list-item.identidad-soberana a:before{ background-image: url("/is-flag.jpg"); }
    .politic-list-items .politic-list-item.partido-independiente a:before{ background-image: url("/pi-flag.jpg"); }
    .politic-list-items .politic-list-item.coalicion-republicana a:before{ background-image: url("/core-flag.jpg"); }
    .politic-list-items .politic-list-item.undefined a:before{ display: none; }

/* Head */
.politics-list-page .page-head{ background: var(--blue-four) url("/hero-home.jpg"); background-position: top center; background-size: cover; margin-bottom: 0; }

/* No Results */
.no-results{ display: flex; align-items: center; justify-content: center; flex-direction: column; margin: 100px 0; }
.no-results svg{ width: 102px; margin-bottom: 30px; }
.no-results p{ font-weight: 600; font-size: 18px; }

/* Former Members */
.former-members-section .former-members-title{ font-family: var(--google); font-size: 32px; letter-spacing: -1px; font-weight: 600; margin: 80px 0 50px; color: var(--blue-three); border-bottom: 1px solid var(--white-bbb); padding-bottom: 15px; display: flex; align-items: center; }
.former-members-section .former-members-title .qty{ font-weight: 400; font-size: 18px; color: var(--grey-333); margin-left: 5px; position: relative; top: 1px; }

/* Info Blocks */
.education-block{ position: fixed; bottom: 20px; right: 20px; z-index: 100; }
.education-block .content{ position: relative; }

.education-block .head{ display: inline-flex; justify-content: center; align-items: center; background: var(--white); padding: 10px; border-radius: 8px; cursor: pointer; position: relative; box-shadow: 0 2px 10px rgba(0,0,0,0.12); transition: var(--transition); }
.education-block .head:hover{ box-shadow: 0 4px 16px rgba(0,0,0,0.18); transform: translateY(-2px); }
.education-block .head .info-icon{ width: 22px; color: var(--blue-four); }
.education-block .head .chevron{ width: 14px; flex-shrink: 0; margin-right: 8px; color: var(--blue-four); transition: var(--transition); transform: rotate(90deg); }
.education-block.show .head .chevron{ transform: rotate(-90deg); }
.education-block .head .info-icon{ width: 22px; color: var(--blue-four); }

.education-block .head::after{ content: attr(data-tooltip); position: absolute; top: 50%; right: calc(100% + 10px); transform: translateY(-50%); background: var(--blue-four); color: var(--white); font-family: var(--google); font-size: 12px; font-weight: 500; white-space: nowrap; padding: 6px 10px; border-radius: 6px; opacity: 0; visibility: hidden; pointer-events: none; transition: var(--transition); }
.education-block .head:hover::after{ opacity: 1; visibility: visible; }

.education-block .text{ position: absolute; bottom: 0; right: calc(100% + 10px); width: 400px; background: var(--white); border-left: 3px solid var(--blue-four); border-radius: 5px; padding: 16px 18px; box-shadow: 0 2px 10px rgba(0,0,0,0.12); opacity: 0; transform: translateX(20px); pointer-events: none; transition: opacity 0.3s ease, transform 0.3s ease; }
.education-block.show .text{ opacity: 1; transform: translateX(0); pointer-events: auto; }

.education-block .text h2{ font-family: var(--google); font-weight: 600; color: var(--blue-four); font-size: 18px; margin-bottom: 8px; border-bottom: 1px solid var(--white-ccc); padding-bottom: 10px; }
.education-block .text p{ font-size: 13.5px; line-height: 1.7; color: #4a5170; }
.education-block .text p strong{ font-weight: 600; color: var(--blue-four); }

/* Pagination */
.politic-list-wrapper .pagination{ margin-top: 20px; }

/* Tabs */
.politic-list-wrapper .tabs{ margin-top: 30px; }

@media screen and (max-width: 1280px){

}

@media screen and (max-width: 1024px){

    .politic-list-items .politic-list-item{ width: 33.3333%; }

    /* Party Page */
    .party-page .page-head{ background-size: 1200px auto; }

    /* Presidence Page */
    .presidence-page .page-head{ background-size: 1200px auto; }

    /* Mayors Page */
    .mayor-page .page-head{ background-size: 1200px auto; }

    /* Ministers Page */
    .ministers-page .page-head{ background-size: 1200px auto; }

    /* Senators Page */
    .senators-page .page-head{ background-size: 1200px auto; }

    /* Representatives Page */
    .representatives-page .page-head{ background-size: 1200px auto; }

}

@media screen and (max-width: 767px){

    .politic-list-items .politic-list-item{ width: 50%; }

}

@media screen and (max-width: 540px){

    .politic-list-items .politic-list-item{ width: 100%; }

}

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/politics-profile.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/* Head */
.politic-profile .page-head{ padding: 100px 0 40px; height: 245px; overflow: visible; background-position: bottom center; }
.politic-profile .page-head .content{ position: static; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
.politic-profile .page-head .head-meta{ padding-left: 290px; }
.politic-profile .page-head .head-meta .page-title{ margin-bottom: 15px; padding: 0; }
.politic-profile .page-head .head-meta .email{ color: var(--white); text-decoration: none; display: flex; align-items: center; margin-top: 10px; transition: var(--transition); position: relative; padding-left: 28px; line-height: 1.3; }
.politic-profile .page-head .head-meta .email:hover{ color: var(--green); }
.politic-profile .page-head .head-meta .email svg{ color: var(--white); width: 18px; position: absolute; top: 2px; display: inline-block; left: 0; }
.politic-profile .page-head .head-meta .role{ font-size: 16px; position: relative; padding-left: 28px; line-height: 1.3; }
.politic-profile .page-head .head-meta .role svg{ color: var(--white); width: 18px; position: absolute; top: 2px; display: inline-block; left: 0; top: -1px; }
.politic-profile .page-head .head-meta .role strong{ font-weight: 600; margin-right: 5px; }
.politic-profile .page-head .head-meta .role .last-role{ font-weight: 400; color: var(--white-ccc); font-size: 15px; margin-left: 5px; }

/* Politic Info */
.politic-profile .politic-info{ padding-bottom: 50px; }
.politic-profile .politic-info .content{ display: flex; justify-content: space-between; }

/* Profile Picture */
.politic-profile .profile-picture{ width: 250px; height: 250px; border-radius: 15px; overflow: hidden; box-shadow: 0 0 5px rgba(0,0,0,.4); margin-top: -280px; margin-bottom: 20px; }
.politic-profile .profile-picture img{ width: 100%; height: 100%; object-fit: cover; }
.politic-profile .profile-picture.mobile-picture{ display: none; }

/* Left */
.politic-profile .politic-info .content{ position: relative; align-items: start; }

.politic-profile .politic-info .left{ width: 250px; min-width: 250px; padding: 35px 0 20px 0; position: -webkit-sticky; position: sticky; top: 350px; z-index: 50; }
.politic-profile .politic-info .left .left-info-box{ background: var(--white); padding: 5px 15px; border-radius: 10px; box-shadow: var(--box-shadow); }

.politic-profile .politic-info .left .separator{ width: 100%; height: 1px; background: var(--white-bbb); margin: 20px 0; }

.politic-profile .politic-info .left .party{ position: relative; font-weight: 600; font-size: 16px; display: flex; align-items: center; line-height: 1.3; border-bottom: 1px solid var(--white-ccc); padding: 15px 0; }
.politic-profile .politic-info .left .party .flag{ content: ''; display: block; width: 35px; height: 35px; min-width: 35px; min-height: 35px; background: var(--black); border-radius: 100%; background-size: cover; background-position: center center; box-shadow: var(--box-shadow); margin-right: 10px; }
.politic-profile .politic-info .left .party span{ display: block; font-weight: 500; font-size: 14px; color: var(--grey-222); }

    .politic-profile .politic-info .left .party .flag.partido-nacional{ background-image: url("/pn-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.partido-colorado{ background-image: url("/pc-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.frente-amplio{ background-image: url("/fa-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.cabildo-abierto{ background-image: url("/ca-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.identidad-soberana{ background-image: url("/is-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.partido-independiente{ background-image: url("/pi-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.coalicion-republicana{ background-image: url("/core-flag.jpg"); }
    .politic-profile .politic-info .left .party .flag.poder-judicial{ background: none; display: flex; align-items: center; justify-content: center; font-size: 32px; border-radius: 0; box-shadow: none; }

.politic-profile .politic-info .left .birth{ display: flex; align-items: center; font-size: 15px; position: relative; border-bottom: 1px solid var(--white-ccc); padding: 15px 0; }
.politic-profile .politic-info .left .birth .calendar-wrapper{ width: 45px; }
.politic-profile .politic-info .left .birth .calendar-wrapper .calendar{ width: 30px; position: relative; left: 4px; color: var(--grey-222); }
.politic-profile .politic-info .left .birth .birth-data{ font-size: 13px; }
.politic-profile .politic-info .left .birth .birth-data .year{ display: block; margin-bottom: 5px; font-weight: 500; }
.politic-profile .politic-info .left .birth .birth-data .death{ display: block; margin-bottom: 5px; font-weight: 500; }
.politic-profile .politic-info .left .birth .birth-data .age{ display: block; }
.politic-profile .politic-info .left .birth .is-dead{ width: 28px; height: 28px; background: var(--black); color: var(--white); border-radius: 100%; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); font-size: 18px; margin-left: 3px; margin-top: 1px; }
.politic-profile .politic-info .left .birth .is-dead svg{ color: var(--white); width: 18px; height: 18px; }

.politic-profile .politic-info .left .marital-status{ display: flex; font-size: 15px; align-items: center; padding: 15px 0; }
.politic-profile .politic-info .left .marital-status i{ display: block; font-size: 35px; margin-right: 10px; }

.politic-profile .politic-info .left .politician-meta-info:last-child{ border-bottom: none; }

/* Anchors */
.politic-profile .politic-info .left .anchors{ padding: 10px 0; }
.politic-profile .politic-info .left .anchors ul{ padding: 0 5px; }
.politic-profile .politic-info .left .anchors ul li{ padding: 8px 0; }
.politic-profile .politic-info .left .anchors ul li a{ text-decoration: none; color: var(--blue-two); font-family: var(--google); display: flex; justify-content: space-between; align-items: center; font-size: 14px; transition: var(--transition); font-weight: 500; }
.politic-profile .politic-info .left .anchors ul li a .arrow{ transition: var(--transition); width: 12px; }
.politic-profile .politic-info .left .anchors ul li a:hover{ color: var(--black); }
.politic-profile .politic-info .left .anchors ul li a span svg{ display: inline-block; margin-right: 3px; width: 16px; position: relative; top: 2px; }

/* Right */
.politic-profile .politic-info .right{ width: 100%; padding-left: 35px; }
.politic-profile .politic-info .right .toggler-content{ text-decoration: none; display: block; padding: 0 5px; }
.politic-profile .politic-info .right .section-title{ font-family: var(--google); color: var(--blue-four); font-weight: 600; font-size: 30px; border-bottom: 1px solid var(--white-bbb); padding: 0 0 15px 0; margin-bottom: 30px; position: relative; transition: var(--transition); }
.politic-profile .politic-info .right .section-title .section-title-icon{ margin-right: 10px; transition: var(--transition); width: 30px; display: inline-block; position: relative; top: 3px; }
.politic-profile .politic-info .right .section-title .section-title-icon svg{ width: 100%; }
.politic-profile .politic-info .right .section-title .chevron{ position: absolute; right: 0; top: 12px; width: 17px; transition: var(--transition); rotate: -180deg; }
.politic-profile .politic-info .right .toggler-content.closed .section-title .chevron{ rotate: 0deg; }
.politic-profile .politic-info .right .no-role{ margin: 20px 0 30px; font-weight: 500; display: flex; align-items: center; font-size: 14px; color: var(--grey-444); }
.politic-profile .politic-info .right .no-role i{ font-size: 26px; margin-right: 10px; }
.politic-profile .politic-info .right .toggler-content:hover .section-title,
.politic-profile .politic-info .right .toggler-content:hover .section-title .chevron{ color: var(--black); }
.politic-profile .politic-info .right .toggler-content:hover .section-title{ border-bottom: 1px solid var(--black); }

.politic-profile .politic-info .right .toggler-content-collapse{ display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows 0.4s ease, visibility 0.4s allow-discrete; }
.politic-profile .politic-info .right .toggler-content-collapse > *{ overflow: hidden; min-height: 0; }
.politic-profile .politic-info .right .toggler-content-collapse:not(.closed){ grid-template-rows: 1fr; visibility: visible; }
.politic-profile .politic-info .right .toggler-content-collapse .toggler-content-children{ padding: 0 5px; }

.politic-profile .politic-info .right .anchor{ position: relative; top: -110px; }

/* More Info */
.politic-profile .politic-info .more-info-wrapper{ margin-left: 5px; position: relative; display: inline-block; }
.politic-profile .politic-info .more-info-wrapper .more-info{ text-decoration: none; display: inline-block; font-size: 20px; color: var(--grey-555); transition: var(--transition); }
.politic-profile .politic-info .more-info-wrapper .more-info:hover{ color: var(--grey-222); }
.politic-profile .politic-info .more-info-wrapper .more-info i{ }
.politic-profile .politic-info .more-info-wrapper .more-info-text{ font-size: 14px; letter-spacing: 0; color: var(--grey-222); font-weight: 500; display: block; position: absolute; top: 30px; left: 50%; transform: translateX(-50%); width: 600px; padding: 10px; background: var(--white); border-radius: 5px; box-shadow: var(--box-shadow); transition: var(--transition); }

/* Timelines */
.politic-profile .politic-info .right .timeline-list{ position: relative; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item{ margin-bottom: 30px; position: relative; padding-left: 30px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item:before{ content: ""; display: block; width: 15px; height: 15px; background: var(--violet); border-radius: 100%; border: 3px solid var(--blue-three); position: absolute; top: 4px; left: 0; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name{ font-weight: 600; font-size: 20px; margin-bottom: 10px; line-height: 1.3; font-family: var(--google); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name span{ color: var(--grey-222); display: inline-block; margin-left: 5px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name .substitute-for{ font-size: 15px; color: var(--grey-222); display: inline; margin-left: 5px; font-weight: normal; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name .substitute-for a{ text-decoration: none; color: var(--blue-three); transition: var(--transition); font-weight: 600; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name .substitute-for a svg{ width: 13px; position: relative; top: 2px; rotate: -90deg; margin-left: 3px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .name .substitute-for a:hover{ color: var(--black); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .comments{ font-size: 14px; margin-bottom: 15px; color: var(--grey-333); font-weight: 500; position: relative; padding-left: 25px; line-height: 1.4; margin-left: -2px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .comments svg{ width: 15px; position: absolute; top: 1px; left: 0; color: var(--grey-555); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .date{ font-size: 15px; margin-bottom: 10px; font-weight: 600; color: var(--blue-four); padding-top: 3px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .date svg{ width: 14px; position: relative; top: 2px; margin: 0 10px; color: var(--grey-666); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .comments.substitute-for{ margin-top: 10px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .comments.substitute-for a{ color: var(--blue-two); text-decoration: none; font-weight: 600; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .role .comments.substitute-for a:hover{ text-decoration: underline; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item:last-child{ margin-bottom: 0; }

.politic-profile .politic-info .right .timeline-list .timeline-list-item .pill{ font-size: 11px; text-transform: uppercase; font-weight: 700; background: var(--blue-three); color: var(--white); display: inline-block; padding: 5px 8px; border-radius: 50px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .pill.legislativo{ background: var(--pink); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .pill.ejecutivo{ background: var(--purple); }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .pill.judicial{ background: var(--orange); }

/* Education */
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head{ display: flex; align-items: center; margin-bottom: 10px; padding-top: 2px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .date{ margin-bottom: 0; margin-right: 15px; position: relative; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .date .education-end{ position: relative; padding-left: 35px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .date .education-end svg{ position: absolute; top: 1px; left: 0; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .education-status{ font-weight: 600; display: flex; align-items: center; font-size: 14px; position: relative; top: -1px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .education-status svg{ margin-right: 5px; width: 14px; position: relative; top: 2px; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .education-status .finished{ color: #088408; }
.politic-profile .politic-info .right .timeline-list .timeline-list-item .head .education-status .not-finished{ color: #bd282b; }

/* Affidavit */
.politic-profile .politic-info .right .affidavit-list{ width: 100%; margin-top: 20px; }
.politic-profile .politic-info .right .affidavit-list li{ display: flex; justify-content: space-between; align-items: center; font-size: 16px; font-family: var(--google); border-bottom: 1px solid var(--white-aaa); padding: 12px 0; position: relative; }
.politic-profile .politic-info .right .affidavit-list li:last-child{ border-bottom: none; }
.politic-profile .politic-info .right .affidavit-list li a{ text-decoration: none; color: var(--blue-three); transition: var(--transition); }
.politic-profile .politic-info .right .affidavit-list li a:hover{ color: var(--black); }
.politic-profile .politic-info .right .affidavit-list li a i{ font-size: 22px; }
.politic-profile .politic-info .right .affidavit-list li strong{ font-weight: 600; }

.politic-profile .politic-info .right .affidavit-list .head{ text-transform: uppercase; font-weight: 700; font-size: 12px; color: var(--grey-444); }

.politic-profile .politic-info .right .affidavit-list .date-head{ min-width: 180px; }
.politic-profile .politic-info .right .affidavit-list .date{ display: flex; align-items: center; font-size: 14px; min-width: 180px; position: relative; }
.politic-profile .politic-info .right .affidavit-list .assets{ min-width: 170px; position: relative; padding-right: 30px; }
.politic-profile .politic-info .right .affidavit-list .liabilities{ min-width: 170px; padding-right: 30px; position: relative; }
.politic-profile .politic-info .right .affidavit-list .networth{ min-width: 260px; padding-right: 110px; position: relative; }
.politic-profile .politic-info .right .affidavit-list .download{ min-width: 40px; display: flex; justify-content: flex-end; position: absolute; right: 0; }
.politic-profile .politic-info .right .affidavit-list .download svg{ width: 20px; }

.politic-profile .politic-info .right .affidavit-list .chevron{ width: 13px; position: absolute; right: 0; }
.politic-profile .politic-info .right .affidavit-list .subtract{ width: 13px; position: absolute; right: 0; }
.politic-profile .politic-info .right .affidavit-list .equal{ width: 13px; position: absolute; right: 0; }

.politic-profile .politic-info .right .affidavit-list .growth{ font-weight: 600; font-size: 14px; right: 35px; position: absolute; top: 1px; }
.politic-profile .politic-info .right .affidavit-list .growth.positive{ color: #088408; }
.politic-profile .politic-info .right .affidavit-list .growth.negative{ color: #bd282b; }

.politic-profile .politic-info .right .affidavit-list .head .assets:before,
.politic-profile .politic-info .right .affidavit-list .head .liabilities:before{ display: none; }

/* News */
.politic-profile .politic-info .right .news-list{ width: 100%; margin-top: 20px; margin-bottom: 30px; }
.politic-profile .politic-info .right .news-list li{ display: flex; justify-content: flex-start; padding: 12px 0; border-bottom: 1px solid var(--white-aaa); font-size: 14px; line-height: 1.3; }
.politic-profile .politic-info .right .news-list li:last-child{ border-bottom: none; }
.politic-profile .politic-info .right .news-list li a{ width: 100%; display: inline; text-decoration: none; color: var(--blue-two); font-weight: 500; transition: var(--transition); font-family: var(--google); font-size: 15px; }
.politic-profile .politic-info .right .news-list li a:hover{ color: var(--black); }
.politic-profile .politic-info .right .news-list li a svg{ width: 12px; margin-left: 5px; position: relative; top: 2px; rotate: -90deg; }
.politic-profile .politic-info .right .news-list li .media{ font-weight: 600; padding-left: 30px; white-space: nowrap; font-size: 13px; }
.politic-profile .politic-info .right .news-list li .date{ font-size: 13px; min-width: 90px; display: flex; padding-right: 20px; padding-top: 2px; }

/* Admin */
.politic-profile .edit-floating-button{ position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background-color: var(--blue-three); color: var(--white); border-radius: 100%; font-size: 24px; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); text-decoration: none; z-index: 1000; transition: var(--transition); }
.politic-profile .edit-floating-button:hover{ background-color: var(--blue-four); }
.politic-profile .edit-floating-button svg{ width: 25px; }

/* Sections */
.politic-profile .politic-info .right .section-education{ padding-bottom: 50px; }
.politic-profile .politic-info .right .section-experience{ padding-bottom: 50px; }
.politic-profile .politic-info .right .section-affidavits{ padding-bottom: 50px; }
.politic-profile .politic-info .right .section-news{ margin-bottom: 50px; }

/* Not Found Politic */
.not-found-politic{ display: flex; align-items: center; justify-content: center; flex-direction: column; margin: 200px 0 0; }
.not-found-politic i{ font-size: 102px; margin-bottom: 30px; }
.not-found-politic p{ font-weight: 600; font-size: 18px; }

/* Comissions */
.role-commissions{ margin-bottom: 10px; }

.role-commissions .role-commissions-toggle{ font-size: 14px; transition: var(--transition); position: relative; font-weight: 600; color: var(--blue-four); padding: 6px 30px 6px 12px; margin-bottom: 5px; font-family: var(--google); display: inline-flex; align-items: center; background: transparent; border: 1px solid var(--blue-four); border-radius: 6px; cursor: pointer; }
.role-commissions .role-commissions-toggle:hover{ color: var(--black); background: rgba(0,0,0,0.03); border-color: var(--black); }
.role-commissions .role-commissions-toggle:hover svg{ color: var(--black); }
.role-commissions .role-commissions-toggle .chevron{ transition: var(--transition); position: absolute; right: 5px; top: 50%; translate: 0 -50%; width: 9px; rotate: 0deg; }
.role-commissions .role-commissions-toggle .chevron.open{ rotate: 180deg; }
.role-commissions .role-commissions-toggle svg{ position: relative; top: 0; margin-right: 8px; width: 17px; }

.role-commissions .commission-list{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; margin-bottom: 20px; }
.role-commissions .commission-list li{ display: flex; font-size: 13px; border: 1px solid var(--blue-two); color: var(--black); font-weight: 400; padding: 6px 7px 4px; border-radius: 50px; position: relative; background: transparent; transition: var(--transition); }
.role-commissions .commission-list li svg{ width: 13px; margin-right: 5px; color: var(--blue-two); transition: var(--transition); position: relative; top: 0; }
.role-commissions .commission-list li:hover svg{ color: var(--white); }
.role-commissions .commission-list li .commission-name{ font-weight: 600; }
.role-commissions .commission-list li .commission-role{ font-size: 12px; color: var(--grey-222); margin-left: 5px; transition: var(--transition); }
.role-commissions .commission-list li .more-info{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: none; }
.role-commissions .commission-list li:hover{ background: var(--blue-two); color: var(--white); }
.role-commissions .commission-list li:hover:before,
.role-commissions .commission-list li:hover .commission-role{ color: var(--white); }

.role-commissions .modal .modal-content .modal-body .commission-info-detail{ }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul{ display: flex; justify-content: flex-start; gap: 30px; }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li{ display: flex; flex-direction: column; border: none; padding: 0; border-right: 1px solid var(--white-ccc); border-radius: 0; padding-right: 50px; }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li:last-child{ border-right: none; }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li:before{ display: none; }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li:hover{ background: none; color: var(--black); }
.role-commissions .modal .modal-content .modal-header h3{ border-bottom: 1px solid var(--white-ccc); width: 100%; padding-bottom: 10px; line-height: 1.1; font-size: 24px; }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li .title{ font-weight: bold; font-family: var(--google); }
.role-commissions .modal .modal-content .modal-body .commission-info-detail ul li .value{ }

/* Role Stints */
.role-stints{ margin: 10px 0; }

.role-stints .role-stints-toggle{ font-size: 14px; transition: var(--transition); position: relative; font-weight: 600; color: var(--blue-four); padding: 6px 30px 6px 12px; margin-bottom: 4px; font-family: var(--google); display: inline-flex; align-items: center; background: transparent; border: 1px solid var(--blue-four); border-radius: 6px; cursor: pointer; }
.role-stints .role-stints-toggle:hover{ color: var(--black); background: rgba(0,0,0,0.03); border-color: var(--black); }
.role-stints .role-stints-toggle:hover svg{ color: var(--black); }
.role-stints .role-stints-toggle .chevron{ transition: var(--transition); color: var(--blue-four); position: absolute; right: 5px; top: 50%; translate: 0 -50%; width: 9px; rotate: 0deg; }
.role-stints .role-stints-toggle .chevron.open{ rotate: 180deg; }
.role-stints .role-stints-toggle svg{ position: relative; top: 0; margin-right: 8px; width: 22px; }

.role-stints .role-stints-list{ margin-top: 20px; padding-left: 10px; display: flex; flex-direction: column; gap: 10px; position: relative; }

.role-stints .role-stint-item{ position: relative; padding-left: 20px; padding-bottom: 10px; }
.role-stints .role-stint-item::before{ content: ""; display: block; width: 10px; height: 10px; background: var(--violet); border: 2px solid var(--blue-four); position: absolute; top: 2px; left: 0; z-index: 1; border-radius: 100%; }
.role-stints .role-stint-item:not(:last-child)::after{ content: ""; position: absolute; left: 4px; top: 10px; bottom: -18px; width: 2px; background: var(--blue-four); }

.role-stints .role-stint-item .date{ font-size: 14px !important; font-weight: 600; color: var(--blue-four); padding-top: 0 !important; }
.role-stints .role-stint-item .date svg{ width: 11px; position: relative; top: 1px !important; margin: 0 5px; color: var(--grey-666); height: 12px; }
.role-stints .role-stint-item .substitute-for{ font-size: 13px; color: var(--grey-222); margin-bottom: 4px; font-weight: normal; }
.role-stints .role-stint-item .substitute-for a{ text-decoration: none; color: var(--blue-three); transition: var(--transition); font-weight: 600; }
.role-stints .role-stint-item .substitute-for a:hover{ color: var(--black); }
.role-stints .role-stint-item .substitute-for a svg{ width: 11px; rotate: -90deg; position: relative; top: 1px; }
.role-stints .role-stint-item .substitute-for.was-substituted-by{ color: var(--grey-333); }
.role-stints .role-stint-item .comments{ font-size: 12px; margin-bottom: 4px; color: var(--grey-333); font-weight: 500; line-height: 1.35; }
.role-stints .role-stint-item .role-commissions{ margin: 6px 0 0; }


@media screen and (max-width: 1280px){

    /* Head */
    .politic-profile .page-head{ height: auto; padding: 40px 0; margin-bottom: 0; }
    .politic-profile .page-head .head-meta{ padding-left: 0; }

    /* Politic Info */
    .politic-profile .politic-info .content{ flex-direction: column; }

    /* Profile Picture */
    .politic-profile .profile-picture.desktop-picture{ display: none; }
    .politic-profile .profile-picture.mobile-picture{ display: block; margin-top: 0; }

    /* Left */
    .politic-profile .politic-info .left{ position: relative; top: 0; width: 100%; }

    /* Right */
    .politic-profile .politic-info .right{ padding-left: 0; margin-top: 30px; }

}

@media screen and (max-width: 1024px){

}

@media screen and (max-width: 767px){

}

@media screen and (max-width: 540px){

}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/statistics.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
.statistics-page .ranking-table-wrapper{ width: 100%; padding: 0 5px; margin: 50px 0; }
.statistics-page .ranking-table-wrapper .section-title{ font-family: var(--google); font-weight: 600; font-size: 32px; padding: 0; color: var(--blue-four); }

/* Ranking Table */
.statistics-page .ranking-table-wrapper .ranking-table{ width: 100%; font-size: 15px; }
.statistics-page .ranking-table-wrapper .ranking-table li{ display: flex; justify-content: space-between; border-bottom: 1px solid var(--white-aaa); padding: 10px 0; }
.statistics-page .ranking-table-wrapper .ranking-table li:last-child{ border-bottom: none; }
.statistics-page .ranking-table-wrapper .ranking-table li.head{ font-weight: bold; font-family: var(--google) !important; }

.statistics-page .ranking-table-wrapper .ranking-table li .profile-picture{ width: 25px; height: 25px; overflow: hidden; border-radius: 5px; transition: var(--transition); margin-right: 10px; }
.statistics-page .ranking-table-wrapper .ranking-table li .profile-picture img{ width: 100%; height: 100%; object-fit: cover; }

.statistics-page .ranking-table-wrapper .ranking-table li div a{ display: flex; align-items: center; text-decoration: none; color: var(--blue-three); }
.statistics-page .ranking-table-wrapper .ranking-table li div a:hover{ color: var(--black); }

.statistics-page .ranking-table-wrapper .ranking-table li div{ display: flex; align-items: center; }
.statistics-page .ranking-table-wrapper .ranking-table li div:nth-child(1){ width: 50px; min-width: 50px; }
.statistics-page .ranking-table-wrapper .ranking-table li div:nth-child(2){ width: 60%; min-width: 30px; font-weight: 600; font-size: 16px; font-family: var(--google); }
.statistics-page .ranking-table-wrapper .ranking-table li div:nth-child(3){ width: 30%; min-width: 30px; }
.statistics-page .ranking-table-wrapper .ranking-table li div:nth-child(4){ width: 30%; min-width: 30px; justify-content: flex-end; font-family: var(--google); }
.statistics-page .ranking-table-wrapper .ranking-table li div:nth-child(5){ width: 30%; min-width: 30px; justify-content: flex-end; font-family: var(--google); }

.statistics-page .ranking-table-wrapper .ranking-table li .flag{ content: ''; display: block; width: 25px; height: 25px; min-width: 25px; min-height: 25px; background: var(--black); border-radius: 100%; background-size: cover; background-position: center center; box-shadow: var(--box-shadow); margin-right: 10px; }

    .statistics-page .ranking-table-wrapper .ranking-table li .flag.partido-nacional{ background-image: url("/pn-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.partido-colorado{ background-image: url("/pc-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.frente-amplio{ background-image: url("/fa-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.cabildo-abierto{ background-image: url("/ca-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.identidad-soberana{ background-image: url("/is-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.partido-independiente{ background-image: url("/pi-flag.jpg"); }
    .statistics-page .ranking-table-wrapper .ranking-table li .flag.coalicion-republicana{ background-image: url("/core-flag.jpg"); }

/* Demographics Page */
.demographics-page .page-head{ margin-bottom: 0; }

.demographics-page .statistics-page .content{ padding-top: 10px; padding-bottom: 30px; }
.demographics-page .demographics-dashboard{ display: grid; grid-gap: 26px; gap: 26px; }

.demographics-page .section-separator{ margin: 0; padding: 28px 26px; border: 1px solid var(--white-ddd); border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.88) 100%); box-shadow: 0 10px 30px rgba(0, 35, 120, 0.08); }
.demographics-page .section-separator:last-child{ border-bottom: 1px solid var(--white-ddd); }

.demographics-page .stat-card-head{ margin-bottom: 22px; }
.demographics-page .section-title{ font-family: var(--google); padding-left: 0; font-weight: 600; font-size: 32px; margin-bottom: 6px; color: var(--blue-four); letter-spacing: -.8px; }
.demographics-page .stat-card-subtitle{ margin: 0; color: var(--grey-666); font-size: 15px; }

.demographics-page .empty-state{ margin: 0; padding: 20px; border-radius: 12px; background: var(--white-eee); color: var(--grey-666); font-weight: 500; }

/* Breakdown */
.demographics-page .breakdown{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 22px; grid-gap: 12px; gap: 12px; }
.demographics-page .breakdown li{ display: flex; flex-direction: column; justify-content: center; min-height: 82px; padding: 12px 14px; border: 1px solid var(--white-ddd); border-radius: 12px; background: var(--white); box-shadow: 0 2px 12px rgba(0,0,0,0.04); }
.demographics-page .breakdown li span{ font-size: 13px; color: var(--grey-666); margin-bottom: 6px; }
.demographics-page .breakdown li strong{ font-weight: 700; font-family: var(--google); font-size: 22px; color: var(--blue-three); line-height: 1.1; }

/* Gender Bar */
.demographics-page .gender-bar{ display: flex; height: 54px; border-radius: 999px; overflow: hidden; border: 1px solid var(--white-ddd); background: var(--white); box-shadow: inset 0 1px 4px rgba(0,0,0,0.06); }
.demographics-page .gender-bar .bar{ height: 100%; display: flex; align-items: center; justify-content: center; font-size: 16px; color: var(--white); font-weight: 700; font-family: var(--google); text-shadow: 0 1px 2px rgba(0,0,0,.2); }

.demographics-page .gender-legend{ margin-top: 12px; display: flex; align-items: center; flex-wrap: wrap; gap: 14px; color: var(--grey-555); font-size: 14px; }
.demographics-page .gender-legend li{ display: flex; align-items: center; gap: 8px; }
.demographics-page .gender-legend .dot{ width: 10px; height: 10px; border-radius: 100%; display: inline-block; }

/* Age Bar */
.demographics-page .age-bar{ display: flex; height: 58px; border-radius: 999px; overflow: hidden; position: relative; background: var(--white); justify-content: space-between; align-items: center; border: 1px solid var(--white-ddd); box-shadow: inset 0 1px 5px rgba(0,0,0,0.08); }
.demographics-page .age-bar .age-start,
.demographics-page .age-bar .age-end{ font-size: 16px; font-weight: 700; font-family: var(--google); z-index: 3; color: var(--blue-four); }
.demographics-page .age-bar .age-start{ padding-left: 18px; }
.demographics-page .age-bar .age-end{ padding-right: 18px; }
.demographics-page .age-bar .half-range{ position: absolute; top: 6px; bottom: 6px; background: linear-gradient(90deg, var(--blue-two), var(--blue-one)); border-radius: 999px; opacity: .9; }
.demographics-page .age-bar .median-marker{ background: var(--white); position: absolute; top: 50%; transform: translate(-50%, -50%); width: 24px; height: 24px; border-radius: 100%; border: 4px solid var(--blue-four); box-shadow: 0 0 0 4px rgba(255,255,255,0.7); z-index: 4; }

@media screen and (max-width: 1024px){
    .demographics-page .breakdown{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .demographics-page .section-title{ font-size: 28px; }
}

@media screen and (max-width: 767px){
    .demographics-page .section-separator{ padding: 20px 16px; border-radius: 14px; }
    .demographics-page .breakdown{ grid-template-columns: 1fr; gap: 10px; }
    .demographics-page .breakdown li strong{ font-size: 20px; }
    .demographics-page .gender-bar{ height: 50px; }
    .demographics-page .age-bar{ height: 52px; }
    .demographics-page .age-bar .age-start,
    .demographics-page .age-bar .age-end{ font-size: 14px; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/admin.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************/
/* Login */
.admin-login{ padding-bottom: 20px; }

.admin-login .page-head{ background: none; color: var(--blue-four); text-align: center; margin-bottom: 0; padding: 70px 0 0; box-shadow: none; }
.admin-login .page-head .page-title{ padding-bottom: 5px; }

.admin-login .login-form{ display: flex; gap: 15px; align-items: center; justify-content: space-between; width: 100%; max-width: 900px; margin: 0 auto; padding: 50px; border-radius: 15px; box-shadow: var(--box-shadow); background: var(--white) url("/bg-white.jpg"); background-size: 2000px auto; background-position: top center; margin-top: 140px; }
.admin-login .login-form .left-column{ width: 600px; padding-right: 50px; }
.admin-login .login-form .left-column .title{ font-family: var(--google); color: var(--blue-four); letter-spacing: -1px; font-size: 34px; margin-bottom: 25px; font-weight: 600; }
.admin-login .login-form .left-column .button{ font-weight: 600; margin-top: 15px; }
.admin-login .login-form .left-column .button svg{ top: 0; width: 11px; }
.admin-login .login-form .left-column input{ width: 100%; margin-bottom: 15px; }
.admin-login .login-form .left-column .bottom-buttons{ display: flex; justify-content: space-between; width: 100%; align-items: center; }

.admin-login .register-button{ font-family: var(--google); text-decoration: none; color: var(--blue-one); font-weight: 500; margin-top: 20px; }
.admin-login .register-button:hover{ text-decoration: underline; }

.admin-login .forgot-password{ font-size: 14px; }

.admin-login .message p{ margin-top: 20px; text-align: center; font-size: 16px; font-weight: 600; color: #088408; display: flex; align-items: center; justify-content: center; }
.admin-login .message i{ font-size: 22px; margin-right: 5px; }

.admin-login .register-box{ display: flex; align-items: center; flex-direction: column; font-weight: 600; padding: 0 25px 0 55px; width: 500px; position: relative; border-left: 1px solid var(--white-ccc); }
.admin-login .register-box .title{ font-family: var(--google); font-size: 26px; letter-spacing: -1px; text-align: center; line-height: 1.2; }
.admin-login .register-box .description{ font-size: 14px; text-align: center; margin-top: 10px; color: var(--grey-666); font-weight: 500; line-height: 1.3; padding: 0 10px; }
.admin-login .register-box svg{ width: 82px; color: var(--grey-222); margin-bottom: 20px; }
.admin-login .register-box .button{ color: var(--white); margin-top: 30px; }
.admin-login .register-box .button:hover{ text-decoration: none; }

/* Register */
.register-login{ padding-bottom: 90px; }
.register-login form{ max-width: 900px; margin: 140px auto 10px; padding: 50px; border-radius: 15px; box-shadow: var(--box-shadow); background: var(--white) url("/bg-white.jpg"); background-size: 2000px auto; background-position: top center; }
.register-login form .title{ font-family: var(--google); color: var(--blue-four); letter-spacing: -1px; font-size: 34px; margin-bottom: 25px; font-weight: 600; }
.register-login form .row{ width: 100%; display: flex; gap: 15px; }
.register-login form input{ margin-bottom: 15px; }
.register-login .terms-checkbox{ display: flex; align-items: center; font-size: 14px; margin-top: 30px; margin-bottom: 30px; }
.register-login .terms-checkbox input[type="checkbox"]{ box-shadow: none; width: 15px; height: 15px; margin-right: 5px; display: inline-block; margin-bottom: 0; position: relative; top: -1px; }
.register-login .terms-checkbox a{ color: var(--blue-one); text-decoration: none; font-weight: 600; }
.register-login .terms-checkbox a:hover{ text-decoration: underline; }
.register-login .error-message{ text-align: center; color: #a22a2a; margin-top: 50px; }
.register-login .success-message{ text-align: center; color: #0c7a2f; margin-top: 50px; }
.register-login .legal-info{ display: flex; font-size: 14px; line-height: 1.4; color: var(--grey-444); gap: 20px; margin: 20px 0 35px; align-items: center; padding: 0 20px; }
.register-login .legal-info p{ border-left: 1px solid var(--grey-777); padding-left: 20px; }
.register-login .legal-info p.no-border{ border: none; padding-left: 5px; }
.register-login .legal-info strong{ font-weight: 600; color: var(--black); }
.register-login .legal-info svg{ width: 36px; min-width: 36px; color: var(--grey-888); }
.register-login .legal-info a{ color: var(--blue-one); text-decoration: none; }
.register-login .legal-info a:hover{ text-decoration: underline; }

.register-login .field-group{ width: 100%; flex: 1 1; }
.register-login .password-input{ position: relative; display: flex; align-items: center; }
.register-login .password-input input{ width: 100%; padding-right: 40px; /* espacio para el ojo */; }
.register-login .password-toggle{ position: absolute; right: 10px; top: 10px; background: transparent; border: 0; cursor: pointer; font-size: 20px; display: flex; align-items: center; height: 30px; }
.register-login .password-toggle svg{ width: 20px; }
.register-login .field-error{ font-size: 13px; color: var(--pink); font-weight: 500; padding: 0 5px; }

/* Reset Password */
.password-reset{ margin-bottom: 30px; }
.password-reset form{ max-width: 900px; margin: 140px auto 50px; padding: 50px; border-radius: 15px; box-shadow: var(--box-shadow); background: var(--white) url("/bg-white.jpg"); background-size: 2000px auto; background-position: top center; }
.password-reset form .title{ font-family: var(--google); color: var(--blue-four); letter-spacing: -1px; font-size: 34px; margin-bottom: 25px; font-weight: 600; }
.password-reset form input{ margin-bottom: 20px; }

/* Verification Message */
.email-verification-notice{ display: flex; flex-direction: column; gap: 16px; align-items: center; justify-content: center; text-align: center; margin: 50px auto 0; max-width: 800px; border-top: 1px solid var(--white-ccc); padding-top: 50px; }
.email-verification-notice .notice-icon{ flex-shrink: 0; padding-top: 2px; }
.email-verification-notice .notice-icon svg{ width: 70px; }
.email-verification-notice .notice-body{ display: flex; justify-content: center; align-items: center; flex-direction: column; }
.email-verification-notice .notice-body strong{ color: var(--black); font-size: 28px; font-family: var(--google); font-weight: 600; letter-spacing: -1px; }
.email-verification-notice .notice-body p{ color: var(--grey-222); font-size: 15px; line-height: 1.5; margin: 20px 0; }
.email-verification-notice .notice-body .button{ margin-top: 4px; align-items: center; gap: 6px; display: inline-flex; width: auto; }
.email-verification-notice .notice-feedback{ font-size: 13px; color: #2d7a3a; margin: 0; }

/* Edit Page*/
.edit-page .page-head .content{ display: flex; align-items: center; }
.edit-page .section-divider{ border-bottom: 2px dashed var(--white-bbb); padding-bottom: 50px; margin-bottom: 50px; }
.edit-page .section-divider.last-divider{ border-bottom: none; }
.edit-page .alert-header .section-title{ color: #dd2222; }
.edit-page .section-title{ font-size: 26px; font-weight: 600; margin-bottom: 15px; padding: 0 0 10px 0; border-bottom: 1px solid var(--white-bbb); font-family: var(--google); color: var(--blue-four); display: flex; align-items: center; }
.edit-page .section-title svg{ margin-right: 10px; width: 28px; }
.edit-page .info-section{ margin-bottom: 40px; }
.edit-page .title-separator{ margin-top: 50px; }
.edit-page .buttons-wrapper{ display: flex; gap: 10px; margin-top: 20px; }
.edit-page .buttons-wrapper.save-all{ display: flex; justify-content: flex-end; margin-top: 20px; }

.edit-page .substitute-wrapper{ padding: 12px 15px; margin-bottom: 20px; border: 1px solid var(--white-bbb); border-radius: 10px; display: flex; justify-content: flex-start; gap: 15px; background: rgba(255, 255, 255, 0.55); }
.edit-page .substitute-wrapper .input-row{ width: auto; margin: 0; }
.edit-page .substitute-wrapper .substitute-info{ margin: 0; gap: 10px; align-items: center; width: auto; }
.edit-page .substitute-wrapper .substitute-info strong{ font-size: 16px; font-weight: 600; margin-left: 5px; }
.edit-page .substitute-wrapper .substitute-info li{ display: flex; align-items: center; width: auto; }
.edit-page .substitute-wrapper .substitute-info .date-info{ display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--grey-333); }
.edit-page .substitute-wrapper .substitute-info .date-info svg{ width: 18px; color: var(--black); }
.edit-page .substitute-wrapper .substitute-info .date-info .calendar{ width: 15px; }
.edit-page .substitute-wrapper .substitute-info .date-info .arrow{ width: 11px; }

.edit-page .substitute-wrapper .substitute-selector{ width: 100%; position: relative; display: flex; align-items: center; }
.edit-page .substitute-wrapper .substitute-selector .substitute-label{ display: block; font-size: 15px; white-space: nowrap; margin-right: 10px; border-left: 2px solid var(--white-aaa); padding-left: 20px; margin-left: 10px; }
.edit-page .substitute-wrapper .substitute-search{ position: relative; width: 100%; min-width: 350px; }
.edit-page .substitute-wrapper .substitute-input{ width: 100%; }
.edit-page .substitute-wrapper .substitute-clear{ position: absolute; top: 50%; right: 10px; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; border: none; background: var(--white-bbb); color: var(--blue-four); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.edit-page .substitute-wrapper .substitute-dropdown{ position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; right: 0; margin: 0; padding: 6px 0; list-style: none; border: 1px solid var(--white-bbb); border-radius: 10px; background: var(--white); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); max-height: 220px; overflow-y: auto; }
.edit-page .substitute-wrapper .substitute-dropdown-item,
.edit-page .substitute-wrapper .substitute-dropdown-hint{ width: 100%; padding: 10px 12px; font-size: 15px; }
.edit-page .substitute-wrapper .substitute-dropdown-item{ cursor: pointer; transition: background-color var(--transition); }
.edit-page .substitute-wrapper .substitute-dropdown-item:hover{ background-color: rgba(19, 111, 180, 0.08); }
.edit-page .substitute-wrapper .substitute-dropdown-hint{ color: var(--grey-333); }
.edit-page .substitute-wrapper .substitute-role-result{ padding-left: 10px; }
.edit-page .substitute-wrapper .substitute-hint{ margin: 0; font-size: 13px; line-height: 1.4; }
.edit-page .substitute-wrapper .substitute-hint.warning{ color: #9a6a00; }
.edit-page .substitute-wrapper .substitute-hint.error{ color: #a22a2a; }
.edit-page .substitute-wrapper .substitute-hint.success{ color: #0c7a2f; display: flex; align-items: center; gap: 6px; }
.edit-page .substitute-wrapper .substitute-role-select{ margin-top: 8px; width: 100%; }

.edit-page .delete-account-section p{ font-size: 16px; padding: 20px 0; }
.edit-page .delete-account-section p strong{ font-weight: bold; }

/* Input Rows */
.edit-page .input-row{ display: flex; gap: 15px; margin-bottom: 15px; width: 100%; }
.edit-page .input-row li{ width: 100%; }
.edit-page .input-row li.date-arrow{ font-size: 22px; width: 30px !important; display: flex; align-items: center; justify-content: center; }
.edit-page .input-row li.check{ display: flex; align-items: center; justify-content: flex-end; min-width: 110px !important; width: 110px !important; padding-top: 4px; }
.edit-page .input-row li .comments{ min-width: 750px; }

.edit-page .title-row{ max-width: 400px; width: 100%; }

/* Actual Role Message */
.edit-page .actual-role{ width: 100%; font-size: 15px; padding: 0 15px; line-height: 1.4; }
.edit-page .actual-role span{ }

/* News */
.edit-page .news-section{ margin-bottom: 40px; }
.edit-page .news-section .media{ width: 250px; min-width: 30px; }
.edit-page .news-section .date{ width: 30px; min-width: 180px; }

/* Back Button */
.edit-page .go-back{ position: fixed; bottom: 30px; right: 30px; width: 50px; height: 50px; background-color: var(--blue-three); color: var(--white); border-radius: 100%; font-size: 24px; display: flex; align-items: center; justify-content: center; box-shadow: var(--box-shadow); text-decoration: none; z-index: 1000; transition: var(--transition); }
.edit-page .go-back:hover{ background-color: var(--blue-four); }
.edit-page .go-back svg{ width: 20px; }

/* ─────────────────────────────────────────────────────────────────────
   EDUCACIÓN — marcas de revisión (2026-09-18)

   El formulario de educación es, sobre todo, una herramienta de
   revisión: la migración al modelo nuevo dejó en `null` todo lo que no
   se pudo deducir con confianza, y sin una marca visible esos huecos no
   se ven hasta abrir el perfil y mirar campo por campo.

   Se usa `--warning` y no `--error` a propósito: falta un dato, no hay
   nada roto. Un rojo en cada entrada entrenaría a ignorarlo.
   ───────────────────────────────────────────────────────────────────── */

.edit-page .education-review {
  margin: 0;
  padding: 0.4rem 0.7rem;
  border-left: 3px solid var(--warning);
  background: color-mix(in srgb, var(--warning) 12%, transparent);
  border-radius: 0 4px 4px 0;
  font-size: 0.85rem;
  color: var(--grey-333);
}

/* Resumen de la sección: cuántas entradas piden revisión. Es texto
   estático y no una región viva — ver el comentario de
   EducationSection.js (hallazgo FE-6). */
.edit-page .education-review-summary {
  margin: 0 0 1rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--grey-333);
}

/* La marca de revisión y la procedencia van juntas: el revisor decide
   mirando las dos a la vez. */
.edit-page .education-entry-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-bottom: 0.75rem;
}

/* Procedencia del dato (2026-09-19): MOVIDO a education-review.css el
   2026-09-20, sin cambiarle un valor.

   El bloque colapsado de procedencia se extrajo a un componente
   (`components/education/EducationSource.js`) porque la cola de revisión
   en serie (/admin/educacion) muestra exactamente el mismo: es la misma
   decisión, tomada en otra pantalla. Scopeado bajo `.edit-page` sólo
   funcionaba acá, y duplicarlo bajo el scope de la otra pantalla habría
   dejado dos copias que se desincronizan en el primer campo nuevo de
   `source`. Ahora va namespaceado por `.education-source`, que es la
   clase del componente. */

/* Cómo se va a ver en el perfil público. Sale de `educationPreview`,
   la misma función que usa el perfil, así que es exacto y no una
   aproximación. */
.edit-page .education-preview {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
  color: var(--grey-666);
  font-style: italic;
}

/* Un nivel sin título (Primaria, Secundaria) deshabilita el campo en vez
   de esconderlo: el campo sigue ahí, y se ve por qué no se puede
   escribir.

   Sin `opacity` (2026-09-19): al 0.5 sobre blanco el texto quedaba en
   ~2.8:1, por debajo del mínimo legible, y era además la única regla del
   archivo sin scopear bajo `.edit-page` — le pegaba a cualquier
   `.info-section` del sitio. Ahora el "no se puede escribir acá" lo dice
   el fondo gris y el cursor, no un texto que no se lee. */
.edit-page .info-section input:disabled {
  background: var(--white-eee);
  color: var(--grey-555);
  cursor: not-allowed;
}

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/duplicates.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
.dup-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 25px; }

.dup-filters{ display: flex; gap: 8px; flex-wrap: wrap; }
.dup-filter{ background: transparent; border: 1px solid var(--white-aaa); color: var(--grey-222); padding: 8px 16px; border-radius: 50px; font-size: 13px; font-weight: 500; font-family: var(--google); cursor: pointer; transition: var(--transition); }
.dup-filter:hover{ color: var(--blue-four); border-color: var(--blue-four); }
.dup-filter.active{ background: var(--blue-two); border-color: var(--blue-two); color: var(--white); }

.dup-muted{ color: var(--grey-666); font-size: 13px; }

.dup-badge{ display: inline-block; background: var(--white-eee); color: var(--grey-555); border-radius: 50px; padding: 2px 9px; font-size: 11px; font-weight: 600; margin-left: 6px; vertical-align: middle; }

.dup-signals{ margin: 0; padding-left: 18px; font-size: 13px; color: var(--grey-222); }
.dup-signals li{ list-style: disc; margin-bottom: 2px; }

.dup-pair-arrow{ color: var(--grey-888); margin: 6px 0; font-size: 16px; }

.dup-actions{ white-space: nowrap; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.dup-actions .button{ font-size: 13px; padding: 9px 14px; }

/*  Pantalla de fusión */
.dup-merge-choice{ border: 1px solid var(--white-ccc); border-radius: 10px; padding: 20px 22px; margin-bottom: 30px; background: var(--white); }
.dup-merge-choice legend{ font-family: var(--google); font-weight: 600; color: var(--blue-four); padding: 0 8px; }
.dup-merge-option{ display: flex; align-items: flex-start; gap: 10px; padding: 8px 0; font-size: 14px; cursor: pointer; }
.dup-merge-option input{ margin-top: 3px; }

.dup-warnings{ margin-bottom: 25px; }
.dup-warnings .form-toast{ display: block; margin-bottom: 10px; line-height: 1.45; }

.dup-confirm{ display: flex; align-items: flex-start; gap: 8px; font-size: 14px; font-weight: 600; color: #a22a2a; padding: 12px 14px; border: 1px solid #e3b9b9; border-radius: 8px; background: #fdf6f6; }

.dup-counts{ display: flex; gap: 40px; flex-wrap: wrap; margin-bottom: 30px; font-size: 14px; }

.dup-note{ display: block; font-size: 14px; font-weight: 500; color: var(--grey-444); margin: 25px 0; }
.dup-note input{ display: block; width: 100%; max-width: 560px; margin-top: 8px; }

.dup-subtitle{ font-family: var(--google); font-weight: 600; font-size: 20px; color: var(--blue-four); margin: 30px 0 12px; }

/* Aviso en la ficha pública */
.politic-review-notice{ display: flex; align-items: flex-start; gap: 10px; background: #fff8e6; border: 1px solid #f0d9a0; border-radius: 8px; padding: 14px 16px; margin-bottom: 25px; font-size: 14px; line-height: 1.45; color: var(--grey-222); }
.politic-review-notice strong{ font-weight: 600; }

/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/css/education-review.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.education-source{ font-size: 0.8rem; color: var(--grey-444); }
.education-source > summary{ cursor: pointer; color: var(--blue-one); text-decoration: underline; width: -moz-fit-content; width: fit-content; }
.education-source[open] > summary{ margin-bottom: 0.5rem; }
.education-source dl{ margin: 0; padding: 0.5rem 0.7rem; border-left: 3px solid var(--white-ccc); background: var(--white-eee); border-radius: 0 4px 4px 0; line-height: 1.45; }
.education-source dl > div + div{ margin-top: 0.4rem; }
.education-source dt{ font-weight: 600; color: var(--grey-222); }
.education-source dd{ margin: 0; }
.education-source .education-source-date{ margin: 0.4rem 0 0; color: var(--grey-555); }

.institution-autocomplete{ position: relative; width: 100%; }

.institution-label{ display: block; font-size: 13px; font-weight: 600; color: var(--grey-333); margin-bottom: 4px; }
.institution-input{ width: 100%; }
.institution-list{ position: absolute; z-index: 40; top: calc(100% + 4px); left: 0; right: 0; margin: 0; padding: 6px 0; list-style: none; border: 1px solid var(--white-bbb); border-radius: 10px; background: var(--white); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); max-height: 260px; overflow-y: auto; }
.institution-list.oculta{ display: none; }
.institution-option{ padding: 9px 12px; font-size: 14px; line-height: 1.35; cursor: pointer; color: var(--grey-222); }
.institution-option.activa{ background-color: rgba(19, 111, 180, 0.1); box-shadow: inset 3px 0 0 var(--blue-two); }
.institution-hint{ margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: var(--grey-555); }
.institution-hint.error{ color: var(--pink-dark); }
.institution-chosen{ margin: 6px 0 0; font-size: 12px; color: var(--grey-555); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.institution-unlink{ background: none; border: none; padding: 0; font-size: 12px; font-family: inherit; color: var(--blue-one); text-decoration: underline; cursor: pointer; }

.edu-review-page .page-title{ font-size: 38px; }
.edu-review-page .edu-toolbar{ display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin: 20px 0 25px; }
.edu-review-page .edu-filters{ display: flex; gap: 8px; flex-wrap: wrap; }
.edu-review-page .edu-filter{ background: transparent; border: 1px solid var(--white-aaa); color: var(--grey-222); padding: 8px 16px; border-radius: 50px; font-size: 13px; font-weight: 500; font-family: var(--google); cursor: pointer; transition: var(--transition); }
.edu-review-page .edu-filter:hover{ color: var(--blue-four); border-color: var(--blue-four); }
.edu-review-page .edu-filter.active{ background: var(--blue-two); border-color: var(--blue-two); color: var(--white); }
.edu-review-page .edu-counter{ margin: 0; font-size: 13px; color: var(--grey-666); }
.edu-review-page .edu-table td{ vertical-align: top; }
.edu-review-page .edu-entry{ font-weight: 600; color: var(--grey-111); margin-bottom: 2px; }
.edu-review-page .edu-muted{ color: var(--grey-666); font-size: 13px; margin-bottom: 6px; }
.edu-review-page .edu-missing{ display: inline-block; padding: 0.3rem 0.6rem; border-left: 3px solid var(--warning); background: color-mix(in srgb, var(--warning) 12%, transparent); border-radius: 0 4px 4px 0; font-size: 0.82rem; color: var(--grey-333); }
.edu-review-page .edu-done{ display: inline-block; padding: 0.3rem 0.6rem; border-left: 3px solid var(--green-dark); background: color-mix(in srgb, var(--green) 14%, transparent); border-radius: 0 4px 4px 0; font-size: 0.82rem; font-weight: 600; color: var(--grey-222); }
.edu-review-page .edu-row.resuelta{ background: var(--white-eee); }
.edu-review-page .edu-editor{ margin-top: 14px; padding: 16px; border: 1px solid var(--white-ccc); border-radius: 10px; background: var(--white); }
.edu-review-page .edu-editor-grid{ display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 14px; }
.edu-review-page .edu-field{ display: flex; flex-direction: column; gap: 4px; flex: 1 1 200px; min-width: 180px; font-size: 13px; font-weight: 600; color: var(--grey-333); }
.edu-review-page .edu-field-wide{ flex: 2 1 340px; }
.edu-review-page .edu-field input,
.edu-review-page .edu-field select{ width: 100%; font-weight: 400; }
.edu-review-page .edu-field.edu-check{ flex: 0 0 auto; flex-direction: row; align-items: center; gap: 8px; align-self: flex-end; padding-bottom: 8px; }
.edu-review-page .edu-field.edu-check input{ width: auto; }
.edu-review-page .edu-editor input:disabled{ background: var(--white-eee); color: var(--grey-555); cursor: not-allowed; }
.edu-review-page .edu-errores{ margin: 0 0 14px; padding: 10px 12px; list-style: none; border-left: 3px solid var(--pink); background: color-mix(in srgb, var(--pink) 8%, transparent); border-radius: 0 4px 4px 0; font-size: 13px; line-height: 1.45; color: var(--grey-222); }
.edu-review-page .edu-editor-actions{ display: flex; gap: 10px; flex-wrap: wrap; }
.edu-review-page .edu-editor-actions .button{ font-size: 13px; padding: 9px 14px; }

/*!****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./src/app/styles.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************/
/* Base */

/* Layout */

/* Components */

/* Pages */

/* Admin */

