@layer panel {
@font-face{font-family:Gilroy;src:url(/fuentes/gilroy-400.bfd8205dd8.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fuentes/gilroy-500.97b1163c39.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fuentes/gilroy-600.980e0aeb87.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Gilroy;src:url(/fuentes/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. Claro: Omnica Web Library 2.0. Oscuro: adaptación propia, sin 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: #B73232; --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: #FFA9A9; --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: #FFA9A9; --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); }
/* El cambio de tema: el nuevo se abre en círculo desde el botón pulsado (arranque.js, aplicarTema); sin fundidos. */
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; }

/* Iconos Omnica: el SVG original como máscara, color del tema */
.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); }
/* El rojo lleno va siempre con --relleno-rojo (el de simlatech.ai): 4,5:1 o más bajo la letra blanca. */
.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); }
.b:disabled { opacity: .45; cursor: not-allowed; }
.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; }
.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; }
/* Copiar (27/10/2026, la 1 del pliego copiar-y-crear): al copiar, el icono pasa a una marca verde en su sitio (.cp-m, que
   pone copiado() sobre el centro del icono) y el texto del botón, a «Copiado». Solo transform y 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; }

/* ============ Datos pequeños ============ */
.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; }
/* El indicador, con el mismo hueco arriba y abajo también a la vista: sin sombra desplazada hacia abajo (14/10/2026). */
.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; }
/* La cifra, en la línea base de su texto (Luis, 03/11/2026, design/ajustes-listas: «los números en cada tab… se ven movidos»):
   centrada en su caja, con Gilroy quedaba 0,7 px más arriba que el texto. El texto sigue centrado (renglón de 16 px). */
.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; }
/* En el teléfono y la tableta, Safari de iOS acerca la página al tocar un campo con letra de menos de 16 px y no la
   devuelve: el botón de enviar se salía de la pantalla (Luis, 15/10/2026). Con 16 px no acerca nada. También el campo
   oculto de la terminal (xterm) y los editables del correo. */
@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); } }

/* Menús emergentes: compactos */
.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); }

/* ============ Página ============ */
.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; }
/* Puertos públicos (Servicios) */
.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; }
/* La llave por descargar: el icono en su recuadro, 16 px de margen por todos los lados y el botón con aire (19/10/2026). */
.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%; }
/* Los cajones van rectos y pegados al borde, de arriba abajo y sin huecos, como el panel de simlatech.ai (Luis,
   14/10/2026: «que así sea siempre»). En el teléfono, a pantalla entera. */
.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; }

/* Avisos y globos */
#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); }

/* ============ Entradas: fondos lentos, sin 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; }

/* Lo propio del panel, sobre estilos.css de SimlaTech Server Admin (los mismos tokens claro y oscuro, Gilroy y Omnica). */
html, body { height: 100%; }
body { overflow: hidden; }
#app { height: 100dvh; }
.app { position: relative; height: 100%; overflow: hidden; background: var(--bg); transform: translateZ(0); }

/* El armazón: riel de iconos y panel, como 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; }
.contenido { overflow: auto; min-width: 0; min-height: 0; padding: 22px 26px 96px; }
.marco { min-width: 0; }   /* a todo el ancho, como los apartados de los paneles */

/* La dirección y la clave del webhook (Ajustes › 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; }

/* La tabla */
.t-reg { min-width: 760px; }
.t-reg td small { display: block; font-size: 12px; line-height: 16px; color: var(--suave); }
.t-reg .c-fecha { white-space: nowrap; font-variant-numeric: tabular-nums; }
.t-reg .c-contacto { max-width: 280px; }
.t-reg .c-contacto b { display: block; font-weight: 600; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.t-reg .c-campana { max-width: 220px; overflow-wrap: anywhere; }
.sub-simla { display: block; max-width: 260px; margin-top: 2px; white-space: normal; overflow-wrap: anywhere; }
.t-reg td small.sub-simla.mal, .sub-simla.mal { color: var(--mal); }
.sin-dato { color: var(--tenue); }

/* El cajón del detalle */
.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; }
.t-campos { font-size: 13.5px; }
.t-campos td { height: auto; padding: 8px 12px; overflow-wrap: anywhere; }
.t-campos th { padding: 8px 12px; }
.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; }

/* La entrada */
.ent { height: 100%; overflow: auto; display: grid; place-items: center; padding: 32px 16px; }
.ent-col { width: min(400px, 100%); }
.ent-arriba .logo-largo img { height: 28px; }
.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; }
.ent-sin { display: grid; gap: 10px; font-size: 14px; color: var(--suave); }
.ent-sin code { display: block; padding: 10px 12px; border-radius: 8px; background: var(--sup2); border: 1px solid var(--linea); font: 13px/19px var(--mono); color: var(--tinta); overflow-wrap: anywhere; }

/* Avisos: abajo a la derecha, uno a la vez */
#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; }
  .contenido { padding: 16px 14px 40px; }
  .metricas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .herramientas .buscador { width: 100%; }
  .herramientas .seg { flex-wrap: wrap; overflow: visible; }
  .cajon { width: 100%; }
  #avisos { left: 14px; right: 14px; bottom: 74px; justify-items: stretch; }
}

/* Sin estilos en línea: la CSP solo deja los de este archivo */
.a-dcha { margin-left: auto; }
.i-voltear { transform: scaleX(-1); }
.col-nombre { display: block; margin-top: 2px; font-size: 12px; line-height: 16px; color: var(--suave); }
.t-campos td:first-child { width: 48%; }

/* En el teléfono, cada aviso es una ficha (como las tablas de Server Admin en el teléfono): nada se desliza de lado */
@media (max-width: 720px) {
  .tabla-caja:has(.t-reg) { overflow: visible; border: 0; background: none; border-radius: 0; }
  .t-reg { min-width: 0; }
  .t-reg thead { display: none; }
  .t-reg tbody { display: grid; gap: 10px; }
  .t-reg tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "fecha res" "contacto contacto" "campana simla"; gap: 8px 12px;
    padding: 12px 14px; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; }
  .t-reg tbody tr[aria-selected="true"] { border-color: var(--azul); }
  .t-reg td, .t-reg tbody tr:last-child td { display: block; padding: 0; border: 0; height: auto; }
  .t-reg tbody tr[aria-selected="true"] td:first-child { box-shadow: none; }
  .t-reg .c-fecha { grid-area: fecha; } .t-reg .c-res { grid-area: res; justify-self: end; }
  .t-reg .c-contacto { grid-area: contacto; max-width: none; }
  .t-reg .c-campana { grid-area: campana; align-self: center; max-width: none; color: var(--suave); font-size: 13px; }
  .t-reg .c-simla { grid-area: simla; justify-self: end; text-align: right; }
  .t-reg .c-simla .sub-simla { margin-left: auto; }
}

/* La paginación, la de Simla Landing Builder (la 3 «Franja»): siempre bajo la lista, también con uno; «Por página» 10 · 50 · 100
   a la izquierda, las páginas con sus flechas en medio y «1–10 de 23» a la derecha; estrecha, en dos filas */
.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); opacity: .6; 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); }
.t-reg .c-simla { white-space: nowrap; }

/* Ajustes */
.fila-int { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fila-int b { display: block; font-size: 14.5px; }
.fila-int p, .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; }
.form-rejilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.campo-ayuda { font-size: 12px; line-height: 16px; color: var(--tenue); }
.pila { display: grid; gap: 14px; }
.pila .tarjeta + .tarjeta { margin-top: 0; }
.t-camp { min-width: 720px; } .t-camp .in { height: 32px; min-width: 200px; }
.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; }
@media (max-width: 720px) { .form-rejilla { grid-template-columns: minmax(0, 1fr); } .fila-int { align-items: flex-start; } }

/* 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; }
.campo-ancho { grid-column: 1 / -1; }
.permisos { margin-top: 12px; }
.b-rojo { color: var(--mal); } .b-rojo:hover { background: var(--mal-f); color: var(--mal); }
.t-mapeo td { height: auto; padding: 8px 12px; vertical-align: middle; } .t-mapeo td:first-child { width: 42%; }
.t-mapeo .in { height: 34px; }
.t-sep td { background: var(--sup2); font-size: 12px; font-weight: 700; color: var(--suave); padding: 6px 12px; }
.pie-form .b-rojo { margin-right: auto; }

.form-rejilla > .campo { align-content: start; }

/* Ajustes › Formularios */
.form-gads h3 .chapas { gap: 6px; }
.form-mapa { margin-top: 14px; }
.cambia > .tarjeta + .tarjeta, .cambia > .nota + .tarjeta { margin-top: 14px; }

/* Ajustes, anclado al pie del riel encima de «Salir» (Luis, 07/11/2026) */
.pn-pie { display: grid; gap: 4px; justify-items: center; }
@media (max-width: 720px) { .pn-pie { display: flex; gap: 8px; } }

/* Ajustes con «Filas con su control» (el patrón aprobado de ajustes): nombre y su línea a la izquierda, control a la derecha */
.aj-sec { padding: 4px 20px 6px; }
.aj-sec > h3 { margin: 14px 0 6px; }
.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-sec > h3 + .aj-fila { border-top: 0; }
.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; }
.aj-oblig { margin: 4px 0 12px; padding: 10px 12px; border: 1px solid var(--linea); border-radius: 8px; background: var(--sup2); font-size: 13px; }
.aj-oblig ul { display: grid; gap: 4px; margin-top: 6px; } .aj-oblig .e-bien { color: var(--bien); } .aj-oblig .e-mal { color: var(--mal); }
.aj-sec .tabla-caja { margin-bottom: 14px; }
.aj-sec form > .pie-form, .aj-guardar { margin: 0; }
.aj-sec .nota-mal { margin: 4px 0 10px; }
@media (max-width: 720px) {
  .aj-sec { padding: 2px 14px 4px; }
  .aj-fila { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .aj-ctl { justify-content: stretch; } .aj-ctl > .b { flex: 1 1 auto; }
}

.cambia > .aj-sec + form, .cambia > .aj-sec + .aj-sec { margin-top: 14px; }

/* Desplegables de la app (regla: ningún control nativo del navegador a la vista). La pieza .desp de estilos.css: un botón con lo
   elegido y su lista debajo, pegada y de su ancho; el <select> queda oculto dentro y guarda el valor */
.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.desp-vacio > span:first-child { color: var(--tenue); }
.desp-boton.falta { border-color: var(--mal-p); box-shadow: 0 0 0 3px var(--mal-f); }
.desp.abierto { z-index: 46; }
.desp-lista { max-height: 300px; }
.desp-lista .desp-op { height: auto; min-height: 34px; padding: 7px 10px; line-height: 19px; white-space: normal; }
.desp-lista .desp-op span:first-child { white-space: normal; overflow-wrap: anywhere; }
.desp-lista .desp-op[hidden] { display: none; }
.desp-op .marca-ok { color: var(--azul); }
.desp-grupo { padding: 8px 10px 4px; font-size: 11.5px; font-weight: 700; color: var(--tenue); letter-spacing: .2px; }
.desp-grupo[hidden] { display: none; }
.desp-busca { position: sticky; top: -4px; z-index: 1; display: flex; align-items: center; gap: 8px; margin: -4px -4px 4px; padding: 6px 12px; background: var(--sup); border-bottom: 1px solid var(--linea); }
.desp-busca .i { --s: .62; color: var(--tenue); }
.desp-busca input { flex: 1; min-width: 0; height: 30px; border: 0; outline: 0; background: none; color: var(--tinta); font-size: 14px; }
.desp-nada { padding: 10px; font-size: 13px; color: var(--suave); text-align: center; }
.tabla-caja:has(.desp.abierto) { overflow: visible; }
.aj-ctl > .desp { width: 100%; }
/* Sin la «x» del buscador del navegador */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }

/* El mapeo en el teléfono: cada campo de Google, una ficha con su desplegable debajo (nada se desliza de lado) */
@media (max-width: 720px) {
  .t-mapeo thead { display: none; }
  .t-mapeo, .t-mapeo tbody, .t-mapeo tr, .t-mapeo td { display: block; width: 100%; }
  .t-mapeo tr { padding: 10px 12px; border-bottom: 1px solid var(--linea); }
  .t-mapeo tbody tr:last-child { border-bottom: 0; }
  .t-mapeo td, .t-mapeo tbody tr:last-child td { padding: 0; border: 0; height: auto; }
  .t-mapeo td:first-child { width: auto; margin-bottom: 6px; }
  .t-mapeo .t-sep { padding: 6px 12px; } .t-mapeo .t-sep td { padding: 0; background: none; }
}

/* El riel (la 1 del pliego «Inicio y orden del panel», 07/11/2026): el logo lleva a Inicio; Inicio y Leads arriba; cada icono dice
   su nombre al pasar el puntero, en un globo a su derecha */
.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%); }

/* Cabecera de cada página: el título y una línea que dice para qué es */
.cab-txt { min-width: 0; }
.cab-sub { margin-top: 2px; font-size: 14px; line-height: 20px; color: var(--suave); }

