
/* Tailwind-lite subset of utilities used */
* { box-sizing: border-box; }


/* --- Tailwind-like Preflight reset --- */
*, ::before, ::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

body {
  line-height: inherit;
 margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial; color:#111827;
}

/* This is your line — prevents unwanted gaps around headings and paragraphs */
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}






.container { width: 100%; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 1536px) { .container { max-width: 1400px; } }
.p-6 { padding: 1.5rem; } .p-8 { padding:2rem; } .px-6{padding-left:1.5rem;padding-right:1.5rem;} .py-8{padding-top:2rem;padding-bottom:2rem;}
.mb-2{margin-bottom:.5rem;} .mb-4{margin-bottom:1rem;} .mb-6{margin-bottom:1.5rem;}
.space-y-4> :not([hidden])~ :not([hidden]){margin-top:1rem;}
.gap-3{gap:.75rem;} .gap-4{gap:1rem;}

.gap-6 {
    gap: 1.5rem;
}

.mx-auto{margin-left:auto;margin-right:auto;} .max-w-3xl{max-width:48rem;}
.grid{display:grid;} .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.md\:grid-cols-3{grid-template-columns:repeat(1,minmax(0,1fr));} @media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
.flex{display:flex;} .items-center{align-items:center;}

.justify-center {
    justify-content: center;
}

 .justify-between{justify-content:space-between;} .flex-wrap{flex-wrap:wrap;}
.text-center{text-align:center;} .w-full{width:100%;}
.text-xs{font-size:.75rem;line-height:1rem;} .text-sm{font-size:.875rem;line-height:1.25rem;}
.text-xl{font-size:1.25rem;line-height:1.75rem;} .text-2xl{font-size:1.5rem;line-height:2rem;}
.text-3xl{font-size:1.875rem;line-height:2.25rem;} @media(min-width:768px){.md\:text-4xl{font-size:2.25rem;line-height:2.5rem;}}
.font-bold{font-weight:700;} .font-medium{font-weight:500;}

.font-semibold {
    font-weight: 600;
}

