/* ==========================================================================
   LÍNEA DE ACERO — capa de utilidades
   Geometría, espaciado y color. Los nombres siguen la convención de utilidades
   habitual, pero cada valor de color resuelve a un token de la LEY DE PALETA:
   seis colores y una rampa de acero. No hay un séptimo color en el sistema.
   ========================================================================== */

/* --- Reset ---------------------------------------------------------------- */
*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: var(--line); }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; }
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
p, figure, blockquote, dl, dd, pre { margin: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
code, kbd, samp, pre { font-family: var(--mono); font-size: 1em; }
small { font-size: 80%; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; }
button, select { text-transform: none; }
button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; cursor: pointer; }
:-moz-focusring { outline: auto; }
summary { display: list-item; cursor: pointer; }
fieldset, legend { margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: var(--ink-3); }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }
[hidden] { display: none !important; }

/* --- Display / flujo ------------------------------------------------------ */
.block{display:block}.inline-block{display:inline-block}.inline{display:inline}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}
.table{display:table}.contents{display:contents}.hidden{display:none}
.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}
.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}
.grow{flex-grow:1}.grow-0{flex-grow:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}
.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}
.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}
.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}
.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}
.content-center{align-content:center}.content-start{align-content:start}
.order-first{order:-9999}.order-last{order:9999}
.place-center{place-items:center}

.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}
.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.col-span-6{grid-column:span 6/span 6}
.col-span-8{grid-column:span 8/span 8}.col-span-12{grid-column:span 12/span 12}.col-span-full{grid-column:1/-1}
.row-span-2{grid-row:span 2/span 2}
.auto-rows-max{grid-auto-rows:max-content}

/* --- Espaciado ------------------------------------------------------------ */
.gap-0{gap:0}.gap-px{gap:1px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}
.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}
.gap-8{gap:2rem}.gap-10{gap:2.5rem}
.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}
.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.gap-y-6{row-gap:1.5rem}

.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}
.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}
.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.p-12{padding:3rem}
.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}
.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}
.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}
.px-3\.5{padding-left:.875rem;padding-right:.875rem}
.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}.px-8{padding-left:2rem;padding-right:2rem}
.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}
.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-24{padding-bottom:6rem}
.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-10{padding-left:2.5rem}
.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-6{padding-right:1.5rem}.pr-10{padding-right:2.5rem}

.m-0{margin:0}.m-auto{margin:auto}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}
.mx-auto{margin-left:auto;margin-right:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}
.mx-3{margin-left:.75rem;margin-right:.75rem}
.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}
.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}
.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}
.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}
.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}
.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}
.-mt-1{margin-top:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-1{margin-right:-.25rem}.-ml-1{margin-left:-.25rem}

.space-x-1>*+*{margin-left:.25rem}.space-x-2>*+*{margin-left:.5rem}.space-x-3>*+*{margin-left:.75rem}.space-x-4>*+*{margin-left:1rem}
.space-y-1>*+*{margin-top:.25rem}.space-y-1\.5>*+*{margin-top:.375rem}.space-y-2>*+*{margin-top:.5rem}
.space-y-2\.5>*+*{margin-top:.625rem}
.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-5>*+*{margin-top:1.25rem}.space-y-6>*+*{margin-top:1.5rem}

/* --- Tamaños -------------------------------------------------------------- */
.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.w-px{width:1px}.w-fit{width:fit-content}
.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}
.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}
.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}
.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}
.w-56{width:14rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}
.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}
.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.h-px{height:1px}
.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}
.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}
.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}
.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-48{height:12rem}.h-56{height:14rem}.h-64{height:16rem}.h-80{height:20rem}
.min-w-0{min-width:0}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.min-w-full{min-width:100%}
.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}
.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-h-40{max-height:10rem}.max-h-56{max-height:14rem}
.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}
.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}

/* --- Posición ------------------------------------------------------------- */
.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}
.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-1\/2{top:50%}.top-full{top:100%}
.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}
.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}
.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-1\/2{left:50%}
.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}