/* Inicio: el estado de Google Ads y de Simla */
.estados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.est-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; min-width: 0; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; color: inherit; text-decoration: none; transition: border-color .2s; }
.est-card:hover { border-color: var(--linea2); }
.est-txt { flex: 1; min-width: 0; }
.est-txt b { display: block; font-size: 14.5px; line-height: 20px; }
.est-txt small { display: block; font-size: 12.5px; line-height: 18px; color: var(--suave); }
.est-ico { display: grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 11px; background: var(--azul-s); color: var(--azul-tinta); }
.est-ico .i { --s: .75; }
.est-simla { background: var(--morado-f); } .est-ico img { display: block; width: 24px; height: 24px; }
.est-card .estado { flex: 0 0 auto; }

/* Primeros pasos (Inicio) y los pasos de Ajustes › Google Ads */
.pasos-lista, .pasos-dib { display: grid; }
.pasos-lista li, .pasos-dib li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--linea); }
.pasos-lista li:first-child, .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; }
.hecho .paso-n { background: var(--bien-f); color: var(--bien); } .hecho .paso-txt b { color: var(--suave); }
.pasos-lista .b { flex: 0 0 auto; }
.pasos-dib .dib { margin-left: auto; flex: 0 0 auto; }
.aj-sec .pasos-dib { margin-bottom: 8px; }

/* Inicio: las cifras de hoy, lo que requiere atención y los últimos leads */
.met-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tarjeta-atencion { border-color: var(--aviso-p); }
.lista-ult li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--linea); }
.lista-ult li:first-child { border-top: 0; padding-top: 2px; }
.lista-ult li:last-child { padding-bottom: 0; }
.lu-txt { flex: 1; min-width: 0; }
.lu-txt b { display: block; font-size: 14px; line-height: 20px; font-weight: 600; overflow-wrap: anywhere; }
.lu-txt small { display: block; font-size: 12.5px; line-height: 18px; color: var(--suave); overflow-wrap: anywhere; }
.lu-fila { cursor: pointer; } .lu-fila:hover .lu-txt b { color: var(--azul-tinta); }
.lista-ult .b { flex: 0 0 auto; }
.tarjeta h3 a.b { margin-left: auto; height: 30px; padding: 0 10px; font-size: 13px; }

/* Los dibujos de los «?» y de los pasos: una pieza de Google Ads o de Simla en pequeño */
.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); }
.dib-campo { display: grid; padding: 4px 8px; border-radius: 6px; border: 1px solid var(--linea2); font: 12px/16px var(--mono); overflow-wrap: anywhere; }
.dib-campo small { font: 600 10px/12px var(--font); color: var(--tenue); }
.dib-nota { font-size: 11px; line-height: 14px; color: var(--tenue); }
.dib-boton { padding: 5px 10px; border-radius: 6px; background: var(--azul); color: #fff; font-size: 12px; font-weight: 600; }
.dib-ok { padding: 5px 10px; border-radius: 6px; background: var(--bien-f); color: var(--bien); font-size: 12px; font-weight: 600; }
.dib-fila { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; }
.dib-punto { width: 8px; height: 8px; border-radius: 50%; background: var(--tenue); } .dib-punto.ok { background: var(--bien-p); }

@media (max-width: 720px) {
  .pn-ops, .pn-pie { display: flex; align-items: center; gap: 8px; }   /* en el teléfono, el riel es la barra de abajo: todo en una fila */
  .nav-rot { display: none; }
  .estados { grid-template-columns: minmax(0, 1fr); }
  .met-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cab-acc { margin-left: 0; }
  .pasos-lista li { flex-wrap: wrap; } .pasos-lista .b { margin-left: 40px; }
  .pasos-dib li { flex-wrap: wrap; } .pasos-dib .dib { margin-left: 40px; }
  .lista-ult li { flex-wrap: wrap; } .tarjeta-atencion .lista-ult .lu-txt { flex-basis: 100%; }
}

/* Cada tarjeta entra con su animación y queda en su propia capa: la que tiene una lista abierta va por encima de las demás (el globo del «?» va fuera, fijo) */
.tarjeta:has(.desp.abierto) { position: relative; z-index: 5; }
@media (min-width: 721px) { .herramientas .buscador { width: 320px; } }

/* Las tarjetas de estado de Inicio son enlaces: sin subrayado al pasar el puntero */
.est-card:hover, .est-card:hover * { text-decoration: none; }

/* Botones y enlaces del riel: sin subrayado */
a.b:hover, a.nav-op:hover, a.pn-logo:hover { text-decoration: none; }

/* Inicio: cada bloque con su espacio, sin pegarse (Luis, 07/11/2026: «los bloques colapsan») */
.pila-inicio { display: grid; gap: 14px; min-width: 0; }
.pila-inicio > .estados, .pila-inicio > .metricas, .pila-inicio > .tarjeta { margin: 0; }

/* El reintento programado: ámbar, como lo que espera */
.e-aviso { color: var(--aviso); }
.e-aviso i { background: var(--aviso-p); }

/* Campañas en el teléfono: cada campaña, una ficha (nada se desliza de lado) */
@media (max-width: 720px) {
  .tabla-caja:has(.t-camp) { overflow: visible; border: 0; background: none; border-radius: 0; }
  .t-camp, .t-camp tbody { display: block; min-width: 0; }
  .t-camp thead { display: none; }
  .t-camp tbody { display: grid; gap: 10px; }
  .t-camp tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; padding: 12px 14px; background: var(--sup); border: 1px solid var(--linea); border-radius: 12px; }
  .t-camp td, .t-camp tbody tr:last-child td { display: block; padding: 0; border: 0; height: auto; text-align: left; }
  .t-camp .c-id, .t-camp td[data-rot="Nombre"], .t-camp td[data-rot="Etiquetas del cliente"] { grid-column: 1 / -1; }
  .t-camp td[data-rot]::before { content: attr(data-rot); display: block; margin-bottom: 4px; font: 600 12px/16px var(--font); color: var(--suave); }
  .t-camp .in { min-width: 0; width: 100%; }
}

/* El pliego «Ajustes, campos y registros»: lo nuevo sobre el CSS del panel. Una clase .opN en <html> por manera. */
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); }

/* ---------- El tipo de un campo, como lo llama Simla: una píldora a la izquierda del nombre ---------- */
.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; }

/* ---------- Enlaces a Simla, con el icono de abrir ---------- */
.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; }

/* ---------- Copiar: solo el icono; al pulsar, la marca entra y el icono sale ---------- */
.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); }

/* ---------- Los registros: los bloques de código ---------- */
.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); }
.tl { display: grid; gap: 0; } .tl-p { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; }
.tl-dot { position: relative; } .tl-dot::before { content: ''; position: absolute; left: 5px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--bien-p); }
.tl-dot.ko::before { background: var(--mal-p); } .tl-dot::after { content: ''; position: absolute; left: 9px; top: 20px; bottom: -6px; width: 2px; background: var(--linea); }
.tl-p:last-child .tl-dot::after { display: none; } .tl-c { padding-bottom: 14px; min-width: 0; }
.tl-c details > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--azul-tinta); font-weight: 600; margin-top: 4px; }
.tl-c details > summary::-webkit-details-marker { display: none; } .tl-c details > summary .i { --s: .55; transition: transform .2s; } .tl-c details[open] > summary .i { transform: rotate(180deg); }
.tl-c details .gh { margin-top: 8px; }
.tabs-code { border: 1px solid var(--linea2); border-radius: 10px; overflow: hidden; }
.tabs-code .tc-cab { display: flex; align-items: center; gap: 2px; padding: 4px; background: var(--sup2); border-bottom: 1px solid var(--linea); }
.tabs-code .tc-cab button { height: 28px; padding: 0 10px; border-radius: 7px; font-size: 12.5px; font-weight: 600; color: var(--suave); }
.tabs-code .tc-cab button[aria-pressed="true"] { background: var(--sup); color: var(--tinta); box-shadow: var(--sh1); }
.tabs-code .tc-cab .bi { margin-left: auto; }
.tabs-code pre { margin: 0; padding: 10px 12px; font: 12.5px/19px var(--mono); white-space: pre-wrap; overflow-wrap: anywhere; max-height: 240px; overflow: auto; background: var(--sup); }
.fila-log { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--linea); font-size: 13.5px; }
.fila-log:first-child { border-top: 0; } .fila-log > span:nth-child(2) { flex: 1; min-width: 0; } .fila-log small { display: block; color: var(--suave); font-size: 12.5px; }
.plegable > summary { cursor: pointer; list-style: none; } .plegable > summary::-webkit-details-marker { display: none; }
.plegable > summary .ver { color: var(--azul-tinta); font-weight: 600; font-size: 12.5px; }
.plegable[open] > summary .ver::after { content: ' · ocultar'; }
.plegable .term { margin-top: 8px; }

/* ---------- La lectura de Simla (cada cuánto se vuelve a leer la cuenta) ---------- */
.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 .marca-ok, .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); }
.lect { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; font-size: 13px; color: var(--suave); }
.lect b { color: var(--tinta); font-weight: 600; }
.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); }

/* ---------- Mapeo: la barra (buscador, tipo, cliente o pedido), la lista y el selector de campo ---------- */
.barra-c { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; margin: 2px 0 12px; }
.barra-c .buscador { width: 260px; max-width: 100%; }
.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; } .cat-f { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 10px 2px; border-top: 1px solid var(--linea); }
.cat-f:first-child { border-top: 0; } .cat-f.off { opacity: .75; }
.ent { font-size: 12px; font-weight: 600; color: var(--suave); }
.map-t { width: 100%; border-collapse: collapse; } .map-t td { padding: 10px 8px; border-top: 1px solid var(--linea); vertical-align: middle; } .map-t tr:first-child td { border-top: 0; }
.map-t td:first-child { width: 40%; } .map-t .flecha { width: 20px; color: var(--tenue); text-align: center; }
.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] { opacity: .55; cursor: not-allowed; }
.pk-o .campo-n { flex: 1; }
.conector { display: grid; grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); align-items: center; gap: 0; padding: 8px 0; }
.caja-g { padding: 8px 12px; border-radius: 10px; border: 1px solid var(--linea); background: var(--sup2); }
.linea-c { height: 2px; background: var(--linea2); position: relative; } .linea-c::after { content: ''; position: absolute; right: -1px; top: -4px; border: 5px solid transparent; border-left-color: var(--linea2); }
.linea-c.mal { background: var(--aviso-p); } .linea-c.mal::after { border-left-color: var(--aviso-p); }
.tarj-q { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); }
.rej-q { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }

/* ---------- 1. Submenú, como 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, .tel-ic { 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, .tel-ic .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); }
/* La lista del teléfono, como Ajustes de iOS (también la portada de la 2) */
.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. Ajustes como iOS: la portada centrada ---------- */
.op2 .ios-portada { max-width: 760px; margin: 0 auto; }
.op2 .pagina { max-width: 980px; margin: 0 auto; }

/* ---------- 3. Pestañas en el escritorio; en el teléfono, una hoja que sube ---------- */
.pest { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--linea); margin-bottom: 16px; }
.pest button { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 12px; color: var(--suave); font-size: 13.5px; font-weight: 600; white-space: nowrap; border-bottom: 2px solid transparent; }
.pest button .i { --s: .6; } .pest button[aria-pressed="true"] { color: var(--tinta); border-bottom-color: var(--azul); }
.selector-s { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 12px; margin-bottom: 14px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); text-align: left; }
.selector-s b { flex: 1; font-size: 15px; } .selector-s small { color: var(--suave); font-size: 12px; display: block; } .selector-s > .i-chevron-down { --s: .6; color: var(--suave); }
.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; }
@keyframes sube-h { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes aparece { from { opacity: 0; } to { opacity: 1; } }

/* ---------- 4. Inspector ---------- */
.insp { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; align-items: start; }
.insp-l { position: sticky; top: 0; display: grid; gap: 2px; padding: 8px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); }
.insp-l button { display: flex; align-items: center; gap: 8px; height: 34px; padding: 0 10px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--suave); text-align: left; }
.insp-l button .i { --s: .6; } .insp-l button.on { background: var(--azul-s); color: var(--azul-tinta); } .insp-l .sm-gt { padding: 8px 10px 4px; }
.map-insp { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 14px; align-items: start; }
.q-lista { display: grid; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; background: var(--sup); }
.q-lista button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; padding: 10px 12px; text-align: left; border-top: 1px solid var(--linea); }
.q-lista button:first-child { border-top: 0; } .q-lista button.on { background: var(--azul-s); } .q-lista button .campo-n { grid-column: 1 / -1; }
.insp-c { padding: 14px 16px; border-radius: 12px; background: var(--sup); border: 1px solid var(--linea); display: grid; gap: 12px; }
.insp-c .pk-l { max-height: 330px; overflow: auto; display: grid; border: 1px solid var(--linea); border-radius: 10px; padding: 4px; }

