@font-face { font-family:'Montserrat'; font-style:normal; font-weight:200 800; font-display:swap; src:url('../../fonts/montserrat-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:200 800; font-display:swap; src:url('../../fonts/montserrat-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:400; font-display:swap; src:url('../../fonts/montserrat-italic-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:italic; font-weight:400; font-display:swap; src:url('../../fonts/montserrat-italic-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Roboto Slab'; font-style:normal; font-weight:100 900; font-display:swap; src:url('../../fonts/roboto-slab-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Roboto Slab'; font-style:normal; font-weight:100 900; font-display:swap; src:url('../../fonts/roboto-slab-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Material Symbols Rounded'; font-style:normal; font-weight:100 700; font-display:block; src:url('../../fonts/material-symbols-rounded.woff2') format('woff2'); }
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html, body { height:100%; }
body { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:500; line-height:1.3; color:#222; background:#ecedf1; -webkit-font-smoothing:antialiased; }
input, select, textarea, button { font:inherit; color:inherit; }
input, select, textarea { font-weight:400 }
.xhr-sending { position:relative; }
.xhr-sending:before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(255,255,255,0.7); z-index:9998; }
.xhr-sending:after { content:'directory_sync'; font-family:'Material Symbols Rounded'; font-variation-settings:'FILL' 1; font-weight:300; font-size:40px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:9999; animation:xhr-sending-spin 1s linear infinite; transform-origin:50% 50%; }
@keyframes xhr-sending-spin { 0% { transform:translate(-50%,-50%) rotate(0deg); } 100% { transform:translate(-50%,-50%) rotate(360deg); } }
body.xhr-sending { position:static; }
body.xhr-sending:before { position:fixed; z-index:99999; width:0%; height:3px; background:#d50000; animation:xhr-sending-bar 2s ease-in-out infinite; }
body.xhr-sending:after { content:none; }
@keyframes xhr-sending-bar { 0% { width:0%; left:0; } 50% { width:100%; left:0; } 100% { width:0%; left:100%; } }
.msym, .msym-filled { flex-shrink:0; font-family:'Material Symbols Rounded'; font-style:normal; font-weight:normal; line-height:1; display:inline-block; white-space:nowrap; direction:ltr; -webkit-font-smoothing:antialiased; font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; width:1em; height:1em; overflow:hidden; }
.msym::before { content:attr(data-icon); }
.msym-filled { font-variation-settings:'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
.msym-filled::before { content:attr(data-icon); }
a { font-family:'Montserrat',sans-serif; font-weight:500; color:#b23600; text-decoration:none; line-height:1.3; transition:color .5s ease }
a:hover { color:#ff8500; }
.link-icon { display:inline-flex; align-items:center; gap:5px; font-family:'Montserrat',sans-serif; font-size:11px; font-weight:500; text-decoration:none; line-height:1.3; white-space:nowrap; }
.link-icon:hover { color:#ff8500; }
.link-icon .msym, .link-icon .msym-filled { font-size:inherit; }
.link-icon.xhr-sending:before, .link-icon.xhr-sending:after { content:none; }
.link-icon.xhr-sending .msym::before, .link-icon.xhr-sending .msym-filled::before { content:'directory_sync'; font-variation-settings:'FILL' 1; display:inline-block; animation:xhr-btn-spin 1s linear infinite; }
.user-icon { width:40px; height:40px; border-radius:50%; border:2px solid #fff; display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; container-type:inline-size; box-shadow:0px 2px 5px -2px #999 }
.user-icon span { font-family:'Roboto Slab',serif; font-weight:700; font-size:50cqi; color:#fff; line-height:1; margin-bottom:3cqi }
.user-icon span.msym-filled, .user-icon span.msym { font-family:'Material Symbols Rounded'; font-size:60cqi }
.user-icon-lock { background:#ddd; }
.user-icon-lock span { font-family:'Material Symbols Rounded'; font-weight:400; font-size:65cqi; color:#919191; font-variation-settings:'FILL' 1; }
.user-icon-pic img { width:100%; height:100%; object-fit:cover; display:block; }
button,
a.btn { display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 41px; background:#222532; color:#fff; border:2px solid #222532; border-radius:3px; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; cursor:pointer; text-decoration:none; white-space:nowrap; transition:background 0.5s, border-color 0.5s, color 0.5s; }
button:focus-visible,
a.btn:focus-visible { color:#b23600; outline:none; }
button:hover,
a.btn:hover { background:#b23600; border-color:#b23600; color:#fff }
button.xhr-sending:before, button.xhr-sending:after,
a.btn.xhr-sending:before, a.btn.xhr-sending:after { content:none; }
.btn-icon { padding:0 24px 0 32px; gap:10px; }
.btn-icon .msym, .btn-icon .msym-filled { font-size:16px; }
.btn-icon.xhr-sending .msym::before, .btn-icon.xhr-sending .msym-filled::before { content:'directory_sync'; font-variation-settings:'FILL' 1; animation:xhr-btn-spin 1s linear infinite; display:inline-block; }
button:not(.btn-icon).xhr-sending { position:relative; }
button:not(.btn-icon).xhr-sending:after { content:'directory_sync'; font-weight:normal; line-height:1px; font-family:'Material Symbols Rounded'; font-variation-settings:'FILL' 1; font-size:16px; position:absolute; right:-28px; top:50%; transform:translateY(-50%); color:#fff; animation:xhr-btn-spin 1s linear infinite; }
button:disabled, a.btn.disabled { background:#ccc; border-color:#ccc; cursor: default; pointer-events: none; }
@keyframes xhr-btn-spin { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"] { height:30px; border:1px solid #ccc; border-radius:3px; padding:0 10px; background:#fff; font-family:'Montserrat',sans-serif; font-size:13px; outline:none; transition:background .5s ease, color .5s ease, border-color 0.5s }
input::placeholder { color:#aaa; font-style:italic; }
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="number"]:focus, input[type="search"]:focus { border-color:rgba(34,37,50,0.6); }
input[type="text"]:hover, input[type="email"]:hover, input[type="password"]:hover, input[type="number"]:hover, input[type="search"]:hover { border-color:#a5401a; }
input[type="text"]:disabled, input[type="email"]:disabled, input[type="password"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled { background:#f9f9f9; border:1px solid #ddd; color:#888 }
.input-icon { position:relative }
.input-icon input { padding-right:45px }
.input-icon .icon { position:absolute; top:0; right:0; margin:0; padding:0; width:30px; height:30px; border:0; background:transparent; color:#000; min-height:auto }
.input-icon .icon .msym, .input-icon .icon .msym-filled { font-size:26px; position:relative }
.input-icon .icon .msym:before, .input-icon .icon .msym-filled:before { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%) }
.input-inline { display:inline-block; position:relative; margin-bottom:4px }
.input-inline input { border:0; margin:0; padding:0; padding-bottom:6px; background:#fff; height:auto; border-radius:0; width:100%; border-bottom:2px solid #eee }
.input-inline .jbx-Input { width:100% }
.input-inline .jbx-Input input { color:transparent; padding-right:0px !important; transition:border .5s ease, color .5s ease }
.input-inline .jbx-controls { display:none }
.input-inline input:hover { color:#222 }
.input-inline input:focus { outline:none; background:#fff; color:#222 }
.input-inline .jbx-Input[jbx-focused] input { border-color:rgba(34,37,50,0.6) }
.input-inline .jbx-Input:hover input { border-color:#a5401a }
.input-inline .jbx-Input:not([jbx-empty]) input { color:#222 }
.input-inline span.label { position:absolute; pointer-events:none; top:100%; left:0; background:#fff; transform:translateY(-65%); padding-right:5px; font-size:9px; color:#aaa; transition:all .5s ease; white-space:nowrap }
.input-inline span.state { position:absolute; pointer-events:none; bottom:0; right:0; background:#fff; transform:translateY(35%); width:16px; color:#aaa }
.input-inline span.state:before { right: 0; position: absolute; top: 50%; transform: translateY(-50%) }
.input-inline input:placeholder-shown ~ span.label { top:50%; transform:translateY(-65%); font-size:inherit; color:#ccc }
.input-inline .jbx-Input[jbx-empty] ~ span.label { top:50%; transform:translateY(-65%); font-size:inherit; color:#ccc }
.input-inline input:focus:placeholder-shown ~ span.label,
.input-inline input:hover:placeholder-shown ~ span.label { top:100%; left:0; transform:translateY(-65%); font-size:9px; color:#aaa }
.input-inline .jbx-Input[jbx-empty][jbx-focused] ~ span.label,
.input-inline .jbx-Input[jbx-empty]:hover ~ span.label { top:100%; left:0; transform:translateY(-65%); font-size:9px; color:#aaa }
.input-inline input:focus ~ span.label,
.input-inline .jbx-Input[jbx-focused] ~ span.label { color:rgba(18, 19, 27, 0.6) }
.input-inline input:focus ~ span.state,
.input-inline .jbx-Input[jbx-focused] ~ span.state { color:rgba(34,37,50,0.6) }
.input-inline input:hover ~ span.label,
.input-inline .jbx-Input:hover ~ span.label { color:#a5401a }
.input-inline input:hover ~ span.state,
.input-inline .jbx-Input:hover ~ span.state { color:#a5401a }
.input-inline input:required ~ span.state:before { content:'check'; font-size:14px; font-weight:normal; transition:color .5s ease }
.input-inline input:required:placeholder-shown ~ span.state:before { content:'check_alert'; font-size:14px; color:#c00; font-weight:normal }
.input-inline.xhr-sending span.state { display:none }
.input-inline.xhr-sending:before { display:none }
.input-inline.xhr-sending:after { top:auto; left:auto; bottom: 0; right: 0; width: 20px; height: 20px; text-align:center; border-radius: 10px; font-size: 13px; transform: translateY(43%); padding:0; padding-top:1.3px; background:#fff; transform-origin: 50% 50%; animation: xhr-sending-spin-input-inline 1s linear infinite; }
.input-inline[data-error] input { border-color:#e00 }
.input-inline[data-error] span.state:before { content:'close' !important; color:#e00 }
.input-inline span.label[data-error] { color:#e00 !important; font-weight:bold }
.input-inline span.label[data-error]:after { content:attr(data-error); font-weight:normal }
@keyframes xhr-sending-spin-input-inline { 0% { transform:translateY(40%) rotate(0deg); } 100% { transform:translateY(40%) rotate(360deg); } }
textarea { height:100px; width:100%; resize:vertical; border:1px solid #ccc; border-radius:3px; padding:10px; background:#fff; font-family:'Montserrat',sans-serif; font-size:13px; outline:none; transition:border-color 0.5s; }
textarea::placeholder { color:#aaa; font-style:italic; }
textarea:hover { border-color:#a5401a; }
textarea:focus { border-color:rgba(34,37,50,0.6); }
.pass-meter .input { position:relative }
.pass-meter input { width:100%; margin:0; padding-right:50px !important; }
.pass-meter .meter { width:34px; height:34px; border-radius:50%; box-shadow:0 1px 1px #bbb; position:absolute; right:8px; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; }
.pass-meter .meter::before { content:''; position:absolute; z-index:2; top:-2px; left:50%; transform:translateX(-50%); width:0; height:0; border:4px solid transparent; border-top:6px solid #000; }
.pass-meter .meter::after { content:''; position:absolute; z-index:1; top:0; left:0; width:34px; height:34px; box-sizing:border-box; border:1px solid #fff; border-radius:50%; background:url('../../gfx/color-wheel.svg') no-repeat center center; transition:transform 0.5s; }
.pass-meter .puntos { display:grid; grid-template-columns:repeat(3, 1fr); flex-grow:1; flex-shrink:1 }
.pass-meter .puntos div { color:#ccc; font-size:9px; line-height:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:4px; text-align:center; transition:color 0.5s; }
.pass-meter.points2 .meter::after { transform:rotate(-45deg); }
.pass-meter.points3 .meter::after { transform:rotate(-90deg); }
.pass-meter.points4 .meter::after { transform:rotate(-135deg); }
.pass-meter.points5 .meter::after { transform:rotate(-180deg); }
.pass-meter.points6 .meter::after { transform:rotate(-225deg); }
.pass-meter.points7 .meter::after { transform:rotate(-270deg); }
.pass-meter.points8 .meter::after { transform:rotate(-315deg); }
.pass-meter.caps .puntos div.caps,
.pass-meter.numbers .puntos div.numbers,
.pass-meter.letters .puntos div.letters,
.pass-meter.symbols .puntos div.symbols,
.pass-meter.length4 .puntos div.length4,
.pass-meter.length8 .puntos div.length8,
.pass-meter.length12 .puntos div.length12,
.pass-meter.alternation .puntos div.alternation { color:#b23600; }
.pass-meter.length4 .puntos div.length4 { font-weight:700 }
label.checkbox { display:inline-flex; align-items:center; height:30px; padding:0; margin:0; cursor:pointer; user-select:none; position:relative; }
label.checkbox > input[type="checkbox"] { position:absolute; width:0; height:0; opacity:0; }
label.checkbox > input[type="checkbox"] + span { display:flex; align-items:center; padding-left:28px; position:relative; font-size:13px; line-height:1; white-space:nowrap; min-height:26px; gap:4px }
label.checkbox > input[type="checkbox"] + span:before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:20px; height:20px; border:1px solid #ccc; border-radius:3px; background:#fff; box-shadow:inset 0 1px 3px -1px #ddd; transition:border-color 0.5s, background 0.5s; }
label.checkbox > input[type="checkbox"] + span:after { content:''; position:absolute; left:7px; top:50%; width:6px; height:11px; border:solid #222532; border-width:0 2px 2px 0; transform:translateY(-60%) rotate(45deg); opacity:0; transition:opacity 0.5s; }
label.checkbox:hover > input[type="checkbox"] + span:before { border-color:#a5401a; }
label.checkbox > input[type="checkbox"]:checked + span:after { opacity:1; }
label.checkbox > input[type="checkbox"]:disabled + span:before { background:#f3f3f3; }
label.checkbox > input[type="checkbox"]:disabled:checked + span:after { opacity:0.3; }
label.checkbox.toggle > input[type="checkbox"] + span { padding:0 10px 0 30px; border-radius:15px; background:#f4f4f4; box-shadow:inset 0 1px 3px -1px #b0b0b0; height:26px; transition:background 0.5s, padding 0.5s, color 0.5s; }
label.checkbox.toggle > input[type="checkbox"] + span:before { border:0; border-radius:50%; width:18px; height:18px; left:4px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,0.15); transition:left 0.5s, background 0.5s; }
label.checkbox.toggle > input[type="checkbox"] + span:after { display:none; }
label.checkbox.toggle > input[type="checkbox"] + span .on { display:none }
label.checkbox.toggle:active > input[type="checkbox"] + span:before,
label.checkbox.toggle > input[type="checkbox"]:focus + span:before { background:#d0d0d0; }
label.checkbox.toggle:hover > input[type="checkbox"] + span:before { background:#3d8a29; }
label.checkbox.toggle > input[type="checkbox"]:checked + span { padding:0 30px 0 10px; background:#55ba37; color:#fff; }
label.checkbox.toggle > input[type="checkbox"]:checked + span:before { left:calc(100% - 22px); background:#fff; }
label.checkbox.toggle > input[type="checkbox"]:checked + span .off { display:none }
label.checkbox.toggle > input[type="checkbox"]:checked + span .on { display:block }
label.checkbox.toggle:active > input[type="checkbox"]:checked + span:before,
label.checkbox.toggle > input[type="checkbox"]:checked:focus + span:before { background:#d0d0d0; }
label.checkbox.toggle:hover > input[type="checkbox"]:checked + span:before { background:#3d8a29; }
label.radio { display:inline-flex; align-items:center; height:30px; padding:0; margin:0; cursor:pointer; user-select:none; position:relative; }
label.radio > input[type="radio"] { position:absolute; width:0; height:0; opacity:0; }
label.radio > input[type="radio"] + span { display:flex; align-items:center; padding-left:28px; padding-right:10px; position:relative; font-size:13px; line-height:1; white-space:nowrap; min-height:26px; transition: color .5s ease }
label.radio > input[type="radio"] + span:before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:20px; height:20px; border:1px solid #ccc; border-radius:50%; background:#fff; box-shadow:inset 0 1px 3px -1px #ddd; transition:border-color 0.5s, background .5s ease }
label.radio > input[type="radio"] + span:after { content:''; position:absolute; left:6px; top:50%; transform:translateY(-50%); width:8px; height:8px; border-radius:50%; background:#222532; opacity:0; transition:opacity 0.5s, background .5s ease; }
label.radio:hover > input[type="radio"] + span:before { border-color:#a5401a; }
label.radio > input[type="radio"]:checked + span:after { opacity:1; }
label.radio > input:disabled + span { color:#999; cursor:default }
label.radio > input:disabled + span:before { background:#f6f6f6; border:1px solid #ddd !important }
label.radio > input:disabled + span:after { background:#bbb }
label.radio.toggle > input[type="radio"] + span { padding:0 10px 0 30px; border-radius:15px; background:#f4f4f4; box-shadow:inset 0 1px 3px -1px #b0b0b0; height:26px; transition:background 0.5s, padding 0.5s, color 0.5s; }
label.radio.toggle > input[type="radio"] + span:before { border:0; border-radius:50%; width:18px; height:18px; left:4px; background:#d0d0d0; box-shadow:0 1px 2px rgba(0,0,0,0.2); transition:left 0.5s, background 0.5s; }
label.radio.toggle > input[type="radio"] + span:after { display:none; }
label.radio.toggle:hover > input[type="radio"] + span:before { background:#999; }
label.radio.toggle > input[type="radio"]:checked + span { padding:0 30px 0 10px; background:#55ba37; color:#fff; }
label.radio.toggle > input[type="radio"]:checked + span:before { left:calc(100% - 22px); background:#fff; }
label.radio.toggle:hover > input[type="radio"]:checked + span:before { background:#e0e0e0; }
select { height:30px; padding:0 28px 0 7px; border:1px solid #ccc; border-radius:3px; background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 10l5 5 5-5z" fill="%23666"/></svg>') no-repeat right 6px center; background-size:20px; font-family:'Montserrat',sans-serif; font-size:13px; outline:none; -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer; transition:border-color 0.5s; text-overflow: ellipsis; }
select:hover { border-color:#a5401a; }
select:focus { border-color:rgba(34,37,50,0.6); }
select:disabled { background-color:#f9f9f9; color:#888; border:1px solid #ddd; cursor:default }
.jbx-Select { height:30px; border-radius:3px }
.jbx-Select .jbx-clear { margin-right:0 }
.jbx-Select [jbx-select-caption] { font-size:13px; font-weight:400; padding-right:20px }
.jbx-Select [jbx-select-caption] { border-radius:3px }
.jbx-Select [jbx-select-caption] > .jbx-option-caption { padding-right:0; padding-left:5px; display:block !important }
.render-error { white-space:pre-wrap }