*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2563eb;--secondary:#64748b;--success:#16a34a;--danger:#dc2626;--dark:#111827;--light:#f9fafb;--radius:6px}body{background:var(--light);color:var(--dark);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;line-height:1.5}.text-color-primary{color:var(--primary)}.text-color-secondary{color:var(--secondary)}.text-color-success{color:var(--success)}.text-color-danger{color:var(--danger)}.text-color-dark{color:var(--dark)}.text-color-light{color:var(--light)}.bg-primary{background:var(--primary);color:#fff}.bg-secondary{background:var(--secondary);color:#fff}.bg-success{background:var(--success);color:#fff}.bg-danger{background:var(--danger);color:#fff}.bg-dark{background:var(--dark);color:#fff}.bg-light{background:var(--light);color:var(--dark)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.font-thin{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-bold{font-weight:700}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.hidden{display:none}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4,.grid{gap:1rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.w-full{width:100%}.h-auto{height:auto}.btn{border:none;border-radius:var(--radius);cursor:pointer;display:inline-block;font-weight:600;padding:.5rem 1rem;text-align:center}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--secondary);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-outline{background:transparent;border:1px solid}.btn-sm{font-size:.875rem;padding:.25rem .5rem}.btn-lg{font-size:1.125rem;padding:.75rem 1.5rem}.float-left{float:left}.float-right{float:right}.float-none{float:none}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.columns-1{-moz-column-count:1;column-count:1}.columns-2{-moz-column-count:2;column-count:2}.columns-3{-moz-column-count:3;column-count:3}.columns-4{-moz-column-count:4;column-count:4}.columns-5{-moz-column-count:5;column-count:5}.columns-6{-moz-column-count:6;column-count:6}.col-gap-1{-moz-column-gap:.25rem;column-gap:.25rem}.col-gap-2{-moz-column-gap:.5rem;column-gap:.5rem}.col-gap-4{-moz-column-gap:1rem;column-gap:1rem}.col-gap-8{-moz-column-gap:2rem;column-gap:2rem}@media (min-width:640px){.sm\:text-lg{font-size:1.125rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.sm\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.md\:text-xl{font-size:1.25rem}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.lg\:text-2xl{font-size:1.5rem}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:hidden{display:none}}.text-center{text-align:center}.text-right{text-align:right}.visually-hidden{height:1px;overflow:hidden;position:absolute!important;width:1px;clip:rect(1px,1px,1px,1px);white-space:nowrap}