/* ---------- 5. Una página con índice ---------- */
.una { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 20px; align-items: start; }
.indice { position: sticky; top: 0; display: grid; gap: 2px; padding-top: 4px; }
.indice a { display: flex; align-items: center; gap: 8px; height: 32px; padding: 0 10px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--suave); text-decoration: none; border-left: 2px solid transparent; }
.indice a.on { color: var(--azul-tinta); background: var(--azul-s); }
.una-sec { scroll-margin-top: 12px; } .una-sec + .una-sec { margin-top: 22px; }
.una-sec > h2 { display: flex; align-items: center; gap: 8px; font-size: 18px; line-height: 24px; margin: 0 0 10px; } .una-sec > h2 .i { --s: .66; color: var(--suave); }
.flota { position: absolute; z-index: 40; right: 14px; bottom: 76px; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 16px; border-radius: 999px; background: var(--tinta); color: var(--bg); font-weight: 600; font-size: 14px; box-shadow: var(--sh3); }
.flota .i { --s: .6; }

/* ---------- 6. Resumen y hojas ---------- */
.resumen { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.res-t { display: grid; gap: 8px; padding: 14px 16px; border-radius: 14px; background: var(--sup); border: 1px solid var(--linea); text-align: left; transition: border-color .2s, transform .2s; }
.res-t:hover { border-color: var(--azul); transform: translateY(-1px); }
.res-t .res-c { display: flex; align-items: center; gap: 10px; } .res-t .res-c b { flex: 1; font-size: 15px; }
.res-t ul { display: grid; gap: 4px; font-size: 13px; color: var(--suave); } .res-t ul b { color: var(--tinta); font-weight: 600; }
.lado { position: absolute; z-index: 71; top: 0; right: 0; bottom: 0; width: min(620px, 100%); display: grid; grid-template-rows: auto minmax(0, 1fr); background: var(--bg); box-shadow: var(--sh3); border-left: 1px solid var(--linea); animation: entra-l .32s cubic-bezier(.22, 1, .36, 1) both; }
.lado-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); } .lado-cab b { flex: 1; font-size: 16px; }
.lado-c { overflow: auto; padding: 16px; }
.modal { position: absolute; z-index: 71; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(640px, calc(100% - 24px)); max-height: 80%; display: grid; grid-template-rows: auto minmax(0, 1fr); border-radius: 14px; background: var(--bg); box-shadow: var(--sh3); overflow: hidden; animation: aparece .2s both; }
.modal-c { overflow: auto; padding: 14px; }
@keyframes entra-l { from { transform: translateX(100%); } to { transform: translateX(0); } }

/* ---------- El cajón del detalle ---------- */
.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; }

/* ---------- Teléfono ---------- */
@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, .map-insp { grid-template-columns: minmax(0, 1fr); }
  .insp-l, .indice { display: none; }
  .map-t, .map-t tbody, .map-t tr, .map-t td { display: block; width: 100%; } .map-t tr { padding: 10px 0; border-top: 1px solid var(--linea); } .map-t tr:first-child { border-top: 0; }
  .map-t td { padding: 0; border: 0; } .map-t td:first-child { width: auto; margin-bottom: 6px; } .map-t .flecha { display: none; }
  .conector { grid-template-columns: minmax(0, 1fr); gap: 6px; } .linea-c { display: none; }
  .cat-f { grid-template-columns: minmax(0, 1fr) auto; } .cat-f .ent { display: none; }
  .cajon-p, .lado { width: 100%; border-left: 0; }
  .datos { grid-template-columns: minmax(0, 1fr); gap: 2px; } .datos dd { margin-bottom: 8px; }
  .barra-c .buscador { width: 100%; }
  .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; } }

/* El pliego «Rediseño: secciones, cuentas e instalador»: cuentas, entrada, instalador, perfil, listas y guía, sobre los tokens
   de la app. Lo de entrar, el alta, la contraseña, el perfil, los grupos, el correo y el instalador sale de lo aprobado en
   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»). Solo transform y opacity en lo que se mueve. */

/* ---------- Iconos nuevos (máscara, como los de la app) ---------- */
.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; }

/* ---------- El menú de tu cuenta: a la derecha del riel, pegado abajo; en el teléfono, una hoja ---------- */
.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; }

/* ---------- La ventana partida para entrar («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; }
/* Los pasos del alta y del instalador */
.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 { opacity: .35; cursor: not-allowed; }
/* Las casillas del código (seis cifras; el de instalación, ocho letras y cifras) */
.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; }
/* Las reglas de la contraseña, que se cumplen al escribir */
.reglas { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin-top: -4px; }
.reglas li { display: flex; align-items: center; gap: 7px; font-size: 12.5px; line-height: 17px; color: var(--tenue); transition: color .2s; }
.reglas li::before { content: ''; width: 14px; height: 14px; flex: 0 0 auto; border-radius: 50%; border: 1.5px solid currentColor; transition: background .2s, border-color .2s; }
.reglas li.si { color: var(--bien); } .reglas li.si::before { background: var(--bien) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 12.5 4 4 8-9'/></svg>") center/10px no-repeat; border-color: var(--bien); }
/* El QR de la verificación en dos pasos y los códigos de respaldo */
.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); }

/* ---------- El mosaico de la ventana: los leads de camino a Simla (en calma, solo transform) ---------- */
.mos { position: absolute; inset: -60px 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mos-col { display: grid; gap: 16px; align-content: start; animation: mosSube 46s linear infinite alternate; }
.mos-col:nth-child(2) { margin-top: 70px; animation-name: mosBaja; }
@keyframes mosSube { to { transform: translateY(-140px); } } @keyframes mosBaja { to { transform: translateY(120px); } }
.mos-t { background: var(--sup); border: 1px solid var(--linea); border-radius: 14px; box-shadow: var(--sh2); padding: 14px; display: grid; gap: 9px; font-size: 13px; }
.mos-t .mt-cab { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--suave); font-weight: 600; } .mos-t .mt-cab .i { --s: .55; }
.mos-t b { font-size: 14.5px; } .mos-t .mt-f { height: 26px; border-radius: 6px; border: 1px solid var(--linea2); display: flex; align-items: center; padding: 0 8px; color: var(--tenue); font-size: 12px; }
.mos-t .mt-b { height: 28px; border-radius: 6px; background: linear-gradient(180deg, var(--pri-a), var(--pri-b)); color: var(--pri-tinta); display: grid; place-items: center; font-weight: 600; font-size: 12.5px; }
.mos-t .mt-fila { display: flex; align-items: center; gap: 10px; } .mos-t .mt-fila > span:nth-child(2) { display: grid; flex: 1; min-width: 0; } .mos-t small { color: var(--suave); font-size: 12px; }
.mos-t .mt-num { font-size: 26px; line-height: 30px; font-weight: 700; letter-spacing: -.5px; }
.mos-t .mt-map { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; } .mos-t .mt-map .mono { font-size: 11.5px; }

/* ---------- El instalador web: la ventana, más ancha, con el progreso a la izquierda ---------- */
.ins-ledger { border-right: 1px solid var(--linea); padding: 22px 16px; overflow: auto; background: var(--sup2); }
.ins-ledger b { display: block; font-size: 12px; letter-spacing: .4px; text-transform: uppercase; color: var(--tenue); margin: 0 0 10px 8px; }
.ins-ledger ul { display: grid; gap: 2px; }
.ins-ledger li { display: flex; align-items: center; gap: 10px; min-height: 34px; padding: 0 8px; border-radius: 8px; font-size: 13.5px; font-weight: 600; color: var(--suave); }
.ins-ledger li > span { width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--linea2); display: grid; place-items: center; flex: 0 0 auto; }
.ins-ledger li > span .i { --s: .5; }
.ins-ledger li.hecho > span { background: var(--bien); border-color: var(--bien); color: #fff; } .ins-ledger li.salto > span { border-style: dashed; }
.ins-ledger li.ahora { background: var(--azul-s); color: var(--azul-tinta); } .ins-ledger li.ahora > span { border-color: var(--azul); box-shadow: inset 0 0 0 4px var(--sup); background: var(--azul); }
.ins-ledger li em { margin-left: auto; font-style: normal; font-size: 11.5px; color: var(--tenue); font-weight: 600; }
.ins-cheq { display: grid; gap: 2px; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.ins-cheq li { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 8px 14px; border-top: 1px solid var(--linea); font-size: 14px; }
.ins-cheq li:first-child { border-top: 0; } .ins-cheq li > span:nth-child(2) { flex: 1; display: grid; } .ins-cheq small { color: var(--suave); font-size: 12.5px; }
.ins-cheq .ic { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; background: var(--sup3); color: var(--tenue); }
.ins-cheq .ic .i { --s: .5; } .ins-cheq li.ok .ic { background: var(--bien); color: #fff; } .ins-cheq li.corre .ic { background: none; border: 2px solid var(--azul); border-right-color: transparent; animation: gira .7s linear infinite; }
.ins-cheq li.mal .ic { background: var(--mal); color: #fff; }
.ins-omitir { justify-self: center; } .ins-acc { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.term-ins { height: 236px; } .term-ins pre { height: calc(100% - 38px); overflow: auto; }
.term .t-ok { color: #7ee2a8; } .term .t-mal { color: #ff8f8f; } .term .t-tenue { color: #8b95a7; } .term .t-azul { color: #8ab4ff; } .term .t-cod { color: #fff; font-weight: 700; letter-spacing: 1px; }
/* La consola del servidor, la primera pantalla del instalador */
.consola-p { position: absolute; inset: 0; display: grid; grid-template-rows: 40px minmax(0, 1fr); background: #0d1117; color: #d6deeb; font: 13px/21px var(--mono); }
.consola-p .cp-cab { display: flex; align-items: center; gap: 8px; padding: 0 14px; background: #161b22; color: #8b95a7; font-size: 12.5px; }
.consola-p .cp-cab i { width: 11px; height: 11px; border-radius: 50%; background: #3a4150; } .consola-p .cp-cab span { margin-left: 8px; }
.consola-p pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.consola-p .t-ok { color: #7ee2a8; } .consola-p .t-tenue { color: #8b95a7; } .consola-p .t-azul { color: #8ab4ff; } .consola-p .t-cod { color: #fff; font-weight: 700; letter-spacing: 1px; } .consola-p .t-p { color: #c3e88d; }
.consola-p .cursor-t { display: inline-block; width: 8px; height: 16px; background: #d6deeb; vertical-align: -3px; animation: parpadea 1s steps(1) infinite; }
@keyframes parpadea { 50% { opacity: 0; } }

/* ---------- La bandeja: el correo que llega (invitación, recuperar la contraseña) ---------- */
.bnd { position: absolute; inset: 0; display: grid; grid-template-columns: 300px minmax(0, 1fr); background: var(--bg); }
.bnd-l { border-right: 1px solid var(--linea); background: var(--sup); overflow: auto; }
.bnd-l > b { display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 16px; border-bottom: 1px solid var(--linea); font-size: 15px; } .bnd-l > b .i { --s: .62; color: var(--suave); }
.bnd-f { display: grid; gap: 2px; padding: 12px 16px; border-bottom: 1px solid var(--linea); font-size: 13px; color: var(--suave); text-align: left; width: 100%; }
.bnd-f b { font-size: 13.5px; color: var(--tinta); } .bnd-f.on { background: var(--azul-s); } .bnd-f.nuevo b::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--azul); margin-right: 7px; vertical-align: 2px; }
.bnd-c { overflow: auto; padding: 28px; }
.bnd-meta { max-width: 600px; margin: 0 auto 14px; display: grid; gap: 4px; font-size: 13px; color: var(--suave); } .bnd-meta b { font-size: 18px; line-height: 24px; color: var(--tinta); }
.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); }
.bnd-tel-cab { display: none; }

/* ---------- La entrada al 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; } }

/* ---------- La primera vez: «Hola» y lo que puede hacer tu grupo ---------- */
.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); }

/* ---------- Mi perfil («Título a la izquierda») ---------- */
.pf { display: grid; background: var(--sup); border: 1px solid var(--linea); border-radius: 16px; padding: 0 24px; }
.pf-sec { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 24px; padding: 22px 0; border-top: 1px solid var(--linea); }
.pf-sec:first-child { border-top: 0; } .pf-sec > div:first-child { display: grid; gap: 4px; align-content: start; }
.pf-sec h3 { font-size: 15px; line-height: 20px; } .pf-sec > div:first-child p { color: var(--suave); font-size: 13px; line-height: 19px; }
.pf-c { display: grid; gap: 12px; align-content: start; min-width: 0; }
.pf-foto { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; } .pf-foto-acc { display: flex; gap: 8px; flex-wrap: wrap; }
.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); }
.mini-t { border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.mini-t > div { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--linea); font-size: 13.5px; }
.mini-t > div:first-child { border-top: 0; } .mini-t .mt-h { font-size: 12px; color: var(--tenue); font-weight: 600; background: var(--sup2); }
.mini-t small { display: block; color: var(--suave); font-size: 12px; } .mini-t .estado { font-size: 12px; }
.mini-t-pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--linea); font-size: 13px; color: var(--suave); background: var(--sup2); }

/* ---------- Ventanas: tu foto, invitar, una plantilla ---------- */
.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); }

