/* styles.css - Tailwind horneado (offline) para la app de asistencia */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{-webkit-text-size-adjust:100%;line-height:1.5;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{margin:0;line-height:inherit}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
p,figure{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit;margin:0}
button{background:none;cursor:pointer}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:inherit}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
@keyframes pulse{50%{opacity:.5}}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,0.2,1)}}
.-right-2{right:-0.5rem}
.-scale-x-100{transform:scaleX(-1.0)}
.-top-2{top:-0.5rem}
.absolute{position:absolute}
.accent-amber-500{accent-color:rgb(245 158 11 / 1)}
.accent-emerald-500{accent-color:rgb(16 185 129 / 1)}
.active\:scale-95:active{transform:scale(0.95)}
.animate-bounce{animation:bounce 1s infinite}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}
.bg-amber-500\/10{background-color:rgb(245 158 11 / 0.1)}
.bg-amber-500\/15{background-color:rgb(245 158 11 / 0.15)}
.bg-amber-600{background-color:rgb(217 119 6 / 1)}
.bg-amber-600\/20{background-color:rgb(217 119 6 / 0.2)}
.bg-amber-950{background-color:rgb(69 26 3 / 1)}
.bg-amber-950\/20{background-color:rgb(69 26 3 / 0.2)}
.bg-amber-950\/40{background-color:rgb(69 26 3 / 0.4)}
.bg-black\/80{background-color:rgb(0 0 0 / 0.8)}
.bg-emerald-500\/10{background-color:rgb(16 185 129 / 0.1)}
.bg-emerald-600{background-color:rgb(5 150 105 / 1)}
.bg-emerald-600\/20{background-color:rgb(5 150 105 / 0.2)}
.bg-emerald-700{background-color:rgb(4 120 87 / 1)}
.bg-emerald-950{background-color:rgb(2 44 34 / 1)}
.bg-emerald-950\/40{background-color:rgb(2 44 34 / 0.4)}
.bg-fuchsia-600{background-color:rgb(192 38 211 / 1)}
.bg-indigo-600{background-color:rgb(79 70 229 / 1)}
.bg-orange-600\/20{background-color:rgb(234 88 12 / 0.2)}
.bg-red-600{background-color:rgb(220 38 38 / 1)}
.bg-rose-500{background-color:rgb(244 63 94 / 1)}
.bg-rose-500\/10{background-color:rgb(244 63 94 / 0.1)}
.bg-rose-500\/15{background-color:rgb(244 63 94 / 0.15)}
.bg-rose-500\/20{background-color:rgb(244 63 94 / 0.2)}
.bg-rose-600{background-color:rgb(225 29 72 / 1)}
.bg-rose-600\/15{background-color:rgb(225 29 72 / 0.15)}
.bg-rose-600\/20{background-color:rgb(225 29 72 / 0.2)}
.bg-rose-700{background-color:rgb(190 18 60 / 1)}
.bg-rose-950{background-color:rgb(76 5 25 / 1)}
.bg-rose-950\/20{background-color:rgb(76 5 25 / 0.2)}
.bg-rose-950\/40{background-color:rgb(76 5 25 / 0.4)}
.bg-rose-950\/90{background-color:rgb(76 5 25 / 0.9)}
.bg-sky-500\/10{background-color:rgb(14 165 233 / 0.1)}
.bg-sky-500\/15{background-color:rgb(14 165 233 / 0.15)}
.bg-sky-500\/20{background-color:rgb(14 165 233 / 0.2)}
.bg-sky-600{background-color:rgb(2 132 199 / 1)}
.bg-sky-600\/20{background-color:rgb(2 132 199 / 0.2)}
.bg-sky-700{background-color:rgb(3 105 161 / 1)}
.bg-sky-950\/20{background-color:rgb(8 47 73 / 0.2)}
.bg-slate-700{background-color:rgb(51 65 85 / 1)}
.bg-slate-700\/50{background-color:rgb(51 65 85 / 0.5)}
.bg-slate-700\/60{background-color:rgb(51 65 85 / 0.6)}
.bg-slate-800{background-color:rgb(30 41 59 / 1)}
.bg-slate-800\/60{background-color:rgb(30 41 59 / 0.6)}
.bg-slate-800\/80{background-color:rgb(30 41 59 / 0.8)}
.bg-slate-900{background-color:rgb(15 23 42 / 1)}
.bg-slate-900\/60{background-color:rgb(15 23 42 / 0.6)}
.bg-slate-900\/70{background-color:rgb(15 23 42 / 0.7)}
.bg-slate-900\/80{background-color:rgb(15 23 42 / 0.8)}
.bg-slate-950{background-color:rgb(2 6 23 / 1)}
.bg-slate-950\/40{background-color:rgb(2 6 23 / 0.4)}
.bg-slate-950\/50{background-color:rgb(2 6 23 / 0.5)}
.bg-slate-950\/60{background-color:rgb(2 6 23 / 0.6)}
.bg-slate-950\/95{background-color:rgb(2 6 23 / 0.95)}
.block{display:block}
.border{border-width:1px}
.border-2{border-width:2px}
.border-amber-500{border-color:rgb(245 158 11 / 1)}
.border-amber-500\/20{border-color:rgb(245 158 11 / 0.2)}
.border-amber-500\/30{border-color:rgb(245 158 11 / 0.3)}
.border-amber-500\/40{border-color:rgb(245 158 11 / 0.4)}
.border-amber-600\/50{border-color:rgb(217 119 6 / 0.5)}
.border-b{border-bottom-width:1px}
.border-b-2{border-bottom-width:2px}
.border-emerald-500{border-color:rgb(16 185 129 / 1)}
.border-emerald-500\/20{border-color:rgb(16 185 129 / 0.2)}
.border-emerald-500\/25{border-color:rgb(16 185 129 / 0.25)}
.border-emerald-500\/30{border-color:rgb(16 185 129 / 0.3)}
.border-emerald-500\/40{border-color:rgb(16 185 129 / 0.4)}
.border-emerald-500\/50{border-color:rgb(16 185 129 / 0.5)}
.border-emerald-600\/40{border-color:rgb(5 150 105 / 0.4)}
.border-fuchsia-600\/40{border-color:rgb(192 38 211 / 0.4)}
.border-l-4{border-left-width:4px}
.border-l-amber-500{border-left-color:rgb(245 158 11 / 1)}
.border-l-emerald-500{border-left-color:rgb(16 185 129 / 1)}
.border-l-indigo-500{border-left-color:rgb(99 102 241 / 1)}
.border-l-rose-500{border-left-color:rgb(244 63 94 / 1)}
.border-l-sky-500{border-left-color:rgb(14 165 233 / 1)}
.border-orange-500\/30{border-color:rgb(249 115 22 / 0.3)}
.border-rose-400\/30{border-color:rgb(251 113 133 / 0.3)}
.border-rose-500{border-color:rgb(244 63 94 / 1)}
.border-rose-500\/20{border-color:rgb(244 63 94 / 0.2)}
.border-rose-500\/30{border-color:rgb(244 63 94 / 0.3)}
.border-rose-500\/40{border-color:rgb(244 63 94 / 0.4)}
.border-rose-500\/50{border-color:rgb(244 63 94 / 0.5)}
.border-rose-600\/40{border-color:rgb(225 29 72 / 0.4)}
.border-rose-600\/60{border-color:rgb(225 29 72 / 0.6)}
.border-rose-900\/50{border-color:rgb(136 19 55 / 0.5)}
.border-sky-500{border-color:rgb(14 165 233 / 1)}
.border-sky-500\/20{border-color:rgb(14 165 233 / 0.2)}
.border-sky-500\/30{border-color:rgb(14 165 233 / 0.3)}
.border-sky-500\/40{border-color:rgb(14 165 233 / 0.4)}
.border-sky-600\/40{border-color:rgb(2 132 199 / 0.4)}
.border-slate-600{border-color:rgb(71 85 105 / 1)}
.border-slate-700{border-color:rgb(51 65 85 / 1)}
.border-slate-700\/60{border-color:rgb(51 65 85 / 0.6)}
.border-slate-800{border-color:rgb(30 41 59 / 1)}
.border-slate-900{border-color:rgb(15 23 42 / 1)}
.border-t{border-top-width:1px}
.border-transparent{border-color:transparent}
.cursor-not-allowed{cursor:not-allowed}
.cursor-pointer{cursor:pointer}
.divide-slate-700\/50{border-color:rgb(51 65 85 / 0.5)}
.divide-slate-800{border-color:rgb(30 41 59 / 1)}
.divide-y > :not([hidden]) ~ :not([hidden]){border-top-width:1px}
.duration-75{transition-duration:75ms}
.file\:bg-emerald-600::file-selector-button{background-color:rgb(5 150 105 / 1)}
.file\:bg-slate-700::file-selector-button{background-color:rgb(51 65 85 / 1)}
.file\:border-0::file-selector-button{border-width:0px}
.file\:font-semibold::file-selector-button{font-weight:600}
.file\:mr-2::file-selector-button{margin-right:0.5rem}
.file\:mr-4::file-selector-button{margin-right:1rem}
.file\:px-3::file-selector-button{padding-left:0.75rem;padding-right:0.75rem}
.file\:py-1::file-selector-button{padding-top:0.25rem;padding-bottom:0.25rem}
.file\:py-2::file-selector-button{padding-top:0.5rem;padding-bottom:0.5rem}
.file\:rounded-lg::file-selector-button{border-radius:0.5rem}
.file\:rounded-xl::file-selector-button{border-radius:0.75rem}
.file\:text-amber-400::file-selector-button{color:rgb(251 191 36 / 1)}
.file\:text-emerald-400::file-selector-button{color:rgb(52 211 153 / 1)}
.file\:text-white::file-selector-button{color:rgb(255 255 255 / 1)}
.file\:text-xs::file-selector-button{font-size:0.75rem;line-height:1rem}
.fixed{position:fixed}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.flex-grow{flex-grow:1}
.flex-shrink-0{flex-shrink:0}
.flex-wrap{flex-wrap:wrap}
.focus\:border-amber-500:focus{border-color:rgb(245 158 11 / 1)}
.focus\:border-emerald-500:focus{border-color:rgb(16 185 129 / 1)}
.focus\:border-indigo-500:focus{border-color:rgb(99 102 241 / 1)}
.focus\:border-sky-500:focus{border-color:rgb(14 165 233 / 1)}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.font-black{font-weight:900}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-medium{font-weight:500}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-2{gap:0.5rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-x-4{column-gap:1rem}
.gap-y-1{row-gap:0.25rem}
.grid{display:grid}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-10{height:2.5rem}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-2\.5{height:0.625rem}
.h-20{height:5rem}
.h-4{height:1rem}
.h-48{height:12rem}
.h-5{height:1.25rem}
.h-72{height:18rem}
.h-80{height:20rem}
.h-\[220px\]{height:220px}
.h-full{height:100%}
.hidden{display:none}
.hover\:bg-amber-500:hover{background-color:rgb(245 158 11 / 1)}
.hover\:bg-amber-600\/40:hover{background-color:rgb(217 119 6 / 0.4)}
.hover\:bg-emerald-500:hover{background-color:rgb(16 185 129 / 1)}
.hover\:bg-emerald-600:hover{background-color:rgb(5 150 105 / 1)}
.hover\:bg-emerald-600\/40:hover{background-color:rgb(5 150 105 / 0.4)}
.hover\:bg-fuchsia-500:hover{background-color:rgb(217 70 239 / 1)}
.hover\:bg-indigo-500:hover{background-color:rgb(99 102 241 / 1)}
.hover\:bg-orange-600\/40:hover{background-color:rgb(234 88 12 / 0.4)}
.hover\:bg-red-500:hover{background-color:rgb(239 68 68 / 1)}
.hover\:bg-rose-500:hover{background-color:rgb(244 63 94 / 1)}
.hover\:bg-rose-500\/30:hover{background-color:rgb(244 63 94 / 0.3)}
.hover\:bg-rose-600:hover{background-color:rgb(225 29 72 / 1)}
.hover\:bg-rose-600\/30:hover{background-color:rgb(225 29 72 / 0.3)}
.hover\:bg-rose-600\/40:hover{background-color:rgb(225 29 72 / 0.4)}
.hover\:bg-rose-700:hover{background-color:rgb(190 18 60 / 1)}
.hover\:bg-rose-900\/30:hover{background-color:rgb(136 19 55 / 0.3)}
.hover\:bg-sky-500:hover{background-color:rgb(14 165 233 / 1)}
.hover\:bg-sky-600:hover{background-color:rgb(2 132 199 / 1)}
.hover\:bg-sky-600\/30:hover{background-color:rgb(2 132 199 / 0.3)}
.hover\:bg-sky-600\/40:hover{background-color:rgb(2 132 199 / 0.4)}
.hover\:bg-slate-600:hover{background-color:rgb(71 85 105 / 1)}
.hover\:bg-slate-700:hover{background-color:rgb(51 65 85 / 1)}
.hover\:bg-slate-700\/30:hover{background-color:rgb(51 65 85 / 0.3)}
.hover\:bg-slate-700\/50:hover{background-color:rgb(51 65 85 / 0.5)}
.hover\:bg-slate-800\/50:hover{background-color:rgb(30 41 59 / 0.5)}
.hover\:border-emerald-500:hover{border-color:rgb(16 185 129 / 1)}
.hover\:border-sky-500\/50:hover{border-color:rgb(14 165 233 / 0.5)}
.hover\:border-slate-600:hover{border-color:rgb(71 85 105 / 1)}
.hover\:file\:bg-emerald-500:hover::file-selector-button{background-color:rgb(16 185 129 / 1)}
.hover\:file\:bg-slate-600:hover::file-selector-button{background-color:rgb(71 85 105 / 1)}
.hover\:text-amber-300:hover{color:rgb(252 211 77 / 1)}
.hover\:text-rose-300:hover{color:rgb(253 164 175 / 1)}
.hover\:text-slate-200:hover{color:rgb(226 232 240 / 1)}
.hover\:text-white:hover{color:rgb(255 255 255 / 1)}
.hover\:underline:hover{text-decoration-line:underline}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.inset-0{top:0px;right:0px;bottom:0px;left:0px}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.leading-tight{line-height:1.25}
.left-3{left:0.75rem}
.max-h-40{max-height:10rem}
.max-h-60{max-height:15rem}
.max-h-\[85vh\]{max-height:85vh}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-7xl{max-width:80rem}
.max-w-\[240px\]{max-width:240px}
.max-w-lg{max-width:32rem}
.max-w-md{max-width:28rem}
.max-w-xs{max-width:20rem}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0px}
.min-w-\[18px\]{min-width:18px}
.min-w-\[20px\]{min-width:20px}
.ml-1{margin-left:0.25rem}
.ml-2{margin-left:0.5rem}
.mr-1{margin-right:0.25rem}
.mr-3{margin-right:0.75rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-1\.5{margin-top:0.375rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-5{margin-top:1.25rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.normal-case{text-transform:none}
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}
.opacity-60{opacity:0.6}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-1{padding:0.25rem}
.p-1\.5{padding:0.375rem}
.p-2{padding:0.5rem}
.p-2\.5{padding:0.625rem}
.p-3{padding:0.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pb-3{padding-bottom:0.75rem}
.pl-9{padding-left:2.25rem}
.pr-1{padding-right:0.25rem}
.pr-4{padding-right:1rem}
.pr-8{padding-right:2rem}
.pt-2{padding-top:0.5rem}
.pt-4{padding-top:1rem}
.pt-5{padding-top:1.25rem}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}
.px-2{padding-left:0.5rem;padding-right:0.5rem}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}
.px-3{padding-left:0.75rem;padding-right:0.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.relative{position:relative}
.right-3{right:0.75rem}
.rounded{border-radius:0.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:0.5rem}
.rounded-md{border-radius:0.375rem}
.rounded-xl{border-radius:0.75rem}
.select-none{user-select:none}
.self-end{align-self:flex-end}
.self-start{align-self:flex-start}
.shadow{box-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25)}
.shadow-inner{box-shadow:inset 0 2px 4px 0 rgb(0 0 0 / 0.05)}
.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)}
.shadow-md{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}
.shadow-rose-600\/40{box-shadow:0 10px 15px -3px rgb(225 29 72 / 0.4),0 4px 6px -4px rgb(225 29 72 / 0.4)}
.shadow-rose-600\/50{box-shadow:0 10px 15px -3px rgb(225 29 72 / 0.5),0 4px 6px -4px rgb(225 29 72 / 0.5)}
.shadow-sm{box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}
.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)}
.shrink-0{flex-shrink:0}
.space-x-1\.5 > :not([hidden]) ~ :not([hidden]){margin-left:0.375rem}
.space-x-3 > :not([hidden]) ~ :not([hidden]){margin-left:0.75rem}
.space-y-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem}
.space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem}
.space-y-5 > :not([hidden]) ~ :not([hidden]){margin-top:1.25rem}
.space-y-6 > :not([hidden]) ~ :not([hidden]){margin-top:1.5rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-amber-200{color:rgb(253 230 138 / 1)}
.text-amber-300{color:rgb(252 211 77 / 1)}
.text-amber-400{color:rgb(251 191 36 / 1)}
.text-amber-500{color:rgb(245 158 11 / 1)}
.text-base{font-size:1rem;line-height:1.5rem}
.text-center{text-align:center}
.text-emerald-200{color:rgb(167 243 208 / 1)}
.text-emerald-300{color:rgb(110 231 183 / 1)}
.text-emerald-400{color:rgb(52 211 153 / 1)}
.text-emerald-500{color:rgb(16 185 129 / 1)}
.text-fuchsia-400{color:rgb(232 121 249 / 1)}
.text-indigo-400{color:rgb(129 140 248 / 1)}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-orange-400{color:rgb(251 146 60 / 1)}
.text-red-400{color:rgb(248 113 113 / 1)}
.text-rose-200{color:rgb(254 205 211 / 1)}
.text-rose-300{color:rgb(253 164 175 / 1)}
.text-rose-400{color:rgb(251 113 133 / 1)}
.text-rose-500{color:rgb(244 63 94 / 1)}
.text-sky-200{color:rgb(186 230 253 / 1)}
.text-sky-300{color:rgb(125 211 252 / 1)}
.text-sky-400{color:rgb(56 189 248 / 1)}
.text-sky-500{color:rgb(14 165 233 / 1)}
.text-slate-100{color:rgb(241 245 249 / 1)}
.text-slate-200{color:rgb(226 232 240 / 1)}
.text-slate-300{color:rgb(203 213 225 / 1)}
.text-slate-400{color:rgb(148 163 184 / 1)}
.text-slate-500{color:rgb(100 116 139 / 1)}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-white{color:rgb(255 255 255 / 1)}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.top-3{top:0.75rem}
.top-3\.5{top:0.875rem}
.tracking-wide{letter-spacing:0.025em}
.tracking-wider{letter-spacing:0.05em}
.tracking-widest{letter-spacing:0.1em}
.transform{transform:translate(var(--tw-tx,0),var(--tw-ty,0)) rotate(var(--tw-rot,0)) scale(var(--tw-sx,1),var(--tw-sy,1))}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.uppercase{text-transform:uppercase}
.w-0{width:0px}
.w-10{width:2.5rem}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-16{width:4rem}
.w-20{width:5rem}
.w-4{width:1rem}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-50{z-index:50}
.z-\[60\]{z-index:60}
.z-\[70\]{z-index:70}
@media (min-width:640px){
  .sm\:flex-row{flex-direction:row}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:col-span-1{grid-column:span 1/span 1}
  .md\:col-span-2{grid-column:span 2/span 2}
  .md\:col-span-5{grid-column:span 5/span 5}
  .md\:flex-none{flex:none}
  .md\:flex-nowrap{flex-wrap:nowrap}
  .md\:flex-row{flex-direction:row}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:items-center{align-items:center}
  .md\:justify-between{justify-content:space-between}
  .md\:p-6{padding:1.5rem}
  .md\:p-8{padding:2rem}
  .md\:text-right{text-align:right}
  .md\:w-auto{width:auto}
}
@media (min-width:1024px){
  .lg\:col-span-2{grid-column:span 2/span 2}
  .lg\:flex-row{flex-direction:row}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lg\:w-auto{width:auto}
}
/* --- clases propias de la app (antes en bloques <style> en linea) --- */
.no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

/* --- Extras horneados para index.html (hardening #11) --- */
.bg-black{background-color:rgb(0 0 0 / 1)}
.pb-4{padding-bottom:1rem}
.hover\:text-emerald-400:hover{color:rgb(52 211 153 / 1)}
.aspect-video{aspect-ratio:16 / 9}
@keyframes girarSync{to{transform:rotate(360deg)}}
#indicadorSync .icono-girando{display:inline-block;animation:girarSync 1s linear infinite}
/* Alerta visual: objetivo incorrecto al marcar SALIDA (aditivo, no pisa estilos base del select) */
@keyframes shakeObjetivo{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.objetivo-error{border-color:rgb(244 63 94 / 1)!important;box-shadow:0 0 0 3px rgb(244 63 94 / 0.35)!important;animation:shakeObjetivo .4s ease-in-out}
/* Boton SALIDA bloqueado hasta corregir el objetivo (aditivo) */
.btn-bloqueado{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.4)!important;pointer-events:none!important}

/* Impresion aislada del comprobante de PIN (patron "mostrar una sola vez").
   Al imprimir con body.print-comprobante se oculta todo menos el comprobante,
   y la tarjeta se pasa a tinta sobre blanco para que salga legible en papel. */
@media print{
  body.print-comprobante>*:not(#modalComprobantePin){display:none!important}
  body.print-comprobante #modalComprobantePin{position:static!important;display:block!important;background:#fff!important;backdrop-filter:none!important;padding:0!important}
  body.print-comprobante #modalComprobantePin>div{max-width:100%!important;background:#fff!important;border:none!important;box-shadow:none!important}
  body.print-comprobante #modalComprobantePin .no-print{display:none!important}
  body.print-comprobante #modalComprobantePin .comprobante-card{border:1px solid #000!important;border-radius:0!important;padding:16px!important}
  body.print-comprobante #modalComprobantePin .comprobante-card *{color:#000!important}
  body.print-comprobante #modalComprobantePin .comprobante-card .border-b,
  body.print-comprobante #modalComprobantePin .comprobante-card .border{border-color:#000!important}
  body.print-comprobante #modalComprobantePin #comprobantePin{color:#000!important}
}