.bg-white{background:#fff;} .bg-gray-50{background:#f9fafb;} .text-gray-500{color:#6b7280;} .text-gray-600{color:#4b5563;}
.text-blue-600{color:#2563eb;} .text-green-700{color:#047857;} .text-amber-700{color:#b45309;} .text-red-700{color:#b91c1c;}
.bg-green-100{background:#dcfce7;} .bg-amber-100{background:#fef3c7;} .bg-red-100{background:#fee2e2;} .bg-blue-600{background:#2563eb;}
.text-white{color:#fff;} .border{border:1px solid #e5e7eb;} .rounded-xl{border-radius:.75rem;} .rounded-full{border-radius:9999px;}
.btn{border-radius:.75rem;padding:.75rem 1rem;font-weight:600;display:inline-flex;align-items:center;}
.btn:hover{filter:brightness(.95);} .input{border-radius:.75rem;padding:.75rem 1rem;border:1px solid #e5e7eb;}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}
.hover\:underline:hover{text-decoration:underline;} .hover\:bg-blue-700:hover{background:#1d4ed8;}
.text-muted-foreground{color:#6b7280;} .border-t{border-top:1px solid #e5e7eb;}
.card{
border: 1px solid #dedede;
border-radius: var(--radius);

box-shadow:0 2px 10px rgba(0,0,0,.05);} 

/* --- Shims for classes present in the Lovable output --- */

/* bg/text/border tokens */
.bg-primary{ background: var(--primary); }
.text-primary-foreground{ color: var(--primary-foreground); }
.hover\:bg-primary\/90:hover{ background: color-mix(in srgb, var(--primary) 90%, white); }

.bg-accent\/20{ background: var(--accent-bg-20); }
.text-accent-foreground{ color: var(--accent-fg); }
.border-accent\/40{ border-color: var(--accent-border-40); }

.bg-muted{ background: var(--muted-bg); }
.text-muted-foreground{ color: var(--muted-fg); }
.border-border\/50{ border-color: var(--border); }

/* Deal colors */
.text-deal-good{ color: var(--deal-good); }
.text-deal-bad{ color: var(--deal-bad); }
.text-deal-neutral{ color: var(--deal-neutral); }
.bg-deal-bad\/20{ background: color-mix(in srgb, var(--deal-bad) 20%, transparent); }
.bg-deal-neutral\/5{ background: color-mix(in srgb, var(--deal-neutral) 5%, transparent); }
.border-deal-neutral\/30{ border-color: color-mix(in srgb, var(--deal-neutral) 30%, transparent); }

/* Buttons + gradients (Lovable uses gradient tokens for CTAs) */
.bg-gradient-to-r{ background-image: linear-gradient(to right, var(--tw-gradient-from), var(--tw-gradient-to)); }
.from-primary{ --tw-gradient-from: var(--primary); }
.to-primary\/80{ --tw-gradient-to: color-mix(in srgb, var(--primary) 80%, white); }
.hover\:from-primary\/90:hover{ --tw-gradient-from: color-mix(in srgb, var(--primary) 90%, white); }
.hover\:to-primary\/70:hover{ --tw-gradient-to:  color-mix(in srgb, var(--primary) 70%, white); }

/* Sizing helpers seen in dump */
.h-9{ height: 2.25rem; } .h-10{ height: 2.5rem; } .h-11{ height: 2.75rem; }
.px-3{ padding-left: .75rem; padding-right: .75rem; }
.px-4{ padding-left: 1rem;  padding-right: 1rem; }
.px-8{ padding-left: 2rem;  padding-right: 2rem; }
.py-2{ padding-top: .5rem;  padding-bottom: .5rem; }

/* Small helpers present in the DOM */
.rounded-md{ border-radius: .375rem; }
.rounded-xl{ border-radius: .75rem; }
.border{ border: 1px solid var(--border); }
.bg-background{ background: #fff; }
.text-foreground{ color: #111827; }


/* --- Margin & padding utilities (Tailwind-like subset) --- */
.m-0{margin:0;}
.m-1{margin:.25rem;} .m-2{margin:.5rem;} .m-3{margin:.75rem;} .m-4{margin:1rem;}
.mt-0{margin-top:0;} .mt-1{margin-top:.25rem;} .mt-2{margin-top:.5rem;} .mt-3{margin-top:.75rem;} .mt-4{margin-top:1rem;} .mt-6{margin-top:1.5rem;} .mt-8{margin-top:2rem;}
.mb-0{margin-bottom:0;} .mb-1{margin-bottom:.25rem;} .mb-2{margin-bottom:.5rem;} .mb-3{margin-bottom:.75rem;} .mb-4{margin-bottom:1rem;} .mb-6{margin-bottom:1.5rem;} .mb-8{margin-bottom:2rem;} .mb-12{margin-bottom:3rem;}
.ml-0{margin-left:0;} .ml-2{margin-left:.5rem;} .ml-4{margin-left:1rem;}
.mr-0{margin-right:0;} .mr-2{margin-right:.5rem;} .mr-4{margin-right:1rem;}
.mx-auto{margin-left:auto;margin-right:auto;} .mx-2{margin-left:.5rem;margin-right:.5rem;} .mx-4{margin-left:1rem;margin-right:1rem;}
.my-0{margin-top:0;margin-bottom:0;} .my-2{margin-top:.5rem;margin-bottom:.5rem;} .my-4{margin-top:1rem;margin-bottom:1rem;} .my-6{margin-top:1.5rem;margin-bottom:1.5rem;} .my-8{margin-top:2rem;margin-bottom:2rem;}

/* --- Padding fixes --- */
.p-0{padding:0;} .p-2{padding:.5rem;} .p-3{padding:.75rem;} .p-4{padding:1rem;} .p-5{padding:1.25rem;} .p-6{padding:1.5rem;} .p-8{padding:2rem;}
.pt-4{padding-top:1rem;} .pt-6{padding-top:1.5rem;} .pt-8{padding-top:2rem;}
.pb-4{padding-bottom:1rem;} .pb-6{padding-bottom:1.5rem;} .pb-8{padding-bottom:2rem;}
.pl-4{padding-left:1rem;} .pl-6{padding-left:1.5rem;} .pr-4{padding-right:1rem;} .pr-6{padding-right:1.5rem;}
.px-4{padding-left:1rem;padding-right:1rem;} .px-6{padding-left:1.5rem;padding-right:1.5rem;}
.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;}


/* sizes */
.h-2{ height: .5rem; }
.w-1{ width: .25rem; }

/* positioning */
.relative{ position: relative; }
.absolute{ position: absolute; }
.top-0{ top: 0; }

/* transforms */
.-translate-x-1\/2{ transform: translateX(-50%); }

/* spacing already added earlier, but ensure: */
.mx-4{ margin-left: 1rem; margin-right: 1rem; }

/* colors already defined via tokens; ensure these exist: */
.bg-muted{ background: var(--muted-bg); }
.text-muted-foreground{ color: var(--muted-fg); }
.text-deal-neutral{ color: var(--deal-neutral); }
.bg-deal-neutral\/5{ background: color-mix(in srgb, var(--deal-neutral) 5%, transparent); }
.border-deal-neutral\/30{ border-color: color-mix(in srgb, var(--deal-neutral) 30%, transparent); }


/* Grid column utilities */
.grid { display: grid; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }

/* Responsive: switch to 2 columns on medium screens (≥768px) */
.md\:grid-cols-2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
@media (min-width: 768px) {
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}



/* Flex utilities */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.sm\:flex-row { flex-direction: column; }
@media (min-width: 640px) {
  .sm\:flex-row { flex-direction: row; }
}

/* Width helpers */
.w-full { width: 100%; }
.sm\:w-auto { width: 100%; }
@media (min-width: 640px) {
  .sm\:w-auto { width: auto; }
}

/* Gap utility */
.gap-3 { gap: 0.75rem; }

/* Flex grow */
.flex-1 { flex: 1 1 0%; }

.max-w-xs {
  max-width: 20rem;
}

.max-w-sm {
    max-width: 24rem;
}

.max-w-md {
    max-width: 28rem;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.rounded-lg {
    border-radius: var(--radius);
}

.no-underline {
  text-decoration-line: none;
}

.flex { display: flex; }
.justify-center { justify-content: center; }

.w-full { width: 100%; }
.w-2\/3 { width: 66.6667%; }
.sm\:w-1\/2 { width: 100%; }
@media (min-width: 640px) {
  .sm\:w-1\/2 { width: 50%; }
}