/* ---------- Avisos (uno solo a la vez, abajo a la derecha; en el teléfono, sobre la barra) ---------- */
.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); } }

/* ---------- Una lista que aguanta cientos: barra, tabla (fichas en el teléfono) y páginas ---------- */
.lst { display: grid; gap: 12px; }
.lst-barra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .lst-barra .buscador { width: 320px; max-width: 100%; } .lst-barra .lst-dcha { margin-left: auto; display: flex; gap: 8px; }
.lst-barra .chips { flex: 1 1 100%; }
.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; }
.lst-t .lst-ctl { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
.lst .pag-c { margin: 0; }
.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 { opacity: .6; }
/* La barra del mapeo: de qué formulario */
.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; }

/* ---------- Grupos: los permisos por apartado ---------- */
.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; }

/* ---------- Correo: pestañas, el remitente, las plantillas en rejilla con miniatura ---------- */
.pls { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.pl-t { display: grid; gap: 0; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; background: var(--sup); text-align: left; transition: border-color .2s; }
.pl-t:hover { border-color: var(--azul); }
.pl-mini { height: 112px; padding: 12px; background: var(--sup2); border-bottom: 1px solid var(--linea); display: grid; align-content: start; gap: 6px; }
.pl-mini i { display: block; height: 6px; border-radius: 3px; background: var(--linea2); } .pl-mini i.t { height: 9px; width: 70%; background: var(--tenue); opacity: .5; } .pl-mini i.c { width: 45%; height: 16px; border-radius: 4px; background: var(--azul); opacity: .8; margin-top: 4px; }
.pl-mini .pm-cab { display: flex; align-items: center; gap: 6px; } .pl-mini .pm-cab img { width: 14px; height: 14px; } .pl-mini .pm-cab i { width: 40%; }
.pl-t > span:last-child { display: grid; gap: 3px; padding: 10px 12px; } .pl-t b { font-size: 13.5px; } .pl-t small { font-size: 12px; color: var(--suave); line-height: 16px; }
.pl-t .chapa { justify-self: start; height: 20px; font-size: 11.5px; margin-top: 3px; }
.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; }

/* ---------- La guía: solo lo que deja tu grupo ---------- */
.gu { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 20px; align-items: start; }
.gu-ind { position: sticky; top: 0; display: grid; gap: 2px; padding: 10px; border-radius: 14px; background: var(--sup); border: 1px solid var(--linea); }
.gu-ind .sm-gt { padding: 8px 10px 4px; }
.gu-ind button { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 10px; border-radius: 9px; font-size: 13.5px; font-weight: 600; color: var(--suave); text-align: left; }
.gu-ind button:hover { background: var(--hover); color: var(--tinta); } .gu-ind button.on { background: var(--azul-s); color: var(--azul-tinta); } .gu-ind button .i { --s: .6; flex: 0 0 auto; }
.gu-ind .gu-nota { margin: 8px 6px 4px; padding: 10px; border-radius: 10px; background: var(--sup2); font-size: 12.5px; line-height: 18px; color: var(--suave); }
.gu-c { display: grid; gap: 16px; }
.gu-cab { display: flex; align-items: center; gap: 14px; } .gu-cab > span:nth-child(2) { display: grid; gap: 3px; flex: 1; } .gu-cab b { font-size: 19px; line-height: 25px; } .gu-cab small { color: var(--suave); font-size: 13.5px; }
.gu-dib { padding: 16px; border-radius: 14px; background: var(--sup2); border: 1px solid var(--linea); display: grid; gap: 8px; justify-items: start; }
.gu-pasos { display: grid; gap: 0; counter-reset: p; } .gu-pasos li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--linea); }
.gu-pasos li:first-child { border-top: 0; } .gu-pasos li > span:last-child { display: grid; gap: 3px; } .gu-pasos b { font-size: 14.5px; } .gu-pasos small { color: var(--suave); font-size: 13.5px; line-height: 20px; }
.gu-pasos .paso-n { width: 26px; height: 26px; }
.gu-perm { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--suave); } .gu-perm .i { --s: .5; }

/* ---------- El puntero que reproduce cada recorrido ---------- */
.cur { position: absolute; z-index: 200; left: 0; top: 0; width: 26px; height: 26px; pointer-events: none; transition: transform .55s cubic-bezier(.3, .7, .2, 1), opacity .3s; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .35)); }
.cur svg { width: 100%; height: 100%; display: block; }
.cur::after { content: ''; position: absolute; left: -9px; top: -9px; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--azul); opacity: 0; }
.cur.clic::after { animation: curClic .45s ease-out; } @keyframes curClic { from { opacity: .9; transform: scale(.4); } to { opacity: 0; transform: scale(1.6); } }

/* ---------- El teléfono ---------- */
.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); }
  .mos { inset: 10px -40px auto; grid-template-columns: repeat(3, 210px); } .mos-col { animation-name: mosLado; } .mos-col:nth-child(2) { margin-top: 0; animation-name: mosLado2; }
  @keyframes mosLado { to { transform: translateY(-60px); } } @keyframes mosLado2 { to { transform: translateY(40px); } }
  .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; }
  .reglas { grid-template-columns: minmax(0, 1fr); }
  .qr-fila { flex-direction: column; align-items: flex-start; }
  .bnd { grid-template-columns: minmax(0, 1fr); grid-template-rows: 52px minmax(0, 1fr); } .bnd-l { display: none; }
  .bnd-tel-cab { display: flex; align-items: center; gap: 10px; padding: 0 12px; background: var(--sup); border-bottom: 1px solid var(--linea); font-size: 15px; font-weight: 700; }
  .bnd-tel-cab .i { --s: .62; color: var(--azul); } .bnd-c { padding: 16px 12px; } .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; } .pf-sec { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 0; }
  .mini-t > div { grid-template-columns: minmax(0, 1fr) auto; } .mini-t > div > :nth-child(2), .mini-t > div > :nth-child(3) { grid-column: 1; } .mini-t .mt-h { display: none !important; }
  .hola { padding: 14px; } .hola b { font-size: 17px; line-height: 22px; } .hola-c { grid-template-columns: minmax(0, 1fr); }
  .lst-barra .buscador { width: 100%; } .lst-barra .lst-dcha { margin-left: 0; width: 100%; } .lst-barra .lst-dcha .b { flex: 1; }
  .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.l-ancho { 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 .lst-ctl { justify-content: flex-start; } .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; }
}

/* ---------- Más piezas: el matraz del Sandbox, el número de la casa, las casillas del código, el pie de la consola ---------- */
.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; }
.consola-p pre { padding-bottom: 90px; } .consola-p .cp-pie { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; padding: 18px; background: linear-gradient(rgba(13, 17, 23, 0), #0d1117 45%); }
.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; }

/* ---------- El Sandbox: escucha en vivo, la prueba de Google, su mapeo y lo que contesta Simla ---------- */
.sb { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 16px; align-items: start; }
.sb-ev { display: grid; gap: 8px; position: sticky; top: 0; }
.sb-esc { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--linea); background: var(--sup); }
.sb-esc > span:last-child { display: grid; gap: 2px; } .sb-esc b { font-size: 14px; } .sb-esc small { font-size: 12.5px; line-height: 18px; color: var(--suave); }
.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); } }
.sb-e { display: grid; gap: 3px; padding: 11px 14px; border-radius: 12px; border: 1px solid var(--linea); background: var(--sup); text-align: left; transition: border-color .2s; }
.sb-e:hover { border-color: var(--tenue); } .sb-e.on { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.sb-e.nuevo { animation: sbLlega .5s var(--ease) both; } @keyframes sbLlega { from { opacity: 0; transform: translateY(-10px) scale(.98); } }
.sb-e-c { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .sb-e b { font-size: 14px; } .sb-e small { font-size: 12.5px; color: var(--suave); } .sb-e .chapa { height: 20px; font-size: 11.5px; }
.sb-c { display: grid; gap: 14px; min-width: 0; } .sb-card { margin: 0; }
.sb-card > h3 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sb-n { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--azul-s); color: var(--azul-tinta); font-size: 12.5px; font-weight: 700; flex: 0 0 auto; }
.sb-meta { margin-left: auto; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .sb-meta .chapa { height: 22px; font-size: 12px; }
.sb-curl { margin: 0; padding: 14px 16px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12.5px; line-height: 20px; }
.sb-map { display: grid; border: 1px solid var(--linea); border-radius: 12px; overflow: hidden; }
.sb-m { display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1.1fr) minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--linea); font-size: 13.5px; }
.sb-m:first-child { border-top: 0; } .sb-m > .i { --s: .5; color: var(--tenue); } .sb-m .q { display: grid; min-width: 0; } .sb-m .q b { font-size: 12.5px; } .sb-m .q small { color: var(--suave); font-size: 12.5px; overflow-wrap: anywhere; }
.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; }
.sb-m.nota { background: var(--aviso-f); } .sb-m.nota .sb-sale, .sb-m.nota .sb-sale .i { color: var(--aviso); }
.sb-opc { display: grid; } .sb-acc { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 6px 0 14px; }
.sb-pasos { display: grid; gap: 0; }
.sb-p { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; position: relative; animation: trSube .3s var(--ease) both; }
.sb-p::before { content: ''; position: absolute; left: 12px; top: 26px; bottom: 0; width: 2px; background: var(--linea); } .sb-p:last-child::before { display: none; }
.sb-p-ic { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--bien); color: #fff; z-index: 1; } .sb-p-ic .i { --s: .55; }
.sb-p.corre .sb-p-ic { background: var(--sup); border: 2px solid var(--azul); border-right-color: transparent; animation: gira .7s linear infinite; }
.sb-p-c { display: grid; gap: 8px; min-width: 0; } .sb-p-cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-height: 26px; font-size: 13.5px; }
.sb-p-cab .met { font: 700 11.5px/1 var(--mono); padding: 4px 6px; border-radius: 5px; background: var(--sup3); color: var(--azul-tinta); } .sb-ruta { font-size: 12.5px; color: var(--suave); overflow-wrap: anywhere; } .sb-p-cab small { color: var(--tenue); font-size: 12px; }
.sb-p-cab .chapa { height: 22px; font-size: 12px; }
.sb-fin { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 16px; border-radius: 12px; background: var(--bien-f); animation: trSube .35s var(--ease) both; }
.sb-fin > .i { --s: .7; color: var(--bien); } .sb-fin > span:not(.i) { display: grid; flex: 1; min-width: 180px; } .sb-fin b { color: var(--bien); } .sb-fin small { color: var(--suave); font-size: 12.5px; }
.sb-fin .a-simla { height: 34px; padding: 0 12px; border-radius: 8px; background: var(--sup); border: 1px solid var(--linea); display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13.5px; }
.sb-vacio { display: grid; justify-items: center; gap: 8px; padding: 60px 20px; text-align: center; border: 1px dashed var(--linea2); border-radius: 16px; background: var(--sup); }
.sb-vacio b { font-size: 16px; } .sb-vacio p { color: var(--suave); font-size: 14px; max-width: 380px; }
.sb-radar { position: relative; width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 6px; }
.sb-radar::before { content: ''; width: 16px; height: 16px; border-radius: 50%; background: var(--azul); }
.sb-radar i { position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--azul); animation: sbRadar 2.4s ease-out infinite; } .sb-radar i:nth-child(2) { animation-delay: 1.2s; }
@keyframes sbRadar { from { opacity: .7; transform: scale(.25); } to { opacity: 0; transform: scale(1); } }
@media (max-width: 720px) {
  .sb { grid-template-columns: minmax(0, 1fr); } .sb-ev { position: static; }
  .sb-m { grid-template-columns: minmax(0, 1fr); gap: 4px; } .sb-m > .i { display: none; }
  .sb-meta { margin-left: 0; width: 100%; }
  .hook-dir { flex-wrap: wrap; }
}

/* El login de hoy usa las mismas clases con caja y márgenes: dentro de la ventana nueva, fuera */
.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; }
/* Solo para las capturas de prueba (ver.html?quieto=1): cada animación, en su estado final */
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; }

