CoolFace
Apppublic

fmatituy/selectospromanager

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
constructor_components.cpython-313.pyc322 linesDownload Raw Back to __pycache__
1�

2���i�����SSKJr SSKrSSKrSSKJr SSKJr SSKJ	r	 \"5r3SrSrSS	jr
S4rSrSSjrS
rSrSrSrg)���uiN�)�PermisosAIAssistant)�save_formato_generado��get_current_userc	��Z^^^^^# �TRRTS5mT(a[TR55S:a[R5"SSSSS9 g[R"5RS	5m[R"5RS65 [R"5RS5 [R"SS
SS9RS5 [R"S5RS5 [R"S5RS5 SSS5 [R"S5RS5 [R"SS9RS5RS5mUUUUU4Sjn[R"5RS5 [R"STR S9RS5RS 5 [R"S!S"US#9RS$5RS%5 SSS5 SSS5 SSS5 TR#5 g!,(df   GN/=f!,(df   NA=f!,(df   NJ=f!,(df   NS=f7f)&uCInterfaz para invocar a SARA IA y optimizar la descripción actual.��zTEscribe una base o selecciona una actividad primero para que SARA pueda optimizarla.�warning�info�top��color�icon�positionNzbackdrop-blur-smz<p-10 w-full max-w-md rounded-[2.5rem] shadow-2xl border-nonez*w-full items-center text-center gap-1 mb-6�
auto_fix_high�3rem�blue-9��sizerzmb-2 animate-pulseuOPTIMIZACIÓN SARA IAz=text-2xl font-black text-slate-900 tracking-tighter uppercaseu+Refina tu descripción técnica al instantezJtext-[10px] text-slate-400 font-black tracking-widest uppercase opacity-60u!¿CÓMO QUIERES MEJORAR EL TEXTO?z8text-[9px] font-black text-blue-900 mb-2 tracking-widestu9Ej: "Más técnico", "Más corto", "Enfatizar riesgos"...��placeholderz2outlined dense rounded-xl bg-slate-50 shadow-innerzw-full font-bold text-sm mb-6c���># �TR5 [R"SSSSS9n[R	TTR75IShv�NnUTRT'TTR;a[TRTU5 [R"SSSS	S89 UR5 gNd![a"n[R"SU3SS
9 SnAN:SnAff=f!UR5 f=f7f)Nu)SARA IA está analizando y optimizando...Trr)�spinner�timeoutru"Descripción refinada exitosamente�positive�verifiedrrzError en el motor IA: �negative�r)�closer�notification�sara_engine�improve_description�value�	form_data�9field_refs�safe_set_value�notify�	Exception�dismiss)�notif�improved�e�current�dialog�inst�k�states   ������)src/modules/sst/constructor_components.py�process�"improve_with_sara.<locals>.processs������L�L�N��O�O�$O�Y]�gh�px�y�E�	
 �!,�!@�!@��$�*�*�!U�U��%-�����"���(�(�(�.��9I�9I�!�9L�h�*W��	�	�>�j�Wa�lq�r��
�
��V���
J��	�	�2�1�#�6�j�I��
J���
�
��sM�(C:�#B6�B4�AB6�#C:�4B6�610C"�C�C%�C"�"C%�%C7�7C:zw-full gap-3 mt-4 mt-auto�CANCELAR��on_clickzflat color=slate-400 font-boldzflex-1zOPTIMIZAR AHORA�bolt�rr:z4unelevated color=blue-900 rounded-xl py-3 font-blackz"flex-[2] shadow-xl shadow-blue-100)r'�get�len�striprr*r1�classes�card�columnr�label�input�props�row�buttonr"�open)r4r3r6r0r1r2s`` @@@r5�improve_with_sararI	s�����o�o�!�!�!�R�(�G��c�'�-�-�/�*�Q�.�11�	�	�h�py�AG�RW�	X��	����	�	�/�	0�F�B�G�G�I�<M�<M�OM�=N�
�Y�Y�[�
 �
 �!M�
N��G�G�O�&��A�I�I�J^�_��H�H�,�-�5�5�6u�v��H�H�B�C�K�K�MY�
Z�O�12	���4�5�=�=�>x�y��x�x�$_�`�f�f�h\�]�e�e�fE�F��	 �	 ��V�V�X�
�
�9�
:��I�I�j�6�<�<�8�>�>�?_�`�h�h�iq�r��I�I�'�f�w�G�M�M�OE�
F�
N�
N�Os�
t�;�/=N�	0�4�K�K�M�3O�
N��,;�
:��/=N�=N��	0�	0�si�A=J+�%J�)%J	�A0I&�>B
J	�A2I8�=J	�J�
J+�&13I5�0J	�814J�J	�	15J	�J�16J(�$J+c��U(dg[US5(aNUbUS:XaURS5 gXR;aURU5 gURS5 gURUbUOS5 g! g=f! g=f! g=f! g=f![an[	SU35 SnAgSnAff=f)N�optionsrzDEBUG safe_set_value Error: )�hasattr�	set_valuerKr+�print)�ref�valr/s   r5r)r),s�����2��3�	�"�"��{�c�R�i��]�]�4�(����#��]�]�3�'��]�]�4�(����c�o�s�2�>�����������
�D���2�
�,�Q�C�0�1�1��2�s{�B�B�B�B�B�)B�B�B�B�B�	B�B�B�B�B�B�B�B�17B>�&B9�9B>c18��[R"5RS5 [U5GH]upEUS:Xa�[R"5RS5 [R"S5RS5 [R19"SS9R
S5RS	5RURU5URU'S20S21S225 M�US-S:XaS
OSnU"U5nSUR5;=(d SUR5;n[R"5RSUS35 [R"5RS5 [R"U5RS5 U(a�[R"5RS5 [R"S5RS5 [R"SS9R
S5RS5RURSU35URSU3'S23S24S255 S26S27S285 [R"5RS5 [R"S5RURSU35R
S5RS 5 [R"S!5RURS"U35R
S#5RS$5 U(aQ[R"S%5RURS&U35R
S'5RS(5 S29S30S315 S32S33S345 GM` S35S36S375 g38!,(df   GN�=f!,(df   GNf=f!,(df   GNp=f!,(df   NZ=f!,(df   GM�=f!,(df   g39=f))z=Checklist institucional SI/NO con soporte para observaciones.zWw-full border border-slate-100 rounded-xl overflow-hidden bg-white shadow-sm gap-0 mt-2�e_obsz8w-full p-6 bg-blue-50/20 border-t border-slate-100 gap-2zOBSERVACIONES ADICIONALESz4text-[10px] font-black text-blue-900 tracking-widestu"Escribe aquí las observaciones...rzoutlined autogrowz/w-full bg-white text-xs rounded-xl shadow-innerN�rzbg-slate-50/50�bg-white�OTROuCUÁL�w-full zs border-b border-slate-50 px-4 sm:px-6 py-2 items-center justify-start hover:bg-blue-50/30 transition-colors gap-10zflex-1 gap-1z.text-xs font-bold text-slate-700 leading-tight�w-full items-center gap-2u¿Cuál?z,text-[10px] text-slate-400 font-black italiczEspecificar detalles...zoutlined dense borderlesszWflex-1 bg-white/50 text-[11px] rounded-lg px-2 h-7 font-medium border-none shadow-inner�txt_z_items-center gap-6 shrink-0 bg-white/60 px-4 py-2 rounded-xl border border-blue-50/50 shadow-smuSÍ�si_�color=blue-9 rounded densez$text-[10px] font-black text-blue-900�NO�no_zcolor=red-9 rounded densez#text-[10px] font-black text-red-900zN/A�na_zcolor=slate-6 rounded densez%text-[10px] font-black text-slate-500)rrBr@�	enumeraterC�textarearE�40bind_valuer'r(�upperrFrD�checkbox)	r4�keys�get_nicer_label�show_na�idxr3�bg�41label_text�is_others	         r5�render_checklist_seguridadrj?s|��	����	�	�v�	w���o�F�C��G�|��Y�Y�[�(�(�)c�d��H�H�8�9�A�A�Bx�y�*,�+�+�Bf�*g�*m�*m�oB�+C�+K�+K�L}�+~�+I�+I�JO�JY�JY�[\�+]�E�$�$�Q�'�e��%(�1�W��\�!�z�B�(��+�J���!1�!1�!3�3�T�w�*�BR�BR�BT�7T�H�����!�!�G�B�4�0c�#d�e��Y�Y�[�(�(��8��H�H�Z�(�0�0�1a�b���V�V�X�-�-�.I�J��H�H�Z�0�8�8�9g�h�;=�8�8�Pi�;j�;p�;p�rM�<N�<V�<V�Wp�<q�<|�<|�}B�}L�}L�PT�UV�TW�NX�<Y�E�,�,�t�A�3�Z�8�K�9��V�V�X�%�%�'H�I��K�K��&�1�1�%�/�/�S���9�M�S�S�Tp�q�y�y�{a�b��K�K��%�0�0����C��s�)�L�R�R�Sn�o�w�w�y^�_�����E�*�5�5�e�o�o��Q�C�y�Q�W�W�Xu�v�~�~�@g�h�	I�e�e�&�42x�	w�e�d��K�J��9�8��I�I��e�e��43x�	w�s��<O6�!A?N� A4O6�%O#�9AO	�44BN.�O	�,O#�C;O	�>O#�
O6�45N+�&O6�.46N=�8O	�47O
�48O#�49O 
�O#�#50O3�-	O6�651Pc�h^^^ ^!^"^#�[R"S5RS5 UGH�nU"U5m!SSSSSSS	S52S.nURUS5nS
U3n[R"5RS5n[R"S5RS5n[R53"5R
TRSU35RS5RS5n	URSU	4Sj5 [R"S5RS5 [R"5RS5 [R"USS9RS5 SSS5 TRRUS5n54U55(Gd@SSKJ
n SSKJn U"5n
T!R!5R#5m"[%U"4SjU
5S5nU(a�URS 5(a�SSKnSSKnSSKnSS!KJnJn US nUR3S"S5R5S#5nUR6R9UU5nUR6R;U5(ae[=US$5nUR?URA55RCS%5nS&U3TRU'SSS5 TRE5 [RJ"S5RS(5nURMTRS
U35 UROTRS
U3S)S*9 [R"S5RS+5 SSS5 [RP"5RS,5 [RR"T!5RS-5 WUT!S4U!U4S.jjm UUT!4U 4S/jjnU"5nTRRUS5nUUT!4U4S0jjm[RT"S1S29RS35RS45n[RV"5RS55m#[RX"S6U4U#4S7jjS89RS95 [RX"S:UUT!4UU#4S;jjS89RS<5ROTRUS=S*9 SSS5 SSS5 SSS5 SSS5 GM� SSS5 g!,(df   GN�=f!,(df   GNJ=f![Fan[IS'U35 SnAGN[SnAff=f!,(df   GN�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   GMq=f!,(df   g=f)>u>Galería de tarjetas de equipos con carga de imágenes reales.�divz1grid grid-cols-2 md:grid-cols-4 gap-6 w-full mt-4�layers�elevator�forklift�vertical_align_top�linear_scale�stairs�reorder�format_line_spacing)�eq_and�eq_ele�eq_man�eq_tij�eq_ext�eq_avi�eq_gat�eq_eti�construction�img_z�group cursor-pointer p-0 overflow-hidden border border-slate-100 rounded-[2.5rem] shadow-sm hover:shadow-2xl hover:translate-y-[-8px] transition-all duration-500 bg-white relativezabsolute inset-0 z-10rYrZzJabsolute top-5 right-5 z-30 scale-125 transition-transform hover:scale-150�clickc�B�URUR(+5$�N)rMr&)�_�cs  r5�<lambda>�.render_galeria_seleccionable.<locals>.<lambda>ms��������[�9Q�zew-full aspect-[4/5] md:aspect-[3/4] relative overflow-hidden bg-slate-50 border-b border-slate-100/50z=absolute-full items-center justify-center pointer-events-none�18px�rz'text-blue-100 opacity-20 mt-4 scale-150Nrr)�get_herramientas��STATIC_PATHc3�># �UH7nTUSR5;dUSR5T;dM3Uv� M9 g7f��nombreN��lower)�.0�t�56norm_labels  �r5�	<genexpr>�/render_galeria_seleccionable.<locals>.<genexpr>�sM����/O�)�Q�z�UV�W_�U`�Uf�Uf�Uh�Gh�lm�nv�lw�l}�l}�l�DN�mN�q�q�)��57�2A�	A�foto_url��Image�	ImageDrawz/static/�/�rb�utf-8�data:image/png;base64,zDEBUG SST Sync Error: zlabsolute-full w-full h-full object-contain group-hover:scale-105 transition-transform duration-1000 ease-outc��[U5$r���bool��xs r5r�r��s��ei�jk�elr�)�backwardzxabsolute inset-0 bg-gradient-to-t from-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity z-10zRw-full p-6 items-center justify-between relative z-30 bg-white/70 backdrop-blur-xlzftext-[13px] font-black text-slate-900 uppercase tracking-tight leading-none pointer-events-none flex-1c���>^# �SSKnSSKnSSKnSSKJnJn	 URR5IShv�Nn58U59(dgSSKnSSK	J60n URURRUS5SS9 S[UR55SUR3n
URRUSU
5n[!US	5nUR#U615 SSS5 S62U
3nUR%U635R'S5nSU3nUTR(U'SS
KJnJn U"5nTR15R35m[5U4SjU5S5nU(a*U"USSU05 [6R8"SUS3SSS9 UR?U5 URAS5 TRC5 [6R8"SU3SSSS9 U(aURES5 ggGN�!,(df   GN&=f![:an[=SU35 SnAN�SnAff=f![:a+n[6R8"S[GU53SS9 SnAgSnAff=f7f) Nrr�r��equipoT)�exist_ok�eq_�_sst_�wbz/static/equipo/r�r�)r��update_herramientac3�># �UH7nTUSR5;dUSR5T;dM3Uv� M9 g7fr�r�)r�r��norm_lbls  �r5r��Jrender_galeria_seleccionable.<locals>.handle_img_upload.<locals>.<genexpr>�sQ����3O�i��8�WX�Ya�Wb�Wh�Wh�Wj�Kj�no�px�ny�n�n�oB�FN�oN�1�1�i�r��idr�zINVENTARIO ACTUALIZADO: r�r�sync_alt)�typerzDEBUG SST -> INV Sync Error: zEVIDENCIA REGISTRADA: rrr�r�rr�resetzError: r )r�)$�base64�io�os�PILr�r��file�read�time�core.configr��makedirs�path�join�int�namerH�write�	b64encode�decoder'�database.queriesr�r�r�r?�nextrr*r+rN�64set_source�set_visibility�save_to_disk�65run_method�str)r/�display�ref_key�lbl�upr�r�r�r�r��contentr�r��fname�fpath�f�uri_publico�b64�uri_b64r�r��	all_tools�66tool_match�e_db�exr�rCr4s                         @��r5�handle_img_upload�7render_galeria_seleccionable.<locals>.handle_img_upload�s"����-�-�8�-L�,-�F�F�K�K�M�&9�G�#*�F�(�?��K�K������[�(�(K�VZ�K�[�&)�#�d�i�i�k�*:�);�5�����$I�E�$&�G�G�L�L��h��$N�E�!%�e�T�!2�a� !���� 0�"3�-<�E�7�*C�K�#)�"2�"2�7�";�"B�"B�7�"K�C�(>�s�e�&D�G�7>�E�O�O�G�4�N� a�,<�,>�	�+0�;�;�=�+>�+>�+@��-1�3O�i�3O�QU�.V�67�#-�$6�z�$�7G�*�Va�Ib�$c�$&�I�I�0H��T\�I]�H^�._�fl�s}�$~�$�.�.�w�7�#�2�2�4�8�!�.�.�0��I�I�(>�s�e�&D�:�]e�lv�w�!�2�=�=��#9�r�S':�"3�!2��,$-�N� %�(E�d�V�&L� M� M��N�� )�L��I�I���B��y�&9�68�K��L�s��I*�H2�G8�H2�I*�BH2�69G;�AH2�A4H
�A$H2�6I*�8H2�;70H71�H2�
72H/�H*�%H2�*H/�/H2�273I'�<!I"�I*�"I'�'I*c�>^^^^�[R"SSS9RS5mTRUUUUU4Sj5 T$)NTr)�auto_upload�	max_files�hiddenc74�@>�[R"T"UTTTTS95$)N)r�r�r�r�)�asyncio�create_task)r/�dr��l�rr�s �����r5r��Grender_galeria_seleccionable.<locals>.create_uploader.<locals>.<lambda>�s#���w�/B�/B�CT�UV�`a�kl�rs�xz�C{�/|r�)r�uploadr@�	on_upload)r�r�r�r�r�s```@�r5�create_uploader�5render_galeria_seleccionable.<locals>.create_uploader�s3����Y�Y�4�1�E�M�M�h�W�����%|�%|�}�!�	r�c��>�STRU'STRUS3'URS5 URS5 TR5 [R75"SU3SSSS9 g)	Nr�_xFzEVIDENCIA ELIMINADA: r
zorange-9�deleter�)r'r�r�r�rr*)r�r�r�r4s   �r5�handle_delete_img�7render_galeria_seleccionable.<locals>.handle_delete_img�sg���-/�����*�46����1�#�R��1����R�(��(�(��/��*�*�,��	�	�$9�#��"?�i�Wa�hp�qr��settings)rz'flat round color=slate-300 size=0.75remzOtransition-all hover:rotate-180 hover:color-blue-8 opacity-40 hover:opacity-100z1rounded-2xl border border-slate-100 shadow-xl p-2zSUBIR / ACTUALIZAR IMAGENc�F>�URS5TR54$)N�	pickFiles)r�r")�u�
settings_menus �r5r�r��s5���bc�bn�bn�oz�b{�~K�~Q�~Q�~S�bTr�r9zUtext-[10px] font-black text-slate-700 hover:bg-blue-50 hover:text-blue-900 rounded-lgzELIMINAR IMAGENc�6>�T"XU5TR54$r�)r")r�r�r�r�r�s   ��r5r�r��sB���qB�CD�IJ�qK�MZ�M`�M`�Mb�pcr�zVtext-[10px] font-black text-red-700 hover:bg-red-50 hover:text-red-900 rounded-lg mt-1c��[U5$r�r�r�s r5r�r��s��cg�hi�cjr�)-r�elementr@r=rArbr`r'rE�onrBrr�r�r�r�r�r?r�r�r�r�r�r�r��replace�lstripr�r��existsrHr�r�r�r�r+rN�image�bind_source_from�bind_visibility_fromrFrCrG�menu�	menu_item)$r4rcrdr3�iconsr�img_keyrA�click_target�cb�current_imgr�r�r�r�r�r�r�r�r��f_url�sub_path�abs_path�f_img�b64_raw�e_sync�img_displayr��up_pick�has_img�btn_settingsr�r�rCr�r�s$`                              @@@@@r5�render_galeria_seleccionabler[s����	���E�	�	"�	"�#V�	W��A�#�A�&�E�"�j�J�Zn�(�H�	�]r��E��9�9�Q��/�D��Q�C�j�G�����"�"�$Y�Z�^b�!�z�z�%�0�8�8�9P�Q���[�[�]�-�-�e�o�o��Q�C�y�I�O�O�Pl�m�u�u�wC�D������R�)Q�R��Z�Z��&�.�.�0W�X�����,�,�-l�m�����6�2�:�:�;d�e�n�76#(�/�/�"5�"5�g�r�"B�K�&�E�I�?�(8�(:�I�*/����)<�)<�)>�J�)-�/O�)�/O�QU�*V�J�)�j�n�n�Z�.H�.H� 5� 5� @�(2�:�(>��+0�=�=��R�+H�+O�+O�PS�+T��+-�7�7�<�<��X�+N��#%�7�7�>�>�(�#;�#;�)-�h��)=��28�2B�2B�5�:�:�<�2P�2W�2W�X_�2`��E[�\c�[d�Ce�����(@�*>�77%*�$6�$6�$8�#%�(�(�2�,�"6�"6�8f�#g�K� �0�0����D���*�M��4�4�U�_�_��Q�C�j�[l�4�m��J�J�u�%�-�-�/i�j�[X�`�V�V�X�%�%�&z�{��H�H�U�O�+�+�-U�V�<G�PW�]b�gk�0L�0L�f+6��E�"�78.�/�G�$�o�o�1�1�'�2�>�G�-8�7��r����79�3�9�9�:c�d�l�l�n�@�DP��W�W�Y�.�.�/b�c�gt��L�L�)D�X_�PT�U�]�]�^u�v��L�L�):�k�]d�hm�Fc�d�l�l�mE�F�!5�!5�e�o�o�w�Yj�!5�!k�d�@�[|�uZ�Z��80X�	W�*n�m��2*>�)=�� )�E�!�$:�6�(�"C�D�D��E��CX�X��|d�c��@�@��[|�{��uZ�Z��81X�	W�s��AV#�B1V�2%U	�%T�<,U	�)C&T%�AT�T%�(BU	�0,V�BU?	�:%U.�A4U
�U.�U?	�#V�+
V#�82T�U	�83T"�T%�%84U�/U�=U	�U�U	�85U
�V�86U+�'U.�.87U<�8U?	�?88V

�	V�89V �	V#�#90V1c	��V# �SSKJn SSKnU"5nUR"UR5nURRSS5nURRS5n[
USU(aUSOS	S91UUS9 [R"SS
SSS9 UR5 g7f)z8Guarda el estado actual del formulario como un borrador.rrN�tipo_permiso�PERMISO�proyecto_idrr�zSARA IAuBorrador (Excede líneas))�tipo�url�usuario�estador�92datos_jsonu0✅ Borrador guardado exitosamente en Historial.r�check_circlerr)93�
services.authr	�json�dumpsr'r=rrr*r")r4r1r	r�user�	data_jsonrrs        r5�handle_save_draft_actionr �s����.����D��94�95�5�?�?�+�I��?�?���~�y�9�D��/�/�%�%�m�4�K��
��"&��X��I�*���
��I�I�@�96�Yg�rw�x�97�L�L�N�s�B'B)c98�p^^�U(dg[U5R5RS5S-n[U=(d S5R5nSU;Ga^SU;GaWUS:�GaPT(GaH[	TSS	5(ag	STlUU4S99jn[R"5RSU4Sj5m[R"5RS
5RS5 [R"5RS5 [R"5RS5 [R"SSS9 [R"S5RS5 SSS5 [R"US9R!S5 SSS5 [R""5RS5 [R$"S5RS5 [R"SSSS9 SSS5 [R"S 5RS!5 [R"S"5RS#5 [R""5RS$5 [R"[U55RS%5 [R"S&5RS'5 [R$"S5RS(5 [R"S)5RS*5 SSS5 [R"S+US9R!S,5RS-5 [R"S.S/UU4S0jS19R!S25RS35 SSS5 SSS5 SSS5 TR'5 g	g!,(df   GNM=f!,(df   GN4=f!,(df   GN�=f!,(df   N�=f!,(df   Nw=f!,(df   N�=f!,(df   N�=f)4uDValida los renglones de la descripción y abre diálogo si excede 8.T�100rr�ARO�JSA��_alerta_excedida_abiertaFc�4>�STlTR5 g)NF)r&r"��diagr4s��r5�close_dialog�-check_description_limit.<locals>.close_dialogs���16��.��101�102�r�r,c�>�[TSS5$)Nr&F)�setattr)r4s�r5r��)check_description_limit.<locals>.<lambda>s���7�5�B\�^c�3dr�z[p-0 overflow-hidden rounded-[1.5rem] shadow-[0_20px_50px_-15px_rgba(0,0,0,0.4)] border-nonez width: 360px; background: white;zDw-full bg-[#002855] p-3 px-5 items-center justify-between text-white�items-center gap-2rNr�r�uREQUISITO DE IMPRESIÓNz&text-[10px] font-black tracking-widestNr9z/flat round dense icon=close color=white size=smz#p-6 items-center text-center w-fullrlzFw-12 h-12 bg-red-50 rounded-full flex items-center justify-center mb-4�errorzred-600�28px�rruDescripción Excedidaz&text-xl font-black text-slate-900 mb-1umPara garantizar la legibilidad en el formato físico impreso, la descripción debe tener máximo 8 renglones.z0text-xs text-slate-500 leading-relaxed mb-6 px-2z>w-full bg-slate-50 rounded-xl p-4 mb-6 border border-slate-100z-text-4xl font-black text-red-600 leading-noneu LÍNEAS DETECTADAS EN EL SISTEMAz7text-[9px] font-bold text-slate-400 mt-1 tracking-widerz'h-1 bg-red-600 w-full rounded-full mt-3uLímite permitido: 8 renglonesz/text-[9px] text-red-600 font-bold italic mt-1.5�	ENTENDIDOz.unelevated rounded-xl py-3 px-6 color=blue-900z8w-full font-black text-xs shadow-lg shadow-blue-100 mb-4zGUARDAR BORRADOR�savec�>�[TT5$r�)r r(s��r5r�r.8s���Tl�mr�tx�Tyr�r<zflat dense color=slate-400z*text-[10px] font-bold hover:text-slate-600)r�r?�countra�getattrr&rr1r�rAr@�stylerFrrCrGrErBr�rH)�text�
template_namer4�lines�t_namer*r)s  `   @r5�check_description_limitr=	s%�������I�O�O��#�#�D�)�A�-�E�
��$�"�
%�
+�
+�
-�F��F��u�F�2��1�9���u�8�%�@�@��-1�E�*�
�������	�+d�e�im��W�W�Y�&�&�(E�F�L�L�Mo�p�����)�)�*p�q��V�V�X�-�-�.B�C��G�G�G�&�9��H�H�%>�?�G�G�Hp�q�D��	�	�<�8�>�>�?p�q�	r�����,�,�-R�S��Z�Z��.�6�6�7�A��G�G�G�9�6�J�A����!8�9�A�A�Bj�k����"Q�R�Z�Z�[M�N� �Y�Y�[�0�0�1q�r��H�H�S��Z�0�8�8�9h�i��H�H�%G�H�P�P�RK�L��J�J�u�-�5�5�6_�`��H�H�%E�F�N�N�PA�B�	s��	�	�+��E�"�U�#S�T�U\�U\�^X�VY��	�	�"4�6�Ly�z�"�U�#?�@���Iu�Av�+T�p�f�@
�I�I�K���=D�C��r�q��A�A��s�r��T�S��p�p��f�e�s��?4P'�3%P�%O�=;N>	�8+O�#,P�&P�5O"	�A6P�BO4	� A4P�P�P'�>103O

�O�104O�P�"105O1
�,P�4106P
�>P�107P�P�108P$	� P'�'109P5c�h^^^�US:Xa
[TXV5 g/SQnUVs/sHo�U;dM110UPM n	nUH$mTU	;dMTS;dMU	RT5 M& [R"5R	S5 UGH�mTU;aMTS;Ga111[R112"5R	S5R
S5 [R"5R	S	5 [R"S1135R	S5 [R"SS
T4U4SjjS9RS5R	S5 SSS5 U4SjmTRRTS5n114U115(a[U116R55OSnU117RS5(aUS-
n[R"SS9RS5R	S5R
S5R!T5R#TRT5TR$S'[R&"S5 [R"SUS35R	S 5TR$S!'[R("S"UUU4S#jS$S%9 SSS5 GM[R118"5R	S&5 [R"U"T5R+55R	S'5 TS(:Xa\[R,"5RS)5R	S*5R#TRT5TR$T'GO�TS+:XGaqU4S,jn[R"5R	S-5 [R,"US.9RS/5R	S05R#TRT5TR$T'[R"5R	S15 [R."S25R#TRS35RS45R	S55TR$S3'[R."S65R#TRS75RS45R	S55TR$S7'SSS5 SSS5 GO1TS8:XGapU4S9jn
[R"5R	S-5 [R,"U
S.9RS/5R	S05R#TRT5TR$T'[R"5R	S15 [R."S25R#TRS:5RS45R	S55TR$S:'[R."S65R#TRS;5RS45R	S55TR$S;'SSS5 SSS5 O�TS<:XaZ[R,"S=S9RS>5R	S?5R#TRT5TR$T'OZ[R,"5RS@5R	SA5R#TRT5TR$T'SSS5 GM� SSS5 gs snf!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   N_=f!,(df   GN4=f!,(df   N�=f!,(df   GM=f!,(df   g=f)Bu0Grid de datos técnicos agrupados y reordenados.zFIRMAS Y AUTORIZACIONESN)�fecha�hora_inicio�hora_fin�altura_trabajo�cliente�lugar�responsable�descripcion_actividad)�empresa�nit_empresa�h_iam�h_ipm�h_fam�h_fpmzEw-full grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 mt-4 px-2)rF�descripcion_activityzw-full col-span-full gap-2 mt-4z grid-column: 1 / -1; width: 100%z3w-full items-center justify-between no-wrap m-0 p-0uDESCRIPCIÓN DE ACTIVIDADzJtext-[10px] font-black text-blue-900 tracking-[0.2em] uppercase opacity-80zEDITAR CON SARA IA�editc�>�[TU5$r�)rI)�k_keyr4s �r5r��-render_grid_datos_generales.<locals>.<lambda>Ss���^o�pu�w|�^}r�r<zEunelevated rounded dense size=sm color=blue-900 text-white font-blackz_text-[9px] hover:bg-blue-800 transition-all px-4 py-1.5 shadow-md shadow-blue-900/20 rounded-lgc�>�[US[US5(aUROS5n[U[5(dSnU(a[UR
55OSnURS5(aUS-
nUS:*=(dS S[	TR5R5;=(d& S	[	TR5R5;nU(d![URTRT5 S119TR;a=SUS3TRS120l
TRS121RU(dS
OSS9 STR;a&TRSRU(dSOSS9 gg)Nr&�argsrrr"rr%r#r$�desc_counter�	LÍNEAS: � / 8z,text-red-600 font-bold opacity-100 scale-105z.text-slate-300 font-light opacity-60 scale-100)r��	desc_areaz%border-red-500 bg-red-50/10 shadow-smz%border-slate-200 bg-white shadow-none)r7rLrS�122isinstancer�r>�123splitlines�endswith�excel_template_namerar=r&r(r9r@)r/rPr6�is_validr4s    �r5�update_state_and_validate�>render_grid_datos_generales.<locals>.update_state_and_validateUs����%�a��G�A�v�<N�<N�!�&�&�TV�W��)�#�s�3�3�2�S�9<��C�N�N�$4� 5�!���<�<��-�-�u��z�u�#(�A�:�$T��#�e�>W�>W�:X�:^�:^�:`�1`�$T�di�mp�qv�rK�rK�nL�nR�nR�nT�eT��'�3�A�G�G�U�=V�=V�X]�^�)�U�-=�-=�=�FO�PU�w�VZ�D[�E�,�,�^�<�A�!�,�,�^�<�D�D�DL�M{�RB�D�C�&�%�*:�*:�:�!�,�,�[�9�A�A�zB�Jq�Ho�A�p�;r�rrr"ru/La descripción se cargará automáticamente...rz#outlined clearable rows=8 no-resizez�w-full bg-white text-xs font-bold rounded-xl p-3 border-slate-200 text-slate-700 transition-all duration-300 m-0 hide-scrollbar overflow-hiddenz�width: 100% !important; min-width: 100%; height: 160px; max-height: 160px; overflow-y: auto !important; scrollbar-width: none; -ms-overflow-style: none;rWut124                    <style>125                    .hide-scrollbar textarea {126                        scrollbar-width: none !important;127                        -ms-overflow-style: none !important;128                        overflow-y: auto !important;129                        padding-right: 12px !important; /* Espacio de seguridad para que el texto no toque el borde */130                    }131                    .hide-scrollbar textarea::-webkit-scrollbar {132                        display: none !important;133                        width: 0 !important;134                        height: 0 !important;135                    }136                    /* Evitar que el contenedor de Quasar añada scrolls fantasmas */137                    .hide-scrollbar .q-field__control {138                        overflow: hidden !important;139                    }140                    </style>141                    rUrVzstext-[9px] font-medium text-slate-300 px-2 tracking-widest uppercase ml-auto transition-all duration-200 opacity-60rTg�������?c�l>�T"[S[4STRRTS5055$)N�objr&r)r��objectr'r=)r3r4r]s���r5r�rQ�s?���*C�D��QW�PY�\c�ej�et�et�ex�ex�yz�|~�e�\A�EB�+Cr�T)�oncezw-full gap-1.5z3text-[9px] font-black text-slate-400 tracking-widerr?zoutlined dense type=datez?w-full bg-white rounded-xl font-bold border-slate-200 shadow-smr@c��>�URnU(dg[URS5S5nUS:�nU(+TRS'UTRS'g! g=f)N�:r�rIrJ�r&r��splitr'�r/rP�h�is_pmr4s    �r5�update_start_period�8render_grid_datos_generales.<locals>.update_start_period��[����g�g��"�F�%� #�C�I�I�c�N�1�$5� 6�A�$%��G�E�;@�y�E�O�O�G�4�7<�E�O�O�G�4��$����AA�A!rW)�	on_changezoutlined dense type=timez?flex-1 bg-white rounded-xl font-bold border-slate-200 shadow-smzFgap-1 items-center bg-slate-50 px-2 rounded-lg border border-slate-100�AMrIzdense color=blue-9ztext-[9px] font-black�PMrJrAc��>�URnU(dg[URS5S5nUS:�nU(+TRS'UTRS'g! g=f)NrdrrerKrLrfrhs    �r5�update_end_period�6render_grid_datos_generales.<locals>.update_end_period�rmrnrKrLrBz0.0zoutlined dense suffix="Mts"zLw-full bg-blue-50/50 text-xs font-black rounded-xl border-blue-100 shadow-smzoutlined densezHw-full bg-white text-xs font-black rounded-xl border-slate-200 shadow-sm)�render_firmas_y_autorizaciones�appendrrFr@rBr8rCrGrEr'r=r>rYrZr_�on_value_changer`r(�
add_head_html�timerrarDrb)r4�catrc�lista_clientes�lista_proyectos�lista_empleadosrd�orderr3�sorted_keys�current_val�
initial_countrkrsr]s`       `     @r5�render_grid_datos_generalesr�?s���142�'�'�&�u�o�O��~�E�#�1�e��D�y�1�e�K�1�
���K��A�-k�$k����q�!��143����	�	�a�	b��A���}�h��E�E��Y�Y�[�(�(�)J�K�Q�Q�Rt�u�����)�)�*_�`����!<�=�E�E�GS�T��	�	�"6�V�[\�N}�~�E�E�FM�N�V�V�Wx�y�a�p�(#(�/�/�"5�"5�a��"<�K�EP�C��(>�(>�(@�$A�VW�M�"�+�+�D�1�1�=�A�3E�=�46�K�K�L}�4~���D�E� ��"s�t��� z�{�(��)B�C�#��E�O�O�Q�7��$�$�[�1��$�$�&��(8:�x�x�)�M�?�Z^�@_�7`� ��"W�X��$�$�^�4��H�H�S�#C�JN�O�yv�z�����$�$�%5�6������+�1�1�3�4�<�<�=r�s���<�*,�(�(�*�*:�*:�;U�*V�*^�*^�`a�+b�+m�+m�ns�n}�n}�@�+A�E�$�$�Q�'��-�'�%�����)�)�*E�F�.0�h�h�AT�.U�.[�.[�\v�.w�.�.�AB�/C�/N�/N�OT�O^�O^�`a�/b��(�(��+��V�V�X�-�-�.v�w�8:���D�8I�8T�8T�UZ�Ud�Ud�fm�8n�8t�8t�vJ�9K�9S�9S�Tk�9l�E�,�,�W�5�8:���D�8I�8T�8T�UZ�Ud�Ud�fm�8n�8t�8t�vJ�9K�9S�9S�Tk�9l�E�,�,�W�5�x�G�F�144�*�_�%�����)�)�*E�F�.0�h�h�AR�.S�.Y�.Y�Zt�.u�.}�.}�@�/A�/L�/L�MR�M\�M\�^_�/`��(�(��+��V�V�X�-�-�.v�w�8:���D�8I�8T�8T�UZ�Ud�Ud�fm�8n�8t�8t�vJ�9K�9S�9S�Tk�9l�E�,�,�W�5�8:���D�8I�8T�8T�UZ�Ud�Ud�fm�8n�8t�8t�vJ�9K�9S�9S�Tk�9l�E�,�,�W�5�x�G�F�145�*�*�*,�(�(�u�*E�*K�*K�Li�*j�*r�*r�tB�+C�+N�+N�OT�O^�O^�`a�+b�E�$�$�Q�'�*,�(�(�*�*:�*:�;K�*L�*T�*T�V`�+a�+l�+l�mr�m|�m|�~�+@�E�$�$�Q�'�Q7�6�I�146c�	b��	2�a�`��v�u��bx�w��G�F��$x�w��G�F��A7�6��K147c�	b�s��	\!�\!�A	^#�%\8�0A!\&	�E\8�/^#�C
^�A>]	�B7]148�]	�;^�A>]?	�	B7]-�]?	�C^�
^#�&149\5
�0\8�8150]�^#�151 152]�]	�153]*
�&^�-154]<�7]?	�?155^

�	^�156^ �	^#�#157^1c�6^�[R"5RS5 [R"5RS5 [R"5RS5 [R158"SSSS9 [R"5RS5 [R"S	5RS1595 SSS5 SSS5 [R"5RS5 [R"5RS
5 [R"S5RS5 [R"S5RS5 [R"S5RS5 [R"S5RS5 SSS5 /SQnUGH�upE[R"5RS5 [R"U5RS5 [R"5RS5RS5RTRUS35TRUS3'[R"5RS5 [R"SS9RS5RS5RTRUS35TRUS3'SSS5 [R"5RS 5 [RU4U4S!jj5nUTRUS"3'U"5 SSS5 SSS5 GM� SSS5 SSS5 [R"5RS5 [R"5RS5 [R160"S#SSS9 [R"5RS5 [R"S$5RS1615 [R"S%5RS&5 SSS5 SSS5 [R"5RS5 [R"5RS'5 [R"S(5RS)5 [R"S*5RS+5 [R"S5RS,5 [R"S-5RS5 [R"S.5RS/5 [R"S05RS15 SSS5 [S2S35GH�nS4U3nUS5-S6:XaS7OS8n	[R"5RS9U	S:35 [R"5RS;5 [R"[U55RS<5 [R"S=5RS>5 SSS5 [R"S?S9RS@5RSA5RTRUS35TRUS3'[R"SBS9RS5RSC5RTRUS35TRUS3'[R"5RSD5 [RU4U4SEjj5n162U163TRUS"3'U164"5 SSS5 [R"5RSF5RSG5RTRUSH35TRUSH3'[R"5RSI5RSG5RTRUSJ35TRUSJ3'SSS5 GM� SSS5 SSS5 SSS5 g!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GNT=f!,(df   GM=f!,(df   GNd=f!,(df   GNn=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   GM�=f!,(df   GN=f!,(df   GN(=f!,(df   g=f)Kz/Panel unificado de firmas y personal operativo.zw-full gap-8 mt-6zYw-full p-0 border border-slate-200 bg-white rounded-[2rem] shadow-xl overflow-hidden mb-6z*w-full bg-[#1e3a8a] p-4 items-center gap-4�
verified_user�white�2remr2�gap-0u2Supervisión técnica y de seguridad en el trabajoz8text-lg font-black text-white tracking-tighter uppercaseNzw-full overflow-x-autozYw-full bg-slate-50 border-b-2 border-slate-200 px-6 py-4 items-center hidden md:flex h-16zCARGO / ROL EN SITIOzHflex-[2] text-[10px] font-black text-slate-800 uppercase tracking-widestzNOMBRE Y APELLIDO COMPLETOzMflex-[3] text-[10px] font-black text-slate-800 uppercase tracking-widest px-2�CEDULAzVflex-[1.5] text-[10px] font-black text-slate-800 uppercase tracking-widest text-centerz
FIRMA DIGITAL))�sup_auxu(Supervisor técnico o Auxiliar Encargado)�sup_tecz'Coordinador de Trabajo Seguro en Altura)�sup_sstz%Supervisor de seguridad en el trabajoz�w-full bg-white border-b border-slate-100 px-6 py-4 items-center flex-col md:flex-row gap-4 md:gap-0 hover:bg-blue-50/30 transition-allz^w-full md:flex-[2] text-[11px] font-black text-blue-900 tracking-tight leading-tight uppercasezoutlined dense roundedzMw-full md:flex-[3] text-[11px] font-bold bg-white/50 border-slate-100 md:mx-2�_nombrez!w-full md:flex-[1.5] items-center�CCrzNw-full text-center text-[11px] font-black text-slate-700 bg-white shadow-inner�_ccz�w-full md:flex-[1.5] justify-center items-center h-16 md:h-12 border-2 border-dashed border-slate-100 rounded-xl bg-white/30 md:ml-4 overflow-hiddenc��>�TRRUS35nU(a&[R"U5R	S5 g[R165"S5R	S5 g)N�_firmazh-10 w-auto object-containzFIRMA PENDIENTEz$text-[8px] font-black text-slate-200�r'r=rr�r@rC��prr4s  �r5�render_firma_sup�8render_firmas_y_autorizaciones.<locals>.render_firma_sup�sO���(-���(;�(;�q�c��L�(I��#(�"�(�(�5�/�*A�*A�B^�*_�&(�h�h�/@�&A�&I�&I�Jp�&qr�r��assignment_indu#PERSONAS QUE REALIZARÁN EL TRABAJOz2Registro detallado de personal autorizado en sitiozGtext-[10px] text-blue-200 font-bold uppercase tracking-wider opacity-80zYw-full bg-slate-50 border-b-2 border-slate-200 px-6 py-4 items-center hidden lg:flex h-16�#z)w-8 text-[10px] font-black text-slate-400zNOMBRE Y APELLIDOzHflex-[3] text-[10px] font-black text-slate-800 uppercase tracking-widestzOflex-[1.5] text-[10px] font-black text-slate-800 uppercase tracking-widest px-2�FIRMAzVIGENCIA EXAMENESz\flex-1 text-[9px] font-black text-slate-800 uppercase tracking-tighter text-center leading-3zVIGENCIA CERTIFICACIONzeflex-[1.5] text-[9px] font-black text-slate-800 uppercase tracking-tighter text-center leading-3 px-1rr%�trabrSrrTzbg-slate-50/10rVz� border-b border-slate-100 px-4 sm:px-6 py-6 sm:py-4 items-center flex-col lg:flex-row gap-4 lg:gap-0 hover:bg-blue-50/40 transition-allz)w-full lg:w-8 items-center gap-2 lg:blockz$text-[11px] font-bold text-slate-300�166TRABAJADORz.lg:hidden text-[9px] font-black text-slate-400zNOMBRE COMPLETOz!outlined dense rounded borderlesszFw-full lg:flex-[3] text-[11px] font-black bg-white/50 border-slate-200uCÉDULAz6w-full lg:flex-[1.5] text-[11px] bg-white px-2 lg:mx-1z�w-full lg:flex-[1.5] justify-center items-center h-16 lg:h-10 border-2 border-dashed border-slate-100 rounded-xl bg-white/30 lg:mx-2 overflow-hiddenc��>�TRRUS35nU(a&[R"U5R	S5 g[R167"S5R	S5 g)Nr�z/h-10 w-auto object-contain grayscale opacity-80z
Firma Digitalz?text-[8px] font-black text-slate-200 uppercase tracking-tighterr�r�s  �r5�render_firma_t�6render_firmas_y_autorizaciones.<locals>.render_firma_tsV���(-���(;�(;�q�c��L�(I��#(�$&�H�H�U�O�$;�$;�<m�$n�$&�H�H�_�$=�$E�$E�GH�%Ir�u7outlined dense rounded placeholder="EXÁMENES DD-MM-AA"zCw-full lg:flex-1 text-[10px] bg-white lg:mx-1 text-center font-bold�_vig_exaz5outlined dense rounded placeholder="CERTIF. DD-MM-AA"�_vig_cer)rrBr@rArFrrCrDrEr`r'r(�refreshable�ranger�)r4rcrd�168super_list�prefixrCr��i�px�bg_rowr�s`          r5ruru�s����	����	�	�0�	1�
�W�W�Y�
�
�z�
{�����!�!�"N�O�����w�V�D��Y�Y�[�(�(��1��H�H�Q�R�Z�Z�\V�W�2�P�169����$�$�%=�>��V�V�X�%�%�'B�C��H�H�3�4�<�<�>H�I��H�H�9�:�B�B�DS�T��H�H�X�&�.�.�0H�I��H�H�_�-�5�5�7O�P�	C��170�171&0�M�F�����)�)�+t�u������/�/�1Q�R�@B�x�x�z�"�U�#;�<�W�W�FU�>V�'�Z����F�8�7�9K�L��(�(�F�8�7�);�<�172 �Y�Y�[�0�0�1T�U�?A�x�x�TX�?Y�!&��'?�!@���JZ�B[�!+��E�O�O��x�s�^�!L�"�,�,��x�s�^�<�V� �V�V�X�-�-�/E�F��^�^�39�r�,�r�CS�E�,�,��x�v�->�?�,�.�F�!u�u�&0�?�
|�`�W�W�Y�
�
�z�
{�����!�!�"N�O����(��f�E��Y�Y�[�(�(��1��H�H�B�C�K�K�MG�H��H�H�Q�R�Z�Z�\e�f�2�P�����$�$�%=�>��V�V�X�%�%�'B�C��H�H�S�M�)�)�*U�V��H�H�0�1�9�9�;E�F��H�H�X�&�.�.�0A�B��H�H�W�%�-�-�/G�H��H�H�0�1�9�9�;Y�Z��H�H�5�6�>�>�@g�h�
C��q�!��A���s��B�+,�q�5�A�:�Z�;K�F�����)�)�G�F�8�<D�+E�F��V�V�X�-�-�.Y�Z��H�H�S��V�,�4�4�5[�\��H�H�\�2�:�:�;k�l�[�173<>�8�8�Pa�;b�"�U�#F�G���QY�IZ�'�Z����B�4�w��H��(�(�B�4�w��8�1748:�x�x�I�7V�"�U�#;�<�W�W�E}�=~�'�Z����B�4�s��D��(�(�B�4�s��4�175 �V�V�X�-�-�/E�F��^�^�13�I�,�I�?M�E�,�,��t�6�]�;�*�,�F�=?�H�H�J�"�U�#\�]�^e�^e�gl�_m�'�Z����B�4�x��I��(�(�B�4�x��9�176=?�H�H�J�"�U�#Z�[�\c�\c�ej�]k�'�Z����B�4�x��I��(�(�B�4�x��9�CF�F�%�?�|�e1772�	1�1782�1��P�O��C�C��.V�U��F�F��!u�u��?�>��
|�
{��f2�1��P�O��C�C��[�Z��F�F��!F�F��?�>��|�
{��e1792�	1�s��%f180�%c'�0;a:�+&a(	�a:�,c'�%c�*Bb	�?8c�7B*c�!A b
�,c�-6b0
�#c�+
c�8c'�,f181�,%e8�;d�Ac9	�d�,e8�%e&�0Cd	�Ae&�!%e�Ad/
�C*e�6e
�:Ce�
e&�e8�f182�(183a7
�2a:�:184b	�c'�185b
�c�186b-�(c�0187b?�:c�188c�	c�189c$�c'�'190c6	�1f191�9192d
�d�193d�e8�194d,
�'e&�/195d>�9e�196e�e�197e#�	e&�&198e5�0e8�8199f	�f200�201 202fc203��^^^^^	^204^�SSKJm SSKmTR"5R	S5 TR205"5R	S5 TR"5R	S5 TR"S5R	S5 TR206"5R	S	5 TR"S207SSS
9R	S5 TR"S5R	S5 SSS5 SSS5 TR208"5R	S5 TR"S5R	S5 TR5Vs/sHnTU(dMUS;dMUPM nnUUU	U2094SjnTR"USUS9RS5R	S5m210TR"S5R	S5 TR"S5R	S5 S/[TRS05R55-nTR"USU4SjS9RS5R	S5m	SSS5 SSS5 TRUUUU	U211U4Sj5mT"5 TR212"5R	S 5 TR"S!S"S#S
9R	S$5 TR"S%5R	S&5 SSS5 SSS5 g!,(df   GN=f!,(df   GN=fs snf!,(df   N�=f!,(df   N�=f!,(df   Nb=f!,(df   g=f)'u<Guía de marcadores técnica con diseño Navy Slate Moderno.rrNzw-full gap-4zhw-full items-center justify-between bg-white p-3 px-6 rounded-2xl border border-slate-100 shadow-sm mb-1r�u'OPERACIONES SST • REFERENCIA TÉCNICAzFtext-[8px] font-black text-blue-900/30 tracking-[0.4em] uppercase mb-1r/�hubzblue-900�15pxr2z213opacity-30uDICCIONARIO DE CONEXIÓNz2text-sm font-black text-slate-800 tracking-tighterzJitems-center gap-3 bg-slate-50 p-1 px-4 rounded-xl border border-slate-100zPROCESO:z5text-[8px] font-black text-slate-400 tracking-[0.2em])zTrabajo en AlturazTrabajo en Alturasc�>�TRTR05nS/[UR55-nUTlSTlTR5 g)N�TODAS)r=r&�listrcrK�refresh)�data�cats�all_metadata�render_guia_content�
sel_categoria�sel_guias  ����r5�on_proceso_change�:render_guia_marcadores_compacta.<locals>.on_proceso_change:sL���'�+�+�H�N�N�B�?�D�#�9�t�D�I�I�K�'8�8�D�,0�M�)�*1�M�'�'�/�/�1r��Alturas)rKr&roz'dense borderless size=sm color=blue-900z)w-44 text-[10px] font-black text-blue-900rlzw-[1px] h-4 bg-slate-200 mx-1uCATEGORÍA:r�c�$>�TR5$r�)r�)r�s�r5r��1render_guia_marcadores_compacta.<locals>.<lambda>Hs���at�a|�a|�a~r�c214�,>^^^^^^�TR(dgU	U
4SjmTRTR05nT
R"5RS5 T
R"5RS5 UR5GH+umnU(dMTRS:waTTR:waM2T
R"5RS5 T
R"5RS5 T
R"TR55RS5 T
R"S5RS	5 SSS5 [U4S215jS55mT=(a [U4SjS
55(+mSU216UUUU
4SjjmSU217UUU
4SjjmT"U5 SSS5 GM. SSS5 SSS5 g!,(df   N�=f!,(df   GMb=f!,(df   N;=f!,(df   g=f)Nc��F># �TR"SUS35 URRSnURRS5 TR"SU3SSSS	S2189 TR"S5IShv�N URRSUS
35 gN$7f)N�navigator.clipboard.writeText("�")rzicon=check color=positivezMarcador Copiado: r�content_copyz	top-rightT)rrr�close_buttong�?zicon=z color=slate-300)�run_javascript�senderrEr*�sleep)r/r9�	orig_iconr�rs   ��r5�handle_copy�Qrender_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.handle_copyOs������!�!�$C�D�6��"L�M��H�H�N�N�6�2�	������:�;��	�	�.�t�f�5�Z�n�gr�BF�G��m�m�C�(�(�(�������y�k�1A�B�C�)�s�A7B!�:B�;%B!zFw-full h-[65vh] bg-slate-50/20 rounded-3xl border border-slate-100 p-4zw-full gap-6 pr-2r�zKw-full p-6 bg-white border border-slate-100 rounded-[2.5rem] shadow-sm mb-6z#w-full items-center gap-3 mb-6 px-1z6text-[9px] font-black text-blue-900/50 tracking-widestrlz%flex-1 h-[1px] bg-blue-100 opacity-30c3�H># �UHoTR5;v� M g7fr��ra�r�r��seccions  �r5r��Orender_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.<genexpr>fs'����/V�NU��G�M�M�O�/C�NU���")�RIESGO�PELIGRO�IMPACTO�219PROTECCIONuPROTECCIÓN�TABLA�MEDIDA�220PREVENTIVA�EPP�CALIDADuGESTIÓN�GESTIONc3�H># �UHoTR5;v� M g7fr�r�r�s  �r5r�r�gs)����EL�dK�^_�'�-�-�/�EY�dK�r�)r�r�r�r�c
�b	>�TR"5RS5 UGH�nU(aU"U5OT"U5R5nT(Ga�US:wGa�TR"5RS5 TR"U5RS5 TR221"5RS5 SGHupEnUS:Xa	T(dMSUS	US2223nTR"5RSURS5S
SURS5S
S35nTR"USUS9RS5 TR"U5RSU35 URSU4U4Sjj5 TR"SU4U
4SjjS9RS5RS5 SSS5 GM223 SSS5 SSS5 GM�Un	U	RS5(Ga5TR"5RS5 TR"5RS5 TR"U5RS5 TR"SS S!9RS"5 SSS5 S#U	S2243n225TR"5RS$5nTR"U2265RS%5 TR"SU2274U
4S&jjS9RS5RS'5 URSU2284U4S(jj5 SSS5 SSS5 GM229SU	S2303nTR"5RS)5 TR231"5RS*5 TR"U5RS+5 TR"U5RS,5 SSS5 TR"SU4U
4S-jjS9RS.5RS/5 SSS5 GM� SSS5 g!,(df   GM[=f!,(df   GNY=f!,(df   GM=f!,(df   GN�=f!,(df   GNB=f!,(df   GMT=f!,(df   N�=f!,(df   GMx=f!,(df   g=f)0Nz6w-full gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3rRzfw-full p-4 bg-white border border-slate-100 rounded-3xl shadow-sm hover:border-blue-200 transition-allzCtext-[10px] font-black text-slate-800 mb-3 opacity-80 leading-tightzw-full gap-2 items-center))�sirzblue-700)�no�cancelzred-700)�na�not_interestedz	slate-400r�z{{r�z}}z)w-full items-center gap-2 px-3 py-1.5 bg-�-rz -50/50 rounded-xl border border-z7-100 group cursor-pointer hover:bg-white transition-all�12pxrz"opacity-70 group-hover:opacity-100z&text-[11px] font-mono font-black text-�dblclickc�0>�TR"SUS35$�Nr�r��r��r�r�rs  �r5r��jrender_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.render_fields_grid.<locals>.<lambda>ws6���eg�ev�ev�zY�Z[�Y\�\^�x_�f`r�r�c�>�T"X5$r���r/r�r�s  �r5r�r�xs���yD�EF�yJr�r<z"flat dense size=xs color=slate-300zml-autor�zNw-full p-5 bg-blue-50/20 border-2 border-dashed border-blue-100 rounded-[2rem]z(w-full items-center justify-between mb-4z5text-[11px] font-black text-blue-900 tracking-tighteruINSPECCIÓN • Xz	slate-900r!z4text-[8px] font-black rounded-lg px-2 py-1 shadow-smz{{x_z�w-full items-center justify-between px-3 py-3 bg-white rounded-xl border border-slate-100 shadow-inner group hover:border-slate-300 transition-all cursor-pointerz/text-[11px] font-mono font-black text-slate-900c�>�T"X5$r�r�r�s  �r5r�r��s���s~�@A�tEr�zgroup-hover:text-blue-900c�0>�TR"SUS35$r�r�r�s  �r5r�r��s6���^`�^o�^o�sR�ST�RU�UW�qX�_Yr�z�w-full items-center justify-between p-4 bg-white border border-slate-100 rounded-3xl hover:border-blue-200 transition-all shadow-sm groupzgap-0 flex-1z6text-[11px] font-black text-slate-700 tracking-tighterzetext-sm font-mono font-bold text-blue-900 leading-tight group-hover:scale-[1.02] transition-transformc�>�T"X5$r�r�r�s  �r5r�r��s���p{�|}�qBr�z"flat dense size=sm color=slate-200zhover:color-blue-900)�gridr@rarArCrBrFrgrr�rGrE�232startswith�badge)�flds�custom_label_fnr��display_lbl�m_type�m_icon�m_color�m_text�row_m�	marker_id�m_key�r_mrdr��is_checklist�
is_na_allowedrs            �����r5�render_fields_grid�Xrender_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.render_fields_gridis����%'�W�W�Y�%6�%6�7o�%p�-1��L[�o�a�6H�ap�qr�as�ay�ay�a{��+7�A��L�13����1B�1B�Dl�2m�02����0E�0M�0M�OT�1U�57�Y�Y�[�5H�5H�Id�5e�T|�8O���;A�T�>�R_�ai�CG��x�q�QR�PS�SW�AX��=?�V�V�X�=M�=M�Py�{B�{H�{H�IL�{M�NO�{P�zQ�Qq�ry�r�r�@C�rD�EF�rG�qH�H�O@�>A�EJ�<>�G�G�F�QW�_f�<g�<o�<o�qU�=V�<>�H�H�V�<L�<T�<T�W}�F�~G�VH�=I�<A�H�H�Z�]c�R`�=a�<>�I�I�>�pv�eJ�=K�=Q�=Q�Rv�=w�=�=�@I�=J�	>A�>A�T|�6f�2m�2m�9:�I�/8�/C�/C�E�/J�/J�57�W�W�Y�5F�5F�HX�6Y�9;����9I�9I�Jt�9u�8:����8M�8U�8U�WN�9O�8:���AT�\g�8h�8p�8p�rh�9i�:v�?E�Y�K�t�<T�E�9;����9I�9I�Kn�:o�sv�8:�����8O�8O�QB�9C�8:�	�	�~�lq�aE�9F�9L�9L�Mq�9r�9z�9z�{V�9W�8;���z�W\�LY�9Z�:o�6Y�6Y�<@�	�{�$�9O��57�V�V�X�5E�5E�GR�6S�9;����9L�9L�^�9\�8:����8M�8U�8U�WO�9P�8:����8H�8P�8P�Ry�9z�:]�57�I�I�>�hn�]B�5C�5I�5I�Jn�5o�5w�5w�xN�5O�	6S�6S�9.2�&q�%p�>A�>A��	6f�5e��2m�2m��:v�9u��:o�:o��6Y�6Y��:]�9\��6S�6S��;&q�%p�s��AR �=AP2�?A-P 	�,BP

�
P 	�P2�AR �!Q)�;AQ	�=.Q)�+A1Q	�Q)�$1R �!R
�6AQ<	�9>R
�7
R �
233P�	P 	� 234P/
�*P2�2235Q�<	R �236Q
�Q)�237Q&
�!Q)�)238Q9�3	R �<239R240
�R
�
241R�	R � 242R.c243�0>�U(dg[U[5(GaU(a�TR"5RS5 TR"5RS5 [SSUS--2445nTR"S5RSU35 TR"UR55RS5 SSS5 SSS5 U4U4SjjnT245"[[RUVs/sH
oU(dMUPM sn55US	9 g[U[5(a�U(ayTR"5RS2465 TR"UR55RS5 TR"S5RS5 SSS5 UR5HupgT	"XvUS
-S9 M gg!,(df   GN=f!,(df   GN!=fs snf!,(df   N\=f)Nzw-full gap-2 mt-4 mb-2zw-full items-center gap-2 px-2�247�2rlz!w-3 h-3 rounded-full bg-blue-900/z6text-[10px] font-black text-slate-700 tracking-tighterc�^>�T"U5nU(dUR5$UR5R5nUR5R5nURU5(a:URUS5RS5R5nU(aU$U$U$)Nrz: )rar?r�r�)�m_id�248parent_lbl�orig�p_up�o_up�resrds      �r5�	clean_lbl�qrender_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.render_content_recursive.<locals>.clean_lbl�s����/>�t�/D��/9�$�*�*�,�;N�/9�/?�/?�/A�/G�/G�/I��/3�z�z�|�/A�/A�/C��+/�?�?�4�+@�+@�26�,�,�t�R�2H�2N�2N�t�2T�2Z�2Z�2\�C�:=�3�,G�4�,G�/3�r�)r�z(w-full items-center gap-3 mt-8 mb-4 px-2zTtext-[11px] font-black text-blue-900 tracking-widest bg-blue-50 px-3 py-1 rounded-lgz%flex-1 h-[1px] bg-blue-200 opacity-20r)rC�level)rXr�rBr@rF�maxr�rCra�dict�fromkeys�items)r�rCr�opacityrr�r3�vrd�render_content_recursiver�rs        ����r5r�^render_guia_marcadores_compacta.<locals>.render_guia_content.<locals>.render_content_recursive�s����'+�V�#-�d�D�#9�#9�',�-/�Y�Y�[�-@�-@�AY�-Z�13����1A�1A�Bb�1c�:=�b�"��PR�249�BS�:T��02�250�251�5�0A�0I�0I�Lm�nu�mv�Jw�0x�02�������0G�0O�0O�QI�1J�	2d�.[�DI�%4�%7�t�D�M�M�VZ�J`�VZ�QR�^_�1�VZ�J`�<a�7b�t}�$~�%/��d�%;�%;�',�-/�V�V�X�-=�-=�>h�-i�,.�H�H�U�[�[�]�,C�,K�,K�Mc�-d�,.�J�J�u�,=�,E�,E�Fm�,n�.j�15�252�253����(@��SX�YZ�SZ�([�1=�&<�'2d�1c��.[�-Z��&Ka�.j�-i�s>�!G0�(A&G�G0�254H�H� AH�255G-	�(G0�0256G?�257Hr��Nr)r&r=�scroll_arear@rBrrArFrCrar��any)�data_permiso�	contenidor�r�r�rr�r�r�r�rdr�r�rs  @@@@@@������r5r��<render_guia_marcadores_compacta.<locals>.render_guia_contentKs�����>�>�6�
D�(�+�+�H�N�N�B�?�L����!�)�)�*r�s��Y�Y�[�(�(�)<�=�.:�.@�.@�.B�*���(�(�(�.�.�'�9�g��I\�I\�>\�^f� �W�W�Y�.�.�/|�}�!#����!1�!1�2W�!X� "������� 9� A� A�Bz� {� "�258�259�5� 1� 9� 9�:a� b�"Y�,/�/V�NU�/V�,V�L�,8�-L��EL�dK�EL�BL�>L�M�"O�"O�H\�\�@5�Y�?�[~�}�/C�>�t�s�"Y�!X��~�}��
>�=��t�s�sW�!H�>A#G4�!!G!	�AG�AG!	�2
G4�?H�260G�G!	�!261G1
�+	G4�4262H	�>H�263HzTw-full p-2 px-6 bg-[#0f172a] rounded-xl items-center gap-3 text-white shadow-md mt-6�	lightbulb�amber�1remz264opacity-80u�TIP ESTRATÉGICO: Use marcadores en celdas ocultas o con fuente blanca si necesita inyectar datos técnicos sin afectar el diseño visual original.zQtext-[8.5px] font-medium leading-tight opacity-70 uppercase tracking-tight flex-1)�niceguirr�rBr@rFrCrrc�selectrEr�r�r=r�)r4rdr�r3�opt_permisosr��initial_catsr�r�r�r�rs ``    @@@@@r5�render_guia_marcadores_compactar(s������	����	�	�^�	,�
�V�V�X�
�
�I�J�����$�$�W�-����B�C�K�K�MU�V��V�V�X�%�%�&:�;��G�G�E��&�A�I�I�,�W��H�H�7�8�@�@�Au�v�<�.�����!�!�"n�o�����$�,�,�-d�e�+7�+<�+<�+>� L�+>�a�,�q�/��VW�`K�WK��+>�� L�2�2��9�9�\��Vg�h��U�D�E�g�g�Ny�Fz���265�266�5�!�)�)�*I�J�����'�/�/�0g�h� '�y�4��0@�0@��B�0O�0T�0T�0V�+W�W�� "�	�	�,�g�Y~� ��U�D�E�g�g�Ny�Fz��%p�J�8267���a	@�a	@�268�a	@�H	���V�V�X�
�
�t�
u�
�W�W�[��f�
=�
E�
E�l�
S�
�X�X�l�m��'�m�n�v�M269-�	,�270<�;��.�-�� L�p�o��J�J��Hv�
u��M271-�	,�s��!M�!L:�4AL�6AL	�9L�(L:�)4L)�L$272�/L$273�7L$274�=CL)�L:�#A	M�,AM�/M�275L
�276L�277L!�L:�$L)�)278L7�3L:�:279M	�M�280M	�M�281M*c282�^^^283�SSKJm284 T285R"5RS5 UnUH*nU"UR	S55US'US(+US'M, SS	S286SSS
.SSSSSS
.SSSSSS
.SSS287SSS
./nT288R289"5RS5 T290R"XhS291SS0S9RS5RS5n	U	RS S!5 U	RS"S#5 U	RS$S%5 U	RS&S'5 U	RS(U2924S)j5 U	RS*U4S+j5 U	RS,U4S-j5 S.S.S.5 S.S.S.5 g.!,(df   N=f!,(df   g.=f)/u3Gestión de plantillas con estética Navy War Room.rrzw-full gap-6�tipo_formato�cat_abr�archivo_url�is_ghost�fid�IDr��leftzwidth: 80px; padding-left: 32px)r�rC�field�align�headerStyle�nomuIDENTIFICACIÓN DEL FORMATOr�zpadding-left: 16px�tcatu293CATEGORÍA�centerzwidth: 150px�acc�OPERACIONES�rightz!width: 250px; padding-right: 32pxzVw-full p-0 rounded-[2.5rem] shadow-sm border border-slate-100 overflow-hidden bg-white�rowsPerPager%)�rows�columns�row_key�294paginationzw-full modern-tablezflat dense separator=horizontalz
body-cell-fidzg<q-td :props="props"><span class="text-[10px] font-black text-slate-300">#{{props.value}}</span></q-td>z
body-cell-noma�<q-td :props="props"><div class="row items-center gap-3"><q-avatar size="32px" color="blue-50" text-color="blue-900" font-size="14px" class="font-black">F</q-avatar><div class="column"><span class="text-[13px] font-black text-slate-800 uppercase tracking-tight">{{props.value}}</span><span class="text-[9px] text-slate-400 font-bold tracking-widest">{{props.row.tipo_formato}}</span></div></div></q-td>zbody-cell-tcatz�<q-td :props="props"><q-badge outline class="font-black text-[9px] px-3 py-1 rounded-lg border-blue-200 text-blue-900 bg-blue-50/50">{{props.value}}</q-badge></q-td>z
body-cell-accu 295                <q-td :props="props">296                    <div class="row no-wrap justify-end gap-2 px-2 items-center">297                        <template v-if="!props.row.is_ghost">298                            <q-btn flat round dense color="blue-9" icon="cloud_download" size="sm" @click="$parent.$emit('download', props.row.archivo_url)">299                                <q-tooltip class="bg-blue-900 text-[10px] font-black uppercase tracking-widest">Descargar XLSX Actual</q-tooltip>300                            </q-btn>301                            <q-btn flat round dense color="slate-9" icon="published_with_changes" size="sm" @click="$parent.$emit('subir', props.row)">302                                <q-tooltip class="bg-slate-900 text-[10px] font-black uppercase tracking-widest text-white">Reemplazar / Actualizar Archivo</q-tooltip>303                            </q-btn>304                            <q-btn flat round dense color="slate-9" icon="delete_outline" size="sm" @click="$parent.$emit('borrar', props.row)">305                                <q-tooltip class="bg-slate-900 text-[10px] font-black uppercase tracking-widest text-white">Eliminar Configuración</q-tooltip>306                            </q-btn>307                        </template>308                        <template v-else>309                            <q-btn unelevated dense color="blue-900" icon="cloud_upload" label="VINCULAR" size="xs" class="px-6 py-2 rounded-xl font-black tracking-widest shadow-lg shadow-blue-100" @click="$parent.$emit('subir', props.row)">310                                <q-tooltip class="bg-blue-900 text-[10px] font-black uppercase tracking-widest">Vincular Primer XLSX</q-tooltip>311                            </q-btn>312                        </template>313                    </div>314                </q-td>315            �downloadc�>�TR"[UR[5(aUR5$URS5$r)r5rXrSr�)r/rs �r5r��4render_catalogo_plantillas_premium.<locals>.<lambda>�s5���r�{�{�Z����PS�=T�=T�1�6�6�'d�Z[�Z`�Z`�ab�Zc�'dr��borrarc�>�T"[UR[5(dUR5$URS5$r�rXrSr�)r/�delete_callbacks �r5r�r7�s1���_�:�a�f�f�VZ�C[�C[�Q�V�V�%k�ab�ag�ag�hi�aj�%kr��subirc�>�T"[UR[5(dUR5$URS5$rr:)r/�upload_trigger_fns �r5r�r7�s2���$5�J�q�v�v�W[�D\�D\�a�f�f�$l�bc�bh�bh�ij�bk�$lr�N)316rrrBr@r=rA�tablerE�add_slotr�)r4�lista_plantillas_db�update_callbackr;r>�get_abbr_fnr1r��colsr�rs   ``     @r5�"render_catalogo_plantillas_premiumrE�s�����	����	�	�^�	,�"���A�&�q�u�u�^�'<�=�A�i�L� !�-� 0�0�A�j�M��317�T�D�6�Z{�|��%B�X�`f�xL�
M��l�Y�QY�jx�y��]�T�G�eH�
I�	318���W�W�Y�
�
�w�
x����d�$�M�[\�K]�^�f�f�g|�}�D�D�Ef�g�A�
�J�J��)R�
S�
�J�J��)}�
~�
�J�J�'�*Q�
R�
�J�J��)�
�,
�D�D��d�e�
�D�D��k�l�
�D�D��l�m�;y�319-�	,�y�
x��320-�	,�s%�A1E:�B=E)�E:�)321E7	�3E:�:322F)Tr�)rrr�r�ai_assistantr�database.queries_airrr	r$rIr)rjrr r=r�rurrEr�r�r5�<module>rHsa�����-�5�*�!�#��!�F2�&h�8Vl�r�*4�lx@�tlJ�^No�b/nr