/* app.css — design system estático (Tailwind→CSS puro, verbatim do mockup) */
:root{--tw-ring-color:rgb(12 48 45 / .05)}
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(221 232 226);--tw-ring-shadow:0 0 0 0 transparent;--tw-shadow:0 0 transparent}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
img,svg,canvas,video{display:block;max-width:100%}
table{border-collapse:collapse}
hr{height:0;color:inherit;border-top-width:1px}
/* reset de transição (spec §4): anchor de navegação + form controls */
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
.no-spin::-webkit-inner-spin-button,.no-spin::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* componentes próprios do mockup (verbatim) */
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.display{font-weight:800;letter-spacing:-.025em}
.grain{background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:5px 5px}
::-webkit-scrollbar{height:0;width:0}
summary::-webkit-details-marker{display:none}
.fade{animation:fu .5s cubic-bezier(.2,.7,.3,1) both}
@keyframes fu{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
[stag]>*{animation:fu .45s cubic-bezier(.2,.7,.3,1) both}
.seat{width:38px;height:40px}
::selection{background:rgb(236 90 60);color:#fff}
/* ring system */
.divide-y>*+*{border-top-width:1px;border-top-style:solid}

.-bottom-10{bottom:-2.5rem}
.-mt-10{margin-top:-2.5rem}
.-mt-2{margin-top:-.5rem}
.-right-10{right:-2.5rem}
.-right-12{right:-3rem}
.-right-24{right:-24}
.-rotate-6{transform:rotate(-6deg)}
.-top-12{top:-3rem}
.-top-24{top:-24}
.absolute{position:absolute}
.accent-coral{accent-color:rgb(236 90 60)}
.active\:scale-95:active{transform:scale(0.95)}
.active\:scale-\[\.98\]:active{transform:scale(.98)}
.antialiased{-webkit-font-smoothing:antialiased}
.aspect-\[4\/3\]{aspect-ratio:4/ 3}
.bg-amber-400\/20{background-color:rgb(251 191 36 / .2)}
.bg-amber-500{background-color:rgb(245 158 11)}
.bg-amber-600{background-color:rgb(217 119 6)}
.bg-black{background-color:rgb(0 0 0)}
.bg-black\/30{background-color:rgb(0 0 0 / .3)}
.bg-coral{background-color:rgb(236 90 60)}
.bg-coral\/10{background-color:rgb(236 90 60 / .1)}
.bg-coral\/15{background-color:rgb(236 90 60 / .15)}
.bg-coral\/20{background-color:rgb(236 90 60 / .2)}
.bg-coral\/5,.hover\:bg-coral\/5:hover{background-color:rgb(236 90 60 / .05)}
.bg-cream,.hover\:bg-cream:hover{background-color:rgb(244 240 231)}
.bg-cream\/40,.hover\:bg-cream\/40:hover{background-color:rgb(244 240 231 / .4)}
.bg-cream\/50{background-color:rgb(244 240 231 / .5)}
.bg-cream\/60{background-color:rgb(244 240 231 / .6)}
.bg-deep{background-color:rgb(7 28 26)}
.bg-emerald-500{background-color:rgb(16 185 129)}
.bg-emerald-500\/10{background-color:rgb(16 185 129 / .1)}
.bg-emerald-600{background-color:rgb(5 150 105)}
.bg-mist,.hover\:bg-mist:hover{background-color:rgb(221 232 226)}
.bg-mist\/60{background-color:rgb(221 232 226 / .6)}
.bg-sky-600{background-color:rgb(2 132 199)}
.bg-teal{background-color:rgb(12 48 45)}
.bg-transparent{background-color:transparent}
.bg-white,.hover\:bg-white:hover{background-color:rgb(255 255 255)}
.bg-white\/10{background-color:rgb(255 255 255 / .1)}
.bg-white\/5{background-color:rgb(255 255 255 / .05)}
.block{display:block}
.blur-2xl{filter:blur(40px)}
.blur-3xl{filter:blur(64px)}
.border{border-width:1px;border-style:solid}
.border-2{border-width:2px;border-style:solid}
.border-b{border-bottom-width:1px;border-style:solid}
.border-coral,.hover\:border-coral:hover{border-color:rgb(236 90 60)}
.border-coral\/30{border-color:rgb(236 90 60 / .3)}
.border-coral\/70{border-color:rgb(236 90 60 / .7)}
.border-ink\/10{border-color:rgb(10 36 34 / .1)}
.border-ink\/5{border-color:rgb(10 36 34 / .05)}
.border-t{border-top-width:1px;border-style:solid}
.border-white\/5{border-color:rgb(255 255 255 / .05)}
.col-span-full{grid-column:1 / -1}
.cursor-pointer{cursor:pointer}
.disabled\:opacity-40:disabled{opacity:.4}
.disabled\:saturate-0:disabled{filter:saturate(0)}
.divide-ink\/5>*+*{border-color:rgb(10 36 34 / .05)}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-wrap{flex-wrap:wrap}
.focus\:ring-2:focus{--tw-ring-shadow:0 0 0 2px var(--tw-ring-color);box-shadow:var(--tw-ring-shadow),var(--tw-shadow)}
.focus\:ring-coral:focus{--tw-ring-color:rgb(236 90 60)}
.focus\:ring-coral\/40:focus{--tw-ring-color:rgb(236 90 60 / .4)}
.focus\:ring-coral\/50:focus{--tw-ring-color:rgb(236 90 60 / .5)}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-normal{font-weight:400}
.font-semibold{font-weight:600}
.gap-1{gap:.25rem}
.gap-1\.5{gap:.375rem}
.gap-2{gap:.5rem}
.gap-2\.5{gap:.625rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-x-3{column-gap:.75rem}
.gap-y-2{row-gap:.5rem}
.grid{display:grid}
.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))}
.group:hover .group-hover\:text-coral,.hover\:text-coral:hover{color:rgb(236 90 60)}
.group[open] .group-open\:rotate-180{transform:rotate(180deg)}
.h-1\.5{height:.375rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-16{height:4rem}
.h-2{height:.5rem}
.h-3{height:.75rem}
.h-4{height:1rem}
.h-40{height:10rem}
.h-48{height:12rem}
.h-5{height:1.25rem}
.h-8{height:2rem}
.h-80{height:20rem}
.h-9{height:2.25rem}
.h-full{height:100%}
.hidden{display:none}
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}