/* Los bloques con números de línea, también dentro de las pestañas (Sandbox, registros de la 4) */
.tabs-code pre:has(> .ln) { display: grid; grid-template-columns: auto minmax(0, 1fr); padding: 0; margin: 0; max-height: 320px; overflow: auto; font: 12.5px/20px var(--mono); }
.tabs-code pre > .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; }
.tabs-code pre > .co { padding: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.json.json-claro { color: var(--tinta); background: var(--sup); }

/* ---------- La ilustración de la entrada: fondo de la marca, oscuro, y trazos blancos ---------- */
.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)); }
/* La A1 «El formulario se llena» (0.6.5): los campos se rellenan, se pulsa Enviar y en Simla entran el cliente y su pedido; 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; }
}
/* Quieta (Reducir movimiento o las capturas): el final, con el formulario lleno y el cliente y el pedido ya dentro */
@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; }
/* Los avisos en la lista de iOS: el icono del tamaño del texto y pegado a él */
.ios-v { display: inline-flex; align-items: center; gap: 5px; } .ios-v .i { --s: .55; flex: 0 0 auto; }

/* En la ventana de entrada y del instalador, cada fila de ajuste va apilada: el nombre arriba y su control debajo */
.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; }

/* ===================== Segunda vuelta (la 1 elegida, con las correcciones de Luis del 08/11/2026) ===================== */

/* ---------- El código, siempre en terminal negra (también en el tema claro) ---------- */
.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; }

/* ---------- El Sandbox: lado con la escucha y los leads de prueba; el contenido sin tarjetas dentro de tarjetas ---------- */
.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-lado .sb-esc { border-radius: 10px; } .sb2-lado .sb-esc small { display: block; }
.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-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.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); }
.sb2-ctl { display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; } .sb2-ctl .campo { gap: 6px; } .sb2-ctl .b { height: 36px; }
.sb2-pasos { display: grid; border: 1px solid var(--linea); border-radius: 10px; overflow: hidden; background: var(--sup); }
.sb2-p { border-top: 1px solid var(--linea); } .sb2-p:first-child { border-top: 0; }
.sb2-p > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px; cursor: pointer; list-style: none; font-size: 13.5px; flex-wrap: wrap; }
.sb2-p > summary::-webkit-details-marker { display: none; } .sb2-p > summary:hover { background: var(--hover); }
.sb2-p-ic { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--bien); color: #fff; flex: 0 0 auto; } .sb2-p-ic .i { --s: .45; }
.sb2-p.corre .sb2-p-ic { background: none; border: 2px solid var(--azul); border-right-color: transparent; animation: gira .7s linear infinite; }
.sb2-p-dcha { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; } .sb2-p-dcha small { color: var(--tenue); font-size: 12px; } .sb2-p-dcha .chapa { height: 22px; font-size: 12px; }
.sb2-flecha { --s: .5; color: var(--tenue); transition: transform .2s; } details[open] > summary .sb2-flecha { transform: rotate(180deg); }
.sb2-p-c { display: grid; gap: 10px; padding: 0 14px 14px 44px; }
.sb-ruta { font-size: 12.5px; color: var(--suave); overflow-wrap: anywhere; }
/* 2 «Pasos»: como los registros de GitHub Actions */
.sb2-steps { display: grid; border: 1px solid var(--linea); border-radius: 10px; overflow: hidden; background: var(--sup); }
.sb2-st { border-top: 1px solid var(--linea); } .sb2-st:first-child { border-top: 0; }
.sb2-st > summary { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 16px; cursor: pointer; list-style: none; flex-wrap: wrap; }
.sb2-st > summary::-webkit-details-marker { display: none; } .sb2-st > summary:hover { background: var(--hover); } .sb2-st > summary b { font-size: 14.5px; }
.sb2-st-n { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--sup3); color: var(--suave); font-size: 12.5px; font-weight: 700; flex: 0 0 auto; }
.sb2-st-n.ok { background: var(--bien); color: #fff; } .sb2-st-n .i { --s: .5; }
.sb2-st-r { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--suave); } .sb2-st-r .mono { font-size: 12.5px; }
.sb2-st-c { display: grid; gap: 14px; padding: 2px 16px 18px 52px; }
/* 3 «Pestañas»: como Postman */
.sb2-barra { display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 10px; border: 1px solid var(--linea2); border-radius: 10px; background: var(--sup); flex-wrap: wrap; }
.sb2-url { flex: 1; min-width: 200px; font-size: 13px; overflow-wrap: anywhere; } .sb2-barra .chapa { height: 24px; }
.sb2-tit3 { border-bottom: 0; padding-bottom: 0; }
.sb2-pest { margin: 0; } .sb2-tab { min-width: 0; display: grid; gap: 14px; }
@media (max-width: 720px) {
  .sb2 { grid-template-columns: minmax(0, 1fr); gap: 16px; } .sb2-lado { position: static; }
  .sb2-split { grid-template-columns: minmax(0, 1fr); }
  .sb2-p-c, .sb2-st-c { padding-left: 14px; padding-right: 14px; }
  .sb2-p-dcha { margin-left: 0; width: 100%; } .sb2-st-r { margin-left: 0; width: 100%; }
  .sb2-ctl .b { width: 100%; } .sb2-ctl .campo { width: 100%; } .sb2-ctl .seg { width: 100%; } .sb2-ctl .seg button { flex: 1; justify-content: center; }
  .sb2-pest { overflow-x: auto; scrollbar-width: none; }
}

/* ---------- Cada apartado como en GitHub: título con una línea debajo, filas y nada dentro de tarjetas ---------- */
.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; }
.map-t thead 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); }
.lst-caja .map-t { width: 100%; border-collapse: collapse; } .lst-caja .map-t td { padding: 10px 14px; border-top: 1px solid var(--linea); vertical-align: middle; } .lst-caja .map-t tbody tr:first-child td { border-top: 0; }
.lst-caja .map-t td.flecha { width: 28px; padding: 0; color: var(--tenue); } .lst-caja .map-t td.flecha .i { --s: .5; }

/* ---------- B1 «Tarjeta viva», B2 tablas, B3 comprobación ---------- */
.cs1 { display: grid; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); overflow: hidden; margin-bottom: 28px; }
.cs1-cab, .cs3-cab { display: flex; align-items: center; gap: 14px; padding: 16px 18px; flex-wrap: wrap; }
.cs1-cab { border-bottom: 1px solid var(--linea); }
.cs1-logo { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--sup2); border: 1px solid var(--linea); flex: 0 0 auto; } .cs1-logo img { width: 26px; height: 26px; }
.cs1-txt { display: grid; gap: 3px; flex: 1; min-width: 220px; } .cs1-txt b { font-size: 15px; } .cs1-txt small { font-size: 13px; color: var(--suave); display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.cs1-acc { display: flex; gap: 8px; flex-wrap: wrap; }
.cs1-dl { display: grid; grid-template-columns: 200px minmax(0, 1fr); margin: 0; }
.cs1-dl dt, .cs1-dl dd { padding: 12px 18px; border-top: 1px solid var(--linea); margin: 0; font-size: 14px; } .cs1-dl dt:first-of-type, .cs1-dl dt:first-of-type + dd { border-top: 0; }
.cs1-dl dt { color: var(--suave); font-weight: 600; } .cs1-dl dd small { display: block; color: var(--tenue); font-size: 12.5px; margin-top: 2px; }
.cs1-perm { padding: 14px 18px 16px; border-top: 1px solid var(--linea); background: var(--sup2); }
.cs1-perm h3 { font-size: 13.5px; margin-bottom: 10px; display: flex; gap: 8px; align-items: baseline; } .cs1-perm h3 small { color: var(--bien); font-weight: 700; }
.cs1-perm ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
.cs1-perm li { display: flex; gap: 10px; align-items: flex-start; } .cs1-perm li > .i { --s: .55; color: var(--bien); margin-top: 1px; flex: 0 0 auto; }
.cs1-perm li > span { display: grid; } .cs1-perm li b { font-size: 13.5px; font-weight: 600; } .cs1-perm li small { color: var(--suave); font-size: 12.5px; }
.cs3-cab { border: 1px solid var(--linea); border-radius: 12px 12px 0 0; background: var(--sup); }
.cs3 { display: grid; border: 1px solid var(--linea); border-top: 0; border-radius: 0 0 12px 12px; background: var(--sup); overflow: hidden; }
.cs3-f { border-top: 1px solid var(--linea); } .cs3-f:first-child { border-top: 0; }
.cs3-f > summary { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 8px 18px; cursor: pointer; list-style: none; } .cs3-f > summary::-webkit-details-marker { display: none; }
.cs3-ic { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--bien); color: #fff; flex: 0 0 auto; } .cs3-ic .i { --s: .45; }
.cs3-t { display: grid; flex: 1; } .cs3-t b { font-size: 14px; } .cs3-t small { color: var(--suave); font-size: 12.5px; }
.cs3-det { padding: 0 18px 14px 52px; } .cs3-l { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 20px; }
.cs3-l li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; } .cs3-l li .i { --s: .5; color: var(--bien); } .cs3-l .mono { color: var(--tenue); font-size: 12px; }

/* ---------- C1 «Documentación»: índice, artículo y «En esta página» ---------- */
.gu2 { display: grid; grid-template-columns: 250px minmax(0, 1fr) 190px; gap: 32px; align-items: start; }
.gu2-ind { position: sticky; top: 0; display: grid; gap: 1px; }
.gu2-ind .buscador { margin-bottom: 10px; } .gu2-ind kbd { position: absolute; right: 36px; top: 50%; transform: translateY(-50%); font: 600 11px/1 var(--mono); padding: 3px 6px; border-radius: 5px; border: 1px solid var(--linea2); color: var(--tenue); }
.gu2-ind .sm-gt { padding: 12px 10px 4px; }
.gu2-ind button { min-height: 34px; padding: 6px 10px; border-radius: 8px; font-size: 13.5px; font-weight: 500; color: var(--suave); text-align: left; line-height: 19px; }
.gu2-ind button:hover { background: var(--hover); color: var(--tinta); } .gu2-ind button.on { background: var(--azul-s); color: var(--azul-tinta); font-weight: 600; }
.gu2-ind .gu-nota { margin-top: 12px; }
.gu2-art { display: grid; gap: 14px; max-width: 720px; min-width: 0; }
.gu2-miga { font-size: 12.5px; color: var(--tenue); font-weight: 600; }
.gu2-art h1 { font-size: 28px; line-height: 34px; letter-spacing: -.5px; } .gu2-intro { font-size: 16px; line-height: 25px; color: var(--suave); }
.gu2-art h2 { font-size: 19px; line-height: 26px; margin-top: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--linea); scroll-margin-top: 16px; }
.gu2-pasos { display: grid; gap: 0; } .gu2-pasos li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--linea); }
.gu2-pasos li:first-child { border-top: 0; } .gu2-pasos li > span:last-child { display: grid; gap: 3px; } .gu2-pasos b { font-size: 15px; } .gu2-pasos small { color: var(--suave); font-size: 14px; line-height: 21px; }
.gu2-copia { display: grid; gap: 6px; } .gu2-copia small { font-size: 12.5px; color: var(--suave); font-weight: 600; }
.gu2-nota { display: flex; gap: 10px; padding: 12px 14px; border-radius: 10px; border-left: 3px solid var(--azul); background: var(--azul-s); font-size: 14px; line-height: 21px; } .gu2-nota .i { --s: .6; color: var(--azul-tinta); margin-top: 1px; flex: 0 0 auto; }
.gu2-nota b { display: block; color: var(--azul-tinta); }
.gu2-toc { position: sticky; top: 0; display: grid; gap: 6px; font-size: 13px; } .gu2-toc b { font-size: 12px; color: var(--tenue); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 4px; }
.gu2-toc a { color: var(--suave); text-decoration: none; padding-left: 10px; border-left: 2px solid var(--linea); line-height: 22px; } .gu2-toc a:first-of-type { color: var(--azul-tinta); border-left-color: var(--azul); }
.gu2-solo { max-width: 760px; }
/* C2 «Centro de ayuda» */
.gu3-hero { display: grid; justify-items: center; gap: 8px; padding: 34px 20px 30px; margin-bottom: 26px; border-radius: 16px; text-align: center; background: radial-gradient(90% 120% at 50% 0%, var(--azul-s), transparent 70%); }
.gu3-hero h1 { font-size: 28px; line-height: 34px; letter-spacing: -.5px; } .gu3-hero p { color: var(--suave); font-size: 15px; } .gu3-busca { width: min(560px, 100%); margin-top: 8px; } .gu3-busca .in { height: 44px; font-size: 15px; }
.gu3-rej { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 28px 32px; }
.gu3-t h2 { display: flex; align-items: baseline; justify-content: space-between; font-size: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--linea); } .gu3-t h2 small { font-size: 12.5px; color: var(--tenue); font-weight: 600; }
.gu3-t li button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 2px; border-bottom: 1px solid var(--linea); text-align: left; } .gu3-t li button:hover b { color: var(--azul-tinta); }
.gu3-t li button > span:not(.i) { display: grid; flex: 1; gap: 2px; } .gu3-t li button > .i { flex: 0 0 auto; } .gu3-t li b { font-size: 14px; } .gu3-t li small { color: var(--suave); font-size: 12.5px; line-height: 18px; } .gu3-t li .i { --s: .5; color: var(--tenue); }
/* C3 «Primeros pasos» */
.gu4 { display: grid; gap: 16px; max-width: 860px; }
.gu4-prog { display: flex; align-items: center; gap: 14px; } .gu4-prog b { font-size: 14px; white-space: nowrap; } .gu4-barra { flex: 1; height: 6px; border-radius: 6px; background: var(--linea); overflow: hidden; } .gu4-barra i { display: block; height: 100%; background: var(--bien); border-radius: 6px; }
.gu4-l { display: grid; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); overflow: hidden; }
.gu4-t { border-top: 1px solid var(--linea); } .gu4-t:first-child { border-top: 0; }
.gu4-f { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 60px; padding: 10px 18px; text-align: left; } .gu4-f:hover { background: var(--hover); }
.gu4-f > span:nth-child(2) { display: grid; gap: 2px; flex: 1; } .gu4-f b { font-size: 14.5px; } .gu4-f small { color: var(--suave); font-size: 13px; line-height: 19px; }
.gu4-c { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--linea2); display: grid; place-items: center; flex: 0 0 auto; } .gu4-t.hecha .gu4-c { background: var(--bien); border-color: var(--bien); color: #fff; } .gu4-c .i { --s: .45; }
.gu4-t.hecha .gu4-f b { color: var(--suave); text-decoration: line-through; } .gu4-t.ab .sb2-flecha { transform: rotate(180deg); }
.gu4-det { display: grid; gap: 12px; padding: 0 18px 18px 56px; }
.gu4-h { font-size: 16px; margin-top: 10px; } .gu4-todas { display: flex; flex-wrap: wrap; gap: 8px; } .gu4-todas button { height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--linea2); background: var(--sup); font-size: 13px; font-weight: 600; }
@media (max-width: 720px) {
  .cs1-dl { grid-template-columns: minmax(0, 1fr); } .cs1-dl dd { border-top: 0; padding-top: 0; } .cs1-perm ul, .cs3-l { grid-template-columns: minmax(0, 1fr); }
  .cs1-acc { width: 100%; } .cs3-det { padding-left: 18px; }
  .gu2 { grid-template-columns: minmax(0, 1fr); } .gu2-ind { position: static; } .gu2-art h1 { font-size: 23px; line-height: 29px; }
  .gu3-rej { grid-template-columns: minmax(0, 1fr); } .gu3-hero h1 { font-size: 23px; }
  .gu4-det { padding-left: 18px; }
}
/* El nombre del campo (píldora, nombre y código) baja de línea si no cabe */
.campo-n { flex-wrap: wrap; row-gap: 2px; min-width: 0; max-width: 100%; }

