@layer panel {
@font-face{font-family:Gilroy;src:url(/fonts/gilroy-400.bfd8205dd8.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fonts/gilroy-500.97b1163c39.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fonts/gilroy-600.980e0aeb87.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fonts/gilroy-700.d7bbb1515a.woff2) format("woff2");font-weight:700;font-display:swap}
.i-copy{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJtZWRpYSAmIzM4OyBlZGl0aW5nIC8gY29weSI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOCAxNlY0QzE4IDIuODk1NDMgMTcuMTA0NiAyIDE2IDJINEMyLjg5NTQzIDIgMiAyLjg5NTQzIDIgNFYxNkMyIDE3LjEwNDYgMi44OTU0MyAxOCA0IDE4SDE2QzE3LjEwNDYgMTggMTggMTcuMTA0NiAxOCAxNlpNNCA0SDE2VjE2SDRWNFpNMjAgMThWNkMyMS4xMDQ2IDYgMjIgNi44OTU0MyAyMiA4VjE4QzIyIDIwLjIwOTEgMjAuMjA5MSAyMiAxOCAyMkg4QzYuODk1NDMgMjIgNiAyMS4xMDQ2IDYgMjBIMThDMTkuMTA0NiAyMCAyMCAxOS4xMDQ2IDIwIDE4WiIgZmlsbD0iIzFFMjI0OCIvPgo8L2c+Cjwvc3ZnPgo=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-logout{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHNpZ25fb3V0Ij4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUgMTlIMTAuNUMxMC43NzYxIDE5IDExIDE5LjIyMzkgMTEgMTkuNVYyMC41QzExIDIwLjc3NjEgMTAuNzc2MSAyMSAxMC41IDIxSDVDMy44OTU0MyAyMSAzIDIwLjEwNDYgMyAxOVY1QzMgMy44OTU0MyAzLjg5NTQzIDMgNSAzSDEwLjVDMTAuNzc2MSAzIDExIDMuMjIzODYgMTEgMy41VjQuNUMxMSA0Ljc3NjE0IDEwLjc3NjEgNSAxMC41IDVINVYxOVpNMTUuNjQgNi4xNUwyMC43OCAxMS4yOEMyMC45MTg5IDExLjQyMTcgMjAuOTk3NyAxMS42MTE2IDIxIDExLjgxVjEyLjE5QzIwLjk5OTggMTIuMzg4OCAyMC45MjA3IDEyLjU3OTUgMjAuNzggMTIuNzJMMTUuNjQgMTcuODVDMTUuNTQ2MSAxNy45NDQ3IDE1LjQxODMgMTcuOTk3OSAxNS4yODUgMTcuOTk3OUMxNS4xNTE3IDE3Ljk5NzkgMTUuMDIzOSAxNy45NDQ3IDE0LjkzIDE3Ljg1TDE0LjIyIDE3LjE1QzE0LjEyNTMgMTcuMDU2MSAxNC4wNzIxIDE2LjkyODMgMTQuMDcyMSAxNi43OTVDMTQuMDcyMSAxNi42NjE3IDE0LjEyNTMgMTYuNTMzOSAxNC4yMiAxNi40NEwxNy42NyAxM0g3LjVDNy4yMjM4NiAxMyA3IDEyLjc3NjEgNyAxMi41VjExLjVDNyAxMS4yMjM5IDcuMjIzODYgMTEgNy41IDExSDE3LjY3TDE0LjIyIDcuNTZDMTQuMTI1OSA3LjQ2Nzg0IDE0LjA3MjkgNy4zNDE2OSAxNC4wNzI5IDcuMjFDMTQuMDcyOSA3LjA3ODMxIDE0LjEyNTkgNi45NTIxNiAxNC4yMiA2Ljg2TDE0LjkzIDYuMTVDMTUuMDIzOSA2LjA1NTM0IDE1LjE1MTcgNi4wMDIxIDE1LjI4NSA2LjAwMjFDMTUuNDE4MyA2LjAwMjEgMTUuNTQ2MSA2LjA1NTM0IDE1LjY0IDYuMTVaIiBmaWxsPSIjMUUyMjQ4Ii8+CjwvZz4KPC9zdmc+Cg==");--w:24px;--h:24px;--x:0px;--y:0px}
.i-refresh{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE3Ljk5NTUiIGhlaWdodD0iMTguMDAwOCIgdmlld0JveD0iMCAwIDE3Ljk5NTUgMTguMDAwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBkPSJNMTcuNDk1NSA2Ljk5NjgySDEyLjQ5NTVDMTIuMjE5NCA2Ljk5NjgyIDExLjk5NTUgNi43NzI5NiAxMS45OTU1IDYuNDk2ODJWNi4yMDY4MkMxMS45OTM1IDYuMDcxMjQgMTIuMDQ3OSA1Ljk0MDkgMTIuMTQ1NSA1Ljg0NjgyTDEzLjkyNTUgNC4wNjY4MkMxMi42MjUzIDIuNzQ1MTEgMTAuODQ5NiAxLjk5OTU0IDguOTk1NTEgMS45OTY4MkM1LjE5MjY3IDIuMDA1NCAyLjA5MjI5IDUuMDQ4NTMgMi4wMTI4NCA4Ljg1MDU2QzEuOTMzMzkgMTIuNjUyNiA0LjkwMzkzIDE1LjgyMjYgOC43MDMxIDE1Ljk5QzEyLjUwMjMgMTYuMTU3NSAxNS43NDAyIDEzLjI2MTEgMTUuOTk1NSA5LjQ2NjgyQzE2LjAxMTQgOS4yMDI0NiAxNi4yMzA3IDguOTk2MzQgMTYuNDk1NSA4Ljk5NjgySDE3LjQ5NTVDMTcuNjMxOSA5LjAwMDg3IDE3Ljc2MTEgOS4wNTgzNCAxNy44NTU1IDkuMTU2ODJDMTcuOTQ3NCA5LjI1NzMxIDE3Ljk5NDQgOS4zOTA5MyAxNy45ODU1IDkuNTI2ODJDMTcuNzM3MiAxMy43NjM4IDE0LjU2MjQgMTcuMjUxNSAxMC4zNjczIDE3Ljg5NThDNi4xNzIyNiAxOC41NDAyIDIuMDk3MTYgMTYuMTY2MiAwLjU4ODYxNSAxMi4xOTlDLTAuOTE5OTM0IDguMjMxOTEgMC41NDgxMjkgMy43NTAwMyA0LjExMTQyIDEuNDQ0MkM3LjY3NDcyIC0wLjg2MTYzMiAxMi4zNjQ2IC0wLjM2NDYyOSAxNS4zNjU1IDIuNjM2ODJMMTYuODU1NSAxLjE0NjgyQzE2Ljk0NzIgMS4wNTE2OCAxNy4wNzM0IDAuOTk3NTkxIDE3LjIwNTUgMC45OTY4MjFIMTcuNDk1NUMxNy43NzE3IDAuOTk2ODIxIDE3Ljk5NTUgMS4yMjA2OCAxNy45OTU1IDEuNDk2ODJWNi40OTY4MkMxNy45OTU1IDYuNzcyOTYgMTcuNzcxNyA2Ljk5NjgyIDE3LjQ5NTUgNi45OTY4MloiIGZpbGw9IiMxRTIyNDgiLz4KPC9zdmc+Cg==");--w:17.9955px;--h:18.0008px;--x:3.0048px;--y:3.0024px}
.i-close{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjEyLjAwMDgiIGhlaWdodD0iMTEuOTk5OSIgdmlld0JveD0iMCAwIDEyLjAwMDggMTEuOTk5OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBkPSJNMS4xMTM0NSAwLjE3NTczNkMxLjM0Nzc3IC0wLjA1ODU3ODggMS43Mjc2NiAtMC4wNTg1Nzg1IDEuOTYxOTggMC4xNzU3MzZMNi4wMDA0MyA0LjIxNDE5TDEwLjAzODggMC4xNzU4MzVDMTAuMjczMSAtMC4wNTg0NzkxIDEwLjY1MyAtMC4wNTg0NzkzIDEwLjg4NzMgMC4xNzU4MzVMMTEuODI0MSAxLjExMjU3QzEyLjA1ODQgMS4zNDY4OCAxMi4wNTg0IDEuNzI2NzggMTEuODI0MSAxLjk2MTFMNy43ODU3IDUuOTk5NDVMMTEuODI1IDEwLjAzODhDMTIuMDU5MyAxMC4yNzMxIDEyLjA1OTMgMTAuNjUzIDExLjgyNSAxMC44ODczTDEwLjg4ODMgMTEuODI0MUMxMC42NTQgMTIuMDU4NCAxMC4yNzQxIDEyLjA1ODQgMTAuMDM5OCAxMS44MjQxTDYuMDAwNDMgNy43ODQ3MkwxLjk2MSAxMS44MjQyQzEuNzI2NjggMTIuMDU4NSAxLjM0Njc5IDEyLjA1ODUgMS4xMTI0NyAxMS44MjQyTDAuMTc1NzM2IDEwLjg4NzRDLTAuMDU4NTc4NSAxMC42NTMxIC0wLjA1ODU3ODggMTAuMjczMiAwLjE3NTczNiAxMC4wMzg5TDQuMjE1MTcgNS45OTk0NUwwLjE3NjcxNiAxLjk2MUMtMC4wNTc1OTg4IDEuNzI2NjggLTAuMDU3NTk4NCAxLjM0Njc5IDAuMTc2NzE2IDEuMTEyNDdMMS4xMTM0NSAwLjE3NTczNloiIGZpbGw9IiMxRTIyNDgiLz4KPC9zdmc+Cg==");--w:12.0008px;--h:11.9999px;--x:6px;--y:6px}
.i-info{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAwQzQuNDc3MTUgMCAwIDQuNDc3MTUgMCAxMEMwIDE1LjUyMjggNC40NzcxNSAyMCAxMCAyMEMxNS41MjI4IDIwIDIwIDE1LjUyMjggMjAgMTBDMjAgNy4zNDc4NCAxOC45NDY0IDQuODA0MyAxNy4wNzExIDIuOTI4OTNDMTUuMTk1NyAxLjA1MzU3IDEyLjY1MjIgMCAxMCAwWk0xMCAxOEM1LjU4MTcyIDE4IDIgMTQuNDE4MyAyIDEwQzIgNS41ODE3MiA1LjU4MTcyIDIgMTAgMkMxNC40MTgzIDIgMTggNS41ODE3MiAxOCAxMEMxOCAxMi4xMjE3IDE3LjE1NzEgMTQuMTU2NiAxNS42NTY5IDE1LjY1NjlDMTQuMTU2NiAxNy4xNTcxIDEyLjEyMTcgMTggMTAgMThaTTEwLjUgNS41OTc2OEMxMC43NzYxIDUuNTk3NjggMTEgNS44MjE1NCAxMSA2LjA5NzY4VjcuMDk3NjhDMTEgNy4zNzM4MiAxMC43NzYxIDcuNTk3NjggMTAuNSA3LjU5NzY4SDkuNUM5LjIyMzg2IDcuNTk3NjggOSA3LjM3MzgyIDkgNy4wOTc2OFY2LjA5NzY4QzkgNS44MjE1NCA5LjIyMzg2IDUuNTk3NjggOS41IDUuNTk3NjhIMTAuNVpNMTAuNSA4LjU5NzY4QzEwLjc3NjEgOC41OTc2OCAxMSA4LjY0NTc1IDExIDkuMDQ1ODZWMTMuMTYyOEMxMS4yNjU3IDEzLjIzNjcgMTEuNTMwNiAxMy4zMDExIDExLjc2MDYgMTMuMzUxN0MxMS45MDAyIDEzLjM4MjUgMTIuMDAxIDEzLjUwNTMgMTIuMDAxIDEzLjY0ODNWMTQuMTAyM0MxMi4wMDEgMTQuMjY4IDExLjg2NjcgMTQuNDAyMyAxMS43MDEgMTQuNDAyM0g4LjNDOC4xMzQzMSAxNC40MDIzIDggMTQuMjY4IDggMTQuMTAyM1YxMy42NDgzQzggMTMuNTA1MyA4LjEwMDc2IDEzLjM4MjUgOC4yNDA0MiAxMy4zNTE3QzguNDcwMTIgMTMuMzAxMiA4LjczNDY2IDEzLjIzNjkgOSAxMy4xNjNWOS44MzY5NUM4LjczNDY2IDkuNzYzMSA4LjQ3MDEyIDkuNjk4ODQgOC4yNDA0MiA5LjY0ODI4QzguMTAwNzYgOS42MTc1MyA4IDkuNDk0NzQgOCA5LjM1MTc0VjguODk3NjhDOCA4LjczMTk5IDguMTM0MzEgOC41OTc2OCA4LjMgOC41OTc2OEwxMC41IDguNTk3NjhaIiBmaWxsPSIjMUUyMjQ4Ii8+Cjwvc3ZnPgo=");--w:20px;--h:20px;--x:1.9992px;--y:1.9992px}
.i-key{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJhY3Rpb25zIC8ga2V5Ij4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4LjU5IDNIMjBDMjAuNTUyMyAzIDIxIDMuNDQ3NzIgMjEgNFY2LjVDMjEgNi43NzYxNCAyMC43NzYxIDcgMjAuNSA3SDE4LjYzQzE4LjQ4NjQgNy4wMTA1NiAxOC4zNTQ4IDcuMDgzNjkgMTguMjcgNy4ySDE4LjIyQzE4LjA3OTMgNy4zNDA1MiAxOC4wMDAyIDcuNTMxMTUgMTggNy43M1Y5LjQ5QzE4IDkuNzY2MTQgMTcuNzc2MSA5Ljk5IDE3LjUgOS45OUgxNS43MkMxNS41MjEyIDkuOTkwMTcgMTUuMzMwNSAxMC4wNjkzIDE1LjE5IDEwLjIxTDE0LjkzIDEwLjQ3QzE0Ljc4OTMgMTAuNjEwNSAxNC43MTAyIDEwLjgwMTIgMTQuNzEgMTFWMTEuNzJDMTQuNzA4OSAxMS45ODIzIDE0LjYwNDcgMTIuMjMzNyAxNC40MiAxMi40MkwxMy41NCAxMy4zQzEzLjg0MTggMTMuOTk0MyAxMy45OTgzIDE0Ljc0MyAxNCAxNS41QzE0IDE4LjUzNzYgMTEuNTM3NiAyMSA4LjUgMjFDNS40NjI0MyAyMSAzIDE4LjUzNzYgMyAxNS41QzMgMTIuNDYyNCA1LjQ2MjQzIDEwIDguNSAxMEM5LjI2MTU3IDkuOTk5MDcgMTAuMDE0NyAxMC4xNTkyIDEwLjcxIDEwLjQ3TDE3Ljg5IDMuMjlDMTguMDc2MyAzLjEwNTI2IDE4LjMyNzcgMy4wMDExIDE4LjU5IDNaTTUuNDQgMTYuNTZDNS40NCAxNy42NjQ2IDYuMzM1NDMgMTguNTYgNy40NCAxOC41NkM3Ljk3MDQzIDE4LjU2IDguNDc5MTQgMTguMzQ5MyA4Ljg1NDIxIDE3Ljk3NDJDOS4yMjkyOSAxNy41OTkxIDkuNDQgMTcuMDkwNCA5LjQ0IDE2LjU2QzkuNDQgMTUuNDU1NCA4LjU0NDU3IDE0LjU2IDcuNDQgMTQuNTZDNi4zMzU0MyAxNC41NiA1LjQ0IDE1LjQ1NTQgNS40NCAxNi41NloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-eye{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHZpc2libGVfb3V0bGluZWQiPgo8cGF0aCBpZD0iJiMyNDA7JiMxNTk7JiMxNDI7JiMxNjg7IEljb24gY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjEuOTg3OCAxMS43QzIwLjM1ODIgNy42MTY0NiAxNi4zODgxIDQuOTU0ODQgMTEuOTkzOSA1QzcuNjI4OTkgNC45NzQ3NSAzLjY5MTEzIDcuNjE4NzcgMi4wNTk5NiAxMS42N0MyLjAyMTU1IDExLjc3NTggMi4wMDEyOCAxMS44ODc0IDIgMTJDMS45OTk0NyAxMi4xMDYzIDIuMDE5ODUgMTIuMjExNiAyLjA1OTk2IDEyLjMxQzMuNjg0NzggMTYuMzY5MSA3LjYyNDA1IDE5LjAyMiAxMS45OTM5IDE5QzE2LjM1ODggMTkuMDI1MiAyMC4yOTY3IDE2LjM4MTIgMjEuOTI3OSAxMi4zM0MyMS45NzA2IDEyLjIyNTQgMjEuOTkxMSAxMi4xMTMgMjEuOTg3OCAxMkMyMi4wMDQgMTEuOTAwNyAyMi4wMDQgMTEuNzk5MyAyMS45ODc4IDExLjdaTTExLjk5MzkgMTdDOC42MTIzOSAxNi45OTI0IDUuNTMzMjkgMTUuMDQ5OCA0LjA2ODc0IDEyQzUuNTI4MjMgOC45NDU5OCA4LjYxMDc1IDcuMDAxOTkgMTEuOTkzOSA3LjAwMTk5QzE1LjM3NzEgNy4wMDE5OSAxOC40NTk2IDguOTQ1OTggMTkuOTE5MSAxMkMxOC40NTQ1IDE1LjA0OTggMTUuMzc1NCAxNi45OTI0IDExLjk5MzkgMTdaTTguOTk1NzQgMTJDOC45OTU3NCAxMC4zNDMxIDEwLjMzODEgOSAxMS45OTM5IDlDMTMuNjQ5OCA5IDE0Ljk5MjEgMTAuMzQzMSAxNC45OTIxIDEyQzE0Ljk5MjEgMTMuNjU2OSAxMy42NDk4IDE1IDExLjk5MzkgMTVDMTAuMzM4MSAxNSA4Ljk5NTc0IDEzLjY1NjkgOC45OTU3NCAxMloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-shield{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ0ZWNobm9sb2d5ICYjMzg7IGRhdGEgLyBzZWN1cml0eV9vbl9vdXRsaW5lZCI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4xMiA1LjEyTDE2LjU5IDEuNTlDMTYuMjE0MiAxLjIxMTk2IDE1LjcwMyAwLjk5OTU3OCAxNS4xNyAxSDguODNDOC4yOTY5NiAwLjk5OTU3OCA3Ljc4NTggMS4yMTE5NiA3LjQxIDEuNTlMMy44OCA1LjEyQzMuMzE3MjMgNS42ODIwNyAzLjAwMDcgNi40NDQ2MiAzIDcuMjRWMTMuMDlDMy4wMDE4NSAxNS41NTczIDQuMTQyMDcgMTcuODg1NyA2LjA5IDE5LjRMMTAuMTcgMjIuNThDMTAuNTIxOCAyMi44NTMgMTAuOTU0NyAyMy4wMDA4IDExLjQgMjNIMTIuNkMxMy4wNDUzIDIzLjAwMDggMTMuNDc4MiAyMi44NTMgMTMuODMgMjIuNThMMTcuOTEgMTkuNEMxOS44NTc5IDE3Ljg4NTcgMjAuOTk4MSAxNS41NTczIDIxIDEzLjA5VjcuMjRDMjAuOTk5MyA2LjQ0NDYyIDIwLjY4MjggNS42ODIwNyAyMC4xMiA1LjEyWk0xOSAxMy4xMkMxOS4wMDc5IDE0Ljk3MjUgMTguMTQ5NyAxNi43MjIzIDE2LjY4IDE3Ljg1TDEyLjYgMjFIMTEuNEw3LjMyIDE3LjgyQzUuODUwMyAxNi42OTIzIDQuOTkyMDYgMTQuOTQyNSA1IDEzLjA5VjcuMjRDNS4wMDExIDYuOTc3NjYgNS4xMDUyNiA2LjcyNjI2IDUuMjkgNi41NEw4LjgzIDNIMTUuMTdMMTguNzEgNi41NEMxOC44OTQ3IDYuNzI2MjYgMTguOTk4OSA2Ljk3NzY2IDE5IDcuMjRWMTMuMTJaTTE1LjEyIDhDMTUuMzE0NCA3LjgwOTQzIDE1LjYyNTYgNy44MDk0MyAxNS44MiA4TDE2LjMyIDguNTJDMTYuNDE0NyA4LjYxMzg4IDE2LjQ2NzkgOC43NDE2OCAxNi40Njc5IDguODc1QzE2LjQ2NzkgOS4wMDgzMiAxNi40MTQ3IDkuMTM2MTIgMTYuMzIgOS4yM0wxMC43IDE0Ljg1QzEwLjYwOTMgMTQuOTQ2NyAxMC40ODI2IDE1LjAwMTUgMTAuMzUgMTUuMDAxNUMxMC4yMTc0IDE1LjAwMTUgMTAuMDkwNyAxNC45NDY3IDEwIDE0Ljg1TDcuNjUgMTIuNDlDNy41NTUzNCAxMi4zOTYxIDcuNTAyMSAxMi4yNjgzIDcuNTAyMSAxMi4xMzVDNy41MDIxIDEyLjAwMTcgNy41NTUzNCAxMS44NzM5IDcuNjUgMTEuNzhMOC4xOCAxMS4yNUM4LjI3MDczIDExLjE1MzMgOC4zOTc0MSAxMS4wOTg1IDguNTMgMTEuMDk4NUM4LjY2MjU5IDExLjA5ODUgOC43ODkyNyAxMS4xNTMzIDguODggMTEuMjVMMTAuMzggMTIuNzRMMTUuMTIgOFoiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-server{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ0ZWNobm9sb2d5ICYjMzg7IGRhdGEgLyBjbG91ZF9vdXRsaW5lZCI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgNi42ODYgOC42ODcgNCAxMiA0QzE0Ljk3OSA0IDE3LjQ0NSA2LjE3NCAxNy45MTMgOS4wMjFDMjAuNzU3IDkuMjMzIDIzIDExLjYwMiAyMyAxNC41QzIzIDE3LjUzOCAyMC41MzcgMjAgMTcuNSAyMEg2QzMuMjM4IDIwIDEgMTcuNzYxIDEgMTVDMSAxMi4yMzkgMy4yMzggMTAgNiAxMFpNMTUuOTM5IDkuMzQ2QzE1LjYyMSA3LjQwNyAxMy45NjQgNiAxMiA2QzkuNzk0IDYgOCA3Ljc5NCA4IDEwVjExLjVDOCAxMS43NzYgNy43NzYgMTIgNy41IDEySDZDNC4xNSAxMiAyLjY4NiAxMy42ODMgMy4wNTkgMTUuNTk4QzMuMzM1IDE3LjAyMiA0LjY2OCAxOCA2LjExOSAxOEgxNy41QzE5LjYzOCAxOCAyMS4zMzQgMTYuMDc0IDIwLjk0NCAxMy44NjZDMjAuNjY0IDEyLjI3OSAxOS4yNjIgMTEuMTI3IDE3LjY1NCAxMS4wMDdMMTYuNTg4IDEwLjkyOEMxNi4zNTcgMTAuOTExIDE2LjE2OSAxMC43MzggMTYuMTMyIDEwLjUxTDE1LjkzOSA5LjM0NloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-download{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIGRvd25sb2FkX291dGxpbmVkIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyQzE3LjUyMjggMjIgMjIgMTcuNTIyOCAyMiAxMkMyMiA2LjQ3NzE1IDE3LjUyMjggMiAxMiAyQzYuNDc3MTUgMiAyIDYuNDc3MTUgMiAxMkMyIDE0LjY1MjIgMy4wNTM1NyAxNy4xOTU3IDQuOTI4OTMgMTkuMDcxMUM2LjgwNDMgMjAuOTQ2NCA5LjM0Nzg0IDIyIDEyIDIyWk0xMiA0QzE2LjQxODMgNCAyMCA3LjU4MTcyIDIwIDEyQzIwIDE2LjQxODMgMTYuNDE4MyAyMCAxMiAyMEM3LjU4MTcyIDIwIDQgMTYuNDE4MyA0IDEyQzQgNy41ODE3MiA3LjU4MTcyIDQgMTIgNFpNMTEuODEgMThDMTEuNjExNiAxNy45OTc3IDExLjQyMTcgMTcuOTE4OSAxMS4yOCAxNy43OEw4LjE1IDE0LjY1QzguMDU1MzQgMTQuNTU2MSA4LjAwMjEgMTQuNDI4MyA4LjAwMjEgMTQuMjk1QzguMDAyMSAxNC4xNjE3IDguMDU1MzQgMTQuMDMzOSA4LjE1IDEzLjk0TDguODYgMTMuMjNDOC45NTIxNiAxMy4xMzU5IDkuMDc4MzEgMTMuMDgyOSA5LjIxIDEzLjA4MjlDOS4zNDE2OSAxMy4wODI5IDkuNDY3ODQgMTMuMTM1OSA5LjU2IDEzLjIzTDExIDE0LjY3VjYuNUMxMSA2LjIyMzg2IDExLjIyMzkgNiAxMS41IDZIMTIuNUMxMi43NzYxIDYgMTMgNi4yMjM4NiAxMyA2LjVWMTQuNjdMMTQuNDQgMTMuMjJDMTQuNTMzOSAxMy4xMjUzIDE0LjY2MTcgMTMuMDcyMSAxNC43OTUgMTMuMDcyMUMxNC45MjgzIDEzLjA3MjEgMTUuMDU2MSAxMy4xMjUzIDE1LjE1IDEzLjIyTDE1Ljg1IDEzLjkzQzE1Ljk0NDcgMTQuMDIzOSAxNS45OTc5IDE0LjE1MTcgMTUuOTk3OSAxNC4yODVDMTUuOTk3OSAxNC40MTgzIDE1Ljk0NDcgMTQuNTQ2MSAxNS44NSAxNC42NEwxMi43MiAxNy43OEMxMi41Nzk1IDE3LjkyMDcgMTIuMzg4OCAxNy45OTk4IDEyLjE5IDE4SDExLjgxWiIgZmlsbD0iIzFFMjI0OCIvPgo8L2c+Cjwvc3ZnPgo=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-next{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjYuOTI3OSIgaGVpZ2h0PSIxMS45OTU4IiB2aWV3Qm94PSIwIDAgNi45Mjc5IDExLjk5NTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZD0iTTYuNzA3OSA1LjI3NzlDNi44NDg1OSA1LjQxODQyIDYuOTI3NzIgNS42MDkwNSA2LjkyNzkgNS44MDc5VjYuMTg3OUM2LjkyNTYgNi4zODYzMSA2Ljg0Njc4IDYuNTc2MTggNi43MDc5IDYuNzE3OUwxLjU2NzkgMTEuODQ3OUMxLjQ3NDAyIDExLjk0MjYgMS4zNDYyMiAxMS45OTU4IDEuMjEyOSAxMS45OTU4QzEuMDc5NTggMTEuOTk1OCAwLjk1MTc4MiAxMS45NDI2IDAuODU3ODk5IDExLjg0NzlMMC4xNDc4OTkgMTEuMTM3OUMwLjA1MzgzNTEgMTEuMDQ1NyAwLjAwMDgyNzcyNiAxMC45MTk2IDAuMDAwODI3NzI2IDEwLjc4NzlDMC4wMDA4Mjc3MjYgMTAuNjU2MiAwLjA1MzgzNTEgMTAuNTMwMSAwLjE0Nzg5OSAxMC40Mzc5TDQuNTk3OSA1Ljk5NzlMMC4xNDc4OTkgMS41NTc5QzAuMDUzMjQyOCAxLjQ2NDAyIDAgMS4zMzYyMiAwIDEuMjAyOUMwIDEuMDY5NTggMC4wNTMyNDI4IDAuOTQxNzgyIDAuMTQ3ODk5IDAuODQ3ODk5TDAuODU3ODk5IDAuMTQ3ODk5QzAuOTUxNzgyIDAuMDUzMjQyOCAxLjA3OTU4IDAgMS4yMTI5IDBDMS4zNDYyMiAwIDEuNDc0MDIgMC4wNTMyNDI4IDEuNTY3OSAwLjE0Nzg5OUw2LjcwNzkgNS4yNzc5WiIgZmlsbD0iIzFFMjI0OCIvPgo8L3N2Zz4K");--w:6.9279px;--h:11.9958px;--x:9.072px;--y:6.0024px}
.i-user{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1c2VyIC8gdXNlcl9vdXRsaW5lZCI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNi4wMDQ1IDhDMTYuMDA0NSAxMC4yMDkxIDE0LjIxMyAxMiAxMi4wMDMgMTJDOS43OTMwNSAxMiA4LjAwMTUxIDEwLjIwOTEgOC4wMDE1MSA4QzguMDAxNTEgNS43OTA4NiA5Ljc5MzA1IDQgMTIuMDAzIDRDMTQuMjEzIDQgMTYuMDA0NSA1Ljc5MDg2IDE2LjAwNDUgOFpNMTQuMDAzOCA4QzE0LjAwMzggNi44OTU0MyAxMy4xMDggNiAxMi4wMDMgNkMxMC44OTggNiAxMC4wMDIzIDYuODk1NDMgMTAuMDAyMyA4QzEwLjAwMjMgOS4xMDQ1NyAxMC44OTggMTAgMTIuMDAzIDEwQzEzLjEwOCAxMCAxNC4wMDM4IDkuMTA0NTcgMTQuMDAzOCA4Wk0xOS44OTYgMTguNTVMMTguMDA1MyAxNC42NkMxNy40ODg0IDEzLjYyNDUgMTYuNDIxOCAxMi45Nzg1IDE1LjI2NDMgMTNIOC43NDE3OUM3LjYwMjI2IDEyLjk5NzggNi41NTk3NiAxMy42NDA4IDYuMDUwNzcgMTQuNjZMNC4xMTAwNCAxOC41NUMzLjk1NDAxIDE4Ljg1OTUgMy45Njk0NCAxOS4yMjc3IDQuMTUwODIgMTkuNTIzMUM0LjMzMjIgMTkuODE4NSA0LjY1MzY1IDE5Ljk5OSA1LjAwMDM4IDIwSDE5LjAwNTdDMTkuMzUyNCAxOS45OTkgMTkuNjczOSAxOS44MTg1IDE5Ljg1NTIgMTkuNTIzMUMyMC4wMzY2IDE5LjIyNzcgMjAuMDUyIDE4Ljg1OTUgMTkuODk2IDE4LjU1Wk03Ljg0MTQ1IDE1LjU1TDYuNjIwOTkgMThIMTcuMzg1MUwxNi4xNjQ2IDE1LjU1QzE1Ljk5MzUgMTUuMjEwNSAxNS42NDQ2IDE0Ljk5NzQgMTUuMjY0MyAxNUg4Ljc0MTc5QzguMzYxNDkgMTQuOTk3NCA4LjAxMjU4IDE1LjIxMDUgNy44NDE0NSAxNS41NVoiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-segments{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHNlZ21lbnQtMSI+CjxwYXRoIGlkPSJVbmlvbiIgZD0iTTIxLjEwMjUgMy4wMDQ4OEMyMS42MDY3IDMuMDU2MjEgMjIgMy40ODIzMiAyMiA0VjhMMjEuOTk1MSA4LjEwMjU0QzIxLjk0NzIgOC41NzI5NyAyMS41NzMgOC45NDcyMiAyMS4xMDI1IDguOTk1MTJMMjEgOUgxNkwxNS44OTc1IDguOTk1MTJDMTUuNDI3IDguOTQ3MjIgMTUuMDUyOCA4LjU3Mjk3IDE1LjAwNDkgOC4xMDI1NEwxNSA4VjdIMTNWMTdIMTVWMTZDMTUgMTUuNDgyMyAxNS4zOTMzIDE1LjA1NjIgMTUuODk3NSAxNS4wMDQ5TDE2IDE1SDIxTDIxLjEwMjUgMTUuMDA0OUMyMS42MDY3IDE1LjA1NjIgMjIgMTUuNDgyMyAyMiAxNlYyMEwyMS45OTUxIDIwLjEwMjVDMjEuOTQ3MiAyMC41NzMgMjEuNTczIDIwLjk0NzIgMjEuMTAyNSAyMC45OTUxTDIxIDIxSDE2TDE1Ljg5NzUgMjAuOTk1MUMxNS40MjcgMjAuOTQ3MiAxNS4wNTI4IDIwLjU3MyAxNS4wMDQ5IDIwLjEwMjVMMTUgMjBWMTlIMTNDMTEuODk1NCAxOSAxMSAxOC4xMDQ2IDExIDE3VjEzSDlWMTRMOC45OTUxMiAxNC4xMDI1QzguOTQ3MjIgMTQuNTczIDguNTcyOTcgMTQuOTQ3MiA4LjEwMjU0IDE0Ljk5NTFMOCAxNUgzTDIuODk3NDYgMTQuOTk1MUMyLjQyNzAzIDE0Ljk0NzIgMi4wNTI3OCAxNC41NzMgMi4wMDQ4OCAxNC4xMDI1TDIgMTRWMTBDMiA5LjQ4MjMyIDIuMzkzMzMgOS4wNTYyMSAyLjg5NzQ2IDkuMDA0ODhMMyA5SDhMOC4xMDI1NCA5LjAwNDg4QzguNjA2NjcgOS4wNTYyMSA5IDkuNDgyMzIgOSAxMFYxMUgxMVY3QzExIDUuODk1NDMgMTEuODk1NCA1IDEzIDVIMTVWNEMxNSAzLjQ4MjMyIDE1LjM5MzMgMy4wNTYyMSAxNS44OTc1IDMuMDA0ODhMMTYgM0gyMUwyMS4xMDI1IDMuMDA0ODhaTTE3IDE5SDIwVjE3SDE3VjE5Wk00IDEzSDdWMTFINFYxM1pNMTcgN0gyMFY1SDE3VjdaIiBmaWxsPSIjMUUyMjQ4Ii8+CjwvZz4KPC9zdmc+Cg==");--w:24px;--h:24px;--x:0px;--y:0px}
.i-grid{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIGdyaWRfb3V0bGluZWQiPgo8cGF0aCBpZD0iJiMyNDA7JiMxNTk7JiMxNDI7JiMxNjg7IEljb24gY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTQgMTFIMjBDMjAuNTUyMyAxMSAyMSAxMC41NTIzIDIxIDEwVjRDMjEgMy40NDc3MiAyMC41NTIzIDMgMjAgM0gxNEMxMy40NDc3IDMgMTMgMy40NDc3MiAxMyA0VjEwQzEzIDEwLjU1MjMgMTMuNDQ3NyAxMSAxNCAxMVpNMTEgNFYxMEMxMSAxMC41NTIzIDEwLjU1MjMgMTEgMTAgMTFINEMzLjQ0NzcxIDExIDMgMTAuNTUyMyAzIDEwVjRDMyAzLjQ0NzcyIDMuNDQ3NzEgMyA0IDNIMTBDMTAuNTUyMyAzIDExIDMuNDQ3NzIgMTEgNFpNMTEgMjBWMTRDMTEgMTMuNDQ3NyAxMC41NTIzIDEzIDEwIDEzSDRDMy40NDc3MSAxMyAzIDEzLjQ0NzcgMyAxNFYyMEMzIDIwLjU1MjMgMy40NDc3MSAyMSA0IDIxSDEwQzEwLjU1MjMgMjEgMTEgMjAuNTUyMyAxMSAyMFpNMjEgMTRWMjBDMjEgMjAuNTUyMyAyMC41NTIzIDIxIDIwIDIxSDE0QzEzLjQ0NzcgMjEgMTMgMjAuNTUyMyAxMyAyMFYxNEMxMyAxMy40NDc3IDEzLjQ0NzcgMTMgMTQgMTNMMjAgMTNDMjAuNTUyMyAxMyAyMSAxMy40NDc3IDIxIDE0Wk05IDUuNVY4LjVDOSA4Ljc3NjE0IDguNzc2MTQgOSA4LjUgOUg1LjVDNS4yMjM4NiA5IDUgOC43NzYxNCA1IDguNVY1LjVDNSA1LjIyMzg2IDUuMjIzODYgNSA1LjUgNUg4LjVDOC43NzYxNCA1IDkgNS4yMjM4NiA5IDUuNVpNMTkgOC41VjUuNUMxOSA1LjIyMzg2IDE4Ljc3NjEgNSAxOC41IDVIMTUuNUMxNS4yMjM5IDUgMTUgNS4yMjM4NiAxNSA1LjVWOC41QzE1IDguNzc2MTQgMTUuMjIzOSA5IDE1LjUgOUgxOC41QzE4Ljc3NjEgOSAxOSA4Ljc3NjE0IDE5IDguNVpNMTkgMTUuNVYxOC41QzE5IDE4Ljc3NjEgMTguNzc2MSAxOSAxOC41IDE5SDE1LjVDMTUuMjIzOSAxOSAxNSAxOC43NzYxIDE1IDE4LjVWMTUuNUMxNSAxNS4yMjM5IDE1LjIyMzkgMTUgMTUuNSAxNUgxOC41QzE4Ljc3NjEgMTUgMTkgMTUuMjIzOSAxOSAxNS41Wk05IDE4LjVWMTUuNUM5IDE1LjIyMzkgOC43NzYxNCAxNSA4LjUgMTVINS41QzUuMjIzODYgMTUgNSAxNS4yMjM5IDUgMTUuNVYxOC41QzUgMTguNzc2MSA1LjIyMzg2IDE5IDUuNSAxOUg4LjVDOC43NzYxNCAxOSA5IDE4Ljc3NjEgOSAxOC41WiIgZmlsbD0iIzFFMjI0OCIvPgo8L2c+Cjwvc3ZnPgo=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-chevron-down{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjExLjk5NTgiIGhlaWdodD0iNi45Mjc5IiB2aWV3Qm94PSIwIDAgMTEuOTk1OCA2LjkyNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZD0iTTYuNzE3OSA2LjcwNzlDNi41NzczOCA2Ljg0ODU5IDYuMzg2NzQgNi45Mjc3MiA2LjE4NzkgNi45Mjc5SDUuODA3OUM1LjYwOTQ4IDYuOTI1NiA1LjQxOTYyIDYuODQ2NzggNS4yNzc5IDYuNzA3OUwwLjE0Nzg5OSAxLjU2NzlDMC4wNTMyNDI4IDEuNDc0MDIgMCAxLjM0NjIyIDAgMS4yMTI5QzAgMS4wNzk1OCAwLjA1MzI0MjggMC45NTE3ODIgMC4xNDc4OTkgMC44NTc4OTlMMC44NTc4OTkgMC4xNDc4OTlDMC45NTAwNjMgMC4wNTM4MzUxIDEuMDc2MjEgMC4wMDA4Mjc3MjYgMS4yMDc5IDAuMDAwODI3NzI2QzEuMzM5NTkgMC4wMDA4Mjc3MjYgMS40NjU3NCAwLjA1MzgzNTEgMS41NTc5IDAuMTQ3ODk5TDUuOTk3OSA0LjU5NzlMMTAuNDM3OSAwLjE0Nzg5OUMxMC41MzE4IDAuMDUzMjQyOCAxMC42NTk2IDAgMTAuNzkyOSAwQzEwLjkyNjIgMCAxMS4wNTQgMC4wNTMyNDI4IDExLjE0NzkgMC4xNDc4OTlMMTEuODQ3OSAwLjg1Nzg5OUMxMS45NDI2IDAuOTUxNzgyIDExLjk5NTggMS4wNzk1OCAxMS45OTU4IDEuMjEyOUMxMS45OTU4IDEuMzQ2MjIgMTEuOTQyNiAxLjQ3NDAyIDExLjg0NzkgMS41Njc5TDYuNzE3OSA2LjcwNzlaIiBmaWxsPSIjMUUyMjQ4Ii8+Cjwvc3ZnPgo=");--w:11.9958px;--h:6.9279px;--x:6.0024px;--y:9.072px}
.i-settings{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHNldHRpbmdzX291dGxpbmVkIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjIxIDE0LjA3NDFDMTkuNzI0OSAxMy42NzA3IDE5LjQ1ODEgMTMuMDYxNyAxOS40OSAxMi40MzA5VjEyVjExLjU2OTFDMTkuNDU4MSAxMC45MzgzIDE5LjcyNDkgMTAuMzI5MyAyMC4yMSA5LjkyNTg3TDIxLjAxIDkuMjY0NTVDMjEuMzg2MiA4Ljk1MzM2IDIxLjQ4MzQgOC40MTU2MyAyMS4yNCA3Ljk5MjAyTDIwLjA4IDUuOTg4MDNDMTkuOTAyNCA1LjY3OTg3IDE5LjU3NTEgNS40ODkxOCAxOS4yMiA1LjQ4NzAzQzE5LjA5OTcgNS40ODUwMiAxOC45ODAzIDUuNTA4OTQgMTguODcgNS41NTcxN0wxNy44NyA1LjkxNzg5QzE3LjY0NyA2LjAwNTM1IDE3LjQwOTUgNi4wNDk1NSAxNy4xNyA2LjA0ODE1QzE2Ljc4NjggNi4wNDcxNSAxNi40MTE5IDUuOTM1ODYgMTYuMDkgNS43Mjc1MUMxNS44NTQ5IDUuNTY0NzggMTUuNjA3NSA1LjQyMDcyIDE1LjM1IDUuMjk2NjVDMTQuNzg3MyA1LjAwNzUgMTQuMzk0MiA0LjQ2ODczIDE0LjI5IDMuODQzNzZMMTQuMTIgMi44NDE3NkMxNC4wNDA4IDIuMzUxNzMgMTMuNjE1NCAxLjk5MzcgMTMuMTIgMi4wMDAwOEgxMC44MkMxMC4zMjQ2IDEuOTkzNyA5Ljg5OTIzIDIuMzUxNzMgOS44MiAyLjg0MTc2TDkuNjUgMy44NDM3NkM5LjU1NDQ5IDQuNDYwODQgOS4xNzczNSA0Ljk5ODA0IDguNjMgNS4yOTY2NUM4LjM3MjUgNS40MjA3MiA4LjEyNTA4IDUuNTY0NzggNy44OSA1LjcyNzUxQzcuNTY4MDkgNS45MzU4NiA3LjE5MzIyIDYuMDQ3MTUgNi44MSA2LjA0ODE1QzYuNTcwNTQgNi4wNDk1NSA2LjMzMjk5IDYuMDA1MzUgNi4xMSA1LjkxNzg5TDUuMTEgNS41NTcxN0M0Ljk5OTcgNS41MDg5NCA0Ljg4MDMzIDUuNDg1MDIgNC43NiA1LjQ4NzAzQzQuNDA0ODkgNS40ODkxOCA0LjA3NzU1IDUuNjc5ODcgMy45IDUuOTg4MDNMMi43NiA3Ljk5MjAyQzIuNTE4OTMgOC40MTc5NyAyLjYyMDQyIDguOTU2MTIgMyA5LjI2NDU1TDMuOCA5LjkyNTg3QzQuMjg1MDUgMTAuMzI5MyA0LjU1MTg3IDEwLjkzODMgNC41MiAxMS41NjkxVjEyVjEyLjQzMDlDNC41NTE4NyAxMy4wNjE3IDQuMjg1MDUgMTMuNjcwNyAzLjggMTQuMDc0MUwzIDE0LjczNTRDMi42MjA0MiAxNS4wNDM5IDIuNTE4OTMgMTUuNTgyIDIuNzYgMTYuMDA4TDMuOTIgMTguMDEyQzQuMDk3NTUgMTguMzIwMSA0LjQyNDg5IDE4LjUxMDggNC43OCAxOC41MTNDNC45MDAzMyAxOC41MTUgNS4wMTk3IDE4LjQ5MTEgNS4xMyAxOC40NDI4TDYuMTMgMTguMDgyMUM2LjM1Mjk5IDE3Ljk5NDcgNi41OTA1NCAxNy45NTA0IDYuODMgMTcuOTUxOUM3LjIxMzIyIDE3Ljk1MjggNy41ODgwOSAxOC4wNjQxIDcuOTEgMTguMjcyNUM4LjE0NTA4IDE4LjQzNTIgOC4zOTI1IDE4LjU3OTMgOC42NSAxOC43MDM0QzkuMjEyNyAxOC45OTI1IDkuNjA1NzggMTkuNTMxMyA5LjcxIDIwLjE1NjJMOS44OCAyMS4xNTgyQzkuOTU5MjMgMjEuNjQ4MyAxMC4zODQ2IDIyLjAwNjMgMTAuODggMjEuOTk5OUgxMy4xOEMxMy42NzU0IDIyLjAwNjMgMTQuMTAwOCAyMS42NDgzIDE0LjE4IDIxLjE1ODJMMTQuMzUgMjAuMTU2MkMxNC40NTQyIDE5LjUzMTMgMTQuODQ3MyAxOC45OTI1IDE1LjQxIDE4LjcwMzRDMTUuNjY3NSAxOC41NzkzIDE1LjkxNDkgMTguNDM1MiAxNi4xNSAxOC4yNzI1QzE2LjQ3MTkgMTguMDY0MSAxNi44NDY4IDE3Ljk1MjggMTcuMjMgMTcuOTUxOUMxNy40Njk1IDE3Ljk1MDQgMTcuNzA3IDE3Ljk5NDcgMTcuOTMgMTguMDgyMUwxOC45MyAxOC40NDI4QzE5LjA0MDMgMTguNDkxMSAxOS4xNTk3IDE4LjUxNSAxOS4yOCAxOC41MTNDMTkuNjM1MSAxOC41MTA4IDE5Ljk2MjQgMTguMzIwMSAyMC4xNCAxOC4wMTJMMjEuMyAxNi4wMDhDMjEuNTI4MSAxNS41Njc5IDIxLjQwMDUgMTUuMDI2OCAyMSAxNC43MzU0TDIwLjIxIDE0LjA3NDFaTTEyIDE3LjUxMUM4Ljk2MjQzIDE3LjUxMSA2LjUgMTUuMDQzNiA2LjUgMTJDNi41IDguOTU2MzcgOC45NjI0MyA2LjQ4OTAyIDEyIDYuNDg5MDJDMTUuMDM3NiA2LjQ4OTAyIDE3LjUgOC45NTYzNyAxNy41IDEyQzE3LjUgMTMuNDYxNiAxNi45MjA1IDE0Ljg2MzMgMTUuODg5MSAxNS44OTY4QzE0Ljg1NzYgMTYuOTMwNCAxMy40NTg3IDE3LjUxMSAxMiAxNy41MTFaTTEwIDEyQzEwIDEwLjg5MzIgMTAuODk1NCA5Ljk5NjAxIDEyIDkuOTk2MDFDMTMuMTA0NiA5Ljk5NjAxIDE0IDEwLjg5MzIgMTQgMTJDMTQgMTMuMTA2OCAxMy4xMDQ2IDE0LjAwNCAxMiAxNC4wMDRDMTAuODk1NCAxNC4wMDQgMTAgMTMuMTA2OCAxMCAxMloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-calendar{--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJhY3Rpb25zIC8gY2FsZW5kYXIiPgo8cGF0aCBpZD0iJiMyNDA7JiMxNTk7JiMxNDI7JiMxNjg7IEljb24gY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTggNEgxOUMyMC4xMDQ2IDQgMjEgNC44OTU0MyAyMSA2VjE5QzIxIDIwLjEwNDYgMjAuMTA0NiAyMSAxOSAyMUg1QzMuODk1NDMgMjEgMyAyMC4xMDQ2IDMgMTlWNkMzIDQuODk1NDMgMy44OTU0MyA0IDUgNEg2VjIuNUM2IDIuMjIzODYgNi4yMjM4NiAyIDYuNSAySDcuNUM3Ljc3NjE0IDIgOCAyLjIyMzg2IDggMi41VjRIMTZWMi41QzE2IDIuMjIzODYgMTYuMjIzOSAyIDE2LjUgMkgxNy41QzE3Ljc3NjEgMiAxOCAyLjIyMzg2IDE4IDIuNVY0Wk01IDE5SDE5VjhINVYxOVoiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.i-lupa{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMTAuNSAzYTcuNSA3LjUgMCAwIDEgNS45NiAxMi4wNWw0LjI1IDQuMjQtMS40MiAxLjQyLTQuMjQtNC4yNUE3LjUgNy41IDAgMSAxIDEwLjUgM1ptMCAyYTUuNSA1LjUgMCAxIDAgMCAxMSA1LjUgNS41IDAgMCAwIDAtMTFaJy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.i-consola{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNNCA0aDE2YTIgMiAwIDAgMSAyIDJ2MTJhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yWm0wIDJ2MTJoMTZWNkg0WicvPjxwYXRoIGQ9J002LjMgOS4yIDcuNyA3LjggMTEuOSAxMmwtNC4yIDQuMi0xLjQtMS40TDkuMSAxMiA2LjMgOS4yWk0xMi41IDE0LjVoNS41djJoLTUuNXonLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-candado{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHJlY3QgeD0nNC41JyB5PScxMC41JyB3aWR0aD0nMTUnIGhlaWdodD0nMTAnIHJ4PScyLjUnLz48cGF0aCBkPSdNOCAxMC41VjcuNWE0IDQgMCAwIDEgOCAwdjMnLz48cGF0aCBkPSdNMTIgMTQuNXYyJy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.i-casa{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTQgMTEuNSAxMiA0LjVsOCA3VjE5YTEgMSAwIDAgMS0xIDFoLTQuNXYtNS41aC01VjIwSDVhMSAxIDAgMCAxLTEtMXonLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-bandeja{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTQgMTMuNSA2LjYgNmgxMC44bDIuNiA3LjVWMTlhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMS0xLTF6Jy8+PHBhdGggZD0nTTQgMTMuNWg0LjZsMS40IDIuNWg0bDEuNC0yLjVIMjAnLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-reloj{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PGNpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nOC41Jy8+PHBhdGggZD0nTTEyIDcuNVYxMmwzIDInLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-alerta{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTEwLjMgNC42IDMuMiAxN2EyIDIgMCAwIDAgMS43IDNoMTQuMmEyIDIgMCAwIDAgMS43LTNMMTMuNyA0LjZhMiAyIDAgMCAwLTMuNCAweicvPjxwYXRoIGQ9J00xMiA5LjV2NE0xMiAxN2guMDEnLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.i-marca{--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzIuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNS41IDEyLjRsNC4zIDQuMyA4LjctOC44Jy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}

/* ============ Tokens. Light: Omnica Web Library 2.0. Dark: our own adaptation, without halos ============ */
:root {
  --font: Gilroy, -apple-system, 'Segoe UI', system-ui, sans-serif;
  --mono: ui-monospace, 'Cascadia Mono', Consolas, 'SF Mono', monospace;
  --bg: #F4F6F8; --sup: #FFFFFF; --sup2: #F9FAFB; --sup3: #EEF1F3; --hover: #F3F5F7;
  --linea: #E2E6EB; --linea2: #CDD3DB;
  --tinta: #1E2248; --suave: #5E6A7B; --tenue: #8792A2;
  --azul: #005EEB; --azul-h: #0052CC; --azul-s: #EDF4FF; --azul-s2: #DCE9FF; --azul-tinta: #0047B3;
  --pri-a: #0A6CFF; --pri-b: #005BD5; --pri-tinta: #FFFFFF;
  --bien-f: #E9FBF6; --bien: #11654A; --bien-p: #19A97B;
  --mal-f: #FFEDED; --mal: #B42335; --mal-p: #E5484D; --relleno-rojo: #B42335;
  --aviso-f: #FFF6E8; --aviso: #965601; --aviso-p: #E99A2C;
  --morado: #6528D7; --morado-f: #F1EBFC;
  --nav: #1E2248; --nav-tinta: #BCC3E0;
  --sh1: 0 1px 2px rgba(30, 34, 72, .06), 0 1px 3px rgba(30, 34, 72, .06);
  --sh-ind: 0 0 0 1px rgba(30, 34, 72, .07), 0 0 3px rgba(30, 34, 72, .08);
  --sh2: 0 6px 16px -4px rgba(30, 34, 72, .12), 0 2px 4px -2px rgba(30, 34, 72, .06);
  --sh3: 0 24px 48px -12px rgba(30, 34, 72, .24), 0 4px 8px -4px rgba(30, 34, 72, .08);
  --velo: rgba(22, 26, 52, .32);
  --sombra-cajon: -24px 0 64px rgba(30, 34, 72, .16);
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0F141F; --sup: #171E2C; --sup2: #141A27; --sup3: #212A3B; --hover: #1C2434;
    --linea: #2B3547; --linea2: #3D4A60;
    --tinta: #EEF1F7; --suave: #AEB9CB; --tenue: #7F8BA0;
    --azul: #8EC0FF; --azul-h: #AFD3FF; --azul-s: #1B2E4C; --azul-s2: #22395E; --azul-tinta: #B4D6FF;
    --pri-a: #A9D0FF; --pri-b: #86B6F2; --pri-tinta: #10223A;
    --bien-f: #12322E; --bien: #74D9B8; --bien-p: #3CCB9C;
    --mal-f: #3E2230; --mal: #FF8A8A; --mal-p: #FF7A7A; --relleno-rojo: #C92A3A;
    --aviso-f: #3B321D; --aviso: #FFCF87; --aviso-p: #F2B54E;
    --morado: #B79BFF; --morado-f: #30264A;
    --nav: #141A27; --nav-tinta: #C9D3EA;
    --sh1: 0 1px 2px rgba(0, 0, 0, .3); --sh-ind: 0 0 0 1px rgba(255, 255, 255, .07);
    --sh2: 0 6px 16px -4px rgba(0, 0, 0, .45), 0 2px 4px -2px rgba(0, 0, 0, .3);
    --sh3: 0 24px 48px -12px rgba(0, 0, 0, .6), 0 4px 8px -4px rgba(0, 0, 0, .35);
    --velo: rgba(4, 7, 13, .6);
    --sombra-cajon: -30px 0 80px rgba(0, 0, 0, .45);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0F141F; --sup: #171E2C; --sup2: #141A27; --sup3: #212A3B; --hover: #1C2434;
  --linea: #2B3547; --linea2: #3D4A60;
  --tinta: #EEF1F7; --suave: #AEB9CB; --tenue: #7F8BA0;
  --azul: #8EC0FF; --azul-h: #AFD3FF; --azul-s: #1B2E4C; --azul-s2: #22395E; --azul-tinta: #B4D6FF;
  --pri-a: #A9D0FF; --pri-b: #86B6F2; --pri-tinta: #10223A;
  --bien-f: #12322E; --bien: #74D9B8; --bien-p: #3CCB9C;
  --mal-f: #3E2230; --mal: #FF8A8A; --mal-p: #FF7A7A; --relleno-rojo: #C92A3A;
  --aviso-f: #3B321D; --aviso: #FFCF87; --aviso-p: #F2B54E;
  --morado: #B79BFF; --morado-f: #30264A;
  --nav: #141A27; --nav-tinta: #C9D3EA;
  --sh1: 0 1px 2px rgba(0, 0, 0, .3); --sh-ind: 0 0 0 1px rgba(255, 255, 255, .07);
  --sh2: 0 6px 16px -4px rgba(0, 0, 0, .45), 0 2px 4px -2px rgba(0, 0, 0, .3);
  --sh3: 0 24px 48px -12px rgba(0, 0, 0, .6), 0 4px 8px -4px rgba(0, 0, 0, .35);
  --velo: rgba(4, 7, 13, .6);
  --sombra-cajon: -30px 0 80px rgba(0, 0, 0, .45);
  color-scheme: dark;
}
.solo-oscuro { display: none !important; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .solo-oscuro { display: inline-block !important; }
  :root:not([data-theme="light"]) .solo-claro { display: none !important; }
}
:root[data-theme="dark"] .solo-oscuro { display: inline-block !important; }
:root[data-theme="dark"] .solo-claro { display: none !important; }

/* ============ Base ============ */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); color: var(--tinta); font: 15px/22px var(--font); letter-spacing: -.2px; -webkit-font-smoothing: antialiased; }
button, input, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
a { color: var(--azul); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; border-radius: 6px; }
[hidden] { display: none !important; }
h1, h2, h3 { margin: 0; text-wrap: balance; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 0; }
.oculto, .oculto-ico { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.oculto-ico { display: none !important; }
.mono { font-family: var(--mono); letter-spacing: 0; font-size: .92em; }
kbd { font: 600 11px/16px var(--mono); padding: 1px 6px; border-radius: 5px; border: 1px solid var(--linea2); background: var(--sup); color: var(--suave); }
/* The theme change: the new one opens in a circle from the button pressed (arranque.js, aplicarTema); no fades. */
html.tema-vt::view-transition-old(root), html.tema-vt::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
html.tema-vt::view-transition-old(root) { z-index: 1; } html.tema-vt::view-transition-new(root) { z-index: 2; }

/* Omnica icons: the original SVG as a mask, in the theme's colour */
.i { --s: 1; display: inline-block; flex: 0 0 auto; width: calc(24px * var(--s)); height: calc(24px * var(--s)); background: currentColor;
  -webkit-mask: var(--m) no-repeat; mask: var(--m) no-repeat;
  -webkit-mask-size: calc(var(--w) * var(--s)) calc(var(--h) * var(--s)); mask-size: calc(var(--w) * var(--s)) calc(var(--h) * var(--s));
  -webkit-mask-position: calc(var(--x) * var(--s)) calc(var(--y) * var(--s)); mask-position: calc(var(--x) * var(--s)) calc(var(--y) * var(--s)); }
.marca-ok { position: relative; display: inline-block; width: 14px; height: 14px; flex: 0 0 auto; }
.marca-ok::after { content: ''; position: absolute; left: 4px; top: 0; width: 5px; height: 10px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* ============ Movimiento ============ */
.ind { position: absolute; left: 0; top: 0; z-index: 0; width: var(--w, 0); height: var(--h, 0); transform: translate(var(--x, 0), var(--y, 0)); pointer-events: none;
  transition: transform .42s var(--ease), width .42s var(--ease), height .42s var(--ease), opacity .2s; }
.ind.sin-trans { transition: none !important; }
.ind.ind-fuera { opacity: 0; }
[data-desliza] { position: relative; isolation: isolate; }
[data-desliza] > :not(.ind) { position: relative; z-index: 1; }
@keyframes sube { from { opacity: 0; transform: translateY(8px); } }
@keyframes aparece { from { opacity: 0; } }
@keyframes crece { from { width: 0; } }
@keyframes revela { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes anillo-in { from { stroke-dashoffset: 100; } }
@keyframes brillo { 0% { background-position: -240px 0; } 100% { background-position: 240px 0; } }
@keyframes latido { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes gira { to { transform: rotate(360deg); } }
.entra .cab { animation: sube .45s var(--ease) both; }
.entra .herramientas, .entra .pestanas, .entra .metricas { animation: sube .45s .04s var(--ease) both; }
.entra .tabla-caja, .entra .dos-col, .entra .paginador, .entra .tarjeta, .entra .bento, .entra .rejilla-ases, .entra .temas, .entra .grupo, .entra .mapa, .entra .d3-doble, .entra .filtros-reg { animation: sube .5s .07s var(--ease) both; }
.entra tbody tr, .entra .tsub, .entra .fila-a, .entra .d3-item, .entra .met, .entra .ases, .entra .bt, .entra .bloque { animation: sube .5s var(--ease) both; animation-delay: calc(min(var(--n, 0), 12) * 30ms + 60ms); }
.entra .barra i, .aparece .barra i { animation: crece 1s .12s var(--ease) both; }
.entra .an-v, .aparece .an-v { animation: anillo-in 1.1s .12s var(--ease) both; }
.entra .chispa, .entra .grafica svg, .aparece .chispa, .aparece .grafica svg { animation: revela 1.2s .15s var(--ease-io) both; }
.aparece { animation: sube .38s var(--ease) both; }
.abre { animation: entra-lado .46s var(--ease) both; }
.cambia > * { animation: sube .35s var(--ease) both; }
@keyframes entra-lado { from { opacity: 0; transform: translateX(28px); } }
.quieto *, .quieto *::before, .quieto *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
::view-transition-old(root) { animation: 160ms ease both vt-sale; }
::view-transition-new(root) { animation: 340ms var(--ease) both vt-entra; }
@keyframes vt-sale { to { opacity: 0; } }
@keyframes vt-entra { from { opacity: 0; transform: translateY(6px); } }
::view-transition-group(compartido) { animation-duration: 440ms; animation-timing-function: var(--ease); }
::view-transition-old(compartido), ::view-transition-new(compartido) { height: 100%; width: auto; }

/* ============ Botones ============ */
.b { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 16px; border-radius: 6px; white-space: nowrap;
  font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: -.15px;
  transition: background .2s, box-shadow .2s, transform .16s var(--ease), border-color .2s, color .2s; }
.b .i { --s: .75; }
.b-pri { background: linear-gradient(180deg, var(--pri-a), var(--pri-b)); color: var(--pri-tinta); box-shadow: 0 1px 2px rgba(0, 72, 180, .22), inset 0 1px 0 rgba(255, 255, 255, .16); }
.b-pri:hover { background: linear-gradient(180deg, var(--azul-h), var(--azul-h)); }
.b-sec { background: var(--sup); border: 1px solid var(--linea2); color: var(--tinta); box-shadow: var(--sh1); }
.b-sec:hover { background: var(--hover); border-color: var(--tenue); }
.b-fantasma { color: var(--suave); }
.b-fantasma:hover { background: var(--hover); color: var(--tinta); }
/* The filled red always goes with --relleno-rojo (simlatech.ai's): 4.5:1 or more under white letters. */
.b-peligro { background: var(--relleno-rojo); color: #fff; }
.b-bien { background: var(--bien-f); color: var(--bien); }
.b-discontinuo { border-style: dashed; color: var(--suave); box-shadow: none; }
.b-discontinuo:hover { color: var(--azul); border-color: var(--azul); background: var(--azul-s); }
.b:active:not(:disabled), .bi:active, .nav-op:active, .pild:active, .dk-vers button:active { transform: scale(.97); }
/* What is disabled reads (#67, #69, 0.11.2): a disabled button goes grey at full opacity, never its colour at 45% (2.1:1 in light, 2.9:1
   in dark); it wins over each variant and its hover. A button that is working (.cargando) is busy, not disabled: it keeps its colour */
.b:disabled:not(.cargando) { opacity: 1; cursor: not-allowed; color: var(--suave) !important; background: var(--sup2) !important; border-color: var(--linea) !important; box-shadow: none !important; }
.b:disabled:not(.cargando) .i { color: var(--tenue) !important; }
.b.b-fantasma:disabled:not(.cargando) { background: transparent !important; border-color: transparent !important; color: var(--tenue) !important; }
.b.cargando:disabled { opacity: 1; cursor: progress; }
.b-ancho { width: 100%; }
.b-alto { height: 42px; font-size: 15px; }
.b.cargando { color: transparent; position: relative; }
.b.cargando::after { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--pri-tinta); border-right-color: transparent; animation: gira .7s linear infinite; }
/* on a button without a coloured background the spinner goes blue (white on white was not seen, #69) */
.b.cargando:not(.b-pri):not(.b-peligro)::after { border-color: var(--azul); border-right-color: transparent; }
.bi { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; color: var(--suave); flex: 0 0 auto; transition: background .18s, color .18s, transform .16s var(--ease); }
.bi .i { --s: .78; }
.bi:hover { background: var(--hover); color: var(--tinta); }
.bi-pri { background: linear-gradient(180deg, var(--pri-a), var(--pri-b)); color: var(--pri-tinta); }
.bi-pri:hover { background: var(--azul-h); color: var(--pri-tinta); }
.bi-peligro:hover { background: var(--mal-f); color: var(--mal); }
.bi.apagado { opacity: .3; pointer-events: none; }
/* Copy (2026-10-27, option 1 of the copiar-y-crear mockup): on copying, the icon turns into a green mark in its place (.cp-m, which
   copiado() puts over the centre of the icon) and the button's text into «Copiado». Only transform and opacity. */
[data-a="copiar"], [data-a="copiar-sesion"] { position: relative; }
[data-a="copiar"] > .i:not(.cp-m), [data-a="copiar-sesion"] > .i:not(.cp-m) { transition: transform .26s var(--ease), opacity .18s; }
[data-a] > .cp-m { position: absolute; color: var(--bien-p); pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.4) rotate(-20deg); transition: transform .34s cubic-bezier(.34, 1.56, .64, 1), opacity .16s; }
.copiado > .i:not(.cp-m) { opacity: 0; transform: scale(.5) rotate(20deg); }
[data-a].copiado > .cp-m { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.b.copiado { color: var(--bien); }
@media (prefers-reduced-motion: reduce) { [data-a="copiar"] > .i, [data-a="copiar-sesion"] > .i { transition-duration: .01ms; } }
.solo-lector { position: fixed; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.enlace { color: var(--azul); font-size: 14px; font-weight: 600; justify-self: center; }
.enlace:hover { text-decoration: underline; }

/* ============ Small data ============ */
.chapa { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px; border-radius: 999px; background: var(--sup3); color: var(--suave);
  font-size: 12.5px; line-height: 16px; font-weight: 600; letter-spacing: -.05px; white-space: nowrap; }
.chapa .i { --s: .55; }
.c-bien { background: var(--bien-f); color: var(--bien); } .c-mal { background: var(--mal-f); color: var(--mal); }
.c-aviso { background: var(--aviso-f); color: var(--aviso); } .c-azul { background: var(--azul-s); color: var(--azul-tinta); }
.chapas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.estado { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; line-height: 18px; font-weight: 600; white-space: nowrap; }
.estado i { width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto; }
.e-bien { color: var(--bien); } .e-bien i { background: var(--bien-p); }
.e-mal { color: var(--mal); } .e-mal i { background: var(--mal-p); animation: latido 2.4s ease-in-out infinite; }
.e-neutro { color: var(--suave); } .e-neutro i { background: var(--tenue); }
.vivo { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; color: var(--bien); letter-spacing: .2px; }
.vivo i { width: 6px; height: 6px; border-radius: 50%; background: var(--bien-p); animation: latido 2s ease-in-out infinite; }
.barra { display: block; height: 6px; min-width: 48px; border-radius: 99px; background: var(--sup3); overflow: hidden; }
.barra i { display: block; height: 100%; width: var(--p); border-radius: inherit; background: var(--azul); transition: width .7s var(--ease), background .4s; }
.barra.t-aviso i { background: var(--aviso-p); } .barra.t-mal i { background: var(--mal-p); }
.barra-fina { height: 4px; }
.anillo { position: relative; display: grid; justify-items: center; text-align: center; gap: 1px; }
.anillo svg { width: 64px; height: 64px; transform: rotate(-90deg); }
.anillo circle { fill: none; stroke-width: 5; }
.an-f { stroke: var(--sup3); }
.an-v { stroke: var(--azul); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--p)); transition: stroke-dashoffset .8s var(--ease), stroke .4s; }
.anillo.t-aviso .an-v { stroke: var(--aviso-p); } .anillo.t-mal .an-v { stroke: var(--mal-p); }
.anillo b { position: absolute; top: 20px; left: 0; right: 0; font-size: 14px; line-height: 24px; font-variant-numeric: tabular-nums; }
.anillo small { font-size: 12px; font-weight: 600; } .anillo em { font-style: normal; font-size: 11px; color: var(--suave); line-height: 14px; }
.chispa { width: 72px; height: 22px; overflow: visible; }
.chispa polyline { fill: none; stroke: var(--azul); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.ch-area { fill: var(--azul-s); }
.av { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-size: 11px; font-weight: 700; letter-spacing: 0; flex: 0 0 auto; }
.avs { display: inline-flex; } .avs .av { box-shadow: 0 0 0 2px var(--sup); } .avs .av + .av { margin-left: -7px; background: var(--morado-f); color: var(--morado); }
.av-grande { width: 40px; height: 40px; font-size: 14px; }
.av-retrato { width: 112px; height: 112px; font-size: 36px; }
.persona { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.persona b { display: block; font-size: 14px; font-weight: 600; } .persona small { display: block; font-size: 12px; color: var(--suave); }
.sd { display: grid; min-width: 0; }
.sd b { font-size: 14.5px; line-height: 20px; font-weight: 600; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.sd small { font-size: 12px; line-height: 16px; color: var(--suave); overflow: hidden; text-overflow: clip; white-space: nowrap; }
.tu { font-style: normal; font-size: 11px; font-weight: 700; color: var(--azul-tinta); background: var(--azul-s); border-radius: 4px; padding: 1px 6px; margin-left: 4px; }

/* ============ Controles ============ */
.apariencia { display: inline-flex; gap: 2px; padding: 2px; height: 30px; border-radius: 999px; background: var(--sup3); flex: 0 0 auto; }
.apariencia > .ind { background: var(--sup); border-radius: 999px; box-shadow: var(--sh-ind); }
.apariencia button { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--suave); transition: color .2s; }
.apariencia button:hover, .apariencia button[aria-pressed="true"] { color: var(--tinta); }
.apariencia svg { width: 14px; height: 14px; }
.marca { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.marca img { width: 28px; height: 28px; display: block; flex: 0 0 auto; }
.marca b { font-size: 15.5px; font-weight: 700; white-space: nowrap; letter-spacing: -.3px; }
.logo-largo img { display: block; width: auto; height: 30px; }
.seg { display: inline-flex; gap: 2px; padding: 3px; border-radius: 9px; background: var(--sup3); max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; flex: 0 0 auto; }
.seg::-webkit-scrollbar { display: none; }
/* The indicator, with the same gap above and below, also to the eye: no shadow shifted downwards (2026-10-14). */
.seg > .ind { background: var(--sup); border-radius: 7px; box-shadow: var(--sh-ind); }
.seg button { height: 28px; padding: 0 12px; border-radius: 7px; color: var(--suave); font-size: 13.5px; font-weight: 600; white-space: nowrap; transition: color .2s; display: inline-flex; align-items: center; gap: 6px; }
.seg button:hover, .seg button[aria-pressed="true"] { color: var(--tinta); }
.seg button em { font-style: normal; font-size: 11.5px; color: var(--tenue); font-variant-numeric: tabular-nums; }
/* The figure, on the baseline of its text (Luis, 2026-11-03, design/ajustes-listas: «los números en cada tab… se ven movidos»):
   centred in its box, with Gilroy it sat 0.7 px higher than the text. The text stays centred (16 px line). */
.seg button:has(> em) { align-items: baseline; line-height: 16px; padding-top: 6px; }
.seg-chico button:has(> em) { padding-top: 4px; }
.seg-chico button { height: 24px; padding: 0 9px; font-size: 12.5px; }
.seg-ancho { display: flex; } .seg-ancho button { flex: 1; justify-content: center; }
.pestanas { display: flex; gap: 4px; border-bottom: 1px solid var(--linea); margin-bottom: 18px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.pestanas > .ind-raya { top: auto; bottom: 0; height: 2px !important; transform: translateX(var(--x, 0)); background: var(--azul); border-radius: 2px; }
.pestanas button { height: 42px; padding: 0 12px; color: var(--suave); font-size: 14px; font-weight: 600; white-space: nowrap; transition: color .2s; display: inline-flex; align-items: center; gap: 6px; }
.pestanas button:hover, .pestanas button[aria-pressed="true"] { color: var(--tinta); }
.pestanas[data-borde="dcha"] { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
.pestanas[data-borde="izq"] { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); }
.pestanas[data-borde="ambos"] { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
.pestanas button em { font-style: normal; font-size: 11px; padding: 0 6px; border-radius: 99px; background: var(--sup3); color: var(--suave); }
.interruptor { position: relative; width: 38px; height: 22px; border-radius: 999px; background: var(--linea2); transition: background .25s; flex: 0 0 auto; }
.interruptor i { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: var(--sh1); transition: transform .3s var(--ease); }
.interruptor[aria-checked="true"] { background: var(--azul); } .interruptor[aria-checked="true"] i { transform: translateX(16px); }
.campo { display: grid; gap: 8px; min-width: 0; }
.campo-rot { font-size: 13px; line-height: 18px; font-weight: 600; color: var(--suave); }
.in { width: 100%; height: 36px; padding: 0 14px; border-radius: 6px; border: 1px solid var(--linea2); background: var(--sup); color: var(--tinta); font-size: 14px; transition: border-color .18s, box-shadow .18s; }
/* On the phone and the tablet, iOS Safari zooms the page in when a field with letters under 16 px is touched and does not
   zoom back: the send button went off the screen (Luis, 2026-10-15). With 16 px it zooms nothing. Also the terminal's
   hidden field (xterm) and the email's editable ones. */
@media (pointer: coarse), (max-width: 600px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea, select, [contenteditable="true"] { font-size: 16px !important; }
}
textarea.in { height: auto; padding: 8px 14px; resize: vertical; line-height: 20px; }
.in::placeholder { color: var(--tenue); }
.in:hover { border-color: var(--tenue); }
.in:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.in[readonly] { background: var(--sup2); color: var(--suave); }
.in-con { position: relative; display: block; }
.in-con .in { padding-right: 42px; }
.in-con .bi, .in-con .in-ico { position: absolute; right: 1px; top: 1px; }
.in-ico { margin: 5px 8px; color: var(--suave); --s: .78; pointer-events: none; }
.in-sufijo { display: flex; }
.in-sufijo .in { border-radius: 6px 0 0 6px; font-family: var(--mono); letter-spacing: 0; }
.in-sufijo em { display: grid; place-items: center; padding: 0 12px; border: 1px solid var(--linea2); border-left: 0; border-radius: 0 6px 6px 0; background: var(--sup3); color: var(--suave); font-style: normal; font-size: 13.5px; white-space: nowrap; }
.campo-nombre { display: grid; gap: 6px; }
.valida { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--tenue); font-family: var(--mono); letter-spacing: 0; transition: color .2s; }
.valida .i { --s: .55; } .v-bien { color: var(--bien); } .v-mal { color: var(--mal); }
.desp { position: relative; display: block; }
.desp-boton { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; }
.desp-boton span { overflow: hidden; text-overflow: clip; white-space: nowrap; }
.desp-flecha { --s: .68; color: var(--suave); transition: transform .25s var(--ease); }
.desp-boton[aria-expanded="true"] { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.desp-boton[aria-expanded="true"] .desp-flecha { transform: rotate(180deg); }
.desp-lista { position: absolute; z-index: 45; top: calc(100% + 6px); left: 0; right: 0; max-height: 248px; overflow: auto; padding: 4px; border-radius: 10px; background: var(--sup); border: 1px solid var(--linea); box-shadow: var(--sh2); transform-origin: top; animation: menu-in .2s var(--ease) both; }
.desp-lista button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; height: 34px; padding: 0 10px; border-radius: 6px; font-size: 13.5px; text-align: left; transition: background .15s; }
.desp-lista button span { overflow: hidden; text-overflow: clip; white-space: nowrap; }
.desp-lista button:hover { background: var(--hover); }
.desp-lista button[aria-selected="true"] { background: var(--azul-s); color: var(--azul-tinta); font-weight: 600; }
@keyframes menu-in { from { opacity: 0; transform: translateY(-4px) scale(.98); } }

/* Pop-up menus: compact */
.menu-ancla, .cuenta-ancla { position: relative; display: inline-flex; }
.pop { position: absolute; z-index: 50; top: calc(100% + 8px); right: 0; min-width: 232px; padding: 5px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); box-shadow: var(--sh3); transform-origin: top right; animation: menu-in .22s var(--ease) both; text-align: left; }
.pop-arriba { top: auto; bottom: calc(100% + 8px); left: 0; right: auto; transform-origin: bottom left; }
.pop-op { display: flex; align-items: center; gap: 10px; width: 100%; height: 34px; padding: 0 10px; border-radius: 7px; font-size: 13.5px; font-weight: 500; transition: background .15s; }
.pop-op .i { --s: .68; color: var(--suave); }
.pop-op:hover { background: var(--hover); }
.op-peligro, .op-peligro .i { color: var(--mal) !important; }
.pop-yo { display: flex; gap: 10px; align-items: center; padding: 8px 8px 10px; }
.pop-yo b { display: block; font-size: 14px; } .pop-yo small { display: block; font-size: 12px; color: var(--suave); }
.pop-fila { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px 8px; margin-bottom: 4px; border-bottom: 1px solid var(--linea); font-size: 13px; color: var(--suave); }
.cuenta { display: inline-flex; align-items: center; gap: 10px; height: 38px; padding: 0 4px; border-radius: 999px; transition: background .18s; text-align: left; }
.cuenta:hover { background: var(--hover); }
.cuenta-nombre { display: grid; padding-right: 8px; line-height: 16px; }
.cuenta-nombre b { font-size: 13.5px; } .cuenta-nombre small { font-size: 11.5px; color: var(--suave); }

/* ============ Page ============ */
.cab { margin-bottom: 18px; }
.cab-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.cab h1 { font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -.4px; }
.cab-acc { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.volver { display: inline-flex; align-items: center; gap: 6px; height: 28px; margin-bottom: 6px; color: var(--suave); font-size: 13.5px; font-weight: 600; transition: color .18s, gap .2s var(--ease); }
.volver .i { --s: .55; } .volver:hover { color: var(--tinta); gap: 9px; }
.herramientas { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.buscador { display: block; width: 260px; max-width: 100%; }
.vacio { display: grid; justify-items: center; gap: 10px; padding: 36px 16px; text-align: center; color: var(--suave); font-size: 14px; }
.vacio b { color: var(--tinta); }
.vacio-dibujo { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--sup3); color: var(--tenue); }
.tarjeta { background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; padding: 18px 20px; min-width: 0; }
.tarjeta + .tarjeta { margin-top: 14px; }
.tarjeta h3, .sub-h { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 22px; font-weight: 700; margin: 0 0 12px; }
.tarjeta h3 .i, .sub-h .i { --s: .68; color: var(--suave); }
.tarjeta h3 em, .bt h3 em, .grupo h2 em { font-style: normal; font-size: 11.5px; padding: 0 7px; border-radius: 99px; background: var(--sup3); color: var(--suave); font-weight: 700; }
.tarjeta h3 .vivo { margin-left: auto; }
.dos-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.dos-col > .tarjeta + .tarjeta { margin-top: 0; }
.pila { display: grid; grid-auto-rows: max-content; gap: 14px; }
.pie-form { display: flex; justify-content: flex-end; gap: 8px; margin-top: 6px; }

/* Tabla */
.tabla-caja { background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; overflow-x: auto; overflow-y: hidden; container: tabla / inline-size; }
.tabla { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.tabla th { position: sticky; top: 0; z-index: 2; text-align: left; padding: 10px 14px; font-size: 12px; font-weight: 600; color: var(--suave); background: var(--sup2); border-bottom: 1px solid var(--linea); white-space: nowrap; }
.tabla td { padding: 10px 14px; border-bottom: 1px solid var(--linea); vertical-align: middle; height: 54px; }
.tabla tbody tr:last-child td { border-bottom: 0; }
.tabla tbody tr { transition: background .16s; }
.tabla tbody tr[data-a] { cursor: pointer; }
.tabla tbody tr[data-a]:hover { background: var(--hover); }
.tabla tbody tr[aria-selected="true"] { background: var(--azul-s); }
.tabla tbody tr[aria-selected="true"] td:first-child { box-shadow: inset 3px 0 0 var(--azul); }
.c-acc { width: 48px; text-align: right; }
.uso { display: grid; gap: 4px; min-width: 110px; } .uso small, .cpu small { font-size: 12px; color: var(--suave); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cpu { display: flex; align-items: center; gap: 8px; }
.t-sub.compacta .c-ram, .t-sub.compacta .c-cpu { display: none; }
@container tabla (max-width: 760px) { .t-sub .c-cpu { display: none; } }
.t-reg, .t-equipo { min-width: 620px; }
.esqueleto td, .esqueleto { pointer-events: none; }
.esqueleto i { display: block; height: 10px; border-radius: 6px; margin: 6px 0; background: linear-gradient(90deg, var(--sup3) 0, var(--hover) 120px, var(--sup3) 240px) var(--sup3); background-size: 480px 100%; animation: brillo 1.2s linear infinite; }
.esqueleto i:nth-child(2) { width: 60%; } .esqueleto i:nth-child(3) { width: 35%; }
.paginador { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding: 6px 10px; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); }
.pag-izq { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.pag-izq .seg { margin-left: 8px; }
.pag-n { font-size: 13px; font-weight: 600; min-width: 48px; text-align: center; font-variant-numeric: tabular-nums; }
.pag-total { font-size: 13px; color: var(--suave); }

/* Ficha */
.metricas { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 14px; }
.met { background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; padding: 14px 16px; display: grid; gap: 6px; align-content: start; transition: border-color .2s, box-shadow .2s; }
.met:hover { border-color: var(--linea2); box-shadow: var(--sh1); }
.met-cab { display: flex; align-items: center; gap: 7px; color: var(--suave); font-size: 12.5px; font-weight: 600; }
.met-cab .i { --s: .62; } .met-cab .vivo { margin-left: auto; }
.met > b { font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.met > b small { font-size: 13px; font-weight: 600; color: var(--suave); letter-spacing: 0; }
.met-pie { font-size: 12px; color: var(--suave); }
.chispa-met { width: 100%; height: 26px; }
.datos { margin: 0; display: grid; }
.datos div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--linea); align-items: center; }
.datos div:last-child { border-bottom: 0; }
.datos dt { font-size: 13px; color: var(--suave); } .datos dd { margin: 0; font-size: 13.5px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; overflow-wrap: anywhere; }
.conexion { display: flex; align-items: center; gap: 10px; padding: 5px 5px 5px 12px; border-radius: 10px; background: var(--sup3); margin-bottom: 12px; min-width: 0; }
.conexion > .i { --s: .62; color: var(--suave); }
.conexion code { flex: 1; min-width: 0; font-family: var(--mono); font-size: 12.5px; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.llaves { display: grid; gap: 8px; margin-bottom: 10px; }
.llaves li { display: flex; align-items: center; gap: 10px; padding: 8px 6px 8px 10px; border: 1px solid var(--linea); border-radius: 10px; transition: border-color .2s, background .2s; }
.llaves li:hover { border-color: var(--linea2); background: var(--sup2); }
.llave-txt { flex: 1; min-width: 0; display: grid; } .llave-txt b { font-size: 13.5px; } .llave-txt small { font-size: 11.5px; color: var(--suave); overflow: hidden; text-overflow: clip; white-space: nowrap; }
.llave-f { font-size: 12px; color: var(--tenue); }
.limites { display: grid; gap: 14px; }
.lim { display: grid; grid-template-columns: 96px auto; align-items: center; justify-content: start; gap: 12px; }
.lim > .seg:not(.seg-ancho) { justify-self: start; }
.lim-rot { font-size: 13.5px; font-weight: 600; }
.lim-pie { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.chapas-asignado { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
/* Public ports (Services) */
.pub { display: grid; gap: 12px; }
.pub-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; min-width: 0; }
.pub-cab > b { font-size: 14.5px; white-space: nowrap; }
.pub-cab .pub-abrir { margin-left: auto; }
.pub-lista { display: grid; gap: 8px; }
.pub-lista li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 7px 6px 6px 12px; border: 1px solid var(--linea); border-radius: 10px; min-width: 0; transition: border-color .2s, background .2s; }
.pub-lista li:hover { border-color: var(--linea2); background: var(--sup2); }
.pub-q { font-size: 14px; min-width: 46px; }
.pub-cerrar { margin-left: auto; }
.pub-dir { flex-basis: 100%; min-width: 0; display: flex; align-items: center; gap: 2px; }
.pub-dir .llave-f { margin-left: auto; padding-right: 6px; }
.cont-nom { flex: 1 1 160px; min-width: 0; display: grid; }
.bd-lista li { padding-right: 8px; }
.cont-nom b { font-size: 13.5px; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.cont-nom small { font-size: 11.5px; color: var(--suave); overflow: hidden; text-overflow: clip; white-space: nowrap; }
.pub-dir code { min-width: 0; font-family: var(--mono); font-size: 12px; color: var(--suave); overflow: hidden; text-overflow: clip; white-space: nowrap; }
.tiempo { position: relative; padding-left: 20px; display: grid; gap: 12px; }
.tiempo::before { content: ''; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 2px; background: var(--linea); border-radius: 2px; }
.tiempo li { position: relative; display: grid; font-size: 13.5px; }
.tiempo li::before { content: ''; position: absolute; left: -20px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--sup); border: 2px solid var(--azul); }
.tiempo time { font-family: var(--mono); letter-spacing: 0; font-size: 11.5px; color: var(--suave); } .tiempo small { color: var(--suave); font-size: 12.5px; }
.tiempo-chico { gap: 10px; } .tiempo-chico li { font-size: 13px; }
.consola { padding: 10px 12px; border-radius: 10px; background: #0D121C; color: #C5D0E2; font: 12px/20px var(--mono); letter-spacing: 0; overflow: hidden; min-height: 120px; }
.cl { white-space: nowrap; overflow: hidden; text-overflow: clip; } .cl-mal { color: #FF9E9E; }
.cl-nueva { animation: linea-in .5s var(--ease) both; }
@keyframes linea-in { from { opacity: 0; transform: translateY(6px); background: rgba(142, 192, 255, .12); } }
.consola-orden { margin: 14px 0 0; white-space: pre-wrap; min-height: 0; }
.graficas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.graficas.una { grid-template-columns: minmax(0, 1fr); }
.grafica { margin: 0; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; padding: 14px 16px 10px; display: grid; gap: 8px; }
.tarjeta .grafica, .bt .grafica { border: 0; padding: 0; background: none; }
.grafica figcaption { display: flex; justify-content: space-between; gap: 10px; font-size: 13.5px; flex-wrap: wrap; } .grafica figcaption span { color: var(--suave); font-size: 12.5px; }
.grafica svg { width: 100%; height: 100px; overflow: visible; }
.g-linea { fill: none; stroke: var(--azul); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.g-area { fill: var(--azul-s); opacity: .8; }
.g-punto { fill: var(--sup); stroke: var(--azul); stroke-width: 2; vector-effect: non-scaling-stroke; opacity: 0; transition: opacity .2s; }
.grafica:hover .g-punto { opacity: 1; }
.g-morado .g-linea, .g-morado .g-punto { stroke: var(--morado); } .g-morado .g-area { fill: var(--morado-f); }
.g-eje { display: flex; justify-content: space-between; font-size: 10.5px; color: var(--tenue); font-family: var(--mono); letter-spacing: 0; }
.ranking { display: grid; gap: 4px; }
.ranking button { display: grid; grid-template-columns: 22px minmax(0, 1fr) 90px; align-items: center; gap: 10px; width: 100%; padding: 8px 8px; border-radius: 8px; text-align: left; transition: background .15s; }
.ranking button:hover { background: var(--hover); }
.rk-n { font-size: 12px; font-weight: 700; color: var(--tenue); text-align: center; font-variant-numeric: tabular-nums; }
.hechos { display: grid; gap: 10px; } .hechos li { display: flex; gap: 10px; align-items: center; font-size: 14px; } .hechos .i { --s: .68; color: var(--suave); }
.fila-int { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--linea); margin-bottom: 10px; }
.fila-int b { display: block; font-size: 14px; } .fila-int small { display: block; font-size: 12.5px; color: var(--suave); }
.sesiones { display: grid; gap: 8px; }
.sesiones li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border: 1px solid var(--linea); border-radius: 10px; }
.sesiones b { display: block; font-size: 13.5px; } .sesiones small { display: block; font-size: 12px; color: var(--suave); }
.retrato { position: relative; border-radius: 50%; }
.retrato-acc { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 50%; background: rgba(15, 20, 31, .5); opacity: 0; transition: opacity .25s; }
.retrato:hover .retrato-acc, .retrato:focus-within .retrato-acc { opacity: 1; }
.retrato-acc .bi { color: #fff; width: 44px; height: 44px; } .retrato-acc .bi:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.temas { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; max-width: 720px; }
.tema-op { display: grid; gap: 6px; text-align: left; padding: 10px; border-radius: 12px; border: 1px solid var(--linea); background: var(--sup); transition: border-color .25s, box-shadow .25s, transform .2s var(--ease); }
.tema-op:hover { transform: translateY(-2px); }
.tema-op[aria-pressed="true"] { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.tema-op b { display: flex; align-items: center; gap: 8px; font-size: 13.5px; } .tema-op b svg { width: 14px; height: 14px; } .tema-op small { font-size: 12.5px; color: var(--suave); }
.tema-vista { display: grid; grid-template-columns: 18px 1fr; grid-template-rows: 10px 1fr; gap: 4px; height: 78px; padding: 6px; border-radius: 8px; background: #F4F6F8; }
.tema-vista i { border-radius: 3px; background: #fff; } .tema-vista i:first-child { grid-row: 1 / -1; background: #1E2248; }
.tv-dark { background: #0F141F; } .tv-dark i { background: #171E2C; } .tv-dark i:first-child { background: #141A27; }
.tv-auto { background: linear-gradient(135deg, #F4F6F8 50%, #0F141F 50%); }
.etiquetas { display: flex; flex-wrap: wrap; gap: 6px; }
.etq { height: 24px; padding: 0 9px; border-radius: 999px; background: var(--sup3); font-size: 12px; font-weight: 600; font-family: var(--mono); letter-spacing: 0; transition: background .18s, color .18s; }
.etq:hover { background: var(--azul-s); color: var(--azul-tinta); }
.etq-mas { display: inline-grid; place-items: center; font-family: var(--font); color: var(--suave); }
.rejilla-ases { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.ases { display: grid; gap: 12px; padding: 16px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); transition: border-color .2s, box-shadow .2s, transform .25s var(--ease); }
.ases:hover { border-color: var(--linea2); box-shadow: var(--sh2); transform: translateY(-2px); }
.ases header { display: flex; align-items: center; gap: 10px; } .ases header .sd { flex: 1; }
.ases footer { display: flex; justify-content: space-between; gap: 8px; padding-top: 10px; border-top: 1px solid var(--linea); }
.ases footer small { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--suave); } .ases footer .i { --s: .55; }
.filtros-reg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }

/* Alta */
.pasos { position: relative; display: flex; justify-content: space-between; gap: 8px; padding: 16px 24px 4px; }
.pasos li { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--tenue); background: var(--sup); padding-right: 8px; }
.pasos li:not(:first-child) { padding-left: 8px; }
.pasos li > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--linea2); font-size: 12.5px; background: var(--sup); transition: all .35s var(--ease); }
.pasos .ahora { color: var(--tinta); } .pasos .ahora > span { border-color: var(--azul); background: var(--azul); color: var(--pri-tinta); }
.pasos .hecho { color: var(--suave); } .pasos .hecho > span { border-color: var(--azul-s2); background: var(--azul-s); color: var(--azul-tinta); }
.pasos-barra { position: absolute; left: 36px; right: 36px; top: 28px; height: 2px; background: var(--linea); z-index: 0; }
.pasos-barra i { display: block; height: 100%; width: calc((var(--paso) - 1) / (var(--total) - 1) * 100%); background: var(--azul); transition: width .5s var(--ease); }
.pista { display: flex; width: 100%; transition: transform .5s var(--ease); transform: translateX(calc(var(--i) * -100%)); }
.pista-p { flex: 0 0 100%; min-width: 0; padding: 2px; }
.modal-cuerpo:has(.pista), .tarjeta-asist { overflow: hidden; }
.progreso { display: grid; gap: 2px; padding: 6px 0; }
.progreso li { display: flex; align-items: center; gap: 12px; padding: 9px 0; color: var(--tenue); font-size: 14.5px; transition: color .3s; }
.pg { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--linea2); position: relative; flex: 0 0 auto; transition: background .3s, border-color .3s, transform .3s var(--ease); }
.progreso li:first-child:not(.hecho) .pg, .progreso li.hecho + li:not(.hecho) .pg { border-color: var(--azul); border-right-color: transparent; animation: gira .8s linear infinite; }
.progreso li.hecho { color: var(--tinta); }
.progreso li.hecho .pg { background: var(--bien-p); border-color: var(--bien-p); transform: scale(1.06); }
.progreso li.hecho .pg::after { content: ''; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.listo { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 6px 0; }
.listo-sello { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--bien-f); color: var(--bien); animation: sello .6s var(--ease) both; }
@keyframes sello { from { transform: scale(.5); opacity: 0; } 60% { transform: scale(1.08); } }
.listo > b { font-size: 19px; line-height: 26px; } .listo > a { font-size: 13.5px; }
/* The key to download: the icon in its box, 16 px of margin on every side and the button with room (2026-10-19). */
.listo-llave { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px; border-radius: 12px; border: 1px solid var(--linea); background: var(--sup2); text-align: left; }
.listo-llave-ico { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: var(--azul-s); color: var(--azul); }
.listo-llave-ico > .i { --s: .8; }
.listo-llave > span:not(.listo-llave-ico) { flex: 1; display: grid; gap: 2px; min-width: 0; } .listo-llave b { font-size: 13.5px; } .listo-llave small { font-size: 12px; line-height: 17px; color: var(--suave); }
.listo-llave > .b { flex: 0 0 auto; margin-left: 4px; }
.listo .conexion { margin: 0; width: 100%; text-align: left; }
.listo-acc { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.huella { font-size: 12.5px; color: var(--suave); overflow-wrap: anywhere; }

/* Capas */
.velo { position: absolute; inset: 0; z-index: 60; background: var(--velo); animation: aparece .32s ease both; }
.velo-claro { background: color-mix(in srgb, var(--velo) 55%, transparent); }
.modal { position: absolute; z-index: 61; top: 50%; left: 50%; width: min(540px, calc(100% - 32px)); max-height: calc(100% - 48px); display: flex; flex-direction: column;
  background: var(--sup); border-radius: 16px; box-shadow: var(--sh3); border: 1px solid var(--linea); transform: translate(-50%, -50%); animation: modal-in .38s var(--ease) both; }
@keyframes modal-in { from { opacity: 0; transform: translate(-50%, -47%) scale(.97); } }
.asa { display: none; }
.modal-cab, .cajon-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--linea); }
.modal-cab b { font-size: 16px; } .cajon-cab h2 { font-size: 17px; }
.modal-cuerpo { padding: 20px; overflow: auto; display: grid; grid-auto-rows: max-content; gap: 14px; }
.modal-pie { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--linea); background: var(--sup2); border-radius: 0 0 16px 16px; }
.modal-pie .pie-form { margin: 0; width: 100%; }
/* Drawers go straight and stuck to the edge, from top to bottom and without gaps, like the simlatech.ai panel (Luis,
   2026-10-14: «que así sea siempre»). On the phone, full screen. */
.cajon { position: absolute; z-index: 61; top: 0; right: 0; bottom: 0; width: min(520px, 100%); display: flex; flex-direction: column; background: var(--sup); border-left: 1px solid var(--linea); box-shadow: var(--sombra-cajon); animation: cajon-in .32s var(--ease) both; }
@keyframes cajon-in { from { transform: translateX(32px); opacity: 0; } }
.cajon-cuerpo { flex: 1; overflow: auto; padding: 16px 20px 24px; display: grid; grid-auto-rows: max-content; gap: 12px; align-content: start; }
.cajon-cuerpo .tarjeta + .tarjeta { margin-top: 0; }
.paleta { position: absolute; z-index: 62; top: 11%; left: 50%; width: min(600px, calc(100% - 32px)); transform: translateX(-50%); border-radius: 16px; background: var(--sup); border: 1px solid var(--linea); box-shadow: var(--sh3); animation: paleta-in .3s var(--ease) both; overflow: hidden; }
@keyframes paleta-in { from { opacity: 0; transform: translate(-50%, -10px) scale(.98); } }
.paleta-busca { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--linea); color: var(--suave); }
.paleta-busca .i { --s: .75; }
.paleta-busca .in { border: 0; box-shadow: none; padding: 0; height: 32px; font-size: 15px; background: none; }
.paleta-ops { padding: 6px; max-height: 340px; overflow: auto; }
.paleta-ops > .ind { background: var(--azul-s); border-radius: 8px; }
.paleta-grupo { font-size: 11.5px; font-weight: 700; color: var(--tenue); padding: 8px 10px 4px; letter-spacing: .2px; }
.paleta-op { display: flex; align-items: center; gap: 10px; width: 100%; height: 38px; padding: 0 10px; border-radius: 8px; font-size: 14px; text-align: left; }
.paleta-op .i { --s: .68; color: var(--suave); } .paleta-op .estado { margin-left: auto; }
.paleta-op[aria-pressed="true"] { color: var(--azul-tinta); } .paleta-op[aria-pressed="true"] .i { color: var(--azul); }
.paleta-vacio { padding: 18px; text-align: center; color: var(--suave); font-size: 14px; }
.paleta-pie { display: flex; gap: 16px; padding: 8px 14px; border-top: 1px solid var(--linea); font-size: 12px; color: var(--suave); background: var(--sup2); }
.paleta-pie kbd { margin-right: 2px; }

/* Notices and balloons */
#avisos { position: fixed; z-index: 999; right: 20px; bottom: 84px; display: grid; gap: 8px; justify-items: end; pointer-events: none; }
.toast { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 12px; background: var(--tinta); color: var(--bg); font-size: 13.5px; font-weight: 600; box-shadow: var(--sh3); animation: toast-in .45s var(--ease) both; transition: opacity .4s, transform .4s var(--ease); }
.toast .i { --s: .65; } .toast.fuera { opacity: 0; transform: translateY(8px) scale(.98); }
@keyframes toast-in { from { opacity: 0; transform: translateY(14px) scale(.96); } }
#globo { position: fixed; z-index: 1000; left: 0; top: 0; max-width: 260px; padding: 5px 9px; border-radius: 7px; background: var(--tinta); color: var(--bg); font-size: 12.5px; line-height: 17px; font-weight: 600; pointer-events: none; box-shadow: var(--sh2); }

/* ============ Entrances: slow backgrounds, no halos ============ */
.ent { position: relative; height: 100%; overflow: auto; display: grid; place-items: center; padding: 32px 16px; isolation: isolate; }
.ent-col { position: relative; z-index: 1; width: min(400px, 100%); }
.ent-tarjeta { background: var(--sup); border: 1px solid var(--linea); border-radius: 16px; box-shadow: var(--sh2); padding: 28px; }
.ent-tarjeta.sin-marco { border: 0; box-shadow: none; background: transparent; padding: 0; }
.ent-arriba { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 24px; }
.ent-tarjeta h1 { font-size: 22px; line-height: 30px; margin-bottom: 18px; letter-spacing: -.4px; }
.ent-form { display: grid; gap: 14px; }
.ent-form .b-alto { margin-top: 4px; }
.ent-pie { margin: 14px 0 0; text-align: center; font-size: 12px; color: var(--tenue); }
.entra .ent-tarjeta, .entra .ent1-caja, .entra .terminal { animation: sube .7s var(--ease) both; }

/* What is the panel's own, over SimlaTech Server Admin's tokens.css (the same light and dark tokens, Gilroy and Omnica). */
html, body { height: 100%; }
body { overflow: hidden; }
#app { height: 100dvh; }
.app { position: relative; height: 100%; overflow: hidden; background: var(--bg); transform: translateZ(0); }

/* The frame: icon rail and panel, like Server Admin */
.pn { height: 100%; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.pn-riel { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 14px 0 12px; background: var(--nav); }
.pn-logo img { display: block; width: 30px; height: 30px; }
.pn-ops { display: grid; gap: 4px; }
.nav-op { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: var(--nav-tinta); transition: color .2s, background .2s; }
.nav-op .i { --s: .86; }
.nav-op:hover { color: #fff; background: rgba(255, 255, 255, .05); }
.nav-op[aria-current="page"] { color: #fff; }
.nav-op[aria-current="page"]::before { content: ''; position: absolute; left: -10px; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--azul); }
.pn-pie { margin-top: auto; }
.pn-panel { display: grid; grid-template-rows: 56px minmax(0, 1fr); min-width: 0; min-height: 0; background: var(--bg); overflow: hidden; }
.pn-barra { display: flex; align-items: center; gap: 14px; padding: 0 12px 0 20px; background: var(--sup); border-bottom: 1px solid var(--linea); min-width: 0; }
.pn-nombre { display: inline-flex; align-items: baseline; gap: 8px; white-space: nowrap; min-width: 0; }
.pn-nombre b { font-size: 15px; letter-spacing: -.3px; }
.pn-nombre em { font-style: normal; font-size: 13px; color: var(--suave); font-weight: 600; overflow: hidden; text-overflow: clip; }
.pn-barra .apariencia { margin-left: auto; }
/* The phone's bar carries the logo next to the name, as the desktop's rail does, and the welcome's logo flies to it (#72, 1 «Al logo de
   la barra de arriba» of design/mockups/welcome-phone) */
.pn-nombre-logo { display: none; }
.contenido { overflow: auto; min-width: 0; min-height: 0; padding: 22px 26px 96px; }
.marco { min-width: 0; }   /* full width, like the panels' sections */

/* The webhook's address and key (Settings › Google Ads) */
.hook-dir { display: flex; align-items: center; gap: 4px; min-width: 0; flex: 1 1 360px; padding: 4px 4px 4px 14px; border: 1px solid var(--linea); border-radius: 8px; background: var(--sup2); }
.hook-dir code { flex: 1; min-width: 0; font: 13.5px/20px var(--mono); overflow-wrap: anywhere; }

/* The table */

/* The detail drawer */
.cajon-cab h2 { font-size: 17px; line-height: 24px; }
.cajon-cab small { display: block; font-size: 12.5px; color: var(--suave); font-weight: 500; }
.datos { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 13.5px; line-height: 20px; }
.datos dt { color: var(--suave); font-weight: 600; }
.datos dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.datos .mono { font-size: 12.5px; }
.crudo { position: relative; }
.crudo pre { margin: 0; max-height: 420px; overflow: auto; padding: 12px 14px; border-radius: 8px; background: var(--sup2); border: 1px solid var(--linea); font: 12.5px/19px var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; }
.tarjeta h3 .b { margin-left: auto; height: 30px; padding: 0 10px; font-size: 13px; }

/* The entrance */
.ent { height: 100%; overflow: auto; display: grid; place-items: center; padding: 32px 16px; }
.ent-tarjeta p { color: var(--suave); font-size: 14px; margin: -8px 0 18px; }
.ent-error { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 8px; background: var(--mal-f); color: var(--mal); font-size: 13.5px; font-weight: 600; }
.ent-error .i { --s: .62; margin-top: -2px; }

/* Notices: bottom right, one at a time */
#avisos { position: fixed; z-index: 999; right: 20px; bottom: 24px; display: grid; gap: 8px; justify-items: end; pointer-events: none; }

@media (max-width: 720px) {
  .pn { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) 60px; }
  .pn-riel { order: 2; flex-direction: row; justify-content: space-around; padding: 0 12px; gap: 8px; }
  .pn-pie { margin: 0; }
  .nav-op[aria-current="page"]::before { left: 12px; right: 12px; top: auto; bottom: -8px; width: auto; height: 3px; border-radius: 3px 3px 0 0; }
  .pn-barra { padding: 0 10px 0 16px; }
  .pn-nombre em { display: none; }
  .pn-barra .pn-nombre { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .pn-nombre-logo { display: block; flex: 0 0 auto; width: 22px; height: 22px; }
  .contenido { padding: 16px 14px 40px; }
  .herramientas .buscador { width: 100%; }
  .herramientas .seg { flex-wrap: wrap; overflow: visible; }
  .cajon { width: 100%; }
  #avisos { left: 14px; right: 14px; bottom: 74px; justify-items: stretch; }
}

/* No inline styles: the CSP only allows this file's */
.a-dcha { margin-left: auto; }
.i-voltear { transform: scaleX(-1); }

/* On the phone, each notice is a card (like Server Admin's tables on the phone): nothing slides sideways */

/* Pagination, Simla Landing Builder's (option 3 «Franja»): always under the list, also with one; «Por página» 10 · 50 · 100
   on the left, the pages with their arrows in the middle and «1–10 de 23» on the right; narrow, in two rows */
.pag-c { container: pag / inline-size; min-width: 0; margin-top: 14px; }
.pag { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px 16px; min-height: 40px; padding: 6px 8px 6px 14px; border-radius: 12px; background: var(--sup2); border: 1px solid var(--linea); }
.pag-izq { justify-self: start; display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.pag-nav { justify-self: center; display: inline-flex; align-items: center; gap: 6px; }
.pag-tot { justify-self: end; font-size: 13px; color: var(--suave); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pag-rot { font-size: 13px; color: var(--suave); white-space: nowrap; }
.pag-g { display: inline-flex; gap: 2px; }
.pag-b { min-width: 32px; height: 30px; padding: 0 8px; border: 0; border-radius: 8px; background: none; color: var(--suave); font: 600 13px/1 var(--font); font-variant-numeric: tabular-nums; display: inline-grid; place-items: center; cursor: pointer; }
.pag-b:hover:not(:disabled) { background: var(--hover); color: var(--tinta); } .pag-b:disabled { color: var(--tenue); cursor: default; }
.pag-b[aria-current="page"], .pag-b[aria-pressed="true"] { background: var(--azul-s); color: var(--azul-tinta); }
.pag-b .i { --s: .6; }
.gira-90 { transform: rotate(90deg); } .gira-270 { transform: rotate(270deg); }
@container pag (max-width: 600px) {
  .pag { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nav nav" "izq tot"; gap: 14px 12px; padding: 10px 12px; }
  .pag-nav { grid-area: nav; justify-self: stretch; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--linea); }
  .pag-izq { grid-area: izq; } .pag-tot { grid-area: tot; }
  .pag-b { min-width: 36px; height: 34px; }
}

.hook-dir code.oculta { letter-spacing: 2px; color: var(--suave); }

/* Ajustes */
.nota { font-size: 13px; line-height: 19px; color: var(--suave); }
.nota { margin-top: 12px; } .nota-arriba { margin: -4px 0 12px; } .nota-mal { color: var(--mal); font-weight: 600; margin-top: 0; }
.pila { display: grid; gap: 14px; }
.pila .tarjeta + .tarjeta { margin-top: 0; }
.intentos { display: grid; gap: 8px; margin-top: 12px; }
.intentos li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; }
.intentos .int-txt { min-width: 0; overflow-wrap: anywhere; }
.intentos small { display: block; font-size: 12px; color: var(--tenue); }
.tarjeta h3 .b { flex: 0 0 auto; }

/* Ajustes › Simla */
select.in { appearance: none; padding-right: 34px; background: var(--sup) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238792A2' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; }
.permisos { margin-top: 12px; }
.b-rojo { color: var(--mal); } .b-rojo:hover { background: var(--mal-f); color: var(--mal); }
.pie-form .b-rojo { margin-right: auto; }


/* Ajustes › Formularios */
.cambia > .tarjeta + .tarjeta, .cambia > .nota + .tarjeta { margin-top: 14px; }

/* Settings, anchored at the foot of the rail above «Salir» (Luis, 2026-11-07) */
.pn-pie { display: grid; gap: 4px; justify-items: center; }
@media (max-width: 720px) { .pn-pie { display: flex; gap: 8px; } }

/* Settings with «Filas con su control» (the approved settings pattern): name and its line on the left, control on the right */
.aj-desc { font-size: 13px; line-height: 19px; color: var(--suave); margin: -2px 0 6px; max-width: 760px; }
.aj-fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 440px); gap: 8px 28px; align-items: center; padding: 14px 0; }
.aj-fila + .aj-fila, .aj-desc + .aj-fila { border-top: 1px solid var(--linea); }
.aj-txt { min-width: 0; }
.aj-txt b { display: block; font-size: 14px; line-height: 20px; font-weight: 600; }
.aj-txt p { margin-top: 2px; font-size: 13px; line-height: 19px; color: var(--suave); overflow-wrap: anywhere; }
.aj-ctl { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-width: 0; }
.aj-ctl > .in, .aj-ctl > .seg { width: 100%; }
.aj-ctl > .seg { flex-wrap: wrap; overflow: visible; }
.aj-ctl > .seg button { flex: 1 1 auto; justify-content: center; }
.req { color: var(--mal); margin-left: 3px; font-weight: 700; }
.in.falta { border-color: var(--mal-p); box-shadow: 0 0 0 3px var(--mal-f); }
.aj-recomienda { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 14px; padding: 10px 12px; border-radius: 8px; background: var(--azul-s); color: var(--azul-tinta); font-size: 13px; line-height: 19px; }
.aj-recomienda .i { --s: .62; flex: 0 0 auto; margin-top: -2px; }
@media (max-width: 720px) {
  .aj-fila { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .aj-ctl { justify-content: stretch; } .aj-ctl > .b { flex: 1 1 auto; }
}

/* The app's drop-downs (rule: no native browser control in sight). The .desp piece of tokens.css: a button with what is
   chosen and its list below, attached and as wide as it; the <select> stays hidden inside and keeps the value */
.desp { position: relative; display: block; width: 100%; min-width: 0; }
.desp > select { position: absolute; left: 0; top: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.desp-boton { width: 100%; cursor: pointer; }
.desp-boton > span:first-child { min-width: 0; }
.desp-boton.falta { border-color: var(--mal-p); box-shadow: 0 0 0 3px var(--mal-f); }
.desp.abierto { z-index: 46; }
.aj-ctl > .desp { width: 100%; }
/* Without the browser's search «x» */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }

/* The mapping on the phone: each Google field, a card with its drop-down below (nothing slides sideways) */

/* The rail (option 1 of the «Inicio y orden del panel» mockup, 2026-11-07): the logo goes to Home; Home and Leads on top; each icon
   says its name on hover, in a balloon on its right */
.pn-logo { display: block; border-radius: 10px; transition: box-shadow .2s; }
.pn-logo:hover, .pn-logo:focus-visible { box-shadow: 0 0 0 3px rgba(255, 255, 255, .14); }
.nav-rot { position: absolute; left: 54px; top: 50%; padding: 4px 9px; border-radius: 7px; background: var(--tinta); color: var(--bg); font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap;
  opacity: 0; pointer-events: none; transform: translate(-4px, -50%); transition: opacity .15s, transform .15s; z-index: 70; }
.nav-rot::before { content: ''; position: absolute; left: -4px; top: 50%; width: 8px; height: 8px; background: var(--tinta); transform: translateY(-50%) rotate(45deg); border-radius: 1px; }
.nav-op:hover .nav-rot, .nav-op:focus-visible .nav-rot { opacity: 1; transform: translate(0, -50%); }

/* Each page's header: the title and a line that says what it is for */
.cab-txt { min-width: 0; }
.cab-sub { margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--suave); }

/* The steps of Settings › Google Ads */
.pasos-dib { display: grid; }
.pasos-dib li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--linea); }
.pasos-dib li:first-child { border-top: 0; padding-top: 4px; }
.paso-txt { flex: 1; min-width: 0; }
.paso-txt b { display: block; font-size: 14px; line-height: 20px; font-weight: 600; }
.paso-txt small { display: block; font-size: 12.5px; line-height: 18px; color: var(--suave); }
.paso-n { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-size: 13px; font-weight: 700; }
.paso-n .i { --s: .6; }

/* The drawings of the «?»: a piece of Google Ads or of Simla, small */
.dib { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px; border-radius: 8px; background: var(--sup2); border: 1px solid var(--linea); color: var(--tinta); }

@media (max-width: 720px) {
  .pn-ops, .pn-pie { display: flex; align-items: center; gap: 8px; }   /* on the phone, the rail is the bottom bar: everything in one row */
  .nav-rot { display: none; }
  .pasos-dib li { flex-wrap: wrap; }
}

/* Each card comes in with its animation and stays in its own layer: the one with an open list goes above the others (the «?» balloon goes outside, fixed) */
.tarjeta:has(.desp.abierto) { position: relative; z-index: 5; }
@media (min-width: 721px) { .herramientas .buscador { width: 320px; } }

/* The rail's buttons and links: no underline */
a.b:hover, a.nav-op:hover, a.pn-logo:hover { text-decoration: none; }

/* The scheduled retry: amber, like what waits */
.e-aviso { color: var(--aviso); }
.e-aviso i { background: var(--aviso-p); }

/* Campaigns on the phone: each campaign, a card (nothing slides sideways) */

/* The panel's frame (core/shell.js): the page, the field types, the links, copy, the code blocks, the Simla reading, the mapping, the Settings sub-menu, the phone sheet and the detail drawer (#46, phase 6b: before, redesign/shell.css) */
html, body { height: 100%; } body { overflow: hidden; }
#app { height: 100%; } .app { height: 100%; }
.i-abrir { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 4h6v6M20 4l-9 9'/><path d='M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-mas { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><path d='M12 5v14M5 12h14'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.contenido { scroll-behavior: smooth; }
.marco { min-width: 0; }
.cab-sub { margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--suave); }
.mono { font-family: var(--mono); }

/* ---------- A field's type, as Simla calls it: a pill on the left of the name ---------- */
.tp { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; border-radius: 6px; font: 600 11px/1 var(--font); letter-spacing: .1px; white-space: nowrap; flex: 0 0 auto; background: var(--sup3); color: var(--suave); }
.tp.t-hilo, .tp.t-texto { background: var(--sup3); color: var(--suave); }
.tp.t-num { background: var(--azul-s); color: var(--azul-tinta); }
.tp.t-casilla { background: var(--bien-f); color: var(--bien); }
.tp.t-dir { background: var(--violeta-s, var(--morado-f)); color: var(--violeta, var(--morado)); }
.tp.t-fecha { background: var(--aviso-f); color: var(--aviso); }
.tp.t-mail { background: color-mix(in srgb, var(--azul) 12%, transparent); color: var(--azul-tinta); }
.tp.t-nativo { background: transparent; border: 1px solid var(--linea2); color: var(--suave); }
.campo-n { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.campo-n b { font-weight: 600; font-size: 13.5px; overflow-wrap: anywhere; }
.campo-n small { color: var(--tenue); font: 12px/16px var(--mono); }
.malo { color: var(--aviso); } .malo .i { --s: .6; }
.excluido { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--aviso); }
.excluido .i { --s: .55; }

/* ---------- Links to Simla, with the open icon ---------- */
.a-simla { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--azul-tinta); text-decoration: none; }
.a-simla .i { --s: .58; } .a-simla:hover { text-decoration: underline; }

/* ---------- Copy: only the icon; on pressing, the mark comes in and the icon goes out ---------- */
.bi.cp { position: relative; }
.bi.cp .i-copy, .bi.cp .i-marca { transition: transform .25s cubic-bezier(.22, 1, .36, 1), opacity .2s; }
.bi.cp .i-marca { position: absolute; inset: 0; margin: auto; opacity: 0; transform: scale(.4); color: var(--bien); }
.bi.cp.copiado .i-copy { opacity: 0; transform: scale(.4); }
.bi.cp.copiado .i-marca { opacity: 1; transform: scale(1); }
.bi.cp.copiado { background: var(--bien-f); }

/* ---------- Logs: the code blocks ---------- */
.json .k { color: #7aa2f7; } .json .s { color: #9ece6a; } .json .n { color: #ff9e64; } .json .jb { color: #bb9af7; } .json .p { color: #a9b1d6; }
[data-theme="light"] .json-claro .k, .json-claro .k { color: #0550ae; } .json-claro .s { color: #0a3069; } .json-claro .n { color: #953800; } .json-claro .jb { color: #8250df; } .json-claro .p { color: #57606a; }
.term { position: relative; border-radius: 12px; background: #0f1320; color: #c0caf5; border: 1px solid #222a40; overflow: hidden; }
.term-cab { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-bottom: 1px solid #222a40; font: 600 12px/16px var(--mono); color: #8b93b8; }
.term-cab .met { all: unset; color: #e0af68; } .term-cab .ok { color: #9ece6a; } .term-cab .ko { color: #f7768e; } .term-cab .bi { margin-left: auto; color: #c0caf5; background: transparent; }
.term-cab .bi:hover { background: #1b2136; }
.term pre { margin: 0; padding: 12px 14px; font: 12.5px/19px var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 260px; overflow: auto; }
.gh { border: 1px solid var(--linea2); border-radius: 10px; overflow: hidden; background: var(--sup); }
.gh-cab { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 12px; background: var(--sup2); border-bottom: 1px solid var(--linea); font: 600 12.5px/18px var(--mono); color: var(--suave); }
.gh-cab .bi { margin-left: auto; }
.gh pre { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); font: 12.5px/20px var(--mono); max-height: 260px; overflow: auto; }
.gh .ln { padding: 8px 10px 8px 12px; text-align: right; color: var(--tenue); background: var(--sup2); border-right: 1px solid var(--linea); user-select: none; white-space: pre; }
.gh .co { padding: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.intento-l { display: grid; gap: 12px; }
.int-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; }
.int-cab b { font-size: 13.5px; } .int-cab small { color: var(--suave); }

/* ---------- The Simla reading (how often the account is read again) ---------- */
.ficha-f { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px 0 12px; border-radius: 9px; border: 1px solid var(--linea2); background: var(--sup); color: var(--tinta); font-size: 13.5px; font-weight: 600; }
.ficha-f .i { --s: .6; color: var(--suave); }
.pop { position: absolute; z-index: 60; min-width: 240px; display: grid; padding: 6px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea2); box-shadow: var(--sh3); }
.pop > button { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 10px; border-radius: 8px; text-align: left; font-size: 13.5px; color: var(--tinta); }
.pop > button:hover { background: var(--hover); } .pop > button[aria-checked="true"] { background: var(--azul-s); color: var(--azul-tinta); font-weight: 600; }
.pop > button .i-marca { margin-left: auto; --s: .55; }
.pop .sep { height: 1px; margin: 6px 4px; background: var(--linea); }
.pop .cus { display: flex; gap: 6px; padding: 4px; } .pop .cus .in { height: 32px; } .pop .cus .in:first-child { width: 72px; }
.pop .tit { padding: 6px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--tenue); }
.cambios { display: grid; gap: 8px; margin-top: 10px; }
.cambio { display: flex; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--aviso-f); color: var(--aviso); font-size: 13px; line-height: 19px; }
.cambio .i { --s: .62; margin-top: 1px; flex: 0 0 auto; } .cambio b { color: inherit; }
.cambio.bien { background: var(--bien-f); color: var(--bien); }

/* ---------- Mapping: the bar (search box, type, customer or order), the list and the field picker ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--linea2); background: var(--sup); font-size: 12.5px; font-weight: 600; color: var(--suave); display: inline-flex; align-items: center; gap: 6px; }
.chip[aria-pressed="true"] { background: var(--azul-s); border-color: transparent; color: var(--azul-tinta); }
.chip em { font-style: normal; font-weight: 600; color: var(--tenue); }
.cat { display: grid; }
.ent { font-size: 12px; font-weight: 600; color: var(--suave); }
.q { display: grid; gap: 2px; } .q b { font: 600 12.5px/16px var(--mono); } .q small { color: var(--suave); font-size: 12.5px; }
.sel-c { width: 100%; display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 10px; border-radius: 9px; border: 1px solid var(--linea2); background: var(--sup); text-align: left; }
.sel-c:hover { border-color: var(--azul); } .sel-c .campo-n { flex: 1; } .sel-c > .i { --s: .55; color: var(--suave); }
.sel-c.mal { border-color: var(--aviso-p); box-shadow: 0 0 0 3px var(--aviso-f); }
.aviso-campo { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12.5px; color: var(--aviso); font-weight: 600; } .aviso-campo .i { --s: .55; }
.picker { width: min(420px, calc(100vw - 24px)); max-height: 420px; padding: 0; overflow: hidden; grid-template-rows: auto auto minmax(0, 1fr); }
.picker .pk-b { padding: 8px; border-bottom: 1px solid var(--linea); display: grid; gap: 8px; }
.picker .pk-l { overflow: auto; padding: 6px; display: grid; align-content: start; }
.pk-g { padding: 8px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--tenue); }
.pk-o { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 10px; border-radius: 8px; text-align: left; font-size: 13.5px; }
.pk-o:hover { background: var(--hover); } .pk-o[aria-selected="true"] { background: var(--azul-s); } .pk-o[disabled] { color: var(--suave); cursor: not-allowed; }
.pk-o .campo-n { flex: 1; }

/* ---------- 1. Sub-menu, like Simla Landing Builder ---------- */
.op1 .pn.con-sm { grid-template-columns: 64px 236px minmax(0, 1fr); }
.sm-panel { display: flex; flex-direction: column; min-width: 0; background: var(--sup); border-right: 1px solid var(--linea); overflow: hidden; }
.sm-cab { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 14px; border-bottom: 1px solid var(--linea); } .sm-cab b { font-size: 15px; }
.sm-bald { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; background: var(--azul-s); color: var(--azul-tinta); } .sm-bald .i { --s: .64; }
.sm-c { flex: 1; display: grid; gap: 16px; align-content: start; padding: 14px 10px; overflow: auto; }
.sm-g { display: grid; gap: 2px; } .sm-gt { padding: 0 10px 6px; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--tenue); }
.sm-i { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 10px; border-radius: 9px; color: var(--suave); font-size: 13.5px; font-weight: 600; text-align: left; width: 100%; }
.sm-i:hover { background: var(--hover); color: var(--tinta); } .sm-i.on { background: var(--azul-s); color: var(--azul-tinta); } .sm-i .i { --s: .66; } .sm-i > span:not(.i) { flex: 1; } .sm-i > .i { flex: 0 0 auto; }
.sm-pt { width: 8px; height: 8px; border-radius: 50%; background: var(--tenue); } .sm-pt.bien { background: var(--bien-p); } .sm-pt.aviso { background: var(--aviso-p); }
/* The phone's list, like iOS Settings (also option 2's cover) */
.ios { display: grid; gap: 18px; } .ios-g { display: grid; gap: 6px; }
.ios-gt { padding: 0 14px; font-size: 12px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; color: var(--tenue); }
.ios-b { border-radius: 14px; background: var(--sup); border: 1px solid var(--linea); overflow: hidden; }
.ios-f { width: 100%; display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 14px; text-align: left; color: var(--tinta); }
.ios-f + .ios-f { border-top: 1px solid var(--linea); } .ios-f:hover { background: var(--hover); }
.ios-ic { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; } .ios-ic .i { --s: .62; }
.t-azul { background: #2f6bff; } .t-violeta { background: #7b55e8; } .t-verde { background: #1aa36b; } .t-ambar { background: #e08a1c; } .t-gris { background: #6b7489; } .t-rosa { background: #d6457a; } .t-cian { background: #138fb5; }
.ios-n { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; } .ios-n small { display: block; font-size: 12.5px; font-weight: 500; color: var(--suave); }
.ios-v { font-size: 13.5px; color: var(--suave); white-space: nowrap; } .ios-v.aviso { color: var(--aviso); font-weight: 600; }
.ios-f > .i-chevron-down { --s: .55; transform: rotate(-90deg); color: var(--tenue); }
.tel-cab { display: flex; align-items: center; gap: 8px; min-width: 0; } .tel-cab b { font-size: 15px; white-space: nowrap; }
.tel-atras { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--azul); } .tel-atras .i { --s: .7; transform: rotate(90deg); }
.atras-d { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 10px; font-size: 14px; font-weight: 600; color: var(--azul-tinta); } .atras-d .i { --s: .6; transform: rotate(90deg); }

/* ---------- 2. Settings like iOS: the cover, centred ---------- */

/* ---------- The phone sheet: the window that rises from the bottom ---------- */
.hoja-fondo { position: absolute; inset: 0; z-index: 70; background: rgb(8 12 24 / .45); animation: aparece .2s both; }
.hoja { position: absolute; z-index: 71; left: 0; right: 0; bottom: 0; max-height: 82%; display: grid; grid-template-rows: auto minmax(0, 1fr); border-radius: 18px 18px 0 0; background: var(--bg); box-shadow: var(--sh3); animation: sube-h .32s cubic-bezier(.22, 1, .36, 1) both; }
.hoja-asa { width: 40px; height: 5px; border-radius: 3px; background: var(--linea2); margin: 8px auto 4px; }
.hoja-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 14px 10px; }
.hoja-cab b { font-size: 16px; }
.hoja-cab .b-txt { color: var(--azul); font-weight: 600; font-size: 15px; }
.hoja-c { overflow: auto; padding: 0 12px 18px; }

/* ---------- The detail drawer ---------- */
.cajon-p { position: absolute; z-index: 61; top: 0; right: 0; bottom: 0; width: min(560px, 100%); display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--bg); border-left: 1px solid var(--linea); box-shadow: var(--sh3); animation: entra-l .3s cubic-bezier(.22, 1, .36, 1) both; }
.cajon-p .cajon-cab { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 10px 0 16px; border-bottom: 1px solid var(--linea); background: var(--sup); }
.cajon-p .cajon-cab div { flex: 1; min-width: 0; } .cajon-p .cajon-cab h2 { font-size: 16px; } .cajon-p .cajon-cab small { color: var(--suave); font-size: 12.5px; }
.cajon-p .cajon-cuerpo { overflow: auto; padding: 14px; display: grid; gap: 14px; align-content: start; }
.velo-p { position: absolute; inset: 0; z-index: 60; background: rgb(8 12 24 / .35); animation: aparece .2s both; }
.datos { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 13.5px; line-height: 20px; }
.datos dt { color: var(--suave); font-weight: 600; } .datos dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.pn-panel { position: relative; }
.contenido { position: relative; }

/* ---------- Phone ---------- */
@media (max-width: 720px) {
  .op1 .pn.con-sm { grid-template-columns: minmax(0, 1fr); }
  .sm-panel { display: none; }
  .pn-ops, .pn-pie { display: flex; align-items: center; gap: 8px; }
  .insp, .una { grid-template-columns: minmax(0, 1fr); }
  .insp-l, .indice { display: none; }
  .cajon-p, .lado { width: 100%; border-left: 0; }
  .datos { grid-template-columns: minmax(0, 1fr); gap: 2px; } .datos dd { margin-bottom: 8px; }
  .resumen { grid-template-columns: minmax(0, 1fr); }
  .contenido { padding: 14px 12px 40px; }
  .pn-nombre em { display: none; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* The password's rules (#65): the installer's box (its .reglas, in screens/installer.css), the same in the panel. Attached under its
   field, as wide as it, over what comes below; hidden until the field has the focus */
.campo:has(> .reglas[data-reglas-v]) { position: relative; }
.campo > .reglas[data-reglas-v] { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 40; display: grid; gap: 10px; margin: 0; padding: 14px 16px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea2); box-shadow: 0 10px 30px rgb(15 23 42 / .14); text-align: left; pointer-events: none; animation: reglas-baja .2s cubic-bezier(.2, .8, .2, 1) both; }
.campo > .reglas[data-reglas-v][hidden] { display: none; }
.reglas[data-reglas-v] .reglas-t { font-size: 13.5px; line-height: 18px; font-weight: 700; color: var(--tinta); }
.reglas[data-reglas-v] ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.reglas[data-reglas-v] li { display: flex; align-items: center; gap: 9px; font-size: 13px; line-height: 18px; color: var(--suave); }
.reglas[data-reglas-v] li > i { display: grid; place-items: center; width: 16px; height: 16px; flex: 0 0 16px; border-radius: 50%; border: 1.5px solid var(--linea2); transition: background-color .2s, border-color .2s; }
.reglas[data-reglas-v] li.ok { color: var(--bien); }
.reglas[data-reglas-v] li.ok > i { background: var(--bien-p, var(--bien)); border-color: var(--bien-p, var(--bien)); }
.reglas[data-reglas-v] li.ok > i::after { content: ''; width: 3.5px; height: 7px; border: solid #fff; border-width: 0 1.75px 1.75px 0; transform: translateY(-1px) rotate(45deg); }
@keyframes reglas-baja { from { opacity: 0; transform: translateY(-4px) scale(.98); } }
@media (prefers-reduced-motion: reduce) { .campo > .reglas[data-reglas-v] { animation: none; } }

/* The language, ES · EN, next to the theme (#63, design/mockups/language): the same pills as the theme, with its two letters */
.apariencia.idi button, .seg.cu-mini.idi button { width: auto; min-width: 32px; padding: 0 9px; font: 600 12px/1 var(--font); letter-spacing: .02em; }
.pref-par { display: inline-flex; gap: 8px; align-items: center; }

/* ===================== The styles of every screen and every piece of the panel, from the approved «Rediseño» mockup, in the order they were approved (#46, phase 6b: before, redesign/accounts.css, settings.css, home.css and help.css). What comes later corrects what comes before: the order matters ===================== */

/* ===================== (antes redesign/accounts.css) ===================== */
/* The «Rediseño: secciones, cuentas e instalador» mockup: accounts, entrance, installer, profile, lists and guide, over the app's
   tokens. Signing in, sign-up, the password, the profile, the groups, the email and the installer come from what was approved in
   Simla Landing Builder («Todo dentro, con barras», «Profundidad», «Directo al inicio de sesión», «Título a la izquierda»,
   «Interruptor en la fila», «Pestañas y tabla», «Ventana de entrada»). Only transform and opacity in what moves. */

/* ---------- New icons (mask, like the app's) ---------- */
.i-usuarios { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><circle cx='9' cy='8' r='3.5'/><path d='M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14.8c2 .7 3.2 2.4 3.5 5.2'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-grupo { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><rect x='3' y='5' width='18' height='14' rx='3'/><circle cx='9' cy='11' r='2.2'/><path d='M5.8 16.2c.5-1.6 1.7-2.4 3.2-2.4s2.7.8 3.2 2.4M14.5 10h3.5M14.5 13.5h2.5'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-correo { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2.5'/><path d='m4 7 8 6 8-6'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-libro { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 18.5V5a2 2 0 0 1 2-2h12v15H7a2 2 0 0 0-2 2 2 2 0 0 0 2 2h12'/><path d='M9 7h6'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-camara { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'><path d='M4 8.5A1.5 1.5 0 0 1 5.5 7H8l1.5-2h5L16 7h2.5A1.5 1.5 0 0 1 20 8.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 4 17.5z'/><circle cx='12' cy='12.8' r='3.3'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-qr { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'><rect x='4' y='4' width='6' height='6' rx='1'/><rect x='14' y='4' width='6' height='6' rx='1'/><rect x='4' y='14' width='6' height='6' rx='1'/><path d='M14 14h2v2h-2zM18 18h2v2h-2zM14 19h2M19 14h1'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-enviar { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 3 10 14M21 3l-7 18-4-7-7-4z'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-base { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><ellipse cx='12' cy='6' rx='7' ry='3'/><path d='M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-globo { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-subir { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 16V4M7 9l5-5 5 5M5 20h14'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-lapiz { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'><path d='M4 20h4L19 9l-4-4L4 16z'/><path d='m13.5 6.5 4 4'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-plantilla { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><rect x='4' y='3' width='16' height='18' rx='2'/><path d='M8 8h8M8 12h8M8 16h5'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-volver { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M19 12H5M11 6l-6 6 6 6'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-filtro { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'><path d='M4 5h16l-6 7.5V19l-4 1.5v-8z'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-tema { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'><circle cx='12' cy='12' r='8.5'/><path d='M12 3.5v17a8.5 8.5 0 0 0 0-17z' fill='%23000'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-idioma { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 6h9M8.5 4v2c0 4-2 7-4.5 8.5M6.5 10c1 2 3 3.6 5.5 4.5'/><path d='m13 20 4-9 4 9M14.4 17h5.2'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-dispositivo { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'><rect x='3' y='5' width='14' height='10' rx='1.5'/><path d='M1.5 18.5h17'/><rect x='17.5' y='9' width='5' height='10' rx='1.2'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }

/* ---------- Tu foto o tus iniciales ---------- */
.av { overflow: hidden; } .av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.av-30 { width: 30px; height: 30px; font-size: 11.5px; } .av-36 { width: 36px; height: 36px; font-size: 13px; } .av-44 { width: 44px; height: 44px; font-size: 15px; }
.av-72 { width: 72px; height: 72px; font-size: 24px; } .av-96 { width: 96px; height: 96px; font-size: 30px; }
.av.t-violeta { background: var(--morado-f); color: var(--morado); } .av.t-verde { background: var(--bien-f); color: var(--bien); } .av.t-ambar { background: var(--aviso-f); color: var(--aviso); }
.nav-yo { padding: 0; } .nav-yo .av { box-shadow: 0 0 0 2px rgba(255, 255, 255, .16); } .nav-yo.abierto .av, .nav-yo:hover .av { box-shadow: 0 0 0 2px var(--azul); }
.pn-logo { border: 0; padding: 0; background: none; cursor: pointer; }

/* ---------- Your account's menu: on the right of the rail, attached at the bottom; on the phone, a sheet ---------- */
.pop-yo { position: absolute; left: 10px; bottom: 12px; z-index: 60; width: 272px; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; box-shadow: var(--sh3); padding: 6px; display: grid; gap: 1px; animation: yoSube .22s var(--ease) both; }
@keyframes yoSube { from { opacity: 0; transform: translateY(8px) scale(.98); } }
.pop-yo::before { content: ''; position: absolute; left: -7px; bottom: 18px; width: 12px; height: 12px; background: var(--sup); border: 1px solid var(--linea); border-top-color: transparent; border-right-color: transparent; transform: rotate(45deg); }
.yo-quien { display: flex; align-items: center; gap: 12px; padding: 10px 10px 12px; border-bottom: 1px solid var(--linea); margin-bottom: 4px; }
.yo-quien > span:last-child { display: grid; min-width: 0; gap: 2px; } .yo-quien b { font-size: 14.5px; line-height: 19px; } .yo-quien small { font-size: 12.5px; color: var(--suave); overflow-wrap: anywhere; }
.yo-quien .chapa { justify-self: start; height: 20px; font-size: 11.5px; margin-top: 2px; }
.yo-op { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 0 10px; border-radius: 9px; font-size: 14px; font-weight: 600; color: var(--tinta); text-align: left; width: 100%; }
.yo-op:hover { background: var(--hover); } .yo-op .i { --s: .66; color: var(--suave); flex: 0 0 auto; } .yo-op > span:not(.i) { flex: 1; }
.yo-op .seg { margin-left: auto; } .yo-op.rojo, .yo-op.rojo .i { color: var(--mal); }
.yo-sep { height: 1px; background: var(--linea); margin: 4px 2px; }

/* ---------- The split window to sign in («Todo dentro, con barras») ---------- */
.entv { position: absolute; inset: 0; display: grid; place-items: center; padding: 28px; background: var(--bg); overflow: auto; }
.ent-ventana { width: min(1080px, 100%); height: min(680px, calc(100vh - 56px)); display: grid; grid-template-rows: 58px minmax(0, 1fr) 46px; background: var(--sup); border: 1px solid var(--linea); border-radius: 20px; box-shadow: var(--sh3); overflow: hidden; }
.entv.ent-ins .ent-ventana { width: min(1180px, 100%); height: min(760px, calc(100vh - 40px)); }
.ent-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 18px 0 22px; border-bottom: 1px solid var(--linea); min-width: 0; }
.ent-marca { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; white-space: nowrap; } .ent-marca img { width: 26px; height: 26px; display: block; }
.ent-prefs { display: flex; align-items: center; gap: 8px; }
.ent-cuerpo { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); min-height: 0; }
.entv.ent-ins .ent-cuerpo { grid-template-columns: 270px minmax(0, 1fr); }
.ent-centro { display: grid; align-content: center; padding: 26px 48px; overflow: auto; min-height: 0; }
.entv.ent-ins .ent-centro { align-content: start; padding: 26px 40px; }
.ent-centro > * { animation: entForm .32s var(--ease) both; }
@keyframes entForm { from { opacity: 0; transform: translateX(18px); } }
.ent-tarjeta { display: grid; gap: 16px; width: 100%; max-width: 372px; margin: 0 auto; }
.entv.ent-ins .ent-tarjeta { max-width: 560px; margin: 0; }
.ent-tarjeta h1 { font-size: 24px; line-height: 30px; letter-spacing: -.4px; }
.ent-sub { color: var(--suave); font-size: 14.5px; line-height: 21px; margin-top: -8px; }
.ent-pie { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0 16px; border-top: 1px solid var(--linea); color: var(--tenue); font-size: 12.5px; }
.ent-panel { position: relative; overflow: hidden; border-left: 1px solid var(--linea); background: radial-gradient(120% 90% at 70% 10%, var(--azul-s), transparent 60%), var(--sup2); }
.ent-ok { display: flex; align-items: flex-start; gap: 10px; padding: 11px 12px; border-radius: 10px; background: var(--bien-f); color: var(--bien); font-size: 13.5px; line-height: 19px; font-weight: 600; }
.ent-ok.aviso { background: var(--aviso-f); color: var(--aviso); } .ent-ok .i { --s: .62; flex: 0 0 auto; margin-top: 1px; }
.ent-ok.se-va { animation: okSeVa .5s 4.5s ease both; } @keyframes okSeVa { to { opacity: 0; } }
.ent-error { display: flex; align-items: center; gap: 8px; margin-top: -8px; font-size: 13px; line-height: 18px; color: var(--mal); font-weight: 600; } .ent-error .i { --s: .56; flex: 0 0 auto; }
.campo-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.enlace-b { color: var(--azul-tinta); font-size: 13.5px; font-weight: 600; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: none; }
.enlace-b:hover { text-decoration: underline; }
.ent-enlaces { display: flex; flex-wrap: wrap; gap: 8px 18px; } .ent-enlaces.centro { justify-content: center; }
.in-clave { position: relative; } .in-clave .in { padding-right: 44px; } .in-clave .bi { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; }
.in[aria-invalid="true"] { border-color: var(--mal); box-shadow: 0 0 0 3px var(--mal-f); }
.ent-tarjeta .in, .ent-tarjeta .b-alto { height: 42px; font-size: 15px; }
.ent-cuenta { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 10px; border: 1px solid var(--linea); border-radius: 10px; }
.ent-cuenta > span:nth-child(2) { display: grid; flex: 1; min-width: 0; } .ent-cuenta small { font-size: 12px; color: var(--tenue); } .ent-cuenta span span { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
/* The steps of sign-up and of the installer */
.ent-prog { display: flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; color: var(--suave); }
.ent-prog > div { display: flex; gap: 4px; flex: 1; } .ent-prog > div i { flex: 1; height: 4px; border-radius: 4px; background: var(--linea2); transition: background .3s; } .ent-prog > div i.on { background: var(--azul); }
.ent-prog .bi { width: 30px; height: 30px; flex: 0 0 auto; } .ent-prog .bi:disabled { color: var(--tenue); cursor: not-allowed; }
/* The code boxes (six digits; the installation one, eight letters and digits) */
.vf-otp { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.vf-otp.ocho { grid-template-columns: repeat(4, minmax(0, 1fr)) 10px repeat(4, minmax(0, 1fr)); gap: 6px; }
.vf-otp > span { display: grid; place-items: center; height: 52px; border: 1px solid var(--linea2); border-radius: 10px; background: var(--sup); font: 600 22px/1 var(--mono); color: var(--tinta); transition: border-color .15s, box-shadow .15s; }
.vf-otp.ocho > span { height: 46px; font-size: 18px; }
.vf-otp > span.ahora { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.vf-otp > i { align-self: center; height: 2px; background: var(--linea2); }
.vf-tiempo { display: grid; gap: 6px; } .vf-barra { height: 4px; border-radius: 4px; background: var(--linea); overflow: hidden; }
.vf-barra i { display: block; height: 100%; width: 100%; background: var(--azul); transform-origin: left; animation: vfBarra 30s linear infinite; } @keyframes vfBarra { to { transform: scaleX(0); } }
.vf-nota { font-size: 12.5px; color: var(--tenue); }
.vf-recordar { display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; }
/* The two-step verification QR and the backup codes */
.qr-fila { display: flex; align-items: center; gap: 18px; } .qr { width: 132px; height: 132px; flex: 0 0 auto; padding: 8px; border-radius: 12px; background: #fff; border: 1px solid var(--linea); }
.qr svg { width: 100%; height: 100%; display: block; } .qr-fila p { font-size: 13.5px; line-height: 20px; color: var(--suave); }
.qr-fila code { display: inline-block; margin-top: 6px; font: 600 12.5px/18px var(--mono); color: var(--tinta); background: var(--sup3); padding: 2px 6px; border-radius: 5px; overflow-wrap: anywhere; }
.respaldos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 14px; border-radius: 12px; background: var(--sup2); border: 1px solid var(--linea); }
.respaldos span { font: 600 14px/22px var(--mono); text-align: center; }
.casilla-f { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; cursor: pointer; }
.casilla { width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--linea2); display: grid; place-items: center; flex: 0 0 auto; transition: background .15s, border-color .15s; }
.casilla[aria-checked="true"] { background: var(--azul); border-color: var(--azul); } .casilla[aria-checked="true"]::after { content: ''; width: 10px; height: 6px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }

/* ---------- The window's mosaic: the leads on their way to Simla (calm, only transform) ---------- */

/* ---------- The terminal: the log of the email test ---------- */
.term-ins { height: 236px; }
.term-ins pre { height: calc(100% - 38px); overflow: auto; }
/* The lines' colours with the theme (0.12.0; Luis, 2026-11-12: «Siento que ese color verde casi que es muy brilloso y no muy leible en
   light mode»): those of the dark terminal were the same on the light grey one */
.term .t-ok { color: var(--cn-ok); }
.term .t-mal { color: var(--cn-mal); }
.term .t-tenue { color: var(--cn-gris); }
.term .t-azul { color: var(--cn-azul); }

/* ---------- The inbox: the email that arrives (invitation, password recovery) ---------- */
.mail { max-width: 600px; margin: 0 auto; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; overflow: hidden; box-shadow: var(--sh1); }
.mail-cab { display: flex; align-items: center; gap: 10px; padding: 18px 26px; border-bottom: 1px solid var(--linea); font-size: 14.5px; } .mail-cab img { width: 24px; height: 24px; }
.mail-c { padding: 26px; display: grid; gap: 14px; font-size: 14.5px; line-height: 22px; color: var(--suave); } .mail-c h2 { font-size: 21px; line-height: 28px; color: var(--tinta); letter-spacing: -.3px; }
.mail-c .b { justify-self: start; } .mail-c small { font-size: 12.5px; color: var(--tenue); }
.mail-pie { padding: 14px 26px; border-top: 1px solid var(--linea); font-size: 12px; color: var(--tenue); }

/* ---------- The entrance to the panel: «Profundidad» ---------- */
.tr-atras { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: 0; transform: scale(.92); animation: trAtras .42s cubic-bezier(.4, 0, .2, 1) both; }
.tr-atras * { animation: none !important; transition: none !important; }
@keyframes trAtras { from { opacity: 1; transform: none; } }
.app.tr-llega { position: relative; z-index: 1; background: var(--bg); animation: trDelante .5s .1s cubic-bezier(.2, 0, 0, 1) both; }
@keyframes trDelante { from { opacity: 0; transform: scale(1.06); } }
.app.tr-llega .pn-riel { animation: trRiel .42s .26s var(--ease) both; }
@keyframes trRiel { from { transform: translateX(-100%); } }
.app.tr-llega .marco > *, .app.tr-llega .pila-inicio > * { animation: trSube .38s .3s var(--ease) both; }
.app.tr-llega .marco > :nth-child(2), .app.tr-llega .pila-inicio > :nth-child(2) { animation-delay: .345s; }
.app.tr-llega .marco > :nth-child(3), .app.tr-llega .pila-inicio > :nth-child(3) { animation-delay: .39s; }
.app.tr-llega .pila-inicio > :nth-child(n + 4) { animation-delay: .435s; }
.app.tr-llega .hola-c > * { animation: trSube .38s .5s var(--ease) both; } .app.tr-llega .hola-c > :nth-child(2) { animation-delay: .56s; } .app.tr-llega .hola-c > :nth-child(3) { animation-delay: .62s; }
@keyframes trSube { from { opacity: 0; transform: translateY(14px); } }
@keyframes trCab { from { transform: translateY(-100%); } } @keyframes trBarra { from { transform: translateY(100%); } }
@media (max-width: 720px) { .app.tr-llega .pn-riel { animation-name: trBarra; } .app.tr-llega .pn-barra { animation: trCab .38s .26s var(--ease) both; } }
@media (prefers-reduced-motion: reduce) { .app.tr-llega, .app.tr-llega * { animation: none !important; } }

/* ---------- The first time: «Hola» and what your group can do ---------- */
.hola { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 16px; background: radial-gradient(120% 140% at 0% 0%, var(--azul-s), transparent 65%), var(--sup); border: 1px solid var(--linea); }
.hola > span:nth-child(2) { display: grid; gap: 3px; } .hola b { font-size: 20px; line-height: 26px; letter-spacing: -.3px; } .hola p { color: var(--suave); font-size: 14px; line-height: 20px; }
.hola-c { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hola-t { display: grid; gap: 8px; align-content: start; padding: 16px; border-radius: 14px; background: var(--sup); border: 1px solid var(--linea); text-align: left; transition: border-color .2s, transform .2s; }
.hola-t:hover { border-color: var(--azul); } .hola-t .ios-ic { width: 34px; height: 34px; } .hola-t b { font-size: 15px; } .hola-t small { color: var(--suave); font-size: 13px; line-height: 19px; }
.hola-t em { font-style: normal; font-size: 13px; font-weight: 600; color: var(--azul-tinta); display: inline-flex; align-items: center; gap: 4px; } .hola-t em .i { --s: .5; transform: rotate(-90deg); }

/* ---------- My profile («Título a la izquierda») ---------- */
.pf { display: grid; background: var(--sup); border: 1px solid var(--linea); border-radius: 16px; padding: 0 24px; }
.pf-fila { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .pf-fila > span { flex: 1; min-width: 180px; font-size: 14px; } .pf-fila small { display: block; color: var(--suave); font-size: 12.5px; }
.pf .b-rojo { color: var(--mal); }

/* ---------- Windows: your photo, invite, a template ---------- */
.dlg-fondo { position: absolute; inset: 0; z-index: 70; background: var(--velo); animation: aparece .2s ease both; }
@keyframes aparece { from { opacity: 0; } }
.dlg { position: absolute; z-index: 71; left: 50%; top: 50%; width: min(440px, calc(100% - 24px)); max-height: calc(100% - 24px); overflow: auto; transform: translate(-50%, -50%); background: var(--sup); border: 1px solid var(--linea); border-radius: 16px; box-shadow: var(--sh3); display: grid; animation: dlgEntra .26s var(--ease) both; }
@keyframes dlgEntra { from { opacity: 0; transform: translate(-50%, -46%) scale(.98); } }
.dlg-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 14px 20px; border-bottom: 1px solid var(--linea); } .dlg-cab b { font-size: 16px; }
.dlg-c { padding: 18px 20px; display: grid; gap: 14px; } .dlg-pie { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--linea); }
.soltar { display: grid; place-items: center; gap: 6px; padding: 18px; border: 1.5px dashed var(--linea2); border-radius: 12px; text-align: center; color: var(--suave); font-size: 13.5px; }
.soltar .i { --s: .8; color: var(--azul); } .soltar b { color: var(--tinta); }
.fotos-ej { display: flex; gap: 10px; justify-content: center; } .fotos-ej button { border-radius: 50%; padding: 2px; border: 2px solid transparent; } .fotos-ej button[aria-pressed="true"] { border-color: var(--azul); }
.recorte { position: relative; width: 200px; height: 200px; margin: 0 auto; border-radius: 14px; overflow: hidden; background: var(--sup3); }
.recorte img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .25s var(--ease); }
.recorte::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at center, transparent 0 79px, rgba(0, 0, 0, .5) 80px); }
.zoom-c { display: flex; align-items: center; gap: 10px; justify-content: center; } .zoom-c .bi { width: 32px; height: 32px; border: 1px solid var(--linea2); border-radius: 8px; }
.zoom-b { width: 160px; height: 4px; border-radius: 4px; background: var(--linea2); position: relative; } .zoom-b i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 4px; background: var(--azul); }
.zoom-b b { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: #fff; box-shadow: var(--sh2); }

/* ---------- Notices (only one at a time, bottom right; on the phone, above the bar) ---------- */
.tst { position: absolute; z-index: 90; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 10px; max-width: min(380px, calc(100% - 24px)); padding: 11px 14px; border-radius: 12px; background: var(--tinta); color: var(--bg); font-size: 13.5px; font-weight: 600; box-shadow: var(--sh3); animation: tstEntra .3s var(--ease) both; }
.tst .i { --s: .6; color: #7ee2a8; flex: 0 0 auto; } @keyframes tstEntra { from { opacity: 0; transform: translateY(10px); } }

/* ---------- A list that holds hundreds: bar, table (cards on the phone) and pages ---------- */
.lst-caja { background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; overflow: hidden; }
.lst-t { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.lst-t th { text-align: left; padding: 10px 14px; font-size: 12px; font-weight: 600; color: var(--tenue); background: var(--sup2); border-bottom: 1px solid var(--linea); white-space: nowrap; }
.lst-t td { padding: 10px 14px; border-top: 1px solid var(--linea); vertical-align: middle; }
.lst-t tbody tr:first-child td { border-top: 0; } .lst-t tr[data-a] { cursor: pointer; } .lst-t tr[data-a]:hover td { background: var(--hover); }
.lst-t td b { font-weight: 600; } .lst-t td small { display: block; color: var(--suave); font-size: 12.5px; line-height: 17px; } .lst-t .num { text-align: right; font-variant-numeric: tabular-nums; }
.lst-t .quien { display: flex; align-items: center; gap: 10px; } .lst-t .quien > span:last-child { display: grid; min-width: 0; }
.lst-t tr.off td > * { opacity: .55; } .lst-t tr.off td:last-child > * { opacity: 1; }
.grupo-b { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 8px 0 10px; border-radius: 8px; border: 1px solid var(--linea2); background: var(--sup); font-size: 13px; font-weight: 600; color: var(--tinta); white-space: nowrap; }
.grupo-b .i { --s: .5; color: var(--suave); } .grupo-b:disabled { color: var(--suave); cursor: not-allowed; }
/* The mapping's bar: which form */
.map-de { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; margin-bottom: 14px; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup2); }
.map-de > small { font-size: 13px; color: var(--suave); font-weight: 600; } .map-de .sel-c { width: auto; min-width: 280px; flex: 0 1 380px; } .map-de p { flex: 1 1 260px; font-size: 13px; color: var(--suave); line-height: 19px; }

/* ---------- Groups: the permissions by section ---------- */
.perm-g { display: grid; gap: 2px; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.perm-g > b { padding: 10px 14px; font-size: 12px; color: var(--tenue); background: var(--sup2); letter-spacing: .3px; text-transform: uppercase; }
.perm-f { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 14px; border-top: 1px solid var(--linea); }
.perm-f > span { flex: 1; display: grid; font-size: 14px; font-weight: 600; } .perm-f small { font-weight: 500; color: var(--suave); font-size: 12.5px; }
.perm-chips { display: flex; flex-wrap: wrap; gap: 4px; } .perm-chips .chapa { height: 22px; font-size: 12px; }

/* ---------- Email (0.12.0, #77): option 1 «Tarjetas arriba, como Landing Builder» of design/mockups/settings-email, Landing Builder's
   design/pliego-correo with this app's pieces: the sender and the server in cards, the tabs, each template with its email's thumbnail
   and its drawer ---------- */
.co-pila { display: grid; gap: 14px; }
.co-pila > .tarjeta.pf-tarjeta { padding: 4px 20px; }
.co-pila .aj-fila:first-child { border-top: 0; }
.co-nota { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--sup2); font-size: 13px; line-height: 19px; color: var(--suave); }
.co-nota .i { --s: .65; margin-top: 1px; flex: 0 0 auto; }
.co-term { margin: 0 0 12px; } .co-term pre { max-height: 188px; overflow: auto; }
.co-enl { display: flex; justify-content: flex-end; padding: 2px 0 14px; }
/* Plantillas and Enviados, each a section with its title (0.13.0, #80, «Dos secciones con su título»): its icon, its count, what it is
   and its summary on the right; the templates in 3 columns at 1440 and 4 from about 1700 px, one on the phone */
.co-zh { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 22px 0 14px; padding: 0 0 12px; border-bottom: 1px solid var(--linea); }
.co-zh .co-ic { width: 36px; height: 36px; border-radius: 10px; } .co-zh .co-ic .i { --s: .7; }
.co-zh-t { min-width: 0; flex: 1 1 260px; }
.co-zh h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; line-height: 22px; }
.co-zh p { margin: 2px 0 0; font-size: 13px; line-height: 19px; color: var(--suave); }
.co-zh-d { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--suave); }
.co-n { display: inline-grid; place-items: center; min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px; background: var(--sup3); color: var(--suave); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.co-g { display: grid; grid-template-columns: repeat(auto-fill, minmax(max(300px, calc((100% - 42px) / 4)), 1fr)); gap: 14px; }
.co-g + .pag-c { margin-top: 12px; }
.co-c { all: unset; box-sizing: border-box; cursor: pointer; display: grid; min-width: 0; border: 1px solid var(--linea); border-radius: 14px; overflow: hidden; background: var(--sup); transition: border-color .15s, box-shadow .15s; }
.co-c:hover { border-color: var(--linea2); box-shadow: 0 6px 18px rgb(15 23 42 / .08); }
.co-c:focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; }
.co-mini { display: block; height: 168px; overflow: hidden; background: var(--sup2); border-bottom: 1px solid var(--linea); position: relative; pointer-events: none; }
.co-mini-e { position: absolute; inset: 0; }
.co-ct { display: flex; gap: 10px; padding: 12px 14px; align-items: flex-start; min-width: 0; }
.co-ct > span:last-child { display: grid; gap: 2px; min-width: 0; }
.co-ct b { font-size: 13.5px; line-height: 19px; } .co-ct small { font-size: 12.5px; line-height: 18px; color: var(--suave); }
.co-ic { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--sup3); color: var(--suave); flex: 0 0 auto; } .co-ic .i { --s: .62; }
.co-cuando { display: flex; gap: 8px; align-items: flex-start; margin: 0; font-size: 13px; line-height: 19px; color: var(--suave); } .co-cuando .i { --s: .6; margin-top: 2px; flex: 0 0 auto; }
.co-segs { display: flex; flex-wrap: wrap; gap: 8px; } .co-segs .seg { width: auto; }
.co-marco { border: 1px solid var(--linea); border-radius: 14px; overflow: hidden; background: var(--sup2); }
.co-asunto { display: grid; gap: 2px; padding: 10px 12px; border-bottom: 1px solid var(--linea); background: var(--sup); }
.co-asunto small { font-size: 12px; color: var(--suave); } .co-asunto b { font-size: 14px; }
.co-previa { display: block; overflow: hidden; }
@media (max-width: 720px) { .co-g { grid-template-columns: minmax(0, 1fr); } .co-pila > .tarjeta.pf-tarjeta { padding: 2px 16px; } .co-zh-d { padding-left: 50px; } }
.cajon-v { position: absolute; z-index: 61; top: 0; right: 0; bottom: 0; width: min(520px, 100%); background: var(--sup); border-left: 1px solid var(--linea); box-shadow: var(--sombra-cajon, var(--sh3)); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; animation: cajonEntra .3s var(--ease) both; }
@keyframes cajonEntra { from { transform: translateX(100%); } }
.cajon-v .cv-c { overflow: auto; padding: 18px 20px; display: grid; gap: 14px; align-content: start; }
.cajon-v .mail { box-shadow: none; }

/* ---------- The phone ---------- */
.solo-tel { display: none; }
@media (max-width: 720px) {
  .solo-esc { display: none !important; } .solo-tel { display: flex; }
  .entv { padding: 0; place-items: stretch; }
  .ent-ventana, .entv.ent-ins .ent-ventana { width: 100%; height: 100%; border: 0; border-radius: 0; box-shadow: none; grid-template-rows: 54px minmax(0, 1fr) auto; }
  .ent-cab { padding: 0 14px 0 16px; }
  .ent-cuerpo { grid-template-columns: minmax(0, 1fr); grid-template-rows: 132px minmax(0, 1fr); }
  .entv.ent-ins .ent-cuerpo { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .ent-panel { order: -1; border-left: 0; border-bottom: 1px solid var(--linea); }
  .ent-centro, .entv.ent-ins .ent-centro { align-content: start; padding: 22px 18px 18px; }
  .ent-pie { flex-direction: column; gap: 10px; padding: 12px 16px 14px; }
  .ins-ledger { display: none; }
  .qr-fila { flex-direction: column; align-items: flex-start; }
  .mail-c, .mail-cab { padding-left: 18px; padding-right: 18px; }
  .pop-yo { left: 0; right: 0; bottom: 0; width: auto; border-radius: 18px 18px 0 0; padding: 8px 10px 18px; animation-name: yoHoja; }
  .pop-yo::before { left: 50%; top: 8px; bottom: auto; width: 36px; height: 4px; margin-left: -18px; border: 0; border-radius: 4px; background: var(--linea2); transform: none; }
  .pop-yo .yo-quien { margin-top: 12px; } @keyframes yoHoja { from { transform: translateY(100%); } }
  .yo-fondo { position: absolute; inset: 0; z-index: 59; background: var(--velo); }
  .pf { padding: 0 16px; }
  .hola { padding: 14px; } .hola b { font-size: 17px; line-height: 22px; } .hola-c { grid-template-columns: minmax(0, 1fr); }
  .lst-caja { background: none; border: 0; border-radius: 0; overflow: visible; }
  .lst-t thead { display: none; } .lst-t, .lst-t tbody { display: grid; gap: 10px; }
  .lst-t tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 12px; padding: 12px 14px; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; }
  .lst-t td { padding: 0; border: 0; min-width: 0; } .lst-t td.l-pri { grid-column: 1 / -1; }
  .lst-t td[data-rot]::before { content: attr(data-rot); display: block; font-size: 11.5px; line-height: 15px; color: var(--tenue); font-weight: 600; margin-bottom: 2px; }
  .lst-t .num { text-align: left; } .lst-t tr[data-a]:hover td { background: none; }
  .map-de .sel-c { min-width: 0; flex: 1 1 100%; }
  .gu { grid-template-columns: minmax(0, 1fr); } .gu-ind { position: static; }
  .cajon-v { width: 100%; }
  .dlg { width: calc(100% - 20px); }
  .tst { left: 12px; right: 12px; bottom: 72px; max-width: none; }
}

/* ---------- More pieces: the Sandbox flask, the house number, the code boxes, the console footer ---------- */
.i-matraz { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3h6M10 3v6.2L4.6 18.4A1.7 1.7 0 0 0 6.1 21h11.8a1.7 1.7 0 0 0 1.5-2.6L14 9.2V3'/><path d='M7.5 15h9'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.gira-180 { transform: rotate(180deg); }
.numc { display: inline-flex; align-items: center; height: 36px; border: 1px solid var(--linea2); border-radius: 6px; background: var(--sup); overflow: hidden; }
.numc .bi { width: 34px; height: 34px; border-radius: 0; } .numc .bi .i { --s: .55; } .numc b { min-width: 56px; text-align: center; font: 600 14px/1 var(--mono); }
.vf-otp-w { position: relative; } .vf-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; z-index: 1; cursor: text; font-size: 16px; }
.hook-dir { display: flex; align-items: center; gap: 6px; min-width: 0; } .hook-dir code { font: 600 13px/18px var(--mono); padding: 7px 10px; border-radius: 8px; background: var(--sup3); overflow-wrap: anywhere; min-width: 0; }

/* ---------- The Sandbox: live listening, Google's test, its mapping and what Simla answers ---------- */
.sb { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 16px; align-items: start; }
.sb-punto { position: relative; width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--bien); flex: 0 0 auto; }
.sb-punto::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--bien); animation: sbLatido 1.6s ease-out infinite; }
@keyframes sbLatido { from { opacity: .6; transform: scale(1); } to { opacity: 0; transform: scale(2.8); } }
@keyframes sbLlega { from { opacity: 0; transform: translateY(-10px) scale(.98); } }
.sb-sale { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--tinta); min-width: 0; } .sb-sale > span { overflow-wrap: anywhere; } .sb-sale .i { --s: .55; color: var(--bien); flex: 0 0 auto; }
@media (max-width: 720px) {
  .sb { grid-template-columns: minmax(0, 1fr); }
  .hook-dir { flex-wrap: wrap; }
}

/* Today's login uses the same classes with box and margins: inside the new window, out */
.ent-ventana .ent-tarjeta { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.ent-ventana .ent-tarjeta h1 { margin: 0; font-size: 24px; line-height: 30px; }
.ent-ventana .ent-tarjeta p { margin: 0; } .ent-ventana .ent-tarjeta .ent-sub { margin-top: -8px; }
.ent-ventana .ent-error { padding: 0; background: none; border-radius: 0; margin-top: -8px; align-items: center; font-size: 13px; }
.ent-ventana .ent-error .i { margin-top: 0; --s: .56; }
.ent-ventana .ent-pie { margin: 0; }
/* Only for test screenshots (ver.html?quieto=1): each animation, in its final state */
html[data-quieto] *, html[data-quieto] *::before, html[data-quieto] *::after { animation-duration: 0s !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; transition: none !important; }

/* Blocks with line numbers, also inside tabs (Sandbox, option 4's logs) */
.json.json-claro { color: var(--tinta); background: var(--sup); }

/* ---------- The entrance illustration: the brand's background, dark, and white strokes ---------- */
.ent-panel { border-left: 0; color: #fff; background: radial-gradient(90% 70% at 88% 4%, rgba(122, 92, 255, .6), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(47, 107, 255, .45), transparent 62%), linear-gradient(160deg, #191343 0%, #261c6e 55%, #30249a 100%); }
.ilu { position: absolute; inset: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 14px; padding: 26px 34px 32px; }
.ilu-svg { width: 100%; height: 100%; min-height: 0; display: block; font-family: var(--font); overflow: visible; }
.ilu-txt { display: grid; gap: 6px; } .ilu-txt b { font-size: 22px; line-height: 28px; letter-spacing: -.3px; color: #fff; } .ilu-txt p { font-size: 14px; line-height: 21px; color: rgba(255, 255, 255, .74); max-width: 430px; }
.ilu-simla { filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .38)); }
/* A1 «El formulario se llena» (0.6.5): the fields fill in, Send is pressed and the customer and their order come into Simla; 9 s */
.a1-llena { transform-box: fill-box; transform-origin: left center; transform: scaleX(0); animation: 9s ease-in-out infinite; }
.a1-l0 { animation-name: a1L0; } .a1-l1 { animation-name: a1L1; } .a1-l2 { animation-name: a1L2; }
@keyframes a1L0 { 0%, 5% { transform: scaleX(0); } 13%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes a1L1 { 0%, 14% { transform: scaleX(0); } 22%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes a1L2 { 0%, 23% { transform: scaleX(0); } 31%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
.a1-boton { transform-box: fill-box; transform-origin: center; animation: a1Pulsa 9s ease-in-out infinite; }
@keyframes a1Pulsa { 0%, 34% { transform: none; } 37% { transform: scale(.94); } 41%, 100% { transform: none; } }
.a1-nueva, .a1-nuevo-p { opacity: 0; animation: 9s ease-in-out infinite; } .a1-nueva { animation-name: a1Nueva; } .a1-nuevo-p { animation-name: a1NuevoP; }
@keyframes a1Nueva { 0%, 54% { opacity: 0; transform: translateY(-8px); } 60%, 91% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes a1NuevoP { 0%, 64% { opacity: 0; transform: translateY(-8px); } 70%, 91% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
.a1-baja, .a1-baja-p { animation: 9s ease-in-out infinite; } .a1-baja { animation-name: a1Baja; } .a1-baja-p { animation-name: a1BajaP; }
@keyframes a1Baja { 0%, 54% { transform: translateY(0); } 60%, 92% { transform: translateY(30px); } 99%, 100% { transform: translateY(0); } }
@keyframes a1BajaP { 0%, 64% { transform: translateY(0); } 70%, 92% { transform: translateY(30px); } 99%, 100% { transform: translateY(0); } }
@media (max-width: 720px) {
  .ilu { grid-template-columns: minmax(0, 1fr) 124px; grid-template-rows: minmax(0, 1fr); align-items: center; gap: 10px; padding: 12px 12px 12px 18px; }
  .ilu-svg { grid-column: 2; grid-row: 1; } .ilu-txt { grid-column: 1; grid-row: 1; } .ilu-txt b { font-size: 16px; line-height: 21px; text-wrap: balance; } .ilu-txt p { display: none; }
}
/* Still (Reduce motion or the screenshots): the end, with the form filled and the customer and the order already in */
@media (prefers-reduced-motion: reduce) { .ilu * { animation: none !important; } .a1-llena { transform: none; } .a1-nueva, .a1-nuevo-p { opacity: 1; } .a1-baja, .a1-baja-p { transform: translateY(30px); } .a1-viaja { display: none; } }
html[data-quieto] .ilu * { animation: none !important; } html[data-quieto] .a1-llena { transform: none; } html[data-quieto] .a1-nueva, html[data-quieto] .a1-nuevo-p { opacity: 1; }
html[data-quieto] .a1-baja, html[data-quieto] .a1-baja-p { transform: translateY(30px); } html[data-quieto] .a1-viaja { display: none; }
/* Notices in the iOS list: the icon the size of the text and stuck to it */
.ios-v { display: inline-flex; align-items: center; gap: 5px; } .ios-v .i { --s: .55; flex: 0 0 auto; }

/* In the entrance and installer window, each settings row is stacked: the name on top and its control below */
.ent-tarjeta .aj-fila { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 0; border: 0; }
.ent-tarjeta .aj-ctl { justify-content: flex-start; width: 100%; } .ent-tarjeta .aj-txt p { margin: 2px 0 0; }
.ent-tarjeta .ins-cheq li { min-height: 40px; padding: 7px 14px; }
.i-menos { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><path d='M5 12h14'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }

/* ===================== (antes redesign/settings.css) ===================== */
/* ===================== Second round (option 1 chosen, with Luis's corrections of 2026-11-08) ===================== */

/* ---------- Code, always in a black terminal (also in the light theme) ---------- */
.cn { border-radius: 10px; overflow: hidden; background: #0d1117; border: 1px solid #30363d; color: #e6edf3; min-width: 0; }
.cn-cab { display: flex; align-items: center; gap: 2px; min-height: 40px; padding: 0 6px 0 8px; background: #161b22; border-bottom: 1px solid #30363d; }
.cn-cab button[data-a] { height: 30px; padding: 0 12px; border-radius: 6px; color: #8b949e; font-size: 13px; font-weight: 600; }
.cn-cab button[data-a]:hover { color: #e6edf3; } .cn-cab button[aria-pressed="true"] { color: #e6edf3; background: #30363d; }
.cn-cab .cn-tit { padding: 0 6px; color: #8b949e; font: 600 12.5px/1 var(--mono); }
.cn-cab .cp { margin-left: auto; color: #8b949e; } .cn-cab .cp:hover { color: #e6edf3; background: #30363d; }
.cn-pre { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); overflow: auto; font: 12.5px/20px var(--mono); }
.cn-pre > .co:only-child { grid-column: 1 / -1; }
.cn-pre .ln { padding: 10px 10px 10px 14px; text-align: right; color: #6e7681; user-select: none; white-space: pre; border-right: 1px solid #21262d; }
.cn-pre .co { padding: 10px 14px; white-space: pre-wrap; overflow-wrap: anywhere; color: #e6edf3; }
.cn .k { color: #79c0ff; } .cn .s { color: #a5d6ff; } .cn .n { color: #ffa657; } .cn .jb { color: #d2a8ff; } .cn .p { color: #8b949e; }
.met-p { display: inline-flex; align-items: center; height: 22px; padding: 0 7px; border-radius: 5px; background: var(--azul-s); color: var(--azul-tinta); font: 700 11.5px/1 var(--mono); flex: 0 0 auto; }

/* ---------- The Sandbox: a side with the listening and the test leads; the content without cards inside cards ---------- */
.sb2 { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: start; }
.sb2-lado { display: grid; gap: 14px; position: sticky; top: 0; }
.sb2-ev { display: grid; border: 1px solid var(--linea); border-radius: 10px; background: var(--sup); overflow: hidden; }
.sb2-gt { padding: 10px 14px; font-size: 12px; font-weight: 600; color: var(--tenue); background: var(--sup2); border-bottom: 1px solid var(--linea); }
.sb2-e { display: grid; gap: 2px; padding: 10px 14px; border-top: 1px solid var(--linea); text-align: left; position: relative; }
.sb2-e:first-of-type { border-top: 0; } .sb2-e:hover { background: var(--hover); }
.sb2-e.on { background: var(--azul-s); } .sb2-e.on::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--azul); }
.sb2-e.nuevo { animation: sbLlega .5s var(--ease) both; }
.sb2-e-c { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; } .sb2-e b { font-size: 13.5px; } .sb2-e small { font-size: 12px; color: var(--suave); }
.sb2-c { display: grid; gap: 22px; min-width: 0; }
.sb2-tit { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--linea); }
.sb2-tit > span:first-child { display: grid; gap: 2px; } .sb2-tit b { font-size: 17px; line-height: 22px; } .sb2-tit small { font-size: 13px; color: var(--suave); }
.sb2-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; } .sb2-meta .mono { font-size: 13px; font-weight: 600; } .sb2-meta .chapa { height: 22px; font-size: 12px; } .sb2-meta .chapa .i { --s: .5; }
.sb2-sec { display: grid; gap: 12px; min-width: 0; } .sb2-sec > h2 { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 15px; line-height: 20px; }
.sb2-map td { vertical-align: middle; } .sb2-map tr.aviso td { background: var(--aviso-f); } .sb2-map tr.aviso .sb-sale, .sb2-map tr.aviso .sb-sale .i { color: var(--aviso); }
/* 2 «Pasos»: like GitHub Actions logs */
/* 3 «Pestañas»: like Postman */
@media (max-width: 720px) {
  .sb2 { grid-template-columns: minmax(0, 1fr); gap: 16px; } .sb2-lado { position: static; }
}

/* ---------- Each section as in GitHub: a title with a line under it, rows and nothing inside cards ---------- */
.aj-sec2 { display: grid; gap: 14px; margin-bottom: 36px; min-width: 0; }
.aj-cab2 { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--linea); }
.aj-cab2 h2 { font-size: 18px; line-height: 24px; letter-spacing: -.2px; }
.aj-desc2 { margin: -4px 0 2px; color: var(--suave); font-size: 14px; line-height: 21px; max-width: 760px; }
.aj-sec2 > .aj-fila:first-of-type { border-top: 0; }
.aj-acc { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 4px; }

/* The field's name (pill, name and code) wraps if it does not fit */
.campo-n { flex-wrap: wrap; row-gap: 2px; min-width: 0; max-width: 100%; }

/* The Sandbox mapping: what goes out and its note */
.sb2-map .sb-sale > span { overflow-wrap: break-word; }
.sb2-map td small { display: block; color: var(--suave); font-size: 12.5px; }

/* Your account's menu, attached to the rail and to your photo (also with the Settings sub-menu open) */
@media (min-width: 721px) { .pop-yo { position: fixed; left: 72px; bottom: 12px; } }

/* ===================== Like Simla Landing Builder (0.15+): the house table, My profile, the menu, the «Página ancha» and the documentation ===================== */
.i-puntos { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><circle cx='5' cy='12' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='19' cy='12' r='2'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.b-chico { height: 30px; padding: 0 10px; font-size: 13px; gap: 6px; } .b-ic { width: 36px; padding: 0; } .b-chico.b-ic { width: 30px; } .b-chico .i { --s: .6; }
.b.b-rojo { color: var(--mal); border: 1px solid color-mix(in srgb, var(--mal) 38%, var(--linea2)); background: var(--sup); box-shadow: var(--sh1); } .b.b-rojo:hover { background: var(--mal-f); }
/* What is disabled reads (#67, 0.11.1): a grey at full opacity with its reason next to it, never the red at 45% (2.1:1 in light, 2.9:1 in dark) */
.b.b-rojo:disabled { opacity: 1; color: var(--suave); background: var(--sup2); border-color: var(--linea); box-shadow: none; } .b.b-rojo:disabled:hover { background: var(--sup2); }
.b.b-rojo:disabled .i { color: var(--tenue); }
.reason { align-self: center; font-size: 12.5px; line-height: 16px; color: var(--suave); }
.chapa.c-azul { background: var(--azul-s); color: var(--azul-tinta); } .chapas { display: flex; flex-wrap: wrap; gap: 6px; }
/* The bar: on the background, without a container */
.tb-col { display: grid; gap: 14px; min-width: 0; }
.tb-bar { display: flex; align-items: center; gap: 10px; min-width: 0; }
.fb-bus { flex: 0 1 300px; min-width: 220px; display: flex; align-items: center; gap: 8px; padding-left: 12px; height: 40px; border-radius: 9px; border: 1px solid var(--linea2); background: var(--sup); overflow: hidden; cursor: text; }
.fb-bus:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 18%, transparent); }
.fb-bus > .i { --s: .62; color: var(--suave); }
.fb-bus input { flex: 1 1 0; width: 0; min-width: 0; height: 100%; border: 0; background: none; padding: 0 10px 0 0; color: var(--tinta); font: inherit; font-size: 15px; outline: none; }
.fb-bus input::placeholder { color: var(--suave); opacity: 1; font-size: 14px; }
.fb-fichas { flex: 1 1 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.fb-ficha { height: 34px; display: inline-flex; align-items: stretch; max-width: 100%; border-radius: 999px; border: 1px solid var(--linea2); background: var(--sup); color: var(--tinta); overflow: hidden; font-size: 14px; font-weight: 600; }
.fb-ficha > .fb-a, .fb-ficha > .fb-x { height: 100%; display: inline-flex; align-items: center; gap: 6px; min-width: 0; padding: 0 10px 0 13px; border: 0; background: none; color: inherit; font: inherit; white-space: nowrap; cursor: pointer; }
.fb-ficha > button:hover { background: var(--hover); } .fb-ficha .i { --s: .55; color: var(--suave); }
.fb-k { font-weight: 500; } .fb-a > b { font-weight: 700; }
.fb-ficha.on { border-color: var(--azul); background: var(--azul-s); color: var(--azul-tinta); } .fb-ficha.on .i { color: inherit; }
.fb-ficha > .fb-x { width: 30px; justify-content: center; padding: 0; border-left: 1px solid color-mix(in srgb, var(--azul) 35%, transparent); }
.fb-fichas .fb-quitar { width: 34px; height: 34px; padding: 0; justify-content: center; border-radius: 999px; }
.fb-fin { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; margin-left: auto; } .fb-fin .b { height: 40px; }
.pop.pop-ficha { width: 260px; } .pop-ficha button { display: flex; align-items: center; gap: 10px; } .pop-ficha button > span { flex: 1; text-align: left; } .pop-ficha em { font-style: normal; font-size: 12px; color: var(--tenue); font-variant-numeric: tabular-nums; } .pop-ficha .i { --s: .55; color: var(--azul-tinta); }
/* The table: in its card; the header, the colour of the background */
.tb-lista { display: grid; gap: 12px; min-width: 0; }
.tb { --tb: minmax(0, 1fr); background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; overflow: clip; min-width: 0; }
.tb-f { display: grid; grid-template-columns: var(--tb); align-items: center; gap: 12px; min-height: 56px; padding: 6px 16px; border-top: 1px solid var(--linea); color: var(--tinta); transition: background-color .12s; }
.tb-f[data-a] { cursor: pointer; } .tb-f[data-a]:hover { background: var(--hover); }
.tb-cabs .tb-f, .tb-f.tbc { min-height: 42px; padding-top: 0; padding-bottom: 0; border-top: 0; background: var(--bg); cursor: default; }
.tb-cn { min-width: 0; font: 600 11.5px/16px var(--font); letter-spacing: .4px; text-transform: uppercase; color: var(--suave); white-space: nowrap; overflow: hidden; }
.tb-cn.num, .tb-c.num { justify-content: flex-end; text-align: right; } .tb-c.num { font-variant-numeric: tabular-nums; font-size: 14px; }
.tb-c { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 14px; }
.tb-nom { display: grid; min-width: 0; } .tb-nom b { font-size: 14.5px; line-height: 20px; font-weight: 600; } .tb-nom small { font-size: 12.5px; line-height: 17px; color: var(--tenue); }
.tb-nom .estado { justify-self: start; }
.tb-d { font-size: 13px; color: var(--suave); white-space: nowrap; font-variant-numeric: tabular-nums; }
.tb-f.off .tb-c:not(:last-child) { opacity: .55; }
.tb-con { display: flex; align-items: center; gap: 10px; min-width: 0; } .tb-bien { color: var(--bien); }
.us-quien { display: flex; align-items: center; gap: 10px; min-width: 0; } .us-quien > span:last-child { display: grid; min-width: 0; }
.us-quien b { display: flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; } .us-quien small { font-size: 12.5px; color: var(--suave); overflow-wrap: anywhere; } .us-quien .chapa { height: 20px; font-size: 11.5px; }
.us-2fa { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--bien); white-space: nowrap; font-weight: 600; } .us-2fa .i { --s: .55; } .us-2fa.no { color: var(--aviso); } .us-2fa.nada { color: var(--tenue); }
.tb-f > .tb-c .grupo-b { height: 34px; }
.tb-f { animation: sube .3s var(--ease) both; animation-delay: calc(var(--i, 0) * 24ms); } @keyframes sube { from { opacity: 0; transform: translateY(6px); } }
.tb-cabs .tb-f { animation: none; }
/* The Franja: outside the card, always, with «Total: N» */
.pag-c { container: pag / inline-size; min-width: 0; margin: 0; }
.pag { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px 16px; min-height: 40px; padding: 6px 8px 6px 14px; border-radius: 12px; background: var(--sup2); border: 1px solid var(--linea); }
.pag-izq { justify-self: start; display: inline-flex; align-items: center; gap: 10px; min-width: 0; } .pag-nav { justify-self: center; display: inline-flex; align-items: center; gap: 6px; }
.pag-tot { justify-self: end; font-size: 13px; color: var(--suave); white-space: nowrap; font-variant-numeric: tabular-nums; padding-right: 6px; } .pag-rot { font-size: 13px; color: var(--suave); white-space: nowrap; }
.pag-g { display: inline-flex; gap: 2px; }
.pag-b { min-width: 32px; height: 30px; padding: 0 8px; border: 0; border-radius: 8px; background: none; color: var(--suave); font: 600 13px/1 var(--font); font-variant-numeric: tabular-nums; display: inline-grid; place-items: center; cursor: pointer; }
.pag-b:hover:not(:disabled) { background: var(--hover); color: var(--tinta); } .pag-b:disabled { color: var(--tenue); cursor: default; }
.pag-b[aria-current="page"], .pag-b[aria-pressed="true"] { background: var(--azul-s); color: var(--azul-tinta); } .pag-b .i { --s: .6; }
@container pag (max-width: 600px) { .pag { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nav nav" "izq tot"; gap: 14px 12px; padding: 10px 12px; } .pag-nav { grid-area: nav; justify-self: stretch; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid var(--linea); } .pag-izq { grid-area: izq; } .pag-tot { grid-area: tot; } .pag-b { min-width: 36px; height: 34px; } }
/* No results and empty */
.tarjeta.tb-vacio { display: grid; place-items: center; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; padding: 18px; }
.vacio-b { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 26px 18px 10px; } .vacio-b h2 { font-size: 19px; line-height: 25px; } .vacio-b p { color: var(--suave); max-width: 52ch; }
.vacio-b .acc { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
@media (max-width: 720px) {
  .tb-col { gap: 8px; }
  .tb-bar.t { gap: 6px; } .tb-bar.t .fb-bus { flex: 1 1 0; min-width: 0; max-width: none; }
  .b.tb-fun { position: relative; flex: 0 0 auto; width: 44px; height: 40px; padding: 0; justify-content: center; gap: 3px; } .b.tb-fun:has(.fb-n) { width: 56px; }
  .fb-n { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--azul); color: #fff; font-size: 11px; font-weight: 700; display: inline-grid; place-items: center; }
  .b.tb-mas-p, .tb-bar.t .fb-quitar { flex: 0 0 auto; width: 40px; height: 40px; padding: 0; justify-content: center; }
  .tb-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; padding: 10px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); } .tb-panel .fb-ficha { width: 100%; } .tb-panel .fb-a { flex: 1; justify-content: space-between; }
  .tb-res { margin: 0; padding: 0 2px; font-size: 12.5px; line-height: 17px; color: var(--suave); }
  .tb-f.dos { display: flex; align-items: center; gap: 10px; padding: 6px 12px; min-height: 56px; } .tb-f.dos.tbc { min-height: 42px; }
  .tb-n { flex: 1 1 auto; display: grid; min-width: 0; } .tb-n > b, .tb-n > .campo-n { font-size: 14.5px; line-height: 20px; font-weight: 600; } .tb-n .campo-n b { font-size: 14.5px; }
  .tb-lin { display: block; min-width: 0; overflow: hidden; font-size: 12.5px; line-height: 17px; color: var(--suave); white-space: nowrap; mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); }
  .tb-der { flex: 0 0 auto; display: inline-flex; align-items: center; }
}
/* Mi perfil */
.col-perfil { width: 100%; display: grid; gap: 18px; }   /* full width, like the other screens (0.7.3, #45) */
.perfil-cab { display: flex; align-items: center; gap: 18px; padding: 20px; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; }
.perfil-foto { position: relative; flex: 0 0 auto; display: grid; } .perfil-foto .av { width: 76px; height: 76px; font-size: 26px; }
.perfil-foto .foto-acc { position: absolute; inset: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; border-radius: 50%; overflow: hidden; opacity: 0; transition: opacity .2s; }
.perfil-foto:hover .foto-acc, .perfil-foto:focus-within .foto-acc { opacity: 1; }
.perfil-foto .foto-acc button { display: grid; place-items: center; background: rgba(15, 20, 31, .55); color: #fff; } .perfil-foto .foto-acc button .i { --s: .62; } .perfil-foto .foto-acc [data-a="foto-quitar"] { color: #ff8f8f; }
.perfil-id { display: grid; gap: 4px; min-width: 0; } .perfil-id b { font-size: 21px; line-height: 27px; } .perfil-id small { color: var(--suave); overflow-wrap: anywhere; } .perfil-id .chapas { margin-top: 4px; }
.pf-s { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 24px; padding-top: 20px; border-top: 1px solid var(--linea); align-items: start; }
.pf-t { display: grid; gap: 4px; padding-top: 4px; } .pf-t b { display: flex; align-items: center; gap: 7px; font-size: 15px; line-height: 21px; } .pf-t b > .i { --s: .66; color: var(--suave); }
.pf-t small { font-size: 13px; line-height: 18px; color: var(--suave); }
.tarjeta.pf-tarjeta { margin: 0; display: grid; gap: 0; padding: 6px 20px; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; min-width: 0; }
.pf-form { display: grid; gap: 14px; padding: 12px 0; } .fila-campos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.pf-form .in { height: 40px; border-radius: 9px; font-size: 15px; }
.pf-ro { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border-radius: 9px; border: 1px dashed var(--linea2); background: var(--sup2); color: var(--tinta); font-size: 15px; min-width: 0; } .pf-ro .i { --s: .62; color: var(--tenue); }
.pf-ro-n { padding-left: 35px; font-size: 12.5px; line-height: 17px; color: var(--suave); }
.pf-prefs { display: grid; grid-template-columns: max-content max-content; justify-content: start; align-items: center; gap: 12px 24px; padding: 14px 0; }
.pf-pl { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--suave); }
.seg.pf-mini button { height: 28px; padding: 0 12px; font-size: 13px; gap: 6px; } .seg.pf-mini svg { width: 14px; height: 14px; }
.pf-f { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-top: 1px solid var(--linea); min-width: 0; } .pf-tarjeta > .pf-f:first-child { border-top: 0; }
.pf-eq { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; background: var(--sup3); color: var(--suave); } .pf-eq .i { --s: .6; }
.pf-ft { display: grid; gap: 2px; flex: 1; min-width: 0; } .pf-ft b { font-size: 14px; line-height: 20px; }
.pf-dato { display: flex; flex-wrap: wrap; font-size: 13px; line-height: 18px; color: var(--suave); } .pf-dato span { white-space: nowrap; } .pf-dato i { font-style: normal; white-space: pre; }
.pf-fa { flex: 0 0 auto; display: flex; justify-content: flex-end; } .pf-fa .pf-b { min-width: 148px; }
.tarjeta.tb-tarjeta { padding: 0; overflow: clip; } .tb-tarjeta .tb { border: 0; border-radius: 0; } .tb-tarjeta .tb-col { gap: 0; }
.tb-bar.pf-tb-bar { justify-content: flex-end; padding: 10px 14px; border-bottom: 1px solid var(--linea); }
@media (max-width: 900px) { .pf-s { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-top: 22px; } .pf-t { padding: 0 21px; } }
@media (max-width: 720px) {
  .pf-t { padding: 0 17px; } .tarjeta.pf-tarjeta { padding: 4px 16px; }
  .pf-fa .pf-b { min-width: 0; width: 32px; padding: 0; } .pf-fa .pf-b .pf-bt { display: none; } .pf-fa .b-rojo.pf-b { width: auto; padding: 0 10px; } .pf-fa .b-rojo.pf-b .pf-bt { display: inline; }
  .pf-dato { display: grid; } .pf-dato i { display: none; } .pf-ft b { white-space: nowrap; }
  .seg.pf-temas button { width: 40px; padding: 0; justify-content: center; } .seg.pf-temas button span { display: none; }
  .perfil-cab { flex-direction: column; text-align: center; } .perfil-id .chapas { justify-content: center; } .fila-campos { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) { .perfil-foto .foto-acc { opacity: 1; background: none; } }
/* Your account's menu */
.capa-cuenta { position: fixed; z-index: 970; left: 74px; bottom: 8px; width: 292px; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; box-shadow: var(--sh3); display: grid; transform-origin: 0 100%; animation: saleRiel .2s var(--ease) both; }
@keyframes saleRiel { from { opacity: 0; transform: translateX(-6px) scale(.98); } }
.capa-cuenta::before { content: ''; position: absolute; left: -8px; bottom: calc(var(--muesca, 26px) - 7px); width: 14px; height: 14px; background: var(--sup); border-left: 1px solid var(--linea); border-bottom: 1px solid var(--linea); border-bottom-left-radius: 3px; transform: rotate(45deg); }
.cu-yo { display: flex; align-items: center; gap: 12px; padding: 14px 24px 12px 14px; } .cu-yo > div { display: grid; justify-items: start; gap: 1px; flex: 1 1 auto; min-width: 0; }
.cu-yo b { font-size: 15px; line-height: 20px; } .cu-yo small { font-size: 12.5px; line-height: 17px; color: var(--suave); overflow-wrap: anywhere; }
.cu-grupo { display: grid; gap: 2px; padding: 6px; border-top: 1px solid var(--linea); }
.cu-grupo > button { display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 8px; border-radius: 8px; color: var(--tinta); font-size: 14px; font-weight: 600; text-align: left; }
.cu-grupo > button:hover { background: var(--hover); } .cu-grupo > button .i, .cu-fila > .i { --s: .68; color: var(--suave); }
.cu-grupo > button.rojo, .cu-grupo > button.rojo .i { color: var(--mal); }
.cu-fila { display: flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 4px 0 8px; font-size: 14px; font-weight: 600; } .cu-fila > span:not(.i):not(.seg) { flex: 1 1 auto; }
.seg.cu-mini { border-radius: 999px; } .seg.cu-mini button { width: 32px; height: 26px; padding: 0; justify-content: center; border-radius: 999px; } .seg.cu-mini svg { width: 14px; height: 14px; }
@media (max-width: 720px) { .capa-cuenta.en-tel { left: 0; right: 0; bottom: 0; width: auto; border-radius: 18px 18px 0 0; padding-bottom: 14px; animation-name: yoHoja; } .capa-cuenta.en-tel::before { left: 50%; top: 8px; bottom: auto; width: 36px; height: 4px; margin-left: -18px; border: 0; border-radius: 4px; background: var(--linea2); transform: none; } .capa-cuenta.en-tel .cu-yo { padding-top: 22px; } }
/* B1: the «Página ancha» */
.tarjeta.sx-cab { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 2px 14px; padding: 14px 16px; margin-bottom: 16px; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; }
.sx-cab > .sx-baldosa { grid-row: 1 / span 2; }
.sx-baldosa { width: 44px; height: 44px; border-radius: 12px; background: var(--morado-f); display: grid; place-items: center; flex: 0 0 auto; } .sx-baldosa img { width: 26px; height: 26px; }
.sx-host { display: flex; align-items: center; gap: 10px; min-width: 0; } .sx-host b { min-width: 0; font-size: 16px; line-height: 22px; } .sx-host .chapa { flex: 0 0 auto; }
.chapa .pt { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } .sx-vivo .pt { animation: sxLate 1.8s ease-in-out infinite; } @keyframes sxLate { 50% { opacity: .35; } }
.sx-cab-acc { grid-row: 1; grid-column: 3; display: flex; gap: 6px; }
.sx-cab > .sx-sync { grid-column: 2 / -1; display: grid; gap: 8px; min-width: 0; }
.sx-hechos { display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; min-width: 0; min-height: 24px; font-size: 13px; line-height: 20px; color: var(--suave); }
.sx-hechos > * + *::before { content: ''; flex: 0 0 auto; width: 3px; height: 3px; margin: 0 4px 0 10px; border-radius: 50%; background: var(--tenue); }
.sx-hecho { display: inline-flex; align-items: center; gap: 5px; } .sx-hecho > .i { --s: .55; } .sx-hecho b { color: var(--tinta); font-weight: 600; margin-left: 3px; }
button.sx-hecho { height: 24px; padding: 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; } button.sx-hecho:hover, button.sx-hecho:hover b { color: var(--azul); }
.sx-sy-e { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--suave); } .sx-sy-e b { color: var(--tinta); font-weight: 600; } .sx-sy-e.ok > .i { --s: .55; color: var(--bien); }
.sx-ficha { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px 0 10px; border: 1px solid var(--linea2); border-radius: 999px; background: var(--sup); color: var(--tinta); font: 600 12.5px/1 var(--font); white-space: nowrap; } .sx-ficha .i { --s: .5; }
.sx-sy-b { position: relative; height: 4px; border-radius: 2px; background: var(--linea); overflow: hidden; } .sx-sy-b i { position: absolute; inset: 0; background: var(--azul); transform-origin: 0 50%; animation: sxBarra 1.6s ease-in-out both; } @keyframes sxBarra { from { transform: scaleX(0); } }
.sx-lista { display: grid; margin: 0; padding: 0; list-style: none; } .sx-lista li { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: start; column-gap: 10px; padding: 7px 8px; }
.sx-m { width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; } li.si .sx-m { background: var(--bien-p); color: #fff; } .sx-m .i { --s: .5; }
.sx-t { display: grid; min-width: 0; } .sx-t b { font-size: 13.5px; line-height: 19px; } .sx-t code { font-family: var(--mono); font-size: 12px; line-height: 16px; color: var(--tenue); }
.pop .sep { height: 1px; background: var(--linea); margin: 4px 2px; } .pop .rojo, .pop .rojo .i { color: var(--mal); }
.tarjeta.sx-panel { display: grid; grid-template-columns: 230px minmax(0, 1fr); padding: 0; overflow: hidden; background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; margin: 0; }
.sx-nav { display: grid; align-content: start; gap: 2px; padding: 10px; border-right: 1px solid var(--linea); background: var(--sup2); }
.sx-nav button { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; height: 38px; padding: 0 10px; border-radius: 9px; color: var(--tinta); font: 600 14px/1 var(--font); text-align: left; }
.sx-nav button .i { --s: .6; color: var(--suave); } .sx-nav button em { font-style: normal; font-size: 12px; color: var(--tenue); font-variant-numeric: tabular-nums; }
.sx-nav button:hover { background: var(--hover); } .sx-nav button.on { background: var(--azul-s); color: var(--azul-tinta); } .sx-nav button.on .i { color: inherit; }
.sx-main { display: grid; gap: 12px; align-content: start; min-width: 0; padding: 16px; } .sx-tit { font-size: 15px; }
@media (max-width: 720px) {
  .tarjeta.sx-cab { padding: 12px 14px; column-gap: 12px; } .sx-cab > .sx-baldosa { grid-row: 1; } .sx-host { flex-direction: column; align-items: flex-start; gap: 4px; }
  .sx-cab > .sx-sync { grid-column: 1 / -1; margin-top: 8px; } .sx-hechos { column-gap: 14px; row-gap: 6px; } .sx-hechos > * + *::before { display: none; }
  .sx-resync .fe-l { display: none; } .sx-resync { width: 30px; padding: 0; justify-content: center; }
  .tarjeta.sx-panel { grid-template-columns: minmax(0, 1fr); } .sx-panel:not(.en-cat) .sx-main { display: none; } .sx-panel.en-cat .sx-nav { display: none; }
  .sx-nav { border-right: 0; background: var(--sup); } .sx-nav button { height: 46px; } .sx-main { padding: 12px; } .sx-main .tb { border-radius: 10px; }
}
/* ===================== Code style (Luis, 2026-11-08): in light, light grey like GitHub, Slack and Mattermost; in dark, the terminal ===================== */
/* Light: GitHub's (Primer) #f6f8fa background and #d0d7de border, #1f2328 text and its syntax palette. Dark: #0d1117 and dark GitHub's.
   It applies to every code block of the panel: the Sandbox, a lead's log, the detail and the guide. Never a black block on the light theme. */
:root { --cn-bg: #f6f8fa; --cn-cab: #eef1f4; --cn-borde: #d0d7de; --cn-linea: #d8dee4; --cn-tinta: #1f2328; --cn-tenue: #59636e; --cn-ln: #8c959f; --cn-on: #ffffff;
  --cn-k: #0550ae; --cn-s: #0a3069; --cn-n: #953800; --cn-b: #8250df; --cn-p: #59636e;
  --cn-ok: #1a7f37; --cn-mal: #cf222e; --cn-gris: #59636e; --cn-azul: #0550ae; }
:root[data-theme="dark"] { --cn-bg: #0d1117; --cn-cab: #161b22; --cn-borde: #30363d; --cn-linea: #21262d; --cn-tinta: #e6edf3; --cn-tenue: #8b949e; --cn-ln: #6e7681; --cn-on: #30363d;
  --cn-k: #79c0ff; --cn-s: #a5d6ff; --cn-n: #ffa657; --cn-b: #d2a8ff; --cn-p: #8b949e;
  --cn-ok: #7ee2a8; --cn-mal: #ff8f8f; --cn-gris: #8b95a7; --cn-azul: #8ab4ff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --cn-bg: #0d1117; --cn-cab: #161b22; --cn-borde: #30363d; --cn-linea: #21262d; --cn-tinta: #e6edf3; --cn-tenue: #8b949e; --cn-ln: #6e7681; --cn-on: #30363d;
  --cn-k: #79c0ff; --cn-s: #a5d6ff; --cn-n: #ffa657; --cn-b: #d2a8ff; --cn-p: #8b949e;
  --cn-ok: #7ee2a8; --cn-mal: #ff8f8f; --cn-gris: #8b95a7; --cn-azul: #8ab4ff; } }
.cn, .term { background: var(--cn-bg); border: 1px solid var(--cn-borde); color: var(--cn-tinta); }
.cn-cab, .term-cab { background: var(--cn-cab); border-bottom: 1px solid var(--cn-borde); color: var(--cn-tenue); }
.cn-cab button[data-a] { color: var(--cn-tenue); } .cn-cab button[data-a]:hover { color: var(--cn-tinta); } .cn-cab button[aria-pressed="true"] { color: var(--cn-tinta); background: var(--cn-on); box-shadow: 0 0 0 1px var(--cn-borde); }
.cn-cab .cn-tit { color: var(--cn-tenue); } .cn-cab .cp { color: var(--cn-tenue); } .cn-cab .cp:hover { color: var(--cn-tinta); background: var(--cn-on); }
.cn-pre .ln { color: var(--cn-ln); border-right-color: var(--cn-linea); } .cn-pre .co { color: var(--cn-tinta); }
.cn .k, .term .json .k { color: var(--cn-k); } .cn .s, .term .json .s { color: var(--cn-s); } .cn .n, .term .json .n { color: var(--cn-n); } .cn .jb, .term .json .jb { color: var(--cn-b); } .cn .p, .term .json .p { color: var(--cn-p); }
.term pre.json { color: var(--cn-tinta); } .term-cab .met { color: var(--cn-k); } .term-cab .ok { color: var(--cn-ok); } .term-cab .ko { color: var(--cn-mal); }

/* ---------- Leads: the status on one line and the order in its pill; nothing piled up ---------- */
.a-pill { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 8px 0 10px; border-radius: 999px; border: 1px solid var(--linea2); background: var(--sup); color: var(--azul-tinta); font: 600 12.5px/1 var(--mono); text-decoration: none; white-space: nowrap; }
.a-pill:hover { border-color: var(--azul); background: var(--azul-s); } .a-pill .i { --s: .5; }
.estado-l { display: inline-flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; } .estado-l small { color: var(--tenue); font-size: 12.5px; font-variant-numeric: tabular-nums; }
/* The lead's detail: the customer and the order, two clean links */
.sim-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.sim-l { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 12px 14px; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); color: var(--tinta); text-decoration: none; transition: border-color .15s, background .15s; }
.sim-l:hover { border-color: var(--azul); background: var(--azul-s); }
.sim-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; flex: 0 0 auto; background: var(--sup3); color: var(--suave); } .sim-ic .i { --s: .6; }
.sim-l > span:nth-child(2) { display: grid; min-width: 0; flex: 1; } .sim-l small { font-size: 12px; color: var(--tenue); font-weight: 600; } .sim-l b { font-size: 14.5px; overflow-wrap: anywhere; }
.sim-l > .i { --s: .55; color: var(--azul-tinta); flex: 0 0 auto; }
.sim-ext { margin: 0 0 6px; font-size: 12.5px; line-height: 18px; color: var(--suave); } .sim-ext .mono { color: var(--tinta); overflow-wrap: anywhere; }
@media (max-width: 720px) { .sim-links { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Bulk actions, like in Landing Builder ---------- */
.i-casillas { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='8' height='8' rx='2'/><path d='m5.5 7 1.5 1.5 3-3'/><rect x='13' y='13' width='8' height='8' rx='2'/><path d='M14 5h7M14 9h5M3 15h7M3 19h5'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.i-lista { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'><path d='M9 6h11M9 12h11M9 18h11'/><circle cx='4.5' cy='6' r='1' fill='%23000'/><circle cx='4.5' cy='12' r='1' fill='%23000'/><circle cx='4.5' cy='18' r='1' fill='%23000'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.us-sel { position: relative; width: 18px; height: 18px; padding: 0; border-radius: 5px; border: 1.5px solid var(--linea2); background: var(--sup); display: grid; place-items: center; color: #fff; cursor: pointer; flex: 0 0 auto; }
.us-sel:hover { border-color: var(--azul); }
.us-sel.on { background: var(--azul); border-color: var(--azul); } .us-sel.on::after { content: ''; width: 9px; height: 5px; border: 2px solid #fff; border-top: 0; border-right: 0; transform: translateY(-1px) rotate(-45deg); }
.us-sel.parte { background: var(--azul); border-color: var(--azul); } .us-sel.parte::after { content: ''; width: 8px; height: 2px; border-radius: 2px; background: #fff; }
.us-sel.apag { border-style: dashed; color: var(--tenue); background: none; cursor: not-allowed; } .us-sel.apag .i { --s: .45; }
.tb-sel { display: inline-flex; align-items: center; gap: 0; margin-left: -2px; } .tb-sel-m { width: 18px; height: 24px; display: grid; place-items: center; color: var(--suave); border-radius: 5px; } .tb-sel-m:hover { background: var(--hover); color: var(--tinta); } .tb-sel-m .i { --s: .5; }
.tb-f.sel { background: color-mix(in srgb, var(--azul-s) 70%, transparent); } .tb-f.sel:hover { background: var(--azul-s); }
.tb-cuenta { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--azul-tinta); white-space: nowrap; } .tb-cuenta b { font-weight: 700; }
.b.tb-acciones { height: 40px; } .b.tb-acciones .i { --s: .55; } .b.tb-acciones.apag { opacity: .55; cursor: not-allowed; box-shadow: none; }
.tb-f.dos .tb-fin { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; } .tb-f.dos .tb-fin b { font-size: 13px; color: var(--azul-tinta); } .tb-f.dos .tb-sel { margin-right: 4px; }
.pop.pop-acc { width: 290px; } .pop-acc button { display: flex; align-items: center; gap: 10px; } .pop-acc button > span { flex: 1; text-align: left; } .pop-acc button .i { --s: .6; color: var(--suave); }
.pop-acc button:disabled { opacity: 1; color: var(--suave); cursor: not-allowed; } .pop-acc button.rojo, .pop-acc button.rojo .i { color: var(--mal); }
.pop-acc button.rojo:disabled, .pop-acc button:disabled .i, .pop-acc button.rojo:disabled .i { color: var(--tenue); } .pop-acc button.rojo:disabled { color: var(--suave); }
.pop-acc .reason { margin-left: auto; padding-left: 12px; font-size: 12px; white-space: nowrap; }
.pop-acc .pop-volver { font-weight: 700; color: var(--tinta); } .pop-acc .gira-270 { --s: .45 !important; }
.conf-l { display: grid; gap: 4px; margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--sup2); border: 1px solid var(--linea); font-size: 13.5px; } .conf-l li { list-style: none; } .conf-l .mas { color: var(--suave); }
.dlg-c p { color: var(--suave); font-size: 14px; line-height: 21px; margin: 0; }
.b.b-peligro { background: var(--relleno-rojo); color: #fff; border: 0; } .b.b-peligro .i { --s: .6; }
.tst.tst-cola { align-items: flex-start; } .tst-t { display: grid; gap: 4px; min-width: 240px; } .tst-t small { font-weight: 500; opacity: .75; } .tst-barra { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .2); overflow: hidden; } .tst-barra i { display: block; height: 100%; background: #7ee2a8; transform-origin: left; transition: transform .2s; }
.tst-enlace { background: none; border: 0; padding: 0; color: #8ab4ff; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.map-cel .sel-c { width: 100%; }
/* No button without a shape: one without a variant comes out as secondary */
.b:not(.b-pri):not(.b-sec):not(.b-fantasma):not(.b-peligro):not(.b-bien):not(.b-rojo):not(.b-discontinuo) { background: var(--sup); border: 1px solid var(--linea2); color: var(--tinta); box-shadow: var(--sh1); }

.term-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .term-ruta { min-width: 0; overflow-wrap: anywhere; } .term-res { white-space: nowrap; margin-left: auto; } .term-cab .cp { margin-left: 4px; }

/* ===================== (antes redesign/home.css) ===================== */
/* ===================== Ronda 3 (08/11/2026) ===================== */
/* The chosen option shows in every segment and in the theme: a raised pill (in light, white; in dark, a grey lighter than the track) */
.seg button[aria-pressed="true"], .apariencia button[aria-pressed="true"] { background: var(--sup); color: var(--tinta); box-shadow: var(--sh-ind), 0 1px 2px rgba(30, 34, 72, .1); }
:root[data-theme="dark"] .seg button[aria-pressed="true"], :root[data-theme="dark"] .apariencia button[aria-pressed="true"] { background: var(--linea2); box-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .seg button[aria-pressed="true"], :root:not([data-theme="light"]) .apariencia button[aria-pressed="true"] { background: var(--linea2); box-shadow: 0 1px 2px rgba(0, 0, 0, .35); } }
.seg button:not([aria-pressed="true"]):hover { color: var(--tinta); background: color-mix(in srgb, var(--sup) 45%, transparent); }
/* The code tabs: the chosen one, with its line and its ink */
.cn-cab button[aria-pressed="true"] { color: var(--cn-tinta); box-shadow: inset 0 -2px 0 var(--azul); }

/* The version, like in Landing Builder: under your photo on the rail and on the right of the phone's bar */
.ver-pill { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; height: 18px; padding: 0 7px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .72); font-size: 10.5px; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: 0; white-space: nowrap; cursor: default; user-select: none; transition: transform .16s var(--ease); }
.ver-pill:active { transform: scale(.97); }
.ver-pill > span { display: inline-block; }
.ver-pill.onda > span { animation: verOnda .42s ease-in-out calc(var(--i) * 34ms) both; }
@keyframes verOnda { 0%, 100% { transform: none; } 45% { transform: translateY(-3px); } }
.pn-pie .ver-pill { margin-top: 2px; }
.pn-barra .ver-pill { height: 20px; margin-left: auto; padding: 0 8px; background: var(--sup3); color: var(--suave); font-size: 11px; }
.pn-barra .tel-cab { flex: 1 1 auto; }

/* Each row's «⋯» */
.tb-c:has(> .tb-mas) { justify-content: flex-end; }
.tb-mas { width: 32px; height: 32px; padding: 0; justify-content: center; flex: 0 0 auto; }
.tb-mas .i { --s: .6; }
.tb-der .tb-mas { margin-left: 4px; }
.tb-der:has(.tb-mas) { display: inline-flex; align-items: center; gap: 6px; }
.pop-mas { width: 244px; }
.pop-acc button[disabled] { opacity: 1; cursor: not-allowed; }

/* Forms: the mapping on one line */
.map-min { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 13.5px; color: var(--tinta); }
.map-av { display: inline-flex; align-items: center; gap: 3px; height: 20px; padding: 0 7px; border-radius: 999px; background: var(--aviso-f); color: var(--aviso); font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.map-av .i { --s: .5; }
.map-sc { color: var(--tenue); font-size: 12.5px; }
.us-quien b .chapa { margin-left: 6px; vertical-align: 1px; }

/* ---------- Inicio ---------- */
.ini { position: relative; display: grid; gap: 16px; padding-bottom: 8px; }
.ini-hola { position: relative; overflow: hidden; display: flex; align-items: center; min-height: 156px; padding: 26px 28px; border: 1px solid var(--linea); border-radius: 16px; background: var(--sup); box-shadow: var(--sh1); }
.ini-hola-t { position: relative; z-index: 1; max-width: 58%; display: grid; gap: 6px; }
.ini-fecha { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0; color: var(--suave); font-size: 13px; font-weight: 600; }
.ini-fecha .i { --s: .55; color: var(--tenue); }
.ini-fecha b { font-variant-numeric: tabular-nums; color: var(--tinta); font-weight: 700; }
.ini-pt { width: 3px; height: 3px; border-radius: 50%; background: var(--linea2); margin: 0 3px; }
.ini-zona { color: var(--tenue); font-weight: 500; }
.ini-saludo { margin: 2px 0 0; font-size: 28px; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; color: var(--tinta); animation: iniSube .7s var(--ease) both; }
.ini-res { margin: 0; color: var(--suave); font-size: 14.5px; animation: iniSube .7s .12s var(--ease) both; }
@keyframes iniSube { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* The sky, on the right and blended with the card */
.ini-cielo { position: absolute; top: 0; right: 0; bottom: 0; width: 44%; overflow: hidden; clip-path: ellipse(100% 150% at 100% 50%); }
.ini-noche .ini-cielo { background: linear-gradient(180deg, #0E1A3A 0%, #24376A 100%); }
.ini-amanecer .ini-cielo { background: linear-gradient(180deg, #FFD9B8 0%, #FFB8A6 58%, #F6CADB 100%); }
.ini-dia .ini-cielo { background: linear-gradient(180deg, #86C9FF 0%, #D4EEFF 100%); }
.ini-atardecer .ini-cielo { background: linear-gradient(180deg, #FF9F6B 0%, #F0718F 55%, #7E5BD8 100%); }
.ini-colinas { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 46%; }
.ini-noche .c1 { fill: #22346A; } .ini-noche .c2 { fill: #1A2955; }
.ini-amanecer .c1 { fill: #E9A9BC; } .ini-amanecer .c2 { fill: #D98FA9; }
.ini-dia .c1 { fill: #9ED89E; } .ini-dia .c2 { fill: #6CC07A; }
.ini-atardecer .c1 { fill: #7A49B0; } .ini-atardecer .c2 { fill: #63359A; }
.ini-astro { position: absolute; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; background: radial-gradient(circle at 40% 40%, #FFF7CF, #FFC94D 70%); box-shadow: 0 0 0 8px rgba(255, 214, 102, .22), 0 0 34px 6px rgba(255, 196, 77, .45); animation: iniLatido 5s ease-in-out infinite; }
.ini-astro.luna { width: 32px; height: 32px; margin: -16px 0 0 -16px; background: transparent; box-shadow: inset 9px -3px 0 0 #F3EEDC, 0 0 26px 2px rgba(243, 238, 220, .18); }
@keyframes iniLatido { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.ini-estr { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #fff; animation: iniBrillo 3.2s ease-in-out infinite; }
@keyframes iniBrillo { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
.ini-nube { position: absolute; width: 64px; height: 18px; border-radius: 18px; background: rgba(255, 255, 255, .75); animation: iniNube 26s linear infinite alternate; }
.ini-nube::before { content: ''; position: absolute; left: 14px; top: -10px; width: 30px; height: 22px; border-radius: 50%; background: inherit; }
.ini-nube.n2 { width: 46px; height: 14px; opacity: .7; animation-duration: 34s; }
@keyframes iniNube { from { transform: translateX(-14px); } to { transform: translateX(18px); } }
/* Google Ads and Simla, with their logos */
.ini-est { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ini-con { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 14px; background: var(--sup); box-shadow: var(--sh1); }
.ini-logo { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--linea); }
.ini-logo svg { width: 26px; height: 24px; } .ini-logo img { width: 26px; height: 26px; }
.ini-con-t { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.ini-con-t b { font-size: 15px; color: var(--tinta); } .ini-con-t small { color: var(--suave); font-size: 12.5px; }
.ini-con > .chapa { flex: 0 0 auto; }
/* A narrow card (the phone, two columns at 1024): the badge goes under the line, aligned with the text, and never covers the account's
   address (#70, 2 «Debajo en tarjetas estrechas» of design/mockups/home-badge). The indent is the logo and its gap */
.ini-con { flex-wrap: wrap; row-gap: 8px; container-type: inline-size; --status-indent: 58px; }
.ini-con-t small { overflow-wrap: break-word; }
@container (max-width: 460px) { .ini-con-t { flex-basis: calc(100% - var(--status-indent)); } .ini-con > .chapa { margin-left: var(--status-indent); } }
/* Home's sections, in their card */
.ini-sec { min-width: 0; padding: 16px 18px; border: 1px solid var(--linea); border-radius: 14px; background: var(--sup); box-shadow: var(--sh1); }
.ini-sec-cab { display: flex; align-items: center; gap: 10px; min-height: 26px; margin-bottom: 10px; }
.ini-sec-cab h2 { margin: 0; font-size: 15px; font-weight: 700; color: var(--tinta); }
.ini-sec-cab small { margin-left: auto; color: var(--tenue); font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.ini-sec-cab .enlace-b { margin-left: auto; }
.ini-cuenta { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--aviso-f); color: var(--aviso); font-size: 12px; font-weight: 700; }
.ini-atn { list-style: none; margin: 0; padding: 0; display: grid; }
.ini-atn li { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 0; border-top: 1px solid var(--linea); }
.ini-atn li:first-child { border-top: 0; }
.ini-atn-ic { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; }
.ini-atn-ic .i { --s: .6; }
.ini-atn-ic.mal { background: var(--mal-f); color: var(--mal); } .ini-atn-ic.aviso { background: var(--aviso-f); color: var(--aviso); }
.ini-atn-t { flex: 1 1 auto; min-width: 0; font-size: 14px; color: var(--tinta); }
.ini-bien { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--bien); font-size: 14px; font-weight: 600; } .ini-bien .i { --s: .6; }
/* Filters for the period, the campaign and the form: on the background */
.ini-fil { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ini-fil .seg { width: auto; margin: 0; flex-wrap: nowrap; }
.ini-fil .seg button { flex: 0 0 auto; }
.ini-fil .fb-fichas { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; }
/* The figures */
.ini-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ini-kpi { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 14px; background: var(--sup); box-shadow: var(--sh1); min-width: 0; }
.ini-kpi > span { display: flex; align-items: center; gap: 6px; color: var(--suave); font-size: 12.5px; font-weight: 600; }
.ini-kpi > span .i { --s: .5; color: var(--mal); }
.ini-kpi b { font-size: 26px; line-height: 1.1; font-weight: 700; color: var(--tinta); font-variant-numeric: tabular-nums; }
.ini-kpi small { color: var(--tenue); font-size: 12px; }
/* The charts: a single tone, 4 px ends, discreet axes */
.ini-graf { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 12px; }
.ini-bars { display: grid; grid-template-columns: auto 1fr; gap: 8px; height: 190px; padding-bottom: 22px; }
.ini-yl { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; margin-bottom: -6px; margin-top: -6px; color: var(--tenue); font-size: 11px; font-variant-numeric: tabular-nums; }
.ini-cols { position: relative; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); align-items: end; border-bottom: 1px solid var(--linea2); }
.ini-g { position: absolute; left: 0; right: 0; height: 0; border-top: 1px dashed var(--linea); pointer-events: none; }
.ini-col { position: relative; display: flex; justify-content: center; align-items: flex-end; height: 100%; cursor: default; }
.ini-col > i { display: block; width: min(70%, 26px); min-height: 2px; border-radius: 4px 4px 0 0; background: var(--azul); transition: opacity .15s; }
.ini-cols:hover .ini-col > i { opacity: .55; } .ini-cols .ini-col:hover > i { opacity: 1; }
.ini-x { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); color: var(--tenue); font-size: 11px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ini-h { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ini-h li { display: grid; grid-template-columns: minmax(0, 132px) minmax(0, 1fr) 34px; align-items: center; gap: 10px; font-size: 13px; }
.ini-h-n { color: var(--tinta); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ini-h-b { height: 10px; border-radius: 0 4px 4px 0; background: var(--sup3); overflow: hidden; }
.ini-h-b i { display: block; height: 100%; border-radius: 0 4px 4px 0; background: var(--azul); }
.ini-h li b { text-align: right; font-variant-numeric: tabular-nums; color: var(--tinta); }
.ini-h:hover li:not(:hover) .ini-h-b i { opacity: .55; }
.ini-tabla { margin-top: 12px; }
.ini-tabla summary { display: inline-flex; align-items: center; gap: 6px; color: var(--azul-tinta); font-size: 12.5px; font-weight: 600; cursor: pointer; list-style: none; }
.ini-tabla summary::-webkit-details-marker { display: none; }
.ini-tabla summary .i { --s: .5; }
.ini-tabla table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 12.5px; }
.ini-tabla th, .ini-tabla td { padding: 6px 8px; border-bottom: 1px solid var(--linea); text-align: left; } .ini-tabla th { color: var(--suave); font-weight: 600; }
.ini-tabla .num { text-align: right; font-variant-numeric: tabular-nums; }
.ini-ult-l { list-style: none; margin: 0; padding: 0; }
.ini-ult-l li { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 4px; border-top: 1px solid var(--linea); cursor: pointer; border-radius: 8px; }
.ini-ult-l li:first-child { border-top: 0; } .ini-ult-l li:hover { background: var(--hover); }
.ini-ult-l .tb-nom { flex: 1 1 auto; min-width: 0; }
.ini-tip { position: absolute; z-index: 30; padding: 6px 10px; border-radius: 8px; background: var(--tinta); color: var(--sup); font-size: 12px; font-weight: 600; white-space: nowrap; pointer-events: none; box-shadow: var(--sh2); }
:root[data-theme="dark"] .ini-tip { background: #EEF1F7; color: #171E2C; }

/* ---------- A1: the sync with Simla, everything at hand ---------- */
.sy { display: grid; gap: 12px; }
.sy-t { min-width: 0; display: grid; gap: 3px; } .sy-t h2 { margin: 0; }
.sy-t p { margin: 0; color: var(--suave); font-size: 13px; } .sy-t .mono { font-size: 12.5px; }
.sy-ir { height: 36px; }
.sy-caja { border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); overflow: hidden; box-shadow: var(--sh1); }
.sy-pasos { list-style: none; margin: 0; padding: 0; }
.sy-p + .sy-p { border-top: 1px solid var(--linea); }
.sy-f { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 14px; list-style: none; }
summary.sy-f { cursor: pointer; } summary.sy-f::-webkit-details-marker { display: none; } summary.sy-f:hover { background: var(--hover); }
.sy-ic { flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--linea2); }
.sy-ic.ok { background: var(--bien-p); box-shadow: none; color: #fff; } .sy-ic.ok .i { --s: .5; }
.sy-ic.corre { box-shadow: none; }
.sy-gira { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--azul-s); border-top-color: var(--azul); animation: syGira .8s linear infinite; }
@keyframes syGira { to { transform: rotate(360deg); } }
.sy-pt { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; }
.sy-pt b { font-size: 14px; color: var(--tinta); }
.sy-p.pend .sy-pt b { color: var(--suave); font-weight: 600; }
.sy-ruta { display: inline-flex; align-items: center; gap: 6px; min-width: 0; color: var(--suave); }
.sy-ruta .mono { font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sy-d { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; }
.sy-ms { color: var(--tenue); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sy-fl { --s: .55; color: var(--tenue); transition: transform .2s var(--ease); }
details[open] > summary .sy-fl { transform: rotate(180deg); }
.sy-c { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 0 14px 14px 48px; }
.sy-sim { display: flex; align-items: flex-start; gap: 8px; padding: 12px; border: 1px dashed var(--linea2); border-radius: 10px; color: var(--suave); font-size: 13px; } .sy-sim .i { --s: .55; margin-top: 1px; }
.sy-fin { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; padding: 12px 14px; border-top: 1px solid var(--linea); background: var(--bien-f); color: var(--bien); }
.sy-fin > .i { --s: .62; flex: 0 0 auto; }
.sy-fin.sim { background: var(--sup2); color: var(--suave); }
.sy-fin-t { flex: 1 1 auto; min-width: 0; display: grid; gap: 1px; } .sy-fin-t b { color: var(--tinta); font-size: 14px; } .sy-fin-t small { color: var(--suave); font-size: 12.5px; }
.sy-links { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pop-sy { width: 320px; }
.sy-o { display: flex !important; align-items: flex-start !important; gap: 10px; height: auto !important; padding: 9px 12px !important; text-align: left; }
.sy-o-m { flex: 0 0 auto; width: 16px; height: 18px; display: grid; place-items: center; color: var(--azul); } .sy-o-m .i { --s: .55; }
.sy-o-t { display: grid; gap: 2px; min-width: 0; } .sy-o-t b { font-size: 13.5px; color: var(--tinta); } .sy-o-t small { color: var(--suave); font-size: 12.5px; line-height: 1.35; white-space: normal; }

/* ---------- Phone ---------- */
@media (max-width: 720px) {
  .ini { gap: 12px; }
  .ini-hola { flex-direction: column; align-items: stretch; min-height: 0; padding: 0; }
  .ini-cielo { position: relative; width: 100%; height: 86px; clip-path: none; }
  .ini-hola-t { max-width: none; padding: 14px 16px 16px; }
  .ini-saludo { font-size: 23px; }
  .ini-res { font-size: 14px; }
  .ini-est { grid-template-columns: 1fr; gap: 10px; }
  .ini-con { padding: 12px 14px; gap: 8px 12px; --status-indent: 52px; }
  .ini-logo { width: 40px; height: 40px; }
  .ini-sec { padding: 14px; }
  .ini-atn li { gap: 10px; }
  .ini-atn-t { font-size: 13.5px; }
  .ini-fil { gap: 8px; }
  .ini-fil .seg { width: 100%; } .ini-fil .seg button { flex: 1 1 0; }
  .ini-kpis { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ini-kpi { padding: 12px 14px; } .ini-kpi b { font-size: 22px; }
  .ini-graf { grid-template-columns: 1fr; gap: 10px; }
  .ini-bars { height: 170px; }
  .ini-h li { grid-template-columns: minmax(0, 108px) minmax(0, 1fr) 30px; gap: 8px; }
  .sy-ir { grid-column: 1 / -1; width: 100%; justify-content: center; height: 42px; }
  .sy-f { gap: 10px; padding: 10px 12px; align-items: flex-start; }
  .sy-ic { margin-top: 1px; }
  .sy-pt { display: grid; gap: 2px; }
  .sy-d { flex-direction: column; align-items: flex-end; gap: 2px; }
  .sy-d .sy-fl { position: absolute; opacity: 0; }
  .sy-c { grid-template-columns: 1fr; padding: 0 12px 12px; }
  .sy-fin { align-items: flex-start; }
  .sy-links { width: 100%; padding-left: 30px; }
}

/* A field's type and name: the pill always on the left, aligned with the name's first line; the name wraps in its column */
.campo-n:has(> .tp) { display: inline-grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; row-gap: 0; align-items: start; line-height: 22px; }
.campo-n:has(> .tp) > .tp { grid-column: 1; grid-row: 1; margin-top: 1px; }
.campo-n:has(> .tp) > b { grid-column: 2; line-height: 22px; }
.campo-n:has(> .tp) > small { grid-column: 2; line-height: 18px; }
.tb-n .campo-n:has(> .tp), .tb-n .campo-n:has(> .tp) > b { line-height: 20px; } .tb-n .campo-n:has(> .tp) > .tp { margin-top: 0; }
.sel-c .campo-n { align-self: center; }
/* Action menus: the icon at its size and the text next to it (before, the icon stretched like the text) */
.pop-acc button > .i { flex: 0 0 auto; }
.pop-acc button > span:not(.i) { flex: 1 1 auto; min-width: 0; }

/* ===================== (antes redesign/help.css) ===================== */
/* ===================== Ronda 4 (08/11/2026) ===================== */
/* No jumps on pressing: the box goes back to its place at once (smooth scrolling made the page go up and down) */
.contenido { scroll-behavior: auto; }
/* The greeting comes in only the first time, not on every filter */
.ini-saludo, .ini-res { animation: none; }
.ini-entra .ini-saludo { animation: iniSube .7s var(--ease) both; } .ini-entra .ini-nov { animation: iniSube .7s .12s var(--ease) both; }
/* What is new since your last visit: cards that lead to where each thing is solved */
.ini-nov { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 8px; margin-top: 4px; }
.ini-nov-t { color: var(--suave); font-size: 13px; margin-right: 2px; }
.ini-n { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--linea); background: var(--sup2); color: var(--tinta); font-size: 13px; font-weight: 500; white-space: nowrap; transition: border-color .15s, background .15s; }
button.ini-n:hover { border-color: var(--linea2); background: var(--hover); }
.ini-n b { font-weight: 700; font-variant-numeric: tabular-nums; }
.ini-n .i { --s: .5; } .ini-n .pt { width: 7px; height: 7px; border-radius: 50%; background: var(--azul); }
.ini-n.mal { background: var(--mal-f); border-color: transparent; color: var(--mal); }
.ini-n.aviso { background: var(--aviso-f); border-color: transparent; color: var(--aviso); }
.ini-n.bien { background: var(--bien-f); border-color: transparent; color: var(--bien); }
button.ini-n.mal:hover, button.ini-n.aviso:hover { filter: brightness(.97); border-color: transparent; }
/* The logos, on their tile: white in light and the app's grey in dark */
:root[data-theme="dark"] .ini-logo { background: var(--sup3); box-shadow: inset 0 0 0 1px var(--linea); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ini-logo { background: var(--sup3); box-shadow: inset 0 0 0 1px var(--linea); } }
.ini-con-t b, .ini-sec-cab h2 { display: inline-flex; align-items: center; gap: 2px; }
.ini-kpi > span { flex-wrap: nowrap; }

/* ---------- Landing Builder's «?» ---------- */
.ay { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 4px; padding: 0; border: 0; border-radius: 50%; color: var(--azul); background: none; flex: 0 0 auto; cursor: help; }
.ay svg { width: 16px; height: 16px; display: block; overflow: visible; }
/* The «?» centred with its text (Luis, 2026-11-08: «los ? están más arriba que el texto, necesitan estar centrados en proporción al texto»;
   and at the centre of the lower case, «se ve aún un poco abajo»). Its centre goes 0.30 em above the baseline: between that of the capitals
   (0.35 em; Gilroy, H = 0.70) and that of the lower case (0.25 em; x = 0.50). A single model in the whole app: the label is a line of text
   (not flex), the «?» goes in it with its base at 0.30 em − 8 px (half of its 16 px) and the last word stuck to it (withHelp, .ay-nw). In
   flex it was centred on the line, at the height of the capitals */
.ay { vertical-align: calc(.3em - 8px); }
.ay-nw { white-space: nowrap; } .ay-nw > .ay { margin-left: 6px; }
:is(.ini-kpi > span, .ini-con-t b, .ini-sec-cab h2, .og-h3 b, .og-u-t b, .vf-codigo .campo-rot):has(> .ay-nw) { display: block; }
.ini-kpi > span:has(> .ay-nw) > .i { margin-right: 6px; vertical-align: middle; }
.ay .o { fill: none; stroke: currentColor; stroke-width: 1.5; transition: fill .15s; }
.ay .g { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .15s; }
.ay .p { fill: currentColor; transition: fill .15s; }
.ay:hover .o, .ay[aria-expanded="true"] .o { fill: currentColor; } .ay:hover .g, .ay[aria-expanded="true"] .g { stroke: var(--sup); } .ay:hover .p, .ay[aria-expanded="true"] .p { fill: var(--sup); }
.ay-globo { position: fixed; z-index: 1001; left: 0; top: 0; display: grid; gap: 10px; padding: 16px 18px 18px; border-radius: 14px; background: var(--sup); border: 1px solid var(--linea2); box-shadow: var(--sh3); color: var(--tinta); text-align: left; pointer-events: none; transform-origin: var(--flecha, 24px) 0; }
.ay-globo::before { content: ''; position: absolute; top: -8px; left: calc(var(--flecha, 24px) - 7px); width: 14px; height: 14px; background: var(--sup); border: 1px solid var(--linea2); border-right-color: transparent; border-bottom-color: transparent; border-radius: 2px; transform: rotate(45deg); }
.ay-globo.arriba { transform-origin: var(--flecha, 24px) 100%; }
.ay-globo.arriba::before { top: auto; bottom: -8px; border-color: var(--linea2); border-top-color: transparent; border-left-color: transparent; }
.ay-globo.entra { animation: saleDelAy .2s var(--ease) both; } .ay-globo.entra.arriba { animation-name: saleDelAyArriba; }
@keyframes saleDelAy { from { opacity: 0; transform: translateY(-6px) scale(.94); } }
@keyframes saleDelAyArriba { from { opacity: 0; transform: translateY(6px) scale(.94); } }
.ay-t { font-size: 15px; line-height: 20px; font-weight: 700; }
.ay-d, .ay-e { margin: 0; font-size: 13.5px; line-height: 20px; color: var(--suave); }
.ay-e b { color: var(--tinta); font-weight: 700; }
/* The drawing, in the help's light palette (in dark, on white), like in Landing Builder */
.ay-i { --ai-tinta: #172033; --ai-suave: #5E6B80; --ai-borde: #E2E7EE; --ai-azul: #1A5CFF; --ai-azul-f: #E8EFFF; --ai-verde: #0E7A55; --ai-verde-f: #E2F5EC; --ai-ambar: #965601; --ai-ambar-f: #FFF6E8; --ai-rojo: #B42335; --ai-rojo-f: #FFEDED;
  display: grid; gap: 8px; padding: 12px 14px; border-radius: 12px; background: #F5F7FA; border: 1px solid var(--ai-borde); color: var(--ai-tinta); font-size: 12.5px; line-height: 17px; }
:root[data-theme="dark"] .ay-i { background: #FFFFFF; border-color: transparent; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ay-i { background: #FFFFFF; border-color: transparent; } }
.ai-cap { font-size: 10.5px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--ai-suave); }
.ai-chip { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 11px; font-weight: 700; background: #EEF1F5; color: var(--ai-suave); white-space: nowrap; }
.ai-c-verde { background: var(--ai-verde-f); color: var(--ai-verde); } .ai-c-azul { background: var(--ai-azul-f); color: var(--ai-azul); } .ai-c-ambar { background: var(--ai-ambar-f); color: var(--ai-ambar); } .ai-c-rojo { background: var(--ai-rojo-f); color: var(--ai-rojo); }
.ai-flujo { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; } .ai-fl { font-style: normal; color: var(--ai-suave); font-size: 11px; }
.ai-par { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 12px; color: var(--ai-suave); }
.ai-bar { display: grid; grid-template-columns: 96px minmax(0, 1fr) 28px; align-items: center; gap: 8px; font-size: 11.5px; color: var(--ai-suave); }
.ai-bar span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .ai-bar b { text-align: right; color: var(--ai-tinta); font-variant-numeric: tabular-nums; }
.ai-bar-b { height: 8px; border-radius: 0 4px 4px 0; background: #EEF1F5; overflow: hidden; } .ai-bar-b i { display: block; height: 100%; border-radius: 0 4px 4px 0; background: var(--ai-azul); } .ai-bar-b i.gris { background: #AEB8C7; } .ai-bar-b i.ambar { background: #E99A2C; }
.ai-tl { display: grid; gap: 4px; } .ai-tl span { display: grid; grid-template-columns: 62px 1fr; gap: 8px; font-size: 12px; color: var(--ai-suave); } .ai-tl b { color: var(--ai-azul); font-variant-numeric: tabular-nums; }
.ai-mini { display: flex; align-items: flex-end; gap: 6px; height: 84px; padding-top: 4px; border-bottom: 1px solid var(--ai-borde); } .ai-mini i { flex: 1; max-width: 22px; border-radius: 4px 4px 0 0; background: #B9CCFF; } .ai-mini i.on { background: var(--ai-azul); }
.ai-fila { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; background: #fff; border: 1px solid var(--ai-borde); }
.ai-av { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ai-azul-f); color: var(--ai-azul); font-size: 11px; font-weight: 700; flex: 0 0 auto; }
/* The phone with its code (the «?» of the 6-digit code, like in Landing Builder) */
.ai-tel { display: grid; justify-items: center; gap: 6px; padding: 10px; border-radius: 14px; background: #fff; border: 1px solid var(--ai-borde); }
.ai-tel b { font: 700 22px/1 var(--font); letter-spacing: 4px; color: var(--ai-tinta); font-variant-numeric: tabular-nums; }
.ai-barrita { width: 100%; height: 4px; border-radius: 4px; background: #EEF1F5; overflow: hidden; } .ai-barrita i { display: block; height: 100%; width: 62%; background: var(--ai-azul); }
.ai-par > .ai-flujo { justify-content: flex-end; }
.ai-txt { display: grid; min-width: 0; flex: 1 1 auto; } .ai-txt b { font-size: 12.5px; } .ai-txt small { font-size: 11px; color: var(--ai-suave); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* ---------- The app's calendar: a day or a range ---------- */
.pop.pop-cal { width: auto; padding: 0; }
.cal { position: relative; display: grid; }
.cal-nav { position: absolute; left: 10px; right: 10px; top: 10px; display: flex; justify-content: space-between; pointer-events: none; } .cal-nav .bi { pointer-events: auto; }
.cal-nav .bi[disabled] { color: var(--tenue); cursor: default; }
.cal-meses { display: grid; grid-auto-flow: column; gap: 28px; padding: 14px 18px 12px; }
.cal-mes { display: grid; gap: 6px; width: 266px; }
.cal-t { text-align: center; font-size: 14px; line-height: 30px; font-weight: 700; }
.cal-sem, .cal-g { display: grid; grid-template-columns: repeat(7, 38px); }
.cal-sem span { text-align: center; font-size: 11.5px; font-weight: 600; color: var(--tenue); line-height: 24px; }
.cal-g { row-gap: 2px; }
.cal-d { position: relative; height: 36px; border-radius: 9px; font-size: 13.5px; color: var(--tinta); font-variant-numeric: tabular-nums; }
.cal-d:hover:not([disabled]) { background: var(--hover); }
.cal-d.c-hoy { box-shadow: inset 0 0 0 1px var(--linea2); font-weight: 700; }
.cal-d.c-en { border-radius: 0; background: var(--azul-s); color: var(--azul-tinta); }
.cal-d.c-ini, .cal-d.c-fin { background: var(--azul); color: #fff; font-weight: 700; box-shadow: none; }
:root[data-theme="dark"] .cal-d.c-ini, :root[data-theme="dark"] .cal-d.c-fin { color: #0F141F; }
.cal-d.c-ini:not(.c-fin) { border-radius: 9px 0 0 9px; } .cal-d.c-fin:not(.c-ini) { border-radius: 0 9px 9px 0; }
.cal-d[disabled] { color: var(--tenue); cursor: default; }
.cal-pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 18px; border-top: 1px solid var(--linea); }
.cal-res { color: var(--suave); font-size: 13px; } .cal-res b { color: var(--tinta); font-variant-numeric: tabular-nums; }
.cal-acc { display: inline-flex; gap: 8px; margin-left: auto; }
.fb-a .i-calendar { --s: .55; color: var(--suave); margin-right: 2px; }
.cal.tel .cal-meses { padding: 6px 0 10px; } .cal.tel .cal-mes { width: 100%; } .cal.tel .cal-sem, .cal.tel .cal-g { grid-template-columns: repeat(7, minmax(0, 1fr)); } .cal.tel .cal-d { height: 42px; }
.cal.tel .cal-nav { left: 0; right: 0; top: 6px; } .cal.tel .cal-pie { padding: 12px 0 0; }

/* ---------- Sandbox: the list of test leads ---------- */
.sbl-esc { display: inline-flex; align-items: center; gap: 8px; min-width: 0; } .sbl-esc .sb-punto { margin-top: 0; } .sbl-esc b { font-size: 14px; } .sbl-esc .mono { font-size: 12.5px; color: var(--suave); }
/* 1: the side panel, full height and in sight when scrolling down */
.sb2.sbl1 { grid-template-columns: 296px minmax(0, 1fr); }
.sbl-pane { position: sticky; top: 0; height: calc(100vh - 100px); min-height: 360px; display: flex; flex-direction: column; gap: 0; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); overflow: hidden; }
.sbl-pane-cab { display: grid; gap: 4px; padding: 14px 16px; border-bottom: 1px solid var(--linea); } .sbl-pane-cab small { color: var(--suave); font-size: 12.5px; line-height: 18px; }
.sbl-pane-l { flex: 1 1 auto; min-height: 0; overflow: auto; display: flex; flex-direction: column; }
.sbl-pane-l .sb2-e { border-top: 1px solid var(--linea); } .sbl-pane-l .sb2-gt + .sb2-e { border-top: 0; }
.sbl-pie { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 16px; border-top: 1px solid var(--linea); background: var(--sup2); }
.sbl-pie-ic { flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--sup3); color: var(--suave); } .sbl-pie-ic .i { --s: .66; }
.sbl-pie-t { display: grid; gap: 2px; min-width: 0; } .sbl-pie-t b { font-size: 13px; line-height: 18px; color: var(--tinta); } .sbl-pie-t small { font-size: 12px; line-height: 17px; color: var(--suave); }
.sbl1 .sb2-c > .cab { margin-bottom: -6px; }
/* ---------- Create and Mode ---------- */
.sy-ctl { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px 16px; }
.sy-ctl .campo { display: grid; gap: 6px; min-width: 0; margin: 0; }
.sbc1 .sy-ctl .campo { flex: 0 1 250px; }
.sy-sel { height: 40px; }
.sy-ctl .sy-ir { height: 40px; margin-left: auto; }
.pop-campo .sy-o, .pop-sy.pop-campo { } .pop.pop-campo { min-width: 0; }
/* A field's name wraps between words, never inside one */
.campo-n:has(> .tp) > b { overflow-wrap: break-word; word-break: normal; }
.sb2-map td:nth-child(2) { min-width: 160px; }

@media (max-width: 720px) {
  .ini-nov { gap: 6px; } .ini-nov-t { width: 100%; }
  .ini-n { height: 28px; font-size: 12.5px; }
  .sb2.sbl1 { grid-template-columns: minmax(0, 1fr); }
  .sbl-pane { position: static; height: auto; min-height: 0; } .sbl-pie { display: none; }
  .sy-ctl { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sy-ctl .sy-ir { width: 100%; margin-left: 0; justify-content: center; height: 42px; }
}
/* Under 1280 px, the request and the mapping go one under the other: nothing is cut off on the right */

/* ===================== The real app (0.5.0): what the mockup did not need ===================== */
/* The small window of a field, a filter or a menu goes above its backdrop (which closes it on a click outside) */
/* #51 (Luis, 2026-11-09: «el campo del timing de actualización se va a todo el ancho»): the panel places each #pop from the left
   (placePop, putPop, fieldPop); the `right: 0` of .pop in app.css stretched it to the edge if it had no width of its own */
#pop { z-index: 75; right: auto; }
/* The Simla account: a reading that failed and a missing permission */
.sx-sy-e.mal > .i { --s: .55; color: var(--mal); }
li.no .sx-m { background: var(--mal); color: #fff; }
/* A Settings drop-down with many options: its search box on top and the list with its own scroll */
.pop-campo .pop-l { display: grid; max-height: 320px; overflow-y: auto; }
.pop-campo .pk-b { padding: 4px 4px 8px; }
/* A required field that is missing when the sync is turned on */
.desp-boton.falta { border-color: var(--mal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mal) 18%, transparent); }
/* What was already there does not come in again: a list repainted the same (a checkbox, a menu) and what updates on its own */
.tb-quieta .tb-f, #app.en-vivo .tb-f { animation: none; }
/* The field chosen in the mapping, on one line and all of the same width (Luis, 2026-11-08: «quedan todos angostos y se van a 2 líneas»):
   the type and the name; its code is in the picker when it opens and in Simla fields */
.map-cel { width: 100%; max-width: 420px; }
.sel-c .campo-n:has(> .tp) { display: flex; flex-wrap: nowrap; align-items: center; column-gap: 8px; min-width: 0; line-height: 20px; overflow: hidden; }
.sel-c .campo-n:has(> .tp) > .tp { flex: none; margin-top: 0; }
.sel-c .campo-n:has(> .tp) > b { flex: 0 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; }
.sel-c .campo-n > small { display: none; }
/* The right-hand drawer (a campaign, create user, a group, a template) goes above its backdrop: with the backdrop on top, it stayed
   dark and could not be touched (Luis, 2026-11-08) */
.cajon-v { z-index: 71; }
/* Simla fields, C1 «Cada dato en su columna» (Luis, 2026-11-08): the name and the code in their column and on one line;
   what does not fit fades out at the end (never «…») and is read whole on hover */
.vc-n { font-weight: 600; font-size: 14px; color: var(--tinta); }
.vc-cod { font: 12.5px/18px var(--mono); color: var(--suave); }
.desv { display: block; flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 22px), transparent); }
.tb-c:has(> .desv) { min-width: 0; } .tb-c > .desv { width: 100%; }
.tb-n .vc-n { white-space: normal; }

/* ---------- B2 «Flotante (iOS 26)» (0.6.5): on the phone, the menu is a glass capsule floating at the bottom. Each tab with its
   icon and its name; your account's, with your avatar and «Perfil»; the chosen one, in blue with an oval that slides to it ---------- */
.nav-rot-t { display: none; }
@media (max-width: 720px) {
  .pn-riel { position: fixed; z-index: 50; left: 12px; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom)); height: 68px; padding: 7px; gap: 0;
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: stretch; border-radius: 34px;
    border: 1px solid color-mix(in srgb, var(--linea2) 70%, transparent); background: color-mix(in srgb, var(--sup) 74%, transparent);
    -webkit-backdrop-filter: saturate(180%) blur(22px); backdrop-filter: saturate(180%) blur(22px); box-shadow: 0 10px 30px rgb(8 12 24 / .16), 0 1px 2px rgb(8 12 24 / .08); }
  .pn-riel .pn-logo, .pn-riel .ver-pill { display: none; } .pn-riel .pn-ops, .pn-riel .pn-pie { display: contents; }
  .pn-riel::before { content: ""; position: absolute; z-index: 0; top: 7px; bottom: 7px; left: 7px; width: calc((100% - 14px) / var(--n, 5)); border-radius: 27px;
    background: color-mix(in srgb, var(--azul) 14%, transparent); transform: translateX(calc(var(--i, 0) * 100%)); animation: rielOvalo .38s cubic-bezier(.3, 1.2, .4, 1) var(--retraso, 0ms) both; }
  .pn-riel.sin-ovalo::before { display: none; }
  @keyframes rielOvalo { from { transform: translateX(calc(var(--desde, 0) * 100%)); } }
  .pn-riel .nav-op { position: relative; z-index: 1; width: auto; height: auto; min-width: 0; display: grid; justify-items: center; align-content: center; gap: 3px;
    padding: 6px 0 7px; border-radius: 27px; color: var(--suave); background: none; }
  .pn-riel .nav-op .i { --s: 1; } .pn-riel .nav-op:hover { background: none; color: var(--tinta); }
  .pn-riel .nav-op[aria-current="page"], .pn-riel .nav-yo.en-perfil, .pn-riel .nav-yo.abierto { color: var(--azul); }
  .pn-riel .nav-op[aria-current="page"]::before { display: none; }
  .pn-riel .nav-rot, .pn-riel .nav-rot-t { display: block; position: static; opacity: 1; transform: none; padding: 0; border-radius: 0; background: none; color: inherit;
    font-size: 10.5px; line-height: 13px; font-weight: 600; white-space: nowrap; pointer-events: none; }
  .pn-riel .nav-rot::before { display: none; } .pn-riel .nav-yo .nav-rot { display: none; }
  .pn-riel .nav-yo .av { width: 26px; height: 26px; font-size: 10.5px; } .pn-riel .nav-yo.en-perfil .av, .pn-riel .nav-yo.abierto .av { box-shadow: 0 0 0 2px var(--azul); }
  .pn, .op1 .pn.con-sm { grid-template-rows: minmax(0, 1fr); }   /* the bar no longer takes its row: it floats on top */
  .contenido { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
}

/* The webhook's address and key, on a single line (0.6.12; Luis: «el campo de la API key se vuelve dos líneas; si en móvil no entra,
   toca desvanecer lo demás: está el botón de copiar y no es para leer por humano»). What does not fit fades out (.desv), no «…» */
.hook-dir.una { flex-wrap: nowrap; }
.hook-dir.una code { display: flex; flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; overflow-wrap: normal; word-break: normal; }

/* Your photo on the rail, with no label on hover, on the desktop and on the phone (0.6.12; Luis: «sale encimado del menú de perfil;
   para perfil no debería salir ese texto, se entiende ya qué es»). On the phone's bar its name stays below, «Perfil» (.nav-rot-t) */
.nav-yo .nav-rot { display: none !important; }

/* Notices, as in Simla Landing Builder (0.6.12; there, design/pliego-avisos.html, option 1 «Como la versión nueva»; Luis: «en dark mode salen
   blancas y ni se ve el icono»): the app's surface, the border and the glow of its tone, the icon in its soft box, tokens only. Bottom
   right; on the phone, full width and above the bar */
.tst { --av-c: var(--bien-p); --av-cs: var(--bien-f); --av-ci: var(--bien); position: fixed; z-index: 1000; right: 20px; bottom: 20px; left: auto; width: max-content;
  max-width: min(720px, calc(100vw - 104px)); gap: 10px; padding: 7px 14px 7px 7px; border: 1px solid var(--av-c); border-radius: 12px; background: var(--sup); color: var(--tinta);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--av-c) 22%, transparent), var(--sh3); font-size: 13.5px; line-height: 20px; font-weight: 600; letter-spacing: -.1px; animation: avisoSube .24s var(--ease) both; }
.tst.mal { --av-c: var(--mal-p); --av-cs: var(--mal-f); --av-ci: var(--mal); }
.tst.aviso { --av-c: var(--aviso-p); --av-cs: var(--aviso-f); --av-ci: var(--aviso); }
.tst.info { --av-c: var(--azul); --av-cs: var(--azul-s); --av-ci: var(--azul); }
.tst .av-ic { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: var(--av-cs); color: var(--av-ci); }
.tst .av-ic .i { --s: .62; color: inherit; } .tst .av-ic .gx-gira { width: 13px; height: 13px; }
.tst .av-tx { flex: 1 1 auto; min-width: 0; }
.tst.tst-cola { align-items: center; } .tst-t small { color: var(--suave); opacity: 1; }
.tst-barra { background: var(--sup3); } .tst-barra i { background: var(--azul); }
.tst-enlace { color: var(--azul); }
@keyframes avisoSube { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 720px) { .tst { left: 12px; right: 12px; width: auto; max-width: none; bottom: var(--tst-abajo, 96px); } }
@media (prefers-reduced-motion: reduce) { .tst { animation: none; } }

/* A drawer without actions (what changes saves on its own, 0.6.12): without its empty footer */
.dlg-pie:empty { display: none; }

/* The icon of inline notices, in the centre of the first line (0.6.14, #39; Luis: «la i de Con pedidos no se ve alineada y centrada
   proporcionalmente con el texto; revisa si sucede lo mismo en ese tipo de avisos en otro lado»). With Gilroy, the centre of the capitals
   falls in the centre of the line: the icon goes on top, with a margin of (line − icon) / 2, and with two lines it stays on the first */
.aj-recomienda .i, .cambio .i { margin-top: 2px; }   /* (19 − 14.9) / 2 */
.ent-error { align-items: flex-start; } .ent-error .i { margin-top: 2.3px; }   /* (18 − 13.4) / 2 */
.aviso-campo, .excluido, .sx-sy-e, .gu-perm { align-items: flex-start; }   /* og-confirma, in screens/origins.css */
.aviso-campo .i, .excluido .i, .sx-sy-e .i { margin-top: 4.4px; }   /* (22 − 13.2) / 2 */
.gu-perm .i { margin-top: 5px; }   /* (22 − 12) / 2 */

/* Simla reading (0.6.17, #38: option 2 «Cifras del Inicio y tabla»): «Lo que se lee» in Home's boxes, eight in two rows of four (on the
   phone, two by two), and «Cambios» in the house table; each block with its title like Sources' «Dónde se usa» */
.lx-bloque { display: grid; gap: 12px; margin-top: 22px; } .lx-bloque .og-h3 { margin-top: 0; }
.lx-bloque .aj-recomienda { margin: 0; }
/* Label, figure and detail at the same height in every row of boxes (subgrid), even if a label takes two lines on the phone; the «?»
   goes stuck to the last word (withHelp). On the phone the detail is read whole, on two lines if needed */
.ini-kpi { grid-row: span 3; grid-template-rows: subgrid; row-gap: 4px; align-content: start; }   /* Home's too */
.lx-kpis .ini-kpi small { display: block; }
@media (max-width: 720px) { .ini-kpi small { line-height: 17px; } .lx-kpis .ini-kpi small.desv { white-space: normal; overflow: visible; -webkit-mask-image: none; mask-image: none; line-height: 17px; } }

/* ---------- Home's landscape (0.7.4, request 36; the approved mockup: design/mockups/landscape.html, option 2 «Letra blanca sobre el cielo»
   with the «Ventana con profundidad» effect). The whole card is the landscape of your hour: the sky down to the bottom, the hills across, the sun
   or the moon along its arc, clouds and stars; the greeting, in white on top, like Apple's Weather. So that it reads at the four hours, in
   light and in dark (design/mockups/landscape/test.cjs measures it: 4.5:1 the text, 3:1 the greeting): the sky, a deep tone; the hills, the
   dark ones; behind the text, the clouds dissolve and there is a soft dark veil; the cards of what is new, with their card background. The
   clouds come in from the far left and go out on the far right (the jump is never seen). With the mouse or the finger, «the world» (all but
   the sky) turns a little in 3D towards where you point and its layers separate sideways; the sky does not turn and the hills are wider than
   the card, so a gap never shows. Only transform and opacity in what moves; with «Reduce motion», still. */
/* No border: on a card that is all landscape, the 1 px line looks like a frame (Luis, 2026-11-09: «se ve como un borde feo sobre el bloque») */
.ini-hola.ex6 { padding: 0; min-height: 164px; display: flex; align-items: center; isolation: isolate; touch-action: pan-y; border: 0; --ax0: 58; --axa: 34; --ay0: 56; --aya: 32; }
.ini-hola.ex6 .ini-hola-t { position: relative; z-index: 2; max-width: 50%; padding: 22px 26px; }
.cx { position: absolute; inset: 0; z-index: 0; overflow: hidden; --px: 0; pointer-events: none; }
.cx-cielo { position: absolute; inset: 0; }
.cx-mundo { position: absolute; inset: 0; transform-origin: 50% 60%; will-change: transform; }
.cx-velo { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(ellipse 54% 110% at 14% 50%, rgb(6 14 36 / .44), rgb(6 14 36 / .22) 54%, transparent 82%); }
.cx-estrellas { position: absolute; inset: 0; opacity: 0; transition: opacity .6s; transform: translate3d(calc(var(--px) * -3px), 0, 0); }
.cx-estrellas i { position: absolute; border-radius: 50%; background: #fff; animation: cxBrilla 3.6s ease-in-out infinite alternate; }
@keyframes cxBrilla { from { opacity: .35; } to { opacity: 1; } }
.cx[data-fase="noche"] .cx-estrellas { opacity: .9; } .cx[data-fase="alba"] .cx-estrellas, .cx[data-fase="ocaso"] .cx-estrellas { opacity: .15; }
.cx-astro { position: absolute; left: var(--ax, 50%); top: var(--ay, 30%); width: 0; height: 0; transform: translate3d(calc(var(--px) * -8px), 0, 0); }
.cx-sol, .cx-luna { position: absolute; left: -20px; top: -20px; width: 40px; height: 40px; border-radius: 50%; transition: opacity .6s; }
.cx-sol { background: radial-gradient(circle at 40% 38%, #fff7c2 0 20%, #ffd45a 48%, #ffb627 100%); box-shadow: 0 0 0 10px rgb(255 214 90 / .16), 0 0 0 22px rgb(255 214 90 / .07); animation: cxLate 6s ease-in-out infinite alternate; }
.cx-luna { opacity: 0; background: radial-gradient(circle at 38% 36%, #fffdf2 0 46%, #e8e3cf 100%); box-shadow: inset -9px -4px 0 0 rgb(0 0 0 / .08), 0 0 0 12px rgb(255 255 240 / .05); }
.cx.es-luna .cx-sol { opacity: 0; } .cx.es-luna .cx-luna { opacity: 1; }
@keyframes cxLate { to { transform: scale(1.06); } }
.cx-capa { position: absolute; inset: 0; } .cx-lejos { transform: translate3d(calc(var(--px) * -10px), 0, 0); } .cx-cerca { transform: translate3d(calc(var(--px) * -26px), 0, 0); }
/* Clouds without a cut: each in its lane, from −(x + its width) to 100 % − x */
.cx-carril { position: absolute; inset: 0; animation: cxPasa var(--d) linear var(--del) infinite; will-change: transform; }
@keyframes cxPasa { from { transform: translateX(calc(-1 * var(--x) - var(--w))); } to { transform: translateX(calc(100% - var(--x))); } }
.cx-nube { position: absolute; display: block; } .cx-nb { display: block; } .cx-nube.cerca .cx-nb { filter: drop-shadow(0 6px 10px rgb(20 40 90 / .1)); }
.cx[data-fase="noche"] .cx-capa { opacity: .5; }
/* Behind the text, the clouds dissolve (white on a white cloud cannot be read) */
.cx-lejos, .cx-cerca { -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 40%, #000 60%); mask-image: linear-gradient(90deg, transparent 0%, transparent 40%, #000 60%); }
.cx-colinas { position: absolute; left: -14%; width: 128%; bottom: -6px; height: 42%; overflow: visible; }
.cx-h1 { transform: translate3d(calc(var(--px) * -6px), 0, 0); } .cx-h2 { transform: translate3d(calc(var(--px) * -12px), 0, 0); } .cx-h3 { transform: translate3d(calc(var(--px) * -20px), 0, 0); }
/* The text, in white with a light shadow; the cards of what is new, with their card background */
.ini-hola.ex6 .ini-saludo, .ini-hola.ex6 .ini-fecha b, .ini-hola.ex6 .ini-fecha .ini-zona { color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .28); }
.ini-hola.ex6 .ini-fecha, .ini-hola.ex6 .ini-fecha span, .ini-hola.ex6 .ini-nov-t { color: rgb(255 255 255 / .92); text-shadow: 0 1px 2px rgb(0 0 0 / .28); }
.ini-hola.ex6 .ini-fecha .i { color: rgb(255 255 255 / .78); }
.ini-hola.ex6 .ini-n { background: color-mix(in srgb, var(--sup) 92%, transparent); border-color: color-mix(in srgb, var(--linea) 70%, transparent); text-shadow: none; }
.ini-hola.ex6 :is(.ini-n.bien, .ini-n.aviso, .ini-n.mal) { background: color-mix(in srgb, var(--sup) 92%, transparent); }
/* Light: the sky of each hour, deep, down to the bottom; the hills, dark */
.cx[data-fase="alba"] .cx-cielo { background: linear-gradient(180deg, #6f3352 0%, #8e4762 62%, #a0566a 100%); }
.cx[data-fase="dia"] .cx-cielo { background: linear-gradient(180deg, #1d5fb3 0%, #3a80d0 62%, #5b9ae0 100%); }
.cx[data-fase="ocaso"] .cx-cielo { background: linear-gradient(180deg, #3b3088 0%, #7a4483 62%, #a45a86 100%); }
.cx[data-fase="noche"] .cx-cielo { background: linear-gradient(180deg, #0d173b 0%, #1e2b60 62%, #2b3a74 100%); }
.cx[data-fase="alba"] .cx-h1 { fill: #6b6650; } .cx[data-fase="alba"] .cx-h2 { fill: #5a5644; } .cx[data-fase="alba"] .cx-h3 { fill: #4a4739; }
.cx[data-fase="dia"] .cx-h1 { fill: #3f7d4f; } .cx[data-fase="dia"] .cx-h2 { fill: #336b43; } .cx[data-fase="dia"] .cx-h3 { fill: #285a37; }
.cx[data-fase="ocaso"] .cx-h1 { fill: #57446f; } .cx[data-fase="ocaso"] .cx-h2 { fill: #483a60; } .cx[data-fase="ocaso"] .cx-h3 { fill: #3a2f50; }
.cx[data-fase="noche"] .cx-h1 { fill: #3a4a80; } .cx[data-fase="noche"] .cx-h2 { fill: #2d3b6d; } .cx[data-fase="noche"] .cx-h3 { fill: #22305c; }
.cx[data-fase="alba"] .cx-nb { fill: #fff4ee; } .cx[data-fase="dia"] .cx-nb { fill: #ffffff; } .cx[data-fase="ocaso"] .cx-nb { fill: #ffe3da; } .cx[data-fase="noche"] .cx-nb { fill: #8f9bd0; }
/* Dark: each hour is recognised, with tones that do not dazzle */
:root[data-theme="dark"] .cx[data-fase="alba"] .cx-cielo { background: linear-gradient(180deg, #5a3352 0%, #7e4d62 62%, #9a6168 100%); }
:root[data-theme="dark"] .cx[data-fase="dia"] .cx-cielo { background: linear-gradient(180deg, #164a8a 0%, #2b67a8 62%, #3b7cbc 100%); }
:root[data-theme="dark"] .cx[data-fase="ocaso"] .cx-cielo { background: linear-gradient(180deg, #3c3577 0%, #6f4a80 62%, #9a5a7c 100%); }
:root[data-theme="dark"] .cx[data-fase="noche"] .cx-cielo { background: linear-gradient(180deg, #060c20 0%, #0d1735 62%, #15214a 100%); }
:root[data-theme="dark"] .cx[data-fase="noche"] .cx-h1 { fill: #16213f; } :root[data-theme="dark"] .cx[data-fase="noche"] .cx-h2 { fill: #111a33; } :root[data-theme="dark"] .cx[data-fase="noche"] .cx-h3 { fill: #0d1529; }
:root[data-theme="dark"] .cx[data-fase="alba"] .cx-nb { fill: #ecd2c8; } :root[data-theme="dark"] .cx[data-fase="dia"] .cx-nb { fill: #d6e2f2; } :root[data-theme="dark"] .cx[data-fase="ocaso"] .cx-nb { fill: #dcc6e2; } :root[data-theme="dark"] .cx[data-fase="noche"] .cx-nb { fill: #34406a; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cx[data-fase="alba"] .cx-cielo { background: linear-gradient(180deg, #5a3352 0%, #7e4d62 62%, #9a6168 100%); }
  :root:not([data-theme="light"]) .cx[data-fase="dia"] .cx-cielo { background: linear-gradient(180deg, #164a8a 0%, #2b67a8 62%, #3b7cbc 100%); }
  :root:not([data-theme="light"]) .cx[data-fase="ocaso"] .cx-cielo { background: linear-gradient(180deg, #3c3577 0%, #6f4a80 62%, #9a5a7c 100%); }
  :root:not([data-theme="light"]) .cx[data-fase="noche"] .cx-cielo { background: linear-gradient(180deg, #060c20 0%, #0d1735 62%, #15214a 100%); }
  :root:not([data-theme="light"]) .cx[data-fase="noche"] .cx-h1 { fill: #16213f; } :root:not([data-theme="light"]) .cx[data-fase="noche"] .cx-h2 { fill: #111a33; } :root:not([data-theme="light"]) .cx[data-fase="noche"] .cx-h3 { fill: #0d1529; }
  :root:not([data-theme="light"]) .cx[data-fase="alba"] .cx-nb { fill: #ecd2c8; } :root:not([data-theme="light"]) .cx[data-fase="dia"] .cx-nb { fill: #d6e2f2; } :root:not([data-theme="light"]) .cx[data-fase="ocaso"] .cx-nb { fill: #dcc6e2; } :root:not([data-theme="light"]) .cx[data-fase="noche"] .cx-nb { fill: #34406a; }
}
/* On the phone: the card, as tall as the text plus the hills right below (without the gap of before); the sun or the moon peek from behind
   the hills, on the right, under the text; the clouds, only on the right and below the date */
@media (max-width: 720px) {
  .ini-hola.ex6 { display: block; min-height: 0; padding: 0 0 56px; --ax0: 74; --axa: 20; --ay0: 92; --aya: 12; }
  .ini-hola.ex6 .ini-hola-t { max-width: none; padding: 18px 18px 6px; }
  .cx-colinas { left: -16%; width: 132%; bottom: -6px; height: 24%; }
  .cx-lejos, .cx-cerca { -webkit-mask-image: linear-gradient(90deg, transparent 52%, #000 74%), linear-gradient(180deg, transparent 44%, #000 58%); -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, transparent 52%, #000 74%), linear-gradient(180deg, transparent 44%, #000 58%); mask-composite: intersect; }
  .cx-velo { background: radial-gradient(ellipse 120% 90% at 26% 42%, rgb(6 14 36 / .42), rgb(6 14 36 / .2) 56%, transparent 86%); }
}
@media (prefers-reduced-motion: reduce) { .cx *, .cx-carril { animation: none !important; } }
html[data-quieto] .cx *, html[data-quieto] .cx-carril { animation: none !important; }

/* ---------- F2 «Un campo de periodo» (0.6.5): the field and its small window, with Landing Builder's shortcuts and one-month calendar ---------- */
.ini-per-b { width: 236px; height: 34px; } .ini-per-b .desv { text-align: left; font-variant-numeric: tabular-nums; }
.pop.pop-per { right: auto; width: auto; padding: 0; overflow: hidden; }
.fc-per { display: grid; grid-template-columns: 172px 300px; }
.fc-l { display: grid; align-content: start; gap: 2px; padding: 6px; border-right: 1px solid var(--linea); }
.fc-l button { display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 36px; padding: 0 10px; border-radius: 8px; font-size: 13.5px; color: var(--tinta); text-align: left; }
.fc-l button:hover { background: var(--hover); } .fc-l button[aria-pressed="true"] { background: var(--azul-s); color: var(--azul-tinta); font-weight: 600; }
.fc-l button > span { flex: 1 1 auto; min-width: 0; } .fc-l .i { flex: 0 0 auto; --s: .55; }
.fc-cal { display: grid; min-width: 0; }
.fc-cab { display: flex; align-items: center; gap: 6px; padding: 8px; border-bottom: 1px solid var(--linea); background: var(--sup2); }
.fc-t { flex: 1; text-align: center; font-size: 14px; font-weight: 700; }
.fc-ib { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 8px; color: var(--suave); } .fc-ib:hover:not(:disabled) { background: var(--hover); color: var(--tinta); }
.fc-ib:disabled { color: var(--tenue); cursor: default; } .fc-ib .i { --s: .6; }
.fc-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 2px; padding: 6px 8px 8px; text-align: center; }
.fc-g > span { padding: 4px 0; font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--tenue); }
/* Every day with the same font weight (with another, Gilroy changes file and the number rises): the chosen one is marked with its colour */
.fc-d { position: relative; height: 34px; display: grid; place-items: center; border-radius: 6px; font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--tinta); }
.fc-d > span { display: block; line-height: 1; }
.fc-d:hover:not(:disabled) { background: var(--hover); }
.fc-d.otro { color: var(--tenue); }
.fc-d.rango, .fc-d.rango:hover { background: var(--azul-s); color: var(--azul-tinta); border-radius: 0; }
.fc-d.d-ini, .fc-d.d-fin, .fc-d.d-ini:hover, .fc-d.d-fin:hover { background: var(--azul); color: var(--sup); }
.fc-d.d-ini:not(.d-fin) { border-radius: 6px 0 0 6px; } .fc-d.d-fin:not(.d-ini) { border-radius: 0 6px 6px 0; }
.fc-d:disabled { color: var(--tenue); cursor: default; }
/* Today, always in sight: its ring and a dot under the number (white if it is chosen) */
.fc-d.hoy { box-shadow: inset 0 0 0 1.5px var(--azul); color: var(--azul-tinta); }
.fc-d.hoy::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--azul); }
.fc-d.hoy.d-ini, .fc-d.hoy.d-fin { box-shadow: inset 0 0 0 1.5px var(--azul), inset 0 0 0 3px var(--sup); color: var(--sup); } .fc-d.hoy.d-ini::after, .fc-d.hoy.d-fin::after { background: var(--sup); }
.fc-d.hoy.rango::after { background: var(--azul-tinta); }
.fc-pie { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 8px; border-top: 1px solid var(--linea); }
.fc-res { font-size: 13px; font-weight: 600; color: var(--suave); font-variant-numeric: tabular-nums; } .fc-res b { color: var(--tinta); }
.fc-acc { display: flex; gap: 6px; align-items: center; } .fc-lnk { height: 32px; padding: 0 8px; border-radius: 8px; font-size: 13.5px; font-weight: 700; color: var(--suave); } .fc-lnk:hover { background: var(--hover); }
.fc-pie .b { height: 32px; }
/* On the phone, in its sheet: the shortcuts in three columns on top and the calendar below */
.fc-per.tel { grid-template-columns: minmax(0, 1fr); } .fc-per.tel .fc-l { grid-template-columns: repeat(3, minmax(0, 1fr)); border-right: 0; border-bottom: 1px solid var(--linea); padding: 0 0 8px; }
.fc-per.tel .fc-l button { justify-content: center; padding: 0 4px; font-size: 13px; } .fc-per.tel .fc-l .i { display: none; }
.fc-per.tel .fc-cab { background: none; border-bottom: 0; padding: 8px 0 0; } .fc-per.tel .fc-g { padding: 6px 0 8px; } .fc-per.tel .fc-pie { padding: 8px 0 0; }
@media (max-width: 720px) { .ini-per-b { width: 100%; } }

/* ===================== Accounts (0.6.0): what the real app needs on top of the mockup ===================== */
/* «Entrar con otra cuenta» (next to «Entras como»): the mockup asked for it without a drawing; two arrows that swap places */
.i-voltear { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 8h13M15 5l3 3-3 3M19 16H6M9 13l-3 3 3 3'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
/* The real QR carries more modules than the mockup's (an otpauth link with level H): a bit bigger so it scans well */
.ent-tarjeta .qr { width: 168px; height: 168px; padding: 6px; }
/* The area to drop your photo is a button: it is pressed to choose it */
button.soltar { width: 100%; background: transparent; font: inherit; cursor: pointer; }
button.soltar:hover { border-color: var(--azul); }
/* A field of Settings › Email that the server did not accept */
.in.falta { border-color: var(--mal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mal) 18%, transparent); }
/* The house number with its figure typed by hand (the SMTP port): it looks like the figure of «− 587 +» */
.numc .numc-in { width: 64px; height: 34px; border: 0; background: transparent; text-align: center; font: 600 14px/1 var(--mono); color: var(--tinta); outline: none; }
.numc:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 18%, transparent); }
/* The SMTP password, as wide as the other fields of its row */
.aj-ctl .in-clave { width: 100%; }
/* The links to copy when the panel has no mail server yet */
.dlg-c .hook-dir code { word-break: break-all; }

/* ---------- Turning on two-step verification, as in Simla Landing Builder (0.6.9) ---------- */
.vf-alta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; }
.ent-tarjeta .vf-qr { display: block; width: 148px; height: 148px; padding: 6px; border-radius: 12px; background: #fff; border: 1px solid var(--linea); }
.vf-qr svg { display: block; width: 100%; height: 100%; } .vf-qr.cargando { background: var(--sup3); }
.vf-lista { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; line-height: 19px; color: var(--tinta); }
.vf-lista li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; }
.vf-lista li > span:first-child { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-size: 12px; font-weight: 700; }
.vf-no { justify-self: start; }
.vf-clave { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 9px; background: var(--sup2); border: 1px solid var(--linea); font: 13px/18px var(--mono); color: var(--tinta); overflow-wrap: anywhere; animation: aparece .3s var(--ease) both; }
.vf-clave span { flex: 1; min-width: 0; }
.ent-tarjeta .vf-codigo { display: grid; gap: 10px; } .vf-codigo .campo-rot { display: inline-flex; align-items: center; gap: 6px; }
.vf-recordar { display: flex; align-items: center; gap: 10px; font-size: 13.5px; line-height: 18px; font-weight: 600; color: var(--tinta); }
@media (max-width: 520px) { .vf-alta { grid-template-columns: minmax(0, 1fr); justify-items: center; } .vf-alta .vf-lista { justify-self: stretch; } }
/* The entrance window grows with what it holds, as in Landing Builder: the usual height at least and, if more is needed (turning on
   2FA with its key in sight), taller; the page scrolls. Before, it had a fixed height and cut off the top and the bottom */
@media (min-width: 721px) {
  .entv:not(.ent-ins) .ent-ventana { height: auto; min-height: min(680px, calc(100vh - 56px)); }
  .entv:not(.ent-ins) .ent-centro { overflow: visible; align-content: safe center; padding-top: 30px; padding-bottom: 30px; }
}

/* ---------- Drop-down lists (0.6.6): G1 in all of them and G6 in those that grow (see components/list-search.js) ---------- */
/* G1: the chosen row in blue and the tick at the end, in its place. Before, «.pop-ficha button > span { flex: 1 }» also stretched
   the tick's icon (another <span>) and left it mid-row */
.pop-ficha button > span:not(.i) { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 18px), transparent); }
.pop-ficha button > span.i, .pop > button > .i-marca { flex: 0 0 auto; margin-left: auto; }
.pop-ficha em { flex: 0 0 auto; }
.gx1 .sy-o { align-items: center !important; } .gx1 .sy-o-t { flex: 1 1 auto; } .gx1 .sy-o-m { order: 2; margin-left: auto; }
.gx1 .sy-o[aria-checked="true"], .gx1 .sy-o[aria-selected="true"] { background: var(--azul-s); }
.gx1 .sy-o[aria-checked="true"] .sy-o-t b, .gx1 .sy-o[aria-selected="true"] .sy-o-t b { color: var(--azul-tinta); }
.gx1 .pk-o[aria-selected="true"] { color: var(--azul-tinta); } .gx1 .pk-o[aria-selected="true"] .campo-n b { color: var(--azul-tinta); }
.gx1 .pk-o > .i-marca { flex: 0 0 auto; margin-left: auto; color: var(--azul-tinta); --s: .55; }
/* G6: the search box on top, always in sight; the chosen one, apart and first */
.pop-ficha.gx6, .pop-sy.gx6:not(.pop-campo) { max-height: min(440px, 62vh); overflow-y: auto; overscroll-behavior: contain; }
.pop.pop-ficha.gx6 { width: 300px; }
.gx-bus { position: sticky; top: -6px; z-index: 2; display: flex; align-items: center; gap: 8px; height: 38px; margin: -6px -6px 4px; padding: 0 12px; border-bottom: 1px solid var(--linea); background: var(--sup); }
.gx-bus .i { --s: .6; color: var(--tenue); flex: 0 0 auto; }
.gx-bus input { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; background: none; outline: 0; font-size: 13.5px; color: var(--tinta); }
.gx-bus input::placeholder { color: var(--tenue); }
.hoja .gx-bus { position: static; margin: 0 0 6px; border: 1px solid var(--linea2); border-radius: 10px; background: var(--sup2); }
/* The circle that spins while searching (only transform) */
.gx-gira { display: block; flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--linea2); border-top-color: var(--azul); animation: gxGira .7s linear infinite; }
.gx-gira[hidden] { display: none; } @keyframes gxGira { to { transform: rotate(360deg); } }
.gx-bus-v .gx-gira { position: absolute; right: 38px; top: 50%; margin-top: -7px; }
.gx-buscando :is(.pop-ficha, .pop-sy, .pk-l, .pop-l) button, .gx-buscando > button, .gx-buscando .pk-o, .gx-buscando .sy-o { opacity: .45; transition: opacity .12s; }
.gx-fuera { display: none !important; }
.gx-elegida { display: grid; gap: 2px; }
.gx-tit { padding: 6px 10px 4px; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--tenue); }
.gx-sep { height: 1px; margin: 4px 6px; background: var(--linea); }
.gx-nada { margin: 10px 12px; font-size: 13px; color: var(--suave); } .gx-nada[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .gx-gira { animation-duration: 1.6s !important; } }

/* A list's search box, as wide as the drop-down and with the magnifier centred in its field's height (0.6.12; Luis: «el buscador no
   sale al ancho del campo y el icono de lupa, todo desalineado»). The magnifier, the same in every search box of the house */
.pk-b .buscador, .gx-bus-v.buscador { width: 100%; max-width: none; }
.in-con > .in-ico { top: 50%; right: 10px; margin: 0; transform: translateY(-50%); }
.gx-bus-v .gx-gira { right: 40px; }

/* ---------- Source (UTM), D4 (0.6.7): the table of sources and its drawer (see screens/origins.js) ---------- */
.og-v { font-size: 12.5px; }
.og-cajon .cv-c { gap: 12px; }
.og-gen { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--tinta); } .og-nota { margin: 0; }
.og-h3 { display: grid; gap: 2px; margin-top: 6px; } .og-h3 b { display: flex; align-items: center; gap: 6px; font-size: 15px; color: var(--tinta); } .og-h3 small { color: var(--suave); font-size: 13px; }
.og-u { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 10px; align-items: center; }
.og-u-t { display: grid; min-width: 0; } .og-u-t b { display: flex; align-items: center; gap: 4px; font-size: 14px; color: var(--tinta); } .og-u-t small { font-size: 12px; color: var(--suave); }
.og-u .in { height: 36px; min-width: 0; }
.og-vars { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .og-vars > span { margin-right: 2px; font-size: 12.5px; font-weight: 600; color: var(--suave); }
.og-var { height: 26px; padding: 0 8px; border-radius: 7px; border: 1px solid var(--linea2); background: var(--sup2); font: 12px/1 var(--mono); color: var(--tinta); }
.og-var:hover { border-color: var(--azul); color: var(--azul-tinta); }
/* Where it is used: its search box (the lists' one, with its circle) and the campaigns and forms, each with its checkbox */
.og-usos { display: grid; border: 1px solid var(--linea); border-radius: 12px; }   /* without overflow: hidden, which left it a minimum height of 0 in the drawer */
.og-usos .og-bus { position: static; margin: 0; border: 0; border-bottom: 1px solid var(--linea); border-radius: 12px 12px 0 0; background: var(--sup); }
.og-usos-l { display: grid; gap: 2px; max-height: 260px; min-height: 120px; overflow-y: auto; overscroll-behavior: contain; padding: 4px; align-content: start; }
.og-us { display: flex; align-items: center; gap: 10px; width: 100%; padding: 6px 8px; border-radius: 8px; text-align: left; }
.og-us:hover { background: var(--hover); } .og-us .us-sel { flex: 0 0 auto; pointer-events: none; }
.og-us-t { display: grid; flex: 1 1 auto; min-width: 0; } .og-us-t b { font-size: 13.5px; font-weight: 600; color: var(--tinta); } .og-us-t small { font-size: 11.5px; color: var(--suave); }
.og-us .chapa { flex: 0 0 auto; }
/* How it reaches Simla */
.og-asi { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 12px; border-radius: 12px; background: var(--sup2); border: 1px solid var(--linea); }
.og-asi-t { width: 100%; font-size: 12px; font-weight: 700; color: var(--suave); text-transform: uppercase; letter-spacing: .04em; }
.og-par { display: inline-flex; align-items: stretch; height: 26px; max-width: 100%; border-radius: 7px; overflow: hidden; border: 1px solid var(--linea2); font: 12px/1 var(--mono); }
.og-par span { display: grid; place-items: center; padding: 0 7px; color: var(--suave); background: var(--sup3); }
.og-par b { display: grid; place-items: center; min-width: 0; padding: 0 8px; overflow: hidden; white-space: nowrap; font-weight: 600; color: var(--tinta); }
/* The footer: Delete on the left, in red; Cancel and Save on the right; the confirmation in their place */
.og-pie { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .og-pie-d { display: flex; gap: 8px; margin-left: auto; }
.og-confirma { display: flex; align-items: flex-start; gap: 8px; flex: 1 1 260px; font-size: 13.5px; color: var(--tinta); } .og-confirma .i { color: var(--mal); --s: .6; flex: 0 0 auto; margin-top: 3.8px; }   /* 0.6.14 (#39): the icon, in the centre of the first line: (22 − 14.4) / 2 */
@media (max-width: 720px) { .og-u { grid-template-columns: minmax(0, 1fr); gap: 4px; } }

/* ---------- The Sandbox, S1 «Tres pasos en orden» (0.6.8): see screens/sandbox-steps.js ---------- */
.sx1 .sb2-c { display: grid; gap: 14px; align-content: start; min-width: 0; }
.sx-steps { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--linea); background: var(--sup); box-shadow: var(--sh1); }
.sx-st { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--suave); }
.sx-st b { display: grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--sup3); color: var(--suave); font-size: 12px; } .sx-st .i { --s: .5; }
.sx-st.ok { color: var(--tinta); } .sx-st.ok b { background: var(--bien-f); color: var(--bien); }
.sx-st.ya { color: var(--azul-tinta); } .sx-st.ya b { background: var(--azul); color: var(--sup); }
.sx-st.ojo { color: var(--aviso); } .sx-st.ojo b { background: var(--aviso-f); color: var(--aviso); }
.sx-st.mal { color: var(--mal); } .sx-st.mal b { background: var(--mal-f); color: var(--mal); }
.sx-flecha { flex: 0 0 auto; width: 28px; height: 1.5px; background: var(--linea2); }
.sx-sec { display: grid; gap: 12px; padding: 16px; border-radius: 14px; border: 1px solid var(--linea); background: var(--sup); box-shadow: var(--sh1); min-width: 0; }
.sx-sec-c { display: flex; align-items: flex-start; gap: 12px; }
.sx-n { flex: 0 0 auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul); color: var(--sup); font-size: 13px; font-weight: 700; }
.sx-n.ok { background: var(--bien-f); color: var(--bien); } .sx-n .i { --s: .55; }
.sx-sec-t { display: grid; flex: 1 1 auto; min-width: 0; } .sx-sec-t b { font-size: 16px; line-height: 22px; } .sx-sec-t small { color: var(--suave); font-size: 13px; line-height: 19px; }
.sx-chips { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
/* The sync, inside step 3: without its frame or its title (the step puts them) */
.sx-sec .sb2-sec.sy { padding: 0; border: 0; background: none; box-shadow: none; } .sx-sec .sy-t h2 { display: none; } .sx-sec .sy-t p { margin: 0; }
.sx-sin { margin: 10px 12px; } .sx1 .sb2-e-c { display: flex; align-items: center; gap: 6px; } .sx1 .sb2-e-c b { min-width: 0; overflow: hidden; white-space: nowrap; } .sx1 .sb2-e-c small { margin-left: auto; } .sx-ej { flex: 0 0 auto; height: 20px; padding: 0 7px; font-size: 11px; }
.sx-clave { display: block; margin-top: 8px; color: var(--suave); font-size: 13.5px; } .sx-clave .enlace-b { display: inline; padding: 0; font-size: inherit; }
/* The empty state: what to do to receive the first test */
.sx-vacio { display: grid; gap: 16px; justify-items: start; padding: 26px; border-radius: 16px; border: 1px dashed var(--linea2); background: var(--sup); }
.sx-vacio h2 { margin: 0; font-size: 20px; line-height: 26px; } .sx-vacio > p { margin: 0; max-width: 640px; color: var(--suave); font-size: 14px; line-height: 21px; }
.sx-pasos { display: grid; gap: 12px; width: 100%; max-width: 680px; margin: 0; padding: 0; list-style: none; counter-reset: p; }
.sx-pasos li { counter-increment: p; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; line-height: 21px; }
.sx-pasos li::before { content: counter(p); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-size: 13px; font-weight: 700; }
.sx-pasos li > span { min-width: 0; } .sx-pasos .enlace-b { display: inline; }
.sx-copia { display: flex; align-items: center; gap: 8px; min-width: 0; margin-top: 8px; padding: 6px 6px 6px 12px; border-radius: 10px; border: 1px solid var(--linea2); background: var(--sup2); }
.sx-copia > span { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; font-size: 13px; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 20px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 20px), transparent); }
.sx-copia .bi { flex: 0 0 auto; }
.sx-espera { display: inline-flex; align-items: center; gap: 10px; color: var(--suave); font-size: 13.5px; }
.sx-espera i { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--linea2); border-top-color: var(--azul); animation: sxGira .8s linear infinite; } @keyframes sxGira { to { transform: rotate(360deg); } }
@media (max-width: 720px) { .sx-flecha { width: 12px; } .sx-sec-c { flex-wrap: wrap; } .sx-chips { justify-content: flex-start; width: 100%; padding-left: 40px; } .sx-vacio { padding: 18px; } }

/* ============ Tags, as in Simla Landing Builder (0.6.13, #32): the box with its pills and «Etiquetas de tu CRM» ============ */
.fe-tags { position: relative; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; min-width: 0; min-height: 40px; padding: 4px 6px;
  border: 1px solid var(--linea2); border-radius: 9px; background: var(--sup); cursor: text; transition: border-color .15s, box-shadow .15s; }
.fe-tags:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 18%, transparent); }
.fe-tag { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; min-width: 0; height: 28px; padding: 0 4px 0 10px; border-radius: 999px;
  background: var(--azul-s); color: var(--azul-tinta); font-size: 13px; font-weight: 600; animation: etqEntra .18s var(--ease) both; }
[data-theme="dark"] .fe-tag { color: var(--azul); }
.etq-t { min-width: 0; overflow: hidden; white-space: nowrap; } .fe-tag .etq-t.desv { flex: 0 1 auto; }
.fe-tag button { flex: 0 0 auto; display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; cursor: pointer; }
.fe-tag button:hover { background: color-mix(in srgb, var(--azul) 18%, transparent); } .fe-tag button .i { --s: .5; }
.fe-tags input { flex: 1 1 120px; min-width: 0; height: 30px; padding: 0 4px; border: 0; outline: 0; background: transparent; color: var(--tinta); font: inherit; font-size: 14px; }
.fe-tags input::placeholder { color: var(--tenue); }
/* With pills and nothing typed, the field takes no room (as in Landing Builder) */
.fe-tags:not(:focus-within):not(.con-texto):has(.fe-tag) > input { position: absolute; left: 6px; top: 5px; width: 1px; padding: 0; opacity: 0; }
@keyframes etqEntra { from { opacity: 0; transform: scale(.92); } }

/* The suggestions: under the box, attached and as wide as it */
.etq-sug { position: fixed; z-index: 990; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 220px; padding: 6px; border: 1px solid var(--linea);
  border-radius: 12px; background: var(--sup); box-shadow: var(--sh3); animation: etqSale .14s var(--ease) both; }
@keyframes etqSale { from { opacity: 0; transform: translateY(-4px); } }
.etq-sug .tit { padding: 6px 10px 6px; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--suave); }
.etq-l { display: grid; align-content: start; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.etq-l > button { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 38px; padding: 0 10px; border: 0; border-radius: 8px; background: none;
  color: var(--tinta); font: inherit; font-size: 14px; font-weight: 500; text-align: left; cursor: pointer; }
.etq-l > button:hover, .etq-l > button.sel { background: var(--hover); } [data-theme="dark"] .etq-l > button:hover, [data-theme="dark"] .etq-l > button.sel { background: var(--sup3); }
.etq-l > button > .desv { flex: 1 1 auto; }
.etq-n { flex: 0 0 auto; margin-left: auto; color: var(--suave); font-size: 13px; font-variant-numeric: tabular-nums; }
.etq-crear { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: var(--azul); font-weight: 600; } .etq-crear .i { --s: .6; flex: 0 0 auto; }
.etq-carga { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; color: var(--suave); font-size: 13px; }
.etq-carga b { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--tinta); } .etq-carga.mas { min-height: 36px; }
.etq-nada { margin: 0; padding: 10px; color: var(--suave); font-size: 13px; line-height: 18px; }
.etq-pie { margin: 4px 0 0; padding: 8px 10px 4px; border-top: 1px solid var(--linea); color: var(--tenue); font-size: 12.5px; }
@media (prefers-reduced-motion: reduce) { .fe-tag, .etq-sug { animation: none; } }

/* ============ The 6-digit code, as in Simla Landing Builder (0.6.15, #29): its .vf-* rules of app.css, as they are ============ */
/* Its .vf-otp box is not the grid of before (which the 8-digit codes still use: .vf-otp.ocho) */
.vf-otp:not(.ocho) { display: block; grid-template-columns: none; gap: 0; position: relative; }
@media (pointer: coarse), (max-width: 600px) { .in, .vf-input { font-size: 16px; } }
.vf-codigo > .ent-error { margin-top: -2px; }
.vf-codigo { --vf-alto: 60px; --vf-hueco: 10px; --vf-tam: 26px; --vf-ease: cubic-bezier(.2, .8, .2, 1); display: grid; gap: 10px; color: var(--tinta); }
.vf-otp { position: relative; }
.vf-input { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; outline: 0; box-shadow: none; background: transparent; color: transparent; caret-color: transparent; font-size: 16px; cursor: text; -webkit-text-fill-color: transparent; }
.vf-input:focus, .vf-input:focus-visible { outline: 0; box-shadow: none; }
.vf-celdas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--vf-hueco); }
.vf-celda { position: relative; display: grid; place-items: center; min-width: 0; height: var(--vf-alto); border: 1px solid var(--linea2); border-radius: 12px; background: var(--sup); color: var(--tinta); font: 700 var(--vf-tam)/1 var(--font); font-variant-numeric: tabular-nums; transition: border-color .18s var(--vf-ease), box-shadow .18s var(--vf-ease); }
.vf-celda:not(.llena) .vf-cifra::before { content: ''; display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--linea2); transition: transform .2s var(--vf-ease), background-color .2s var(--vf-ease); }
.vf-celda.llena { border-color: var(--tenue); } .vf-celda.llena .vf-cifra { animation: aparece .2s var(--vf-ease) both; }
.vf-foco .vf-celda.activa { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 22%, transparent); }
.vf-foco .vf-celda.activa:not(.llena) .vf-cifra::before { transform: scale(1.5); background: var(--azul); }
.vf-completo .vf-celda { animation: vf-ola .5s var(--vf-ease) both; animation-delay: calc(var(--i, 0) * 45ms); }
.vf-mal .vf-celda { border-color: var(--mal); animation: vf-rojo .6s var(--vf-ease); }
/* The note under the boxes, centred and with its clock */
.vf-tiempo { display: grid; gap: 7px; }
.vf-barra { height: 3px; border-radius: 3px; overflow: hidden; background: var(--sup3); }
.vf-barra i { display: block; height: 100%; background: var(--azul); transform-origin: 0 50%; animation: vfVacia 30s linear infinite; }
@keyframes vfVacia { from { transform: scaleX(1); } to { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) { .vf-barra { display: none; } }
.vf-nota { margin: 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--suave); font-size: 13px; line-height: 18px; text-align: center; }
.vf-nota[data-aviso] { color: var(--tinta); font-weight: 600; }
@keyframes vf-ola { 0%, 100% { transform: none; } 40% { transform: translateY(-4px); } }
@keyframes vf-rojo { from { background-color: var(--mal-f); } }
@media (max-width: 520px) { .vf-codigo { --vf-alto: 50px; --vf-hueco: 6px; --vf-tam: 22px; } .vf-alta { grid-template-columns: minmax(0, 1fr); justify-items: center; } .vf-alta .vf-lista { justify-self: stretch; } }

/* ===================== The guides (0.7.0, design/mockups/guides.html): Simla Landing Builder's welcome guide (its studio.css: .le-capas,
   .le-guia-foco, .le-guia, .le-guias-*, and its round 7), with this panel's tokens. It goes in #guia, outside #app (pintar does not erase it) ===================== */
.le-capas { position: fixed; inset: 0; z-index: 990; pointer-events: none; overflow: clip; }
.le-capas > * { pointer-events: auto; }
.le-capas .le-guia-foco { position: absolute; border-radius: 12px; box-shadow: 0 0 0 9999px var(--velo), 0 0 0 2px var(--azul); pointer-events: none; }
.le-capas .le-guia-foco::after { content: ''; position: absolute; inset: -6px; border-radius: 16px; border: 2px solid var(--azul); animation: guiaLate 1.8s var(--ease) infinite; }
.le-capas .le-guia-foco.entra { animation: guiaFoco .2s var(--ease) both; }
.le-capas .le-guia-foco.justo { box-shadow: 0 0 0 9999px var(--velo), inset 0 0 0 2px var(--azul); }
.le-capas .le-guia-foco.justo::after { inset: 0; border-radius: inherit; border-width: 3px; animation-name: guiaPulso; }
@keyframes guiaLate { 0% { opacity: .9; transform: scale(.985); } 100% { opacity: 0; transform: scale(1.05); } }
@keyframes guiaFoco { from { opacity: 0; } to { opacity: 1; } }
@keyframes guiaPulso { 0%, 100% { opacity: .15; transform: none; } 50% { opacity: .9; transform: none; } }
.le-capas .le-guia { position: absolute; display: grid; gap: 8px; padding: 14px 16px 12px; border-radius: 14px; background: var(--sup); border: 1px solid var(--linea2); box-shadow: var(--sh3); pointer-events: auto; color: var(--tinta); }
.le-capas .le-guia.entra { animation: guiaEntra .24s var(--ease) both; }
@keyframes guiaEntra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.le-guia-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.le-guia-ch { display: inline-flex; align-items: center; gap: 6px; min-width: 0; margin-right: auto; padding: 4px 10px; border-radius: 999px; background: var(--azul-s); color: var(--azul-tinta); font-size: 12.5px; font-weight: 700; }
.le-guia-ch .i { --s: .5; flex: 0 0 auto; }
.le-guia-n { color: var(--suave); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.le-guia-t { font-size: 16px; line-height: 22px; }
.le-guia-d { margin: 0; color: var(--suave); font-size: 14px; line-height: 20px; }
.le-guia-pie { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.le-guia-pts { display: inline-flex; gap: 5px; margin-right: auto; }
.le-guia-pts i { width: 7px; height: 7px; border-radius: 50%; background: var(--linea2); }
.le-guia-pts i.on { width: 18px; border-radius: 4px; background: var(--azul); }
.le-guia-no { display: flex; align-items: center; gap: 8px; padding-top: 8px; border-top: 1px solid var(--linea); color: var(--suave); font-size: 13px; }
.le-guia-il { border-radius: 10px; background: var(--sup2); overflow: hidden; padding: 6px; }
.le-guia-l { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; }
.le-guia-l li { position: relative; padding-left: 12px; color: var(--suave); font-size: 13px; line-height: 18px; }
.le-guia-l li::before { content: ''; position: absolute; left: 0; top: 7px; width: 5px; height: 5px; border-radius: 50%; background: var(--azul); }
.le-guia-l li b { color: var(--tinta); font-weight: 700; margin-right: 6px; }
.le-guias-l { display: grid; gap: 2px; }
.le-guias-f { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 6px 0 10px; border-radius: 8px; }
.le-guias-f:hover { background: var(--hover); }
.le-guias-f > .desv { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; }
.le-guias-f > .i { --s: .55; flex: 0 0 auto; color: var(--suave); }
.le-guias-f > .bi { width: 30px; height: 26px; min-width: 0; padding: 0; border-radius: 7px; } .le-guias-f > .bi .i { --s: .55; }
@media (prefers-reduced-motion: reduce) { .le-capas .le-guia.entra, .le-capas .le-guia-foco.entra, .le-capas .le-guia-foco::after { animation: none; } }

/* ---- The card, the same size on every step (Landing Builder's round 7) ---- */
.le-capas .le-guia.gi-card { display: flex; flex-direction: column; gap: 7px; box-sizing: border-box; overflow: hidden; padding: 12px 16px 10px; }
.gi-card .le-guia-h { flex: 0 0 auto; }
.gi-card .le-guia-h .bi { width: 28px; height: 28px; }
.gi-card .le-guia-il { flex: 0 0 auto; padding: 4px; }
.gi-card .le-guia-il > svg { display: block; width: 100%; height: 92px; max-height: none; }
.gi-card .le-guia-t { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.gi-card .le-guia-t .chapa { height: 22px; font-size: 12px; }
.gi-card .le-guia-d { font-size: 14px; line-height: 20px; }
.gi-card .le-guia-l li { font-size: 13px; line-height: 18px; }
.gi-card .le-guia-pie { margin-top: auto; padding-top: 4px; }
.gi-card .le-guia-pie .b { flex: 0 0 auto; height: 32px; padding: 0 12px; font-size: 13px; }
.gi-card .le-guia-pts { gap: 3px; flex-wrap: nowrap; }
.gi-card .le-guia-pts i { width: 5px; height: 5px; flex: 0 0 auto; }
.gi-card .le-guia-pts i.on { width: 14px; }
.gi-card .le-guia-no { flex: 0 0 auto; padding-top: 7px; }
.gi-card.tel { padding: 10px 14px 8px; gap: 5px; }
.gi-card.tel .le-guia-il > svg { height: 58px; }
.gi-card.tel .le-guia-d { font-size: 13.5px; line-height: 19px; }
.gi-card.tel .le-guia-l li { font-size: 12.5px; line-height: 17px; }
/* What covers the panel while the guide is open (with a hole on the piece if it can be touched) and, with no piece in sight, the veil */
.gi-tapa { position: absolute; pointer-events: auto; } .gi-tapa.gi-velo { background: var(--velo); }
.gi-falta { position: absolute; left: 12px; top: 12px; margin: 0; padding: 6px 10px; border-radius: 8px; background: var(--mal-f); color: var(--mal); font-weight: 700; }

/* ---- «Guías» in your account's menu, next to My profile, and its drawer (option 1 of B in Landing Builder: «Cajón desde el menú de tu cuenta») ---- */
.capa-cuenta .gi-fila-guias { width: 100%; }
.cajon-v.gi-cajon { width: min(420px, 100vw); }
.gi-cajon .cv-c { display: grid; gap: 12px; align-content: start; }
.gi-g { display: grid; gap: 4px; min-width: 0; }
.gi-g + .gi-g { padding-top: 12px; border-top: 1px solid var(--linea); }
.gi-g-h { display: flex; align-items: center; gap: 10px; padding: 0 4px 0 10px; min-height: 32px; }
.gi-g-h b { font-size: 14px; } .gi-g-h small { color: var(--suave); font-size: 12.5px; margin-right: auto; }
.gi-g .le-guias-f { min-height: 36px; }
.gi-g-n { color: var(--tenue); font-size: 12px; white-space: nowrap; }
.gi-g .chapa { height: 22px; font-size: 12px; }
.gi-cajon .dlg-pie { justify-content: flex-start; }
.gi-cajon .b-texto { background: none; border: 0; color: var(--azul); padding: 0 6px; height: 30px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; cursor: pointer; }
.gi-cajon .b-texto .i { --s: .55; }
.gi-cajon .gi-g-h .b-texto { margin-left: auto; }

/* ---- The drawings: only transform and opacity; the style without animation is the final state ---- */
.gi-il * { transform-box: fill-box; transform-origin: center; }
.gi-il .gi-il-cla, .gi-il .gi-il-sobre, .gi-il .gi-il-u1, .gi-il .gi-il-fuera, .gi-il .gi-il-e1 { opacity: 0; }
.gi-il-prefs .gi-il-perilla { transform: translateX(32px); }
.gi-il-riel .gi-il-r2, .gi-il-riel .gi-il-r3 { opacity: .25; }
.gi-il > *, .gi-il g, .gi-il [class^="gi-il-"] { animation-duration: 5s; animation-iteration-count: infinite; animation-timing-function: var(--ease); animation-fill-mode: both; }
.gi-il-prefs .gi-il-osc { animation-name: giOsc; } .gi-il-prefs .gi-il-cla { animation-name: giCla; } .gi-il-prefs .gi-il-perilla { animation-name: giPer; } .gi-il-prefs .gi-il-luna { animation-name: giLuna; }
@keyframes giOsc { 0%, 28% { opacity: 0; } 34%, 90% { opacity: 1; } 96%, 100% { opacity: 0; } }
@keyframes giCla { 0%, 28% { opacity: 1; } 34%, 90% { opacity: 0; } 96%, 100% { opacity: 1; } }
@keyframes giPer { 0%, 22% { transform: translateX(0); } 28%, 88% { transform: translateX(32px); } 94%, 100% { transform: translateX(0); } }
@keyframes giLuna { 0%, 30% { transform: scale(1); } 35% { transform: scale(1.25); } 40%, 100% { transform: scale(1); } }
.gi-il-correo .gi-il-sobre { animation-name: giSobre; } .gi-il-correo .gi-il-fila { animation-name: giFilaE; }
@keyframes giSobre { 0%, 12% { opacity: 0; transform: translate(0, 0); } 16% { opacity: 1; transform: translate(0, 0); } 44% { opacity: 1; transform: translate(110px, -16px) scale(.9); } 50%, 100% { opacity: 0; transform: translate(110px, -16px) scale(.6); } }
@keyframes giFilaE { 0%, 46% { opacity: 0; transform: translateY(-6px); } 54%, 94% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(0); } }
@keyframes giAp1 { 0%, 4% { opacity: 0; transform: translateY(6px); } 12%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giAp2 { 0%, 24% { opacity: 0; transform: translateY(6px); } 32%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giAp3 { 0%, 40% { opacity: 0; transform: translateY(6px); } 48%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giAp4 { 0%, 50% { opacity: 0; transform: scale(.9); } 60%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.gi-il-ajustes .gi-il-luz { animation-name: giLuz; }
@keyframes giLuz { 0%, 14% { transform: translateY(0); } 18%, 30% { transform: translateY(12px); } 34%, 46% { transform: translateY(24px); } 50%, 62% { transform: translateY(40px); } 66%, 78% { transform: translateY(52px); } 82%, 94% { transform: translateY(64px); } 100% { transform: translateY(0); } }
.gi-il-riel .gi-il-r1 { animation-name: giR1; } .gi-il-riel .gi-il-r2 { animation-name: giR2; } .gi-il-riel .gi-il-r3 { animation-name: giR3; }
@keyframes giR1 { 0%, 30% { opacity: .9; } 34%, 96% { opacity: .25; } 100% { opacity: .9; } }
@keyframes giR2 { 0%, 30% { opacity: .25; } 34%, 63% { opacity: .9; } 67%, 100% { opacity: .25; } }
@keyframes giR3 { 0%, 63% { opacity: .25; } 67%, 96% { opacity: .9; } 100% { opacity: .25; } }
@keyframes giPulsa { 0%, 12% { transform: scale(1); } 15% { transform: scale(.95); } 19%, 100% { transform: scale(1); } }
@keyframes giBaja { 0%, 52% { transform: translateY(-22px); } 60%, 94% { transform: translateY(0); } 100% { transform: translateY(-22px); } }
@keyframes giFilaN { 0%, 56% { opacity: 0; transform: translateY(-6px); } 64%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giE1 { 0%, 28% { opacity: 1; } 33%, 95% { opacity: 0; } 100% { opacity: 1; } }
@keyframes giE2 { 0%, 34% { opacity: 0; } 39%, 94% { opacity: 1; } 99%, 100% { opacity: 0; } }
@keyframes giV { 0%, 40% { transform: scaleY(.25); } 60%, 94% { transform: scaleY(1); } 100% { transform: scaleY(.25); } }
@keyframes giFlecha { 0%, 40% { transform: translateX(0); opacity: .4; } 50% { transform: translateX(6px); opacity: 1; } 60%, 100% { transform: translateX(0); opacity: .4; } }
@keyframes giCursor { 0% { opacity: 1; } 10% { opacity: 0; } 20% { opacity: 1; } 30%, 100% { opacity: 0; } }
@keyframes giFuera { 0%, 22% { opacity: 1; } 30%, 94% { opacity: 0; } 100% { opacity: 1; } }
@keyframes giCk { 0%, 40% { opacity: 0; transform: scale(.5); } 46%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giAcc { 0%, 56% { opacity: 0; transform: translateY(-6px); } 64%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giL1 { 0%, 18% { transform: scaleX(0); } 36%, 94% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes giMenuC { 0%, 8% { opacity: 0; transform: scale(.95); } 18%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giLateI { 0%, 24% { opacity: 0; } 30% { opacity: 1; } 42% { opacity: .35; } 54% { opacity: 1; } 66% { opacity: .35; } 78%, 94% { opacity: 1; } 100% { opacity: 0; } }
@keyframes giPulsa2 { 0%, 34% { transform: scale(1); } 38% { transform: scale(.92); } 42%, 100% { transform: scale(1); } }
@keyframes giSobreU { 0%, 16% { opacity: 0; transform: translate(0, 0); } 20% { opacity: 1; transform: translate(0, 0); } 44% { opacity: 1; transform: translate(112px, -32px) scale(.9); } 50%, 100% { opacity: 0; transform: translate(112px, -32px) scale(.6); } }
@keyframes giSw { 0%, 20% { opacity: 0; } 30%, 92% { opacity: 1; } 100% { opacity: 0; } }
@keyframes giK { 0%, 20% { transform: translateX(-12px); } 30%, 92% { transform: translateX(0); } 100% { transform: translateX(-12px); } }
@keyframes giDot { 0%, 6% { opacity: 0; transform: scale(.3); } 12%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes giCods { 0%, 60% { opacity: 1; transform: none; } 64% { opacity: 0; transform: translateY(4px); } 72%, 100% { opacity: 1; transform: none; } }
@keyframes giCierra { 0%, 46% { opacity: 1; transform: none; } 56%, 94% { opacity: 0; transform: translateX(18px); } 100% { opacity: 1; transform: none; } }
@keyframes giU1 { 0%, 40% { opacity: 1; } 45%, 95% { opacity: 0; } 100% { opacity: 1; } }
@keyframes giU2 { 0%, 46% { opacity: 0; } 51%, 90% { opacity: 1; } 95%, 100% { opacity: 0; } }
@keyframes giPunto { 0%, 16% { opacity: 0; transform: translateX(0); } 20% { opacity: 1; transform: translateX(0); } 50% { opacity: 1; transform: translateX(56px); } 56%, 100% { opacity: 0; transform: translateX(56px); } }
@keyframes giLate { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.35); opacity: .55; } }
@keyframes giGira { 0%, 10% { transform: rotate(0deg); } 60%, 100% { transform: rotate(360deg); } }
@keyframes giUne { 0%, 34% { transform: none; opacity: 1; } 50%, 90% { transform: translateY(-44px); opacity: 0; } 100% { transform: none; opacity: 1; } }
/* Your account, My profile and Guides: the menu opens and its row pulses */
.gi-il-tucuenta .gi-il-btn, .gi-il-engranaje .gi-il-btn, .gi-il-usuarios .gi-il-btn, .gi-il-perfil .gi-il-btn { animation-name: giPulsa; }
.gi-il-tucuenta .gi-il-menu, .gi-il-abreperfil .gi-il-menu, .gi-il-guias .gi-il-menu { animation-name: giMenuC; } .gi-il-abreperfil .gi-il-late, .gi-il-guias .gi-il-late { animation-name: giLateI; }
.gi-il-engranaje .gi-il-menu { animation-name: giAp2; } .gi-il-engranaje .gi-il-land { animation-name: giAp3; }
/* Google Ads: the POST travels and the app answers 200 */
.gi-il-google .gi-il-punto { animation-name: giPunto; } .gi-il-google .gi-il-ok { animation-name: giAp4; }
/* Simla: the API key is typed and each permission is ticked */
.gi-il-simla .gi-il-d, .gi-il-seguridad .gi-il-d { animation-name: giDot; }
.gi-il-simla .gi-il-d1, .gi-il-seguridad .gi-il-d1 { animation-delay: .1s; } .gi-il-simla .gi-il-d2, .gi-il-seguridad .gi-il-d2 { animation-delay: .2s; } .gi-il-simla .gi-il-d3, .gi-il-seguridad .gi-il-d3 { animation-delay: .3s; }
.gi-il-simla .gi-il-d4, .gi-il-seguridad .gi-il-d4 { animation-delay: .4s; } .gi-il-simla .gi-il-d5, .gi-il-seguridad .gi-il-d5 { animation-delay: .5s; } .gi-il-simla .gi-il-d6 { animation-delay: .6s; }
.gi-il-simla .gi-il-ck, .gi-il-sandbox .gi-il-ck { animation-name: giCk; } .gi-il-simla .gi-il-c1, .gi-il-sandbox .gi-il-c1 { animation-delay: .25s; } .gi-il-simla .gi-il-c2, .gi-il-sandbox .gi-il-c2 { animation-delay: .5s; }
.gi-il-simla .gi-il-ok, .gi-il-seguridad .gi-il-ok { animation-name: giAp4; }
/* Registration in Simla: the lead gives its customer and its order */
.gi-il-registro .gi-il-l1 { animation-name: giL1; transform-origin: left center; } .gi-il-registro .gi-il-a1 { animation-name: giAp2; } .gi-il-registro .gi-il-a2 { animation-name: giAp3; }
/* Duplicates: the second one rises and joins the first */
.gi-il-duplicados .gi-il-une { animation-name: giUne; } .gi-il-duplicados .gi-il-ok { animation-name: giAp4; }
/* Source: the source, the medium and the campaign, one after another */
.gi-il-origen .gi-il-a1, .gi-il-campanas .gi-il-a1 { animation-name: giAp1; } .gi-il-origen .gi-il-a2, .gi-il-campanas .gi-il-a2 { animation-name: giAp2; } .gi-il-origen .gi-il-a3 { animation-name: giAp3; }
/* Reading: the needle goes round and the new one and the deleted one come out */
.gi-il-lectura .gi-il-aguja { animation-name: giGira; transform-box: view-box; transform-origin: 48px 48px; } .gi-il-lectura .gi-il-a1 { animation-name: giAp3; } .gi-il-lectura .gi-il-a2 { animation-name: giAp4; }
/* Mapping: each question joins its field */
.gi-il-mapeo .gi-il-l { animation-name: giL1; transform-origin: left center; } .gi-il-mapeo .gi-il-l1 { animation-delay: .3s; } .gi-il-mapeo .gi-il-l2 { animation-delay: .6s; }
/* Forms, users: the new row comes in on top */
.gi-il-formularios .gi-il-baja, .gi-il-usuarios .gi-il-baja { animation-name: giBaja; } .gi-il-formularios .gi-il-fila, .gi-il-usuarios .gi-il-fila { animation-name: giFilaN; }
.gi-il-usuarios .gi-il-sobre { animation-name: giSobreU; }
/* Campaigns: the name is typed and its tags arrive */
.gi-il-campanas .gi-il-u1 { animation-name: giU1; opacity: 1; } .gi-il-campanas .gi-il-u2 { animation-name: giU2; }
.gi-il-grupos .gi-il-sw { animation-name: giSw; } .gi-il-grupos .gi-il-k { animation-name: giK; } .gi-il-grupos .gi-il-sw1, .gi-il-grupos .gi-il-k1 { animation-delay: .5s; }
/* Home: the green dots pulse and what needs attention comes in */
.gi-il-inicio .gi-il-late { animation-name: giLate; animation-duration: 2.2s; } .gi-il-inicio .gi-il-p1 { animation-delay: .4s; } .gi-il-inicio .gi-il-fila { animation-name: giFilaN; }
/* Figures: the bars grow */
.gi-il-cifras .gi-il-v { animation-name: giV; transform-origin: bottom; } .gi-il-cifras .gi-il-v1 { animation-delay: .15s; } .gi-il-cifras .gi-il-v2 { animation-delay: .3s; } .gi-il-cifras .gi-il-v3 { animation-delay: .45s; }
/* Leads: from pending to synced */
.gi-il-leads .gi-il-e1 { animation-name: giE1; } .gi-il-leads .gi-il-e2 { animation-name: giE2; } .gi-il-leads .gi-il-flecha, .gi-il-sandbox .gi-il-flecha { animation-name: giFlecha; }
.gi-il-filtros .gi-il-cursor { animation-name: giCursor; animation-timing-function: steps(1); } .gi-il-filtros .gi-il-fuera { animation-name: giFuera; } .gi-il-filtros .gi-il-ck { animation-name: giCk; } .gi-il-filtros .gi-il-c1 { animation-delay: .3s; } .gi-il-filtros .gi-il-acc { animation-name: giAcc; }
/* Tu perfil */
.gi-il-perfil .gi-il-e2 { animation-name: giE2; }
.gi-il-seguridad .gi-il-cods { animation-name: giCods; }
.gi-il-sesiones .gi-il-btn { animation-name: giPulsa2; } .gi-il-sesiones .gi-il-cierra { animation-name: giCierra; }
@media (prefers-reduced-motion: reduce) { .gi-il *, .gi-il g { animation: none !important; } }
.gi-quieto .gi-il *, .gi-quieto .gi-il g, .gi-quieto .le-guia-foco::after { animation: none !important; }

/* Google Ads, like its form (Luis, 2026-11-08): the box turns blue and the value is typed; on the key, «Send test data» and the mark */
.gi-il-google .gi-il-foco, .gi-il-clave .gi-il-foco { animation-name: giFocoG; } .gi-il-google .gi-il-teclea, .gi-il-clave .gi-il-teclea { animation-name: giTeclea; transform-origin: right center; }
.gi-il-clave .gi-il-pulsa { animation-name: giPulsaG; } .gi-il-clave .gi-il-ok { animation-name: giOkG; }
@keyframes giFocoG { 0%, 6% { opacity: 0; } 12%, 90% { opacity: 1; } 96%, 100% { opacity: 0; } }
@keyframes giTeclea { 0%, 12% { transform: scaleX(1); } 46%, 92% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
@keyframes giPulsaG { 0%, 56% { transform: none; opacity: 1; } 59% { transform: scale(.94); opacity: .7; } 63%, 100% { transform: none; opacity: 1; } }
@keyframes giOkG { 0%, 62% { opacity: 0; transform: scale(.6); } 68%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }

/* ===== Loading, without jumps (0.7.1): «Interfaz primero». What waits, in grey with its shape and a shine running over it; it comes in at
   0.15 s; on arrival, each piece rises to its place, in order. Prefix gx-. What moves, only transform and opacity ===== */
.gx-esq { position: relative; overflow: hidden; pointer-events: none; transition: opacity .2s var(--ease); }
.gx-esq.gx-asoma { opacity: 0; transition: none; }
/* What depends on the data, in grey (titles, the figures' labels and headers stay for real) */
.gx-esq :is(b, small, span, a, p, em, strong, code, h2, h3, li, label, time, button, td):not(:has(*)):not(:where(.tb-cabs, .ini-sec-cab, .ini-kpi > span, .ini-con-t > b, .sbl-pane-cab, .pf-ft > b) *, .ini-kpi > span, .ini-con-t > b, .pf-ft > b),
.gx-esq :is(.chapa, .estado, .estado-l, .av, .ini-logo, .a-pill, .b, .bi, .pag-b, .ini-n, .ini-bien, .us-sel):not(:where(.tb-cabs, .ini-sec-cab) *) {
  color: transparent !important; background: var(--sup3) !important; border-color: transparent !important; box-shadow: none !important; border-radius: 6px; }
.gx-esq :is(.i, img, svg, canvas, input, .tb-check, .pt, .estado > i):not(:where(.tb-cabs, .ini-sec-cab, .ini-kpi > span, .ini-con-t > b, .sbl-pane-cab) *) { opacity: 0 !important; }
.gx-esq :is(.ini-bars, .ini-mini) { background: var(--sup3); border-radius: 10px; }
.gx-esq :is(.ini-bars, .ini-mini, .ini-n, .ini-bien) * { opacity: 0 !important; }
.gx-esq .tb-f { cursor: default; }
.gx-esq::after { content: ''; position: absolute; inset: 0; z-index: 5; pointer-events: none; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--tinta) 7%, transparent) 50%, transparent 80%);
  transform: translateX(-100%); animation: gxBrillo 1.5s var(--ease) infinite; }
@keyframes gxBrillo { to { transform: translateX(100%); } }
/* The lines of the rows that wait: one per cell; in the first, two (the name and what goes under it) */
.gx-r { display: block; height: 10px; border-radius: 6px; background: var(--sup3); }
.gx-w1 { width: 34%; } .gx-w2 { width: 52%; } .gx-w3 { width: 70%; } .gx-w4 { width: 88%; }
.gx-dos { display: grid; gap: 8px; width: 100%; min-width: 0; } .gx-dos .gx-r + .gx-r { height: 8px; }
.tb-c.num .gx-r, .tb-der .gx-r { margin-left: auto; }
.tb-f.dos .tb-n .gx-r { width: 62%; } .tb-f.dos .tb-lin .gx-r { width: 44%; margin-top: 8px; height: 8px; } .tb-f.dos .tb-der { flex: 0 0 64px; }
.gx-suelta .tb-f { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
/* The Sandbox: the tests and the open test */
.gx-sb-e { pointer-events: none; } .gx-sb-e .gx-r + .gx-r { height: 8px; }
.gx-sb { display: grid; gap: 14px; align-content: start; }
.gx-sb .sx-steps { gap: 18px; } .gx-sb .sx-steps .gx-r { flex: 1 1 0; height: 22px; border-radius: 999px; }
.gx-sb .sx-sec-c { display: flex; align-items: center; gap: 12px; }
.gx-bola { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; }
.gx-caja { height: 96px; border-radius: 10px; }
/* On arrival: each piece rises to its place, in order; from the 15th on, all at once (those further down do not make anyone wait) */
.gx-sube { animation: gxSube .34s var(--ease) both; animation-delay: calc(var(--gx-i, 0) * 28ms); }
@keyframes gxSube { from { opacity: 0; transform: translateY(6px); } }
/* The rows of every list come in in order, as until now, but from the 15th on they are already in place (a page of 50 or 100 does not make anyone wait) */
.tb-f { animation-delay: calc(min(var(--i, 0), 14) * 24ms); }
@media (prefers-reduced-motion: reduce) { .gx-esq::after, .gx-sube { animation: none !important; } .gx-esq { transition: none; } }
html[data-quieto] .gx-esq::after, html[data-quieto] .gx-sube { animation: none !important; }
/* My profile: in «Dispositivos recordados», each browser's name is data too */
.col-perfil > .pf-s:nth-of-type(4) > .gx-esq .pf-ft > b { color: transparent !important; background: var(--sup3) !important; border-radius: 6px; }

}
/* ============ The web installer (0.8.0, request 42): its styles ============
   Those of its approved mockup (design/mockups/installer.html: Simla Landing Builder's, its installer and its welcome, with this app's), only
   inside .ins-app, the fixed layer that /install opens. Taken with the classes its pieces use; the animations carry «ins-» in front so they
   do not clash with the panel's. Its tokens go in .ins-app[data-t="c"] and [data-t="o"]: the installer's theme, the one you choose in its account step.
   It is taken from the mockup with the extractor of design/mockups/installer (extract-css.cjs); it is not edited by hand. */
/* Nothing of the panel inside: the panel goes in @layer panel (scripts/build.mjs) and this, outside any layer, takes it back to the browser's;
   then, the mockup's. Not the SVGs: their colours go in attributes */
:where(.ins-app), :where(.ins-app) :not(svg, svg *), :where(.ins-app) :not(svg, svg *)::before, :where(.ins-app) :not(svg, svg *)::after { all: revert; }
.ins-app .i-key {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJhY3Rpb25zIC8ga2V5Ij4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE4LjU5IDNIMjBDMjAuNTUyMyAzIDIxIDMuNDQ3NzIgMjEgNFY2LjVDMjEgNi43NzYxNCAyMC43NzYxIDcgMjAuNSA3SDE4LjYzQzE4LjQ4NjQgNy4wMTA1NiAxOC4zNTQ4IDcuMDgzNjkgMTguMjcgNy4ySDE4LjIyQzE4LjA3OTMgNy4zNDA1MiAxOC4wMDAyIDcuNTMxMTUgMTggNy43M1Y5LjQ5QzE4IDkuNzY2MTQgMTcuNzc2MSA5Ljk5IDE3LjUgOS45OUgxNS43MkMxNS41MjEyIDkuOTkwMTcgMTUuMzMwNSAxMC4wNjkzIDE1LjE5IDEwLjIxTDE0LjkzIDEwLjQ3QzE0Ljc4OTMgMTAuNjEwNSAxNC43MTAyIDEwLjgwMTIgMTQuNzEgMTFWMTEuNzJDMTQuNzA4OSAxMS45ODIzIDE0LjYwNDcgMTIuMjMzNyAxNC40MiAxMi40MkwxMy41NCAxMy4zQzEzLjg0MTggMTMuOTk0MyAxMy45OTgzIDE0Ljc0MyAxNCAxNS41QzE0IDE4LjUzNzYgMTEuNTM3NiAyMSA4LjUgMjFDNS40NjI0MyAyMSAzIDE4LjUzNzYgMyAxNS41QzMgMTIuNDYyNCA1LjQ2MjQzIDEwIDguNSAxMEM5LjI2MTU3IDkuOTk5MDcgMTAuMDE0NyAxMC4xNTkyIDEwLjcxIDEwLjQ3TDE3Ljg5IDMuMjlDMTguMDc2MyAzLjEwNTI2IDE4LjMyNzcgMy4wMDExIDE4LjU5IDNaTTUuNDQgMTYuNTZDNS40NCAxNy42NjQ2IDYuMzM1NDMgMTguNTYgNy40NCAxOC41NkM3Ljk3MDQzIDE4LjU2IDguNDc5MTQgMTguMzQ5MyA4Ljg1NDIxIDE3Ljk3NDJDOS4yMjkyOSAxNy41OTkxIDkuNDQgMTcuMDkwNCA5LjQ0IDE2LjU2QzkuNDQgMTUuNDU1NCA4LjU0NDU3IDE0LjU2IDcuNDQgMTQuNTZDNi4zMzU0MyAxNC41NiA1LjQ0IDE1LjQ1NTQgNS40NCAxNi41NloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-segments {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHNlZ21lbnQtMSI+CjxwYXRoIGlkPSJVbmlvbiIgZD0iTTIxLjEwMjUgMy4wMDQ4OEMyMS42MDY3IDMuMDU2MjEgMjIgMy40ODIzMiAyMiA0VjhMMjEuOTk1MSA4LjEwMjU0QzIxLjk0NzIgOC41NzI5NyAyMS41NzMgOC45NDcyMiAyMS4xMDI1IDguOTk1MTJMMjEgOUgxNkwxNS44OTc1IDguOTk1MTJDMTUuNDI3IDguOTQ3MjIgMTUuMDUyOCA4LjU3Mjk3IDE1LjAwNDkgOC4xMDI1NEwxNSA4VjdIMTNWMTdIMTVWMTZDMTUgMTUuNDgyMyAxNS4zOTMzIDE1LjA1NjIgMTUuODk3NSAxNS4wMDQ5TDE2IDE1SDIxTDIxLjEwMjUgMTUuMDA0OUMyMS42MDY3IDE1LjA1NjIgMjIgMTUuNDgyMyAyMiAxNlYyMEwyMS45OTUxIDIwLjEwMjVDMjEuOTQ3MiAyMC41NzMgMjEuNTczIDIwLjk0NzIgMjEuMTAyNSAyMC45OTUxTDIxIDIxSDE2TDE1Ljg5NzUgMjAuOTk1MUMxNS40MjcgMjAuOTQ3MiAxNS4wNTI4IDIwLjU3MyAxNS4wMDQ5IDIwLjEwMjVMMTUgMjBWMTlIMTNDMTEuODk1NCAxOSAxMSAxOC4xMDQ2IDExIDE3VjEzSDlWMTRMOC45OTUxMiAxNC4xMDI1QzguOTQ3MjIgMTQuNTczIDguNTcyOTcgMTQuOTQ3MiA4LjEwMjU0IDE0Ljk5NTFMOCAxNUgzTDIuODk3NDYgMTQuOTk1MUMyLjQyNzAzIDE0Ljk0NzIgMi4wNTI3OCAxNC41NzMgMi4wMDQ4OCAxNC4xMDI1TDIgMTRWMTBDMiA5LjQ4MjMyIDIuMzkzMzMgOS4wNTYyMSAyLjg5NzQ2IDkuMDA0ODhMMyA5SDhMOC4xMDI1NCA5LjAwNDg4QzguNjA2NjcgOS4wNTYyMSA5IDkuNDgyMzIgOSAxMFYxMUgxMVY3QzExIDUuODk1NDMgMTEuODk1NCA1IDEzIDVIMTVWNEMxNSAzLjQ4MjMyIDE1LjM5MzMgMy4wNTYyMSAxNS44OTc1IDMuMDA0ODhMMTYgM0gyMUwyMS4xMDI1IDMuMDA0ODhaTTE3IDE5SDIwVjE3SDE3VjE5Wk00IDEzSDdWMTFINFYxM1pNMTcgN0gyMFY1SDE3VjdaIiBmaWxsPSIjMUUyMjQ4Ii8+CjwvZz4KPC9zdmc+Cg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-settings {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHNldHRpbmdzX291dGxpbmVkIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIwLjIxIDE0LjA3NDFDMTkuNzI0OSAxMy42NzA3IDE5LjQ1ODEgMTMuMDYxNyAxOS40OSAxMi40MzA5VjEyVjExLjU2OTFDMTkuNDU4MSAxMC45MzgzIDE5LjcyNDkgMTAuMzI5MyAyMC4yMSA5LjkyNTg3TDIxLjAxIDkuMjY0NTVDMjEuMzg2MiA4Ljk1MzM2IDIxLjQ4MzQgOC40MTU2MyAyMS4yNCA3Ljk5MjAyTDIwLjA4IDUuOTg4MDNDMTkuOTAyNCA1LjY3OTg3IDE5LjU3NTEgNS40ODkxOCAxOS4yMiA1LjQ4NzAzQzE5LjA5OTcgNS40ODUwMiAxOC45ODAzIDUuNTA4OTQgMTguODcgNS41NTcxN0wxNy44NyA1LjkxNzg5QzE3LjY0NyA2LjAwNTM1IDE3LjQwOTUgNi4wNDk1NSAxNy4xNyA2LjA0ODE1QzE2Ljc4NjggNi4wNDcxNSAxNi40MTE5IDUuOTM1ODYgMTYuMDkgNS43Mjc1MUMxNS44NTQ5IDUuNTY0NzggMTUuNjA3NSA1LjQyMDcyIDE1LjM1IDUuMjk2NjVDMTQuNzg3MyA1LjAwNzUgMTQuMzk0MiA0LjQ2ODczIDE0LjI5IDMuODQzNzZMMTQuMTIgMi44NDE3NkMxNC4wNDA4IDIuMzUxNzMgMTMuNjE1NCAxLjk5MzcgMTMuMTIgMi4wMDAwOEgxMC44MkMxMC4zMjQ2IDEuOTkzNyA5Ljg5OTIzIDIuMzUxNzMgOS44MiAyLjg0MTc2TDkuNjUgMy44NDM3NkM5LjU1NDQ5IDQuNDYwODQgOS4xNzczNSA0Ljk5ODA0IDguNjMgNS4yOTY2NUM4LjM3MjUgNS40MjA3MiA4LjEyNTA4IDUuNTY0NzggNy44OSA1LjcyNzUxQzcuNTY4MDkgNS45MzU4NiA3LjE5MzIyIDYuMDQ3MTUgNi44MSA2LjA0ODE1QzYuNTcwNTQgNi4wNDk1NSA2LjMzMjk5IDYuMDA1MzUgNi4xMSA1LjkxNzg5TDUuMTEgNS41NTcxN0M0Ljk5OTcgNS41MDg5NCA0Ljg4MDMzIDUuNDg1MDIgNC43NiA1LjQ4NzAzQzQuNDA0ODkgNS40ODkxOCA0LjA3NzU1IDUuNjc5ODcgMy45IDUuOTg4MDNMMi43NiA3Ljk5MjAyQzIuNTE4OTMgOC40MTc5NyAyLjYyMDQyIDguOTU2MTIgMyA5LjI2NDU1TDMuOCA5LjkyNTg3QzQuMjg1MDUgMTAuMzI5MyA0LjU1MTg3IDEwLjkzODMgNC41MiAxMS41NjkxVjEyVjEyLjQzMDlDNC41NTE4NyAxMy4wNjE3IDQuMjg1MDUgMTMuNjcwNyAzLjggMTQuMDc0MUwzIDE0LjczNTRDMi42MjA0MiAxNS4wNDM5IDIuNTE4OTMgMTUuNTgyIDIuNzYgMTYuMDA4TDMuOTIgMTguMDEyQzQuMDk3NTUgMTguMzIwMSA0LjQyNDg5IDE4LjUxMDggNC43OCAxOC41MTNDNC45MDAzMyAxOC41MTUgNS4wMTk3IDE4LjQ5MTEgNS4xMyAxOC40NDI4TDYuMTMgMTguMDgyMUM2LjM1Mjk5IDE3Ljk5NDcgNi41OTA1NCAxNy45NTA0IDYuODMgMTcuOTUxOUM3LjIxMzIyIDE3Ljk1MjggNy41ODgwOSAxOC4wNjQxIDcuOTEgMTguMjcyNUM4LjE0NTA4IDE4LjQzNTIgOC4zOTI1IDE4LjU3OTMgOC42NSAxOC43MDM0QzkuMjEyNyAxOC45OTI1IDkuNjA1NzggMTkuNTMxMyA5LjcxIDIwLjE1NjJMOS44OCAyMS4xNTgyQzkuOTU5MjMgMjEuNjQ4MyAxMC4zODQ2IDIyLjAwNjMgMTAuODggMjEuOTk5OUgxMy4xOEMxMy42NzU0IDIyLjAwNjMgMTQuMTAwOCAyMS42NDgzIDE0LjE4IDIxLjE1ODJMMTQuMzUgMjAuMTU2MkMxNC40NTQyIDE5LjUzMTMgMTQuODQ3MyAxOC45OTI1IDE1LjQxIDE4LjcwMzRDMTUuNjY3NSAxOC41NzkzIDE1LjkxNDkgMTguNDM1MiAxNi4xNSAxOC4yNzI1QzE2LjQ3MTkgMTguMDY0MSAxNi44NDY4IDE3Ljk1MjggMTcuMjMgMTcuOTUxOUMxNy40Njk1IDE3Ljk1MDQgMTcuNzA3IDE3Ljk5NDcgMTcuOTMgMTguMDgyMUwxOC45MyAxOC40NDI4QzE5LjA0MDMgMTguNDkxMSAxOS4xNTk3IDE4LjUxNSAxOS4yOCAxOC41MTNDMTkuNjM1MSAxOC41MTA4IDE5Ljk2MjQgMTguMzIwMSAyMC4xNCAxOC4wMTJMMjEuMyAxNi4wMDhDMjEuNTI4MSAxNS41Njc5IDIxLjQwMDUgMTUuMDI2OCAyMSAxNC43MzU0TDIwLjIxIDE0LjA3NDFaTTEyIDE3LjUxMUM4Ljk2MjQzIDE3LjUxMSA2LjUgMTUuMDQzNiA2LjUgMTJDNi41IDguOTU2MzcgOC45NjI0MyA2LjQ4OTAyIDEyIDYuNDg5MDJDMTUuMDM3NiA2LjQ4OTAyIDE3LjUgOC45NTYzNyAxNy41IDEyQzE3LjUgMTMuNDYxNiAxNi45MjA1IDE0Ljg2MzMgMTUuODg5MSAxNS44OTY4QzE0Ljg1NzYgMTYuOTMwNCAxMy40NTg3IDE3LjUxMSAxMiAxNy41MTFaTTEwIDEyQzEwIDEwLjg5MzIgMTAuODk1NCA5Ljk5NjAxIDEyIDkuOTk2MDFDMTMuMTA0NiA5Ljk5NjAxIDE0IDEwLjg5MzIgMTQgMTJDMTQgMTMuMTA2OCAxMy4xMDQ2IDE0LjAwNCAxMiAxNC4wMDRDMTAuODk1NCAxNC4wMDQgMTAgMTMuMTA2OCAxMCAxMloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-plus {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMTQgMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZD0iTTE0IDYuNVY3LjVDMTQgNy43NzYxNCAxMy43NzYxIDggMTMuNSA4SDhWMTMuNUM4IDEzLjc3NjEgNy43NzYxNCAxNCA3LjUgMTRINi41QzYuMjIzODYgMTQgNiAxMy43NzYxIDYgMTMuNVY4SDAuNUMwLjIyMzg1OCA4IDAgNy43NzYxNCAwIDcuNVY2LjVDMCA2LjIyMzg2IDAuMjIzODU4IDYgMC41IDZINlYwLjVDNiAwLjIyMzg1OCA2LjIyMzg2IDAgNi41IDBINy41QzcuNzc2MTQgMCA4IDAuMjIzODU4IDggMC41VjZIMTMuNUMxMy43NzYxIDYgMTQgNi4yMjM4NiAxNCA2LjVaIiBmaWxsPSIjMUUyMjQ4Ii8+Cjwvc3ZnPgo=");--w:14px;--h:14px;--x:4.9992px;--y:4.9992px}
.ins-app .i-close {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjEyLjAwMDgiIGhlaWdodD0iMTEuOTk5OSIgdmlld0JveD0iMCAwIDEyLjAwMDggMTEuOTk5OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBkPSJNMS4xMTM0NSAwLjE3NTczNkMxLjM0Nzc3IC0wLjA1ODU3ODggMS43Mjc2NiAtMC4wNTg1Nzg1IDEuOTYxOTggMC4xNzU3MzZMNi4wMDA0MyA0LjIxNDE5TDEwLjAzODggMC4xNzU4MzVDMTAuMjczMSAtMC4wNTg0NzkxIDEwLjY1MyAtMC4wNTg0NzkzIDEwLjg4NzMgMC4xNzU4MzVMMTEuODI0MSAxLjExMjU3QzEyLjA1ODQgMS4zNDY4OCAxMi4wNTg0IDEuNzI2NzggMTEuODI0MSAxLjk2MTFMNy43ODU3IDUuOTk5NDVMMTEuODI1IDEwLjAzODhDMTIuMDU5MyAxMC4yNzMxIDEyLjA1OTMgMTAuNjUzIDExLjgyNSAxMC44ODczTDEwLjg4ODMgMTEuODI0MUMxMC42NTQgMTIuMDU4NCAxMC4yNzQxIDEyLjA1ODQgMTAuMDM5OCAxMS44MjQxTDYuMDAwNDMgNy43ODQ3MkwxLjk2MSAxMS44MjQyQzEuNzI2NjggMTIuMDU4NSAxLjM0Njc5IDEyLjA1ODUgMS4xMTI0NyAxMS44MjQyTDAuMTc1NzM2IDEwLjg4NzRDLTAuMDU4NTc4NSAxMC42NTMxIC0wLjA1ODU3ODggMTAuMjczMiAwLjE3NTczNiAxMC4wMzg5TDQuMjE1MTcgNS45OTk0NUwwLjE3NjcxNiAxLjk2MUMtMC4wNTc1OTg4IDEuNzI2NjggLTAuMDU3NTk4NCAxLjM0Njc5IDAuMTc2NzE2IDEuMTEyNDdMMS4xMTM0NSAwLjE3NTczNloiIGZpbGw9IiMxRTIyNDgiLz4KPC9zdmc+Cg==");--w:12.0008px;--h:11.9999px;--x:6px;--y:6px}
.ins-app .i-copy {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJtZWRpYSAmIzM4OyBlZGl0aW5nIC8gY29weSI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOCAxNlY0QzE4IDIuODk1NDMgMTcuMTA0NiAyIDE2IDJINEMyLjg5NTQzIDIgMiAyLjg5NTQzIDIgNFYxNkMyIDE3LjEwNDYgMi44OTU0MyAxOCA0IDE4SDE2QzE3LjEwNDYgMTggMTggMTcuMTA0NiAxOCAxNlpNNCA0SDE2VjE2SDRWNFpNMjAgMThWNkMyMS4xMDQ2IDYgMjIgNi44OTU0MyAyMiA4VjE4QzIyIDIwLjIwOTEgMjAuMjA5MSAyMiAxOCAyMkg4QzYuODk1NDMgMjIgNiAyMS4xMDQ2IDYgMjBIMThDMTkuMTA0NiAyMCAyMCAxOS4xMDQ2IDIwIDE4WiIgZmlsbD0iIzFFMjI0OCIvPgo8L2c+Cjwvc3ZnPgo=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-download {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIGRvd25sb2FkX291dGxpbmVkIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEyIDIyQzE3LjUyMjggMjIgMjIgMTcuNTIyOCAyMiAxMkMyMiA2LjQ3NzE1IDE3LjUyMjggMiAxMiAyQzYuNDc3MTUgMiAyIDYuNDc3MTUgMiAxMkMyIDE0LjY1MjIgMy4wNTM1NyAxNy4xOTU3IDQuOTI4OTMgMTkuMDcxMUM2LjgwNDMgMjAuOTQ2NCA5LjM0Nzg0IDIyIDEyIDIyWk0xMiA0QzE2LjQxODMgNCAyMCA3LjU4MTcyIDIwIDEyQzIwIDE2LjQxODMgMTYuNDE4MyAyMCAxMiAyMEM3LjU4MTcyIDIwIDQgMTYuNDE4MyA0IDEyQzQgNy41ODE3MiA3LjU4MTcyIDQgMTIgNFpNMTEuODEgMThDMTEuNjExNiAxNy45OTc3IDExLjQyMTcgMTcuOTE4OSAxMS4yOCAxNy43OEw4LjE1IDE0LjY1QzguMDU1MzQgMTQuNTU2MSA4LjAwMjEgMTQuNDI4MyA4LjAwMjEgMTQuMjk1QzguMDAyMSAxNC4xNjE3IDguMDU1MzQgMTQuMDMzOSA4LjE1IDEzLjk0TDguODYgMTMuMjNDOC45NTIxNiAxMy4xMzU5IDkuMDc4MzEgMTMuMDgyOSA5LjIxIDEzLjA4MjlDOS4zNDE2OSAxMy4wODI5IDkuNDY3ODQgMTMuMTM1OSA5LjU2IDEzLjIzTDExIDE0LjY3VjYuNUMxMSA2LjIyMzg2IDExLjIyMzkgNiAxMS41IDZIMTIuNUMxMi43NzYxIDYgMTMgNi4yMjM4NiAxMyA2LjVWMTQuNjdMMTQuNDQgMTMuMjJDMTQuNTMzOSAxMy4xMjUzIDE0LjY2MTcgMTMuMDcyMSAxNC43OTUgMTMuMDcyMUMxNC45MjgzIDEzLjA3MjEgMTUuMDU2MSAxMy4xMjUzIDE1LjE1IDEzLjIyTDE1Ljg1IDEzLjkzQzE1Ljk0NDcgMTQuMDIzOSAxNS45OTc5IDE0LjE1MTcgMTUuOTk3OSAxNC4yODVDMTUuOTk3OSAxNC40MTgzIDE1Ljk0NDcgMTQuNTQ2MSAxNS44NSAxNC42NEwxMi43MiAxNy43OEMxMi41Nzk1IDE3LjkyMDcgMTIuMzg4OCAxNy45OTk4IDEyLjE5IDE4SDExLjgxWiIgZmlsbD0iIzFFMjI0OCIvPgo8L2c+Cjwvc3ZnPgo=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-shield {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ0ZWNobm9sb2d5ICYjMzg7IGRhdGEgLyBzZWN1cml0eV9vbl9vdXRsaW5lZCI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC4xMiA1LjEyTDE2LjU5IDEuNTlDMTYuMjE0MiAxLjIxMTk2IDE1LjcwMyAwLjk5OTU3OCAxNS4xNyAxSDguODNDOC4yOTY5NiAwLjk5OTU3OCA3Ljc4NTggMS4yMTE5NiA3LjQxIDEuNTlMMy44OCA1LjEyQzMuMzE3MjMgNS42ODIwNyAzLjAwMDcgNi40NDQ2MiAzIDcuMjRWMTMuMDlDMy4wMDE4NSAxNS41NTczIDQuMTQyMDcgMTcuODg1NyA2LjA5IDE5LjRMMTAuMTcgMjIuNThDMTAuNTIxOCAyMi44NTMgMTAuOTU0NyAyMy4wMDA4IDExLjQgMjNIMTIuNkMxMy4wNDUzIDIzLjAwMDggMTMuNDc4MiAyMi44NTMgMTMuODMgMjIuNThMMTcuOTEgMTkuNEMxOS44NTc5IDE3Ljg4NTcgMjAuOTk4MSAxNS41NTczIDIxIDEzLjA5VjcuMjRDMjAuOTk5MyA2LjQ0NDYyIDIwLjY4MjggNS42ODIwNyAyMC4xMiA1LjEyWk0xOSAxMy4xMkMxOS4wMDc5IDE0Ljk3MjUgMTguMTQ5NyAxNi43MjIzIDE2LjY4IDE3Ljg1TDEyLjYgMjFIMTEuNEw3LjMyIDE3LjgyQzUuODUwMyAxNi42OTIzIDQuOTkyMDYgMTQuOTQyNSA1IDEzLjA5VjcuMjRDNS4wMDExIDYuOTc3NjYgNS4xMDUyNiA2LjcyNjI2IDUuMjkgNi41NEw4LjgzIDNIMTUuMTdMMTguNzEgNi41NEMxOC44OTQ3IDYuNzI2MjYgMTguOTk4OSA2Ljk3NzY2IDE5IDcuMjRWMTMuMTJaTTE1LjEyIDhDMTUuMzE0NCA3LjgwOTQzIDE1LjYyNTYgNy44MDk0MyAxNS44MiA4TDE2LjMyIDguNTJDMTYuNDE0NyA4LjYxMzg4IDE2LjQ2NzkgOC43NDE2OCAxNi40Njc5IDguODc1QzE2LjQ2NzkgOS4wMDgzMiAxNi40MTQ3IDkuMTM2MTIgMTYuMzIgOS4yM0wxMC43IDE0Ljg1QzEwLjYwOTMgMTQuOTQ2NyAxMC40ODI2IDE1LjAwMTUgMTAuMzUgMTUuMDAxNUMxMC4yMTc0IDE1LjAwMTUgMTAuMDkwNyAxNC45NDY3IDEwIDE0Ljg1TDcuNjUgMTIuNDlDNy41NTUzNCAxMi4zOTYxIDcuNTAyMSAxMi4yNjgzIDcuNTAyMSAxMi4xMzVDNy41MDIxIDEyLjAwMTcgNy41NTUzNCAxMS44NzM5IDcuNjUgMTEuNzhMOC4xOCAxMS4yNUM4LjI3MDczIDExLjE1MzMgOC4zOTc0MSAxMS4wOTg1IDguNTMgMTEuMDk4NUM4LjY2MjU5IDExLjA5ODUgOC43ODkyNyAxMS4xNTMzIDguODggMTEuMjVMMTAuMzggMTIuNzRMMTUuMTIgOFoiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-info {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAwQzQuNDc3MTUgMCAwIDQuNDc3MTUgMCAxMEMwIDE1LjUyMjggNC40NzcxNSAyMCAxMCAyMEMxNS41MjI4IDIwIDIwIDE1LjUyMjggMjAgMTBDMjAgNy4zNDc4NCAxOC45NDY0IDQuODA0MyAxNy4wNzExIDIuOTI4OTNDMTUuMTk1NyAxLjA1MzU3IDEyLjY1MjIgMCAxMCAwWk0xMCAxOEM1LjU4MTcyIDE4IDIgMTQuNDE4MyAyIDEwQzIgNS41ODE3MiA1LjU4MTcyIDIgMTAgMkMxNC40MTgzIDIgMTggNS41ODE3MiAxOCAxMEMxOCAxMi4xMjE3IDE3LjE1NzEgMTQuMTU2NiAxNS42NTY5IDE1LjY1NjlDMTQuMTU2NiAxNy4xNTcxIDEyLjEyMTcgMTggMTAgMThaTTEwLjUgNS41OTc2OEMxMC43NzYxIDUuNTk3NjggMTEgNS44MjE1NCAxMSA2LjA5NzY4VjcuMDk3NjhDMTEgNy4zNzM4MiAxMC43NzYxIDcuNTk3NjggMTAuNSA3LjU5NzY4SDkuNUM5LjIyMzg2IDcuNTk3NjggOSA3LjM3MzgyIDkgNy4wOTc2OFY2LjA5NzY4QzkgNS44MjE1NCA5LjIyMzg2IDUuNTk3NjggOS41IDUuNTk3NjhIMTAuNVpNMTAuNSA4LjU5NzY4QzEwLjc3NjEgOC41OTc2OCAxMSA4LjY0NTc1IDExIDkuMDQ1ODZWMTMuMTYyOEMxMS4yNjU3IDEzLjIzNjcgMTEuNTMwNiAxMy4zMDExIDExLjc2MDYgMTMuMzUxN0MxMS45MDAyIDEzLjM4MjUgMTIuMDAxIDEzLjUwNTMgMTIuMDAxIDEzLjY0ODNWMTQuMTAyM0MxMi4wMDEgMTQuMjY4IDExLjg2NjcgMTQuNDAyMyAxMS43MDEgMTQuNDAyM0g4LjNDOC4xMzQzMSAxNC40MDIzIDggMTQuMjY4IDggMTQuMTAyM1YxMy42NDgzQzggMTMuNTA1MyA4LjEwMDc2IDEzLjM4MjUgOC4yNDA0MiAxMy4zNTE3QzguNDcwMTIgMTMuMzAxMiA4LjczNDY2IDEzLjIzNjkgOSAxMy4xNjNWOS44MzY5NUM4LjczNDY2IDkuNzYzMSA4LjQ3MDEyIDkuNjk4ODQgOC4yNDA0MiA5LjY0ODI4QzguMTAwNzYgOS42MTc1MyA4IDkuNDk0NzQgOCA5LjM1MTc0VjguODk3NjhDOCA4LjczMTk5IDguMTM0MzEgOC41OTc2OCA4LjMgOC41OTc2OEwxMC41IDguNTk3NjhaIiBmaWxsPSIjMUUyMjQ4Ii8+Cjwvc3ZnPgo=");--w:20px;--h:20px;--x:1.9992px;--y:1.9992px}
.ins-app .i-refresh {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE3Ljk5NTUiIGhlaWdodD0iMTguMDAwOCIgdmlld0JveD0iMCAwIDE3Ljk5NTUgMTguMDAwOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IiYjMjQwOyYjMTU5OyYjMTQyOyYjMTY4OyBJY29uIGNvbG9yIiBkPSJNMTcuNDk1NSA2Ljk5NjgySDEyLjQ5NTVDMTIuMjE5NCA2Ljk5NjgyIDExLjk5NTUgNi43NzI5NiAxMS45OTU1IDYuNDk2ODJWNi4yMDY4MkMxMS45OTM1IDYuMDcxMjQgMTIuMDQ3OSA1Ljk0MDkgMTIuMTQ1NSA1Ljg0NjgyTDEzLjkyNTUgNC4wNjY4MkMxMi42MjUzIDIuNzQ1MTEgMTAuODQ5NiAxLjk5OTU0IDguOTk1NTEgMS45OTY4MkM1LjE5MjY3IDIuMDA1NCAyLjA5MjI5IDUuMDQ4NTMgMi4wMTI4NCA4Ljg1MDU2QzEuOTMzMzkgMTIuNjUyNiA0LjkwMzkzIDE1LjgyMjYgOC43MDMxIDE1Ljk5QzEyLjUwMjMgMTYuMTU3NSAxNS43NDAyIDEzLjI2MTEgMTUuOTk1NSA5LjQ2NjgyQzE2LjAxMTQgOS4yMDI0NiAxNi4yMzA3IDguOTk2MzQgMTYuNDk1NSA4Ljk5NjgySDE3LjQ5NTVDMTcuNjMxOSA5LjAwMDg3IDE3Ljc2MTEgOS4wNTgzNCAxNy44NTU1IDkuMTU2ODJDMTcuOTQ3NCA5LjI1NzMxIDE3Ljk5NDQgOS4zOTA5MyAxNy45ODU1IDkuNTI2ODJDMTcuNzM3MiAxMy43NjM4IDE0LjU2MjQgMTcuMjUxNSAxMC4zNjczIDE3Ljg5NThDNi4xNzIyNiAxOC41NDAyIDIuMDk3MTYgMTYuMTY2MiAwLjU4ODYxNSAxMi4xOTlDLTAuOTE5OTM0IDguMjMxOTEgMC41NDgxMjkgMy43NTAwMyA0LjExMTQyIDEuNDQ0MkM3LjY3NDcyIC0wLjg2MTYzMiAxMi4zNjQ2IC0wLjM2NDYyOSAxNS4zNjU1IDIuNjM2ODJMMTYuODU1NSAxLjE0NjgyQzE2Ljk0NzIgMS4wNTE2OCAxNy4wNzM0IDAuOTk3NTkxIDE3LjIwNTUgMC45OTY4MjFIMTcuNDk1NUMxNy43NzE3IDAuOTk2ODIxIDE3Ljk5NTUgMS4yMjA2OCAxNy45OTU1IDEuNDk2ODJWNi40OTY4MkMxNy45OTU1IDYuNzcyOTYgMTcuNzcxNyA2Ljk5NjgyIDE3LjQ5NTUgNi45OTY4MloiIGZpbGw9IiMxRTIyNDgiLz4KPC9zdmc+Cg==");--w:17.9955px;--h:18.0008px;--x:3.0048px;--y:3.0024px}
.ins-app .i-clock {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJhY3Rpb25zIC8gd2F0Y2hfbGF0ZXIiPgo8cGF0aCBpZD0iJiMyNDA7JiMxNTk7JiMxNDI7JiMxNjg7IEljb24gY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAxMkMyIDYuNDc3MTUgNi40NzcxNSAyIDEyIDJDMTQuNjUyMiAyIDE3LjE5NTcgMy4wNTM1NyAxOS4wNzExIDQuOTI4OTNDMjAuOTQ2NCA2LjgwNDMgMjIgOS4zNDc4NCAyMiAxMkMyMiAxNy41MjI4IDE3LjUyMjggMjIgMTIgMjJDNi40NzcxNSAyMiAyIDE3LjUyMjggMiAxMlpNMTUuOTggMTYuNTNMMTYuNTEgMTZDMTYuNjA4MyAxNS45MDQgMTYuNjYzOCAxNS43NzI0IDE2LjY2MzggMTUuNjM1QzE2LjY2MzggMTUuNDk3NiAxNi42MDgzIDE1LjM2NiAxNi41MSAxNS4yN0wxMi44OCAxMS42NFY2LjVDMTIuODggNi4yMjM4NiAxMi42NTYxIDYgMTIuMzggNkgxMS42MkMxMS4zNDM5IDYgMTEuMTIgNi4yMjM4NiAxMS4xMiA2LjVWMTIuMTdDMTEuMTE4IDEyLjMwNTYgMTEuMTcyMyAxMi40MzU5IDExLjI3IDEyLjUzTDE1LjI3IDE2LjUzQzE1LjQ2NzggMTYuNzIxOCAxNS43ODIyIDE2LjcyMTggMTUuOTggMTYuNTNaIiBmaWxsPSIjMUUyMjQ4Ii8+CjwvZz4KPC9zdmc+Cg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-server {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ0ZWNobm9sb2d5ICYjMzg7IGRhdGEgLyBjbG91ZF9vdXRsaW5lZCI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02IDEwQzYgNi42ODYgOC42ODcgNCAxMiA0QzE0Ljk3OSA0IDE3LjQ0NSA2LjE3NCAxNy45MTMgOS4wMjFDMjAuNzU3IDkuMjMzIDIzIDExLjYwMiAyMyAxNC41QzIzIDE3LjUzOCAyMC41MzcgMjAgMTcuNSAyMEg2QzMuMjM4IDIwIDEgMTcuNzYxIDEgMTVDMSAxMi4yMzkgMy4yMzggMTAgNiAxMFpNMTUuOTM5IDkuMzQ2QzE1LjYyMSA3LjQwNyAxMy45NjQgNiAxMiA2QzkuNzk0IDYgOCA3Ljc5NCA4IDEwVjExLjVDOCAxMS43NzYgNy43NzYgMTIgNy41IDEySDZDNC4xNSAxMiAyLjY4NiAxMy42ODMgMy4wNTkgMTUuNTk4QzMuMzM1IDE3LjAyMiA0LjY2OCAxOCA2LjExOSAxOEgxNy41QzE5LjYzOCAxOCAyMS4zMzQgMTYuMDc0IDIwLjk0NCAxMy44NjZDMjAuNjY0IDEyLjI3OSAxOS4yNjIgMTEuMTI3IDE3LjY1NCAxMS4wMDdMMTYuNTg4IDEwLjkyOEMxNi4zNTcgMTAuOTExIDE2LjE2OSAxMC43MzggMTYuMTMyIDEwLjUxTDE1LjkzOSA5LjM0NloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-chevron-down {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjExLjk5NTgiIGhlaWdodD0iNi45Mjc5IiB2aWV3Qm94PSIwIDAgMTEuOTk1OCA2LjkyNzkiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGlkPSImIzI0MDsmIzE1OTsmIzE0MjsmIzE2ODsgSWNvbiBjb2xvciIgZD0iTTYuNzE3OSA2LjcwNzlDNi41NzczOCA2Ljg0ODU5IDYuMzg2NzQgNi45Mjc3MiA2LjE4NzkgNi45Mjc5SDUuODA3OUM1LjYwOTQ4IDYuOTI1NiA1LjQxOTYyIDYuODQ2NzggNS4yNzc5IDYuNzA3OUwwLjE0Nzg5OSAxLjU2NzlDMC4wNTMyNDI4IDEuNDc0MDIgMCAxLjM0NjIyIDAgMS4yMTI5QzAgMS4wNzk1OCAwLjA1MzI0MjggMC45NTE3ODIgMC4xNDc4OTkgMC44NTc4OTlMMC44NTc4OTkgMC4xNDc4OTlDMC45NTAwNjMgMC4wNTM4MzUxIDEuMDc2MjEgMC4wMDA4Mjc3MjYgMS4yMDc5IDAuMDAwODI3NzI2QzEuMzM5NTkgMC4wMDA4Mjc3MjYgMS40NjU3NCAwLjA1MzgzNTEgMS41NTc5IDAuMTQ3ODk5TDUuOTk3OSA0LjU5NzlMMTAuNDM3OSAwLjE0Nzg5OUMxMC41MzE4IDAuMDUzMjQyOCAxMC42NTk2IDAgMTAuNzkyOSAwQzEwLjkyNjIgMCAxMS4wNTQgMC4wNTMyNDI4IDExLjE0NzkgMC4xNDc4OTlMMTEuODQ3OSAwLjg1Nzg5OUMxMS45NDI2IDAuOTUxNzgyIDExLjk5NTggMS4wNzk1OCAxMS45OTU4IDEuMjEyOUMxMS45OTU4IDEuMzQ2MjIgMTEuOTQyNiAxLjQ3NDAyIDExLjg0NzkgMS41Njc5TDYuNzE3OSA2LjcwNzlaIiBmaWxsPSIjMUUyMjQ4Ii8+Cjwvc3ZnPgo=");--w:11.9958px;--h:6.9279px;--x:6.0024px;--y:9.072px}
.ins-app .i-eye {--m:url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGlkPSJ1aSAvIHZpc2libGVfb3V0bGluZWQiPgo8cGF0aCBpZD0iJiMyNDA7JiMxNTk7JiMxNDI7JiMxNjg7IEljb24gY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjEuOTg3OCAxMS43QzIwLjM1ODIgNy42MTY0NiAxNi4zODgxIDQuOTU0ODQgMTEuOTkzOSA1QzcuNjI4OTkgNC45NzQ3NSAzLjY5MTEzIDcuNjE4NzcgMi4wNTk5NiAxMS42N0MyLjAyMTU1IDExLjc3NTggMi4wMDEyOCAxMS44ODc0IDIgMTJDMS45OTk0NyAxMi4xMDYzIDIuMDE5ODUgMTIuMjExNiAyLjA1OTk2IDEyLjMxQzMuNjg0NzggMTYuMzY5MSA3LjYyNDA1IDE5LjAyMiAxMS45OTM5IDE5QzE2LjM1ODggMTkuMDI1MiAyMC4yOTY3IDE2LjM4MTIgMjEuOTI3OSAxMi4zM0MyMS45NzA2IDEyLjIyNTQgMjEuOTkxMSAxMi4xMTMgMjEuOTg3OCAxMkMyMi4wMDQgMTEuOTAwNyAyMi4wMDQgMTEuNzk5MyAyMS45ODc4IDExLjdaTTExLjk5MzkgMTdDOC42MTIzOSAxNi45OTI0IDUuNTMzMjkgMTUuMDQ5OCA0LjA2ODc0IDEyQzUuNTI4MjMgOC45NDU5OCA4LjYxMDc1IDcuMDAxOTkgMTEuOTkzOSA3LjAwMTk5QzE1LjM3NzEgNy4wMDE5OSAxOC40NTk2IDguOTQ1OTggMTkuOTE5MSAxMkMxOC40NTQ1IDE1LjA0OTggMTUuMzc1NCAxNi45OTI0IDExLjk5MzkgMTdaTTguOTk1NzQgMTJDOC45OTU3NCAxMC4zNDMxIDEwLjMzODEgOSAxMS45OTM5IDlDMTMuNjQ5OCA5IDE0Ljk5MjEgMTAuMzQzMSAxNC45OTIxIDEyQzE0Ljk5MjEgMTMuNjU2OSAxMy42NDk4IDE1IDExLjk5MzkgMTVDMTAuMzM4MSAxNSA4Ljk5NTc0IDEzLjY1NjkgOC45OTU3NCAxMloiIGZpbGw9IiMxRTIyNDgiLz4KPC9nPgo8L3N2Zz4K");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-bandeja {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMyAxM2g1bDIgM2g0bDItM2g1Jy8+PHBhdGggZD0nTTUuNSA1aDEzTDIxIDEzdjZIM3YtNnonLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-check {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNSAxMi41bDQuNSA0LjVMMTkgNycvPjwvc3ZnPg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-enchufe {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNOSAzdjVNMTUgM3Y1TTYgOGgxMnYzYTYgNiAwIDAgMS0xMiAwek0xMiAxN3Y0Jy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-candado {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cmVjdCB4PSc1JyB5PScxMScgd2lkdGg9JzE0JyBoZWlnaHQ9JzEwJyByeD0nMicvPjxwYXRoIGQ9J004IDExVjhhNCA0IDAgMCAxIDggMHYzJy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-alerta {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PScxMicgY3k9JzEyJyByPSc5Jy8+PHBhdGggZD0nTTEyIDcuNXY1LjVNMTIgMTYuNWguMDEnLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-lista {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNOSA2aDExTTkgMTJoMTFNOSAxOGgxMScvPjxjaXJjbGUgY3g9JzQuNScgY3k9JzYnIHI9JzEnLz48Y2lyY2xlIGN4PSc0LjUnIGN5PScxMicgcj0nMScvPjxjaXJjbGUgY3g9JzQuNScgY3k9JzE4JyByPScxJy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-enlace {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTAgMTRhNCA0IDAgMCAwIDUuNyAwbDMtM2E0IDQgMCAwIDAtNS43LTUuN2wtMSAxJy8+PHBhdGggZD0nTTE0IDEwYTQgNCAwIDAgMC01LjcgMGwtMyAzYTQgNCAwIDAgMCA1LjcgNS43bDEtMScvPjwvc3ZnPg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-flecha {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNSAxMmgxNE0xMyA2bDYgNi02IDYnLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-enviar {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMmwxNi04LTYgMTYtMy03eicvPjxwYXRoIGQ9J00xMSAxM2w5LTknLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-menos {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNSAxMmgxNCcvPjwvc3ZnPg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-archivo {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cmVjdCB4PSczJyB5PSc0JyB3aWR0aD0nMTgnIGhlaWdodD0nNScgcng9JzEuNScvPjxwYXRoIGQ9J001IDl2OWEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTJWOScvPjxwYXRoIGQ9J00xMCAxM2g0Jy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-entrar {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTMgNGg1YTIgMiAwIDAgMSAyIDJ2MTJhMiAyIDAgMCAxLTIgMmgtNScvPjxwYXRoIGQ9J00zLjUgMTJIMTVNMTEgOGw0IDQtNCA0Jy8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-correo {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMyA1aDE4YTEgMSAwIDAgMSAxIDF2MTJhMSAxIDAgMCAxLTEgMUgzYTEgMSAwIDAgMS0xLTFWNmExIDEgMCAwIDEgMS0xWm0xIDMuM1YxN2gxNlY4LjNsLTggNS4yLTgtNS4yWk0xOC43IDdINS4zTDEyIDExLjQgMTguNyA3WicvPjwvc3ZnPg==");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-tema-auto {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNOCAxLjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1ptMCAxLjZ2OS44YTQuOSA0LjkgMCAwIDEgMC05LjhaIi8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-tema-light {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSI4IiBjeT0iOCIgcj0iMy4xIi8+PHBhdGggZD0iTTggLjh2Mm0wIDEwLjR2Mk0uOCA4aDJtMTAuNCAwaDJNMi45IDIuOWwxLjQgMS40bTcuNCA3LjQgMS40IDEuNE0xMy4xIDIuOWwtMS40IDEuNE00LjMgMTEuN2wtMS40IDEuNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGZpbGw9Im5vbmUiLz48L3N2Zz4=");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app .i-tema-dark {--m:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiBmaWxsPSJjdXJyZW50Q29sb3IiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTMuNCA5LjhBNS45IDUuOSAwIDAgMSA2LjIgMi42IDYuNCA2LjQgMCAxIDAgMTMuNCA5LjhaIi8+PC9zdmc+");--w:24px;--h:24px;--x:0px;--y:0px}
.ins-app *, .ins-app *::before, .ins-app *::after { box-sizing: border-box; }
.ins-app button, .ins-app input, .ins-app textarea, .ins-app select { font: inherit; color: inherit; letter-spacing: inherit; }
.ins-app button { cursor: pointer; background: none; border: 0; padding: 0; }
.ins-app a { color: var(--azul); text-decoration: none; }
.ins-app a:hover { text-decoration: underline; }
.ins-app h1, .ins-app h2, .ins-app h3, .ins-app h4, .ins-app p { margin: 0; }
.ins-app :focus-visible { outline: 2px solid var(--azul); outline-offset: 2px; border-radius: 6px; }
.ins-app [hidden] { display: none !important; }
.ins-app ::-webkit-scrollbar { width: 10px; height: 10px; }
.ins-app ::-webkit-scrollbar-track, .ins-app ::-webkit-scrollbar-corner { background: transparent; }
.ins-app ::-webkit-scrollbar-thumb { background: transparent; border: 3px solid transparent; border-radius: 999px; background-clip: padding-box; }
.ins-app :hover::-webkit-scrollbar-thumb { background-color: var(--linea2); }
.ins-app ::-webkit-scrollbar-thumb:hover { background-color: var(--tenue); }
@supports not selector(::-webkit-scrollbar) {
.ins-app * { scrollbar-width: thin; scrollbar-color: var(--linea2) transparent; }
}
@media (prefers-reduced-motion: reduce) {
.ins-app *, .ins-app *::before, .ins-app *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.ins-app .i { --s: 1; display: inline-block; flex: 0 0 auto; width: calc(24px * var(--s)); height: calc(24px * var(--s)); background: currentColor;
  -webkit-mask: var(--m) no-repeat; mask: var(--m) no-repeat;
  -webkit-mask-size: calc(var(--w) * var(--s)) calc(var(--h) * var(--s)); mask-size: calc(var(--w) * var(--s)) calc(var(--h) * var(--s));
  -webkit-mask-position: calc(var(--x) * var(--s)) calc(var(--y) * var(--s)); mask-position: calc(var(--x) * var(--s)) calc(var(--y) * var(--s)); }
.ins-app .gira { width: 14px; height: 14px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: ins-gira .8s linear infinite; display: inline-block; flex: 0 0 auto; }
.ins-app .b { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 36px; padding: 0 14px; border-radius: 6px; border: 1px solid var(--btn2-l); background-color: var(--btn2-b); background-image: linear-gradient(180deg, var(--btn2-a), var(--btn2-b)); box-shadow: var(--btn-sombra); color: var(--tinta); font-weight: 600; font-size: 14px; letter-spacing: -.15px; white-space: nowrap; transition: background-color .15s, border-color .15s, box-shadow .15s, color .15s, opacity .2s; }
.ins-app .b:where(:not(:disabled, [aria-disabled="true"])):hover, .ins-app .b[data-sobre] { background-color: var(--btn2-h); background-image: linear-gradient(180deg, var(--btn2-ha), var(--btn2-hb)); box-shadow: var(--btn-sombra-h); text-decoration: none; }
.ins-app .b:where(:not(:disabled, [aria-disabled="true"])):active { background-color: var(--btn2-p); background-image: linear-gradient(180deg, var(--btn2-pa), var(--btn2-pb)); box-shadow: var(--btn-sombra-p); }
.ins-app .b .i { --s: .7; }
.ins-app .b-pri { border-color: transparent; background-color: var(--btn-b); background-image: linear-gradient(180deg, var(--btn-a), var(--btn-b)); color: var(--btn-t); }
.ins-app .b-pri:where(:not(:disabled, [aria-disabled="true"])):hover { background-color: var(--btn-h); background-image: linear-gradient(180deg, var(--btn-ha), var(--btn-hb)); }
.ins-app .b-pri:where(:not(:disabled, [aria-disabled="true"])):active { background-color: var(--btn-p); background-image: linear-gradient(180deg, var(--btn-pa), var(--btn-pb)); }
.ins-app .b-fan { border-color: transparent; background: transparent; box-shadow: none; }
.ins-app .b-fan:where(:not(:disabled, [aria-disabled="true"])):hover { background: var(--hover); box-shadow: none; }
.ins-app .b-chico { height: 30px; padding: 0 10px; font-size: 13px; }
.ins-app .b-chico .i { --s: .62; }
.ins-app .b-alto { height: 44px; font-size: 15px; width: 100%; }
.ins-app .b-ic { width: 36px; padding: 0; }
.ins-app .b-chico.b-ic { width: 30px; }
.ins-app .b:disabled, .ins-app .b[aria-disabled="true"] { opacity: 1; cursor: default; transform: none; }
.ins-app .b:disabled:not(:has(.gira)), .ins-app .b[aria-disabled="true"] { cursor: not-allowed; }
.ins-app .enlace-b { color: var(--azul); font-weight: 600; font-size: 14px; }
.ins-app .enlace-b:hover { text-decoration: underline; }
.ins-app .campo { display: grid; gap: 6px; min-width: 0; }
.ins-app .campo-rot { display: inline-flex; justify-self: start; align-items: center; column-gap: .28em; font-size: 13.5px; line-height: 18px; font-weight: 600; color: var(--tinta); }
.ins-app .in { display: block; width: 100%; height: 40px; padding: 0 12px; border-radius: 9px; border: 1px solid var(--linea2); background: var(--sup); color: var(--tinta); font-size: 15px; outline: 0; transition: border-color .2s, box-shadow .2s; min-width: 0; }
.ins-app .in::placeholder { color: var(--tenue); }
.ins-app .in:focus { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 18%, transparent); }
.ins-app textarea.in { height: auto; min-height: 88px; padding: 11px 12px; line-height: 22px; resize: vertical; }
.ins-app .in.mal, .ins-app .in[aria-invalid="true"] { border-color: var(--mal-p); }
.ins-app .campo:has(+ .ent-error) .in { border-color: var(--mal-p); }
.ins-app .ent-error + .b { margin-top: 8px; }
.ins-app .in[readonly] { background: var(--sup2); color: var(--suave); }
.ins-app .in-con { position: relative; display: block; }
.ins-app .in-con .in { padding-right: 44px; }
.ins-app .in-con .bi { position: absolute; right: 3px; top: 3px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; color: var(--suave); }
.ins-app .in-con .bi:hover { background: var(--hover); color: var(--tinta); }
.ins-app .in-con .bi .i { --s: .72; }
@container pant (max-width: 600px) {
.ins-app .in, .ins-app .vf-input { font-size: 16px; }
}
.ins-app .fila-campos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
@container pant (max-width: 560px) {
.ins-app .fila-campos { grid-template-columns: minmax(0, 1fr); }
}
.ins-app .seg { position: relative; isolation: isolate; display: inline-grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: center; padding: 3px; border-radius: 10px; background: var(--sup3); }
.ins-app .seg.ancho { display: grid; }
.ins-app .seg button { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 8px; color: var(--suave); font-size: 13.5px; font-weight: 600; white-space: nowrap; transition: color .2s; }
.ins-app .seg button[aria-pressed="true"] { color: var(--tinta); }
.ins-app .seg button .i { --s: .62; }
.ins-app .seg .ind { position: absolute; z-index: 0; will-change: transform; top: 3px; bottom: 3px; left: calc(3px + (100% - 6px) / var(--n) * var(--i)); width: calc((100% - 6px) / var(--n)); border-radius: 8px; background: var(--sup); box-shadow: var(--sh-ind); }
.ins-app .seg .ind.mueve { animation: ins-indDesliza .28s var(--ease); }
.ins-app .chapa { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 9px; border-radius: 999px; background: var(--sup3); color: var(--suave); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.ins-app .chapa .i { --s: .55; }
.ins-app .c-bien { background: var(--bien-f); color: var(--bien); }
.ins-app .c-mal { background: var(--mal-f); color: var(--mal); }
.ins-app .ay-d { margin: 0; font-size: 13.5px; line-height: 20px; color: var(--suave); }
.ins-app .ay-i { --ai-guia: #E0249A; --ai-tinta: #172033; --ai-suave: #5E6B80; --ai-borde: #E2E7EE; --ai-azul: #1A5CFF; --ai-azul-f: #E8EFFF; --ai-verde: #0E7A55; --ai-verde-f: #E2F5EC; --ai-ambar: #965601; --ai-ambar-f: #FFF6E8;
  display: grid; gap: 8px; padding: 12px 14px; border-radius: 12px; background: #F5F7FA; border: 1px solid var(--ai-borde); color: var(--ai-tinta); font-size: 12.5px; line-height: 17px; }
.ins-app .reglas { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 40; display: grid; gap: 10px; padding: 14px 16px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea2); box-shadow: 0 10px 30px rgb(15 23 42 / .14); text-align: left; pointer-events: none; animation: ins-baja .2s var(--ease) both; }
.ins-app .reglas[hidden] { display: none; }
.ins-app .reglas-t { font-size: 13.5px; line-height: 18px; font-weight: 700; }
.ins-app .reglas ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ins-app .reglas li { display: flex; align-items: center; gap: 9px; font-size: 13px; line-height: 18px; color: var(--suave); }
.ins-app .reglas li.sub { padding-left: 25px; }
.ins-app .reglas li > i { display: grid; place-items: center; width: 16px; height: 16px; flex: 0 0 16px; border-radius: 50%; border: 1.5px solid var(--linea2); transition: background-color .2s, border-color .2s; }
.ins-app .reglas li.ok { color: var(--bien); }
.ins-app .reglas li.ok > i { background: var(--bien-p); border-color: var(--bien-p); }
.ins-app .reglas li.ok > i::after { content: ''; width: 3.5px; height: 7px; border: solid #fff; border-width: 0 1.75px 1.75px 0; transform: translateY(-1px) rotate(45deg); }
.ins-app .reglas-n { margin-left: auto; font-size: 12px; font-variant-numeric: tabular-nums; color: inherit; font-weight: 700; }
.ins-app .ent { position: relative; height: calc(100 * var(--vh, 9px)); height: calc(100 * var(--vh, 9px)); overflow: hidden; background: var(--bg); }
.ins-app .ent-vista { position: relative; height: 100%; overflow-y: auto; display: grid; justify-items: center; align-content: center; padding: 40px 16px; }
.ins-app .ent-ventana { position: relative; width: 1000px; max-width: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; background: var(--sup); border: 1px solid var(--linea); border-radius: 16px; box-shadow: 0 30px 70px rgb(15 23 42 / .22); overflow: hidden; }
.ins-app .ent-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px 16px 28px; background: var(--sup2); border-bottom: 1px solid var(--linea); }
.ins-app .ent-marca { display: inline-flex; align-items: center; gap: 10px; font-size: 17px; line-height: 1.1; color: var(--tinta); white-space: nowrap; }
.ins-app .ent-marca img { width: 30px; height: 30px; display: block; flex: 0 0 auto; }
.ins-app .ent-marca b { font-weight: 700; }
.ins-app .ent-marca span { font-weight: 500; letter-spacing: -.2px; }
.ins-app .ent-prefs { display: inline-flex; align-items: center; gap: 8px; }
.ins-app .ent-seg.seg { padding: 2px; border-radius: 9px; border: 1px solid var(--linea); }
.ins-app .ent-seg.seg button { height: 26px; min-width: 30px; padding: 0 6px; font-size: 12px; font-weight: 700; }
.ins-app .ent-seg.seg button .i { --s: .62; }
.ins-app .ent-seg .ind { top: 2px; bottom: 2px; left: calc(2px + (100% - 4px) / var(--n) * var(--i)); width: calc((100% - 4px) / var(--n)); border-radius: 7px; }
.ins-app .ent-cuerpo { display: grid; grid-template-columns: 440px minmax(0, 1fr); min-height: 480px; }
.ins-app .ent-centro { align-self: center; display: grid; gap: 14px; min-width: 0; padding: 28px 32px 30px; }
.ins-app .ent-panel { position: relative; overflow: hidden; background: #0E1830; min-width: 0; }
.ins-app .ent-pie { display: flex; align-items: center; justify-content: center; gap: 10px 12px; flex-wrap: wrap; padding: 12px 20px; border-top: 1px solid var(--linea); font-size: 12px; color: var(--tenue); }
.ins-app .ent-prog { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; }
.ins-app .ent-prog span { font-size: 12.5px; font-weight: 600; color: var(--suave); white-space: nowrap; }
.ins-app .ent-prog div { display: grid; grid-auto-flow: column; gap: 4px; }
.ins-app .ent-prog i { height: 4px; border-radius: 4px; background: var(--sup3); }
.ins-app .ent-prog i.on { background: var(--azul); }
.ins-app .ent-tarjeta { display: grid; gap: 16px; }
.ins-app .ent-tarjeta h1 { font-size: 21px; line-height: 27px; letter-spacing: -.3px; }
.ins-app .ent-sub { color: var(--suave); font-size: 14.5px; line-height: 21px; margin-top: -8px; }
.ins-app .ent-tarjeta > .b-alto { margin-top: 8px; }
.ins-app .ent-tarjeta > .ent-error + .b-alto { margin-top: 14px; }
.ins-app .campo-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ins-app .campo-cab .enlace-b { font-size: 13px; }
.ins-app .ent-error { display: flex; align-items: flex-start; gap: 7px; margin-top: -8px; color: var(--mal); font-size: 13px; line-height: 18px; font-weight: 600; animation: ins-aparece .2s ease-out both; }
.ins-app .ent-error .i { --s: .62; flex: 0 0 auto; margin-top: calc(2.5px - .05em); }
.ins-app .vf-codigo > .ent-error { margin-top: -2px; }
.ins-app .ent-ok { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 10px; background: var(--bien-f); color: var(--bien); font-size: 14px; line-height: 20px; font-weight: 600; }
.ins-app .ent-ok.aviso { background: var(--aviso-f); color: var(--aviso); }
.ins-app .ent-ok .i { --s: .7; flex: 0 0 auto; margin-top: calc(2.25px - .05em); }
.ins-app .ent-enlaces { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.ins-app .ent-enlaces.centro { justify-content: center; }
@container pant (max-width: 760px) {
.ins-app .ent { height: auto; min-height: calc(100 * var(--vh, 9px)); min-height: calc(100 * var(--vh, 9px)); overflow: visible; background: var(--sup); }
.ins-app .ent-vista { height: auto; overflow: visible; display: block; align-content: start; padding: 0; }
.ins-app .ent-ventana { width: 100%; border: 0; border-radius: 0; box-shadow: none; display: flex; flex-direction: column; }
.ins-app .ent-cuerpo { display: contents; }
.ins-app .ent-panel { order: -1; flex: 0 0 150px; }
.ins-app .ent-cab { justify-content: center; padding: 18px 18px 0; background: none; border: 0; }
.ins-app .ent-marca { font-size: 16px; }
.ins-app .ent-marca img { width: 26px; height: 26px; }
.ins-app .ent-centro { align-self: stretch; padding: 16px 18px 8px; }
.ins-app .ent-pie { flex-direction: column; justify-content: center; gap: 10px; border: 0; padding: 16px 18px max(18px, env(safe-area-inset-bottom, 0px)); }
}
.ins-app .vf-codigo { --vf-alto: 60px; --vf-hueco: 10px; --vf-tam: 26px; --vf-ease: cubic-bezier(.2, .8, .2, 1); display: grid; gap: 10px; color: var(--tinta); }
.ins-app .vf-otp { position: relative; }
.ins-app .vf-input { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; outline: 0; box-shadow: none; background: transparent; color: transparent; caret-color: transparent; font-size: 16px; cursor: text; -webkit-text-fill-color: transparent; }
.ins-app .vf-input:focus, .ins-app .vf-input:focus-visible { outline: 0; box-shadow: none; }
.ins-app .vf-celdas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--vf-hueco); }
.ins-app .vf-celda { position: relative; display: grid; place-items: center; min-width: 0; height: var(--vf-alto); border: 1px solid var(--linea2); border-radius: 12px; background: var(--sup); color: var(--tinta); font: 700 var(--vf-tam)/1 var(--font); font-variant-numeric: tabular-nums; transition: border-color .18s var(--vf-ease), box-shadow .18s var(--vf-ease); }
.ins-app .vf-celda:not(.llena) .vf-cifra::before { content: ''; display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--linea2); transition: transform .2s var(--vf-ease), background-color .2s var(--vf-ease); }
.ins-app .vf-celda.llena { border-color: var(--tenue); }
.ins-app .vf-celda.llena .vf-cifra { animation: ins-aparece .2s var(--vf-ease) both; }
.ins-app .vf-foco .vf-celda.activa { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 22%, transparent); }
.ins-app .vf-foco .vf-celda.activa:not(.llena) .vf-cifra::before { transform: scale(1.5); background: var(--azul); }
.ins-app .vf-mal .vf-celda { border-color: var(--mal); animation: ins-vf-rojo .6s var(--vf-ease); }
.ins-app .vf-nota { margin: 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: var(--suave); font-size: 13px; line-height: 18px; text-align: center; }
.ins-app .vf-nota[data-aviso] { color: var(--tinta); font-weight: 600; }
.ins-app .vf-alta { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; }
.ins-app .vf-qr { display: block; width: 148px; height: 148px; padding: 6px; border-radius: 12px; background: #fff; border: 1px solid var(--linea); }
.ins-app .vf-qr svg { display: block; width: 100%; height: 100%; }
.ins-app .vf-lista { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; line-height: 19px; }
.ins-app .vf-lista li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; }
.ins-app .vf-lista li > span:first-child { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-size: 12px; font-weight: 700; }
.ins-app .vf-clave { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 9px; background: var(--sup2); border: 1px solid var(--linea); font: 13px/18px var(--mono); overflow-wrap: anywhere; animation: ins-aparece .3s var(--ease) both; }
.ins-app .vf-clave span { flex: 1; min-width: 0; }
.ins-app .vf-respaldos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.ins-app .vf-respaldos li { padding: 8px 10px; border-radius: 9px; background: var(--sup2); border: 1px solid var(--linea); font: 600 14px/18px var(--mono); text-align: center; animation: ins-sube .35s var(--ease) both; animation-delay: calc(var(--n, 0) * 40ms); }
.ins-app .vf-acciones { display: flex; gap: 8px; flex-wrap: wrap; }
@container pant (max-width: 520px) {
.ins-app .vf-codigo { --vf-alto: 50px; --vf-hueco: 6px; --vf-tam: 22px; }
.ins-app .vf-alta { grid-template-columns: minmax(0, 1fr); justify-items: center; }
.ins-app .vf-alta .vf-lista { justify-self: stretch; }
}
.ins-app .velo { position: fixed; inset: 0; z-index: 950; background: var(--velo); animation: ins-aparece .25s ease-out both; }
.ins-app .aviso-flotante { --af-x: 0px; position: fixed; z-index: 1000; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(var(--af-x)); display: flex; align-items: center; gap: 10px; max-width: min(440px, calc(calc(100 * var(--vw, 1vw)) - 24px)); padding: 11px 16px; border-radius: 12px; background: var(--tinta); color: var(--bg); font-size: 14px; font-weight: 600; box-shadow: var(--sh3); animation: ins-avisoSube .3s var(--ease) both; }
.ins-app .aviso-flotante .i { --s: .68; flex: 0 0 auto; }
.ins-app .aviso-flotante.mal { padding-right: 8px; }
.ins-app .aviso-flotante.mal { background: var(--relleno-rojo); color: #fff; }
@container pant (max-width: 760px) {
.ins-app .aviso-flotante { --af-x: -50%; left: 50%; right: auto; width: max-content; max-width: calc(calc(100 * var(--vw, 1vw)) - 32px); bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}
.ins-app .pasos-p { display: grid; gap: 8px; width: min(600px, 100%); justify-self: center; }
.ins-app .paso-p { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--linea); background: var(--sup); }
.ins-app .paso-p .ck { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--linea2); display: grid; place-items: center; flex: 0 0 auto; color: var(--suave); font-size: 12px; font-weight: 700; }
.ins-app .paso-p.hecho .ck { background: var(--bien-p); border-color: var(--bien-p); color: #fff; }
.ins-app .paso-p.hecho .ck .i { --s: .55; }
.ins-app .paso-p div { display: grid; min-width: 0; flex: 1 1 220px; }
.ins-app .paso-p b { font-size: 14px; line-height: 20px; }
.ins-app .paso-p small { font-size: 13px; color: var(--suave); }
.ins-app .paso-p.hecho b { color: var(--suave); }
@container pant (max-width: 560px) {
.ins-app .paso-p { flex-wrap: wrap; }
.ins-app .paso-p > .b, .ins-app .paso-p > .chapa { margin-left: 36px; }
}
.ins-app .desv { display: block; min-width: 0; overflow: hidden; white-space: nowrap; }
.ins-app .ai-sim { display: grid; grid-template-columns: 96px minmax(0, 1fr); border-radius: 8px; overflow: hidden; border: 1px solid var(--ai-borde); background: #F5F7FA; color: var(--ai-tinta); text-align: left; }
.ins-app .ai-sim-lado { display: grid; align-content: start; gap: 1px; padding: 8px 6px; background: #FFFFFF; border-right: 1px solid var(--ai-borde); }
.ins-app .ai-sim-t { padding: 0 6px 6px; font-size: 10.5px; font-weight: 700; color: var(--ai-suave); }
.ins-app .ai-sim-i { padding: 4px 6px; font-size: 10.5px; }
.ins-app .ai-sim-i.ab { font-weight: 700; }
.ins-app .ai-sim-s { position: relative; padding: 4px 6px 4px 12px; font-size: 10px; line-height: 13px; color: var(--ai-suave); border-radius: 5px; }
.ins-app .ai-sim-s.on { background: var(--ai-azul); color: #FFFFFF; font-weight: 600; }
.ins-app .ai-sim-c { display: grid; align-content: start; gap: 6px; padding: 8px 10px; min-width: 0; }
.ins-app .ai-sim-c small { font-size: 9.5px; color: var(--ai-suave); }
.ins-app .ai-sim-cab { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.ins-app .ai-sim-cab b { font-size: 12px; line-height: 15px; font-weight: 600; }
.ins-app .ai-sim-btn { position: relative; display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 5px; background: linear-gradient(180deg, #0068FF, #005BD5); color: #FFFFFF; font-size: 10.5px; font-weight: 700; white-space: nowrap; box-shadow: 0 0 0 3px rgb(0 104 255 / .2); }
.ins-app .ai-sim-btn > i:first-child { font-style: normal; font-size: 12px; line-height: 1; }
.ins-app .ai-sim-tabla { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 5px 8px; padding: 6px 8px; border-radius: 6px; background: #FFFFFF; border: 1px solid var(--ai-borde); font-size: 9.5px; color: var(--ai-suave); }
.ins-app .ai-sim-tabla code { font-family: var(--mono); font-size: 9.5px; color: var(--ai-azul); }
.ins-app .ai-sim-tabla span:nth-child(5) { color: var(--ai-tinta); }
.ins-app .ai-sim-tabla .ok { color: var(--ai-verde); font-weight: 700; }
.ins-app .ai-sim-n { position: absolute; top: -7px; right: -7px; width: 16px; height: 16px; border-radius: 50%; display: grid; place-items: center; background: #E8590C; color: #FFFFFF; font: 700 9.5px/1 var(--font); font-style: normal; box-shadow: 0 0 0 2px #FFFFFF; }
.ins-app .ai-sim-s .ai-sim-n { right: -4px; }
.ins-app .ay-pasos { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ins-app .ay-pasos li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 19px; color: var(--suave); }
.ins-app .ay-pasos li b { color: var(--tinta); }
.ins-app .ay-pasos li > i { width: 20px; height: 20px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); display: grid; place-items: center; font: 700 11px/1 var(--font); font-style: normal; flex: 0 0 auto; }
.ins-app .ay-pasos code { display: inline-block; margin: 2px 2px 0 0; font-family: var(--mono); font-size: 11.5px; padding: 1px 5px; border-radius: 5px; background: var(--sup3); color: var(--tinta); }
.ins-app .i.gira-90 { transform: rotate(90deg); }
.ins-app .i.der { transform: rotate(-90deg); }
.ins-app .nc { position: relative; display: flex; align-items: stretch; min-width: 0; height: 36px; border: 1px solid var(--linea2); border-radius: 9px; background: var(--sup); transition: border-color .2s, box-shadow .2s; }
.ins-app .nc:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px color-mix(in srgb, var(--azul) 18%, transparent); }
.ins-app .nc:has(input[aria-invalid="true"]) { border-color: var(--mal); }
.ins-app .nc-v { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 3px; padding: 0 6px; cursor: text; }
.ins-app .nc-v input { flex: 0 1 auto; width: 4.6ch; min-width: 1ch; padding: 0; border: 0; outline: 0; background: none; color: var(--tinta); font: 500 14px/1 var(--font); font-variant-numeric: tabular-nums; text-align: right; }
@supports (field-sizing: content) {
.ins-app .nc-v input { field-sizing: content; width: auto; max-width: 100%; }
}
.ins-app .nc-v input:disabled { color: var(--suave); }
.ins-app .nc-v small { flex: 0 0 auto; color: var(--suave); font-size: 12px; }
.ins-app .nc-b { display: grid; place-items: center; flex: 0 0 32px; padding: 0; border: 0; background: none; color: var(--suave); cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; transition: background-color .15s, color .15s; }
.ins-app .nc-b.izq { border-right: 1px solid var(--linea); border-radius: 8px 0 0 8px; }
.ins-app .nc-b.der { border-left: 1px solid var(--linea); border-radius: 0 8px 8px 0; }
.ins-app .nc-b .i { --s: .55; }
.ins-app .nc-b:hover:not(:disabled) { color: var(--tinta); background: var(--hover); }
.ins-app .nc-b:active:not(:disabled) { background: var(--sup3); }
.ins-app .nc-b:disabled { opacity: 1; cursor: default; }
@container pant (max-width: 760px) {
.ins-app .nc { height: 44px; }
.ins-app .nc-b { flex-basis: 44px; }
.ins-app .nc-b .i { --s: .62; }
.ins-app .nc-v input { font-size: 15px; }
}
.ins-app .sb-estado { --es-c: var(--azul-tinta); --es-f: var(--azul-s); --es-p: var(--azul); border-radius: 12px; border: 1px solid color-mix(in srgb, var(--es-p) 40%, var(--linea)); background: var(--sup); overflow: hidden; }
.ins-app .sb-estado.fallido { --es-c: var(--mal); --es-f: var(--mal-f); --es-p: var(--mal-p); }
.ins-app .sb-es-h { display: flex; align-items: center; gap: 10px; padding: 11px 16px; background: var(--es-f); color: var(--es-c); border-bottom: 1px solid color-mix(in srgb, var(--es-p) 30%, transparent); }
.ins-app .sb-es-h .i { --s: .7; flex: 0 0 auto; }
.ins-app .sb-es-h b { min-width: 0; font-size: 15px; line-height: 21px; }
.ins-app .sb-es-c { display: grid; gap: 10px; padding: 12px 16px 14px; min-width: 0; }
.ins-app .sb-es-c > p { margin: 0; font-size: 14px; line-height: 20px; }
.ins-app .sb-es-acc { display: flex; flex-wrap: wrap; gap: 8px; }
.ins-app .seg button:disabled { opacity: 1; cursor: not-allowed; }
.ins-app .mcp-pasos { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ins-app .mcp-pasos li { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 20px; }
.ins-app .mcp-pasos b { display: grid; place-items: center; flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--azul); color: #FFFFFF; font-size: 12.5px; }
.ins-app .ia-urlf { display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 4px 0 12px; border-radius: 9px; border: 1px solid var(--linea2); background: var(--sup2); }
.ins-app .ia-urlf code { flex: 1 1 auto; min-width: 0; font: 13.5px/1 var(--mono); }
.ins-app .ia-urlf .b { flex: 0 0 auto; }
.ins-app [data-ins-enl] { margin-top: -4px; }
.ins-app [data-ins-enl]:empty, .ins-app [data-ins-fallo]:empty, .ins-app [data-ins-nota]:empty { display: none; }
.ins-app [data-ins-ledger] { position: absolute; right: 20px; bottom: 20px; z-index: 1; }
.ins-app [data-tono="claro"] { background-color: var(--img-claro) !important; }
.ins-app [data-tono="oscuro"] { background-color: var(--img-oscuro) !important; }
.ins-app .i-casa { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 11L12 4l8.5 7'/%3E%3Cpath d='M5.5 9.5V20h13V9.5'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.ins-app[data-t="c"] {
  --font: Gilroy, -apple-system, 'Segoe UI', system-ui, sans-serif;
  --mono: ui-monospace, 'Cascadia Mono', Consolas, 'SF Mono', monospace;
  --img-claro: #F1F3F5; --img-oscuro: #1B2230;
  --bg: #F4F6F8; --sup: #FFFFFF; --sup2: #F9FAFB; --sup3: #EEF1F3; --hover: #F3F5F7;
  --linea: #E2E6EB; --linea2: #CDD3DB;
  --tinta: #1E2248; --suave: #5E6A7B; --tenue: #8792A2;
  --azul: #005EEB; --azul-h: #0052CC; --azul-s: #EDF4FF; --azul-tinta: #0047B3; --pri-tinta: #FFFFFF;
  --btn-a: #0068FF; --btn-b: #005BD5; --btn-h: #0052CC; --btn-p: #0043A7; --btn-t: #FFFFFF; --btn2-a: #FFFFFF; --btn2-b: #F4F6F8; --btn2-h: #EEF1F3; --btn2-p: #DEE2E6; --btn2-l: #DEE2E6; --btn-r-a: #C13C3C; --btn-r-b: #B73232; --btn-r-p: #972929; --btn-sombra: 0 1px 2px rgb(30 34 72 / .12); --btn-sombra-h: 0 2px 4px rgb(30 34 72 / .12); --btn-ha: #0062F5; --btn-hb: #0052CC; --btn-pa: #0050C8; --btn-pb: #0043A7; --btn2-ha: #FAFBFC; --btn2-hb: #ECEFF2; --btn2-pa: #EEF1F3; --btn2-pb: #E2E6EA; --btn-r-ha: #C94444; --btn-r-hb: #AE2E2E; --btn-sombra-p: inset 0 1px 2px rgb(30 34 72 / .16);
  --bien-f: #E9FBF6; --bien: #11654A; --bien-p: #19A97B;
  --mal-f: #FFEDED; --mal: #B42335; --mal-p: #E5484D; --relleno-rojo: #B42335;
  --aviso-f: #FFF6E8; --aviso: #965601; --aviso-p: #E99A2C;
  --violeta: #6A4BF0; --violeta-s: #F1EEFF;
  --marino: #1E3A8A;
  --riel: #1E2248; --riel-t: #C9CDE6;
  --sh1: 0 1px 2px rgba(30, 34, 72, .06), 0 1px 3px rgba(30, 34, 72, .06);
  --sh-ind: 0 0 0 1px rgba(30, 34, 72, .07), 0 0 3px rgba(30, 34, 72, .08);
  --sh2: 0 6px 16px -4px rgba(30, 34, 72, .12), 0 2px 4px -2px rgba(30, 34, 72, .06);
  --sh3: 0 24px 48px -12px rgba(30, 34, 72, .24), 0 4px 8px -4px rgba(30, 34, 72, .08);
  --velo: rgba(22, 26, 52, .32); --brillo: rgba(255, 255, 255, .6);
  --sombra-cajon: -24px 0 64px rgba(30, 34, 72, .16);
  --ease: cubic-bezier(.22, 1, .36, 1);
  /* The editor's text bar (0.3.16): in light, the usual one */
  --tb-f: var(--sup); --tb-c2: var(--sup2); --tb-l: var(--linea2); --tb-t: var(--tinta); --tb-s: var(--suave); --tb-h: var(--hover); --tb-on: var(--azul-s); --tb-ont: var(--azul-tinta); --guia: #E0249A; --guia-t: #FFFFFF;
  color-scheme: light;
}
.ins-app[data-t="o"] {
  --bg: #0F141F; --sup: #171E2C; --sup2: #141A27; --sup3: #212A3B; --hover: #1C2434;
  --linea: #2B3547; --linea2: #3D4A60;
  --tinta: #EEF1F7; --suave: #AEB9CB; --tenue: #7F8BA0;
  --azul: #8EC0FF; --azul-h: #AFD3FF; --azul-s: #1B2E4C; --azul-tinta: #B4D6FF; --pri-tinta: #10223A;
  --btn-a: #AFD3FF; --btn-b: #8DBAF3; --btn-h: #B7D9FF; --btn-p: #7FAEE8; --btn-t: #13243B; --btn2-a: #253044; --btn2-b: #202A3C; --btn2-h: #2D3A51; --btn2-p: #39455A; --btn2-l: #73839B; --btn-r-a: #C13C3C; --btn-r-b: #B73232; --btn-r-p: #972929; --btn-sombra: 0 1px 2px rgb(0 0 0 / .31); --btn-sombra-h: 0 2px 4px rgb(0 0 0 / .31); --btn-ha: #BEDCFF; --btn-hb: #9CC4F6; --btn-pa: #9CC4F6; --btn-pb: #7FAEE8; --btn2-ha: #2E3B52; --btn2-hb: #27324A; --btn2-pa: #27324A; --btn2-pb: #222C40; --btn-r-ha: #C94444; --btn-r-hb: #AE2E2E; --btn-sombra-p: inset 0 1px 2px rgb(0 0 0 / .35);
  --bien-f: #12322E; --bien: #74D9B8; --bien-p: #3CCB9C;
  --mal-f: #3E2230; --mal: #FF8A8A; --mal-p: #FF7A7A; --relleno-rojo: #C92A3A;
  --aviso-f: #3B321D; --aviso: #FFCF87; --aviso-p: #F2B54E;
  --violeta: #B4A4FF; --violeta-s: #262046; --marino: #6F8FE0;
  --riel: #0B0F18; --riel-t: #9AA3BD;
  --sh1: 0 1px 2px rgba(0, 0, 0, .3); --sh-ind: 0 0 0 1px rgba(255, 255, 255, .07);
  --sh2: 0 6px 16px -4px rgba(0, 0, 0, .45), 0 2px 4px -2px rgba(0, 0, 0, .3);
  --sh3: 0 24px 48px -12px rgba(0, 0, 0, .6), 0 4px 8px -4px rgba(0, 0, 0, .35);
  --velo: rgba(4, 7, 13, .6); --brillo: rgba(255, 255, 255, .06);
  --sombra-cajon: -30px 0 80px rgba(0, 0, 0, .45);
  /* The text bar in dark (0.3.16): the light slate */
  --tb-f: #2B3548; --tb-c2: #354158; --tb-l: #4A5873; --tb-t: #EEF2F8; --tb-s: #B4BFD0; --tb-h: #3A475F; --tb-on: #46598A; --tb-ont: #FFFFFF; --guia: #E0249A; --guia-t: #FFFFFF;
  color-scheme: dark;
}
.ins-app { position: absolute; left: 0; top: 0; overflow: hidden; transform-origin: 0 0; container: pant / inline-size; --vh: 9px; background: var(--bg); color: var(--tinta); font: 15px/22px var(--font); letter-spacing: -.2px; text-align: left; }
.ins-app.t { --vh: 8.12px; }
.ins-app input:not([data-fx]) { pointer-events: none; }
.ins-app { --vw: 11.8px; }
.ins-app.t { --vw: 3.75px; }
.ins-app .aviso-flotante { position: absolute; animation: none; }
.ins-app { --vw: 11.8px; }
.ins-app.t { --vw: 3.75px; }
.ins-app .pi-cont { position: absolute; inset: 0; overflow: hidden; }
.ins-app .pi-capa { position: absolute; inset: 0; }
.ins-app .pi-capas { position: absolute; inset: 0; z-index: 60; overflow: hidden; pointer-events: none; }
.ins-app .pi-capas > * { pointer-events: auto; }
.ins-app .velo, .ins-app .aviso-flotante { position: absolute; }
.ins-app .velo { z-index: 1; }
.ins-app .aviso-flotante { z-index: 5; }
.ins-app .pi-atras { z-index: 0; pointer-events: none; opacity: 0; transform: scale(.92); animation: ins-trAtras .42s cubic-bezier(.4, 0, .2, 1) both; }
.ins-app .pi-delante { z-index: 1; background: var(--bg); animation: ins-trDelante .5s .1s cubic-bezier(.2, 0, 0, 1) both; }
.ins-app .pi-cambia { transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease !important; }
@container pant (max-width: 760px) {
.ins-app .aviso-flotante { --af-x: -50%; left: 50%; right: auto; width: max-content; max-width: calc(100% - 32px); bottom: 24px; }
}
.ins-app [data-z] { position: relative; }
.ins-app .pi-vista { min-width: 0; }
.ins-app .pi-sale { position: absolute; margin: 0; pointer-events: none; z-index: 1; }
.ins-app .pi-sale.lado-a { animation: ins-entSaleIzq .32s var(--ease) both; }
.ins-app .pi-sale.lado-b { animation: ins-entSaleDer .32s var(--ease) both; }
.ins-app .pi-entra.lado-a { animation: ins-entDer .32s var(--ease) both; }
.ins-app .pi-entra.lado-b { animation: ins-entIzq .32s var(--ease) both; }
.ins-app .pi-l-nueva { animation: ins-piLinea .3s var(--ease) both; }
@media (prefers-reduced-motion: reduce) {
.ins-app .pi-sale, .ins-app .pi-atras { display: none; }
.ins-app .pi-delante, .ins-app .pi-entra { animation: ins-aparece .2s ease-out both !important; }
}
.ins-app .pi-foco-z { min-width: 0; }
.ins-app .pi-iz { justify-self: start; }
.ins-app .pi-nota { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--suave); font-size: 13px; line-height: 18px; min-width: 0; }
.ins-app .pi-nota .i { --s: .6; flex: 0 0 auto; margin-top: 2px; }
.ins-app .pi-nota > span { min-width: 0; overflow-wrap: anywhere; }
.ins-app .pi-nota-c { justify-content: center; margin-top: -4px; }
.ins-app .pi-nota-s { padding: 8px 12px; border-radius: 10px; background: var(--sup2); }
.ins-app[data-bajo] .pi-nota-s { display: none; }
.ins-app .pi-sin-cod { align-self: center; font-size: 13.5px; }
.ins-app .pi-cmd { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 5px 5px 5px 12px; border-radius: 9px; border: 1px solid var(--linea); background: var(--sup2); }
.ins-app .pi-cmd code { flex: 1 1 auto; min-width: 0; font: 500 12.5px/18px var(--mono); color: var(--tinta); overflow-wrap: anywhere; }
.ins-app .pi-srv { display: grid; grid-template-columns: minmax(0, 1fr) 138px; gap: 12px; align-items: start; }
.ins-app .pi-dos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.ins-app .fila-campos { align-items: start; }
.ins-app .nc { height: 40px; }
.ins-app .campo { grid-template-columns: minmax(0, 1fr); }
.ins-app .campo > .ent-error { margin-top: 0; }
.ins-app .vf-codigo > .ent-error { margin-top: 0; }
.ins-app .reglas { position: static; margin-top: 2px; box-shadow: none; padding: 8px 12px; gap: 6px; }
.ins-app .reglas ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
.ins-app .reglas li:not(.sub) { grid-column: 1 / -1; }
.ins-app .reglas li.sub { padding-left: 0; }
.ins-app .pi-ay-b { font-size: 13px; }
.ins-app .pi-av-c { display: inline-grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--violeta-s); color: var(--violeta); font-size: 12.5px; font-weight: 700; }
.ins-app .pi-sinhttps { display: grid; gap: 8px; justify-items: start; }
.ins-app .pi-sinhttps .chapa { height: auto; min-height: 26px; padding: 3px 10px; white-space: normal; overflow-wrap: anywhere; }
.ins-app .pi-sinhttps-f { padding-left: 14px; color: var(--suave); line-height: 1; }
.ins-app .pi-sinhttps-f .i { --s: .6; transform: rotate(90deg); }
.ins-app .pi-fallo { min-width: 0; animation: ins-piAbre .24s var(--ease) both; }
.ins-app .pi-fallo .sb-es-h { padding: 8px 14px; }
.ins-app .pi-fallo .sb-es-h b { font-size: 14px; line-height: 19px; }
.ins-app .pi-fallo .sb-es-c { gap: 8px; padding: 10px 14px; }
.ins-app .pi-fallo .sb-es-c > p { color: var(--tinta); font-size: 13.5px; line-height: 19px; }
.ins-app .pi-fallo .sb-es-acc .b { height: 32px; padding: 0 10px; font-size: 13px; }
.ins-app .pi-fallo .pi-nota { font-size: 12.5px; line-height: 16px; }
.ins-app .pi-fallo .pi-nota .i { margin-top: 1px; }
.ins-app .pi-fallo .pi-cmd code { font-size: 12px; line-height: 16px; }
.ins-app .ent-ok { font-weight: 500; }
.ins-app .pi-res { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ins-app .pi-res li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; font-size: 13.5px; line-height: 19px; min-width: 0; }
.ins-app .pi-res li > .i:first-child { margin-top: 2.3px; }
.ins-app .pi-res li > .chapa { margin-top: -.5px; }
.ins-app .pi-res-t { min-width: 0; overflow-wrap: anywhere; }
.ins-app .pi-res .i:first-child { --s: .6; color: var(--suave); }
.ins-app .pi-res .chapa { height: 20px; padding: 0 7px; font-size: 11.5px; }
.ins-app .pi-qr-d { display: grid; gap: 10px; min-width: 0; }
.ins-app .vf-alta { align-items: start; }
.ins-app .vf-qr { width: 136px; height: 136px; }
.ins-app .vf-codigo { --vf-alto: 54px; }
.ins-app .vf-respaldos li { padding: 6px 10px; }
.ins-app .vf-acciones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ins-app .vf-acciones .b { width: 100%; min-width: 0; justify-content: center; }
.ins-app .pi-acc { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; flex: 0 0 auto; }
.ins-app .pi-acc:empty { display: none; }
.ins-app .pi-acc .b { margin: 0; }
.ins-app .pi-acc .b-pri { flex: 1 1 210px; width: auto; }
.ins-app .ent-prog:has(.pi-volver) { grid-template-columns: auto auto minmax(0, 1fr); gap: 10px; }
.ins-app .pi-volver { width: 30px; height: 30px; margin: -8px -4px -8px -8px; color: var(--suave); }
.ins-app .pi-volver .i { --s: .62; }
.ins-app .pi-volver[aria-disabled="true"] { opacity: 1; }
.ins-app [data-enl] { flex: 0 0 auto; margin-top: -4px; }
.ins-app [data-enl]:empty { display: none; }
.ins-app .pi-enl { gap: 4px 28px; }
.ins-app .pi-enl .enlace-b:disabled { color: var(--tenue); cursor: default; text-decoration: none; }
.ins-app .pi-av { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; flex: 0 0 auto; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ins-app .pi-av-b { height: 5px; border-radius: 3px; overflow: hidden; background: var(--sup3); }
.ins-app .pi-av-b i { display: block; height: 100%; background: var(--azul); transform-origin: 0 50%; transition: transform .45s var(--ease); }
.ins-app [data-fallo-z]:empty { display: none; }
.ins-app [data-fallo-z] { flex: 0 0 auto; }
.ins-app .pi-visor { display: flex; flex-direction: column; flex: 1 1 0; min-height: 124px; min-width: 0; border-radius: 12px; overflow: hidden; background: var(--riel); color: var(--riel-t); }
.ins-app .pi-visor-min { flex: 1 1 0; min-height: 80px; }
.ins-app .pi-visor-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex: 0 0 auto; min-height: 30px; padding: 3px 4px 3px 12px; border-bottom: 1px solid color-mix(in srgb, var(--riel-t) 16%, transparent); font-size: 12px; line-height: 16px; font-weight: 600; }
.ins-app .pi-visor-cab .desv { flex: 1 1 auto; opacity: .85; }
.ins-app .pi-visor-b { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; height: 24px; padding: 0 8px; border-radius: 6px; color: inherit; font-size: 12px; font-weight: 600; transition: background-color .15s; }
.ins-app .pi-visor-b:hover { background: color-mix(in srgb, var(--riel-t) 14%, transparent); }
.ins-app .pi-visor-b .i { --s: .5; }
.ins-app .pi-visor-c { flex: 1 1 0; min-height: 0; padding: 8px 12px 10px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--riel-t) 35%, transparent) transparent; font: 12.5px/19px var(--mono); letter-spacing: 0; overscroll-behavior: contain; }
.ins-app .pi-visor-c:focus-visible { outline-offset: -2px; }
.ins-app .pi-visor-c ol { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.ins-app .pi-visor-v { margin: 0; opacity: .7; }
.ins-app .pi-v { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; gap: 8px; align-items: start; min-width: 0; }
.ins-app .pi-v-i { display: grid; place-items: center; width: 16px; height: 19px; color: var(--bien-p); }
.ins-app .pi-v-i .i { --s: .5; }
.ins-app .pi-v-i .gira { width: 11px; height: 11px; border-width: 1.5px; color: var(--riel-t); }
.ins-app .pi-v-t { min-width: 0; overflow-wrap: anywhere; }
.ins-app .pi-v-mal .pi-v-i { color: var(--mal-p); }
.ins-app .pi-v-mal .pi-v-t { color: var(--mal-p); font-weight: 600; }
.ins-app .pi-v-e { font: 600 11.5px/19px var(--font); white-space: nowrap; }
.ins-app .pi-v-mal .pi-v-e { color: var(--mal-p); }
.ins-app .pi-v-sec { margin-top: 6px; font: 700 12px/18px var(--font); letter-spacing: -.1px; opacity: .85; overflow-wrap: anywhere; }
.ins-app .pi-v-sec:first-child { margin-top: 0; }
.ins-app .pi-cuentas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; flex: 0 0 auto; }
.ins-app .pi-cuentas span { display: flex; align-items: baseline; gap: 6px; min-width: 0; padding: 7px 10px; border-radius: 9px; background: var(--sup2); border: 1px solid var(--linea); color: var(--suave); font-size: 12.5px; line-height: 16px; white-space: nowrap; }
.ins-app .pi-cuentas b { font-size: 15px; font-variant-numeric: tabular-nums; }
.ins-app .pi-cuentas .c-b b { color: var(--bien); }
.ins-app .pi-cuentas .c-m b { color: var(--mal); }
.ins-app .pi-cuentas .c-p b { color: var(--aviso); }
.ins-app .pi-modal { position: absolute; left: 50%; top: 50%; z-index: 2; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 540px; max-width: calc(100% - 32px); max-height: calc(100% - 32px); border-radius: 14px; background: var(--sup); box-shadow: var(--sh3); transform: translate(-50%, -50%); animation: ins-piModal .22s var(--ease) both; }
.ins-app .pi-modal header { display: flex; align-items: center; gap: 8px; padding: 10px 10px 6px 18px; }
.ins-app .pi-modal h2 { flex: 0 1 auto; min-width: 0; font-size: 16px; line-height: 22px; }
.ins-app .pi-modal header small { flex: 1 1 auto; min-width: 0; color: var(--suave); font-size: 12.5px; }
.ins-app .pi-modal header .b-fan { margin-left: auto; }
.ins-app .pi-modal-c { display: grid; align-content: start; gap: 10px; padding: 0 18px 16px; overflow-y: auto; }
.ins-app .pi-cod-a .ay-d { color: var(--suave); }
.ins-app .pi-reg-l { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.ins-app .pi-reg-pie { margin: 0; padding: 8px 18px 12px; border-top: 1px solid var(--linea); color: var(--suave); font-size: 12px; line-height: 16px; overflow-wrap: anywhere; }
.ins-app .pi-r { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; font: 12.5px/18px var(--mono); letter-spacing: 0; color: var(--tinta); }
.ins-app .pi-r time { color: var(--tenue); white-space: nowrap; }
.ins-app .pi-r > span { min-width: 0; overflow-wrap: anywhere; }
.ins-app .pi-r-mal { color: var(--mal); font-weight: 600; }
.ins-app .pi-r-sec { grid-template-columns: minmax(0, 1fr); margin-top: 6px; font: 700 12.5px/18px var(--font); letter-spacing: -.1px; color: var(--suave); }
.ins-app .pi-r-sec:first-child { margin-top: 0; }
@media (prefers-reduced-motion: reduce) {
.ins-app .pi-modal { animation: ins-aparece .2s ease-out both; }
}
.ins-app .pi-panel { position: absolute; inset: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr); background: var(--bg); }
.ins-app .pi-panel-riel { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 0; background: var(--riel); color: var(--riel-t); }
.ins-app .pi-panel-logo { width: 32px; height: 32px; margin-bottom: 12px; }
.ins-app .pi-panel-riel > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; }
.ins-app .pi-panel-riel .i { --s: .82; }
.ins-app .pi-panel-pie { margin-top: auto; }
.ins-app .pi-panel-c { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 18px; padding: 22px 28px; min-width: 0; overflow: hidden; }
.ins-app .pi-panel-c header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ins-app .pi-panel-c h1 { font-size: 24px; line-height: 30px; letter-spacing: -.4px; }
.ins-app .pi-panel-vacio { display: grid; align-content: center; justify-items: center; min-width: 0; }
.ins-app .pi-panel .paso-p { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ins-app .pi-panel .paso-p > div { min-width: 0; }
.ins-app .pi-panel .paso-p small { display: block; color: var(--suave); font-size: 13px; line-height: 18px; }
.ins-app .pi-panel .paso-p b { font-size: 14px; line-height: 19px; }
@container pant (max-width: 760px) {
.ins-app .pi-panel { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
.ins-app .pi-panel-c { grid-row: 1; padding: 16px; gap: 12px; }
.ins-app .pi-panel-vacio { align-content: start; }
.ins-app .pi-panel-riel { grid-row: 2; flex-direction: row; justify-content: space-around; padding: 6px 12px; }
.ins-app .pi-panel-logo { margin: 0; width: 28px; height: 28px; }
.ins-app .pi-panel-pie { margin: 0; }
.ins-app .pi-panel .paso-p { padding: 10px 12px; }
}
.ins-app .pi-capa-panel { z-index: 1; }
.ins-app .pi-llega-panel { background: transparent; }
.ins-app .pi-llega-panel .pi-panel-riel { animation: ins-aparece .55s 1.6s ease-out both; }
.ins-app .pi-llega-panel .pi-panel-logo { opacity: 0; }
.ins-app .pi-llega-panel .pi-it { will-change: transform, opacity; animation: ins-piConverge .8s calc(1.66s + var(--o, 0) * 34ms) linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.6%, 1) both; }
.ins-app .pi-v1.ent { height: 100%; overflow: hidden; }
.ins-app .pi-v1 .ent-vista { height: 100%; padding: 16px; }
.ins-app .pi-v1 .ent-ventana { width: 1080px; }
.ins-app .pi-v1 .ent-cab { padding-block: 13px; }
.ins-app .pi-v1 .ent-cuerpo { height: min(616px, calc(100 * var(--vh) - 128px)); min-height: 0; grid-template-columns: 540px minmax(0, 1fr); }
.ins-app .pi-v1 .ent-centro { align-self: stretch; display: flex; flex-direction: column; overflow: hidden auto; padding: 16px 32px; }
.ins-app .pi-v1 .pi-vista { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.ins-app .pi-v1 .pi-sale { width: calc(100% - 64px); }
.ins-app .pi-v1 .ent-tarjeta { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; min-height: 0; }
.ins-app .pi-v1 .ent-tarjeta > * { flex-shrink: 0; }
.ins-app .pi-v1 .ent-tarjeta > .pi-visor { flex: 1 1 0; }
.ins-app .pi-v1 .ent-sub { margin-top: -6px; }
.ins-app .pi-v1 .ent-pie { padding-block: 9px; }
.ins-app .pi-v1 .ent-panel > div:first-child { position: absolute; inset: 0; overflow: hidden; }
.ins-app .pi-v1 [data-p="ledger"] { position: absolute; right: 20px; bottom: 20px; }
.ins-app .pi-ledger { display: grid; gap: 8px; width: 264px; max-width: 100%; padding: 14px 16px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); box-shadow: var(--sh3); }
.ins-app .pi-ledger b { font-size: 13.5px; line-height: 18px; }
.ins-app .pi-ledger ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 18px; color: var(--tenue); }
.ins-app .pi-ledger li { display: flex; align-items: center; gap: 8px; }
.ins-app .pi-ledger li > span { display: grid; place-items: center; flex: 0 0 auto; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--linea2); transition: background-color .3s, border-color .3s; }
.ins-app .pi-ledger li > span .i { --s: .38; }
.ins-app .pi-ledger li.hecho { color: var(--tinta); }
.ins-app .pi-ledger li.hecho > span { border-color: var(--bien-p); background: var(--bien-p); color: var(--sup); }
.ins-app .pi-ledger li.ahora { color: var(--tinta); font-weight: 600; }
.ins-app .pi-ledger li.ahora > span { border-color: var(--azul); }
.ins-app .pi-ledger li.mal { color: var(--mal); font-weight: 600; }
.ins-app .pi-ledger li.mal > span { border-color: var(--mal-p); background: var(--mal-p); color: var(--sup); }
.ins-app .pi-ledger li.salto { color: var(--aviso); }
.ins-app .pi-ledger li.salto > span { border-color: var(--aviso-p); color: var(--aviso); }
.ins-app .pi-primera .pi-v1 .ent-ventana { animation: ins-piVentana .6s var(--ease) both; }
.ins-app .pi-primera .pi-v1 .ent-cab { animation: ins-trSube .38s .14s var(--ease) both; }
.ins-app .pi-primera .pi-v1 .ent-panel > div:first-child { animation: ins-aparece .9s .18s ease-out both; }
.ins-app .pi-primera .pi-v1 [data-p="ledger"] { animation: ins-trSube .42s .42s var(--ease) both; }
.ins-app .pi-primera .pi-v1 [data-z] { animation: ins-sube .42s .26s var(--ease) both; }
.ins-app .pi-delante .pi-v1 .ent-ventana { animation: ins-trSube .44s .2s var(--ease) both; }
@container pant (max-width: 760px) {
.ins-app .ent-marca > span { display: none; }
.ins-app .pi-v1.ent { background: var(--sup); }
.ins-app .pi-v1 .ent-vista { display: flex; flex-direction: column; overflow: hidden auto; padding: 0; }
.ins-app .pi-v1 .ent-ventana { flex: 1 0 auto; display: flex; flex-direction: column; width: 100%; min-height: 100%; }
.ins-app .pi-v1 .ent-panel { flex: 0 0 clamp(0px, calc(100 * var(--vh) - 780px), 32px); }
.ins-app .pi-v1 [data-p="ledger"] { display: none; }
.ins-app .pi-v1 .ent-cab { justify-content: space-between; padding: 8px 14px; background: none; border: 0; }
.ins-app .pi-v1 .ent-centro { flex: 1 1 auto; overflow: clip visible; padding: 2px 16px 12px; }
.ins-app .pi-v1 .pi-sale { width: calc(100% - 32px); }
.ins-app .pi-v1 .ent-pie { display: none; }
.ins-app .pi-v1 .ent-tarjeta > .pi-visor { flex: 1 1 150px; min-height: 150px; }
.ins-app .pi-v1 .ent-tarjeta > .pi-visor-min { flex: 1 1 72px; min-height: 72px; }
.ins-app .pi-dos { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.ins-app .pi-v1 .ent-tarjeta { gap: 10px; }
.ins-app .vf-qr { width: 128px; height: 128px; }
.ins-app .vf-alta { grid-template-columns: auto minmax(0, 1fr); gap: 12px; justify-items: start; }
.ins-app .vf-lista { gap: 6px; font-size: 12.5px; line-height: 17px; }
.ins-app .fila-campos { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ins-app .pi-modal { left: 0; right: 0; bottom: 0; top: auto; width: auto; max-width: none; max-height: 90%; border-radius: 16px 16px 0 0; transform: none; animation: ins-subeH .3s var(--ease) both; }
}
.ins-app .pi-v1 .ent-panel.ga-panel { border-left: 0; color: #fff; background: radial-gradient(90% 70% at 88% 4%, rgba(122, 92, 255, .6), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(47, 107, 255, .45), transparent 62%), linear-gradient(160deg, #191343 0%, #261c6e 55%, #30249a 100%); }
.ins-app .ilu-svg { width: 100%; height: 100%; min-height: 0; display: block; font-family: var(--font); overflow: visible; }
.ins-app .ilu-simla { filter: drop-shadow(0 12px 26px rgba(0, 0, 0, .38)); }
.ins-app .a1-llena { transform-box: fill-box; transform-origin: left center; transform: scaleX(0); animation: 9s ease-in-out infinite; }
.ins-app .a1-l0 { animation-name: ins-a1L0; }
.ins-app .a1-l1 { animation-name: ins-a1L1; }
.ins-app .a1-l2 { animation-name: ins-a1L2; }
.ins-app .a1-boton { transform-box: fill-box; transform-origin: center; animation: ins-a1Pulsa 9s ease-in-out infinite; }
.ins-app .a1-nueva, .ins-app .a1-nuevo-p { opacity: 0; animation: 9s ease-in-out infinite; }
.ins-app .a1-nueva { animation-name: ins-a1Nueva; }
.ins-app .a1-nuevo-p { animation-name: ins-a1NuevoP; }
.ins-app .a1-baja, .ins-app .a1-baja-p { animation: 9s ease-in-out infinite; }
.ins-app .a1-baja { animation-name: ins-a1Baja; }
.ins-app .a1-baja-p { animation-name: ins-a1BajaP; }
@media (prefers-reduced-motion: reduce) {
.ins-app .ga-ilu * { animation: none !important; }
.ins-app .a1-llena { transform: none; }
.ins-app .a1-nueva, .ins-app .a1-nuevo-p { opacity: 1; }
.ins-app .a1-baja, .ins-app .a1-baja-p { transform: translateY(30px); }
.ins-app .a1-viaja { display: none; }
}
.ins-app .i-matraz { --m: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3h6M10 3v6.2L4.6 18.4A1.7 1.7 0 0 0 6.1 21h11.8a1.7 1.7 0 0 0 1.5-2.6L14 9.2V3'/><path d='M7.5 15h9'/></svg>"); --w: 24px; --h: 24px; --x: 0px; --y: 0px; }
.ins-app { --pe-muelle: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 85.6%, 1); --pe-suave: cubic-bezier(.22, .8, .24, 1); }
.ins-app .pe-espera { background: transparent; }
.ins-app .pe-espera .pi-it, .ins-app .pe-espera .pi-panel-riel, .ins-app .pe-espera .pi-panel-logo { opacity: 0; }
.ins-app .pe-llega .pi-it { animation-delay: calc(var(--t0, 1.66s) + var(--o, 0) * 34ms); }
.ins-app .pe-llega .pi-panel-riel { animation-delay: 0s; }
.ins-app .pe-esc { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; padding: 24px; overflow: hidden; }
.ins-app .pe-esc::before { content: ''; position: absolute; inset: 0; background: var(--bg); animation: ins-aparece .75s .05s ease-out both; }
.ins-app .pe-esc.sale::before { animation: ins-piFuera .6s ease-out both; }
.ins-app .pe-fondo { position: absolute; inset: 0; z-index: 0; pointer-events: none; transition: opacity .6s ease-out; }
.ins-app .pe-esc.sale .pe-fondo { opacity: 0; }
.ins-app .pe-fondo > * { position: absolute; left: 50%; top: 50%; translate: -50% -50%; }
.ins-app .pe-col { position: relative; z-index: 1; display: grid; justify-items: center; gap: 22px; width: 100%; max-width: 680px; text-align: center; }
.ins-app .pe-aurora { width: 760px; height: 760px; will-change: transform, opacity; animation: ins-peFlorece 1.6s .1s var(--pe-suave) both; }
.ins-app .pe-aurora i { position: absolute; left: 50%; top: 50%; width: 520px; height: 520px; margin: -260px 0 0 -260px; opacity: .75; will-change: transform, opacity; }
.ins-app .pe-aurora .pe-luz1 { background: radial-gradient(closest-side, var(--azul-s), transparent); animation: ins-peDerivaA 14s ease-in-out infinite alternate both; }
.ins-app .pe-aurora .pe-luz2 { background: radial-gradient(closest-side, var(--violeta-s), transparent); animation: ins-peDerivaB 17s ease-in-out infinite alternate both; }
.ins-app .pe-k { display: grid; place-items: center; min-height: 100px; }
.ins-app .pe-k > * { grid-area: 1 / 1; }
.ins-app .pe-k-w { font-size: 58px; line-height: 66px; font-weight: 700; letter-spacing: -1.8px; white-space: nowrap; will-change: transform, opacity; animation: ins-peEntra .7s var(--d) var(--pe-muelle) both, ins-peSale .35s var(--f) ease-in forwards; }
.ins-app .pe-tit { margin: 0; max-width: 620px; font-size: 40px; line-height: 48px; font-weight: 700; letter-spacing: -1px; text-wrap: balance; }
.ins-app .pe-w { display: inline-block; will-change: transform, opacity; animation: ins-piPalabra .8s var(--d) var(--pe-muelle) both; }
.ins-app .pe-acc { will-change: transform, opacity; animation: ins-peSube .7s var(--d) var(--pe-muelle) both; }
.ins-app .pe-comenzar { min-width: 220px; }
.ins-app .pe-zona { position: relative; display: grid; place-items: center; }
.ins-app .pe-land { --w: 300px; position: relative; width: var(--w); color: var(--m-tinta); text-align: left; will-change: transform, opacity; animation: ins-peFlota 3.2s var(--f) ease-in-out infinite alternate; }
.ins-app .pe-land::before { content: ''; position: absolute; inset: 0; border-radius: 14px; background: var(--m-papel); box-shadow: var(--sh3); transform-origin: 50% 0; will-change: transform, opacity; animation: ins-peHoja 2.75s var(--h) linear both; }
.ins-app .pe-land-c { position: relative; display: grid; gap: 8px; padding: 10px; overflow: hidden; border-radius: 14px; }
.ins-app .pe-land-c::after { content: ''; position: absolute; inset: 0; z-index: 2; background: linear-gradient(105deg, transparent 35%, color-mix(in srgb, var(--m-papel) 70%, transparent) 50%, transparent 65%); opacity: 0; pointer-events: none; will-change: transform, opacity; animation: ins-peBrilla .9s var(--b) ease-in-out both; }
.ins-app .pe-b { position: relative; min-width: 0; will-change: transform, opacity; animation: ins-peSube .7s var(--d) var(--pe-muelle) both; }
.ins-app .pe-b-nav { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; line-height: 14px; font-weight: 700; }
.ins-app .pe-l-marca { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.ins-app .pe-l-marca i { width: 12px; height: 12px; border-radius: 4px; background: var(--m-verde); }
.ins-app .pe-b-hero { display: grid; gap: 2px; padding-top: 4px; }
.ins-app .pe-b-hero b { font-size: 20px; line-height: 24px; letter-spacing: -.4px; }
.ins-app .pe-b-hero span { color: var(--m-suave); font-size: 12px; line-height: 16px; }
.ins-app .pe-b-img { height: 96px; }
.ins-app .pe-l-foto { position: absolute; inset: 0; overflow: hidden; border-radius: 10px; background: linear-gradient(160deg, var(--m-verde), color-mix(in srgb, var(--m-verde) 72%, var(--m-acento))); }
.ins-app .pe-l-foto i { will-change: transform, opacity; }
.ins-app .pe-l-sol { position: absolute; top: 14px; left: 22px; width: 24px; height: 24px; border-radius: 50%; background: var(--m-acento); animation: ins-peAmanece .8s var(--d) var(--pe-muelle) both; }
.ins-app .pe-l-sofa { position: absolute; left: 18px; bottom: 14px; width: 46%; height: 26px; border-radius: 9px 9px 5px 5px; background: var(--m-fondo); animation: ins-peDesliza .7s var(--d) var(--pe-muelle) both; }
.ins-app .pe-l-lampara { position: absolute; right: 30px; bottom: 14px; width: 4px; height: 46px; border-radius: 2px; background: var(--m-fondo); transform-origin: 50% 100%; animation: ins-peMece .9s var(--d) ease-out both; }
.ins-app .pe-l-lampara::before { content: ''; position: absolute; left: -9px; top: -6px; width: 22px; height: 12px; border-radius: 11px 11px 3px 3px; background: var(--m-acento); }
.ins-app .pe-b-form { display: grid; gap: 6px; }
.ins-app .pe-l-campo { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 6px; padding: 7px 8px; border-radius: 7px; border: 1px solid var(--m-linea); background: var(--m-fondo); font-size: 11px; line-height: 14px; white-space: nowrap; overflow: hidden; }
.ins-app .pe-l-ph, .ins-app .pe-l-val { grid-area: 1 / 1; min-width: 0; overflow: hidden; }
.ins-app .pe-l-ph { color: var(--m-suave); animation: ins-peDesv .3s var(--d) ease-out forwards; }
.ins-app .pe-l-val { color: var(--m-tinta); font-weight: 600; will-change: transform, opacity; animation: ins-peEscribe .5s var(--d) var(--pe-suave) both; }
.ins-app .pe-l-simla { grid-area: 1 / 2; display: grid; place-items: center; width: 16px; height: 16px; will-change: transform, opacity; animation: ins-peSello .6s var(--d) var(--pe-muelle) both; }
.ins-app .pe-l-simla img { width: 14px; height: 14px; }
.ins-app .pe-l-btn { display: block; padding: 8px 10px; border-radius: 8px; background: var(--m-verde); color: var(--m-papel); font-size: 12px; line-height: 14px; font-weight: 700; text-align: center; will-change: transform; animation: ins-peToque .42s var(--d) ease-out both; }
.ins-app .pe-logo { position: absolute; left: calc(50% - 38px); top: calc(50% - 38px); z-index: 2; width: 76px; height: 76px; opacity: 0; will-change: transform, opacity; }
.ins-app .pe-esc.cierra .pe-k, .ins-app .pe-esc.cierra .pe-acc { animation: ins-peFuera .45s ease-in both; }
.ins-app .pe-esc.cierra .pe-logo { animation: ins-peLogo .76s .1s var(--pe-muelle) both; }
@container pant (max-width: 760px) {
.ins-app .pe-esc { padding: 20px 16px; }
.ins-app .pe-col { gap: 20px; }
.ins-app .pe-k { min-height: 70px; }
.ins-app .pe-k-w { font-size: 36px; line-height: 44px; letter-spacing: -1px; }
.ins-app .pe-tit { max-width: 330px; font-size: 28px; line-height: 34px; letter-spacing: -.6px; }
.ins-app .pe-land { --w: 262px; }
.ins-app .pe-b-hero b { font-size: 18px; line-height: 22px; }
.ins-app .pe-b-img { height: 84px; }
.ins-app .pe-comenzar { min-width: 0; width: 262px; }
.ins-app .pe-logo { left: calc(50% - 32px); top: calc(50% - 32px); width: 64px; height: 64px; }
.ins-app .pe-aurora { width: 520px; height: 520px; }
.ins-app .pe-aurora i { width: 360px; height: 360px; margin: -180px 0 0 -180px; }
}
@media (prefers-reduced-motion: reduce) {
.ins-app .pe-esc *, .ins-app .pe-esc::before, .ins-app .pe-land::before, .ins-app .pe-land-c::after { animation: none !important; }
.ins-app .pe-k-w, .ins-app .pe-l-ph { opacity: 0; }
}
.ins-app .pi-v1 .ent-panel.ga-panel > div.ga-ilu { inset: 24px 28px 196px; overflow: visible; display: grid; place-items: center; }
.ins-app .pi-v1 .ga-panel .ilu-svg { width: 100%; height: 100%; }
.ins-app .pi-v1 .ga-panel [data-p="ledger"] { left: 20px; right: 20px; bottom: 20px; }
.ins-app .ga-panel .pi-ledger { width: auto; }
.ins-app .ga-panel .pi-ledger ul { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, auto); grid-auto-flow: column; column-gap: 16px; }
.ins-app .ga-pasos { gap: 5px; }
.ins-app .ga-pasos li { font-size: 13.5px; line-height: 19px; }
.ins-app .ga-panel .pi-ledger { color: var(--tinta); }
.ins-app .pi-enl-fijo { visibility: hidden; }
.ins-app .ga-l-ad { padding: 1px 6px; border-radius: 4px; background: var(--m-acento); color: var(--m-tinta); font-size: 10px; line-height: 14px; font-weight: 700; }
.ins-app .pe-esc.cierra .pe-logo { animation: ins-peLogo .7s .2s var(--pe-muelle) both; }
.ins-app .pi-visor-min:has(> .pi-visor-c > .pi-visor-v) { min-height: 88px; }
@container pant (max-width: 760px) {
.ins-app .pi-v1 .ent-tarjeta > .pi-visor-min:has(> .pi-visor-c > .pi-visor-v) { flex: 1 1 88px; min-height: 88px; }
}
.ins-app .gm-baja { animation: ins-gmBaja 9s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
.ins-app .gm-baja { transform: translateY(16px); }
}
@container pant (max-width: 760px) {
.ins-app .pi-v1 .ent-panel.ga-panel { flex: 0 0 clamp(0px, calc(100 * var(--vh) - 732px), 80px); }
.ins-app .pi-v1 .ent-panel.ga-panel > div.ga-ilu { display: grid; inset: 0; padding: 0 4px; place-items: center; }
.ins-app .pi-v1 .ga-panel .ga-mini { width: 100%; height: 100%; max-width: 420px; }
}

@keyframes ins-sube { from { opacity: 0; transform: translateY(8px); } }
@keyframes ins-aparece { from { opacity: 0; } }
@keyframes ins-baja { from { opacity: 0; transform: translateY(-4px) scale(.98); } }
@keyframes ins-subeH { from { transform: translateY(100%); } }
@keyframes ins-gira { to { transform: rotate(360deg); } }
@keyframes ins-indDesliza { from { transform: translateX(calc((var(--de) - var(--i)) * 100%)); } }
@keyframes ins-entDer { from { opacity: 0; transform: translateX(48px); } }
@keyframes ins-entIzq { from { opacity: 0; transform: translateX(-48px); } }
@keyframes ins-entSaleIzq { to { opacity: 0; transform: translateX(-48px); } }
@keyframes ins-entSaleDer { to { opacity: 0; transform: translateX(48px); } }
@keyframes ins-vf-rojo { from { background-color: var(--mal-f); } }
@keyframes ins-trAtras { from { opacity: 1; transform: none; } }
@keyframes ins-trDelante { from { opacity: 0; transform: scale(1.06); } }
@keyframes ins-trSube { from { opacity: 0; transform: translateY(14px); } }
@keyframes ins-avisoSube { from { opacity: 0; transform: translate(var(--af-x), 10px); } }
@keyframes ins-piVentana { from { opacity: 0; transform: translateY(16px) scale(.975); } }
@keyframes ins-piLinea { from { opacity: 0; transform: translateY(4px); } }
@keyframes ins-piAbre { from { opacity: 0; transform: translateY(-6px); } }
@keyframes ins-piModal { from { opacity: 0; transform: translate(-50%, -48%) scale(.98); } }
@keyframes ins-piConverge { from { opacity: 0; transform: translate(var(--dx, 0), var(--dy, 0)) scale(1.14); } }
@keyframes ins-piFuera { to { opacity: 0; } }
@keyframes ins-piPalabra { from { opacity: 0; transform: translateY(20px); } }
@keyframes ins-a1L0 { 0%, 5% { transform: scaleX(0); } 13%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes ins-a1L1 { 0%, 14% { transform: scaleX(0); } 22%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes ins-a1L2 { 0%, 23% { transform: scaleX(0); } 31%, 90% { transform: scaleX(1); } 97%, 100% { transform: scaleX(0); } }
@keyframes ins-a1Pulsa { 0%, 34% { transform: none; } 37% { transform: scale(.94); } 41%, 100% { transform: none; } }
@keyframes ins-a1Nueva { 0%, 54% { opacity: 0; transform: translateY(-8px); } 60%, 91% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes ins-a1NuevoP { 0%, 64% { opacity: 0; transform: translateY(-8px); } 70%, 91% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes ins-a1Baja { 0%, 54% { transform: translateY(0); } 60%, 92% { transform: translateY(30px); } 99%, 100% { transform: translateY(0); } }
@keyframes ins-a1BajaP { 0%, 64% { transform: translateY(0); } 70%, 92% { transform: translateY(30px); } 99%, 100% { transform: translateY(0); } }
@keyframes ins-peFlorece { from { opacity: 0; transform: scale(.55); } }
@keyframes ins-peDerivaA { from { transform: translate(-170px, -70px) scale(.95); } 50% { transform: translate(60px, -120px) scale(1.08); } to { transform: translate(150px, 60px) scale(.92); } }
@keyframes ins-peDerivaB { from { transform: translate(160px, 90px) scale(1.05); } 50% { transform: translate(-90px, 110px) scale(.9); } to { transform: translate(-150px, -40px) scale(1.1); } }
@keyframes ins-peEntra { from { opacity: 0; transform: translateY(22px) scale(.96); } }
@keyframes ins-peSale { to { opacity: 0; transform: translateY(-16px); } }
@keyframes ins-peFlota { from { transform: translateY(0); } to { transform: translateY(-6px); } }
@keyframes ins-peHoja {
  0% { opacity: 0; transform: scaleY(.04); animation-timing-function: cubic-bezier(.3, .7, .2, 1); }
  5% { opacity: 1; transform: scaleY(.12); }
  6% { transform: scaleY(.12); animation-timing-function: cubic-bezier(.3, .7, .2, 1); }
  13% { transform: scaleY(.3); }
  14% { transform: scaleY(.3); animation-timing-function: cubic-bezier(.3, .7, .2, 1); }
  23% { transform: scaleY(.63); }
  45% { transform: scaleY(.63); animation-timing-function: cubic-bezier(.3, .7, .2, 1); }
  54% { transform: scaleY(.88); }
  89% { transform: scaleY(.88); animation-timing-function: cubic-bezier(.3, .7, .2, 1); }
  98%, 100% { opacity: 1; transform: none; }
}
@keyframes ins-peBrilla { from { opacity: 1; transform: translateX(-110%); } 90% { opacity: 1; } to { opacity: 0; transform: translateX(110%); } }
@keyframes ins-peSube { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@keyframes ins-peAmanece { from { opacity: 0; transform: translateY(26px); } }
@keyframes ins-peDesliza { from { opacity: 0; transform: translateX(-22px); } }
@keyframes ins-peMece { from { opacity: 0; transform: rotate(-14deg); } 55% { opacity: 1; transform: rotate(6deg); } }
@keyframes ins-peDesv { to { opacity: 0; } }
@keyframes ins-peEscribe { from { opacity: 0; transform: translateX(-6px); } }
@keyframes ins-peSello { from { opacity: 0; transform: scale(.3) rotate(-25deg); } }
@keyframes ins-peToque { 45% { transform: scale(.94); } }
@keyframes ins-peFuera { to { opacity: 0; transform: translateY(-14px); } }
@keyframes ins-peLogo { from { opacity: 0; transform: scale(2.6); } to { opacity: 1; transform: none; } }
@keyframes ins-gmBaja { 0%, 54% { transform: translateY(0); } 60%, 92% { transform: translateY(16px); } 99%, 100% { transform: translateY(0); } }

/* The layer: fixed, the size of the window, above the page; with the welcome, transparent (the real panel, below) */
.ins-app { position: fixed; inset: 0; z-index: 900; width: auto; height: auto; transform: none; }
.ins-app.ins-panel { background: transparent; }
/* While it works (#68, 0.11.1, design/mockups/installer-wait): the button that works keeps its colour (busy, not disabled), with its spinner
   and what it does; «Omitiendo» centres its spinner with its text */
.ins-app .b[aria-busy="true"] { opacity: 1; cursor: progress; }
.ins-app .pi-enl .enlace-b[aria-busy="true"], .ins-app .enlace-b[aria-busy="true"] { display: inline-flex; align-items: center; justify-content: center; gap: 7px; opacity: 1; color: var(--azul); cursor: progress; }
.ins-app .enlace-b .gira { width: 12px; height: 12px; border-width: 2px; }
/* What is disabled reads (#69, 0.11.2): a disabled button that is not working goes grey at full opacity, never its colour at 55% */
.ins-app .b:disabled:not([aria-busy="true"]), .ins-app .b[aria-disabled="true"] { opacity: 1; color: var(--suave); background: var(--sup2); background-image: none; border-color: var(--linea); box-shadow: none; }
.ins-app .b.b-fan:disabled:not([aria-busy="true"]), .ins-app .b.b-fan[aria-disabled="true"] { background: transparent; border-color: transparent; color: var(--tenue); }
.ins-app .nc-b:disabled, .ins-app .seg button:disabled, .ins-app .pi-volver[aria-disabled="true"] { color: var(--tenue); }
/* The consoles (#74, 0.11.10, option 1 of design/mockups/installer-consoles): «Copiar», icon only, next to «Registro»; with nothing to copy,
   grey with its reason. «Registro» is the server's log: each line with its result, how long it took and, under an error, its detail */
.ins-app .pi-visor-b.pi-visor-ic { width: 24px; padding: 0; justify-content: center; }
.ins-app .pi-visor-b[aria-disabled="true"] { color: color-mix(in srgb, var(--riel-t) 45%, transparent); cursor: not-allowed; }
.ins-app .pi-visor-b[aria-disabled="true"]:hover { background: none; }
.ins-app .pi-r .pi-r-m { font: 700 11px/18px var(--font); letter-spacing: .02em; text-transform: uppercase; }
.ins-app .pi-r-bien .pi-r-m { color: var(--bien); }
.ins-app .pi-r-mal .pi-r-m, .ins-app .pi-r-rechazo .pi-r-m, .ins-app .pi-r-mal > span { color: var(--mal); }
.ins-app .pi-r-falta .pi-r-m { color: var(--aviso); }
.ins-app .pi-r-info .pi-r-m { color: var(--azul); }
.ins-app .pi-r i { font-style: normal; }
.ins-app .pi-r .pi-r-ms { color: var(--tenue); }
.ins-app .pi-r .pi-r-det { display: block; color: var(--suave); }
.ins-app .pi-r-sub > span { color: var(--suave); font-weight: 600; }
.ins-app .pi-r-espera { align-items: center; color: var(--suave); }
.ins-app .pi-r-espera .gira { width: 12px; height: 12px; border-width: 2px; }

/* The installer's language and theme (#63, design/mockups/language): the pills of signing in (.apariencia), once, at the top on desktop
   and at the bottom on the phone. Outside the «panel» layer, after screens/installer.css (which turns everything inside .ins-app back to
   the browser's): build.mjs puts it there */
.ins-app .ent-prefs { display: flex; gap: 8px; align-items: center; }
.ins-app .pie-prefs { display: none; }
/* The phone (the installer's, 760 px or less): the pair at the bottom, in the footer the window hides elsewhere, without its © line */
@media (max-width: 760px) {
  .ins-app .ent-prefs { display: none !important; }
  .ins-app .pie-prefs { display: flex; gap: 8px; justify-content: center; align-items: center; }
  .ins-app .pi-v1 .ent-pie { display: flex; padding: 10px 16px max(12px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--linea); }
  .ins-app .pi-v1 .ent-pie > span { display: none; }
}
.ins-app .apariencia { display: inline-flex; gap: 2px; padding: 2px; height: 30px; border-radius: 999px; background: var(--sup3); flex: 0 0 auto; }
.ins-app .apariencia button { all: unset; box-sizing: border-box; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: var(--suave); cursor: pointer; transition: color .2s; }
.ins-app .apariencia.idi button { width: auto; min-width: 32px; padding: 0 9px; border-radius: 999px; font: 600 12px/1 var(--font); letter-spacing: .02em; }
.ins-app .apariencia button:hover, .ins-app .apariencia button[aria-pressed="true"] { color: var(--tinta); }
.ins-app .apariencia button[aria-pressed="true"] { background: var(--sup); box-shadow: var(--sh-ind), 0 1px 2px rgba(30, 34, 72, .1); }
.ins-app .apariencia button:focus-visible { outline: 2px solid var(--pri); outline-offset: 1px; }
:root[data-theme="dark"] .ins-app .apariencia button[aria-pressed="true"] { background: var(--linea2); box-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .ins-app .apariencia button[aria-pressed="true"] { background: var(--linea2); box-shadow: 0 1px 2px rgba(0, 0, 0, .35); } }
.ins-app .apariencia svg { width: 14px; height: 14px; }