.hover\:bg-white\/15:hover{background-color:rgb(255 255 255 / .15)}
.hover\:bg-white\/20:hover{background-color:rgb(255 255 255 / .2)}

.hover\:brightness-105:hover{filter:brightness(1.05)}
.hover\:brightness-110:hover{filter:brightness(1.10)}
.hover\:brightness-95:hover{filter:brightness(.95)}
.disabled\:saturate-0:disabled:hover{filter:saturate(0) brightness(1.05)}
.hover\:ring-coral\/40:hover{--tw-ring-color:rgb(236 90 60 / .4)}
.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgb(0 0 0 /.1),0 4px 6px -4px rgb(0 0 0 /.1);box-shadow:var(--tw-ring-shadow),var(--tw-shadow)}

.hover\:text-cream:hover{color:rgb(244 240 231)}
.hover\:text-teal:hover{color:rgb(12 48 45)}
.inline{display:inline}
.inline-block{display:inline-block}
.inline-flex{display:inline-flex}
.inset-0{inset:0}
.inset-8{inset:2rem}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-end{justify-content:flex-end}
.last\:border-0{border-width:0}
.leading-\[\.95\]{line-height:.95}
.leading-none{line-height:1}
@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.list-none{list-style:none}
.max-h-\[480px\]{max-height:480px}
.max-w-2xl{max-width:42rem}
.max-w-6xl{max-width:72rem}
.max-w-\[60\%\]{max-width:60%}
.max-w-full{max-width:100%}
.max-w-md{max-width:28rem}
.max-w-sm{max-width:24rem}
.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}
.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh-4rem)}
.min-h-screen{min-height:100vh}
.min-w-0{min-width:0}
.min-w-\[1\.75rem\]{min-width:1.75rem}
.min-w-\[160px\]{min-width:160px}
.ml-3{margin-left:.75rem}
.ml-auto{margin-left:auto}
.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}
.mx-auto{margin-left:auto;margin-right:auto}
.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}
.object-cover{object-fit:cover}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.overflow-hidden{overflow:hidden}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.p-1{padding:.25rem}
.p-1\.5{padding:.375rem}
.p-2{padding:.5rem}
.p-2\.5{padding:.625rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.pb-20{padding-bottom:5rem}
.pb-3{padding-bottom:.75rem}
.pb-4{padding-bottom:1rem}
.pl-2{padding-left:.5rem}
.pl-3{padding-left:.75rem}
.place-items-center{place-items:center}
.pr-1\.5{padding-right:.375rem}
.pt-12{padding-top:3rem}
.pt-2{padding-top:.5rem}
.pt-3{padding-top:.75rem}
.pt-4{padding-top:1rem}
.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-7{padding-left:1.75rem;padding-right:1.75rem}
.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-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.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-3\.5{padding-top:.875rem;padding-bottom:.875rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.relative{position:relative}
.right-4{right:1rem}
.ring-1{--tw-ring-shadow:0 0 0 1px var(--tw-ring-color);box-shadow:var(--tw-ring-shadow),var(--tw-shadow)}
.ring-coral\/30{--tw-ring-color:rgb(236 90 60 / .3)}
.ring-emerald-500\/30{--tw-ring-color:rgb(16 185 129 / .3)}
.ring-ink\/10{--tw-ring-color:rgb(10 36 34 / .1)}
.ring-ink\/5{--tw-ring-color:rgb(10 36 34 / .05)}
.ring-white\/10{--tw-ring-color:rgb(255 255 255 / .1)}
.ring-white\/15{--tw-ring-color:rgb(255 255 255 / .15)}
.rounded{border-radius:.25rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.select-none{user-select:none}
.selection\:bg-coral::selection{background-color:rgb(236 90 60)}
.selection\:text-white::selection{color:rgb(255 255 255)}
.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);box-shadow:var(--tw-ring-shadow),var(--tw-shadow)}
.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0 /.1),0 8px 10px -6px rgb(0 0 0 /.1);box-shadow:var(--tw-ring-shadow),var(--tw-shadow)}
.shrink-0{flex-shrink:0}
@media(min-width:640px){.sm\:block{display:block}}
@media(min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2}}
@media(min-width:640px){.sm\:col-span-3{grid-column:span 3 / span 3}}
@media(min-width:640px){.sm\:col-span-4{grid-column:span 4 / span 4}}
@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:640px){.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:640px){.sm\:p-4{padding:1rem}}
@media(min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}
@media(min-width:640px){.sm\:right-6{right:1.5rem}}
@media(min-width:640px){.sm\:text-6xl{font-size:3.75rem;line-height:1}}
.space-y-1\.5>*+*{margin-top:.375rem}
.space-y-2>*+*{margin-top:.5rem}
.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}
.sticky{position:sticky}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-\[10px\]{font-size:10px}
.text-\[11px\]{font-size:11px}
.text-amber-300{color:rgb(252 211 77)}
.text-amber-700{color:rgb(180 83 9)}
.text-center{text-align:center}
.text-coral{color:rgb(236 90 60)}
.text-cream{color:rgb(244 240 231)}
.text-cream\/40{color:rgb(244 240 231 / .4)}
.text-cream\/45{color:rgb(244 240 231 / .45)}
.text-cream\/50{color:rgb(244 240 231 / .5)}
.text-cream\/55{color:rgb(244 240 231 / .55)}
.text-cream\/60{color:rgb(244 240 231 / .6)}
.text-cream\/65{color:rgb(244 240 231 / .65)}
.text-cream\/70{color:rgb(244 240 231 / .7)}
.text-deep{color:rgb(7 28 26)}
.text-emerald-400{color:rgb(52 211 153)}
.text-emerald-600{color:rgb(5 150 105)}
.text-emerald-700{color:rgb(4 120 87)}
.text-ink{color:rgb(10 36 34)}
.text-ink\/20{color:rgb(10 36 34 / .2)}
.text-ink\/30{color:rgb(10 36 34 / .3)}
.text-ink\/35{color:rgb(10 36 34 / .35)}
.text-ink\/40{color:rgb(10 36 34 / .4)}
.text-ink\/45{color:rgb(10 36 34 / .45)}
.text-ink\/50{color:rgb(10 36 34 / .5)}
.text-ink\/55{color:rgb(10 36 34 / .55)}
.text-ink\/60{color:rgb(10 36 34 / .6)}
.text-ink\/70{color:rgb(10 36 34 / .7)}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-right{text-align:right}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-teal{color:rgb(12 48 45)}
.text-teal\/70{color:rgb(12 48 45 / .7)}
.text-white{color:rgb(255 255 255)}
.text-xs{font-size:.75rem;line-height:1rem}
.top-0{top:0}
.top-4{top:1rem}
.tracking-\[\.15em\]{letter-spacing:.15em}
.tracking-\[\.18em\]{letter-spacing:.18em}
.tracking-\[\.2em\]{letter-spacing:.2em}
.tracking-\[\.4em\]{letter-spacing:.4em}
.tracking-wide{letter-spacing:.025em}
.transition{transition:all .18s cubic-bezier(.4,0,.2,1)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.underline{text-decoration:underline}
.underline-offset-4{text-underline-offset:4px}
.uppercase{text-transform:uppercase}
.w-1\.5{width:.375rem}
.w-10{width:2.5rem}
.w-16{width:4rem}
.w-28{width:7rem}
.w-3{width:.75rem}
.w-4{width:1rem}
.w-40{width:10rem}
.w-48{width:12rem}
.w-5{width:1.25rem}
.w-56{width:14rem}
.w-8{width:2rem}
.w-80{width:20rem}
.w-9{width:2.25rem}
.w-fit{width:fit-content}
.w-full{width:100%}
.whitespace-nowrap{white-space:nowrap}
.z-40{z-index:40}
.z-50{z-index:50}
.ring-amber-400\/40{--tw-ring-color:rgba(251,191,36,.4)}
.w-2{width:.5rem}
.justify-center{justify-content:center}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.opacity-40{opacity:.4}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:9999px;animation:spin .6s linear infinite;vertical-align:-2px}
.is-busy{pointer-events:none;opacity:.6}
.min-w-\[200px\]{min-width:200px}
.mt-8{margin-top:2rem}
.bg-emerald-500\/15{background-color:rgb(16 185 129 / .15)}
.legal-dlg{width:min(100% - 2rem,42rem);max-height:82vh;overflow-y:auto;border-radius:1.5rem;padding:1.5rem;background:#fff;color:rgb(10 36 34);box-shadow:0 24px 60px rgb(7 28 26 / .28)}
.legal-dlg::backdrop{background:rgb(7 28 26 / .55)}
.prose-legal h3{font-size:.875rem}
.prose-legal p{line-height:1.65}
.hover\:text-ink:hover{color:rgb(10 36 34)}
.max-w-3xl{max-width:48rem}
.mt-10{margin-top:2.5rem}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.hover\:bg-coral\/10:hover{background-color:rgb(236 90 60 / .1)}
.w-14{width:3.5rem}
.w-36{width:9rem}
.ck-hl{outline:2px solid rgb(236 90 60);outline-offset:2px;transition:outline-color .3s}
.bg-cream\/70{background-color:rgb(244 240 231 / .7)}
.normal-case{text-transform:none}
.bg-ink\/10{background-color:rgb(10 36 34 / .1)}
.h-7{height:1.75rem}
.w-7{width:1.75rem}
.h-px{height:1px}
.mx-6{margin-left:1.5rem;margin-right:1.5rem}
.pt-5{padding-top:1.25rem}
.ring-ink\/20{--tw-ring-color:rgb(10 36 34 / .2)}
.ring-teal\/10{--tw-ring-color:rgb(12 48 45 / .1)}
.ring-teal\/15{--tw-ring-color:rgb(12 48 45 / .15)}
.bg-mist\/60{background-color:rgb(221 232 226 / .6)}
.pointer-events-none{pointer-events:none}
.bg-white\/50{background-color:rgb(255 255 255 / .5)}
.hover\:ring-coral:hover{--tw-ring-color:rgb(236 90 60)}
.ring-ink\/15{--tw-ring-color:rgb(10 36 34 / .15)}
.-mx-3{margin-left:-.75rem;margin-right:-.75rem}
.-mb-3{margin-bottom:-.75rem}
.gap-2\.5{gap:.625rem}
.hover\:bg-cream\/70:hover{background-color:rgb(244 240 231 / .7)}
.bg-coral\/10{background-color:rgb(236 90 60 / .1)}
.col-span-2{grid-column:span 2/span 2}