/* La guía C1: antes de empezar, cómo se ve, el pie y la siguiente */
.gu2-ind .gu-nota { font-size: 12.5px; line-height: 18px; color: var(--suave); padding: 10px; border-radius: 10px; background: var(--sup2); }
.gu2-antes { padding: 12px 14px; border: 1px solid var(--linea); border-radius: 10px; background: var(--sup); } .gu2-antes b { display: block; font-size: 13.5px; margin-bottom: 6px; }
.gu2-antes ul { display: grid; gap: 4px; } .gu2-antes li { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--suave); } .gu2-antes li .i { --s: .5; color: var(--bien); }
.gu2-dib { padding: 18px; border-radius: 12px; border: 1px solid var(--linea); background: repeating-linear-gradient(135deg, var(--sup2) 0 10px, var(--sup) 10px 20px); display: grid; gap: 10px; }
.gu2-dib .estados { margin: 0; } .gu2-dib .cn { max-width: 520px; } .gu2-dib .lst-caja { background: var(--sup); }
.gu2-fila-d { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border-radius: 10px; background: var(--sup); border: 1px solid var(--linea); font-size: 13.5px; } .gu2-fila-d > .i { --s: .5; color: var(--tenue); }
.gu2-mini { border: 1px solid var(--linea); border-radius: 10px; background: var(--sup); }
.gu2-pie { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--linea); }
.gu2-util { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; } .gu2-util .b { height: 30px; padding: 0 12px; } .gu2-pie small { color: var(--tenue); font-size: 12.5px; }
.gu2-sig { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 12px; text-align: left; }
.gu2-sig:hover { border-color: var(--azul); } .gu2-sig small { grid-column: 1; color: var(--tenue); font-size: 12px; font-weight: 600; } .gu2-sig b { grid-column: 1; color: var(--azul-tinta); font-size: 15px; } .gu2-sig .i { grid-column: 2; grid-row: 1 / 3; --s: .55; color: var(--azul-tinta); }
.sb2-map .sb-sale > span { overflow-wrap: break-word; } .sb2-map td small { display: block; color: var(--suave); font-size: 12.5px; }

/* El menú de tu cuenta, pegado al riel y a tu foto (también con el submenú de Ajustes abierto) */
@media (min-width: 721px) { .pop-yo { position: fixed; left: 72px; bottom: 12px; } }

/* ===================== Como Simla Landing Builder (0.15+): la tabla de la casa, Mi perfil, el menú, la «Página ancha» y la documentación ===================== */
.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); }
.chapa.c-azul { background: var(--azul-s); color: var(--azul-tinta); } .chapas { display: flex; flex-wrap: wrap; gap: 6px; }
/* La barra: sobre el fondo, sin contenedor */
.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); }
/* La tabla: en su tarjeta; la cabecera, del color del fondo */
.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; }
/* La Franja: fuera de la tarjeta, siempre, con «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); opacity: .6; 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; } }
/* Sin resultados y vacío */
.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; }   /* a todo el ancho, como las demás pantallas (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-pie { display: flex; justify-content: flex-end; gap: 8px; }
.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; } }
/* El menú de tu cuenta */
.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-rol { display: inline-flex; align-items: center; gap: 4px; margin-top: 5px; font-size: 12px; line-height: 16px; font-weight: 700; color: var(--azul-tinta); } .cu-rol .i { --s: .5; }
.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: la «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; }
}
/* C1: la documentación, en el molde de la de Landing Builder */
.dc-tres { display: grid; grid-template-columns: 250px minmax(0, 1fr) 200px; gap: 36px; }
.dc-lateral { position: sticky; top: 0; align-self: start; display: grid; gap: 12px; padding-top: 4px; }
.dc-buscar { position: relative; display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 10px; border: 1px solid var(--linea2); border-radius: 10px; background: var(--sup); color: var(--suave); } .dc-buscar > .i { --s: .6; }
.dc-buscar:focus-within { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.dc-buscar input { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--tinta); font: inherit; font-size: 14px; outline: 0; }
.dc-buscar kbd { padding: 0 6px; border: 1px solid var(--linea2); border-radius: 6px; font: 600 11px/18px var(--mono); color: var(--suave); }
.dc-lat-det > summary { display: none; } .dc-lateral ul { list-style: none; margin: 0; padding: 0; } .dc-lateral li { margin: 1px 0; }
.dc-raiz { display: flex; align-items: center; gap: 9px; padding: 7px 10px; color: var(--tinta); font-size: 14px; font-weight: 600; } .dc-raiz .i { --s: .6; color: var(--suave); }
.dc-n { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--sup3); color: var(--suave); font-size: 11.5px; font-weight: 700; line-height: 20px; text-align: center; }
.dc-lateral ul ul { margin: 2px 0 8px 14px; padding-left: 10px; border-left: 1px solid var(--linea); }
.dc-lateral ul ul button { display: block; width: 100%; padding: 5px 10px; border-radius: 8px; color: var(--suave); font-size: 13.5px; line-height: 20px; text-align: left; }
.dc-lateral ul ul button:hover { background: var(--hover); color: var(--tinta); } .dc-lateral ul ul button.on { background: var(--azul-s); color: var(--azul-tinta); font-weight: 600; }
.dc-fuera { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--sup2); font-size: 12.5px; line-height: 18px; color: var(--suave); }
.dc-art { min-width: 0; max-width: 760px; padding-bottom: 40px; }
.dc-migas { margin: 0 0 6px; color: var(--suave); font-size: 13.5px; } .dc-migas span { margin: 0 6px; }
.dc-cab h1 { margin: 0 0 10px; font-size: 34px; line-height: 1.15; letter-spacing: -.5px; } .dc-lede { margin: 0 0 14px; color: var(--suave); font-size: 16.5px; line-height: 1.6; }
.dc-h2 { display: flex; align-items: center; gap: 10px; margin: 30px 0 14px; font-size: 22px; line-height: 1.25; letter-spacing: -.3px; scroll-margin-top: 16px; }
.dc-bald { display: inline-grid; place-items: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 9px; background: var(--azul-s); color: var(--azul-tinta); } .dc-bald .i { --s: .62; }
.dc-lista-m { display: grid; gap: 6px; } .dc-lista-m li { display: flex; align-items: center; gap: 8px; font-size: 15px; } .dc-lista-m .i { --s: .55; color: var(--bien); }
.dc-tl { list-style: none; margin: 0; padding: 0; }
.dc-tl > li { position: relative; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 6px 14px; padding-bottom: 24px; }
.dc-tl > li:not(:last-child)::before { content: ''; position: absolute; left: 15px; top: 38px; bottom: 6px; width: 2px; background: var(--linea); }
.dc-num { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--azul-s); color: var(--azul-tinta); font-weight: 700; font-size: 14px; }
.dc-tl-t { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 32px; } .dc-tl-t h3 { margin: 0; font-size: 16px; line-height: 22px; }
.dc-tl-c { grid-column: 2; min-width: 0; display: grid; gap: 8px; } .dc-tl-c p { margin: 0; color: var(--suave); font-size: 15px; line-height: 1.6; }
.dc-codigo { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 6px 6px 14px; border: 1px solid var(--linea); border-radius: 10px; background: var(--sup2); }
.dc-cod-r { font-size: 12.5px; color: var(--suave); font-weight: 600; white-space: nowrap; } .dc-codigo code { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; font: 600 13px/1.45 var(--mono); mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); }
.dc-info { display: flex; gap: 10px; align-items: flex-start; margin: 2px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--sup2); font-size: 14.5px; line-height: 22px; color: var(--tinta); } .dc-info .i { --s: .6; color: var(--suave); margin-top: 2px; }
.dc-fin { display: grid; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); overflow: hidden; }
.dc-fin-f { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 60px; padding: 10px 14px; color: var(--tinta); text-align: left; text-decoration: none; border-top: 1px solid var(--linea); width: 100%; }
.dc-fin-f:first-child { border-top: 0; } .dc-fin-f:hover { background: var(--hover); } .dc-fin-f > .i:first-child { --s: .7; color: var(--azul-tinta); } .dc-fin-f > .i:last-child { --s: .5; color: var(--tenue); }
.dc-fin-t { display: grid; } .dc-fin-t b { font-size: 14.5px; } .dc-fin-t span { font-size: 13px; color: var(--suave); }
.dc-indice { position: sticky; top: 0; align-self: start; padding-top: 8px; font-size: 13.5px; line-height: 20px; } .dc-indice b { display: block; margin-bottom: 8px; }
.dc-indice ul { list-style: none; margin: 0; padding: 0 0 0 10px; border-left: 1px solid var(--linea); } .dc-indice a { display: block; padding: 3px 0; color: var(--suave); text-decoration: none; } .dc-indice li:first-child a { color: var(--azul-tinta); }
@media (max-width: 980px) { .dc-tres { grid-template-columns: minmax(0, 1fr); gap: 16px; } .dc-indice { display: none; } .dc-lateral { position: static; }
  .dc-lat-det { border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); } .dc-lat-det > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; font-weight: 700; list-style: none; cursor: pointer; } .dc-lat-det > summary .i { --s: .6; } .dc-lat-det > ul { padding: 0 8px 8px; } }
@media (max-width: 720px) { .dc-cab h1 { font-size: 26px; line-height: 32px; } .dc-lede { font-size: 15.5px; } .dc-migas { display: none; } .dc-h2 { font-size: 20px; }
  .dc-tl > li { gap: 8px 10px; } .dc-tl > li::before { display: none; } .dc-tl-c { grid-column: 1 / -1; } .dc-codigo { flex-wrap: wrap; } .dc-cod-r { flex-basis: 100%; } .dc-fin-f { grid-template-columns: 32px minmax(0, 1fr); } .dc-fin-f > .i:last-child { display: none; } }
.dc-fin-f { grid-template-columns: 22px minmax(0, 1fr) auto; } @media (max-width: 720px) { .dc-fin-f { grid-template-columns: 22px minmax(0, 1fr); } }

.dc-fin-f { gap: 10px; grid-template-columns: 20px minmax(0, 1fr) auto; } @media (max-width: 720px) { .dc-fin-f { grid-template-columns: 20px minmax(0, 1fr); } }

