/* Video.js 8.24.2 · estilos del proveedor (licencia en assets/vendor/videojs/LICENSE). */
.vjs-svg-icon{display:inline-block;background-repeat:no-repeat;background-position:center;fill:currentColor;height:1.8em;width:1.8em}.vjs-svg-icon:before{content:none!important}.vjs-control:focus .vjs-svg-icon,.vjs-svg-icon:hover{filter:drop-shadow(0 0 .25em #fff)}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.vjs-modal-dialog .vjs-modal-dialog-content{position:absolute;top:0;left:0;width:100%;height:100%}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.vjs-button>.vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5PXgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==) format("woff");font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder,.vjs-icon-play{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-big-play-button .vjs-icon-placeholder:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.vjs-icon-play:before{content:"\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\f102"}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder,.vjs-icon-pause{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before,.vjs-icon-pause:before{content:"\f103"}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder,.vjs-icon-volume-mute{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before,.vjs-icon-volume-mute:before{content:"\f104"}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder,.vjs-icon-volume-low{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before,.vjs-icon-volume-low:before{content:"\f105"}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder,.vjs-icon-volume-mid{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before,.vjs-icon-volume-mid:before{content:"\f106"}.video-js .vjs-mute-control .vjs-icon-placeholder,.vjs-icon-volume-high{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-mute-control .vjs-icon-placeholder:before,.vjs-icon-volume-high:before{content:"\f107"}.video-js .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-enter{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-enter:before{content:"\f108"}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder,.vjs-icon-fullscreen-exit{font-family:VideoJS;font-weight:400;font-style:normal}.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before,.vjs-icon-fullscreen-exit:before{content:"\f109"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\f10a"}.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-subtitles{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-subtitles:before{content:"\f10b"}.video-js .vjs-captions-button .vjs-icon-placeholder,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.vjs-icon-captions{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-captions-button .vjs-icon-placeholder:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.vjs-icon-captions:before{content:"\f10c"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\f10d"}.video-js .vjs-chapters-button .vjs-icon-placeholder,.vjs-icon-chapters{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-chapters-button .vjs-icon-placeholder:before,.vjs-icon-chapters:before{content:"\f10e"}.vjs-icon-downloading{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-downloading:before{content:"\f10f"}.vjs-icon-file-download{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download:before{content:"\f110"}.vjs-icon-file-download-done{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-done:before{content:"\f111"}.vjs-icon-file-download-off{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-file-download-off:before{content:"\f112"}.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\f113"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\f114"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\f115"}.video-js .vjs-play-progress,.video-js .vjs-volume-level,.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-progress:before,.video-js .vjs-volume-level:before,.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before{content:"\f116"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\f117"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\f118"}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder,.vjs-icon-cancel{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before,.vjs-icon-cancel:before{content:"\f119"}.vjs-icon-repeat{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-repeat:before{content:"\f11a"}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder,.vjs-icon-replay{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before,.vjs-icon-replay:before{content:"\f11b"}.video-js .vjs-skip-backward-5 .vjs-icon-placeholder,.vjs-icon-replay-5{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before,.vjs-icon-replay-5:before{content:"\f11c"}.video-js .vjs-skip-backward-10 .vjs-icon-placeholder,.vjs-icon-replay-10{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before,.vjs-icon-replay-10:before{content:"\f11d"}.video-js .vjs-skip-backward-30 .vjs-icon-placeholder,.vjs-icon-replay-30{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before,.vjs-icon-replay-30:before{content:"\f11e"}.video-js .vjs-skip-forward-5 .vjs-icon-placeholder,.vjs-icon-forward-5{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before,.vjs-icon-forward-5:before{content:"\f11f"}.video-js .vjs-skip-forward-10 .vjs-icon-placeholder,.vjs-icon-forward-10{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before,.vjs-icon-forward-10:before{content:"\f120"}.video-js .vjs-skip-forward-30 .vjs-icon-placeholder,.vjs-icon-forward-30{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before,.vjs-icon-forward-30:before{content:"\f121"}.video-js .vjs-audio-button .vjs-icon-placeholder,.vjs-icon-audio{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-audio-button .vjs-icon-placeholder:before,.vjs-icon-audio:before{content:"\f122"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\f123"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\f124"}.vjs-icon-shuffle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-shuffle:before{content:"\f125"}.vjs-icon-cast{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cast:before{content:"\f126"}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-enter{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-enter:before{content:"\f127"}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder,.vjs-icon-picture-in-picture-exit{font-family:VideoJS;font-weight:400;font-style:normal}.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before,.vjs-icon-picture-in-picture-exit:before{content:"\f128"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\f129"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\f12a"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\f12b"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\f12c"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\f12d"}.video-js .vjs-descriptions-button .vjs-icon-placeholder,.vjs-icon-audio-description{font-family:VideoJS;font-weight:400;font-style:normal}.video-js .vjs-descriptions-button .vjs-icon-placeholder:before,.vjs-icon-audio-description:before{content:"\f12e"}.video-js{display:inline-block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:0}.video-js *,.video-js :after,.video-js :before{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.video-js.vjs-1-1,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-fluid{width:100%;max-width:100%}.video-js.vjs-1-1:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-fluid:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{width:100%!important;height:100%!important;padding-top:0!important;display:block}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{position:absolute;bottom:10%;font-size:2em;background-color:rgba(0,0,0,.7);padding:.5em;text-align:center;width:100%}.vjs-layout-small.vjs-pip-container .vjs-pip-text,.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text{bottom:0;font-size:1.4em}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:50%;left:50%;padding:0;margin-top:-.81666em;margin-left:-1.5em;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:rgba(43,51,63,.7);border-radius:.3em;transition:all .4s}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;position:absolute;top:50%;left:50%;line-height:1;transform:translate(-50%,-50%)}.video-js .vjs-big-play-button:focus,.video-js:hover .vjs-big-play-button{border-color:#fff;background-color:rgb(114.9141509434,132.7028301887,159.3858490566);background-color:rgba(114.9141509434,132.7028301887,159.3858490566,.5);transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-error .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{background:0 0;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{outline:.0625em solid #fff;box-shadow:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:rgba(0,0,0,.8);background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(255,255,255,0));overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{display:flex;justify-content:center;list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.js-focus-visible .vjs-menu li.vjs-menu-item:hover,.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover{background-color:rgb(114.9141509434,132.7028301887,159.3858490566);background-color:rgba(114.9141509434,132.7028301887,159.3858490566,.5)}.js-focus-visible .vjs-menu li.vjs-selected:hover,.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon,.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible),.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em 0;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0;margin-bottom:1.5em;border-top-color:rgba(43,51,63,.7)}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:rgba(43,51,63,.7);position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-menu-button-popup .vjs-menu.vjs-lock-showing,.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline:hover{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline.vjs-slider-active .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline:hover .vjs-menu{display:block;opacity:1}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-audio-only-mode .vjs-control-bar,.vjs-has-started .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-error .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar{display:none!important}.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus,.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div,.video-js .vjs-progress-holder .vjs-play-progress{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;line-height:.35em;z-index:1}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{position:absolute;top:-.35em;right:-.4em;width:.9em;height:.9em;pointer-events:none;line-height:.15em;z-index:1}.video-js .vjs-load-progress{background:rgba(114.9141509434,132.7028301887,159.3858490566,.5)}.video-js .vjs-load-progress div{background:rgba(114.9141509434,132.7028301887,159.3858490566,.75)}.video-js .vjs-time-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display,.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em 0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:rgb(114.9141509434,132.7028301887,159.3858490566);background-color:rgba(114.9141509434,132.7028301887,159.3858490566,.5)}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical{left:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{position:absolute;width:.9em;height:.9em;pointer-events:none;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translateX(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:rgba(43,51,63,.7)}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:rgba(255,255,255,.8);border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:rgba(0,0,0,.8)}.vjs-poster{display:inline-block;vertical-align:middle;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{width:100%;height:100%;object-fit:contain}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.video-js.vjs-liveui .vjs-live-control,.video-js:not(.vjs-live) .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{width:1em;height:1em;pointer-events:none;fill:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.video-js .vjs-current-time,.video-js .vjs-duration,.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider{display:none}.vjs-time-divider{display:none;line-height:3em}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset:10px){.video-js .vjs-text-track-display>div{top:0;right:0;bottom:0;left:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate .vjs-playback-rate-value,.vjs-playback-rate>.vjs-menu-button{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.85;text-align:left;border:.6em solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:5em;height:5em;border-radius:50%;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:flex;justify-content:center;align-items:center;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:after,.vjs-loading-spinner:before{content:"";position:absolute;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before{animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{100%{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:rgb(114.9141509434,132.7028301887,159.3858490566)}20%{border-top-color:rgb(114.9141509434,132.7028301887,159.3858490566)}35%{border-top-color:#fff}60%{border-top-color:rgb(114.9141509434,132.7028301887,159.3858490566)}100%{border-top-color:rgb(114.9141509434,132.7028301887,159.3858490566)}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\f10c";font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-description-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \f12e";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:auto;width:initial}.video-js.vjs-layout-tiny .vjs-progress-control,.video-js.vjs-layout-x-small .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:rgba(43,51,63,.75);color:#fff;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-controls,.vjs-text-track-settings .vjs-track-settings-font{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0 24px}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:10px;border:none}.vjs-text-track-settings fieldset span{display:inline-block;padding:0 .6em .8em}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-weight:700;font-size:1.2em}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:active,.vjs-track-settings-controls button:focus{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,rgb(114.9141509434,132.7028301887,159.3858490566) 100%)}.vjs-track-settings-controls button:hover{color:rgba(43,51,63,.75)}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,rgb(114.9141509434,132.7028301887,159.3858490566) 100%);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{background:rgba(0,0,0,.9);background:linear-gradient(180deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.7) 60%,rgba(0,0,0,0) 100%);font-size:1.2em;line-height:1.5;transition:opacity .1s;padding:.666em 1.333em 4em;pointer-events:none;position:absolute;top:0;width:100%}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-description,.vjs-title-bar-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vjs-title-bar-title{font-weight:700;margin-bottom:.333em}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5{cursor:pointer}.video-js .vjs-skip-forward-10{cursor:pointer}.video-js .vjs-skip-forward-30{cursor:pointer}.video-js .vjs-skip-backward-5{cursor:pointer}.video-js .vjs-skip-backward-10{cursor:pointer}.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{position:absolute;height:3em;display:flex;align-items:center;justify-content:center;background-color:rgba(50,50,50,.5);cursor:pointer;opacity:1;transition:opacity 1s}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:rgba(50,50,50,.9)}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js :focus:not(.focus-visible){outline:0}.video-js :focus:not(:focus-visible){outline:0}

/* Extended Suites · estilos generales. */
/* Orden: base y vistas originales, cursos, dashboard, foro y perfil. */


/* === Base, componentes heredados, portada y acceso === */
:root{--bg:#ebecef;--shell:#f4f4f6;--panel:#fff;--ink:#4e4e4e;--muted:#77777d;--line:#dedee1;--soft:#f6f6f7;--green:#75ba71;--red:#e45c4b;--purple:#8d55f3;--orange:#d99023;--mint:#55aa78;--shadow:0 1px 2px rgba(30,30,33,.05);--brand-accent:#aa1f2e;--brand-accent-hover:#8d1726;--brand-accent-soft:#f6e8ea;--brand-ink:#4e4e4e}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body {
    margin: 0;
    min-height: 98vh;
    color: var(--ink);
    font: 13px / 1.4 Inter, Arial, sans-serif;
    overflow-x: hidden;
    font-size: .8rem;
}
button,select{font:inherit;color:inherit}button,a{cursor:pointer}a{text-decoration:none;color:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.ambient{position:fixed;inset:0;background:#eeeeee;filter:saturate(.7);z-index:-1}
.app-frame {
    display: grid;
    grid-template-columns: 55px 215px minmax(0, 1fr);
    width: auto;
    height: calc(100vh - 1.5rem);
    height: calc(100dvh - 1.5rem);
    min-height: 0;
    margin:1rem 1.5rem;
    border-radius:20px; -moz-border-radius:20px; -webkit-border-radius:20px; 
    background: var(--shell);
    overflow: hidden;
    box-shadow: 0 18px 50px rgb(75 81 88 / 28%);
    transition: grid-template-columns .24s ease;
}
.sinNav{border:none!important; padding:0 0 1rem 0!important; margin-top: 1.5rem!important;}
.app-frame.sidebar-collapsed {
    grid-template-columns: 50px 0 minmax(0, 1fr);
}
.icon-rail {
    position: sticky;
    top: 0;
    align-self: start;
    height: 100%;
    border-right: 1px solid #e1e1e4;
    background: #AA1F2E;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem .5rem;
}
.icon-rail button.mini-logo {
    width: 35px;
    height: 35px;
    transition: background-color .18s ease, box-shadow .18s ease;
}
.icon-rail button.mini-logo svg {
    width: 27px;
    height: 27px;
    stroke-width: 1.5;
    transition: transform .18s ease;
}
@media (hover:hover) {
    .icon-rail button.mini-logo:hover {
        background: rgba(255,255,255,.14);
        box-shadow: 0 3px 10px rgba(21,22,57,.18);
    }
    .icon-rail button.mini-logo:hover svg {
        transform: scale(1.08);
    }
}
.icon-rail button.mini-logo:active svg {
    transform: scale(.96);
}
.icon-rail nav {
    display: grid;
    gap: 1rem;
    border-top: 1px solid #bf595e;
    padding: .75rem 0 1rem;
    border-bottom: 1px solid #bf595e;
    margin-top: 1rem;
    padding-top: 1rem;
    padding-bottom: 1.75rem;
}
.icon-rail nav a,.icon-rail button{width:31px;height:31px;border:0;border-radius:4px;background:transparent;color:rgba(255,255,255,.82);display:grid;place-items:center}
.icon-rail nav a.mobile-profile-link{display:none}
.icon-rail nav a.active {
    background: #3d2d2f;
    color: #ffffff;
    box-shadow:0px 0px 2px #edcccc;
}
.icon-rail nav svg, .icon-rail button svg {
    width: 22px;
    height: 22px;
}
.icon-rail button{margin-top:auto}.icon-rail .mini-logo{margin-top:0}
.sidebar{position:sticky;top:0;align-self:start;height:100%;padding:1rem .75rem;border-right:1px solid #e0e0e3;background:#ededf0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color: #3f4146 #3f414636;opacity:1;transition:opacity .18s ease,padding .24s ease}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{border-radius:999px;background:#f8f9ff}.sidebar::-webkit-scrollbar-thumb{border-radius:999px;background:#3f4146}.sidebar::-webkit-scrollbar-thumb:hover{background:#3e4077}.app-frame.sidebar-collapsed .sidebar{padding-left:0;padding-right:0;overflow:hidden;opacity:0;pointer-events:none}.account{display:flex;align-items:center;min-height:40px;margin:0 0 34px}.account-brand{display:block;width:100%;max-width:158px;height:40px;object-fit:contain;object-position:left center}
.side-nav{display:grid;gap:4px}
.side-nav a {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    padding: .375rem .5rem;
    border-radius: 8px;
    color: var(--ink);
    font-weight: 400;
    font-size: .77rem;
    line-height: 1.35;
    white-space: nowrap;
}
.side-nav a:hover,.side-nav a.selected{background:rgba(255,255,255,.52);box-shadow:inset 0 0 0 1px rgba(222,222,225,.55)}.side-nav svg{width:17px;height:17px;flex:0 0 17px;stroke-width:1.85;stroke:inherit}.side-nav-label{display:block;flex:1 1 0;width:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-nav p{font-size:.85rem;color:#737379;margin:18px 10px 4px}
main{height:100%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background:#f7f7f8}
.topbar{height:42px;border-bottom:1px solid #e3e3e5;display:flex;align-items:center;padding:.5rem 1rem;background:#f8f8f9;position:sticky;top:0;z-index:100001}
.page-title{display:flex;align-items:center;gap:8px}
.page-title svg{width:14px}
.page-title strong {
    font-weight: 500;
    color: #4e4e4e;
}
.top-links{margin-left:auto;display:flex;align-items:center;gap:18px}.top-links button{border:0;background:transparent;display:flex;align-items:center;gap:6px}.top-links svg{width:21px;height:21px}
.top-user {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    height: 30px;
    max-width: 220px;
    padding: 4px 10px 4px 5px;
    border: 1px solid #e3e3e6;
    border-radius: 20px;
    background: #f1f1f3;
    color: #292a2e;
}
.top-user-avatar {
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    flex: none;
    border: 1.5px solid #434d91;
    border-radius: 50%;
    color: #434d91;
    background: #fff;
}
.top-user-avatar svg{
	width: 17px;
    height: 17px;
    fill: currentColor;
    stroke: none;
}
.top-user-avatar circle,.top-user-avatar path{fill:currentColor;stroke:none}
.top-user-name {
    min-width: 0;
    max-width: 145px;
    overflow: hidden;
    color: #292a2e;
    font-size: .65rem;
    font-weight: 500;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.top-user-chevron{width:16px!important;height:16px!important;flex:none;stroke-width:2.4}
.settings-dropdown{position:relative}.settings-dropdown>button{height:34px;border-radius:5px!important;padding:0 7px!important;transition:background .16s ease,color .16s ease}.settings-dropdown.open>button,.settings-dropdown>button:hover,.settings-dropdown>button:focus-visible{background:#f0f1f6;color:#4e4e4e;outline:0}.settings-dropdown.open .icon-settings{transform:rotate(28deg)}.settings-dropdown .icon-settings{transition:transform .2s ease}.settings-quick-menu{position:absolute;top:calc(100% + 8px);right:0;width:310px;overflow:hidden;border:1px solid #dedfe8;border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 18px 46px rgba(38,40,68,.2);transform-origin:top right;animation:sync-menu-in .16s ease-out}.settings-quick-menu[hidden]{display:none}.settings-quick-menu>header{display:grid;gap:2px;padding:12px 14px;border-bottom:1px solid #e6e7ec;background:linear-gradient(135deg,#f6f7ff,#fbfbfc)}.settings-quick-menu>header strong{color:#3f4150;font-size:.76rem}.settings-quick-menu>header small{color:#7d7f88;font-size:.6rem}.settings-quick-menu ul{display:grid;gap:3px;margin:0;padding:7px;list-style:none}.settings-quick-menu li{margin:0;padding:0}.settings-quick-menu a{min-height:56px;display:grid;grid-template-columns:32px minmax(0,1fr) 12px;align-items:center;gap:10px;padding:7px 9px;border-radius:7px;color:inherit;transition:background .14s ease,transform .14s ease}.settings-quick-menu a:hover,.settings-quick-menu a:focus-visible{background:#f2f3fa;outline:0}.settings-quick-menu a:active{transform:scale(.992)}.settings-quick-menu a>i{width:31px;height:31px;display:grid;place-items:center;border:1px solid #e1e2e8;border-radius:7px;background:#fafafa;color:#55588f;font-size:.85rem;font-style:normal}.settings-quick-menu a>span{display:grid;gap:2px;min-width:0}.settings-quick-menu a strong{color:#3e4048;font-size:.68rem;font-weight:600}.settings-quick-menu a small{color:#80828a;font-size:.57rem}.settings-quick-menu a>b{color:#9a9ca5;font-size:1rem;font-weight:400}.dark .settings-dropdown.open>button,.dark .settings-dropdown>button:hover,.dark .settings-dropdown>button:focus-visible{background:#30313a;color:#c7c9ff}.dark .settings-quick-menu{border-color:#414248;background:rgba(41,42,44,.99)}.dark .settings-quick-menu>header{border-color:#414248;background:linear-gradient(135deg,#30313a,#2b2c2e)}.dark .settings-quick-menu>header strong,.dark .settings-quick-menu a strong{color:#ededee}.dark .settings-quick-menu>header small,.dark .settings-quick-menu a small{color:#a5a6ac}.dark .settings-quick-menu a:hover,.dark .settings-quick-menu a:focus-visible{background:#33343e}.dark .settings-quick-menu a>i{border-color:#45464d;background:#303134;color:#b9bbec}
.toolbar {
    height: 48px;
    border-bottom: 1px solid #e4e4e6;
    display: flex;
    align-items: center;
    padding: .5rem 1rem;
    box-shadow: -1px 1px 10px #3f414621;
    z-index: 99999;
    background:#f8f8f9;
}
.toolbar button {
    height: 31px;
    border: 1px solid #dfdfe2;
    background: #ffffff;
    border-radius: 4px;
    display: flex
;
    align-items: center;
    gap: 8px;
    padding: 0 .75rem;
    box-shadow: 0 1px 3px rgba(40, 40, 43, .04);
    font-size: .75rem;
}
.toolbar svg{width:16px;}.date-btn{margin-left:auto}
.botones-rapidos {
    height: 31px;
    width: 31px;
    float: right;
    border: 1px solid #e3e0e3;
    padding: .45rem;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    color: #8d8d8d;
    background: linear-gradient(to bottom, #ffffff 5%, #eaeaea 100%);
    transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .2s ease;
    margin-left: .55rem;
}
.sync-dropdown{position:relative;flex:none}
.sync-dropdown .botones-rapidos{display:grid;place-items:center;float:none;margin-left:.5rem}
.sync-dropdown .botones-rapidos:hover,.sync-dropdown .botones-rapidos:focus-visible,.sync-dropdown.open .botones-rapidos{border-color:#7779af;background:#fff;color:#3f4146;box-shadow:0 3px 10px rgba(76,78,139,.16);outline:0}
.sync-dropdown.open .botones-rapidos svg{transform:rotate(25deg)}
.sync-dropdown .botones-rapidos svg{transition:transform .2s ease}
.sync-menu{position:absolute;top:calc(100% + 9px);right:0;width:365px;max-width:calc(100vw - 38px);overflow:hidden;border:1px solid #dedfe8;border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 18px 46px rgba(38,40,68,.2);transform-origin:top right;animation:sync-menu-in .16s ease-out;z-index:100000}
.sync-menu[hidden]{display:none}
.sync-menu>header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e6e7ec;background:linear-gradient(135deg,#f6f7ff,#fbfbfc)}
.sync-menu>header div{display:grid;gap:2px}.sync-menu>header strong{font-size:.78rem;color:#3f4150}.sync-menu>header small{font-size:.62rem;color:#7d7f88}.sync-menu>header>span{padding:3px 7px;border:1px solid #dcdded;border-radius:999px;background:#eef0fb;color:#3f4146;font-size:.57rem;font-weight:600}
.sync-menu-scroll{max-height:min(565px,calc(100vh - 190px));overflow-y:auto;padding:6px;scrollbar-width:thin;scrollbar-color:#898bb6 transparent}
.sync-menu-scroll>p{margin:0;padding:9px 9px 4px;color:#8a8c94;font-size:.57rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.toolbar .sync-option{width:100%;height:auto;min-height:52px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:7px 9px;border:0;border-radius:7px;background:transparent;box-shadow:none;text-align:left;transition:background .14s ease,transform .14s ease}
.toolbar .sync-option:hover,.toolbar .sync-option:focus-visible{background:#f2f3fa;outline:0}.toolbar .sync-option:active{transform:scale(.992)}
.sync-option>i{width:31px;height:31px;display:grid;place-items:center;border:1px solid #e1e2e8;border-radius:7px;background:#fafafa;color:#55588f;font-size:.85rem;font-style:normal}.sync-option>span{display:grid;gap:2px;min-width:0}.sync-option strong{color:#3e4048;font-size:.69rem;font-weight:600;white-space:normal}.sync-option small{color:#80828a;font-size:.58rem;white-space:normal}.toolbar .sync-option.featured{background:#f1f2fa}.sync-option.featured>i{border-color:#3f4146;background:#3f4146;color:#fff}.sync-option.featured strong{color:#3d3f79}
.sync-mode-gray>i{border-color:#d8d9df;background:#ececf0;color:#5f6068}.sync-mode-gray strong{color:#55565d}
.dark .sync-dropdown .botones-rapidos{background:#2b2c2e;border-color:#3c3d3f}.dark .sync-menu{border-color:#414248;background:rgba(41,42,44,.99)}.dark .sync-menu>header{border-color:#414248;background:linear-gradient(135deg,#30313a,#2b2c2e)}.dark .sync-menu>header strong,.dark .sync-option strong{color:#ededee}.dark .sync-menu>header>span{border-color:#4d4f78;background:#393b57;color:#c7c9ff}.dark .toolbar .sync-option:hover,.dark .toolbar .sync-option:focus-visible,.dark .toolbar .sync-option.featured{background:#33343e}.dark .sync-option>i{border-color:#45464d;background:#303134;color:#b9bbec}.dark .sync-option.featured>i{border-color:#7779af;background:#7779af;color:#fff}.dark .sync-option.featured strong{color:#d8d9ff}.dark .sync-option small{color:#a5a6ac}
@keyframes sync-menu-in{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}

.advanced-search-menu{position:absolute;top:calc(100% + 9px);right:0;width:330px;max-width:calc(100vw - 38px);overflow:hidden;border:1px solid #dedfe8;border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 18px 46px rgba(38,40,68,.2);transform-origin:top right;animation:sync-menu-in .16s ease-out;z-index:100000}
.advanced-search-menu[hidden]{display:none}.advanced-search-menu>header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e6e7ec;background:linear-gradient(135deg,#f6f7ff,#fbfbfc)}.advanced-search-menu>header div{display:grid;gap:2px}.advanced-search-menu>header strong{color:#3f4150;font-size:.78rem}.advanced-search-menu>header small{color:#7d7f88;font-size:.62rem}.advanced-search-menu>header>span{padding:3px 7px;border:1px solid #dcdded;border-radius:999px;background:#eef0fb;color:#3f4146;font-size:.57rem;font-weight:600}.advanced-search-options{display:grid;gap:3px;padding:7px}.advanced-search-option-form{margin:0}.toolbar .advanced-search-option{width:100%;height:auto;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:10px;padding:8px 9px;border:0;border-radius:7px;background:transparent;box-shadow:none;text-align:left;transition:background .14s ease,transform .14s ease}.toolbar .advanced-search-option:hover,.toolbar .advanced-search-option:focus-visible{background:#f2f3fa;outline:0}.toolbar .advanced-search-option:active{transform:scale(.992)}.advanced-search-option>i{width:32px;height:32px;display:grid;place-items:center;border:1px solid #e1e2e8;border-radius:7px;background:#fafafa;color:#55588f;font-size:.9rem;font-style:normal}.advanced-search-option>span{display:grid;gap:2px;min-width:0}.advanced-search-option strong{color:#3e4048;font-size:.7rem;font-weight:600}.advanced-search-option small{color:#80828a;font-size:.58rem}.advanced-search-option>b{color:#9a9ca5;font-size:1rem;font-weight:400}.advanced-search-menu>footer{padding:8px 14px;border-top:1px solid #ececf0;background:#fafafd;color:#95969d;font-size:.55rem;text-align:center}.dark .advanced-search-menu{border-color:#414248;background:rgba(41,42,44,.99)}.dark .advanced-search-menu>header{border-color:#414248;background:linear-gradient(135deg,#30313a,#2b2c2e)}.dark .advanced-search-menu>header strong,.dark .advanced-search-option strong{color:#ededee}.dark .advanced-search-menu>header>span{border-color:#4d4f78;background:#393b57;color:#c7c9ff}.dark .toolbar .advanced-search-option:hover,.dark .toolbar .advanced-search-option:focus-visible{background:#33343e}.dark .advanced-search-option>i{border-color:#45464d;background:#303134;color:#b9bbec}.dark .advanced-search-option small{color:#a5a6ac}.dark .advanced-search-menu>footer{border-color:#414248;background:#2d2e31;color:#929399}
#filterButton{background:#3f4146;color:#fff;transition:background-color .18s ease,box-shadow .18s ease}
#filterButton>svg:first-child{fill:#fff}
#filterButton[aria-expanded="true"]{background:#3f4179;box-shadow:0 4px 12px rgba(76,78,139,.24)}
.toolbar .daily-topic-sync-trigger{display:inline-flex;align-items:center;gap:.42rem;color:#666873;transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease; margin-left:.5rem;}
.daily-topic-sync-dot{width:8px;height:8px;display:inline-block;flex:0 0 8px;border-radius:50%;background:#c7ccd8}
.toolbar .daily-topic-sync-trigger.is-active{border-color:#b9ddc7;background:#f4fbf6;color:#287a47;box-shadow:0 1px 4px rgba(42,142,82,.1)}
.daily-topic-sync-trigger.is-active .daily-topic-sync-dot{background:#42a66a;box-shadow:0 0 0 0 rgba(66,166,106,.42);animation:daily-sync-blink 1.25s infinite}
.dark .toolbar .daily-topic-sync-trigger.is-active{border-color:#3d7250;background:#293a2f;color:#83d39f}.dark .daily-topic-sync-trigger.is-active .daily-topic-sync-dot{background:#66c887}
@keyframes daily-sync-blink{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(66,166,106,.38)}50%{opacity:.48;box-shadow:0 0 0 5px rgba(66,166,106,0)}}
.comparator-toggle-text{min-width:42px;margin-left:2px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.62rem;font-weight:600;letter-spacing:.02em;text-align:center;white-space:nowrap}
#filterButton .comparator-chevron{width:7px;height:7px;margin:0 2px 3px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease,margin .2s ease}
#filterButton[aria-expanded="true"] .comparator-chevron{margin-top:5px;margin-bottom:0;transform:rotate(225deg)}
.filter-panel {
    margin: 0px;
    padding: .5rem 1rem;
    border-bottom: 1px solid #ccc;
    background: #f8f9ff;
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    gap: 12px;
    box-shadow: 0 10px 30px rgba(30, 30, 34, .07);
}
.filter-panel[hidden]{display:none}
.comparator-field{display:flex;align-items:center;min-width:0;height:40px;padding:4px 4px 4px 11px;border:1px solid #dedfe8;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(62,64,119,.06);transition:border-color .18s ease,box-shadow .18s ease}
.comparator-field:focus-within{border-color:#7477b5;box-shadow:0 0 0 3px rgba(76,78,139,.11)}
.comparator-field label {
    flex: 0 0 auto;
    margin-right: 9px;
    color: #3f4146;
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: .035em;
    white-space: nowrap;
}
.comparator-field select {
    min-width: 0;
    flex: 1;
    height: 30px;
    border: 0;
    border: 1px solid #eaeaed;
    border-radius: 0 6px 6px 0;
    outline: 0;
    background: #f8f8f9de;
    padding: 0 27px 0 9px;
    color: #474851;
    font-size: .72rem;
    font-weight: 500;
}
.filter-panel>button {
    height: 34px;
    align-self: center;
    border: 0;
    border-radius: 6px;
    background: #3f4146;
    color: #fff;
    padding: 0 1.25rem;
    font-weight: 600;
    box-shadow: 0 3px 10px rgba(76, 78, 139, .18);
    font-size: .75rem;
}
.filter-panel>button:hover{background:#3f4179}
.workspace{padding:1rem}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:.75rem}
.kpi {
    position: relative;
    min-height: 73px;
    border: 1px solid #dedee0;
    border-radius: 8px;
    background: #fff;
    padding: .45rem .75rem;
    box-shadow: var(--shadow);
    min-width: 0;
}
.kpi.selected {
    background: #fbfbfb;
    border-color: #b8b9bc;
}
.kpi-label{display:flex;align-items:center;gap:8px;color: var(--ink); text-transform: uppercase;
    font-size: .65rem;}
.kpi-label>svg{width:15px;height:15px}
.kpi-help {
    display: grid;
    place-items: center;
    width: 15px;
    height: 15px;
    margin-left: auto;
    padding: 0;
    border: 1px solid #3f4146;
    border-radius: 50%;
    background: transparent;
    color: #747680;
    font-size: .55rem;
    font-weight: 700;
    line-height: 1;
    cursor: help;
    transition: color .16s ease, border-color .16s ease, background-color .16s ease;
}
.kpi-help:hover,.kpi-help:focus-visible{border-color:#3f4146;background:#3f4146;color:#fff;outline:none}
.kpi-tooltip{position:absolute;z-index:25;top:31px;right:10px;width:max-content;max-width:min(200px,calc(100vw - 36px));padding:8px 10px;border-radius:7px;background:#3f4146;color:#fff!important;box-shadow:0 8px 22px rgba(28,30,42,.2);font-size:.67rem;line-height:1.35;font-weight:400;text-align:left;text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.kpi-help:hover+.kpi-tooltip,.kpi-help:focus-visible+.kpi-tooltip,.kpi-help:focus+.kpi-tooltip{opacity:1;visibility:visible;transform:translateY(0)}
.kpi-grid .kpi:first-child .kpi-tooltip{left:10px;right:auto}
.kpi-value {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin-top: .5rem;
}
.kpi-value strong {
    font-size: 1.3rem;
    line-height: 1;
    font-weight: 400;
    color: #4e4e4e;
}
.kpi-value small{font-size:11px;color:var(--green);margin-bottom:2px}.kpi-value small.flat{color:#77777c}
.spark{margin-left:auto;width:72px;height:25px;color:#75ba71}
.spark path{stroke-width:1.7}.spark.flat-line{color:#87a789}
.ads-kpi .spark,.ads-kpi .kpi-value small{color:#e97d33}
.sentiment-value{align-items:center;margin-top:.2rem;gap:10px}
.sentiment-donut{position:relative;display:grid;place-items:center;width:42px;height:42px;margin-left:auto;flex:none}
.sentiment-donut svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sentiment-donut circle{fill:none;stroke-width:4;stroke-linecap:butt}
.sentiment-ring-track{stroke:#e8ece8}
.sentiment-ring-positive{stroke:#74ba71;stroke-dasharray:80 20;stroke-dashoffset:0}
.sentiment-ring-neutral{stroke:#9aa4bb;stroke-dasharray:13 87;stroke-dashoffset:-81}
.sentiment-ring-negative{stroke:#e45c4b;stroke-dasharray:4 96;stroke-dashoffset:-95}
.sentiment-donut strong{position:relative;z-index:1;color:#3d3e42;font-size:.64rem;font-weight:600;line-height:1}
.sentiment-summary{display:grid;flex:1;min-width:0;gap:1px;line-height:1}
.sentiment-summary span{display:grid;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:6px;color:#55575c;font-size:.57rem}
.sentiment-summary i{width:5px;height:5px;border-radius:50%}
.sentiment-summary b, .sentiment-summary em {
    overflow: hidden;
    font-style: normal;
    font-weight: 600;
    white-space: nowrap;
    font-size: .5rem;
    text-transform: uppercase;
    line-height: 1.45;
    color: #77777c;
}
.sentiment-summary em{color:#6f7178;text-align:right}
.sentiment-positive{background:#74ba71}.sentiment-neutral{background:#9aa4bb}.sentiment-negative{background:#e45c4b}
.main-grid{display:grid;grid-template-columns:minmax(0,2.04fr) minmax(315px,.98fr);align-items:stretch;gap:1rem;margin-top:.75rem}
.chart-card,.ranking-card{border:1px solid #dedee1;border-radius:8px;background:#fff;box-shadow:var(--shadow);height:auto}
.chart-card{padding:1rem}
.chart-card header{height:63px}
.chart-label,.rank-title{display:flex;align-items:center;gap:.25rem;color:#6b6b70; font-size: .85rem; font-weight: 500;}.chart-label svg,.rank-title svg{width:16px}
.chart-card header>strong{display:block;font-size:1.75rem;margin-top:.25rem; font-weight:500;}.chart-area{height:390px}.chart-area svg{width:100%;height:100%;overflow:visible}
.grid line{stroke:#e6e6e8;stroke-width:1;stroke-dasharray:3 5}.axis text{font:11px Inter,sans-serif;fill:#74747a;stroke:none}.series{fill:none;stroke-width:2.1}.series.green{stroke:var(--green)}.series.red{stroke:var(--red)}.series.purple{stroke:var(--purple)}.series.orange{stroke:var(--orange)}.series.mint{stroke:var(--mint)}.legend{height:49px;display:flex;justify-content:center;align-items:end;gap:22px;color:#66666b;font-size:11px}.legend span{display:flex;align-items:center;gap:7px}.legend i{width:7px;height:7px;border-radius:50%}.lg-green{background:var(--green)}.lg-red{background:var(--red)}.lg-purple{background:var(--purple)}.lg-orange{background:var(--orange)}.lg-mint{background:var(--mint)}
.daily-chart-card{display:flex;flex-direction:column;padding:14px 14px 10px}
.chart-card header.daily-chart-head{height:46px;padding:0}
.chart-card .daily-chart-head>strong{margin:0;color:#6b6b70;font-size:.85rem;line-height:1.25;font-weight:500}
.daily-chart-head small {
    display: block;
    margin-top: .25rem;
    color: #777980;
    font-size: .77rem;
    line-height: 1.3;
    font-weight: 400;
    border-bottom: .5px solid #dedee0;
    padding-bottom: .5rem;
}
.daily-legend{height:24px;display:flex;align-items:center;justify-content:flex-start;gap:12px;color:#404047;font-size:.66rem;white-space:nowrap; margin-top:.5rem;}
.daily-legend-item{display:flex;align-items:center;gap:4px;padding:2px 0;border:0;background:transparent;color:inherit;line-height:1;transition:opacity .18s ease,color .18s ease}
.daily-legend-item:hover,.daily-legend-item:focus-visible{color:#17171a}
.daily-legend-item[aria-pressed="false"]{opacity:.38;text-decoration:line-through}
.daily-key{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid currentColor;background:#fff}
.mentions-key{color:#76a967;background:#8fbd80;border-color:#45a847}
.reach-key{color:#596a9c;background:#eef0f7}
.ads-key{color:#e97d33;background:#fff7f1}
.chart-area.daily-chart-area{width:100%;height:auto;aspect-ratio:900/410;overflow:hidden;position:relative}
.daily-chart-area svg{display:block;width:100%;height:100%;overflow:visible}
#dailyChartSvg:focus{outline:none}
#dailyChartSvg:focus-visible{outline:2px solid rgba(76,93,144,.45);outline-offset:-2px;border-radius:4px}
.daily-grid-bg{stroke:none}
.daily-horizontal-grid line{stroke:#e1e3e7;stroke-width:1}
.daily-bars rect{fill:#83b878;stroke:none;opacity:.9;transform-box:fill-box;transform-origin:center bottom;transform:scaleX(2.2);transition:opacity .15s ease,transform .15s ease}
.daily-bars rect:hover{opacity:1;transform:scaleX(2.45)}
.reach-area{fill:url(#reachFill);stroke:none}
.daily-line{fill:none;stroke-linecap:round;stroke-linejoin:round}
.reach-line{stroke:#4c5d90;stroke-width:2}
.ads-line{stroke:#e97d33;stroke-width:2.25}
.reach-dots circle{fill:#e9ecf4;stroke:#4c5d90;stroke-width:1.6}
.ads-dots circle{fill:#e97d33;stroke:#e97d33;stroke-width:1}
.daily-axis text,.daily-dates text{font-family:Inter,Arial,sans-serif;stroke:none}
.daily-axis text{font-size:.85rem}
.left-axis text{fill:#6c9f62}.reach-axis text{fill:#4c5d90}.ads-axis text{fill:#e97d33}
.daily-scale-ticks line{stroke:#c9ccd2;stroke-width:1}
.daily-dates text {
    fill: #9e9ea2;
    font-size: .7rem;
    text-anchor: end;
    text-transform: uppercase;
}
.daily-hover-guide{stroke:#8d9098;stroke-width:1;stroke-dasharray:3 3;pointer-events:none}
.daily-chart-area .series-off{opacity:0;pointer-events:none}
.daily-bars,.reach-area,.reach-line,.reach-dots,.ads-line,.ads-dots{transition:opacity .2s ease}
.daily-chart-tooltip{position:absolute;z-index:4;min-width:180px;padding:9px 11px;border:1px solid #d8d9dd;border-radius:7px;background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(30,32,40,.16);color:#3b3b40;font-size:.68rem;line-height:1.5;pointer-events:none}
.daily-chart-tooltip strong{display:block;margin-bottom:3px;color:#25262a;font-size:.72rem}
.daily-chart-tooltip span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.daily-chart-tooltip i{width:7px;height:7px;border-radius:50%;flex:none}
.tooltip-mentions{background:#83b878}.tooltip-reach{background:#4c5d90}
.tooltip-ads{background:#e97d33}
.ranking-card{display:flex;min-height:0;flex-direction:column;padding:.75rem;background:#fbfcff}
.ranking-card header{flex:none;padding:0 0 .75rem .5rem}.ranking-card header small{display:block;font-size:11px;color:#77777c;margin-top:2px}
.rank-box {
    display: grid;
    grid-template-rows: repeat(8, minmax(0, 1fr));
    flex: 1;
    min-height: 0;
    border: 1px solid #e8e9ef;
    border-radius: 6px;
    background: #fff;
    padding: .35rem .75rem .5rem;
    overflow: hidden;
}
.rank-row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 43px 36px;
    gap: .5rem;
    width: 100%;
    height: 100%;
    min-height: 0;
    align-items: center;
    padding: 0 .75rem 0 0;
    border-radius: 2px;
}
.rank-row:nth-child(even),.rank-row.shaded{background:#f8f9ff}
.rank-row>span {
    font-size: .75rem;
    color: #717176;
    text-align: center;
}
.rank-row strong {
    font-size: .75rem;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #81818e;
}
.rank-row b{font-size:13px;text-align:right;font-weight:500}.rank-row em{font-size:10px;text-align:right;font-style:normal;color:#77777c}.rank-row em.up{color:var(--green)}.rank-row em.down{color:var(--red)}.ranking-card footer{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#77777c;font-size:11px}.ranking-card footer button{width:29px;height:29px;border:1px solid #e0e0e2;background:#fff;border-radius:8px;color:#a0a0a4}.lower-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;padding-bottom:.5rem}.lower-grid article{min-height:120px;border:1px solid #dedee1;border-radius:18px;background:#fff;padding:20px;display:grid}.lower-grid span{color:#6d6d72}.lower-grid strong{font-size:25px}.lower-grid small{color:#85858a}.toast{position:fixed;right:25px;bottom:25px;background:#303033;color:white;padding:10px 14px;border-radius:8px;opacity:0;transform:translateY(25px);transition:.2s;z-index:30}.toast.show{opacity:1;transform:none}
.lower-grid{gap:1rem;margin-top:1rem}
.lower-grid .insight-card{display:flex;min-width:0;min-height:205px;flex-direction:column;padding:0;border-radius:6px;overflow:hidden}
.insight-card header{display:flex;align-items:center;gap:10px;min-height:35px;padding:0 14px;border-bottom:1px solid #e7e7ea; background:#fbfcff }
.insight-card h3 {
    margin: 0;
    color: #4d4f57;
    font-size: .75rem;
    font-weight: 500;
}
.insight-card header small{margin-left:auto;color:#85878d;font-size:.62rem;white-space:nowrap}
.radar-wrap{display:grid;flex:1;place-items:center;padding:7px 10px 5px}
.channel-radar{width:100%;max-width:285px;height:145px;overflow:visible}
.radar-grid polygon,.radar-axes line{fill:none;stroke:#d8dbe2;stroke-width:1}
.radar-data{fill:rgba(67,77,145,.13);stroke:#434d91;stroke-width:1.7;stroke-linejoin:round}
.radar-points circle{stroke:#fff;stroke-width:2;cursor:help;transition:r .16s ease,filter .16s ease}
.radar-points circle:hover{r:6.5px;filter:drop-shadow(0 2px 3px rgba(34,36,48,.24))}
.radar-points circle:nth-child(1){fill:#4c5d90}
.radar-points circle:nth-child(2){fill:#1877f2}
.radar-points circle:nth-child(3){fill:#111827}
.radar-points circle:nth-child(4){fill:#ff0033}
.radar-points circle:nth-child(5){fill:#6b7280}
.radar-points circle:nth-child(6){fill:#8d55f3}
.radar-points circle:nth-child(7){fill:#e1306c}
.radar-labels text{fill:var(--ink);font:700 12px Inter,Arial,sans-serif;stroke:none}
.interaction-bars{display:grid;flex:1;align-content:center;gap:.5rem;padding:16px 14px}
.interaction-bars>div{display:grid;grid-template-columns:70px minmax(70px,1fr) 45px;align-items:center;gap:8px}
.interaction-bars span{font-size:.64rem;color:#54565d}
.interaction-bars i{height:10px;border-radius:3px;background:#f0f1f4;overflow:hidden}
.interaction-bars b{display:block;width:var(--bar);height:100%;border-radius:3px;background:var(--bar-color);transition:filter .16s ease,width .2s ease}
.interaction-bars>div:hover b{filter:brightness(.9)}
.interaction-bars em{color:#6f7178;font-size:.6rem;font-style:normal;text-align:right}
.reactions-body{display:grid;grid-template-columns:minmax(110px,1fr) minmax(115px,1.1fr);flex:1;align-items:center;gap:12px;padding:15px}
.reactions-donut{display:grid;place-items:center;width:118px;max-width:100%;aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(#434d91 0 43%,#e45c4b 43% 47%,#74ba71 47% 50%,#e7ca42 50% 53%,#8d55f3 53% 55%,#55aa78 55% 57%,#aeb2ba 57% 100%);transition:transform .18s ease}
.reactions-donut:hover{transform:scale(1.035)}
.reactions-donut::after{content:"";grid-area:1/1;width:58%;aspect-ratio:1;border-radius:50%;background:#fff}
.reactions-donut>span{z-index:1;grid-area:1/1;display:grid;text-align:center}
.reactions-donut b{color:#474950;font-size:.88rem;line-height:1}
.reactions-donut small{font-size:.55rem}
.reaction-legend{display:grid;gap:6px}
.reaction-legend span{display:flex;align-items:center;gap:5px;color:#62646b;font-size:.65rem;white-space:nowrap}
.reaction-legend i{width:7px;height:7px;border-radius:2px;flex:none}
.react-like{background:#434d91}.react-love{background:#e45c4b}.react-care{background:#74ba71}.react-wow{background:#e7ca42}.react-haha{background:#8d55f3}.react-sad{background:#55aa78}.react-none{background:#aeb2ba}
.social-interaction-panel{margin-top:.5rem;border:1px solid #dedee1;border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.social-panel-head{min-height:39px;display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid #e7e7ea; background:#fbfcff}
.social-panel-head h3,.engagement-panel h4{margin:0;color:#4d4f57;font-size:.75rem;font-weight:600}
.social-panel-head small{margin-left:auto;color:#85878d;font-size:.62rem;text-align:right}
.social-panel-body{display:grid;grid-template-columns:minmax(360px,.76fr) minmax(500px,1.6fr);min-height:305px}
.engagement-panel{padding:0 12px 14px;border-right:1px solid #e7e7ea}
.engagement-panel>header{min-height:42px;display:flex;align-items:center;gap:10px}
.engagement-panel>header small{margin-left:auto;color:#85878d;font-size:.62rem}
.engagement-list{display:grid;gap:8px}
.engagement-item{outline:none}
.engagement-bar{height:23px;display:flex;align-items:center;overflow:hidden;border-radius:5px;background:#eef0f4;box-shadow:inset 0 0 0 1px rgba(76,78,139,.04);transition:transform .16s ease,box-shadow .16s ease}
.engagement-bar span{height:100%;display:flex;align-items:center;gap:6px;min-width:116px;padding:0 8px;color:#fff;font-size:.64rem;font-weight:700;background:var(--network-color)}
.engagement-bar span::after{content:"";flex:1;align-self:stretch;background:linear-gradient(90deg,var(--network-color),transparent);opacity:.24}
.engagement-bar i{display:grid;place-items:center;width:15px;height:15px;border-radius:3px;background:rgba(255,255,255,.16);font-style:normal;font-size:.58rem}
.engagement-bar strong{margin-left:auto;padding:0 8px;color:#393b42;font-size:.67rem;font-weight:700}
.engagement-item>small {
    display: block;
    margin-top: 2px;
    color: #777980;
    font-size: .6rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.25rem;
    font-weight: 500;
}
.engagement-item:hover .engagement-bar,.engagement-item:focus-visible .engagement-bar{transform:translateX(3px);box-shadow:0 3px 10px rgba(45,48,68,.12)}
.engagement-item.instagram{--network-color:#e77f31}.engagement-item.x-network{--network-color:#202126}.engagement-item.tiktok{--network-color:#df3d55}.engagement-item.youtube{--network-color:#d8463c}.engagement-item.facebook{--network-color:#3f73c9}
.social-chart-panel{display:flex;min-width:0;flex-direction:column;padding:8px 12px 10px}
.social-chart-wrap{min-width:0;flex:1}
.social-chart{display:block;width:100%;height:255px;overflow:visible}
.social-grid line{stroke:#e7e8ec;stroke-width:1}
.social-axis text,.social-labels text{fill:#73757d;stroke:none;font:10px Inter,Arial,sans-serif}
.social-axis text{text-anchor:end}.social-axis .axis-title{text-anchor:middle;font-size:9px;font-weight:600;fill:#5d5f67}.social-labels text{text-anchor:middle;font-size:9px;font-weight:600;fill:#54565e}
.social-series rect{stroke:none;cursor:help;transform-box:fill-box;transform-origin:center bottom;transition:opacity .18s ease,filter .16s ease,transform .16s ease}
.social-series rect:hover{filter:brightness(1.12) drop-shadow(0 2px 2px rgba(30,32,52,.18));transform:scaleX(1.12)}
.social-likes rect{fill:#343b72}.social-comments rect{fill:#3c7e89}.social-shares rect{fill:#635199}.social-views rect{fill:#4e80bb}
.social-series.series-off{opacity:.08;pointer-events:none}
.social-chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:11px;margin-top:-1px}
.social-legend-item{display:flex;align-items:center;gap:5px;padding:2px;border:0;background:transparent;color:#61636a;font-size:.58rem;transition:opacity .16s ease}
.social-legend-item i{width:8px;height:8px;border-radius:1px}.social-legend-item.likes i{background:#343b72}.social-legend-item.comments i{background:#3c7e89}.social-legend-item.shares i{background:#635199}.social-legend-item.views i{background:#4e80bb}
.social-legend-item[aria-pressed="false"]{opacity:.35;text-decoration:line-through}
.digital-impact-panel{margin-top:1rem;border:1px solid #dedee1;border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.digital-impact-head{min-height:39px;display:flex;align-items:center;gap:16px;padding:8px 14px;border-bottom:1px solid #e7e7ea;background:#fbfcff}
.digital-impact-head h3,.digital-sites-panel h4{margin:0;color:#4d4f57;font-size:.75rem;font-weight:600}
.digital-impact-head small{margin-left:auto;color:#85878d;font-size:.62rem;text-align:right}
.digital-impact-body{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,2.55fr);min-height:300px}
.digital-sites-panel{padding:0 14px 14px;border-right:1px solid #e7e7ea}
.digital-sites-panel>header{min-height:45px;display:flex;align-items:center;gap:10px}
.digital-sites-panel>header small{margin-left:auto;color:#85878d;font-size:.62rem}
.digital-sites-list{display:grid;gap:4px}
.digital-site-item{outline:none}
.digital-site-bar{position:relative;height:25px;display:flex;align-items:center;overflow:hidden;border-radius:5px;background:#eef0f4;box-shadow:inset 0 0 0 1px rgba(76,78,139,.05)}
.digital-site-bar::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--site-width);min-width:10px;border-radius:5px;background:linear-gradient(90deg,#343b72,#4c5d90);transition:width .25s ease,filter .16s ease}
.digital-site-bar span,.digital-site-bar strong{position:relative;z-index:1;font-size:.65rem;font-weight:500}
.digital-site-bar span{min-width:0;padding-left:9px;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}
.digital-site-bar strong{margin-left:auto;margin-right:5px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.9);color:#34384a;box-shadow:0 1px 4px rgba(30,32,48,.12)}
.digital-site-item>small {
    display: block;
    margin-top: 2px;
    color: #777980;
    font-size: .6rem;
    line-height: 1.25rem;
    font-weight: 500;
}
.digital-site-item:hover .digital-site-bar::before,.digital-site-item:focus-visible .digital-site-bar::before{filter:brightness(1.18)}
.digital-bubble-panel{display:flex;min-width:0;align-items:center;padding:12px 15px}
.digital-bubble-chart{display:block;width:100%;height:260px;overflow:visible}
.digital-bubble-grid line{stroke:#e7e8ec;stroke-width:1}
.digital-bubble-axis text{fill:#73757d;stroke:none;font:10px Inter,Arial,sans-serif;text-anchor:end}
.digital-bubble-axis .digital-x-title,.digital-bubble-axis .digital-y-title{text-anchor:middle;font-size:9px;font-weight:600;fill:#555861}
.digital-bubbles circle{fill:rgba(76,93,144,.2);stroke:#4c5d90;stroke-width:2;cursor:help;transform-box:fill-box;transform-origin:center;transition:fill .16s ease,transform .16s ease}
.digital-bubbles circle:hover{fill:rgba(76,93,144,.38);transform:scale(1.12)}
.topic-analysis-grid{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(580px,1.8fr);align-items:stretch;gap:1rem;margin-top:1rem}
.topic-perception-panel,.main-axes-panel{min-width:0;border:1px solid #dedee1;border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.topic-section-head{min-height:42px;display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid #e7e7ea;background:#fbfcff}
.topic-section-head h3{margin:0;color:#4d4f57;font-size:.75rem;font-weight:600}
.topic-section-head small{margin-left:auto;color:#85878d;font-size:.62rem;text-align:right}
.topic-perception-summary{display:grid;grid-template-columns:145px minmax(105px,1fr);align-items:center;gap:12px;padding:16px 16px 10px}
.topic-perception-donut{display:grid;place-items:center;width:132px;aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(#6eaa61 0 81%,#e4c542 81% 95%,#dc4c45 95% 100%);filter:drop-shadow(0 6px 9px rgba(36,39,55,.08))}
.topic-perception-donut::after{content:"";grid-area:1/1;width:65%;aspect-ratio:1;border-radius:50%;background:#fff}
.topic-perception-donut span{z-index:1;grid-area:1/1;display:grid;text-align:center}
.topic-perception-donut strong{color:#42458e;font-size:1.25rem;line-height:1}
.topic-perception-donut small{margin-top:3px;color:#74767c;font-size:.56rem}
.topic-perception-legend{display:grid;gap:9px}
.topic-perception-legend span{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px;color:#5f6168;font-size:.61rem}
.topic-perception-legend i{width:7px;height:7px;border-radius:2px}
.topic-perception-legend b{font-weight:500}.topic-perception-legend em{font-style:normal;font-weight:700}
.positive{background:#6eaa61}.neutral{background:#e4c542}.negative{background:#dc4c45}
.axis-sentiment-list{display:grid;gap:11px;padding:8px 16px 17px}
.axis-sentiment-list h4 {
    margin: 0 0 .25rem;
    color: #6b6b70;
    font-size: .75rem;
    font-weight: 500;
    border-top: 1px solid #eee;
    padding-top: .75rem;
}
.axis-sentiment-item>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.axis-sentiment-item strong{color:#737379;font-size:.65rem;font-weight:500}
.axis-sentiment-item small{color:#898b91;font-size:.49rem;white-space:nowrap}
.axis-sentiment-bar{display:flex;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#eceef1}
.axis-sentiment-bar button{display:block;width:var(--segment);min-width:3px;height:100%;flex:none;padding:0;border:0;cursor:pointer;transition:filter .16s ease,transform .16s ease}
.axis-sentiment-bar button:hover,.axis-sentiment-bar button:focus-visible{z-index:1;filter:brightness(1.13);transform:scaleY(1.7);outline:none}
.axis-sentiment-item:hover .axis-sentiment-bar{box-shadow:0 0 0 2px rgba(76,78,139,.08)}
.conversation-sources-panel{margin:0 16px 17px;padding-top:14px;border-top:1px solid #e5e7ed}
.conversation-sources-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.conversation-sources-head h4{margin:0 0 0.5rem;color:#6b6b70;font-size:.75rem;font-weight:600}.conversation-sources-head span{color:#94969d;font-size:.54rem;font-weight:600;white-space:nowrap}
.conversation-sources-radar{height:215px;margin-top:.5rem}.conversation-sources-radar svg{display:block;width:100%;height:100%;overflow:visible}.conversation-sources-radar text{stroke:none;stroke-width:0;text-shadow:none;font-family:Inter,Arial,sans-serif}
.source-radar-grid polygon,.source-radar-grid line{fill:none;stroke:#dfe3eb;stroke-width:1}.source-radar-ticks text{fill:#9197a3;font-size:8px;font-weight:400}.source-radar-area{fill:rgba(66,69,142,.14);stroke:#42458e;stroke-width:1.6}.source-radar-points circle{fill:#6eaa61;stroke:#fff;stroke-width:1.5}.source-radar-labels text{fill:#444750;font-size:9px;font-weight:600}
.source-impact-panel{margin-top:7px;padding-top:13px;}
.source-impact-panel h5 {
    margin: 0 0 .5rem;
    color: #6b6b70;
    font-size: .75rem;
    font-weight: 500;
    border-bottom: 1px solid #eee;
    padding-bottom: .5rem;
}
.source-impact-list{display:grid;gap:15px}.source-impact-row{display:grid;gap:6px}.source-impact-row>header,.source-impact-metric>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.source-impact-row>header strong {
    color: #52545c;
    font-size: .7rem;
    font-weight: 500;
}
.source-impact-row>header span, .source-impact-metric em {
    color: #94969d;
    font-size: .6rem;
    font-style: normal;
    white-space: nowrap;
    text-transform: uppercase;
}
.source-impact-metric>div span {
    color: #737379;
    font-size: .65rem;
    font-weight: 500;
    line-height: 1.15rem;
}
.source-impact-metric>i{display:block;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#eaedf2}.source-impact-metric>i b{display:block;min-width:3px;height:100%;border-radius:inherit}.source-impact-metric>i.reach b{background:#42458e;box-shadow:0 2px 7px rgba(66,69,142,.18)}.source-impact-metric>i.interaction{background:#eef7ef}.source-impact-metric>i.interaction b{background:#6eaa61;box-shadow:0 2px 7px rgba(110,170,97,.16)}
.main-axes-list{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px;padding:12px}
.main-axis-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:.5rem .75rem;border:1px solid #e4e5e9;border-radius:6px;background:#fbfcff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.main-axis-card:hover{border-color:#cad1f8;box-shadow:0 6px 18px rgba(40,43,61,.08);transform:translateY(-1px)}
.main-axis-card:focus-visible{border-color:#7779b5;outline:2px solid rgba(76,78,139,.24);outline-offset:2px}
.main-axis-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.main-axis-card h4 {
    margin: 0;
    color: #6b6b70;
    font-size: .85rem;
    font-weight: 500;
}
.main-axis-card header span {
    display: block;
    margin-top: 2px;
    color: #81818e;
    font-size: .55rem;
    text-transform: uppercase;
    font-weight: 500;
}
.axis-metrics {
    display: flex;
    align-items: baseline;
    gap: 4px;
    text-align: right;
    white-space: nowrap;
    background: #ffffff;
    padding: .25rem .5rem;
    border-radius: 4px;
    border: 1px solid #eee;
}
.axis-metrics small:first-of-type{margin-right:8px; text-transform: uppercase;}
.axis-metrics strong{color:#848282;font-size:.65rem}
.axis-metrics small{color:#8a8c92;font-size:.48rem; text-transform: uppercase;}
.main-axis-progress{display:block;width:100%;height:8px;margin:9px 0 7px;padding:0;overflow:hidden;border:0;border-radius:999px;background:#eceef1;cursor:pointer}
.main-axis-progress i{display:block;width:var(--axis-weight);min-width:5px;height:100%;border-radius:inherit;background:linear-gradient(90deg, #3f4146, #3f4146)}
.main-axis-progress:hover i{filter:saturate(1.2) brightness(.94)}
.main-axis-progress:focus-visible{outline:2px solid rgba(76,78,139,.42);outline-offset:3px}
.main-axis-card.risk .main-axis-progress i{background:linear-gradient(90deg,#d5655e,#dc4c45)}
.axis-keywords{margin:0 0 .25rem;color:#777980;font-size:.65rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.axis-insights
{
    display: grid;
    gap: 4px;
    margin: .5rem 0 0;
    padding: 0 0 0 14px;
    color: #5e6067;
    font-size: .7rem;
    line-height: 1.38;
}
.axis-insights li{margin-bottom:.1rem}
.axis-insights li::marker{color:#6eaa61;font-size:.85em}
.main-axis-card.risk .axis-insights li::marker{color:#dc4c45}
.axis-view-button{display:flex;align-items:center;gap:5px;margin-top:auto;padding:0;border:0;background:transparent;color:#3f4146;font-size:.54rem;font-weight:700;cursor:pointer;align-self:flex-start}
.axis-view-button span{transition:transform .16s ease}.axis-view-button:hover span,.axis-view-button:focus-visible span{transform:translateX(3px)}
.narrative-evolution-panel,.keyword-cloud-panel{min-width:0;margin-top:1rem;border:1px solid #dedee1;border-radius:8px;background:#fff;box-shadow:var(--shadow);overflow:hidden}
.narrative-panel-head>div,.keyword-cloud-head>div{display:flex;min-width:0;align-items:baseline;gap:12px}.narrative-panel-head small,.keyword-cloud-head small{margin-left:0}
.narrative-evolution-body{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:center;gap:12px;padding:15px 17px 11px}
.narrative-share{display:grid;justify-items:center;gap:13px;padding:3px 7px 4px;border-right:1px solid #eceef2}
.narrative-donut{display:grid;place-items:center;width:168px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#343b72 0 42%,#467c88 42% 66%,#66539a 66% 84%,#545b66 84% 92%,#5780bd 92% 100%);filter:drop-shadow(0 7px 12px rgba(37,40,61,.1))}
.narrative-donut::after{content:"";grid-area:1/1;width:56%;aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(52,59,114,.04)}
.narrative-donut span{z-index:1;grid-area:1/1;display:grid;text-align:center}.narrative-donut strong{color:#343b72;font-size:1.42rem;line-height:1}.narrative-donut small{margin-top:3px;color:#81838a;font-size:.57rem}
.narrative-share-legend{display:grid;width:100%;gap:5px}.narrative-share-legend span{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:6px;color:#666971;font-size:.55rem}.narrative-share-legend i{width:7px;height:7px;border-radius:50%;background:var(--legend-color)}.narrative-share-legend b{color:#51535a;font-weight:700}
.narrative-timeline-wrap{min-width:0;overflow-x:auto}.narrative-timeline{display:block;width:100%;height:285px;min-width:650px;overflow:visible}.narrative-timeline text{stroke:none;stroke-width:0;font-family:Inter,Arial,sans-serif}.narrative-grid line{stroke:#e7e9ee;stroke-width:1}.narrative-axis-labels text{fill:#858891;font-size:9px;text-anchor:middle}.narrative-axis-labels text:nth-child(-n+5){text-anchor:end}.narrative-series polyline{fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.series-management{stroke:#343b72;stroke-dasharray:6 3}.series-politics{stroke:#467c88;stroke-dasharray:5 3}.series-services{stroke:#66539a;stroke-dasharray:2 3}.series-security{stroke:#545b66;stroke-dasharray:7 3}.narrative-chart-legend text{fill:#575a63;font-size:9px}.narrative-chart-legend .management-dot{fill:#343b72}.narrative-chart-legend .politics-dot{fill:#467c88}.narrative-chart-legend .services-dot{fill:#66539a}.narrative-chart-legend .security-dot{fill:#545b66}
.keyword-cloud-head{padding-right:10px}.keyword-cloud-head button{display:grid;flex:0 0 29px;place-items:center;width:29px;height:29px;margin-left:auto;padding:0;border:1px solid #dfe1e7;border-radius:6px;background:#fff;color:#5d6070;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.keyword-cloud-head button:hover,.keyword-cloud-head button:focus-visible{border-color:#aeb2df;background:#f3f4ff;color:#42458e;outline:none}.keyword-cloud-head button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.keyword-cloud-head button.is-refreshing svg{animation:cloudRefresh .65s ease}
.mention-wordcloud{position:relative;width:100%;height:360px;min-height:360px;padding:8px 12px;overflow:hidden;background:#fff}.mention-wordcloud canvas,.mention-wordcloud svg{display:block}.mention-wordcloud svg{stroke:none;stroke-width:0}.mention-wordcloud svg text{stroke:none!important;stroke-width:0!important}
@keyframes cloudRefresh{to{transform:rotate(360deg)}}
.axis-drawer-backdrop{position:fixed;z-index:100010;inset:0;background:transparent;opacity:0;transition:opacity .18s ease}
.axis-drawer-backdrop.is-visible{opacity:1}
.axis-drawer-backdrop[hidden],.axis-detail-drawer[hidden],.sentiment-modal-overlay[hidden]{display:none!important}
.axis-detail-drawer{position:fixed;z-index:100011;top:0;right:-105%;width:min(1000px,calc(100vw - 70px));height:100vh;background:#fff;box-shadow:-3px 0 15px #c6c0c0;display:flex;flex-direction:column;transition:right .8s cubic-bezier(.77,0,.175,1)}
.axis-detail-drawer.is-open{right:0}
.axis-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 28px 12px;border-bottom:1px solid #dfe1e6;background:#fff;color:#34366f}
.axis-drawer-head h2,.sentiment-results-modal h2{margin:0; font-size: 1rem; font-weight: 300;}
.axis-drawer-head p{margin:16px 0 0;color:#777980;font-size:.66rem}
.axis-drawer-head button,.sentiment-results-modal header button{display:grid;place-items:center;width:29px;height:29px;flex:none;border:0;border-radius:50%;background:#ededee;color:#777980;font-size:1.18rem;line-height:1;cursor:pointer;transition:background .16s ease,transform .16s ease}
.axis-drawer-head button:hover{background:#dedfe3;color:#3f417e;transform:rotate(4deg)}
.sentiment-results-modal header button{background:rgba(255,255,255,.14);color:#fff}.sentiment-results-modal header button:hover{background:rgba(255,255,255,.25);transform:rotate(4deg)}
.axis-drawer-summary{display:flex;flex-wrap:wrap;gap:8px;padding:1rem;background:#fff}
.axis-summary-chip {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid #b0b1db;
    border-radius: 4px;
    color: #343b73;
    font-size: .65rem;
    background: #f8f9ff;
    border-color: #cad1f8;
}
.axis-summary-chip strong{color:#46704c;font-size:.67rem}
.axis-drawer-content{min-height:0;flex:1;overflow:auto;padding:0 1rem 1rem;scrollbar-width:thin;scrollbar-color:#7779b5 #eef0f4}
.axis-analysis-lead{margin:0 0 14px;color:#44464e;font-size:.72rem;line-height:1.55}
.axis-analysis-section{margin-top:12px;padding:13px 14px;border:1px solid #e0e2e6;background:#fafbfc}
.axis-analysis-section h3 {
    margin: 0 0 9px;
    color: #4e4e4e;
    font-size: .85rem;
    font-weight: 500;
}
.axis-analysis-section ul{margin:0;padding-left:18px;color:#61636b;font-size:.75rem;line-height:1.6}
.axis-analysis-section li+li{margin-top:4px}
.axis-drawer-results{display:grid;gap:0}
.axis-reference-item{padding:.5rem 0;border-top:1px solid #e6e7ea}
.axis-reference-item:first-child{padding-top:.25rem;border-top:0}
.axis-reference-item strong {
    display: block;
    margin-bottom: 3px;
    color: #4e4e4e;
    font-size: .75rem;
    font-weight: 500;
}
.axis-reference-item p {
    margin: 0;
    color: #777a82;
    font-size: .75rem;
    line-height: 1.45;
}
.sentiment-modal-results{min-height:0;overflow:auto;display:grid;align-content:start;gap:9px;padding-right:4px;scrollbar-width:thin;scrollbar-color:#7779b5 #eef0f4}
.axis-result-card {
    padding: .75rem;
    border: 1px solid #e2e3e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(39, 42, 61, .045);
}
.axis-result-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.axis-result-source {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #45478d;
    font-size: .85rem;
    font-weight: 500;
}
.axis-result-source i{display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:6px;background:#eef0f9;color:#3f4146;font-style:normal}
.axis-result-card time{color:#92949a;font-size:.53rem;white-space:nowrap}
.axis-result-card p{margin:0;color:#55575f;font-size:.62rem;line-height:1.48}
.axis-result-card footer{display:flex;align-items:center;gap:7px;margin-top:9px;color:#8a8c92;font-size:.53rem}
.axis-result-sentiment{padding:3px 7px;border-radius:999px;background:#e8f3e6;color:#54844b;font-size:.5rem;font-weight:700;text-transform:uppercase}
.axis-result-sentiment.negative{background:#fbe9e8;color:#b94742}.axis-result-sentiment.neutral{background:#fbf5d8;color:#977e19}
.sentiment-modal-overlay{position:fixed;z-index:100020;inset:0;display:grid;place-items:center;padding:24px;background:rgba(22,24,35,.5);backdrop-filter:blur(3px);animation:overlayFadeIn .2s ease}
.sentiment-results-modal {
    display: flex;
    width: min(760px, 100%);
    max-height: min(680px, calc(100vh - 48px));
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgb(85 87 155);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(18, 20, 34, .32);
    animation: modalPopIn .22s ease both;
}

.sentiment-results-modal>header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: .75rem 1.25rem;
    background: linear-gradient(135deg, #414487, #575b9f);
    color: #fff;
}
.sentiment-results-modal header small{display:block;margin-bottom:2px;color:rgba(255,255,255,.7);font-size:.56rem;text-transform:uppercase;letter-spacing:.08em}
.sentiment-modal-meta{display:flex;gap:8px;padding:11px 16px;border-bottom:1px solid #e5e6eb;background:#fbfcff}
.sentiment-modal-meta span{padding:5px 8px;border:1px solid #e0e2e8;border-radius:6px;background:#fff;color:#666971;font-size:.57rem}
.sentiment-modal-results{ padding: 1rem;}
@keyframes drawerSlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes overlayFadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalPopIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.dark .insight-card header{border-color:#3c3d3f}.dark .insight-card h3,.dark .radar-labels text,.dark .interaction-bars span,.dark .reaction-legend span{color:#d6d6da}.dark .reactions-donut::after{background:#292a2c}.dark .interaction-bars i{background:#3a3b3e}
body.dark{--shell:#202123;--panel:#252628;--ink:#ededee;--muted:#aaaab0;--line:#3a3b3d;background:#191a1c}.dark .app-frame,.dark main{background:#202123;border-color:#393a3c}.dark .icon-rail,.dark .sidebar{background:#242527;border-color:#393a3c}.dark .topbar,.dark .toolbar{background:#222325;border-color:#393a3c}.dark .kpi,.dark .chart-card,.dark .rank-box,.dark .lower-grid article{background:#292a2c;border-color:#3c3d3f}
.dark .kpi.selected, .dark .ranking-card, .dark .rank-row.shaded {
    background: #303133;
    border: 1px solid #464646;
}
.dark .social-interaction-panel{background:#292a2c;border-color:#3c3d3f}.dark .social-panel-head,.dark .engagement-panel{border-color:#3c3d3f}.dark .social-panel-head h3,.dark .engagement-panel h4{color:#d6d6da}.dark .engagement-bar{background:#3a3b3e}.dark .engagement-bar strong{color:#ededee}.dark .social-grid line{stroke:#3c3d40}.dark .social-axis text,.dark .social-labels text{fill:#aaaab0}.dark .social-legend-item{color:#d6d6da}
.dark .digital-impact-panel{background:#292a2c;border-color:#3c3d3f}.dark .digital-impact-head,.dark .digital-sites-panel{border-color:#3c3d3f}.dark .digital-impact-head h3,.dark .digital-sites-panel h4{color:#d6d6da}.dark .digital-site-bar{background:#3a3b3e}.dark .digital-bubble-grid line{stroke:#3c3d40}.dark .digital-bubble-axis text{fill:#aaaab0}
.dark .topic-perception-panel,.dark .main-axes-panel,.dark .main-axis-card{background:#292a2c;border-color:#3c3d3f}.dark .topic-section-head{border-color:#3c3d3f;background:#2d2e30}.dark .topic-section-head h3,.dark .axis-sentiment-list h4,.dark .axis-sentiment-item strong,.dark .main-axis-card h4,.dark .axis-metrics strong{color:#dedee2}.dark .topic-perception-donut::after{background:#292a2c}.dark .topic-perception-legend span,.dark .axis-keywords,.dark .axis-insights{color:#b5b6bb}.dark .axis-sentiment-bar,.dark .main-axis-progress{background:#3a3b3e}
.dark .conversation-sources-panel,.dark .source-impact-panel{border-color:#414246}.dark .conversation-sources-head h4,.dark .source-impact-panel h5{color:#c8c9e4}.dark .source-radar-grid polygon,.dark .source-radar-grid line{stroke:#484a50}.dark .source-radar-ticks text,.dark .conversation-sources-head span,.dark .source-impact-row>header span,.dark .source-impact-metric em{fill:#9da0a8;color:#9da0a8}.dark .source-radar-labels text{fill:#d3d4d8}.dark .source-impact-row>header strong,.dark .source-impact-metric>div span{color:#c6c7cb}.dark .source-impact-metric>i{background:#3a3b3e}.dark .source-impact-metric>i.interaction{background:#334036}
.dark .narrative-evolution-panel,.dark .keyword-cloud-panel{background:#292a2c;border-color:#3c3d3f}.dark .narrative-share{border-color:#414246}.dark .narrative-donut::after{background:#292a2c}.dark .narrative-donut strong{color:#b8bae9}.dark .narrative-share-legend span,.dark .narrative-chart-legend text{color:#c1c2c7;fill:#c1c2c7}.dark .narrative-share-legend b{color:#ededee}.dark .narrative-grid line{stroke:#424348}.dark .narrative-axis-labels text{fill:#a6a8ae}.dark .keyword-cloud-head button{border-color:#47484d;background:#303133;color:#c5c6ca}.dark .keyword-cloud-head button:hover,.dark .keyword-cloud-head button:focus-visible{border-color:#8588d0;background:#34354a;color:#dfe0ff}.dark .mention-wordcloud{background:#292a2c}
.dark .axis-detail-drawer,.dark .sentiment-results-modal,.dark .axis-result-card{background:#292a2c}.dark .axis-drawer-head,.dark .axis-drawer-summary{background:#292a2c;border-color:#3c3d3f}.dark .axis-drawer-head h2{color:#dedee2}.dark .axis-drawer-head p{color:#aaaab0}.dark .axis-drawer-summary,.dark .sentiment-modal-meta{border-color:#3c3d3f}.dark .axis-summary-chip,.dark .sentiment-modal-meta span{background:#303133;border-color:#45464a;color:#c8c9cd}.dark .axis-drawer-content,.dark .axis-result-card{color:#ededee}.dark .axis-analysis-lead{color:#d2d3d6}.dark .axis-analysis-section{background:#2d2e30;border-color:#414246}.dark .axis-analysis-section h3{color:#c8c9e4}.dark .axis-analysis-section ul,.dark .axis-reference-item p{color:#b5b6bb}.dark .axis-reference-item{border-color:#414246}.dark .axis-result-card{border-color:#3d3e42}.dark .axis-result-card p{color:#c7c8cc}
.dark .kpi-value strong{color:#f0f0f1}.dark .toolbar button,.dark .mini-logo,.dark .account-logo,.dark .ranking-card footer button{background:#2b2c2e;border-color:#3c3d3f}.dark .side-nav a.selected{background:#2d2e30}.dark .grid line{stroke:#3c3d40}.dark .filter-panel{background:#292a2c}.dark .filter-panel select{background:#252628}.dark .axis text{fill:#aaaab0}
.dark .kpi-help{border-color:#777981;color:#d6d6da}.dark .kpi-help:hover,.dark .kpi-help:focus-visible{border-color:#8588d0;background:#8588d0;color:#202123}
.dark .top-user{border-color:#3c3d3f;background:#2b2c2e;color:#ededee}.dark .top-user-name{color:#ededee}.dark .top-user-avatar{border-color:#8588d0;background:#242527;color:#8588d0}
main{display:flex;flex-direction:column;overflow:hidden}
.workspace {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #3f4146 #3f414636;
}
.workspace::-webkit-scrollbar{width:6px}
.workspace::-webkit-scrollbar-track{border-radius:999px;background:#f8f9ff}
.workspace::-webkit-scrollbar-thumb{border-radius:999px;background:#3f4146}
.workspace::-webkit-scrollbar-thumb:hover{background:#3e4077}
.dark .workspace{scrollbar-color:#8588d0 #2b2c2e}
.dark .workspace::-webkit-scrollbar-track{background:#2b2c2e}
.dark .workspace::-webkit-scrollbar-thumb{background:#8588d0}
.dark .sidebar{scrollbar-color:#8588d0 #2b2c2e}
.dark .sidebar::-webkit-scrollbar-track{background:#2b2c2e}
.dark .sidebar::-webkit-scrollbar-thumb{background:#8588d0}
.dark .comparator-field{border-color:#3c3d3f;background:#292a2c;box-shadow:none}
.dark .comparator-field label{color:#aeb0ed}
.dark .comparator-field select{border-left-color:#44454b;background:#252628;color:#ededee}
@media(min-width:1181px){.ranking-card{contain:size}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toast{transition:none}.engagement-bar,.social-series rect,.digital-site-bar::before,.digital-bubbles circle,.main-axis-card{transition:none}.axis-detail-drawer,.axis-drawer-backdrop,.sentiment-modal-overlay,.sentiment-results-modal{animation:none}}
@media(prefers-reduced-motion:reduce){.axis-detail-drawer,.axis-drawer-backdrop{transition:none}}


.mobile-sidebar-backdrop{display:none}

/* Dark theme refinements */
body.dark{color:#d5d6da;color-scheme:dark}
.dark .ambient{background:#151619;filter:none}
.dark .app-frame{box-shadow:0 20px 56px rgba(0,0,0,.46)}
.dark .page-title strong{color:#aeb1ff}
.dark .top-links button,.dark .toolbar button{color:#d7d8dc}
.dark .topbar,.dark .toolbar{box-shadow:none}
.dark .side-nav a{color:#c3c4c9}
.dark .side-nav p{color:#92949b}
.dark .side-nav a:hover,.dark .side-nav a.selected{background:#303134;box-shadow:inset 0 0 0 1px #44454a;color:#f0f0f2}
.dark .side-nav svg[fill="#000"],.dark .side-nav svg[fill="#000000"],.dark .side-nav svg [fill="#000"],.dark .side-nav svg [fill="#000000"],.dark .side-nav svg [style*="fill: #000000"]{fill:currentColor!important}
.dark .side-nav svg [stroke="#000"],.dark .side-nav svg [stroke="#000000"]{stroke:currentColor!important}
.dark .kpi-label,.dark .kpi-label span,.dark .kpi-value small,.dark .sentiment-summary b,.dark .sentiment-summary em{color:#c9cacf}
.dark .chart-card .daily-chart-head>strong,.dark .chart-label,.dark .rank-title,.dark .rank-row strong,.dark .rank-row b{color:#e4e5e8}
.dark .daily-chart-head small,.dark .ranking-card header small,.dark .ranking-card footer,.dark .insight-card header small,.dark .social-panel-head small,.dark .digital-impact-head small,.dark .topic-section-head small{color:#a6a8af}
.dark .daily-legend{color:#c8c9ce}
.dark .daily-legend-item:hover,.dark .daily-legend-item:focus-visible{color:#fff}
.dark .rank-box{background:#292a2c;border-color:#414246}
.dark .rank-row:nth-child(even),.dark .rank-row.shaded{background:#303134;border-color:#45464a}
.dark .insight-card,.dark .lower-grid .insight-card{background:#292a2c;border-color:#3d3e42}
.dark .insight-card header,.dark .social-panel-head,.dark .digital-impact-head{background:#2d2e31;border-color:#414246}
.dark .insight-card h3,.dark .social-panel-head h3,.dark .digital-impact-head h3,.dark .digital-sites-panel h4,.dark .engagement-panel h4{color:#e0e1e4}
.dark .lower-grid span,.dark .lower-grid small,.dark .engagement-item small,.dark .digital-site-item>small{color:#afb0b6}
.dark .social-interaction-panel,.dark .digital-impact-panel{box-shadow:none}
.dark .engagement-panel,.dark .digital-sites-panel{border-color:#414246}
.dark .engagement-item{background:#2d2e31;border-color:#414246}
.dark .engagement-item strong,.dark .social-legend-item strong{color:#ececef}
.dark .social-chart-wrap,.dark .digital-bubble-panel{background:#292a2c}
.dark .digital-site-bar strong{background:#e7e8eb;color:#303136}
.dark .topic-section-head,.dark .narrative-panel-head,.dark .keyword-cloud-head{background:#2d2e31}
.dark .main-axis-card:hover{border-color:#6669a7;box-shadow:0 7px 18px rgba(0,0,0,.24)}
.dark .main-axis-card header span,.dark .axis-metrics small{color:#a7a9af}
.dark .axis-metrics{background:#303134;border-color:#45464a}
.dark .keyword-cloud-head>div small,.dark .narrative-panel-head>div small{color:#a6a8af}
.dark .narrative-share-legend span{color:#c4c5ca}
.dark .toast{background:#e6e7ea;color:#25262a;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.dark .filter-panel{border-color:#414246}
.dark .comparator-field select{border-color:#44454b}

/* Tablet and mobile navigation */



/* Identidad de Extended Suites */
.account{min-height:46px;margin-bottom:24px; margin-left: .5rem}
.account-brand{width:160px;max-width:100%;height:46px; margin-bottom:.5rem;}
.account-brand.logo-dark{display:none}
body.dark .account-brand.logo-light{display:none}
body.dark .account-brand.logo-dark{display:block}

/* Portada pública Extended Suites · fase 1.1 */
body.landing-page {
  --landing-accent: var(--brand-accent);
  --landing-accent-soft: var(--brand-accent-soft);
  --landing-ink: var(--brand-ink);
  --landing-muted: #66666b;
  --landing-line: #dedee1;
  --landing-panel: #fff;
  --landing-shell: #f4f4f6;
  margin: 0;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--landing-shell);
  color: var(--landing-ink);
  font: 400 .8rem/1.5 Inter, Arial, sans-serif;
}
body.landing-page :is(h1,h2,h3,strong,b) { font-weight: 500; }
body.landing-page :is(button,a) { -webkit-tap-highlight-color: transparent; }
body.landing-page :is(a,button):focus-visible { outline: 1px solid var(--landing-accent); outline-offset: 3px; }
body.landing-page :is(.landing-hero,.landing-final) :is(a,button):focus-visible { outline-color: #fff; }
.landing-skip { position: absolute; z-index: 20; top: -60px; left: 12px; padding: 10px 14px; border-radius: 6px; background: var(--landing-accent); color: #fff; }
.landing-skip:focus { top: 12px; }
.landing-header { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(145px, 1fr) auto minmax(145px, 1fr); align-items: center; gap: 12px; min-height: 82px; padding: 10px clamp(16px, 3vw, 48px); background: var(--landing-panel); }
.landing-brand { width: fit-content; display: inline-flex; align-items: center; }
.landing-brand img { display: block; width: 136px; height: 57px; object-fit: contain; object-position: left center; }
.landing-nav { display: flex; align-items: center; gap: clamp(16px, 2.5vw, 34px); }
.landing-nav a { position: relative; padding: 8px 0; color: var(--landing-ink); font-size: .8rem; }
.landing-nav a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: var(--landing-accent); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.landing-nav a:hover::after { transform: scaleX(1); }
.landing-mobile-menu { display: none; }
.landing-header-access { justify-self: end; display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 40px; padding: 9px 13px; border: 1px solid var(--landing-accent); border-radius: 6px; background: transparent; color: var(--landing-accent); font: 500 .8rem/1 Inter, Arial, sans-serif; transition: background .2s ease, color .2s ease; }
.landing-header-access:hover { background: var(--landing-accent); color: #fff; }
.landing-hero { position: relative; display: flex; align-items: center; min-height: min(720px, calc(100svh - 106px)); margin: 12px; overflow: hidden; border-radius: 6px; background: #2b2020; color: #fff; isolation: isolate; }
.landing-hero-photo, .landing-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.landing-hero-photo { object-fit: cover; object-position: center 45%; transform: scale(1.035); animation: landing-photo-settle 1.3s ease-out both; }
.landing-hero-shade { z-index: 1; background: linear-gradient(90deg, rgba(20,16,16,.81) 0%, rgba(22,17,17,.56) 38%, rgba(20,16,16,.08) 75%), linear-gradient(0deg, rgba(20,16,16,.5), transparent 38%); }
.landing-hero-inner { position: relative; z-index: 2; width: min(760px, 68%); padding: 72px clamp(26px, 5vw, 78px) 100px; animation: landing-copy-in .7s ease-out both; }
.landing-eyebrow, .landing-kicker, .landing-section-label, .landing-step-number { letter-spacing: .11em; text-transform: uppercase; }
.landing-eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; font-size: .72rem; }
.landing-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #fff; }
.landing-eyebrow-divider { width: 20px; height: 1px; background: rgba(255,255,255,.7); }
.landing-hero h1 { max-width: 720px; margin: 0; font-size: clamp(2.25rem, 5.3vw, 4.65rem); line-height: 1.04; letter-spacing: -.055em; }
.landing-hero h1 span:not(.landing-title-mark) { display: inline-block; max-width: 670px; }
.landing-title-mark { color: #fff; }
.landing-hero-lead { max-width: 430px; margin: 26px 0 0; color: rgba(255,255,255,.9); font-size: clamp(.85rem, 1.2vw, 1rem); line-height: 1.65; }
.landing-hero-actions, .landing-final-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.landing-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 46px; padding: 11px 16px; border: 1px solid transparent; border-radius: 6px; font: 500 .8rem/1.2 Inter, Arial, sans-serif; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.landing-button:hover { transform: translateY(-2px); }
.landing-button-light { min-width: 160px; background: #fff; color: var(--landing-accent); }
.landing-button-light:hover { background: var(--landing-accent-soft); }
.landing-text-link { display: inline-flex; align-items: center; gap: 14px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.65); color: #fff; font-size: .8rem; }
.landing-text-link:hover { border-color: #fff; }
.landing-hero-footer { position: absolute; z-index: 2; right: clamp(26px, 5vw, 78px); bottom: 0; left: clamp(26px, 5vw, 78px); display: flex; justify-content: space-between; gap: 12px; padding: 15px 0 20px; border-top: 1px solid rgba(255,255,255,.4); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.landing-section { max-width: 1480px; margin: 0 auto; padding: clamp(70px, 9vw, 132px) clamp(20px, 5vw, 78px); }
.landing-section-label { display: flex; align-items: center; gap: 14px; color: var(--landing-muted); font-size: .7rem; }
.landing-section-label span:first-child { color: var(--landing-accent); }
.landing-kicker { margin: 0 0 18px; color: var(--landing-accent); font-size: .7rem; }
.landing-intro { display: grid; grid-template-columns: 200px minmax(0, 1fr) 190px; align-items: start; gap: clamp(20px, 4vw, 60px); }
.landing-intro-copy h2, .landing-steps-heading h2, .landing-path h2, .landing-final h2 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.2rem); line-height: 1.17; letter-spacing: -.045em; }
.landing-intro-copy h2 { max-width: 760px; }
.landing-intro-copy h2 em, .landing-steps-heading h2 em, .landing-path h2 em { color: var(--landing-accent); font-style: normal; }
.landing-intro-copy > p:last-child { max-width: 700px; margin: 26px 0 0; color: var(--landing-muted); font-size: .9rem; line-height: 1.8; }
.landing-intro-aside { display: grid; justify-items: end; gap: 20px; border-top: 1px solid var(--landing-line); padding-top: 16px; color: var(--landing-muted); text-align: right; }
.landing-intro-aside span:first-child { color: var(--landing-accent); font-size: 3.7rem; font-weight: 500; line-height: 1; letter-spacing: -.09em; }
.landing-intro-aside span:last-child { font-size: .7rem; line-height: 1.7; }
.landing-steps { background: var(--landing-panel); }
.landing-steps-heading { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 20px 50px; margin-top: 40px; }
.landing-steps-heading .landing-kicker { grid-column: 1 / -1; margin: 0; }
.landing-steps-heading h2 { max-width: 680px; }
.landing-steps-heading > p:last-child { align-self: end; margin: 0 0 5px; color: var(--landing-muted); font-size: .9rem; line-height: 1.7; }
.landing-steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 58px; border-top: 1px solid var(--landing-line); }
.landing-step { display: grid; align-content: start; min-height: 270px; padding: 24px clamp(18px, 2.5vw, 36px) 20px 0; border-right: 1px solid var(--landing-line); }
.landing-step + .landing-step { padding-left: clamp(18px, 2.5vw, 36px); }
.landing-step:last-child { border-right: 0; }
.landing-step-number { color: var(--landing-accent); font-size: .7rem; }
.landing-step-glyph { justify-self: end; margin-top: -10px; color: var(--landing-accent); font-size: 2.3rem; line-height: 1; }
.landing-step h3 { margin: 70px 0 7px; font-size: 1.1rem; letter-spacing: -.02em; }
.landing-step p { max-width: 255px; margin: 0; color: var(--landing-muted); font-size: .8rem; line-height: 1.7; }
.landing-path { display: grid; grid-template-columns: 200px minmax(0, 1.2fr) minmax(240px, .8fr); gap: clamp(20px, 4vw, 60px); align-items: start; }
.landing-path-content h2 { max-width: 750px; }
.landing-path-content > p:not(.landing-kicker) { max-width: 650px; margin: 25px 0 0; color: var(--landing-muted); font-size: .9rem; line-height: 1.8; }
.landing-path-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 12px; }
.landing-path-tags span { padding: 8px 10px; border: 1px solid var(--landing-line); border-radius: 6px; background: var(--landing-panel); font-size: .75rem; }
.landing-path-content small { color: var(--landing-muted); font-size: .7rem; }
.landing-path-art { position: relative; display: grid; min-height: 350px; overflow: hidden; place-items: center; border: 1px solid var(--landing-line); border-radius: 6px; background: var(--landing-accent-soft); color: var(--landing-accent); }
.landing-path-ring { position: absolute; width: 310px; height: 310px; border: 1px solid rgba(170,31,46,.32); border-radius: 50%; }
.landing-path-ring-one { transform: translate(-50px,-28px); }
.landing-path-ring-two { transform: translate(57px,32px); }
.landing-path-monogram { position: relative; z-index: 1; font-size: clamp(5rem, 10vw, 9rem); font-weight: 500; line-height: 1; letter-spacing: -.12em; }
.landing-path-caption { position: absolute; right: 19px; bottom: 18px; text-align: right; font-size: .7rem; line-height: 1.5; }
.landing-final { display: grid; justify-items: center; padding: clamp(70px, 10vw, 130px) 20px; background: var(--landing-accent); color: #fff; text-align: center; }
.landing-final .landing-kicker { color: rgba(255,255,255,.8); }
.landing-final h2 { max-width: 700px; font-size: clamp(2.25rem, 5vw, 4.4rem); }
.landing-final > p:not(.landing-kicker) { max-width: 430px; margin: 20px 0 0; color: rgba(255,255,255,.85); font-size: .9rem; line-height: 1.7; }
.landing-final-actions { justify-content: center; }
.landing-button-outline { min-width: 175px; border-color: rgba(255,255,255,.7); color: #fff; }
.landing-button-outline:hover { background: #fff; color: var(--landing-accent); }
.landing-footer { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: end; gap: 20px; padding: 35px clamp(20px, 5vw, 78px); background: var(--landing-panel); }
.landing-footer img { width: 124px; height: 62px; object-fit: contain; object-position: left bottom; }
.landing-footer p, .landing-footer span { margin: 0; color: var(--landing-muted); font-size: .7rem; }
.landing-footer span { justify-self: end; }
@keyframes landing-photo-settle { from { transform: scale(1.06); } to { transform: scale(1.035); } }
@keyframes landing-copy-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }



@media (prefers-reduced-motion: reduce) {
  .landing-hero-photo, .landing-hero-inner { animation: none; }
  .landing-button, .landing-header-access, .landing-nav a::after { transition: none; }
}

/* Portada · navegación, iconografía y muestra de producto */
html:has(body.landing-page) { scroll-behavior: smooth; }
.landing-page section[id] { scroll-margin-top: 88px; }
.landing-icon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.landing-icon, .landing-step-glyph { display: inline-block; flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.landing-button .landing-icon, .landing-header-access .landing-icon, .landing-text-link .landing-icon, .landing-showcase-link .landing-icon { transition: transform .2s ease; }
.landing-button:hover .landing-icon, .landing-header-access:hover .landing-icon, .landing-showcase-link:hover .landing-icon { transform: translate(2px,-2px); }
.landing-text-link:hover .landing-icon { transform: translateY(2px); }
.landing-header { position: sticky; top: 0; z-index: 30; box-shadow: 0 1px 0 rgba(0,0,0,.06); transition: min-height .25s ease, box-shadow .25s ease, background .25s ease; }
.landing-header.is-scrolled { min-height: 70px; background: rgba(255,255,255,.95); box-shadow: 0 8px 25px rgba(30,20,22,.08); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.landing-scroll-progress { position: absolute; right: 0; bottom: 0; left: 0; width: 100%; height: 2px; appearance: none; border: 0; background: transparent; }
.landing-scroll-progress::-webkit-progress-bar { background: transparent; }
.landing-scroll-progress::-webkit-progress-value { background: var(--landing-accent); }
.landing-scroll-progress::-moz-progress-bar { background: var(--landing-accent); }
.landing-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.landing-step-glyph { width: 33px; height: 33px; margin-top: -6px; }
.landing-step { transition: background .25s ease, padding-left .25s ease; }
.landing-step:hover { background: var(--landing-accent-soft); }
.landing-showcase { background: #ece9e9; }
.landing-showcase-inner { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); gap: clamp(40px,7vw,110px); align-items: center; }
.landing-showcase-copy .landing-section-label { margin-bottom: 75px; }
.landing-showcase-copy h2 { max-width: 500px; margin: 0; font-size: clamp(2rem,3.6vw,3.2rem); font-weight: 500; line-height: 1.17; letter-spacing: -.045em; }
.landing-showcase-copy h2 em { color: var(--landing-accent); font-style: normal; }
.landing-showcase-copy > p:not(.landing-kicker) { max-width: 410px; margin: 24px 0 0; color: var(--landing-muted); font-size: .9rem; line-height: 1.8; }
.landing-showcase-link { display: inline-flex; align-items: center; gap: 14px; margin-top: 30px; padding-bottom: 5px; border-bottom: 1px solid var(--landing-accent); color: var(--landing-accent); font-size: .8rem; font-weight: 500; }
.landing-preview { min-width: 0; overflow: hidden; border: 1px solid var(--landing-line); border-radius: 6px; background: var(--landing-panel); box-shadow: 0 24px 50px rgba(55,38,42,.1); }
.landing-preview-top { display: flex; align-items: center; gap: 12px; padding: 13px 24px; border-bottom: 1px solid var(--landing-line); color: var(--landing-muted); font-size: .75rem; }
.landing-preview-monogram { display: grid; flex: none; width: 28px; height: 28px; place-items: center; border-radius: 6px; background: var(--landing-accent); color: #fff; font-size: .65rem; font-weight: 500; }
.landing-preview-status { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; white-space: nowrap; }
.landing-preview-status span { width: 6px; height: 6px; border-radius: 50%; background: var(--landing-accent); }
.landing-preview-tabs { display: flex; gap: 26px; padding: 0 24px; border-bottom: 1px solid var(--landing-line); }
.landing-preview-tabs button { position: relative; padding: 17px 0 14px; border: 0; background: transparent; color: var(--landing-muted); font: 500 .8rem/1 Inter,Arial,sans-serif; cursor: pointer; }
.landing-preview-tabs button[aria-selected="true"] { color: var(--landing-accent); }
.landing-preview-tabs button[aria-selected="true"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--landing-accent); content: ""; }
.landing-preview-panel { min-height: 375px; padding: 30px 30px 26px; animation: landing-copy-in .3s ease both; }
.landing-preview-panel[hidden] { display: none; }
.landing-preview-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--landing-accent); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.landing-preview-meta span:last-child { color: var(--landing-muted); text-align: right; }
.landing-preview-panel h3 { margin: 22px 0 7px; color: var(--landing-ink); font-size: 1.55rem; letter-spacing: -.035em; }
.landing-preview-panel > p { max-width: 470px; margin: 0; color: var(--landing-muted); font-size: .8rem; line-height: 1.65; }
.landing-preview-progress-label { display: flex; justify-content: space-between; gap: 12px; margin-top: 35px; font-size: .75rem; }
.landing-preview-progress-label strong { color: var(--landing-accent); }
.landing-preview-bar { height: 6px; margin-top: 11px; overflow: hidden; border-radius: 6px; background: var(--landing-accent-soft); }
.landing-preview-bar-fill { display: block; width: 60%; height: 100%; border-radius: inherit; background: var(--landing-accent); }
.landing-preview-list { display: grid; gap: 8px; margin-top: 25px; font-size: .76rem; }
.landing-preview-list > span { display: flex; align-items: center; gap: 9px; }
.landing-preview-list .landing-icon { width: 15px; height: 15px; color: var(--landing-accent); }
.landing-preview-next { color: var(--landing-muted); }
.landing-preview-question { display: grid; gap: 9px; margin-top: 24px; padding: 18px; border: 1px solid var(--landing-line); border-radius: 6px; font-size: .76rem; }
.landing-preview-question > span { color: var(--landing-accent); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.landing-preview-question strong { margin-bottom: 6px; font-size: .9rem; }
.landing-preview-question button { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid var(--landing-line); border-radius: 6px; background: var(--landing-panel); color: var(--landing-ink); font: 400 .76rem/1.4 Inter,Arial,sans-serif; text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.landing-preview-question button:hover, .landing-preview-question button[aria-pressed="true"] { border-color: var(--landing-accent); background: var(--landing-accent-soft); }
.landing-preview-question button span { display: grid; flex: none; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--landing-accent-soft); color: var(--landing-accent); font-size: .7rem; }
.landing-preview-question .landing-answer-feedback { margin: 2px 0 0; color: var(--landing-muted); font-size: .75rem; line-height: 1.5; }
.landing-preview-question .landing-answer-feedback.is-correct { color: var(--landing-accent); }
.landing-preview-panel .landing-preview-footnote { margin-top: 14px; font-size: .75rem; }
.landing-preview-thread { display: flex; gap: 12px; margin-top: 28px; padding: 17px; border: 1px solid var(--landing-line); border-radius: 6px; }
.landing-preview-avatar { display: grid; flex: none; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--landing-accent-soft); color: var(--landing-accent); font-size: .67rem; font-weight: 500; }
.landing-preview-thread strong { font-size: .84rem; }
.landing-preview-thread p { margin: 8px 0; color: var(--landing-muted); font-size: .75rem; line-height: 1.6; }
.landing-preview-thread small { color: var(--landing-muted); font-size: .75rem; }
.landing-preview-replies { display: flex; align-items: center; gap: 8px; margin-top: 17px; color: var(--landing-accent); font-size: .75rem; }
.landing-preview-replies .landing-icon { width: 17px; height: 17px; }
.landing-has-reveal .landing-reveal.is-visible { animation: landing-reveal-in .6s ease both; }
@keyframes landing-reveal-in { from { opacity: .7; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }


@media (prefers-reduced-motion: reduce) {
  html:has(body.landing-page) { scroll-behavior: auto; }
  .landing-has-reveal .landing-reveal.is-visible { animation: none; }
  .landing-preview-panel { animation: none; }
  .landing-header, .landing-step, .landing-icon { transition: none; }
}

/* Acceso público Extended Suites · fase 1.2 */
body.auth-page {
  --auth-accent: var(--brand-accent);
  --auth-accent-hover: var(--brand-accent-hover);
  --auth-accent-soft: var(--brand-accent-soft);
  --auth-ink: var(--brand-ink);
  --auth-muted: #66666b;
  --auth-line: #dedee1;
  --auth-panel: #fff;
  --auth-shell: #f4f4f6;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--auth-shell);
  color: var(--auth-ink);
  font: 400 .8rem/1.5 Inter,Arial,sans-serif;
}
body.auth-page :is(h1,h2,strong,b) { font-weight: 500; }
body.auth-page :is(a,button,input,textarea):focus-visible { outline: 1px solid var(--auth-accent); outline-offset: 3px; }
body.auth-page [hidden] { display: none !important; }
.auth-icon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.auth-icon { display: inline-block; flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.auth-skip { position: absolute; z-index: 10; top: -60px; left: 12px; padding: 9px 12px; border-radius: 6px; background: var(--auth-accent); color: #fff; }
.auth-skip:focus { top: 12px; }
.auth-shell { display: grid; width: 100%; min-height: 100vh; height: auto; padding: clamp(20px,4vw,60px); place-items: center; overflow: visible; background: var(--auth-shell); }
.auth-card { display: grid; grid-template-columns: minmax(0,.96fr) minmax(0,1.04fr); width: min(1120px,100%); min-height: min(740px,calc(100vh - 80px)); overflow: hidden; border: 1px solid var(--auth-line); border-radius: 6px; background: var(--auth-panel); box-shadow: 0 20px 55px rgba(53,37,40,.11); }
.auth-photo { position: relative; min-height: 650px; overflow: hidden; background: #3a2a28; color: #fff; }
.auth-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.auth-photo-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,16,16,.08) 22%,rgba(20,16,16,.13) 45%,rgba(20,16,16,.75) 100%); }
.auth-photo-brand { position: absolute; top: 25px; left: 26px; display: grid; width: 150px; height: 67px; place-items: center; padding: 6px 12px; border-radius: 6px; background: rgba(255,255,255,.96); box-shadow: 0 6px 25px rgba(0,0,0,.1); }
.auth-photo-brand img { width: 128px; height: 52px; object-fit: contain; }
.auth-photo-copy { position: absolute; right: clamp(25px,4vw,55px); bottom: clamp(28px,4vw,54px); left: clamp(25px,4vw,55px); }
.auth-photo-copy > span, .auth-kicker { font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
.auth-photo-copy > span { color: rgba(255,255,255,.82); }
.auth-photo-copy h2 { max-width: 420px; margin: 16px 0 16px; font-size: clamp(2.25rem,3.6vw,3.4rem); line-height: 1.12; letter-spacing: -.05em; }
.auth-photo-copy p { max-width: 360px; margin: 0; color: rgba(255,255,255,.9); font-size: .85rem; line-height: 1.6; }
.auth-content { display: flex; flex-direction: column; min-width: 0; padding: 28px clamp(28px,4.2vw,64px) 23px; }
.auth-content-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--auth-muted); font-size: .72rem; }
.auth-content-top a, .auth-back { display: inline-flex; align-items: center; gap: 7px; color: var(--auth-accent); font-size: .75rem; font-weight: 500; }
.auth-content-top a:hover, .auth-back:hover, .auth-bottom-link a:hover, .auth-form-side a:hover { text-decoration: underline; text-underline-offset: 3px; }
.auth-content-top .auth-icon, .auth-back .auth-icon { width: 15px; height: 15px; }
.auth-panel-wrap { display: grid; align-items: center; flex: 1; width: 100%; max-width: 420px; margin: 32px auto; }
.auth-panel { width: 100%; animation: auth-panel-in .24s ease both; }
@keyframes auth-panel-in { from { opacity: .65; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.auth-kicker { margin: 0 0 12px; color: var(--auth-accent); }
.auth-panel h1 { margin: 0; font-size: clamp(1.9rem,2.65vw,2.25rem); line-height: 1.16; letter-spacing: -.045em; }
.auth-panel h1:focus { outline: 1px solid var(--auth-accent); outline-offset: 5px; border-radius: 2px; }
.auth-lead { max-width: 380px; margin: 12px 0 30px; color: var(--auth-muted); font-size: .88rem; line-height: 1.65; }
.auth-preform-note { margin: -12px 0 18px; padding: 9px 11px; border-left: 2px solid var(--auth-accent); background: var(--auth-accent-soft); color: var(--auth-muted); font-size: .75rem; line-height: 1.5; }
.auth-form { display: grid; gap: 15px; }
.auth-field { display: grid; gap: 6px; }
.auth-field label { color: var(--auth-ink); font-size: .76rem; font-weight: 500; }
.auth-field input, .auth-field textarea { display: block; width: 100%; min-height: 45px; padding: 11px 12px; border: 1px solid var(--auth-line); border-radius: 6px; outline: none; background: var(--auth-panel); color: var(--auth-ink); font: 400 .8rem/1.4 Inter,Arial,sans-serif; transition: border-color .2s ease; }
.auth-field input::placeholder, .auth-field textarea::placeholder { color: #7c7c80; opacity: 1; }
.auth-field input:hover, .auth-field textarea:hover { border-color: #bcbcc1; }
.auth-field input:focus, .auth-field textarea:focus { border-color: var(--auth-accent); outline: 1px solid var(--auth-accent); outline-offset: 0; }
.auth-field textarea { min-height: 112px; resize: vertical; }
.auth-password-wrap { position: relative; }
.auth-password-wrap input { padding-right: 45px; }
.auth-password-toggle { position: absolute; top: 50%; right: 4px; display: grid; width: 36px; height: 36px; padding: 0; transform: translateY(-50%); place-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--auth-muted); }
.auth-password-toggle:hover { background: var(--auth-accent-soft); color: var(--auth-accent); }
.auth-password-toggle .auth-icon { width: 19px; height: 19px; }
.auth-form-side { display: flex; justify-content: flex-end; margin: -2px 0 2px; }
.auth-form-side a { color: var(--auth-accent); font-size: .76rem; font-weight: 500; }
.auth-primary, .auth-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 11px 16px; border: 1px solid var(--auth-accent); border-radius: 6px; font: 500 .8rem/1.25 Inter,Arial,sans-serif; text-align: center; transition: background .2s ease, transform .2s ease; }
.auth-primary { width: 100%; margin-top: 5px; background: var(--auth-accent); color: #fff; }
.auth-primary:hover { background: var(--auth-accent-hover); transform: translateY(-1px); }
.auth-primary .auth-icon { width: 16px; height: 16px; }
.auth-secondary { width: 100%; border-color: var(--auth-line); background: var(--auth-panel); color: var(--auth-accent); }
.auth-secondary:hover { background: var(--auth-accent-soft); }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 27px 0 15px; color: var(--auth-muted); font-size: .72rem; }
.auth-divider::before, .auth-divider::after { flex: 1; height: 1px; background: var(--auth-line); content: ""; }
.auth-bottom-link { margin: 24px 0 0; color: var(--auth-muted); font-size: .76rem; text-align: center; }
.auth-bottom-link a { color: var(--auth-accent); font-weight: 500; }
.auth-back { width: fit-content; margin-top: 23px; }
.auth-footnote { margin: auto 0 0; color: var(--auth-muted); font-size: .68rem; text-align: center; }
.auth-result-icon { display: grid; width: 54px; height: 54px; margin-bottom: 25px; place-items: center; border: 1px solid var(--auth-line); border-radius: 50%; background: var(--auth-accent-soft); color: var(--auth-accent); }
.auth-result-icon .auth-icon { width: 25px; height: 25px; }
.auth-result .auth-primary { margin-top: 22px; }
.auth-demo-note, .auth-small-note { margin: -10px 0 0; padding: 11px 12px; border-left: 2px solid var(--auth-accent); background: var(--auth-accent-soft); color: var(--auth-muted); font-size: .75rem; line-height: 1.55; }
.auth-small-note { margin: 16px 0 0; }
.auth-form-message { margin: 0; padding: 9px 11px; border: 1px solid var(--auth-accent); border-radius: 6px; background: var(--auth-accent-soft); color: var(--auth-accent); font-size: .75rem; }


@media (prefers-reduced-motion: reduce) {
  .auth-panel { animation: none; }
  .auth-primary, .auth-secondary, .auth-field input, .auth-field textarea { transition: none; }
}


/* Evaluación independiente: acceso sobrio, preguntas y revisión. */
body.assessment-page { min-height: 100vh; background: var(--bg); color: var(--ink); font: 400 .8rem/1.55 Inter, Arial, sans-serif; }
body.assessment-page [hidden] { display: none !important; }
body.assessment-page :is(h1,strong,b,button) { font-weight: 500; }
body.assessment-page :is(a,button,input):focus-visible { outline: 1px solid var(--brand-accent); outline-offset: 2px; }
.assessment-shell { display: grid; justify-items: center; align-content: start; gap: 18px; width: min(800px,100%); height: auto; min-height: 100vh; margin: 0 auto; padding: clamp(26px,5vw,48px) 16px 28px; overflow: visible; background: transparent; }
.assessment-brand { display: grid; width: 165px; min-height: 72px; place-items: center; }
.assessment-brand img { display: block; width: 150px; height: 72px; object-fit: contain; }
.assessment-card { width: 100%; padding: clamp(24px,4vw,48px); border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: 0 14px 34px rgba(45,32,36,.13); }
.assessment-screen { animation: assessment-enter .24s ease both; }
.assessment-kicker { display: block; color: var(--brand-accent); font-size: .68rem; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
.assessment-intro > .assessment-kicker { text-align: center; }
.assessment-intro h1 { margin: 5px 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 1.12rem; line-height: 1.35; text-align: center; }
.assessment-intro-copy p { margin: 0 0 14px; line-height: 1.7; }
.assessment-callout { margin: 18px 0; padding: 11px 14px; border-left: 2px solid var(--brand-accent); border-radius: 0 6px 6px 0; background: var(--brand-accent-soft); color: var(--ink); font-size: .76rem; line-height: 1.55; }
.assessment-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.assessment-fields label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; }
.assessment-fields input { width: 100%; min-height: 45px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--ink); font: 400 .8rem/1.4 Inter,Arial,sans-serif; letter-spacing: normal; text-transform: none; transition: border-color .18s ease; }
.assessment-fields input:focus { border-color: var(--brand-accent); outline: 1px solid var(--brand-accent); outline-offset: 0; }
.assessment-fields input::placeholder { color: var(--muted); }
.assessment-primary, .assessment-secondary { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 10px 17px; border: 1px solid var(--brand-accent); border-radius: 6px; font: 500 .8rem/1.3 Inter,Arial,sans-serif; text-align: center; text-decoration: none; transition: background-color .18s ease, transform .18s ease; }
.assessment-primary { background: var(--brand-accent); color: #fff; cursor: pointer; }
.assessment-primary:hover { background: var(--brand-accent-hover); color: #fff; transform: translateY(-1px); }
.assessment-primary:disabled { border-color: var(--line); background: var(--line); color: var(--muted); cursor: not-allowed; transform: none; }
.assessment-secondary { border-color: var(--line); background: var(--panel); color: var(--ink); cursor: pointer; }
.assessment-secondary:hover { border-color: var(--brand-accent); color: var(--brand-accent); }
.assessment-secondary:disabled { opacity: .45; cursor: not-allowed; }
.assessment-intro .assessment-primary { width: 100%; margin-top: 15px; }
.assessment-footnote { max-width: 520px; margin: 12px auto 0; color: var(--muted); font-size: .7rem; text-align: center; }
.assessment-return { color: var(--brand-accent); font-size: .72rem; text-decoration: none; }
.assessment-return:hover { text-decoration: underline; text-underline-offset: 3px; }
.assessment-quiz-top { display: flex; justify-content: space-between; gap: 12px; font-size: .72rem; }
.assessment-quiz-top > span:last-child { color: var(--muted); }
.assessment-quiz progress { display: block; width: 100%; height: 5px; margin: 15px 0 34px; border: 0; border-radius: 6px; background: var(--line); appearance: none; }
.assessment-quiz progress::-webkit-progress-bar { border-radius: 6px; background: var(--line); }
.assessment-quiz progress::-webkit-progress-value { border-radius: 6px; background: var(--brand-accent); }
.assessment-quiz progress::-moz-progress-bar { border-radius: 6px; background: var(--brand-accent); }
.assessment-quiz fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.assessment-quiz legend { padding: 0; color: var(--ink); font-size: 1.12rem; font-weight: 500; line-height: 1.4; }
.assessment-question-help { margin: 9px 0 20px; color: var(--muted); font-size: .75rem; }
.assessment-options { display: grid; gap: 9px; }
.assessment-options label { display: flex; min-height: 49px; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; transition: border-color .18s ease, background-color .18s ease; }
.assessment-options label:hover, .assessment-options label:has(input:checked) { border-color: var(--brand-accent); background: var(--brand-accent-soft); }
.assessment-options label:has(input:focus-visible) { outline: 1px solid var(--brand-accent); outline-offset: 2px; }
.assessment-options input { width: 17px; height: 17px; flex: none; margin: 0; accent-color: var(--brand-accent); }
.assessment-options span { font-size: .8rem; }
.assessment-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 24px; }
.assessment-actions .assessment-primary { min-width: 160px; }
.assessment-review h1, .assessment-done h1 { margin: 7px 0 6px; font-size: 1.45rem; line-height: 1.2; }
.assessment-review > p, .assessment-done > p { max-width: 620px; margin: 0 0 18px; color: var(--muted); }
.assessment-review ol { display: grid; gap: 0; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: assessment; }
.assessment-review li { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 0; border-top: 1px solid var(--line); counter-increment: assessment; }
.assessment-review li > span { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 2px 8px; }
.assessment-review li > span::before { grid-row: 1 / 3; color: var(--brand-accent); content: counter(assessment,decimal-leading-zero); font-size: .7rem; font-weight: 500; }
.assessment-review strong { font-size: .77rem; }
.assessment-review small { grid-column: 2; color: var(--muted); font-size: .7rem; }
.assessment-review li button { flex: none; padding: 5px 0; border: 0; background: transparent; color: var(--brand-accent); font: 500 .72rem/1.3 Inter,Arial,sans-serif; cursor: pointer; }
.assessment-done { text-align: center; }
.assessment-done-icon { display: grid; width: 56px; height: 56px; margin: 0 auto 18px; place-items: center; border: 1px solid var(--brand-accent); border-radius: 50%; background: var(--brand-accent-soft); color: var(--brand-accent); }
.assessment-done-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.assessment-done > p { margin-right: auto; margin-left: auto; }
.assessment-done .assessment-callout { max-width: 560px; margin: 20px auto; color: var(--ink); text-align: left; }
.assessment-done .assessment-primary { width: fit-content; margin: 0 auto; }
@keyframes assessment-enter { from { opacity: .55; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .assessment-screen { animation: none; } .assessment-primary, .assessment-secondary, .assessment-options label { transition: none; } }

/* === Valores del dashboard anterior === */
/* Valores fijos de las visualizaciones del overview original. */

/* Interacciones por tipo */
.interaction-bars > div:nth-child(1) b { --bar: 12%; --bar-color: #434d91; }
.interaction-bars > div:nth-child(2) b { --bar: 3%; --bar-color: #53a690; }
.interaction-bars > div:nth-child(3) b { --bar: 2%; --bar-color: #e45c4b; }
.interaction-bars > div:nth-child(4) b { --bar: 7%; --bar-color: #e7ca42; }
.interaction-bars > div:nth-child(5) b { --bar: 100%; --bar-color: #83b878; }

/* Alcance de los sitios */
.digital-site-item:nth-child(1) { --site-width: 100%; }
.digital-site-item:nth-child(2) { --site-width: 92%; }
.digital-site-item:nth-child(3) { --site-width: 86%; }
.digital-site-item:nth-child(4) { --site-width: 78%; }
.digital-site-item:nth-child(5) { --site-width: 55%; }

/* Distribución de sentimiento por eje */
.axis-sentiment-bar [data-axis="Seguridad"][data-sentiment="Positivo"] { --segment: 95.2%; }
.axis-sentiment-bar [data-axis="Seguridad"][data-sentiment="Negativo"] { --segment: 4.8%; }
.axis-sentiment-bar [data-axis="Movilidad"][data-sentiment="Positivo"] { --segment: 77.8%; }
.axis-sentiment-bar [data-axis="Movilidad"][data-sentiment="Neutral"],
.axis-sentiment-bar [data-axis="Movilidad"][data-sentiment="Negativo"] { --segment: 11.1%; }
.axis-sentiment-bar [data-axis="Servicios públicos"][data-sentiment="Positivo"] { --segment: 93.6%; }
.axis-sentiment-bar [data-axis="Servicios públicos"][data-sentiment="Neutral"] { --segment: 5.1%; }
.axis-sentiment-bar [data-axis="Servicios públicos"][data-sentiment="Negativo"] { --segment: 1.3%; }
.axis-sentiment-bar [data-axis="Corrupción y confianza"][data-sentiment="Positivo"] { --segment: 33.3%; }
.axis-sentiment-bar [data-axis="Corrupción y confianza"][data-sentiment="Negativo"] { --segment: 66.7%; }
.axis-sentiment-bar [data-axis="Política electoral"][data-sentiment="Positivo"] { --segment: 44.2%; }
.axis-sentiment-bar [data-axis="Política electoral"][data-sentiment="Neutral"] { --segment: 54%; }
.axis-sentiment-bar [data-axis="Política electoral"][data-sentiment="Negativo"] { --segment: 1.8%; }
.axis-sentiment-bar [data-axis="Gestión pública"][data-sentiment="Positivo"] { --segment: 90.4%; }
.axis-sentiment-bar [data-axis="Gestión pública"][data-sentiment="Neutral"] { --segment: 5.5%; }
.axis-sentiment-bar [data-axis="Gestión pública"][data-sentiment="Negativo"] { --segment: 4.1%; }

/* Alcance e interacción por fuente */
.source-impact-row:nth-child(1) .reach b { width: 46.8%; }
.source-impact-row:nth-child(1) .interaction b { width: 39.4%; }
.source-impact-row:nth-child(2) .reach b { width: 28.2%; }
.source-impact-row:nth-child(2) .interaction b { width: 34.8%; }
.source-impact-row:nth-child(3) .reach b { width: 17.5%; }
.source-impact-row:nth-child(3) .interaction b { width: 18.1%; }
.source-impact-row:nth-child(4) .reach b { width: 7.5%; }
.source-impact-row:nth-child(4) .interaction b { width: 7.7%; }

/* Peso de los ejes principales */
.main-axis-card[data-axis-name="Gestión pública"] { --axis-weight: 100%; }
.main-axis-card[data-axis-name="Política electoral"] { --axis-weight: 41.5%; }
.main-axis-card[data-axis-name="Servicios públicos"] { --axis-weight: 28.7%; }
.main-axis-card[data-axis-name="Seguridad"] { --axis-weight: 7.7%; }
.main-axis-card[data-axis-name="Movilidad"] { --axis-weight: 3.3%; }
.main-axis-card[data-axis-name="Corrupción y confianza"] { --axis-weight: 1.1%; }

/* Colores de la leyenda de narrativa */
.narrative-share-legend span:nth-child(1) i { --legend-color: #343b72; }
.narrative-share-legend span:nth-child(2) i { --legend-color: #467c88; }
.narrative-share-legend span:nth-child(3) i { --legend-color: #66539a; }
.narrative-share-legend span:nth-child(4) i { --legend-color: #545b66; }
.narrative-share-legend span:nth-child(5) i { --legend-color: #5780bd; }


/* === Catálogo y detalles de cursos === */
/* Valores compartidos por catálogo, detalle y dashboard */
body.course-template {
  --course-accent: #aa1f2e;
  --course-accent-soft: #f6e8ea;
  --course-accent-ink: #8d1726;
  --course-weight-regular: 400;
  --course-weight-strong: 500;
  --system-topbar-bg: #f8f8f9;
  --system-toolbar-bg: #f7f7f8;
}

.learning-view,
.course-detail,
.learning-dashboard,
.forum-view,
.forum-thread-view,
.forum-dialog,
.profile-view,
.profile-dialog,
.module-profile-page {
  --course-accent: #aa1f2e;
  --course-accent-soft: #f6e8ea;
  --course-accent-ink: #8d1726;
  --course-space: 12px;
  --course-padding: 12px;
  --course-radius: 6px;
  --course-text: .8rem;
  --course-small: .7rem;
  --course-subheading: .9rem;
  --course-heading: 1rem;
  --course-detail-heading: 1.25rem;
  --course-heading-large: 1.5rem;
  font-weight: var(--course-weight-regular);
}

.learning-view :is(strong, b, h1, h2, h3, h4, h5, h6),
.course-detail :is(strong, b, h1, h2, h3, h4, h5, h6),
.learning-dashboard :is(strong, b, h1, h2, h3, h4, h5, h6),
.forum-view :is(strong, b, h1, h2, h3, h4, h5, h6),
.forum-thread-view :is(strong, b, h1, h2, h3, h4, h5, h6),
.forum-dialog :is(strong, b, h1, h2, h3, h4, h5, h6),
.profile-view :is(strong, b, h1, h2, h3, h4, h5, h6),
.profile-dialog :is(strong, b, h1, h2, h3, h4, h5, h6),
.module-profile-page :is(strong, b, h1, h2, h3, h4, h5, h6) {
  font-weight: var(--course-weight-strong);
}

body.course-template .app-frame :is(.icon-rail, .sidebar, .topbar, .toolbar) * {
  font-weight: var(--course-weight-regular);
}

body.course-template .app-frame :is(.icon-rail, .sidebar, .topbar, .toolbar) :is(strong, b, .top-user-name) {
  font-weight: var(--course-weight-strong);
}

body.course-template .filter-panel button { font-weight: var(--course-weight-strong); }

/* Catálogo de cursos */
.learning-view {
  display: grid;
  gap: var(--course-space);
  max-width: 1500px;
  margin: 0 auto;
  padding-bottom: 20px;
}

.learning-hero,
.course-panel {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.learning-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  min-height: 260px;
}

.learning-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 16px;
}

.learning-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--course-space);
  margin-bottom: 12px;
  color: var(--muted);
  font-size: var(--course-text);
}

.learning-breadcrumb strong {
  padding: 7px 12px;
  border-radius: var(--course-radius);
  background: #f3f3f4;
  color: var(--ink);
  font-weight: var(--course-weight-strong);
}

.learning-hero h1 {
  max-width: 620px;
  margin: 0;
  color: var(--ink);
  font-size: var(--course-heading-large);
  font-weight: var(--course-weight-strong);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.learning-hero p {
  max-width: 650px;
  margin: 12px 0;
  color: var(--muted);
  font-size: var(--course-text);
  line-height: 1.65;
}

.learning-hero-link {
  display: inline-flex;
  align-items: center;
  gap: var(--course-space);
  border-bottom: 1px solid currentColor;
  color: var(--course-accent);
  font-size: var(--course-text);
  font-weight: var(--course-weight-strong);
  line-height: 1.6;
}

.learning-hero-link:hover,
.learning-hero-link:focus-visible { color: #751420; }
.learning-hero-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.learning-hero-art {
  min-width: 0;
  background: #fff;
}

.learning-hero-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.course-panel { scroll-margin-top: 60px; }

.course-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--course-space);
  padding: var(--course-padding);
  border-bottom: 1px solid var(--line);
}

.course-panel-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--course-accent);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.course-panel h2 {
  margin: 0;
  color: var(--ink);
  font-size: var(--course-heading);
  font-weight: var(--course-weight-strong);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.course-count {
  flex: none;
  padding: 7px 12px;
  border-radius: 6px;
  background: #f5f5f6;
  color: var(--muted);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
}

.course-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--course-space);
  padding: var(--course-padding);
}

.course-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  box-shadow: 0 2px 8px rgba(30, 30, 33, .04);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.course-card:hover,
.course-card:focus-visible {
  border-color: #bd8790;
  box-shadow: 0 7px 18px rgba(50, 30, 35, .1);
  transform: translateY(-2px);
  outline: none;
}

.course-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.7;
  object-fit: cover;
}

.course-card-content {
  display: flex;
  min-height: 210px;
  flex: 1;
  flex-direction: column;
  padding: var(--course-padding);
}

.course-category {
  margin-bottom: 8px;
  color: var(--course-accent);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.course-card h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--ink);
  font-size: var(--course-heading);
  font-weight: var(--course-weight-strong);
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.course-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 6px 0 12px;
  color: var(--muted);
  font-size: var(--course-text);
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.course-card-footer {
  display: grid;
  gap: var(--course-space);
  margin-top: auto;
  color: var(--muted);
  font-size: var(--course-small);
}

.course-card-footer span:first-child { color: var(--ink); font-weight: var(--course-weight-strong); }

.course-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 15px;
}

.course-tags span {
  padding: 4px 7px;
  border: 1px solid #dfe0e2;
  border-radius: 4px;
  color: var(--muted);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
}

/* Catálogo: tema oscuro y tamaños de pantalla */
.dark .learning-view,
.dark .course-detail,
.dark .learning-dashboard,
.dark .forum-view,
.dark .forum-dialog,
.dark .profile-view,
.dark .profile-dialog { --course-accent: #f08a95; --course-accent-soft: #403037; --course-accent-ink: #f4a0aa; }
.dark .learning-hero h1,
.dark .course-panel h2,
.dark .course-card h3 { color: #ededee; }
.dark .learning-hero p,
.dark .course-card p,
.dark .course-card-footer { color: #b7b8bd; }
.dark .learning-breadcrumb strong,
.dark .course-count { background: #343539; color: #dedee2; }
.dark .course-card-footer span:first-child { color: #ededee; }
.dark .course-tags span { border-color: #4a4b4f; color: #c8c9cd; }
.dark .learning-hero-link:hover,
.dark .learning-hero-link:focus-visible { color: #ffc0c7; }







/* Detalle de curso: estructura y presentación */
.learning-view[hidden],
.course-detail[hidden] { display: none; }

.course-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .8fr);
  gap: var(--course-space);
  max-width: 1500px;
  margin: 0 auto;
  padding-bottom: var(--course-padding);
}

.detail-main,
.detail-sidebar,
.lesson-task-list,
.course-materials,
.related-courses {
  display: grid;
  align-content: start;
  gap: var(--course-space);
  min-width: 0;
}

.lesson-media,
.detail-overview-card,
.detail-tab-panel,
.detail-box {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.lesson-media {
  position: relative;
  aspect-ratio: 2.2 / 1;
  background: #202123;
}
.lesson-media-video { aspect-ratio: 16 / 9; }

.lesson-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lesson-video-poster { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: #202123; cursor: pointer; }
.lesson-video-poster[hidden], .lesson-media-video video[hidden] { display: none; }
.lesson-video-poster img { transition: transform .35s ease, filter .35s ease; }
.lesson-video-poster::after { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,15,17,.36),transparent 32%,rgba(20,15,17,.2)); content: ''; pointer-events: none; }
.lesson-video-label { position: absolute; z-index: 1; top: 14px; left: 14px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.4); border-radius: 6px; background: rgba(25,20,22,.55); color: #fff; font-size: .68rem; font-weight: 500; }
.lesson-video-play { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; width: 66px; height: 46px; place-items: center; border-radius: 6px; background: var(--brand-accent); color: #fff; box-shadow: 0 8px 24px rgba(25,10,13,.24); transform: translate(-50%,-50%); transition: background-color .2s ease, transform .2s ease; }
.lesson-video-play svg { width: 24px; height: 24px; fill: currentColor; stroke: currentColor; stroke-width: 1.5; }
.lesson-video-poster:hover img { transform: scale(1.02); filter: brightness(.9); }
.lesson-video-poster:hover .lesson-video-play { background: var(--brand-accent-hover); transform: translate(-50%,-50%) scale(1.06); }
.lesson-video-poster:focus-visible { outline: 2px solid var(--brand-accent); outline-offset: -3px; }
.lesson-media-video video { display: block; width: 100%; height: 100%; background: #171719; object-fit: contain; }
.lesson-media-video .video-js { width: 100%; height: 100%; background: #171719; font-family: inherit; }
.lesson-media-video .video-js .vjs-big-play-button { width: 58px; height: 42px; margin: -21px 0 0 -29px; border: 0; border-radius: 6px; background: var(--brand-accent); line-height: 42px; }
.lesson-media-video .video-js:hover .vjs-big-play-button, .lesson-media-video .video-js .vjs-big-play-button:focus { background: var(--brand-accent-hover); }
.lesson-media-video .video-js .vjs-play-progress, .lesson-media-video .video-js .vjs-volume-level { background: var(--brand-accent); }
.lesson-media-video .video-js .vjs-control-bar { background: linear-gradient(transparent, rgba(15, 15, 17, .88)); }
.lesson-media-video .video-js .vjs-slider:focus { box-shadow: 0 0 0 1px var(--brand-accent); }
.lesson-media-video .vjs-progress-holder { position: relative; }
.lesson-media-visual { aspect-ratio: 16 / 9; }
.image-lesson-photo { object-position: center; }
.image-lesson-image-badge { position: absolute; top: 14px; left: 14px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.55); border-radius: 6px; background: rgba(23,20,21,.68); color: #fff; font-size: .7rem; font-weight: 500; }
.image-lesson-stage, .image-lesson-quiz { padding: 16px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.image-lesson-stage[hidden], .image-lesson-quiz[hidden] { display: none; }
.image-lesson-stage-head, .image-lesson-quiz-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .72rem; }
.image-lesson-kicker { color: var(--brand-accent); font-size: .7rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
.image-lesson-step-title { margin: 10px 0 4px; color: var(--ink); font-size: 1rem; font-weight: 500; }
.image-lesson-step-description { min-height: 2.2em; margin: 0 0 12px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.image-lesson-progress, .image-lesson-quiz-progress { height: 3px; overflow: hidden; border-radius: 3px; background: var(--line); }
.image-lesson-progress-fill, .image-lesson-quiz-progress > span { display: block; height: 100%; background: var(--brand-accent); transition: width .24s ease; }
.image-lesson-step-nav { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.image-lesson-step-nav button { width: 25px; height: 25px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--panel); color: var(--muted); font-size: .7rem; }
.image-lesson-step-nav button.is-active { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; }
.image-lesson-step-nav button.is-visited { border-color: var(--brand-accent); color: var(--brand-accent); }
.image-lesson-step-nav button:disabled { opacity: .5; cursor: default; }
.image-lesson-actions, .image-lesson-result-actions { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.image-lesson-primary, .image-lesson-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 7px 11px; border-radius: 6px; font-size: .76rem; font-weight: 500; }
.image-lesson-primary { border: 1px solid var(--brand-accent); background: var(--brand-accent); color: #fff; }
.image-lesson-primary:hover { background: var(--brand-accent-hover); }
.image-lesson-secondary { border: 1px solid var(--line); background: var(--panel); color: var(--ink); }
.image-lesson-secondary:hover { border-color: var(--brand-accent); }
.image-lesson-secondary:disabled { opacity: .48; cursor: default; }
.image-lesson-primary svg, .image-lesson-secondary svg { width: 15px; height: 15px; }
.image-lesson-quiz-progress { margin: 12px 0 16px; }
.image-lesson-quiz-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.image-lesson-quiz-form legend { width: 100%; margin-bottom: 12px; color: var(--ink); font-size: 1rem; font-weight: 500; }
.image-lesson-result { text-align: center; }
.image-lesson-result-icon { display: grid; width: 37px; height: 37px; margin: 0 auto 10px; place-items: center; border: 1px solid var(--brand-accent); border-radius: 50%; color: var(--brand-accent); }
.image-lesson-result-icon svg { width: 20px; height: 20px; }
.image-lesson-result h2 { margin: 7px 0 4px; font-size: 1.06rem; font-weight: 500; }
.image-lesson-result p { margin: 0; color: var(--muted); font-size: .8rem; }
.image-lesson-result-actions { justify-content: center; }
.lesson-media-scenario { aspect-ratio: 2.2 / 1; }
.lesson-media-scenario::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(21, 24, 27, .82), rgba(21, 24, 27, .08) 82%); content: ''; pointer-events: none; }
.scenario-media-overlay { position: absolute; z-index: 1; inset: auto auto 20px 20px; width: min(72%, 470px); color: #fff; }
.scenario-media-overlay > span { display: inline-block; margin-bottom: 8px; font-size: .68rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.scenario-media-overlay h2 { margin: 0 0 5px; font-size: 1.38rem; font-weight: 500; line-height: 1.12; }
.scenario-media-overlay p { margin: 0; color: rgba(255,255,255,.9); font-size: .76rem; line-height: 1.45; }
.scenario-stage { padding: 16px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.scenario-stage-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.scenario-kicker { color: var(--brand-accent); font-size: .68rem; font-weight: 500; letter-spacing: .05em; text-transform: uppercase; }
.scenario-stage-head h2 { margin: 3px 0 0; font-size: 1rem; font-weight: 500; }
.scenario-step { color: var(--muted); font-size: .7rem; white-space: nowrap; }
.scenario-progress { height: 3px; margin: 12px 0; overflow: hidden; border-radius: 3px; background: var(--line); }
.scenario-progress-fill { display: block; height: 100%; background: var(--brand-accent); transition: width .28s ease; }
.scenario-thread { display: grid; align-content: start; gap: 10px; max-height: 220px; overflow: auto; padding: 2px 5px 10px 0; scrollbar-width: thin; }
.scenario-message { display: flex; align-items: start; gap: 9px; max-width: 88%; animation: scenario-message-in .24s ease both; }
.scenario-message-staff { justify-self: end; flex-direction: row-reverse; }
.scenario-message-avatar { display: grid; flex: none; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--brand-accent-soft); color: var(--brand-accent); font-size: .68rem; font-weight: 500; }
.scenario-message-staff .scenario-message-avatar { background: var(--brand-accent); color: #fff; }
.scenario-message > div { padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--soft); }
.scenario-message-staff > div { border-color: var(--brand-accent); background: var(--brand-accent-soft); }
.scenario-message strong { font-size: .68rem; font-weight: 500; }
.scenario-message p { margin: 2px 0 0; font-size: .76rem; line-height: 1.42; }
.scenario-decision { border-top: 1px solid var(--line); padding-top: 12px; }
.scenario-decision[hidden], .scenario-feedback[hidden], .scenario-continue[hidden], .scenario-outcome[hidden], .scenario-choices[hidden] { display: none; }
.scenario-prompt { margin: 0 0 9px; font-size: .86rem; font-weight: 500; }
.scenario-choices { display: grid; gap: 6px; }
.scenario-choice { display: grid; grid-template-columns: 25px minmax(0, 1fr) 15px; align-items: center; gap: 9px; width: 100%; min-height: 48px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--ink); text-align: left; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.scenario-choice:hover, .scenario-choice:focus-visible { border-color: var(--brand-accent); background: var(--brand-accent-soft); transform: translateX(2px); }
.scenario-choice-number { color: var(--brand-accent); font-size: .68rem; font-weight: 500; }
.scenario-choice-copy { font-size: .76rem; line-height: 1.4; }
.scenario-choice svg { width: 15px; height: 15px; color: var(--brand-accent); }
.scenario-feedback { margin-top: 10px; padding: 10px 12px; border-left: 2px solid var(--brand-accent); border-radius: 0 6px 6px 0; background: var(--brand-accent-soft); }
.scenario-feedback.is-good { border-color: var(--green); background: var(--soft); }
.scenario-feedback strong { font-size: .74rem; font-weight: 500; }
.scenario-feedback p { margin: 3px 0 0; color: var(--muted); font-size: .74rem; }
.scenario-continue, .scenario-restart { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 8px 12px; border: 1px solid var(--brand-accent); border-radius: 6px; background: var(--brand-accent); color: #fff; font-size: .76rem; font-weight: 500; }
.scenario-continue { margin: 10px 0 0 auto; }
.scenario-continue:hover, .scenario-restart:hover { background: var(--brand-accent-hover); }
.scenario-continue svg, .scenario-restart svg { width: 15px; height: 15px; }
.scenario-outcome { padding: 16px 12px 3px; border-top: 1px solid var(--line); text-align: center; animation: lesson-question-in .3s ease both; }
.scenario-outcome-icon { display: grid; width: 36px; height: 36px; margin: 0 auto 8px; place-items: center; border: 1px solid var(--brand-accent); border-radius: 50%; color: var(--brand-accent); }
.scenario-outcome.is-good .scenario-outcome-icon { border-color: var(--green); color: var(--green); }
.scenario-outcome-icon svg { width: 19px; height: 19px; }
.scenario-outcome h2 { margin: 5px 0 4px; font-size: 1rem; font-weight: 500; }
.scenario-outcome p { margin: 0 auto 7px; max-width: 460px; color: var(--muted); font-size: .76rem; }
.scenario-outcome .scenario-outcome-lesson { color: var(--ink); }
.scenario-restart { margin-top: 8px; }
.dark .scenario-message > div, .dark .scenario-feedback.is-good { background: var(--panel); }
.dark .scenario-message-staff > div, .dark .scenario-feedback.is-improve, .dark .scenario-choice:hover, .dark .scenario-choice:focus-visible { background: color-mix(in srgb, var(--panel) 84%, var(--brand-accent)); }
.dark .scenario-message-avatar { background: color-mix(in srgb, var(--panel) 84%, var(--brand-accent)); }
.dark .scenario-message-staff .scenario-message-avatar { background: var(--brand-accent); }
.dark .scenario-kicker, .dark .scenario-choice-number, .dark .scenario-choice svg { color: color-mix(in srgb, var(--brand-accent) 62%, white); }
@keyframes scenario-message-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .scenario-message { animation: none; } .scenario-choice, .scenario-progress-fill { transition: none; } }
.lesson-video-cue-marker { position: absolute; z-index: 2; top: -3px; width: 3px; height: calc(100% + 6px); border-radius: 2px; background: #f5ad71; pointer-events: none; }
.lesson-video-guide { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 15px; margin-top: 8px; color: var(--muted); font-size: .75rem; }
.lesson-video-guide-title { color: var(--ink); font-weight: 500; }
.lesson-video-cue { display: inline-flex; align-items: center; gap: 5px; }
.lesson-video-cue-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--brand-accent); }
.lesson-video-cue.is-current { color: var(--brand-accent); font-weight: 500; }
.lesson-video-cue.is-complete .lesson-video-cue-dot { background: var(--green); }
.lesson-video-question[hidden] { display: none; }
.lesson-video-question { margin-top: 10px; padding: 16px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); animation: lesson-question-in .3s ease both; }
.lesson-video-question-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 12px; margin-bottom: 12px; color: var(--brand-accent); font-size: .72rem; font-weight: 500; }
.lesson-video-question-head small { color: var(--muted); font-size: inherit; font-weight: 400; }
.lesson-video-question fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.lesson-video-question legend { width: 100%; margin-bottom: 12px; color: var(--ink); font-size: 1rem; font-weight: 500; }
.lesson-video-option { display: flex; align-items: center; gap: 10px; min-height: 42px; margin-top: 6px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); font-size: .8rem; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.lesson-video-option:hover, .lesson-video-option:has(input:focus-visible) { border-color: var(--brand-accent); }
.lesson-video-option:has(input:checked) { border-color: var(--brand-accent); background: var(--brand-accent-soft); }
.lesson-video-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.lesson-video-option-indicator { flex: none; width: 16px; height: 16px; border: 1px solid var(--muted); border-radius: 50%; }
.lesson-video-option:has(input:checked) .lesson-video-option-indicator { border: 5px solid var(--brand-accent); }
.lesson-video-option.is-correct { border-color: var(--green); }
.lesson-video-option.is-incorrect { border-color: var(--brand-accent); }
.lesson-video-question-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.lesson-video-feedback { margin: 0; color: var(--brand-accent); font-size: .76rem; }
.lesson-video-feedback.is-correct { color: #34804b; }
.lesson-video-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin-left: auto; padding: 8px 12px; border: 1px solid var(--brand-accent); border-radius: 6px; background: var(--brand-accent); color: #fff; font-size: .76rem; font-weight: 500; }
.lesson-video-submit svg { width: 15px; height: 15px; }
.lesson-video-submit:disabled { border-color: var(--line); background: var(--soft); color: var(--muted); cursor: not-allowed; }
.lesson-video-submit:not(:disabled):hover { background: var(--brand-accent-hover); }
@keyframes lesson-question-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .lesson-video-poster img, .lesson-video-play { transition: none; } }
@media (prefers-reduced-motion: reduce) { .lesson-video-question { animation: none; } }

.detail-title-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--course-space);
  padding: 4px 0 0;
}

.detail-category {
  color: var(--course-accent);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.detail-title-row h1 {
  margin: 7px 0 0;
  color: var(--ink);
  font-size: var(--course-detail-heading);
  font-weight: var(--course-weight-strong);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.detail-action {
  flex: none;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: var(--panel);
  color: var(--ink);
  font-size: var(--course-text);
  font-weight: var(--course-weight-strong);
  cursor: pointer;
}

.detail-action {
  border-color: var(--course-accent);
  background: var(--course-accent);
  color: #fff;
}

.detail-action:focus-visible,
.detail-tabs button:focus-visible,
.related-course:focus-visible { outline: 2px solid var(--course-accent); outline-offset: 2px; }

.detail-overview-card {
  display: grid;
  grid-template-columns: minmax(160px, .55fr) minmax(0, 1fr);
  align-items: stretch;
  gap: var(--course-space);
  padding: var(--course-padding);
}

.course-mentor {
  display: flex;
  align-items: flex-start;
  gap: var(--course-space);
  padding-right: 12px;
  border-right: 1px solid var(--line);
}

.mentor-avatar {
  display: grid;
  width: 38px;
  height: 38px;
  flex: none;
  place-items: center;
  border-radius: var(--course-radius);
  background: var(--course-accent-soft);
  color: var(--course-accent-ink);
  font-size: var(--course-small);
  font-weight: var(--course-weight-strong);
}

.course-mentor strong,
.course-mentor small,
.detail-intro span {
  display: block;
  font-size: var(--course-small);
  line-height: 1.4;
}

.course-mentor small { margin-top: 4px; color: var(--muted); }
.detail-intro span { margin-top: 0; color: var(--muted); }
.detail-intro p { margin: 4px 0 0; font-size: var(--course-text); line-height: 1.4; }
.detail-intro .detail-lesson-progress { display: block; margin-top: 5px; color: var(--muted); font-size: var(--course-small); }

.detail-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 2px 0;
}

.detail-tabs button {
  flex: none;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: var(--panel);
  color: var(--ink);
  font-size: var(--course-text);
  cursor: pointer;
}

.detail-tabs button.active {
  border-color: var(--course-accent);
  background: var(--course-accent);
  color: #fff;
}

/* Contenido de las pestañas y comentarios */
.detail-tab-panel { min-height: 160px; padding: var(--course-padding); }
.detail-tab-panel h2,
.detail-box h2 { margin: 0 0 3px; color: var(--ink); font-size: var(--course-heading); font-weight: var(--course-weight-strong); }
.detail-tab-panel h3 { margin: 18px 0 8px; color: var(--ink); font-size: var(--course-subheading); }
.detail-tab-panel p,
.detail-tab-panel li { color: var(--muted); font-size: var(--course-text); line-height: 1.55; }
.detail-tab-panel p { margin: 0 0 12px; }
.detail-tab-panel ul { margin: 0; padding-left: 20px; }
.detail-tab-panel label { display: block; margin: 14px 0 7px; font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.detail-tab-panel textarea {
  display: block;
  width: 100%;
  min-height: 90px;
  margin-bottom: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  resize: vertical;
}
.detail-feedback { margin-left: 12px; color: var(--course-accent); font-size: var(--course-text); }
.detail-tab-panel details { padding: 10px 0; border-bottom: 1px solid var(--line); }
.detail-tab-panel summary { font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }
.detail-tab-panel details p { margin: 10px 0 2px; }
.course-comments { display: grid; gap: var(--course-space); margin: 12px 0; color: var(--muted); font-size: var(--course-text); }
.course-comment { padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); }
.course-comment-header { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: var(--course-space); }
.course-comment-avatar { display: grid; width: 28px; height: 28px; flex: none; place-items: center; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }
.course-comment-author { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px var(--course-space); }
.course-comment-header strong { font-size: var(--course-text); }
.course-comment-header small { color: var(--muted); font-size: var(--course-small); }
.course-comment p { margin: 4px 0 0; }
.course-comment-files { display: flex; flex-wrap: wrap; gap: var(--course-space); margin: 8px 0 0 40px; }
.course-comment-files span { padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--course-radius); color: var(--muted); font-size: var(--course-small); }
.course-comment-editor { overflow: hidden; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); }
.course-comment-editor:focus-within { border-color: #ffd7da; box-shadow: 0px 0px 7px #e0e0e0;}
.detail-tab-panel .course-comment-editor textarea { min-height: 72px; margin: 0; padding: 10px 12px; border: 0; border-radius: 0; }
.detail-tab-panel .course-comment-editor textarea:focus {
    border: 0;
    outline: none;
}
.course-draft-files { display: flex; flex-wrap: wrap; gap: var(--course-space); padding: 10px 12px 0; }
.course-draft-files:empty { display: none; }
.course-draft-file { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 4px 6px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--soft); font-size: var(--course-small); }
.course-draft-file > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.course-draft-file button { display: grid; place-items: center; min-width: 24px; min-height: 24px; padding: 0 3px; border: 0; background: transparent; font-size: 1rem; line-height: 1; }
.course-comment-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--course-space); padding: 8px; border-top: 1px solid var(--line); }
.course-comment-tools { display: flex; align-items: center; gap: var(--course-space); }
.course-tool-button { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: var(--course-radius); background: transparent; color: var(--muted); }
.course-tool-button:hover,
.course-tool-button:focus-visible { background: var(--course-accent-soft); color: var(--course-accent-ink); }
.course-tool-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.course-mention-button { font-size: 1rem; font-weight: var(--course-weight-strong); }
.course-submit-button { display: grid; width: 36px; height: 36px; flex: none; place-items: center; padding: 0; border: 0; border-radius: 50%; background: var(--course-accent); color: #fff; }
.course-submit-button:hover { filter: brightness(.9); }
.course-submit-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }
.course-submit-button:focus-visible,
.course-tool-button:focus-visible,
.course-draft-file button:focus-visible { outline: 2px solid var(--course-accent); outline-offset: 2px; }

/* Panel lateral: progreso, actividades y materiales */
.detail-box { padding: var(--course-padding); }
.detail-box-label { display: block; margin-bottom: 6px; color: var(--muted); font-size: var(--course-small); font-weight: var(--course-weight-strong); letter-spacing: .06em; text-transform: uppercase; }
.course-progress-box { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); }
.course-progress-box strong { display: block; font-size: var(--course-text); }
.course-progress-ring {
  --progress: 0%;
  display: grid;
  width: 68px;
  height: 68px;
  flex: none;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--course-accent) var(--progress), #e5e5e8 0);
}
.course-progress-ring[data-progress="20"] { --progress: 20%; }
.course-progress-ring[data-progress="40"] { --progress: 40%; }
.course-progress-ring[data-progress="60"] { --progress: 60%; }
.course-progress-ring[data-progress="80"] { --progress: 80%; }
.course-progress-ring[data-progress="100"] { --progress: 100%; }
.course-progress-ring strong {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: var(--panel);
  font-size: var(--course-text);
}

.lesson-task {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: var(--course-space);
  cursor: pointer;
}
.lesson-task input { position: absolute; width: 28px; height: 28px; margin: 0; opacity: 0; cursor: pointer; }
.task-check { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #c7c8cb; border-radius: 50%; color: var(--course-accent); font-size: var(--course-text); }
.task-done-icon { display: none; }
.lesson-task.is-review input:not(:checked) + .task-check { border: 1px solid var(--course-accent); background: var(--course-accent-soft); }
.lesson-task.is-review .task-check svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.lesson-task input:checked + .task-check { border-color: var(--course-accent); background: var(--course-accent); color: #fff; }
.lesson-task input:checked + .task-check .task-done-icon { display: block; }
.lesson-task input:checked + .task-check svg { display: none; }
.lesson-task input:focus-visible + .task-check { outline: 2px solid var(--course-accent); outline-offset: 2px; }
.lesson-task strong,
.lesson-task small { display: block; }
.lesson-task strong { font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.lesson-task small { margin-top: 3px; color: var(--muted); font-size: var(--course-small); }

.scenario-skills-intro { margin: 0 0 12px; color: var(--muted); font-size: var(--course-small); line-height: 1.45; }
.scenario-skill-list { display: grid; gap: 12px; }
.scenario-skill { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: start; gap: var(--course-space);  border-bottom: 1px dashed #ccc; padding-bottom: 6px;}
.scenario-skill-mark { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); transition: border-color .2s ease, background-color .2s ease, color .2s ease; }
.scenario-skill-mark svg { width: 15px; height: 15px; stroke-width: 1.8; }
.scenario-skill-copy strong, .scenario-skill-copy small, .scenario-skill-copy em { display: block; }
.scenario-skill-copy strong { font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.scenario-skill-copy small { margin-top: 1.5px; color: var(--muted); font-size: var(--course-small); }
.scenario-skill-copy em { margin-top: 1.5px; color: var(--muted); font-size: var(--course-small); font-style: normal; }
.scenario-skill[data-skill-state="good"] .scenario-skill-mark { border-color: var(--green); background: var(--green); color: #fff; }
.scenario-skill[data-skill-state="good"] .scenario-skill-copy em { color: var(--green); }
.scenario-skill[data-skill-state="improve"] .scenario-skill-mark { border-color: var(--brand-accent); background: var(--brand-accent-soft); color: var(--brand-accent); }
.scenario-skill[data-skill-state="improve"] .scenario-skill-copy em { color: var(--brand-accent); }
.scenario-skill[data-skill-state="unseen"] { opacity: .72; }

.course-material { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: var(--course-space); }
.material-icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: 1rem; }
.material-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.course-material strong,
.course-material small { display: block; }
.course-material strong { font-size: var(--course-small); }
.course-material small { margin-top: 3px; color: var(--muted); font-size: var(--course-small); }
.course-material strong { overflow-wrap: anywhere; }
.course-download { padding: 6px 8px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }
.course-download:hover,
.course-download:focus-visible { border-color: var(--course-accent); color: var(--course-accent); }
.course-download:focus-visible { outline: 2px solid var(--course-accent); outline-offset: 2px; }

.related-course { display: grid; grid-template-columns: 74px minmax(0, 1fr); align-items: start; gap: var(--course-space); font-size: var(--course-text); }
.related-course img { display: block; width: 74px; height: 56px; border-radius: 6px; object-fit: cover; }
.related-course strong,
.related-course small { display: block; }
.related-course strong { line-height: 1.3; }
.related-course small { margin-top: 5px; color: var(--course-accent); font-size: var(--course-small); }
.related-course:hover strong { text-decoration: underline; }

/* Detalle: tema oscuro y tamaños de pantalla */
.dark .detail-title-row h1,
.dark .detail-tab-panel h2,
.dark .detail-tab-panel h3,
.dark .detail-box h2 { color: #ededee; }
.dark .detail-tab-panel p,
.dark .detail-tab-panel li { color: #b7b8bd; }
.dark .course-progress-ring { background: conic-gradient(var(--course-accent) var(--progress), #45464a 0); }
.dark .course-draft-file { background: #303134; }
.dark .course-submit-button { color: #202123; }
.dark .detail-action,
.dark .detail-tabs button.active,
.dark .lesson-task input:checked + .task-check { color: #202123; }


/* === Dashboard de aprendizaje === */
.learning-dashboard[hidden] { display: none; }
#overview:focus { outline: none; }
body.course-template .icon-rail .sinNav, body.course-template .icon-rail nav:not(.sinNav) a:first-child, body.course-template .icon-rail nav:not(.sinNav) a:last-child { display: none; }
body.course-template .icon-rail nav:not(.sinNav) a > span { display: none; }
body.course-template .topbar { display: flex; min-height: 42px; height: 42px; background: var(--system-topbar-bg); }
body.course-template .topbar .top-links > button:not(#topTheme),
body.course-template .topbar .settings-dropdown { display: none; }
body.course-template .topbar .page-title strong { color: color-mix(in srgb, var(--brand-accent) 58%, #4e4e4e); }
body.course-template .topbar .page-title svg { color: var(--course-accent); }
body.course-template .topbar .top-links { gap: 12px; }
body.course-template .topbar .top-user { min-width: 150px; max-width: 190px; border-radius: 20px; color: #4e4e4e; text-decoration: none; }
body.course-template .topbar .top-user-name { font-size: .65rem; text-transform: uppercase; }
body.course-template .toolbar { color: #81818e; }
body.course-template .toolbar .date-btn { color: #81818e; }
body.course-template .toolbar { height: 48px; border-color: #e4e4e6; background:#f8f8f9; box-shadow: -1px 1px 10px rgba(76,78,139,.13); }
body.course-template .toolbar > :not(#contextToolbarActions) { display: none; }
body.course-template .context-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; width: 100%; gap: 8px; }
body.course-template .toolbar .context-toolbar-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 28px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #f7f7f7;
    background: linear-gradient(180deg, rgba(245, 245, 245, 1) 0%, rgba(237, 237, 237, 1) 50%, rgba(227, 227, 230, 1) 100%);
    color: var(--ink);
    box-shadow: none;
    font-size: .65rem;
    font-weight: var(--course-weight-strong);
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    text-transform: uppercase;
}
body.course-template .toolbar .context-toolbar-action svg { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.course-template .toolbar .context-toolbar-back { width: 32px; padding: 0; color:#615f5f; }
body.course-template .toolbar .context-toolbar-icon { width: 32px; padding: 0; }
body.course-template .toolbar .context-toolbar-action:hover { border-color: var(--course-accent); color: var(--course-accent); }
body.course-template .toolbar .context-toolbar-action:focus-visible { border-color: var(--course-accent); outline: 2px solid var(--course-accent); outline-offset: 2px; }
body.course-template .toolbar [data-context-action="new-post"] { border-color: var(--course-accent); background: var(--course-accent); color: #fff; }
body.course-template .toolbar [data-context-action="new-post"]:hover { background: var(--course-accent-ink); color: #fff; }
body.course-template .toolbar .context-toolbar-action.is-saved { border-color: var(--course-accent); color: var(--course-accent); }
body.course-template .toolbar .context-toolbar-action.is-saved svg { fill: currentColor; }
body.course-template.dark .toolbar { border-color: var(--line); background: #222325; box-shadow: none; color: var(--muted); }
body.course-template.dark .toolbar .context-toolbar-action { border-color: var(--line); background: #303134; color: var(--ink); }
body.course-template.dark .toolbar .context-toolbar-back,
body.course-template.dark .toolbar .context-toolbar-action.is-saved { border-color: #f08a95; color: #f08a95; }
body.course-template.dark .toolbar .context-toolbar-action:hover { border-color: #f08a95; color: #f08a95; }
body.course-template.dark .toolbar [data-context-action="new-post"]:hover { color: #fff; }
body.course-template .toolbar [data-context-action="export-certificate"],
body.course-template.dark .toolbar [data-context-action="export-certificate"] { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; }
body.course-template .toolbar [data-context-action="export-certificate"]:hover,
body.course-template.dark .toolbar [data-context-action="export-certificate"]:hover { border-color: var(--brand-accent-hover); background: var(--brand-accent-hover); color: #fff; }
body.course-template .toolbar [data-context-action="export-certificate"]:disabled { opacity: .72; cursor: wait; }
body.course-template #forumNewPost,
body.course-template .profile-edit-button[data-profile-edit],
body.course-template .forum-thread-back { display: none; }
body.course-template .toolbar > :is(#filterButton, #dailyTrackingButton, .date-btn),
body.course-template > .app-frame > main > .filter-panel { display: none; }
body.course-template .toolbar #syncDropdown { margin-left: auto; }
body.course-template .toolbar #filterButton,
body.course-template .toolbar #filterButton[aria-expanded="true"] { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; box-shadow: none; }
body.course-template .toolbar #filterButton:hover { background: var(--brand-accent-hover); }
body.course-template .topbar .top-user:hover,
body.course-template .topbar .top-user:focus-visible { border-color: var(--course-accent); outline: none; }
body.course-template .topbar .top-user-avatar { border-color: var(--course-accent); color: var(--course-accent); }
body.course-template .topbar #topTheme { color: #4e4e4e; }
body.course-template.dark .topbar .page-title strong,
body.course-template.dark .topbar #topTheme,
body.course-template.dark .topbar .top-user { color: var(--ink); }
body.course-template.dark .toolbar .date-btn { color: var(--muted); }
body.course-template.dark .topbar { border-color: var(--line); background: #222325; }
body.course-template.dark .topbar .page-title svg,
body.course-template.dark .topbar .top-user-avatar { border-color: #f08a95; color: #f08a95; }
.learning-dashboard { --dash-soft: #f7f5f4; --dash-blue: #697b8f; display: grid; gap: 12px; max-width: 1450px; margin: 0 auto; padding-bottom: 16px; color: var(--ink); font-size: .8rem; }
.learning-dashboard :is(h1,h2,h3,p) { margin-top: 0; }
.learning-dashboard h1, .learning-dashboard h2, .learning-dashboard h3, .learning-dashboard strong { font-weight: 500; }
.learning-dashboard h1 { font-size: clamp(1.45rem,2.1vw,2.25rem); line-height: 1.16; letter-spacing: -.03em; }
.learning-dashboard h2 { font-size: 1.05rem; line-height: 1.3; }
.learning-dashboard h3 { font-size: .84rem; line-height: 1.35; }
.learning-dashboard p { font-size: .8rem; line-height: 1.55; }
.learning-dashboard small { font-size: .72rem; }
.learning-dashboard svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.learning-dashboard button { cursor: pointer; font-family: inherit; font-weight: 500; }
.learning-dashboard :is(a,button):focus-visible { outline: 1px solid var(--course-accent); outline-offset: 3px; }
.dash-eyebrow { display: block; margin-bottom: 5px; color: var(--course-accent); font-size: .67rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.dash-welcome, .dash-section-header, .dash-panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dash-welcome { position: relative; min-height: 210px; overflow: hidden; align-items: flex-end; padding: 24px; border: 1px solid var(--line); border-radius: 6px; background: linear-gradient(90deg,rgba(32,26,28,.94) 0%,rgba(48,31,35,.78) 43%,rgba(48,31,35,.08) 100%),url('assets/landing-hospitality.webp') center 46% / cover no-repeat; color: #fff; }
.dash-welcome > * { position: relative; z-index: 1; }
.dash-welcome > div { max-width: 650px; }
.dash-welcome .dash-eyebrow { color: #ffd2d7; }
.dash-welcome .dash-outline-link { align-self: flex-end; border-color: #fff; background: #fff; color: #4e4e4e; }
.dash-welcome .dash-outline-link:hover { border-color: #f4c1c7; color: var(--course-accent); }
.dash-welcome h1 { margin-bottom: 6px; }
.dash-welcome p { margin-bottom: 0; color: #f3eeee; }
.dash-section-header p, .dash-panel-header p { margin-bottom: 0; color: var(--muted); }
.dash-outline-link { display: inline-flex; flex: none; align-items: center; justify-content: center; gap: 8px; min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--ink); font-size: .8rem; font-weight: 500; text-decoration: none; }
.dash-outline-link:hover { border-color: var(--course-accent); color: var(--course-accent); }
.dash-focus, .dash-metric, .dash-panel, .dash-module { overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: var(--shadow); }
.dash-focus { display: grid; grid-template-columns: minmax(240px,.9fr) minmax(0,1.1fr); min-height: 220px; }
.dash-focus-image { min-height: 220px; overflow: hidden; }
.dash-focus-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dash-focus-content { display: grid; align-content: center; justify-items: start; gap: 8px; padding: 18px 22px; }
.dash-focus-content h2 { max-width: 460px; margin-bottom: 0; font-size: 1.35rem; letter-spacing: -.025em; }
.dash-focus-content p { max-width: 510px; margin-bottom: 0; color: var(--muted); }
.dash-focus-progress { display: flex; justify-content: space-between; gap: 12px; width: 100%; margin-top: 2px; font-size: .72rem; }
.dash-focus-progress strong { color: var(--course-accent); }
.dash-meter, .dash-module-progress { width: 100%; height: 6px; overflow: hidden; border-radius: 6px; background: var(--course-accent-soft); }
.dash-meter span, .dash-module-progress span { display: block; height: 100%; border-radius: 6px; background: var(--course-accent); }
.dash-fill-75 { width: 75%; }.dash-fill-30 { width: 30%; }.dash-fill-63 { width: 62.5%; }.dash-fill-10 { width: 10%; }.dash-fill-0 { width: 0; }
.dash-primary-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; margin-top: 4px; padding: 8px 12px; border: 1px solid var(--course-accent); border-radius: 6px; background: var(--course-accent); color: #fff; font-size: .8rem; }
.dash-primary-button:hover { filter: brightness(.93); }
.dash-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.dash-metric { display: flex; flex-direction: column; gap: 9px; min-height: 116px; padding: 12px; }
.dash-metric-top { display: flex; align-items: center; gap: 8px; font-size: .76rem; }
.dash-metric-icon { display: grid; flex: none; width: 18px; height: 28px; place-items: center; color: var(--course-accent); }
.dash-metric-icon svg { width: 17px; height: 17px; }
.dash-metric-value { display: flex; align-items: baseline; gap: 6px; }
.dash-metric-value strong { font-size: 1.55rem; line-height: 1; }
.dash-metric-value span, .dash-metric small { color: var(--muted); }
.dash-metric .dash-meter { margin-top: 0; }
.dash-metric small { margin-top: auto; }
.dash-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.8fr); align-items: start; gap: 12px; }
.dash-main-column, .dash-side-column, .dash-modules, .dash-agenda { display: grid; align-content: start; gap: 12px; min-width: 0; }
.dash-panel { padding: 14px; }
.dash-section-header { padding: 5px 0 1px; }
.dash-section-header h2, .dash-panel-header h2 { margin-bottom: 0; }
.dash-module-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.dash-module { display: grid; grid-template-columns: 94px minmax(0,1fr); min-height: 108px; }
.dash-module > img, .dash-module-placeholder { width: 94px; height: 100%; min-height: 108px; object-fit: cover; }
.dash-module-placeholder { display: grid; place-items: center; background: var(--course-accent-soft); color: var(--course-accent); }
.dash-module-placeholder svg { width: 28px; height: 28px; }
.dash-module-content { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 10px; }
.dash-module-content small { color: var(--muted); }
.dash-module-content h3 { overflow: hidden; margin-bottom: 1px; text-overflow: ellipsis; white-space: nowrap; }
.dash-module-progress { height: 5px; }
.dash-module-bottom { display: flex; justify-content: space-between; gap: 5px; font-size: .7rem; }
.dash-module-bottom span { color: var(--muted); }
.dash-module-bottom button, .dash-agenda-item button { padding: 0; border: 0; background: none; color: var(--course-accent); font-size: .72rem; text-align: left; }
.dash-module-bottom button:hover, .dash-agenda-item button:hover { text-decoration: underline; }
.dash-date-label { color: var(--muted); font-size: .69rem; text-align: right; }
.dash-agenda { margin-top: 12px; }
.dash-agenda-item { padding: 11px; border: 1px solid var(--line); border-radius: 6px; }
.dash-agenda-time { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: var(--course-accent); font-size: .7rem; }
.dash-agenda-item h3 { margin-bottom: 4px; }
.dash-agenda-item p { margin-bottom: 7px; color: var(--muted); font-size: .73rem; }
.dash-streak-head { display: flex; align-items: flex-start; gap: 9px; }
.dash-streak-icon { display: grid; flex: none; width: 29px; height: 29px; place-items: center; border-radius: 6px; background: var(--course-accent-soft); color: var(--course-accent); }
.dash-streak-head h2 { margin: 0 0 3px; }
.dash-streak-head p { margin: 0; color: var(--muted); font-size: .72rem; }
.dash-streak-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; margin-top: 12px; }
.dash-streak-days span { display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: .68rem; }
.dash-streak-days i { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--line); border-radius: 5px; font-size: .66rem; font-style: normal; }
.dash-streak-days span:nth-child(n+4):nth-child(-n+6) i { border-color: var(--course-accent); background: var(--course-accent); color: #fff; }
.dash-streak-days .today i { border-color: var(--course-accent); color: var(--course-accent); }
.dash-calendar-month { color: var(--muted); font-size: .7rem; }
.dash-calendar-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; margin-top: 12px; }
.dash-calendar-week span { display: grid; justify-items: center; gap: 3px; padding: 5px 1px; border-radius: 5px; color: var(--muted); font-size: .68rem; }
.dash-calendar-week span.today { background: var(--course-accent); color: #fff; }
.dash-calendar-week strong { color: inherit; font-size: .8rem; }
.dash-calendar-note { margin: 8px 0 0; color: var(--muted); font-size: .7rem !important; }
.dash-progress-panel { margin-top: 2px; }
.dash-periods { display: flex; gap: 3px; padding: 3px; border-radius: 6px; background: var(--dash-soft); }
.dash-periods button { padding: 5px 8px; border: 0; border-radius: 4px; background: transparent; color: var(--muted); font-size: .7rem; }
.dash-periods button[aria-pressed="true"] { background: var(--panel); color: var(--course-accent); box-shadow: var(--shadow); }
.dash-chart-legend { display: flex; gap: 12px; margin: 12px 0 0; color: var(--muted); font-size: .7rem; }
.dash-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.dash-chart-legend i { display: block; width: 13px; height: 3px; background: var(--dash-blue); }
.dash-chart-legend .practice { background: var(--course-accent); }
.dash-chart { display: block; width: 100%; height: auto; max-height: 225px; }
.dash-chart .grid { stroke: var(--line); stroke-width: 1; stroke-dasharray: 3 5; }
.dash-chart .axis-label { fill: var(--muted); stroke: none; font-size: 11px; }
.dash-chart .knowledge-line, .dash-chart .practice-line { fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.dash-chart .knowledge-line { stroke: var(--dash-blue); }
.dash-chart .practice-line { stroke: var(--course-accent); stroke-dasharray: 7 5; }
.dash-chart-summary { margin: 0; color: var(--muted); font-size: .72rem !important; }
.dash-course-dialog { position: fixed; width: min(480px,calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 20px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--ink); box-shadow: 0 20px 70px rgba(20,20,20,.22); }
.dash-course-dialog::backdrop { background: rgba(15,15,15,.56); }
.dash-course-dialog h2 { margin-bottom: 8px; font-size: 1.3rem; }
.dash-course-dialog p { color: var(--muted); }
.dash-dialog-close { position: absolute; top: 8px; right: 10px; border: 0; background: none; color: var(--ink); font-size: 1.4rem !important; }
.dash-dialog-info { display: grid; gap: 6px; margin: 14px 0; padding: 12px; border-radius: 6px; background: var(--dash-soft); font-size: .8rem; }
.dash-dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dark .learning-dashboard { --dash-soft: #303134; --dash-blue: #a9b9c8; }
.dark .dash-streak-days span:nth-child(n+4):nth-child(-n+6) i { color: #fff; }



/* Navegación compacta de la experiencia de aprendizaje. */
body.course-template .icon-rail nav:not(.sinNav) a:first-child,
body.course-template .icon-rail nav:not(.sinNav) a:last-child { display: grid; }
body.course-template .icon-rail nav:not(.sinNav) a.mobile-profile-link { display: none; }
body.course-template .dash-focus { min-height: 265px; min-height: 0; }
body.course-template .dash-focus-image { height: 265px; min-height: 0; }


/* === Foro === */
/* Foro: estructura compartida con la plantilla de cursos */
.forum-view[hidden],
.forum-thread-view[hidden],
.forum-tab-panel[hidden] { display: none; }

.forum-view {
  display: grid;
  gap: var(--course-space);
  max-width: 1500px;
  margin: 0 auto;
  padding-bottom: var(--course-padding);
  color: var(--ink);
}

.forum-view :is(h1, h2, h3, strong, b) { font-weight: var(--course-weight-strong); }
.forum-view :is(button, input, select, textarea),
.forum-thread-view :is(button, input, select, textarea),
.forum-dialog :is(button, input, select, textarea) { font: inherit; }
.forum-view :is(button, a):focus-visible,
.forum-thread-view :is(button, a, select, textarea):focus-visible,
.forum-dialog :is(button, input, select, textarea):focus-visible { outline: 1px solid var(--course-accent); outline-offset: 2px; }

/* Portada y navegación */
.forum-hero {
  position: relative;
  display: flex;
  min-height: 166px;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--course-space);
  overflow: hidden;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--course-radius);
  background: #63212b;
  color: #fff;
}
.forum-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(53, 17, 24, .94), rgba(75, 23, 32, .78) 51%, rgba(48, 19, 24, .12)); }
.forum-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 53%; }
.forum-hero-content,
.forum-join { position: relative; z-index: 1; }
.forum-hero-content { display: flex; align-items: flex-start; gap: var(--course-space); }
.forum-hero-icon { display: grid; width: 54px; height: 54px; flex: none; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: var(--course-radius); background: rgba(255,255,255,.16); }
.forum-hero-icon svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.forum-eyebrow { display: block; margin-bottom: 4px; font-size: var(--course-small); letter-spacing: .06em; text-transform: uppercase; opacity: .85; }
.forum-hero h1 { margin: 0; font-size: var(--course-heading-large); line-height: 1.2; }
.forum-hero p { max-width: 520px; margin: 8px 0 0; font-size: var(--course-text); line-height: 1.5; }
.forum-join { flex: none; padding: 9px 15px; border: 1px solid #fff; border-radius: var(--course-radius); background: #fff; color: #8d1726; font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }
.forum-join[aria-pressed="true"] { background: rgba(255,255,255,.15); color: #fff; }

.forum-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); border-bottom: 1px solid var(--line); }
.forum-tabs { display: flex; flex-wrap: wrap; gap: var(--course-space); }
.forum-tabs button { min-height: 42px; padding: 0 4px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: var(--course-text); cursor: pointer; }
.forum-tabs button[aria-selected="true"] { border-color: var(--course-accent); color: var(--ink); font-weight: var(--course-weight-strong); }
.forum-primary-button,
.forum-secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 7px 12px; border: 1px solid var(--course-accent); border-radius: var(--course-radius); background: var(--course-accent); color: #fff; font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }
.forum-primary-button:hover { filter: brightness(.9); }
.forum-secondary-button { border-color: var(--line); background: var(--panel); color: var(--ink); }
.forum-secondary-button:hover { border-color: var(--course-accent); color: var(--course-accent); }

/* Publicaciones y respuestas */
.forum-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(270px, .8fr); align-items: start; gap: var(--course-space); }
.forum-main,
.forum-sidebar,
.forum-feed { display: grid; align-content: start; gap: var(--course-space); min-width: 0; }
.forum-post-card,
.forum-side-card,
.forum-information-panel { padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.forum-post-card { display: grid; align-content: start; gap: 10px; }
.forum-post-header,
.forum-reply-header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); }
.forum-author { display: flex; align-items: flex-start; gap: var(--course-space); min-width: 0; }
.forum-avatar { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }
.forum-author-details { display: grid; gap: 3px; min-width: 0; }
.forum-author-details strong { font-size: var(--course-text); }
.forum-author-details small,
.forum-post-time,
.forum-post-stats,
.forum-reply-meta { color: var(--muted); font-size: var(--course-small); }
.forum-post-time { flex: none; }
.forum-post-topic { width: fit-content; padding: 4px 8px; border: 1px solid var(--course-accent-soft); border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); }
.forum-post-card h2 { margin: 0; font-size: var(--course-heading); line-height: 1.3; }
.forum-post-link { color: inherit; text-decoration: none; }
.forum-post-link:hover { color: var(--course-accent); text-decoration: underline; }
.forum-post-body,
.forum-reply-body { margin: 0; color: var(--muted); font-size: var(--course-text); line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.forum-post-stats { display: flex; flex-wrap: wrap; gap: var(--course-space); }
.forum-post-stats span { display: inline-flex; align-items: center; gap: 5px; }
.forum-post-stats svg,
.forum-reply-actions svg,
.forum-thread-buttons svg,
.forum-open-thread svg,
.forum-featured-label svg { width: 15px; height: 15px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.forum-replies { display: grid; gap: var(--course-space); }
.forum-reply { display: grid; gap: 8px; padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); }
.forum-reply.is-featured { border-color: var(--course-accent-soft); background: var(--course-accent-soft); }
.forum-reply .forum-avatar { width: 32px; height: 32px; }
.forum-role-badge { margin-left: 6px; padding: 3px 6px; border-radius: var(--course-radius); background: var(--panel); color: var(--course-accent); font-size: var(--course-small); }
.forum-reply-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.forum-reply-actions button,
.forum-text-button { padding: 0; border: 0; background: transparent; color: var(--course-accent); font-size: var(--course-small); cursor: pointer; }
.forum-reply-actions button { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; }
.forum-reply-actions button[aria-pressed="true"] { font-weight: var(--course-weight-strong); }
.forum-featured-label { display: inline-flex; align-items: center; gap: 5px; margin-right: auto; color: #2f8a61; font-size: var(--course-small); }
.forum-replies-preview .forum-reply { padding: 12px; }
.forum-replies-preview .forum-reply-body { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.forum-replies-preview .forum-reply-actions button { display: none; }
.forum-open-thread { display: inline-flex; width: fit-content; min-height: 34px; align-items: center; gap: 7px; color: var(--course-accent); font-size: var(--course-small); font-weight: var(--course-weight-strong); text-decoration: none; }
.forum-open-thread:hover { text-decoration: underline; }
.forum-open-thread > span:last-child { margin-left: 2px; font-size: 1rem; }
.forum-reply-files { display: flex; flex-wrap: wrap; gap: 6px; }
.forum-reply-files span { padding: 4px 6px; border: 1px solid var(--line); border-radius: var(--course-radius); color: var(--muted); font-size: var(--course-small); }
.forum-reply-form { display: grid; align-content: start; gap: 8px; min-width: 0; margin-bottom: 12px; scroll-margin-bottom: 24px; }
.forum-compose-shell { display: grid; gap: 6px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); transition: border-color .3s ease, box-shadow .3s ease; }
.forum-reply-form:focus-within .forum-compose-shell,
.forum-reply-form.has-content .forum-compose-shell,
.forum-reply-form.has-attachment .forum-compose-shell { border-color: var(--course-accent); box-shadow: 0 10px 24px rgba(68, 22, 30, .08); }
.forum-reply-form textarea { width: 100%; min-height: 44px; max-height: 240px; padding: 4px 6px; border: 0; background: transparent; color: var(--ink); font-size: var(--course-text); resize: vertical; transition: min-height .36s cubic-bezier(.2,.8,.2,1); }
.forum-reply-form:focus-within textarea,
.forum-reply-form.has-content textarea,
.forum-reply-form.has-attachment textarea { min-height: 86px; }
.forum-reply-form textarea:focus { outline: none; }
.forum-reply-form textarea::placeholder { color: var(--muted); }
.forum-reply-tools { display: flex; width: 100%; align-items: center; gap: 4px; }
.forum-reply-tools button { display: grid; width: 30px; height: 30px; flex: none; place-items: center; padding: 0; border: 0; border-radius: var(--course-radius); background: transparent; color: var(--muted); cursor: pointer; }
.forum-reply-tools button:hover { background: var(--course-accent-soft); color: var(--course-accent); }
.forum-reply-tools button[type="submit"] { width: 34px; height: 34px; margin-left: auto; border-radius: 50%; background: var(--course-accent); color: #fff; }
.forum-reply-tools button[type="submit"]:hover { background: var(--course-accent-ink); color: #fff; }
.forum-reply-tools svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.forum-selected-files { display: flex; flex-wrap: wrap; gap: 6px; }
.forum-selected-files:empty { display: none; }
.forum-file-chip { display: inline-flex; max-width: min(100%, 310px); min-height: 34px; align-items: center; gap: 7px; padding: 3px 5px 3px 7px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); font-size: var(--course-small); }
.forum-chip-type { display: grid; min-width: 28px; height: 24px; place-items: center; border-radius: 3px; background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: .62rem; font-weight: var(--course-weight-strong); }
.forum-chip-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-file-chip button { width: 24px; height: 24px; flex: none; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 1.1rem; line-height: 1; cursor: pointer; }
.forum-file-chip button:hover { color: var(--course-accent); }
@media (prefers-reduced-motion: reduce) {
  .forum-compose-shell,
  .forum-reply-form textarea { transition: none; }
}
.forum-empty-state { margin: 0; padding: var(--course-padding); border: 1px dashed var(--line); border-radius: var(--course-radius); color: var(--muted); font-size: var(--course-text); }

/* Resumen lateral */
.forum-side-card { display: grid; align-content: start; gap: var(--course-space); }
.forum-side-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); }
.forum-side-card h2 { margin: 0; font-size: var(--course-heading); }
.forum-side-card h2 span { color: var(--muted); }
.forum-avatar-stack { display: flex; flex-wrap: wrap; gap: 5px; }
.forum-avatar-stack .forum-avatar { width: 34px; height: 34px; }
.forum-avatar-more { background: var(--soft); color: var(--ink); }
.forum-topic-list { display: grid; gap: var(--course-space); margin: 0; padding: 0; list-style: none; }
.forum-topic-list li { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: var(--course-text); }
.forum-topic-list b { color: var(--muted); }
.forum-topic-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--course-accent); }
.topic-service { background: #b67232; }
.topic-maintenance { background: #399477; }
.topic-reservations { background: #8065b4; }
.topic-safety { background: #758697; }
.forum-featured-documents { display: grid; gap: var(--course-space); }
.forum-featured-documents a { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: start; gap: 8px; color: var(--ink); }
.forum-featured-documents a:hover strong { color: var(--course-accent); }
.forum-file-icon { display: grid; width: 32px; height: 38px; place-items: center; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }
.forum-featured-documents strong,
.forum-featured-documents small { display: block; }
.forum-featured-documents strong { font-size: var(--course-text); }
.forum-featured-documents small { margin-top: 3px; color: var(--muted); font-size: var(--course-small); }

/* Detalle de un hilo */
.forum-thread-view { display: grid; align-content: start; gap: var(--course-space); max-width: 1500px; margin: 0 auto; padding-bottom: var(--course-padding); color: var(--ink); }
.forum-thread-back { width: fit-content; color: var(--course-accent); font-size: var(--course-text); text-decoration: none; }
.forum-thread-back:hover { text-decoration: underline; }
.forum-thread-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(270px, .8fr); align-items: start; gap: var(--course-space); }
.forum-thread-main, .forum-thread-side { display: grid; align-content: start; gap: var(--course-space); min-width: 0; }
.forum-thread-question { display: grid; align-content: start; gap: var(--course-space); padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.forum-thread-question h1 { margin: 0; font-size: var(--course-detail-heading); line-height: 1.3; }
.forum-thread-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--course-space); }
.forum-thread-buttons { display: flex; flex-wrap: wrap; gap: var(--course-space); }
.forum-thread-buttons button { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--muted); font-size: var(--course-small); cursor: pointer; }
.forum-thread-buttons button:hover, .forum-thread-buttons button[aria-pressed="true"] { color: var(--course-accent); }
.forum-thread-replies-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--course-space); }
.forum-thread-replies-heading h2 { margin: 0; font-size: var(--course-heading); }
.forum-thread-replies-heading label { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: var(--course-small); }
.forum-thread-replies-heading select { max-width: 160px; padding: 6px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); font-size: var(--course-small); }
.forum-thread-replies { display: grid; gap: var(--course-space); }
.forum-thread-replies .forum-reply { background: var(--panel); }
.forum-thread-replies .forum-reply.is-featured { background: var(--course-accent-soft); }
.forum-thread-main > .forum-reply-form { background: transparent; }
.forum-thread-side .forum-side-card { padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.forum-thread-side .forum-side-card header :is(a, button) { padding: 0; border: 0; background: transparent; color: var(--course-accent); font-size: var(--course-small); white-space: nowrap; text-decoration: none; cursor: pointer; }
.forum-thread-side .forum-side-card header :is(a, button):hover { text-decoration: underline; }
.forum-thread-side .forum-featured-documents a { grid-template-columns: 32px minmax(0, 1fr) auto; }
.forum-thread-side .forum-featured-documents a > span:last-child { color: var(--course-accent); }
.forum-related-posts { display: grid; gap: var(--course-space); }
.forum-related-posts a { color: var(--ink); font-size: var(--course-text); text-decoration: none; }
.forum-related-posts a:hover { color: var(--course-accent); }

/* Documentos, preguntas y miembros */
.forum-information-panel { display: grid; align-content: start; gap: var(--course-space); }
.forum-information-panel[hidden] { display: none; }
.forum-information-panel header h2 { margin: 0; font-size: var(--course-heading); }
.forum-information-panel header p { margin: 5px 0 0; color: var(--muted); font-size: var(--course-text); }
.forum-document-grid,
.forum-faq-list,
.forum-member-grid { display: grid; align-content: start; gap: var(--course-space); }
.forum-document-card { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: var(--course-space); padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); color: var(--ink); }
.forum-document-card:hover { border-color: var(--course-accent); }
.forum-document-card strong,
.forum-document-card small { display: block; }
.forum-document-card strong { font-size: var(--course-text); }
.forum-document-card small { margin-top: 4px; color: var(--muted); font-size: var(--course-small); }
.forum-document-action { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: var(--course-radius); color: var(--course-accent); font-size: 1rem; }
.forum-faq-list details { padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); }
.forum-faq-list summary { cursor: pointer; font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.forum-faq-list p { margin: 8px 0 0; color: var(--muted); font-size: var(--course-text); line-height: 1.5; }
.forum-member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.forum-member { display: flex; align-items: flex-start; gap: var(--course-space); padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); }
.forum-member strong,
.forum-member small { display: block; }
.forum-member strong { font-size: var(--course-text); }
.forum-member small { margin-top: 4px; color: var(--muted); font-size: var(--course-small); }

/* Formulario de nueva publicación */
.forum-dialog { width: min(520px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.forum-dialog::backdrop { background: rgba(20, 20, 24, .5); }
.forum-dialog form { display: grid; gap: 8px; padding: var(--course-padding); }
.forum-dialog header,
.forum-dialog footer { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); }
.forum-dialog h2 { margin: 0 0 8px; font-size: var(--course-heading); }
.forum-dialog header button { padding: 0 4px; border: 0; background: transparent; color: var(--muted); font-size: 1.3rem; cursor: pointer; }
.forum-dialog label { font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.forum-dialog input,
.forum-dialog select,
.forum-dialog textarea { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); font-size: var(--course-text); }
.forum-dialog textarea { resize: vertical; }
.forum-dialog-note { margin: 0; color: var(--muted); font-size: var(--course-small); line-height: 1.4; }
.forum-dialog footer { justify-content: flex-end; margin-top: 4px; }

/* Tema oscuro y pantallas pequeñas */
.dark .forum-hero { border-color: var(--line); }
.dark .forum-reply.is-featured { background: #392a2f; border-color: #52343b; }
.dark .forum-avatar-more { background: #35363a; }
.dark .forum-featured-label { color: #8bd1aa; }
.dark .forum-primary-button,
.dark .forum-reply-tools button[type="submit"] { color: #202123; }


/* === Mi perfil === */
/* Perfil: estructura y portada */
.profile-view[hidden],
.profile-tab-panel[hidden] { display: none; }

.profile-view {
  display: grid;
  gap: var(--course-space);
  max-width: 1500px;
  margin: 0 auto;
  padding-bottom: var(--course-padding);
  color: var(--ink);
}
.profile-view :is(button, input, select),
.profile-dialog :is(button, input, select) { font: inherit; }
.profile-view :is(button, a):focus-visible,
.profile-dialog :is(button, input):focus-visible { outline: 1px solid var(--course-accent); outline-offset: 2px; }
.profile-hero { position: relative; display: flex; min-height: 210px; align-items: flex-start; justify-content: space-between; gap: var(--course-space); overflow: hidden; padding: 24px; border: 1px solid var(--line); border-radius: var(--course-radius); background: #4a1a23; color: #fff; }
.profile-hero::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(52, 10, 20, .95), rgba(74, 17, 29, .76) 53%, rgba(48, 20, 26, .18)); }
.profile-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.profile-hero-content,
.profile-edit-button { position: relative; z-index: 1; }
.profile-hero-content { display: flex; align-items: flex-start; gap: 18px; }
.profile-avatar { display: grid; width: 112px; height: 112px; flex: none; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #f6e8ea; color: #8d1726; font-size: 2rem; font-weight: var(--course-weight-strong); }
.profile-hero-details { display: grid; align-content: start; gap: 5px; }
.profile-eyebrow { font-size: var(--course-small); letter-spacing: .06em; text-transform: uppercase; opacity: .82; }
.profile-hero h1 { margin: 0; font-size: var(--course-heading-large); line-height: 1.2; }
.profile-hero p { margin: 0; font-size: var(--course-text); }
.profile-location { opacity: .9; }
.profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.profile-badges span { padding: 4px 8px; border: 1px solid rgba(255,255,255,.4); border-radius: var(--course-radius); background: rgba(255,255,255,.15); font-size: var(--course-small); }
.profile-badges .profile-active-badge { border-color: rgba(143,211,173,.55); background: rgba(31,136,86,.75); }
.profile-edit-button { flex: none; padding: 9px 12px; border: 1px solid #fff; border-radius: var(--course-radius); background: #fff; color: #8d1726; font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }

/* Pestañas y distribución */
.profile-tabs { display: flex; flex-wrap: wrap; gap: var(--course-space); border-bottom: 1px solid var(--line); }
.profile-tabs button { min-height: 42px; padding: 0 4px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); font-size: var(--course-text); cursor: pointer; }
.profile-tabs button[aria-selected="true"] { border-color: var(--course-accent); color: var(--ink); font-weight: var(--course-weight-strong); }
.profile-layout { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(280px, .8fr); align-items: start; gap: var(--course-space); }
.profile-main-column,
.profile-side-column { display: grid; align-content: start; gap: var(--course-space); min-width: 0; }
.profile-panel,
.profile-stat-card,
.profile-section-panel { padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); box-shadow: var(--shadow); }
.profile-panel header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); margin-bottom: var(--course-space); }
.profile-panel h2,
.profile-section-panel h2 { margin: 0; font-size: var(--course-heading); }
.profile-text-button { padding: 0; border: 0; background: transparent; color: var(--course-accent); font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }
.profile-text-button:hover { text-decoration: underline; }

/* Indicadores */
.profile-stat-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--course-space); }
.profile-stat-card { display: grid; align-content: start; gap: 6px;}
.profile-stat-heading { display: flex; align-items: flex-start; gap: 6px; min-width: 0; }
.profile-stat-content { display: grid; align-content: start; gap: 5px; min-width: 0; }
.profile-stat-icon { display: grid; width: 18px; height: 18px; flex: none; place-items: center; background: transparent; color: var(--course-accent-ink); }
.profile-stat-icon svg,
.profile-activity-icon svg,
.profile-badge-dots svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.profile-activity-icon svg { width: 15px; height: 15px; }
.profile-badge-dots svg { width: 13px; height: 13px; }
.profile-stat-card h2 { margin: 0; font-size: var(--course-text); line-height: 1.25; }
.profile-stat-card strong { font-size: var(--course-detail-heading); }
.profile-stat-card small { color: var(--muted); font-size: var(--course-small); }
.profile-stat-card .profile-text-button { justify-self: start; margin-top: 4px; font-size: var(--course-small); }
.profile-progress { display: block; height: 6px; overflow: hidden; border-radius: var(--course-radius); background: #e6e8ed; }
.profile-progress i { display: block; height: 100%; border-radius: inherit; background: var(--course-accent); }
.profile-progress-lessons { width: 30%; }
.profile-progress-evaluations { width: 75%; }
.profile-progress-interaction { width: 75%; }
.profile-progress-interface { width: 62.5%; }
.profile-progress-icons { width: 10%; }
.profile-badge-dots { display: flex; flex-wrap: wrap; gap: 4px; }
.profile-badge-dots span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); }
.profile-badge-dots span:nth-child(2) { background: #f9edda; color: #a46619; }
.profile-badge-dots span:nth-child(3) { background: #e4f2ec; color: #2e8a60; }
.profile-badge-dots span:nth-child(4) { background: #eee8fa; color: #7758ad; }
.profile-badge-dots span:nth-child(5) { background: #e8edf6; color: #4d729b; }

/* Actividad y cursos */
.profile-activity-list { display: grid; gap: var(--course-space); }
.profile-activity-list > div { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: start; gap: var(--course-space); }
.profile-activity-icon { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); }
.profile-activity-icon.is-green { background: #e4f2ec; color: #2e8a60; }
.profile-activity-icon.is-orange { background: #fbefdf; color: #b57922; }
.profile-activity-list p { margin: 3px 0 0; font-size: var(--course-text); line-height: 1.5; }
.profile-activity-list time { margin-top: 3px; color: var(--muted); font-size: var(--course-small); white-space: nowrap; }
.profile-course-list { display: grid; gap: var(--course-space); }
.profile-course-row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: start; gap: var(--course-space); color: var(--ink); }
.profile-course-row + .profile-course-row { padding-top: var(--course-space); border-top: 1px solid var(--line); }
.profile-course-row img { width: 72px; height: 58px; border-radius: var(--course-radius); object-fit: cover; }
.profile-course-row > span { display: grid; gap: 6px; min-width: 0; }
.profile-course-row strong { font-size: var(--course-text); }
.profile-course-row small { color: var(--muted); font-size: var(--course-small); }
.profile-course-row em { padding: 4px 6px; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-style: normal; white-space: nowrap; }
.profile-course-row:hover strong { color: var(--course-accent); }

/* Datos personales y documentos */
.profile-info-list { display: grid; gap:.35rem; margin: 0; }
.profile-info-list > div { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 8px; font-size:.75rem; }
.profile-info-list dt { color: var(--muted); }
.profile-info-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.profile-mentor { display: flex; align-items: flex-start; gap: var(--course-space); }
.profile-mentor-avatar { display: grid; width: 42px; height: 42px; flex: none; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }
.profile-mentor strong,
.profile-mentor small { display: block; }
.profile-mentor strong { font-size: var(--course-text); }
.profile-mentor small,
.profile-mentor-contact { margin: 5px 0 0; color: var(--muted); font-size: var(--course-small); }
.profile-document-list { display: grid; gap: var(--course-space); }
.profile-document-list a { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: start; gap: 8px; color: var(--ink); }
.profile-document-list strong,
.profile-document-list small { display: block; }
.profile-document-list strong { font-size:.75rem; }
.profile-document-list small { margin-top: 3px; color: var(--muted); font-size: var(--course-small); }
.profile-document-list a > span:last-child { color: var(--course-accent); }
.profile-document-list a:hover strong { color: var(--course-accent); }
.profile-file-icon { display: grid; width: 32px; height: 38px; place-items: center; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); font-size: var(--course-small); font-weight: var(--course-weight-strong); }

/* Contenido de las otras pestañas */
.profile-section-panel { display: grid; align-content: start; gap: var(--course-space); }
.profile-section-panel[hidden] { display: none; }
.profile-section-panel header p { margin: 5px 0 0; color: var(--muted); font-size: var(--course-text); }
.profile-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--course-space); }
.profile-course-grid a { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-content: start; gap: 4px var(--course-space); padding: 8px; border: 1px solid var(--line); border-radius: var(--course-radius); color: var(--ink); }
.profile-course-grid a:hover { border-color: var(--course-accent); }
.profile-course-grid img { grid-row: span 2; width: 90px; height: 72px; border-radius: var(--course-radius); object-fit: cover; }
.profile-course-grid strong { align-self: end; font-size: var(--course-text); }
.profile-course-grid small { color: var(--muted); font-size: var(--course-small); }
.profile-simple-list { display: grid; gap: var(--course-space); }
.profile-simple-list > div,
.profile-community-card { display: flex; align-items: flex-start; gap: var(--course-space); padding: var(--course-padding); border: 1px solid var(--line); border-radius: var(--course-radius); }
.profile-list-icon { display: grid; width: 30px; height: 30px; flex: none; place-items: center; border-radius: var(--course-radius); background: var(--course-accent-soft); color: var(--course-accent-ink); }
.profile-simple-list strong,
.profile-simple-list small { display: block; }
.profile-simple-list strong,
.profile-community-card strong { font-size: var(--course-text); }
.profile-simple-list small { margin-top: 4px; color: var(--muted); font-size: var(--course-small); }
.profile-community-card p { margin: 6px 0; color: var(--muted); font-size: var(--course-text); }
.profile-community-card a { color: var(--course-accent); font-size: var(--course-text); font-weight: var(--course-weight-strong); }

/* Edición del perfil */
.profile-dialog { width: min(480px, calc(100vw - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); box-shadow: 0 20px 60px rgba(0,0,0,.2); }
.profile-dialog::backdrop { background: rgba(20,20,24,.5); }
.profile-dialog form { display: grid; gap: 8px; padding: var(--course-padding); }
.profile-dialog header,
.profile-dialog footer { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--course-space); }
.profile-dialog h2 { margin: 0 0 8px; font-size: var(--course-heading); }
.profile-dialog header button { padding: 0 4px; border: 0; background: transparent; color: var(--muted); font-size: 1.3rem; cursor: pointer; }
.profile-dialog label { font-size: var(--course-text); font-weight: var(--course-weight-strong); }
.profile-dialog input { width: 100%; padding: 9px 10px; border: 1px solid var(--line); border-radius: var(--course-radius); background: var(--panel); color: var(--ink); font-size: var(--course-text); }
.profile-dialog footer { justify-content: flex-end; margin-top: 4px; }
.profile-primary-button,
.profile-secondary-button { min-height: 34px; padding: 7px 12px; border: 1px solid var(--course-accent); border-radius: var(--course-radius); background: var(--course-accent); color: #fff; font-size: var(--course-text); font-weight: var(--course-weight-strong); cursor: pointer; }
.profile-secondary-button { border-color: var(--line); background: var(--panel); color: var(--ink); }

/* Tema oscuro y diseño adaptable */
.dark .profile-progress { background: #3a4351; }
.dark .profile-badge-dots span { background: #403037; color: #f4a0aa; }
.dark .profile-activity-icon.is-green { background: #284638; color: #8bd1aa; }
.dark .profile-activity-icon.is-orange { background: #4a3926; color: #f4bd73; }
.dark .profile-primary-button { color: #202123; }

/* === Navegación por módulos del colaborador === */
.side-module[hidden], .module-page[hidden] { display: none; }
.side-module a:first-of-type {
  margin-bottom: 1rem;
}
.side-module { display: grid; align-content: start; gap: 4px; }
body.course-template .side-module a svg[stroke="currentColor"] { stroke: currentColor; }
body.course-template .module-rail-nav a:nth-child(1) { order: 1; }
body.course-template .module-rail-nav a:nth-child(2) { order: 2; }
body.course-template .module-rail-nav a:nth-child(3) { order: 3; }
body.course-template .module-rail-nav a:nth-child(4) { order: 4; }
body.course-template .module-rail-nav a:nth-child(5) { order: 5; }
body.course-template .icon-rail .module-rail-nav a.active { background: rgba(255,255,255,.17); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
body.course-template .icon-rail .module-rail-nav { gap: 7px; }
body.course-template .icon-rail nav.module-rail-nav a:nth-child(n) { display: flex; flex-direction: column; justify-content: center; gap: 3px; width: 43px; height: 46px; }
body.course-template .icon-rail nav.module-rail-nav a > span { display: block; font-size: .54rem; font-weight: 400; line-height: 1; white-space: nowrap; }
body.course-template .profile-tabs, body.course-template .forum-tabs { display: none; }

/* === Páginas secundarias de perfil, foro, cursos y evaluaciones === */
.module-page { display: grid; align-content: start; gap: 12px; min-width: 0; color: var(--ink); font-size: .8rem; }
.module-page :is(h1,h2,h3,strong,b) { font-weight: 500; }
.module-page :is(h1,h2,p) { margin-top: 0; }
.module-page p { line-height: 1.5; }
.module-page-header { display: flex; align-items: end; justify-content: space-between; gap: 12px; min-height: 122px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); }
.module-page-header h1 { margin: 5px 0 6px; font-size: 1.6rem; line-height: 1.2; }
.module-page-header p { max-width: 650px; margin-bottom: 0; color: var(--muted); }
.module-page-header--courses { min-height: 166px; align-items: end; background: linear-gradient(90deg, rgba(37, 23, 28, .95), rgba(49, 27, 33, .76) 49%, rgba(49, 27, 33, .25)), url('assets/courses/learning-hero-hospitality.webp') center 43% / cover no-repeat; color: #fff; }
.module-page-header--courses .module-kicker { color: #f1d7dc; }
.module-page-header--courses h1 { color: #fff; }
.module-page-header--courses p { color: rgba(255,255,255,.88); }
.module-page-header--courses .module-primary { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.93); color: var(--brand-accent); }
.module-page-header--courses .module-primary:hover { background: #fff; }
.module-kicker { color: var(--brand-accent); font-size: .68rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.module-primary, .module-secondary { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; flex: none; padding: 7px 12px; border: 1px solid var(--brand-accent); border-radius: 6px; background: var(--brand-accent); color: #fff; font: inherit; font-weight: 500; text-align: center; cursor: pointer; }
.module-secondary { border-color: var(--line); background: var(--panel); color: var(--ink); }
.module-primary:hover { background: var(--brand-accent-hover); }
.module-secondary:hover { border-color: var(--brand-accent); color: var(--brand-accent); }
.module-page a:focus-visible, .module-page button:focus-visible, .module-page input:focus-visible { outline: 1px solid var(--brand-accent); outline-offset: 2px; }
.module-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 12px; }
.module-card, .module-course-card, .module-thread-list > a, .module-resource, .module-empty { border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: var(--shadow); }
.module-card { min-width: 0; padding: 18px; }
.module-card h2 { margin: 0 0 12px; font-size: 1rem; }
.module-note { margin: 14px 0 0; color: var(--muted); font-size: .7rem; }
.module-data-list { display: grid; gap: 0; margin: 0; }
.module-data-list > div { display: grid; grid-template-columns: minmax(100px,.5fr) 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.module-data-list > div:last-child { border-bottom: 0; }
.module-data-list dt { color: var(--muted); }
.module-data-list dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 500; }
.module-location-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.8fr); align-items: stretch; gap: 12px; }
.module-map { position: relative; min-height: 330px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: repeating-linear-gradient(0deg,#e8e4de 0 34px,#ece9e4 35px 66px); }
.module-map::before, .module-map::after { position: absolute; content: ''; background: #d7d2ca; transform: rotate(-18deg); }
.module-map::before { inset: 44% -10% auto; height: 27px; }
.module-map::after { top: -20%; left: 27%; width: 20px; height: 150%; }
.module-map-road { position: absolute; z-index: 1; width: 120%; height: 9px; background: #fff; transform-origin: left; }
.module-map-road.road-one { top: 23%; left: -5%; transform: rotate(10deg); }
.module-map-road.road-two { top: 70%; left: -4%; transform: rotate(-17deg); }
.module-map-road.road-three { top: -10%; left: 65%; width: 9px; height: 140%; transform: rotate(19deg); }
.module-map-water { position: absolute; z-index: 1; top: -16%; right: -10%; width: 31%; height: 150%; border-radius: 45%; background: #c8d9d8; transform: rotate(18deg); }
.module-map-marker { position: absolute; z-index: 3; top: 43%; left: 45%; display: grid; width: 45px; height: 45px; place-items: center; border: 3px solid #fff; border-radius: 50%; background: var(--brand-accent); box-shadow: 0 8px 20px rgba(80,24,33,.25); color: #fff; font-size: 1.5rem; }
.module-map-label { position: absolute; z-index: 3; top: calc(43% + 50px); left: 40%; padding: 6px 9px; border-radius: 6px; background: var(--panel); color: var(--ink); font-size: .72rem; font-weight: 500; }
.module-card h2 small { margin-left: 8px; color: var(--muted); font-size: .68rem; font-weight: 400; }
.module-address-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.module-address-fields label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; }
.module-address-fields input { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--shell); color: var(--ink); font: inherit; font-size: .78rem; }
.module-timeline { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.module-timeline li { display: grid; grid-template-columns: 58px 1fr; gap: 2px 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.module-timeline li:last-child { border: 0; padding-bottom: 0; }
.module-timeline span { grid-row: span 2; color: var(--brand-accent); font-size: .7rem; }
.module-timeline small { color: var(--muted); }
.module-badges { display: grid; gap: 10px; }
.module-badges > div { display: grid; grid-template-columns: 32px 1fr; gap: 0 10px; align-items: center; }
.module-badges span { grid-row: span 2; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--brand-accent-soft); color: var(--brand-accent); }
.module-badges small { color: var(--muted); }
.module-preferences { max-width: 800px; }
.module-preferences > label, .module-preference-theme { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.module-preferences > label:first-child { padding-top: 0; }
.module-preferences > label span, .module-preference-theme > span { display: grid; gap: 4px; }
.module-preferences small { color: var(--muted); }
.module-preferences input { width: 20px; height: 20px; flex: none; accent-color: var(--brand-accent); }
.module-save-status { margin: 12px 0 0; color: var(--brand-accent); font-size: .74rem; }

/* Interiores de Mi perfil: identidad compartida y contenido compacto. */
.module-profile-page .profile-hero { min-height: 210px; }
.profile-interior-heading { padding: 2px 1px 0; }
.profile-interior-heading h2 { margin: 0 0 4px; font-size: 1.05rem; line-height: 1.3; }
.profile-interior-heading p { margin: 0; color: var(--muted); font-size: .75rem; }
.profile-detail-grid { align-items: stretch; }
.profile-detail-card-head { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.profile-detail-card-head > div { min-width: 0; }
.profile-detail-card-head h3 { margin: 0 0 3px; font-size: .88rem; line-height: 1.3; }
.profile-detail-card-head p { margin: 0; color: var(--muted); font-size: .7rem; }
.profile-detail-icon { display: grid; width: 36px; height: 36px; flex: none; place-items: center; border-radius: 6px; background: var(--brand-accent-soft); color: var(--brand-accent); }
.profile-detail-icon svg.ui-icon { width: 18px; height: 18px; stroke-width: 1.75; }
.profile-detail-card .module-data-list > div { padding: 12px 0; }
.profile-detail-note { display: flex; align-items: flex-start; gap: 7px; padding: 9px 10px; border-radius: 6px; background: var(--soft); }
.profile-detail-note svg.ui-icon { width: 15px; height: 15px; flex: none; color: var(--brand-accent); }
.profile-location-layout { grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); align-items: start; }
.profile-location-layout .module-map, .profile-location-card { min-height: 244px; }
.module-map-caption { position: absolute; z-index: 3; bottom: 12px; left: 12px; padding: 5px 8px; border-radius: 6px; background: var(--panel); color: var(--muted); font-size: .68rem; }
.profile-location-card h3 { margin: 5px 0 2px; font-size: 1rem; }
.profile-location-region { margin: 0 0 10px; color: var(--muted); font-size: .74rem; }
.profile-location-card .module-data-list > div { padding: 9px 0; }
.profile-address-card .profile-detail-card-head { margin-bottom: 13px; }
.profile-activity-grid {grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);}
.profile-activity-grid .module-card { align-self: start; }
.profile-activity-grid .module-timeline { gap: 0; }
.profile-activity-grid .module-timeline li { grid-template-columns: 43px 28px minmax(0,1fr); gap: 2px 10px; padding: 11px 0; }
.profile-activity-grid .module-timeline li:first-child { padding-top: 2px; }
.profile-activity-grid .module-timeline li > span { grid-row: 1 / 3; padding-top: 6px; color: var(--muted); }
.profile-activity-grid .module-timeline li > i { grid-row: 1 / 3; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 6px; background: var(--brand-accent-soft); color: var(--brand-accent); font-style: normal; }
.profile-activity-grid .module-timeline li > i svg.ui-icon { width: 15px; height: 15px; }
.profile-activity-grid .module-timeline strong { font-size: .76rem; }
.profile-activity-grid .module-timeline small { font-size: .69rem; }
.profile-activity-grid .module-badges { gap: 8px; }
.profile-activity-grid .module-badges > div { padding: 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--soft); }
.profile-activity-grid .module-badges span { border-radius: 6px; background: var(--panel); }
.profile-activity-grid .module-badges span svg.ui-icon { width: 17px; height: 17px; }
.profile-preference-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); align-items: start; gap: 12px; }
.profile-preference-layout .module-preferences { max-width: none; }
.profile-preference-layout .profile-detail-card-head { margin-bottom: 2px; }
.module-preference-list > label { display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.module-preference-list > label:last-child { border-bottom: 0; }
.module-preference-list > label > span { display: grid; gap: 3px; }
.module-preference-list small, .module-appearance small { color: var(--muted); }
.module-preference-list input[type="checkbox"] { position: relative; width: 40px; height: 23px; flex: none; margin: 0; appearance: none; border: 1px solid var(--line); border-radius: 14px; background: var(--line); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.module-preference-list input[type="checkbox"]::after { position: absolute; top: 2px; left: 2px; width: 17px; height: 17px; border-radius: 50%; background: var(--panel); box-shadow: 0 1px 3px rgba(0,0,0,.16); content: ''; transition: transform .2s ease; }
.module-preference-list input[type="checkbox"]:checked { border-color: var(--brand-accent); background: var(--brand-accent); }
.module-preference-list input[type="checkbox"]:checked::after { transform: translateX(17px); }
.profile-preference-layout .module-preference-theme { align-items: flex-start; flex-direction: column; gap: 14px; padding: 12px 0 0; border-bottom: 0; }
.profile-preference-layout .module-preference-theme > span { display: grid; gap: 4px; }
.profile-preference-layout .module-save-status:empty { display: none; }
.module-thread-list, .module-course-list { display: grid; gap: 12px; }
.module-thread-list > a { position: relative; display: grid; gap: 5px; padding: 16px 44px 16px 18px; }
.module-thread-list strong { font-size: .93rem; }
.module-thread-list small { display: -webkit-box; overflow: hidden; color:#4e4e4e; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.module-card-arrow { position: absolute; top: 18px; right: 18px; color: var(--brand-accent); font-size: 1rem; }
.module-thread-list > a:hover, .module-course-card:hover, .module-resource:hover { border-color: var(--brand-accent); }

/* Colecciones personales del foro. */
.forum-collection-hero { --course-space: 12px; --course-radius: 6px; --course-small: .7rem; --course-text: .8rem; --course-heading-large: 1.5rem; min-height: 166px; align-items: flex-end; border-radius: 6px; }
.forum-collection-hero .forum-hero-content { align-items: flex-start; }
.forum-collection-hero-count { position: relative; z-index: 1; display: grid; gap: 2px; min-width: 134px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.38); border-radius: 6px; background: rgba(31,19,22,.45); backdrop-filter: blur(8px); }
.forum-collection-hero-count strong { font-size: 1.4rem; line-height: 1; font-weight: 500; }
.forum-collection-hero-count span { font-size: .69rem; line-height: 1.3; }
.forum-collection-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(250px,.8fr); align-items: start; gap: 12px; }
.forum-collection-panel,.forum-collection-aside { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: var(--shadow); }
.forum-collection-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.forum-collection-panel-head h2,.forum-collection-aside h2 { margin: 4px 0 0; font-size: 1rem; line-height: 1.3; }
.forum-collection-count { flex: none; color: var(--muted); font-size: .69rem; }
.forum-collection-empty { display: grid; justify-items: start; align-content: center; gap: 8px; min-height: 222px; padding: 25px; border: 1px dashed var(--line); border-radius: 6px; background: color-mix(in srgb,var(--panel) 94%,var(--brand-accent) 6%); }
.forum-collection-empty-icon { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--brand-accent); border-radius: 6px; color: var(--brand-accent); }
.forum-collection-empty-icon svg.ui-icon { width: 18px; height: 18px; }
.forum-collection-empty h3 { margin: 2px 0 0; font-size: .94rem; line-height: 1.3; }
.forum-collection-empty p { max-width: 400px; margin: 0; color: var(--muted); font-size: .73rem; }
.forum-collection-empty a,.forum-collection-forum-link,.forum-collection-item-action { display: inline-flex; align-items: center; gap: 6px; color: var(--brand-accent); font-size: .72rem; font-weight: 500; text-decoration: none; }
.forum-collection-empty a { margin-top: 3px; }
.forum-collection-empty a svg.ui-icon,.forum-collection-forum-link svg.ui-icon,.forum-collection-item-action svg.ui-icon { width: 15px; height: 15px; }
.forum-collection-list { display: grid; gap: 8px; }
.forum-collection-item { display: grid; gap: 6px; padding: 15px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); transition: border-color .18s ease, transform .18s ease; }
.forum-collection-item:hover { transform: translateY(-1px); border-color: var(--brand-accent); }
.forum-collection-item-meta { color: var(--brand-accent); font-size: .67rem; }
.forum-collection-item strong { font-size: .88rem; line-height: 1.35; }
.forum-collection-item p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: .73rem; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.forum-collection-item-action { margin-top: 3px; }
.forum-collection-aside > p { margin: 7px 0 16px; color: var(--muted); font-size: .72rem; }
.forum-collection-suggestions { display: grid; border-top: 1px solid var(--line); }
.forum-collection-suggestions a { position: relative; display: grid; gap: 4px; padding: 13px 22px 13px 0; border-bottom: 1px solid var(--line); }
.forum-collection-suggestions a > span:first-child { color: var(--brand-accent); font-size: .66rem; }
.forum-collection-suggestions strong { font-size: .76rem; line-height: 1.35; }
.forum-collection-suggestion-arrow { position: absolute; top: 17px; right: 0; color: var(--muted); }
.forum-collection-suggestion-arrow svg.ui-icon { width: 15px; height: 15px; }
.forum-collection-forum-link { margin-top: 15px; }
.forum-collection-all { padding: 13px 0; border-top: 1px solid var(--line); }
.forum-mine-item-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 5px 12px; margin-top: 4px; }
.forum-mine-item-footer small { color: var(--muted); font-size: .68rem; }
.forum-mine-item-footer .forum-collection-item-action { margin-top: 0; }
.forum-mine-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.forum-mine-summary > div { display: grid; align-content: start; gap: 3px; }
.forum-mine-summary strong { font-size: 1.25rem; line-height: 1; }
.forum-mine-summary span { color: var(--muted); font-size: .68rem; line-height: 1.3; }
body.course-template.dark .forum-collection-empty-icon,body.course-template.dark :is(.forum-collection-empty a,.forum-collection-forum-link,.forum-collection-item-action,.forum-collection-item-meta,.forum-collection-suggestions a > span:first-child) { color: #f08a95; }
body.course-template.dark .forum-collection-layout .module-kicker { color: #f08a95; }
body.course-template.dark .forum-collection-empty-icon { border-color: #f08a95; }
body.course-template.dark .forum-collection-item:hover { border-color: #f08a95; }
.module-course-card { position: relative; display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 16px; min-height: 138px; padding: 10px 44px 10px 10px; }
.module-course-card img { width: 150px; height: 118px; border-radius: 6px; object-fit: cover; }
.module-course-card h2 { margin: 5px 0; font-size: 1rem; }
.module-course-card p { margin-bottom: 14px; color: var(--muted); }
.module-course-progress { display: flex; align-items: center; gap: 10px; }
.module-course-progress > span { display: block; width: min(180px,45%); height: 6px; overflow: hidden; border-radius: 6px; background: var(--line); }
.module-course-progress i { display: block; height: 100%; border-radius: 6px; background: var(--brand-accent); }
.module-fill-75 { width: 75%; }.module-fill-63 { width: 63%; }.module-fill-10 { width: 10%; }.module-fill-0 { width: 0; }
.module-course-progress small { color: var(--muted); }
.module-empty { display: grid; justify-items: start; gap: 8px; padding: 32px; }
.module-empty > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--brand-accent-soft); color: var(--brand-accent); font-size: 1.2rem; }
.module-empty h2 { margin: 0; font-size: 1.1rem; }
.module-empty p { margin: 0; color: var(--muted); }
.module-empty a { margin-top: 5px; color: var(--brand-accent); font-weight: 500; }
.module-resource-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.module-resource { display: grid; align-content: start; gap: 9px; min-height: 165px; padding: 16px; }
.module-resource > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 6px; background: var(--brand-accent-soft); color: var(--brand-accent); font-size: .7rem; font-weight: 500; }
.module-resource small { color: var(--muted); }
.module-resource b { margin-top: auto; color: var(--brand-accent); font-size: .72rem; }
/* Evaluaciones: vista de asignaciones, filtros y detalle */
.evaluation-hub, .evaluation-detail { display: grid; gap: 14px; min-width: 0; }
.evaluation-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 305px); align-items: end; gap: 20px; min-height: 178px; padding: 23px 25px; overflow: hidden; border-radius: 6px; color: #fff; background: linear-gradient(90deg, rgba(14,24,28,.82), rgba(14,24,28,.49) 54%, rgba(14,24,28,.34)), url('assets/landing-hospitality.webp') center 52% / cover; }
.evaluation-hero-copy, .evaluation-hero-note { position: relative; z-index: 1; }
.evaluation-eyebrow, .evaluation-hero-note > span { font-size: .63rem; letter-spacing: .13em; font-weight: 500; }
.evaluation-hero h1 { margin: 10px 0 6px; color: #fff; font-size: clamp(1.55rem, 2.6vw, 2rem); line-height: 1.1; font-weight: 500; }
.evaluation-hero p { max-width: 470px; margin: 0; color: rgba(255,255,255,.88); font-size: .78rem; line-height: 1.45; }
.evaluation-hero-note { display: grid; gap: 9px; align-content: center; min-height: 111px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; background: rgba(20,27,30,.58); backdrop-filter: blur(10px); }
.evaluation-hero-note strong { max-width: 215px; font-size: .79rem; line-height: 1.4; font-weight: 500; }
.evaluation-hero-note svg { position: absolute; right: 17px; bottom: 17px; width: 40px; stroke: #f5c1c7; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.evaluation-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 13px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); scrollbar-width: none; }
.evaluation-tabs::-webkit-scrollbar { display: none; }
.evaluation-tabs a { position: relative; flex: none; padding: 13px 15px; color: var(--muted); font-size: .75rem; text-decoration: none; white-space: nowrap; transition: color .18s ease; }
.evaluation-tabs a::after { content: ''; position: absolute; right: 15px; bottom: 0; left: 15px; height: 2px; border-radius: 2px; background: var(--brand-accent); transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.evaluation-tabs a:hover, .evaluation-tabs a[aria-current="page"] { color: var(--brand-accent); }
.evaluation-tabs a[aria-current="page"]::after { transform: scaleX(1); }
.evaluation-overview { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.evaluation-metric { display: grid; grid-template-rows: auto 1fr; align-content: start; min-width: 0; min-height: 70px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: var(--shadow); }
.evaluation-metric-label { display: flex; align-items: center; gap: 7px; min-width: 0; color: var(--muted); font-size: .64rem; font-weight: 500; letter-spacing: .025em; text-transform: uppercase; }
.evaluation-metric-icon { display: inline-flex; width: 16px; height: 16px; flex: none; align-items: center; justify-content: center; color: var(--brand-accent); }
body.course-template .evaluation-metric-icon svg.ui-icon { width: 15px; height: 15px; stroke-width: 1.65; }
.evaluation-metric-value { display: flex; min-width: 0; align-items: flex-end; gap: 7px; margin-top: 11px; }
.evaluation-metric-value strong { color: var(--ink); font-size: 1.36rem; line-height: 1; font-weight: 500; }
.evaluation-metric-value small { margin-bottom: 2px; color: var(--muted); font-size: .66rem; line-height: 1.1; white-space: nowrap; }
.evaluation-metric-value .evaluation-progress { width: 56px; height: 4px; flex: 0 0 56px; align-self: center; margin-left: 4px; margin-top: 7px;}
.evaluation-row-icon, .evaluation-detail-icon, .evaluation-complete-mark { display: grid; flex: none; place-items: center; color: var(--brand-accent); background: var(--brand-accent-soft); }
.evaluation-progress { display: block; width: 100%; height: 5px; overflow: hidden; border: 0; border-radius: 6px; background: var(--line); appearance: none; }
.evaluation-progress::-webkit-progress-bar { border-radius: 6px; background: var(--line); }
.evaluation-progress::-webkit-progress-value { border-radius: 6px; background: var(--brand-accent); transition: width .25s ease; }
.evaluation-progress::-moz-progress-bar { border-radius: 6px; background: var(--brand-accent); }
.evaluation-list-panel, .evaluation-learning-history { padding: 18px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: var(--shadow); }
.evaluation-filters { display: grid; grid-template-columns: minmax(150px,1fr) minmax(120px,.65fr) minmax(190px,1.15fr); gap: 11px; margin-bottom: 19px; }
.evaluation-filters label { display: grid; gap: 5px; color: var(--muted); font-size: .66rem; }
.evaluation-filters :is(select,input) { width: 100%; height: 37px; min-width: 0; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; outline: 0; background: var(--panel); color: var(--ink); font: inherit; font-size: .76rem; transition: border-color .18s ease, box-shadow .18s ease; }
.evaluation-filters :is(select,input):focus { border-color: var(--brand-accent); box-shadow: 0 0 0 2px rgba(170,31,46,.1); }
.evaluation-filters input::placeholder { color: var(--muted); }
.evaluation-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.evaluation-list-heading h2, .evaluation-learning-history h2 { margin: 3px 0 0; color: var(--ink); font-size: 1rem; font-weight: 500; }
.evaluation-result-count { color: var(--muted); font-size: .7rem; }
.evaluation-rows { display: grid; gap: 7px; }
.evaluation-row { display: grid; grid-template-columns: minmax(215px,2.4fr) minmax(65px,.7fr) minmax(93px,.8fr) minmax(80px,.8fr) minmax(83px,.85fr) minmax(92px,.8fr); align-items: center; gap: 9px; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.evaluation-row:hover { transform: translateY(-1px); border-color: #cdb9bc; box-shadow: 0 5px 16px rgba(28,20,22,.055); }
.evaluation-row-main { display: flex; align-items: center; gap: 10px; min-width: 0; }
.evaluation-row-icon { width: 39px; height: 39px; border-radius: 6px; }
.evaluation-row-icon svg { width: 21px; height: 21px; }
.evaluation-row-main > div { min-width: 0; }
.evaluation-row h3 { margin: 0 0 3px; color: var(--ink); font-size: .77rem; font-weight: 500; line-height: 1.3; }
.evaluation-row p { display: -webkit-box; overflow: hidden; margin: 0; color: var(--muted); font-size: .67rem; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.evaluation-kind { color: var(--muted); font-size: .68rem; }
.evaluation-status { display: inline-flex; align-items: center; justify-self: start; gap: 6px; padding: 6px 8px; border-radius: 6px; background: #f7f0e6; color: #865b22; font-size: .66rem; white-space: nowrap; }
.evaluation-status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.evaluation-status.is-progress { background: var(--brand-accent-soft); color: var(--brand-accent); }
.evaluation-status.is-completed { background: #eaf4ed; color: #35724c; }
.evaluation-status.is-unassigned { background: var(--soft); color: var(--muted); }
.evaluation-row-date { display: grid; gap: 2px; font-size: .67rem; }
.evaluation-row-date small { color: var(--muted); font-size: .63rem; }
.evaluation-row-date strong { font-weight: 500; white-space: nowrap; }
.evaluation-row-progress { display: flex; align-items: center; gap: 6px; min-width: 0; }
.evaluation-row-progress .evaluation-progress { flex: 1; min-width: 30px; }
.evaluation-row-progress small { color: var(--muted); font-size: .65rem; }
.evaluation-progress-empty { color: var(--muted); }
.evaluation-row-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 35px; padding: 6px 8px; border: 1px solid var(--brand-accent); border-radius: 6px; background: var(--brand-accent); color: #fff; font-size: .69rem; font-weight: 500; text-decoration: none; white-space: nowrap; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.evaluation-row-button svg, .evaluation-form-footer button svg { width: 15px; height: 15px; flex: none; }
.evaluation-form-footer button { gap: 6px; }
.evaluation-row-button:hover { transform: translateY(-1px); background: var(--brand-accent-hover); border-color: var(--brand-accent-hover); color: #fff; }
.evaluation-row-button.is-secondary { background: var(--panel); color: var(--brand-accent); }
.evaluation-row-button.is-secondary:hover { background: var(--brand-accent-soft); color: var(--brand-accent); }
.evaluation-row-button.is-disabled { border-color: var(--line); background: var(--soft); color: var(--muted); }
.evaluation-no-results { display: grid; justify-items: start; gap: 7px; padding: 25px; border: 1px dashed var(--line); border-radius: 6px; }
.evaluation-no-results svg { width: 25px; height: 25px; color: var(--brand-accent); }
.evaluation-no-results strong { font-size: .83rem; font-weight: 500; }
.evaluation-no-results p { margin: 0; color: var(--muted); font-size: .74rem; }
.evaluation-no-results button { margin-top: 5px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--brand-accent); font: inherit; font-size: .7rem; cursor: pointer; }
.evaluation-learning-history { display: grid; grid-template-columns: minmax(180px,1fr) minmax(280px,1.4fr); gap: 14px; }
.evaluation-learning-history p { max-width: 350px; margin: 7px 0 0; color: var(--muted); font-size: .73rem; }
.evaluation-learning-results { display: grid; gap: 7px; }
.evaluation-learning-results > span { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: .72rem; }
.evaluation-learning-results > span:last-child { border: 0; }
.evaluation-learning-results strong { color: var(--brand-accent); font-weight: 500; white-space: nowrap; }
.evaluation-back { justify-self: start; color: var(--brand-accent); font-size: .73rem; text-decoration: none; }
.evaluation-back:hover span { text-decoration: underline; }
.evaluation-detail-head { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); }
.evaluation-detail-icon { width: 48px; height: 48px; border-radius: 6px; }
.evaluation-detail-icon svg { width: 25px; height: 25px; }
.evaluation-detail-copy { flex: 1; min-width: 0; }
.evaluation-detail-head h1 { margin: 4px 0; color: var(--ink); font-size: 1.3rem; font-weight: 500; }
.evaluation-detail-head p { margin: 0; color: var(--muted); font-size: .77rem; }
.evaluation-detail-layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(235px,.7fr); align-items: start; gap: 12px; }
.evaluation-detail-main { min-width: 0; padding: 20px; }
.evaluation-question-intro { margin-bottom: 14px; }
.evaluation-question-intro h2 { margin: 4px 0; font-size: 1rem; }
.evaluation-question-intro p, .evaluation-detail-aside p { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.5; }
.module-evaluation-form { display: grid; gap: 14px; }
.module-evaluation-form fieldset { min-width: 0; padding: 0 0 14px; border: 0; border-bottom: 1px solid var(--line); }
.module-evaluation-form legend { display: flex; align-items: baseline; gap: 10px; margin-bottom: 11px; font-size: .78rem; font-weight: 500; }
.module-evaluation-form legend span { color: var(--brand-accent); font-size: .68rem; }
.module-scale { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.module-scale > span { color: var(--muted); font-size: .68rem; }
.module-scale label { cursor: pointer; }
.module-scale input { position: absolute; opacity: 0; }
.module-scale label span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--line); border-radius: 6px; font-size: .71rem; transition: border-color .18s ease, background .18s ease; }
.module-scale input:checked + span { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; }
.module-scale input:focus-visible + span { outline: 1px solid var(--brand-accent); outline-offset: 2px; }
.evaluation-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.evaluation-form-footer > span { max-width: 220px; color: var(--muted); font-size: .67rem; }
.evaluation-detail-aside { display: grid; gap: 12px; padding: 20px; }
.evaluation-detail-aside > strong { font-size: 1.6rem; line-height: 1; font-weight: 500; }
.evaluation-detail-facts { display: grid; gap: 11px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evaluation-detail-facts > span { display: flex; justify-content: space-between; gap: 10px; font-size: .72rem; }
.evaluation-detail-facts small { color: var(--muted); font-size: .7rem; }
.evaluation-detail-facts b { font-weight: 500; }
.evaluation-complete { display: grid; justify-items: start; gap: 12px; }
.evaluation-complete-mark { width: 47px; height: 47px; border-radius: 6px; }
.evaluation-complete-mark svg { width: 26px; height: 26px; }
.evaluation-complete h2 { margin: 0; font-size: 1.08rem; }
.evaluation-complete p { max-width: 450px; margin: 0; color: var(--muted); font-size: .75rem; }
.evaluation-complete-summary { display: flex; gap: 20px; padding: 10px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evaluation-complete-summary span { display: grid; gap: 3px; color: var(--muted); font-size: .67rem; }
.evaluation-complete-summary strong { color: var(--ink); font-size: .75rem; font-weight: 500; }
body.course-template.dark :is(.evaluation-tabs,.evaluation-metric,.evaluation-list-panel,.evaluation-learning-history,.evaluation-row,.evaluation-detail-head) { border-color: var(--line); background: var(--panel); }
body.course-template.dark .evaluation-status.is-completed { background: #20392b; color: #a7d6b6; }
body.course-template.dark .evaluation-status.is-pending { background: #423727; color: #f0c999; }
body.course-template.dark .evaluation-metric-icon { color: #f4a0aa; }
body.course-template.dark .evaluation-row-icon, body.course-template.dark .evaluation-detail-icon, body.course-template.dark .evaluation-complete-mark { background: #403037; color: #f4a0aa; }
@media (max-width: 1240px) and (min-width: 761px) { .evaluation-row { grid-template-columns: minmax(190px,2.2fr) minmax(80px,.8fr) minmax(80px,.8fr) minmax(85px,.9fr); } .evaluation-kind, .evaluation-row-progress { display: none; } }
@media (prefers-reduced-motion: reduce) { .evaluation-row, .evaluation-row-button, .evaluation-tabs a, .evaluation-tabs a::after, .evaluation-progress::-webkit-progress-value { transition: none; } .evaluation-row:hover, .evaluation-row-button:hover { transform: none; } }
body.course-template.dark .module-page-header:not(.module-page-header--courses), body.course-template.dark .module-card, body.course-template.dark .module-course-card, body.course-template.dark .module-thread-list > a, body.course-template.dark .module-resource, body.course-template.dark .module-empty { border-color: #514247; background: var(--panel); }
body.course-template.dark .module-page-header--courses { border-color: var(--line); }

/* Certificaciones: visor de una hoja y documento imprimible. */
.certificate-view { display: grid; gap: 12px; min-width: 0; }
.certificate-viewer-head { display: flex; min-height: 150px; align-items: end; justify-content: space-between; gap: 12px; padding: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: linear-gradient(90deg,rgba(35,22,26,.94),rgba(42,24,29,.7) 54%,rgba(42,24,29,.28)),url("assets/dashboard-room.webp") center 52% / cover; color: #fff; }
.certificate-viewer-head[data-certificate-kind="certificate-service"] { background-image: linear-gradient(90deg,rgba(35,22,26,.95),rgba(42,24,29,.72) 54%,rgba(42,24,29,.32)),url("assets/dashboard-reception.webp"); background-position: center,center 42%; }
.certificate-viewer-head .module-kicker { color: #f1d7dc; }
.certificate-viewer-head h1 { margin: 4px 0; font-size: 1.35rem; line-height: 1.2; }
.certificate-viewer-head p { margin: 0; color: #f1e9eb; }
.certificate-page-count { flex: none; padding: 6px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 6px; background: rgba(35,22,26,.42); color: #fff; font-size: .72rem; }
.certificate-switcher { display: flex; flex-wrap: wrap; gap: 8px; }
.certificate-switcher a { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--muted); text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.certificate-switcher a:hover, .certificate-switcher a.is-current { border-color: var(--brand-accent); color: var(--brand-accent); }
.certificate-switcher svg { width: 15px; height: 15px; }
.certificate-stage { display: grid; justify-items: center; padding: 24px; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: #e8e8ea; }
.certificate-sheet { position: relative; box-sizing: border-box; width: min(100%, 720px); aspect-ratio: 8.5 / 11; overflow: hidden; background: #fffdfa; color: #302d29; box-shadow: 0 12px 38px rgba(31,29,28,.17); font-family: Georgia, serif; }
.certificate-sheet.certificate-export-sheet { width: 816px !important; height: 1056px !important; max-width: none !important; aspect-ratio: auto !important; box-shadow: none !important; }
.certificate-sheet::before { position: absolute; inset: 18px; border: 1px solid #d8c9ad; content: ''; pointer-events: none; }
.certificate-sheet::after { position: absolute; inset: 24px; border: 1px solid #eee6d7; content: ''; pointer-events: none; }
.certificate-corner { position: absolute; z-index: 1; width: 122px; height: 122px; background: #bb9a57; transform: rotate(45deg); }
.certificate-corner-top { top: -96px; left: -96px; }
.certificate-corner-bottom { right: -96px; bottom: -96px; }
.certificate-sheet-inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; height: 100%; padding: 6% 10% 4%; text-align: center; }
.certificate-logo { width: 112px; height: 44px; object-fit: contain; }
.certificate-emblem { width: 88px; height: 88px; margin: 2.5% 0 1.5%; color: #b99a58; }
.certificate-emblem svg { display: block; width: 100%; height: 100%; stroke: currentColor; stroke-width: 1.5; }
.certificate-emblem text { fill: currentColor; stroke: none; font: 400 33px "Cormorant Garamond", Georgia, serif; }
.certificate-eyebrow { margin: 0 0 1.5%; color: #8c7a59; font: 500 .68rem Inter, sans-serif; letter-spacing: .17em; }
.certificate-sheet h2 { margin: 0; font: 500 clamp(2.1rem,4vw,3.4rem)/1 "Cormorant Garamond", Georgia, serif; letter-spacing: .08em; text-transform: uppercase; }
.certificate-subtitle { margin: 0 0 5%; color: #b99a58; font: 500 clamp(1.15rem,2vw,1.6rem)/1.1 "Cormorant Garamond", Georgia, serif; letter-spacing: .12em; text-transform: uppercase; }
.certificate-intro, .certificate-completion, .certificate-message { margin: 0; font: 400 clamp(.75rem,1.18vw,.98rem)/1.45 Inter, sans-serif; }
.certificate-recipient { margin: 1% 0 0; font: 400 clamp(2rem,4.3vw,3.7rem)/1.15 Allura, "Brush Script MT", cursive; }
.certificate-divider { display: block; width: 76%; height: 1px; margin: 0 0 4%; background: #b99a58; }
.certificate-completion { max-width: 390px; }
.certificate-sheet h3 { max-width: 100%; margin: 1.5% 0 .5%; color: #a41d2c; font: 500 clamp(1.15rem,2.15vw,1.75rem)/1.15 "Cormorant Garamond", Georgia, serif; text-transform: uppercase; letter-spacing: .06em; }
.certificate-course { margin: 0; color: #6f675e; font: 400 clamp(.67rem,1vw,.83rem)/1.3 Inter, sans-serif; }
.certificate-message { max-width: 420px; margin: 3.5% 0 0; color: #58534d; }
.certificate-seal { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 82px; height: 82px; margin: auto 0 1.5%; border: 6px double #e9d29b; border-radius: 50%; background: radial-gradient(circle at 35% 28%,#f9e5b4,#b78d3f 70%,#8d6c31); color: #fff8df; box-shadow: 0 0 0 4px #c6a45c,0 2px 7px rgba(70,50,20,.23); }
.certificate-seal span { font: 500 1.7rem/1 "Cormorant Garamond", Georgia, serif; }
.certificate-seal small { font: 400 .53rem/1 Inter,sans-serif; letter-spacing: .12em; }
.certificate-date { margin: 0 0 4.5%; color: #635b50; font: 400 .75rem Inter,sans-serif; }
.certificate-signatures { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12%; width: 100%; }
.certificate-signatures > div { display: grid; gap: 4px; padding-top: 9px; border-top: 1px solid #827363; }
.certificate-signatures span { font: 400 clamp(1.4rem,2.2vw,1.9rem)/1 Allura,"Brush Script MT",cursive; }
.certificate-signatures small { font: 400 .65rem Inter,sans-serif; }
.certificate-folio { margin: 4% 0 0; color: #8c8378; font: 400 .59rem Inter,sans-serif; letter-spacing: .06em; }

@media print {
  @page { size: letter portrait; margin: 0; }
  html, body.course-template { width: 8.5in !important; height: 11in !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; }
  body.course-template .ambient, body.course-template .icon-rail, body.course-template .sidebar, body.course-template .topbar, body.course-template .toolbar, body.course-template .mobile-sidebar-backdrop, body.course-template .certificate-viewer-head, body.course-template .certificate-switcher { display: none !important; }
  body.course-template .app-frame, body.course-template .app-frame > main, body.course-template .workspace, body.course-template .module-page, body.course-template .certificate-view, body.course-template .certificate-stage { display: block !important; width: 8.5in !important; height: 11in !important; min-height: 0 !important; max-height: none !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; border: 0 !important; box-shadow: none !important; background: #fff !important; }
  body.course-template .workspace > :not(#modulePage) { display: none !important; }
  body.course-template .certificate-sheet { width: 8.5in !important; height: 11in !important; aspect-ratio: auto !important; box-shadow: none !important; break-inside: avoid; page-break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
body.course-template.dark .module-map { border-color: #514247; filter: brightness(.7); }
body.course-template.dark .module-badges span, body.course-template.dark .module-resource > span, body.course-template.dark .module-empty > span { background: #403037; color: #f4a0aa; }

/* Iconografía Lucide: una sola escala visual en toda la plataforma. */
body.course-template svg.ui-icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: middle;
}
body.course-template .icon-rail .module-rail-nav a > svg.ui-icon { width: 20px; height: 20px; stroke-width: 1.75; }
body.course-template .icon-rail .module-rail-nav a[data-rail-module="dashboard"] > svg.ui-icon { stroke-width: 1.4; }
body.course-template .side-nav a > svg.ui-icon { width: 16px; height: 16px; flex-basis: 16px; stroke: currentColor; stroke-width: 1.75; }
body.course-template .side-module a:first-child > svg.ui-icon { width: 18px; height: 18px; flex-basis: 18px; }
body.course-template .topbar svg.ui-icon { width: 18px; height: 18px; }
body.course-template .toolbar .context-toolbar-action svg.ui-icon,
body.course-template :is(.forum-reply-tools,.course-comment-tools,.course-submit-button,.course-tool-button) svg.ui-icon { width: 17px; height: 17px; stroke-width: 1.75; }
body.course-template :is(.dash-metric-icon,.profile-stat-icon,.evaluation-row-icon,.forum-hero-icon) svg.ui-icon { width: 18px; height: 18px; }
body.course-template :is(.forum-open-thread,.forum-post-stats,.forum-reply-actions,.forum-thread-buttons,.forum-related-posts,.forum-featured-documents,.course-comment-files,.forum-reply-files,.related-course,.module-card-arrow,.module-badges,.module-map-marker,.profile-location,.profile-list-icon,.profile-text-button,.profile-document-list,.dash-module-bottom,.dash-agenda-item,.learning-hero-link) svg.ui-icon { width: 16px; height: 16px; stroke-width: 1.75; }
body.course-template .module-map-marker svg.ui-icon { width: 20px; height: 20px; }
body.course-template :is(.course-comment-files,.forum-reply-files) span:has(> svg.ui-icon) { display: inline-flex; align-items: center; gap: 5px; }
body.course-template .forum-open-thread > svg.ui-icon:last-child { margin-left: 2px; }
body.course-template .forum-file-chip button svg.ui-icon { width: 16px; height: 16px; }
body.course-template .forum-featured-documents a > svg.ui-icon:last-child { color: var(--course-accent); }
body.course-template .toolbar .context-toolbar-action.is-saved svg.ui-icon { fill: currentColor; }

body.course-template .course-draft-file button svg.ui-icon { width: 16px; height: 16px; }

body.course-template .dash-streak-days i svg.ui-icon { width: 14px; height: 14px; }