/* --- Tipografía ----------------------------------------------------------- */
.text-\[10px\]{font-size:11px}.text-\[11px\]{font-size:11px}
.text-xs{font-size:.75rem;line-height:1.35}.text-sm{font-size:.8125rem;line-height:1.45}
.text-base{font-size:.875rem;line-height:1.5}.text-lg{font-size:1rem;line-height:1.45}
.text-xl{font-size:1.2rem;line-height:1.3}.text-2xl{font-size:1.44rem;line-height:1.2}
.text-3xl{font-size:1.728rem;line-height:1.15}.text-4xl{font-size:2.074rem;line-height:1.1}
.text-5xl{font-size:2.986rem;line-height:1.02}
.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}
.font-bold{font-weight:700}.font-extrabold{font-weight:700}.font-black{font-weight:700}
.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}
.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}
.italic{font-style:italic}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}
.leading-none{line-height:1}.leading-tight{line-height:1.2}.leading-snug{line-height:1.35}
.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.6}
.tracking-tight{letter-spacing:-.02em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.04em}.tracking-wider{letter-spacing:.09em}
.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.font-mono{font-family:var(--mono)}
.tabular-nums{font-variant-numeric:tabular-nums}
.condensed{font-stretch:86%}

/* --- Color de texto: resuelve a la LEY DE PALETA -------------------------- */
.text-white{color:#fff}.text-black{color:var(--ink)}.text-transparent{color:transparent}.text-current{color:currentColor}
.text-slate-50,.text-slate-100,.text-gray-100{color:var(--cream)}
.text-slate-200,.text-gray-200{color:var(--cream-3)}
.text-slate-300,.text-gray-300{color:var(--ink-3)}
.text-slate-400,.text-gray-400{color:var(--ink-3)}
.text-slate-500,.text-gray-500{color:var(--ink-3)}
.text-slate-600,.text-gray-600{color:var(--ink-2)}
.text-slate-700,.text-gray-700{color:var(--ink-2)}
.text-slate-800,.text-slate-900,.text-gray-900{color:var(--ink)}
.text-blue-400,.text-blue-500,.text-sky-500,.text-cyan-500{color:var(--azul)}
.text-blue-600,.text-blue-700,.text-blue-800,.text-sky-600,.text-cyan-600,.text-cyan-700{color:var(--azul-deep)}
.text-emerald-400,.text-emerald-500,.text-green-500{color:var(--verde)}
.text-emerald-600,.text-emerald-700,.text-emerald-800,.text-green-600,.text-green-700,.text-teal-600{color:var(--verde-deep)}
.text-red-400,.text-red-500,.text-rose-500{color:var(--brasa)}
.text-red-600,.text-red-700,.text-red-800,.text-rose-600,.text-rose-700{color:var(--brasa-deep)}
.text-amber-400,.text-amber-500,.text-orange-500,.text-yellow-500{color:var(--oro)}
.text-amber-600,.text-amber-700,.text-amber-800,.text-orange-600,.text-orange-700{color:var(--oro-deep)}
.text-violet-500,.text-indigo-500,.text-purple-600,.text-pink-600{color:var(--uva)}
.text-violet-600,.text-violet-700,.text-indigo-600,.text-indigo-700{color:var(--uva-deep)}

/* --- Fondos --------------------------------------------------------------- */
.bg-transparent{background-color:transparent}
.bg-white{background-color:var(--paper)}
.bg-black{background-color:var(--coal-900)}
.bg-slate-50,.bg-gray-50{background-color:var(--cream)}
.bg-slate-100,.bg-gray-100{background-color:var(--cream)}
.bg-slate-200,.bg-gray-200{background-color:var(--cream-2)}
.bg-slate-300{background-color:var(--cream-3)}
.bg-slate-400{background-color:var(--ink-3)}
.bg-slate-500{background-color:var(--ink-3)}
.bg-slate-600{background-color:var(--coal-500)}
.bg-slate-700{background-color:var(--coal-700)}
.bg-slate-800{background-color:var(--coal-800)}
.bg-slate-900{background-color:var(--coal-900)}
.bg-blue-50,.bg-sky-50,.bg-cyan-50{background-color:var(--azul-soft)}
.bg-blue-100,.bg-sky-100,.bg-cyan-100{background-color:var(--azul-soft)}
.bg-blue-200{background-color:var(--azul-soft)}
.bg-blue-500,.bg-blue-600,.bg-sky-500,.bg-cyan-500{background-color:var(--azul)}
.bg-blue-700{background-color:var(--azul-deep)}
.bg-emerald-50,.bg-green-50{background-color:var(--verde-soft)}
.bg-emerald-100,.bg-green-100{background-color:var(--verde-soft)}
.bg-emerald-500,.bg-green-500,.bg-emerald-600,.bg-green-600{background-color:var(--verde)}
.bg-red-50,.bg-rose-50{background-color:var(--brasa-soft)}
.bg-red-100,.bg-rose-100{background-color:var(--brasa-soft)}
.bg-red-500,.bg-red-600,.bg-rose-500,.bg-rose-600{background-color:var(--brasa)}
.bg-amber-50,.bg-orange-50,.bg-yellow-100{background-color:var(--oro-soft)}
.bg-amber-100,.bg-orange-100{background-color:var(--oro-soft)}
.bg-amber-400,.bg-amber-500,.bg-orange-500{background-color:var(--oro)}
.bg-violet-50,.bg-indigo-50,.bg-purple-100,.bg-pink-100{background-color:var(--uva-soft)}
.bg-violet-100,.bg-indigo-100{background-color:var(--uva-soft)}
.bg-violet-500,.bg-violet-600,.bg-indigo-500,.bg-indigo-600{background-color:var(--uva)}
.bg-teal-100{background-color:var(--verde-soft)}

/* --- Bordes: geometría de máquina ---------------------------------------- */
.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}
.border-t{border-top-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}
.border-t-2{border-top-width:2px}.border-b-2{border-bottom-width:2px}
.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}
.border-transparent{border-color:transparent}.border-white{border-color:var(--paper)}
.border-slate-100,.border-gray-200{border-color:var(--line-2)}
.border-slate-200,.border-gray-300{border-color:var(--line)}
.border-slate-300{border-color:var(--cream-3)}
.border-slate-400{border-color:var(--ink-3)}
.border-slate-700{border-color:var(--coal-700)}.border-slate-800{border-color:var(--coal-800)}
.border-blue-200,.border-blue-300{border-color:var(--azul-soft)}
.border-blue-500,.border-blue-600{border-color:var(--azul)}
.border-emerald-200,.border-emerald-500,.border-green-200{border-color:var(--verde)}
.border-red-200,.border-red-300{border-color:var(--brasa-soft)}.border-red-500{border-color:var(--brasa)}
.border-amber-200,.border-amber-300{border-color:var(--oro-soft)}.border-amber-500{border-color:var(--oro)}
.border-violet-200,.border-orange-200{border-color:var(--uva-soft)}