/* ===================== Estilo del código (Luis, 08/11/2026): en claro, gris claro como GitHub, Slack y Mattermost; en oscuro, la terminal ===================== */
/* Claro: el fondo #f6f8fa y el borde #d0d7de de GitHub (Primer), texto #1f2328 y su paleta de sintaxis. Oscuro: #0d1117 y la de GitHub oscuro.
   Vale para todo bloque de código del panel: el Sandbox, el registro de un lead, el detalle y la guía. Nunca un bloque negro sobre el tema claro. */
: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; }
: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; }
@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, .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: #1a7f37; } .term-cab .ko { color: #cf222e; }
:root[data-theme="dark"] .term-cab .ok { color: #3fb950; } :root[data-theme="dark"] .term-cab .ko { color: #f85149; }

/* ---------- Leads: el estado en una línea y el pedido en su píldora; nada amontonado ---------- */
.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; }
/* El detalle del lead: el cliente y el pedido, dos accesos limpios */
.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); } }

/* ---------- Acciones masivas, como en 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: .45; cursor: not-allowed; } .pop-acc button.rojo, .pop-acc button.rojo .i { color: var(--mal); }
.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%; }
/* Ningún botón sin forma: el que no lleva variante sale como secundario */
.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; }

/* ===================== Ronda 3 (08/11/2026) ===================== */
/* La opción elegida se ve en todo segmento y en el tema: una pastilla con relieve (en claro, blanca; en oscuro, un gris más claro que el carril) */
.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); }
/* Las pestañas del código: la elegida, con su raya y su tinta */
.cn-cab button[aria-pressed="true"] { color: var(--cn-tinta); box-shadow: inset 0 -2px 0 var(--azul); }
.tc-cab button[aria-pressed="true"] { color: var(--tinta); box-shadow: inset 0 -2px 0 var(--azul); }

/* La versión, como en Landing Builder: bajo tu foto en el riel y a la derecha en la barra del teléfono */
.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; }

/* «⋯» de cada fila */
.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: .45; cursor: not-allowed; }

/* Formularios: el mapeo en una línea */
.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; } }
/* El cielo, a la derecha y fundido con la tarjeta */
.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-noche .c3 { fill: #121E42; }
.ini-amanecer .c1 { fill: #E9A9BC; } .ini-amanecer .c2 { fill: #D98FA9; } .ini-amanecer .c3 { fill: #C27693; }
.ini-dia .c1 { fill: #9ED89E; } .ini-dia .c2 { fill: #6CC07A; } .ini-dia .c3 { fill: #47A55C; }
.ini-atardecer .c1 { fill: #7A49B0; } .ini-atardecer .c2 { fill: #63359A; } .ini-atardecer .c3 { fill: #4A257C; }
.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 y Simla, con sus 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; }
/* Las secciones del Inicio, en su tarjeta */
.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; }
/* Filtros del periodo, la campaña y el formulario: sobre el fondo */
.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; }
/* Las cifras */
.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; }
/* Las gráficas: un solo tono, extremos de 4 px, ejes discretos */
.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: la sincronización con Simla, todo a la mano ---------- */
.sy { display: grid; gap: 12px; }
.sy-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; }
.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-acc { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.sy-op { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 10px 0 12px; border: 1px solid var(--linea2); border-radius: 9px; background: var(--sup); color: var(--tinta); font-size: 13.5px; white-space: nowrap; box-shadow: var(--sh1); }
.sy-op:hover { background: var(--hover); } .sy-op[disabled] { opacity: .5; }
.sy-op-k { color: var(--suave); font-weight: 500; } .sy-op b { font-weight: 700; }
.sy-op .i { --s: .5; color: var(--tenue); }
.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; }

/* ---------- Teléfono ---------- */
@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: 12px; }
  .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-cab { flex-direction: column; align-items: stretch; }
  .sy-acc { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .sy-op { flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; height: auto; min-height: 52px; padding: 7px 30px 7px 12px; position: relative; min-width: 0; }
  .sy-op-k, .sy-op b { line-height: 1.3; }
  .sy-op b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .sy-op-k { font-size: 11.5px; } .sy-op .i { position: absolute; right: 10px; top: 50%; margin-top: -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; }
}

/* El tipo y el nombre de un campo: la píldora siempre a la izquierda, alineada con la primera línea del nombre; el nombre se parte en su columna */
.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; }
/* Los menús de acciones: el icono a su tamaño y el texto a su lado (antes el icono se estiraba como el texto) */
.pop-acc button > .i { flex: 0 0 auto; }
.pop-acc button > span:not(.i) { flex: 1 1 auto; min-width: 0; }

/* ===================== Ronda 4 (08/11/2026) ===================== */
/* Sin saltos al pulsar: la caja vuelve a su sitio al momento (el desplazamiento suave hacía subir y bajar la página) */
.contenido { scroll-behavior: auto; }
/* El saludo entra solo la primera vez, no en cada filtro */
.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; }
/* Las novedades desde tu última visita: fichas que llevan a donde se resuelve cada cosa */
.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; }
/* Los logos, sobre su baldosa: blanca en claro y del gris de la app en oscuro */
: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; }

/* ---------- El «?» de Landing Builder ---------- */
.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; }
/* El «?» centrado con su texto (Luis, 08/11/2026: «los ? están más arriba que el texto, necesitan estar centrados en proporción al texto»;
   y al centro de las minúsculas, «se ve aún un poco abajo»). Su centro va a 0,30 em sobre la línea base: entre el de las mayúsculas (0,35 em;
   Gilroy, H = 0,70) y el de las minúsculas (0,25 em; x = 0,50). Un solo modelo en toda la app: el rótulo es un renglón de texto (no flex),
   el «?» va en él con su base a 0,30 em − 8 px (la mitad de sus 16 px) y la última palabra pegada a él (conAyu, .ay-nw). En flex quedaba
   centrado en el renglón, a la altura de las mayúsculas */
.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; }
/* El dibujo, en la paleta clara de las ayudas (en oscuro, sobre blanco), como en 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: #B73232; --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; }
/* El teléfono con su código (el «?» del código de 6 dígitos, como en 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; }

/* ---------- El calendario de la app: un día o un rango ---------- */
.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] { opacity: .35; 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); opacity: .45; 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: la lista de leads de prueba ---------- */
.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); }
.sbl-n { color: var(--tenue); font-size: 12.5px; }
/* 1: el panel lateral, de alto completo y a la vista al bajar */
.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; }
/* 2: una barra arriba con el lead en un desplegable */
.sbl-barra { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 20px; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 12px; background: var(--sup); }
.sbl-barra > .sbl-esc { align-self: center; height: 36px; }
.sbl-lead { flex: 0 1 420px; min-width: 0; display: grid; gap: 6px; } .sbl-lead .desp-boton span { overflow: hidden; text-overflow: ellipsis; } .sbl-lead .desp-boton b { font-weight: 700; }
.sbl-barra .sbl-n { margin-left: auto; align-self: center; }
/* 3: una pestaña por lead */
.sbl-tira { display: grid; gap: 10px; margin-bottom: 20px; }
.sbl-tira-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sbl-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.sbl-tab { display: grid; gap: 2px; min-width: 190px; padding: 10px 14px; border: 1px solid var(--linea); border-radius: 10px; background: var(--sup); text-align: left; transition: border-color .15s, box-shadow .15s; }
.sbl-tab:hover { border-color: var(--linea2); } .sbl-tab b { font-size: 13.5px; } .sbl-tab small { color: var(--suave); font-size: 12px; }
.sbl-tab.on { border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-s); }
.sbl-tab.nuevo { animation: sbLlega .5s var(--ease) both; }

/* ---------- Crear y Modo ---------- */
.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; }
.sbc2 .sy-ctl .seg, .sbc3 .sy-ctl .seg { width: auto; margin: 0; flex-wrap: nowrap; } .sbc2 .sy-ctl .seg button, .sbc3 .sy-ctl .seg button { flex: 0 0 auto; height: 34px; padding: 0 14px; }
.sy-sw { display: flex; align-items: center; gap: 10px; min-height: 40px; } .sy-sw > span { display: grid; gap: 1px; } .sy-sw b { font-size: 13.5px; } .sy-sw small { color: var(--suave); font-size: 12.5px; }
.sy-ctl .sy-ir { height: 40px; margin-left: auto; }
.pop-campo .sy-o, .pop-sy.pop-campo { } .pop.pop-campo { min-width: 0; }
/* El nombre de un campo se parte entre palabras, nunca dentro de una */
.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; }
  .sbl-barra { display: grid; gap: 10px; } .sbl-barra > .sbl-esc { height: auto; } .sbl-lead { min-width: 0; } .sbl-barra .sbl-n { margin-left: 0; }
  .sbl-tabs { display: grid; grid-template-columns: 1fr 1fr; } .sbl-tab { min-width: 0; } .sbl-tab b, .sbl-tab small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sy-ctl { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sbc2 .sy-ctl .seg, .sbc3 .sy-ctl .seg { width: 100%; } .sbc2 .sy-ctl .seg button, .sbc3 .sy-ctl .seg button { flex: 1 1 0; padding: 0 8px; }
  .sy-ctl .sy-ir { width: 100%; margin-left: 0; justify-content: center; height: 42px; }
}
/* Con menos de 1280 px, la solicitud y el mapeo van uno debajo del otro: nada se corta a la derecha */
@media (max-width: 1280px) { .sb2-split { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 720px) { .sbl-barra { grid-template-columns: minmax(0, 1fr); } .sbl-lead .desp-boton { min-width: 0; } .sbl-lead .desp-boton > span { min-width: 0; } }

/* ===================== La app de verdad (0.5.0): lo que el pliego no necesitaba ===================== */
/* La ventanita de un campo, de un filtro o de un menú va encima de su fondo (que la cierra al pulsar fuera) */
#pop { z-index: 75; }
/* La cuenta de Simla: una lectura que falló y un permiso que falta */
.sx-sy-e.mal > .i { --s: .55; color: var(--mal); }
li.no .sx-m { background: var(--mal); color: #fff; }
/* Un desplegable de Ajustes con muchas opciones: su buscador arriba y la lista con su propio desplazamiento */
.pop-campo .pop-l { display: grid; max-height: 320px; overflow-y: auto; }
.pop-campo .pk-b { padding: 4px 4px 8px; }
/* Un campo obligatorio que falta al activar la sincronización */
.desp-boton.falta { border-color: var(--mal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mal) 18%, transparent); }
/* Lo que ya estaba no vuelve a entrar: una lista que se repinta igual (una casilla, un menú) y lo que se pone al día solo */
.tb-quieta .tb-f, #app.en-vivo .tb-f, #app.en-vivo .sb-p, #app.en-vivo .sb-fin { animation: none; }
/* El campo elegido en el mapeo, en un renglón y todos del mismo ancho (Luis, 08/11/2026: «quedan todos angostos y se van a 2 líneas»):
   el tipo y el nombre; su código está en el selector al abrirlo y en Campos de Simla */
.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; }
/* El cajón de la derecha (una campaña, crear usuario, un grupo, una plantilla) va encima de su fondo: con el fondo encima, quedaba
   oscuro y sin poder tocarlo (Luis, 08/11/2026) */
.cajon-v { z-index: 71; }
/* Campos de Simla, la C1 «Cada dato en su columna» (Luis, 08/11/2026): el nombre y el código en su columna y en un renglón;
   lo que no cabe se desvanece al final (nunca «…») y se lee entero al pasar el puntero */
.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): en el teléfono, el menú es una cápsula de cristal que flota abajo. Cada pestaña con su
   icono y su nombre; la de tu cuenta, con tu avatar y «Perfil»; la elegida, en azul con un óvalo que se desliza hasta ella ---------- */
.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); }   /* la barra ya no ocupa su fila: flota encima */
  .contenido { padding-bottom: calc(104px + env(safe-area-inset-bottom)); }
}

/* La dirección y la clave del webhook, en una sola línea (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»). Lo que no cabe se desvanece (.desv), sin «…» */
.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; }

/* Tu foto en el riel, sin rótulo al pasar por encima, en el escritorio y en el teléfono (0.6.12; Luis: «sale encimado del menú de perfil;
   para perfil no debería salir ese texto, se entiende ya qué es»). En la barra del teléfono sigue su nombre debajo, «Perfil» (.nav-rot-t) */
.nav-yo .nav-rot { display: none !important; }

/* Los avisos, como en Simla Landing Builder (0.6.12; allí, design/pliego-avisos.html, la 1 «Como la versión nueva»; Luis: «en dark mode salen
   blancas y ni se ve el icono»): la superficie de la app, el borde y el halo de su tono, el icono en su caja suave, solo tokens. Abajo a la
   derecha; en el teléfono, a lo ancho y encima de la barra */
.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; } }

/* Un cajón sin acciones (lo que se cambia se guarda solo, 0.6.12): sin su pie vacío */
.dlg-pie:empty { display: none; }

/* El icono de los avisos en línea, en el centro del primer renglón (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»). Con Gilroy, el centro de las mayúsculas
   cae en el centro del renglón: el icono va arriba, con un margen de (renglón − icono) / 2, y con dos renglones se queda en el primero */
.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, en 98-origenes.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 */

/* Lectura de Simla (0.6.17, #38: la 2 «Cifras del Inicio y tabla»): «Lo que se lee» en las cajas del Inicio, ocho en dos filas de cuatro (en el
   teléfono, de dos en dos), y «Cambios» en la tabla de la casa; cada bloque con su título como «Dónde se usa» de Orígenes */
.lx-bloque { display: grid; gap: 12px; margin-top: 22px; } .lx-bloque .og-h3 { margin-top: 0; }
.lx-bloque .aj-recomienda { margin: 0; }
/* Rótulo, cifra y detalle a la misma altura en cada fila de cajas (subgrid), aunque un rótulo ocupe dos renglones en el teléfono; el «?»
   va pegado a la última palabra (conAyu). En el teléfono el detalle se lee entero, en dos renglones si hace falta */
.ini-kpi { grid-row: span 3; grid-template-rows: subgrid; row-gap: 4px; align-content: start; }   /* también las del Inicio */
.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; } }

/* ---------- El paisaje del Inicio (0.7.4, pendiente 36; el pliego aprobado: design/pliego-paisaje.html, la 2 «Letra blanca sobre el cielo»
   con el efecto «Ventana con profundidad»). La tarjeta entera es el paisaje de tu hora: el cielo hasta abajo, las colinas a lo ancho, el sol
   o la luna por su arco, nubes y estrellas; el saludo, en blanco encima, como el Tiempo de Apple. Para que se lea en las cuatro horas, en
   claro y en oscuro (lo mide design/pliego-paisaje/probar.cjs: 4,5:1 el texto, 3:1 el saludo): el cielo, un tono hondo; las colinas, las
   oscuras; detrás del texto, las nubes se deshacen y hay un velo oscuro suave; las fichas de novedades, con su fondo de tarjeta. Las nubes
   entran por la izquierda del todo y salen por la derecha del todo (nunca se ve el salto). Con el ratón o el dedo, «el mundo» (todo menos
   el cielo) gira un poco en 3D hacia donde apuntas y sus capas se separan de lado; el cielo no gira y las colinas son más anchas que la
   tarjeta, así que nunca asoma un hueco. Solo transform y opacity en lo que se mueve; con «Reducir movimiento», quieto. */
/* Sin borde: en una tarjeta que es toda paisaje, la línea de 1 px se ve como un marco (Luis, 09/11/2026: «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); }
/* Las nubes sin corte: cada una en su carril, de −(x + su ancho) a 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; }
/* Detrás del texto, las nubes se deshacen (blanco sobre nube blanca no se lee) */
.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); }
/* El texto, en blanco con una sombra leve; las fichas de novedades, con su fondo de tarjeta */
.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); }
/* Claro: el cielo de cada hora, hondo, hasta abajo; las colinas, oscuras */
.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; }
/* Oscuro: cada hora se reconoce, con tonos que no deslumbran */
: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; }
}
/* En el teléfono: la tarjeta, del alto del texto más las colinas justo debajo (sin el hueco de antes); el sol o la luna asoman por detrás de
   las colinas, a la derecha, bajo el texto; las nubes, solo por la derecha y por debajo de la fecha */
@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): el campo y su ventanita, con los atajos y el calendario de un mes de Landing Builder ---------- */
.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 { opacity: .35; 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); }
/* Todos los días con el mismo grosor de letra (con otro, Gilroy cambia de archivo y el número sube): el elegido se marca con su color */
.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); opacity: .45; cursor: default; }
/* Hoy, siempre a la vista: su aro y un punto debajo del número (blanco si está elegido) */
.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; }
/* En el teléfono, en su hoja: los atajos en tres columnas arriba y el calendario debajo */
.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%; } }

/* ===================== Las cuentas (0.6.0): lo que la app de verdad necesita además del pliego ===================== */
/* «Entrar con otra cuenta» (junto a «Entras como»): el pliego lo pedía sin dibujo; dos flechas que se cambian de sitio */
.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; }
/* El QR de verdad lleva más módulos que el del pliego (un enlace otpauth con el nivel H): un poco más grande para que se escanee bien */
.ent-tarjeta .qr { width: 168px; height: 168px; padding: 6px; }
/* La zona para soltar tu foto es un botón: se pulsa para elegirla */
button.soltar { width: 100%; background: transparent; font: inherit; cursor: pointer; }
button.soltar:hover { border-color: var(--azul); }
/* Un campo de Ajustes › Correo que el servidor no aceptó */
.in.falta { border-color: var(--mal); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mal) 18%, transparent); }
/* El número de la casa con su cifra escrita a mano (el puerto del SMTP): se ve como la cifra de «− 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); }
/* La contraseña del SMTP, del ancho de los demás campos de su fila */
.aj-ctl .in-clave { width: 100%; }
/* Los enlaces para copiar cuando el panel aún no tiene servidor de correo */
.dlg-c .hook-dir code { word-break: break-all; }

/* ---------- Activar la verificación en dos pasos, como en 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; } }
/* La ventana de la entrada crece con lo que lleva, como en Landing Builder: el alto de siempre como mínimo y, si hace falta más (activar la
   2FA con su clave a la vista), más alta; la página se desplaza. Antes tenía alto fijo y recortaba arriba y abajo */
@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; }
}

/* ---------- Las listas desplegables (0.6.6): la G1 en todas y la G6 en las que crecen (ver 97-listas.js) ---------- */
/* G1: la fila elegida en azul y el tick al final, en su sitio. Antes, «.pop-ficha button > span { flex: 1 }» estiraba también el icono
   del tick (otro <span>) y lo dejaba a media fila */
.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: el buscador arriba, siempre a la vista; la elegida, aparte y primero */
.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); }
/* El círculo que gira mientras busca (solo 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; } }

/* El buscador de una lista, a todo el ancho del desplegable y con la lupa centrada en el alto de su campo (0.6.12; Luis: «el buscador no
   sale al ancho del campo y el icono de lupa, todo desalineado»). La lupa, igual en todos los buscadores de la casa */
.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; }

/* ---------- Origen (UTM), la D4 (0.6.7): la tabla de orígenes y su cajón (ver 98-origenes.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); }
/* Dónde se usa: su buscador (el de las listas, con su círculo) y las campañas y los formularios, cada uno con su casilla */
.og-usos { display: grid; border: 1px solid var(--linea); border-radius: 12px; }   /* sin overflow: hidden, que le dejaba altura mínima 0 en el cajón */
.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; }
/* Así llega a 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); }
/* El pie: Eliminar a la izquierda, en rojo; Cancelar y Guardar a la derecha; la confirmación en su lugar */
.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): el icono, en el centro del primer renglón: (22 − 14.4) / 2 */
@media (max-width: 720px) { .og-u { grid-template-columns: minmax(0, 1fr); gap: 4px; } }

/* ---------- El Sandbox, la S1 «Tres pasos en orden» (0.6.8): ver 99-sandbox.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; }
/* La sincronización, dentro del paso 3: sin su marco ni su título (los pone el paso) */
.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; }
/* El vacío: qué hacer para recibir la primera prueba */
.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; } }

/* ============ Las etiquetas, como en Simla Landing Builder (0.6.13, #32): la caja con sus pastillas y «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); }
/* Con pastillas y sin escribir, el campo no ocupa sitio (como en 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); } }

/* Las sugerencias: debajo de la caja, pegadas y de su ancho */
.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; } }

/* ============ El código de 6 cifras, como en Simla Landing Builder (0.6.15, #29): sus reglas .vf-* de app.css, tal cual ============ */
/* Su caja .vf-otp no es la rejilla de antes (que siguen usando los códigos de 8: .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); }
/* La nota bajo las casillas, centrada y con su reloj */
.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; } }

/* ===================== Las guías (0.7.0, design/pliego-guias.html): la guía de inicio de Simla Landing Builder (su studio.css: .le-capas,
   .le-guia-foco, .le-guia, .le-guias-*, y su vuelta 7), con los tokens de este panel. Va en #guia, fuera de #app (pintar no la borra) ===================== */
.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; } }

/* ---- La tarjeta, del mismo tamaño en cada paso (vuelta 7 de Landing Builder) ---- */
.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; }
/* Lo que tapa el panel mientras la guía está abierta (con un hueco en la pieza si se puede tocar) y, sin pieza a la vista, el velo */
.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» en el menú de tu cuenta, junto a Mi perfil, y su cajón (la 1 de B en 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; }

/* ---- Los dibujos: solo transform y opacity; el estilo sin animar es el estado final ---- */
.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; } }
/* Tu cuenta, Mi perfil y Guías: el menú se abre y su fila late */
.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: el POST viaja y la app contesta 200 */
.gi-il-google .gi-il-punto { animation-name: giPunto; } .gi-il-google .gi-il-ok { animation-name: giAp4; }
/* Simla: la API Key se escribe y cada permiso se marca */
.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; }
/* Registro en Simla: del lead salen su cliente y su pedido */
.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; }
/* Duplicados: el segundo sube y se une al primero */
.gi-il-duplicados .gi-il-une { animation-name: giUne; } .gi-il-duplicados .gi-il-ok { animation-name: giAp4; }
/* Origen: la fuente, el medio y la campaña, uno tras otro */
.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; }
/* Lectura: la aguja da la vuelta y salen el nuevo y el borrado */
.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; }
/* Mapeo: cada pregunta se une a su campo */
.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; }
/* Formularios, usuarios: la fila nueva entra arriba */
.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; }
/* Campañas: el nombre se escribe y llegan sus etiquetas */
.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; }
/* Inicio: los puntos verdes laten y entra lo que pide atención */
.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; }
/* Cifras: las barras crecen */
.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: de pendiente a sincronizado */
.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, como su formulario (Luis, 08/11/2026): la caja se pone azul y el valor se escribe; en la clave, «Send test data» y la marca */
.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; } }

/* ===== La carga, sin saltos (0.7.1): «Interfaz primero». Lo que espera, en gris con su forma y un brillo que lo recorre; entra a los
   0,15 s; al llegar, cada pieza sube a su sitio, en orden. Prefijo gx-. Lo que se mueve, solo transform y opacity ===== */
.gx-esq { position: relative; overflow: hidden; pointer-events: none; transition: opacity .2s var(--ease); }
.gx-esq.gx-asoma { opacity: 0; transition: none; }
/* Lo que depende de los datos, en gris (los títulos, las etiquetas de las cifras y las cabeceras se quedan de verdad) */
.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%); } }
/* Las rayas de las filas que esperan: una por celda; en la primera, dos (el nombre y lo de debajo) */
.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); }
/* El Sandbox: las pruebas y la prueba abierta */
.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; }
/* Al llegar: cada pieza sube a su sitio, en orden; desde la 15.ª, todas a la vez (las de más abajo no hacen esperar) */
.gx-sube { animation: gxSube .34s var(--ease) both; animation-delay: calc(var(--gx-i, 0) * 28ms); }
@keyframes gxSube { from { opacity: 0; transform: translateY(6px); } }
/* Las filas de toda lista entran en orden, como hasta ahora, pero desde la 15.ª ya están en su sitio (una página de 50 o 100 no hace esperar) */
.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; }
/* Mi perfil: en «Dispositivos recordados», el nombre de cada navegador también es un dato */
.col-perfil > .pf-s:nth-of-type(4) > .gx-esq .pf-ft > b { color: transparent !important; background: var(--sup3) !important; border-radius: 6px; }

}
/* ============ El instalador web (0.8.0, pendiente 42): sus estilos ============
   Los de su pliego aprobado (design/pliego-instalador.html: los de Simla Landing Builder, su instalador y su bienvenida, con lo de esta app), solo
   dentro de .ins-app, la capa fija que abre /install. Sacados con las clases que usan sus piezas; las animaciones llevan «ins-» delante para no
   chocar con las del panel. Sus tokens van en .ins-app[data-t="c"] y [data-t="o"]: el tema del instalador, el que eliges en su paso de la cuenta.
   Se saca del pliego con el extractor de design/pliego-instalador (extraer-css.cjs); no se edita a mano. */
/* Nada del panel dentro: el panel va en @layer panel (construir.mjs) y esto, fuera de capa, lo vuelve a lo del navegador; después, lo del
   pliego. Los SVG, no: sus colores van en atributos */
: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: .55; 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: .35; 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: .4; 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: #B73232; --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);
  /* La barra de texto del editor (0.3.16): en claro, la de siempre */
  --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: #FFA9A9; --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);
  /* La barra de texto en oscuro (0.3.16): la pizarra clara */
  --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: .45; }
.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-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 .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); } }

/* La capa: fija, del tamaño de la ventana, encima de la página; con la bienvenida, transparente (el panel de verdad, debajo) */
.ins-app { position: fixed; inset: 0; z-index: 900; width: auto; height: auto; transform: none; }
.ins-app.ins-panel { background: transparent; }