.rounded-none{border-radius:0}.rounded-sm{border-radius:2px}.rounded{border-radius:var(--r-xs)}
.rounded-md{border-radius:var(--r-xs)}.rounded-lg{border-radius:var(--r-sm)}.rounded-xl{border-radius:var(--r-sm)}
.rounded-2xl{border-radius:var(--r-md)}.rounded-3xl{border-radius:var(--r-md)}.rounded-full{border-radius:9999px}
.rounded-t-lg,.rounded-t-xl{border-top-left-radius:var(--r-sm);border-top-right-radius:var(--r-sm)}
.rounded-b-lg,.rounded-b-xl{border-bottom-left-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}
.rounded-l-lg{border-top-left-radius:var(--r-sm);border-bottom-left-radius:var(--r-sm)}
.rounded-r-lg{border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}

/* --- Elevación: el acero no flota ---------------------------------------- */
.shadow-none{box-shadow:none}
.shadow-sm,.shadow{box-shadow:var(--sh-1)}
.shadow-md{box-shadow:var(--sh-3)}
.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:var(--sh-4)}
.shadow-inner{box-shadow:inset 0 1px 3px rgba(26,21,18,.08)}

.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}
.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}
.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-visible{overflow:visible}
.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}
.object-cover{object-fit:cover}.object-contain{object-fit:contain}.object-center{object-position:center}
.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}
.select-none{user-select:none}.select-all{user-select:all}
.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}
.resize-none{resize:none}
.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:var(--ease);transition-duration:140ms}
.transition-all{transition-property:all;transition-timing-function:var(--ease);transition-duration:140ms}
.transition-colors{transition-property:color,background-color,border-color;transition-timing-function:var(--ease);transition-duration:140ms}
.transition-transform{transition-property:transform;transition-timing-function:var(--ease);transition-duration:140ms}
.transition-opacity{transition-property:opacity;transition-timing-function:var(--ease);transition-duration:140ms}
.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}
.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}
.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.03)}.scale-110{transform:scale(1.06)}
.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}
.-translate-x-1\/2{transform:translateX(-50%)}.-translate-y-1\/2{transform:translateY(-50%)}
.grayscale{filter:grayscale(100%)}
.appearance-none{appearance:none}
.list-disc{list-style-type:disc}.list-inside{list-style-position:inside}
.align-middle{vertical-align:middle}.align-top{vertical-align:top}

/* --- Estados -------------------------------------------------------------- */
.hover\:bg-slate-50:hover,.hover\:bg-slate-100:hover{background-color:var(--cream)}
.hover\:bg-slate-200:hover{background-color:var(--cream-2)}
.hover\:bg-slate-800:hover{background-color:var(--coal-700)}
.hover\:bg-blue-50:hover,.hover\:bg-blue-100:hover{background-color:var(--azul-soft)}
.hover\:bg-blue-700:hover{background-color:var(--azul-deep)}
.hover\:bg-red-50:hover,.hover\:bg-red-100:hover{background-color:var(--brasa-soft)}
.hover\:bg-red-600:hover{background-color:var(--brasa-deep)}
.hover\:bg-emerald-50:hover{background-color:var(--verde-soft)}.hover\:bg-emerald-600:hover{background-color:var(--verde-deep)}
.hover\:bg-amber-50:hover{background-color:var(--oro-soft)}
.hover\:bg-white:hover{background-color:var(--paper)}
.hover\:text-white:hover{color:#fff}
.hover\:text-slate-900:hover{color:var(--ink)}.hover\:text-slate-700:hover{color:var(--ink-2)}
.hover\:text-blue-600:hover,.hover\:text-blue-700:hover{color:var(--azul-deep)}
.hover\:text-red-600:hover{color:var(--brasa-deep)}
.hover\:border-blue-300:hover,.hover\:border-blue-500:hover{border-color:var(--azul)}
.hover\:border-slate-300:hover{border-color:var(--cream-3)}
.hover\:border-red-300:hover{border-color:var(--brasa)}
.hover\:shadow-md:hover{box-shadow:var(--sh-3)}
.hover\:shadow-lg:hover{box-shadow:var(--sh-4)}
.hover\:opacity-100:hover{opacity:1}
.hover\:scale-105:hover{transform:scale(1.03)}
.hover\:underline:hover{text-decoration-line:underline}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}
.disabled\:opacity-50:disabled{opacity:.45}
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:scale-105{transform:scale(1.03)}
.group:hover .group-hover\:text-blue-600{color:var(--azul-deep)}
.group:hover .group-hover\:flex{display:flex}
.group:hover .group-hover\:block{display:block}

/* --- Responsivo ----------------------------------------------------------- */
@media (min-width:640px){
  .sm\:block{display:block}.sm\:hidden{display:none}.sm\:flex{display:flex}.sm\:inline{display:inline}
  .sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sm\:text-base{font-size:.875rem}.sm\:text-lg{font-size:1rem}
  .sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:w-auto{width:auto}.sm\:gap-4{gap:1rem}
}
@media (min-width:768px){
  .md\:block{display:block}.md\:hidden{display:none}.md\:flex{display:flex}.md\:grid{display:grid}.md\:inline{display:inline}
  .md\:inline-flex{display:inline-flex}
  .md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}
  .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\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}
  .md\:w-64{width:16rem}.md\:w-80{width:20rem}.md\:w-96{width:24rem}.md\:w-auto{width:auto}
  .md\:text-2xl{font-size:1.44rem}.md\:text-3xl{font-size:1.728rem}
  .md\:p-6{padding:1.5rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}
}
@media (min-width:1024px){
  .lg\:block{display:block}.lg\:hidden{display:none}.lg\:flex{display:flex}.lg\:grid{display:grid}
  .lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}
  .lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}
  .lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}
  .lg\:w-72{width:18rem}.lg\:w-80{width:20rem}.lg\:w-96{width:24rem}
  .lg\:p-6{padding:1.5rem}.lg\:text-4xl{font-size:2.074rem}
}
@media (min-width:1280px){
  .xl\:block{display:block}.xl\:hidden{display:none}.xl\:flex{display:flex}
  .xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
  .xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}
  .xl\:col-span-2{grid-column:span 2/span 2}.xl\:w-96{width:24rem}
}
