/*! Tailwind CSS Pre-built - Custom build for Tirklist */
/* Generated from project's Tailwind config and usage analysis */
/* Replaces cdn.tailwindcss.com runtime compilation */

/* ===== RESET / PREFLIGHT ===== */
*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
::after,::before{--tw-content:''}
html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
menu,ol,ul{list-style:none;margin:0;padding:0}
dialog{padding:0}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
[role=button],button{cursor:pointer}
:disabled{cursor:default}
audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]{display:none}

/* ===== CUSTOM FONT FAMILY ===== */
.font-heebo{font-family:'Heebo',sans-serif}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}

/* ===== CUSTOM COLORS ===== */
:root{
--color-primary:#1B3A5C;
--color-primary-dark:#132A44;
--color-primary-light:#2A5580;
--color-secondary:#C9A84C;
--color-accent:#C9A84C;
--color-dark:#0F1E2E;
--color-dark-light:#16213E;
--color-gold:#C9A84C;
--color-silver:#C0C0C0;
--color-bronze:#CD7F32;
}

/* ===== LAYOUT ===== */
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.sticky{position:sticky}
.static{position:static}

.inset-0{inset:0}
.top-0{top:0}
.left-0{left:0}
.right-0{right:0}
.bottom-0{bottom:0}
.top-2{top:0.5rem}
.top-4{top:1rem}
.top-6{top:1.5rem}
.top-16{top:4rem}
.top-20{top:5rem}
.bottom-2{bottom:0.5rem}
.bottom-6{bottom:1.5rem}
.bottom-24{bottom:6rem}
.left-4{left:1rem}
.left-6{left:1.5rem}
.left-10{left:2.5rem}
.right-4{right:1rem}
.right-6{right:1.5rem}
.right-10{right:2.5rem}

/* ===== Z-INDEX ===== */
.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}
.z-\[60\]{z-index:60}
.z-\[70\]{z-index:70}
.z-\[100\]{z-index:100}

/* ===== DISPLAY ===== */
.block{display:block}
.inline-block{display:inline-block}
.inline{display:inline}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.contents{display:contents}
.table{display:table}

/* ===== FLEX ===== */
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.flex-nowrap{flex-wrap:nowrap}
.flex-1{flex:1 1 0%}
.flex-shrink-0{flex-shrink:0}
.flex-grow{flex-grow:1}
.items-center{align-items:center}
.items-start{align-items:start}
.items-end{align-items:end}
.items-stretch{align-items:stretch}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.justify-start{justify-content:flex-start}
.justify-end{justify-content:flex-end}
.self-start{align-self:flex-start}
.self-end{align-self:flex-end}
.self-center{align-self:center}

/* ===== 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))}
.col-span-2{grid-column:span 2/span 2}
.col-span-3{grid-column:span 3/span 3}

/* ===== GAP ===== */
.gap-0{gap:0}
.gap-0\.5{gap:0.125rem}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-2{gap:0.5rem}
.gap-2\.5{gap:0.625rem}
.gap-3{gap:0.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-8{gap:2rem}

/* ===== SPACING (PADDING) ===== */
.p-0{padding:0}
.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}
.p-10{padding:2.5rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.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}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem}
.py-8{padding-top:2rem;padding-bottom:2rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.pt-2{padding-top:0.5rem}
.pt-3{padding-top:0.75rem}
.pt-4{padding-top:1rem}
.pb-2{padding-bottom:0.5rem}
.pb-4{padding-bottom:1rem}
.pb-16{padding-bottom:4rem}

/* ===== SPACING (MARGIN) ===== */
.m-0{margin:0}
.mx-auto{margin-left:auto;margin-right:auto}
.mx-2{margin-left:0.5rem;margin-right:0.5rem}
.my-4{margin-top:1rem;margin-bottom:1rem}
.mb-0{margin-bottom:0}
.mb-0\.5{margin-bottom:0.125rem}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.mt-6{margin-top:1.5rem}
.mt-8{margin-top:2rem}
.ml-1{margin-left:0.25rem}
.ml-2{margin-left:0.5rem}
.mr-1{margin-right:0.25rem}
.mr-2{margin-right:0.5rem}
.-mt-1{margin-top:-0.25rem}
.-translate-y-full{--tw-translate-y:-100%;transform:translateY(var(--tw-translate-y))}
.translate-y-full{--tw-translate-y:100%;transform:translateY(var(--tw-translate-y))}

/* ===== SIZING ===== */
.w-5{width:1.25rem}
.w-8{width:2rem}
.w-9{width:2.25rem}
.w-10{width:2.5rem}
.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-48{width:12rem}
.w-full{width:100%}
.w-1\/2{width:50%}
.w-auto{width:auto}
.min-w-0{min-width:0}
.min-w-\[50px\]{min-width:50px}
.max-w-sm{max-width:24rem}
.max-w-lg{max-width:32rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-\[180px\]{max-width:180px}
.max-w-\[240px\]{max-width:240px}
.max-w-\[300px\]{max-width:300px}

.h-1{height:0.25rem}
.h-1\.5{height:0.375rem}
.h-2{height:0.5rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-16{height:4rem}
.h-20{height:5rem}
.h-24{height:6rem}
.h-28{height:7rem}
.h-full{height:100%}
.h-auto{height:auto}
.min-h-screen{min-height:100vh}
.min-h-\[100px\]{min-height:100px}
.max-h-48{max-height:12rem}
.max-h-60{max-height:15rem}
.max-h-96{max-height:24rem}

/* ===== TYPOGRAPHY ===== */
.text-center{text-align:center}
.text-right{text-align:right}
.text-left{text-align:left}

.text-\[10px\]{font-size:10px;line-height:1.4}
.text-\[11px\]{font-size:11px;line-height:1.4}
.text-\[12px\]{font-size:12px;line-height:1.4}
.text-xs{font-size:0.75rem;line-height:1rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.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}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.text-6xl{font-size:3.75rem;line-height:1}
.text-7xl{font-size:4.5rem;line-height:1}

.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-black{font-weight:900}

.leading-tight{line-height:1.25}
.leading-none{line-height:1}
.leading-relaxed{line-height:1.625}

.tracking-wide{letter-spacing:0.025em}
.tracking-tight{letter-spacing:-0.025em}

.uppercase{text-transform:uppercase}
.lowercase{text-transform:lowercase}
.capitalize{text-transform:capitalize}
.normal-case{text-transform:none}

.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whitespace-nowrap{white-space:nowrap}
.whitespace-pre-wrap{white-space:pre-wrap}
.break-all{word-break:break-all}
.break-words{overflow-wrap:break-word}
.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}

.italic{font-style:italic}
.not-italic{font-style:normal}
.underline{text-decoration-line:underline}
.no-underline{text-decoration-line:none}
.line-through{text-decoration-line:line-through}

/* ===== TEXT COLORS ===== */
.text-white{color:#fff}
.text-black{color:#000}
.text-transparent{color:transparent}
.text-gray-100{color:#f3f4f6}
.text-gray-200{color:#e5e7eb}
.text-gray-300{color:#d1d5db}
.text-gray-400{color:#9ca3af}
.text-gray-500{color:#6b7280}
.text-gray-600{color:#4b5563}
.text-gray-700{color:#374151}
.text-gray-800{color:#1f2937}
.text-gray-900{color:#111827}
.text-red-400{color:#f87171}
.text-red-500{color:#ef4444}
.text-red-600{color:#dc2626}
.text-red-700{color:#b91c1c}
.text-green-400{color:#4ade80}
.text-green-500{color:#22c55e}
.text-green-600{color:#16a34a}
.text-green-700{color:#15803d}
.text-blue-400{color:#60a5fa}
.text-blue-500{color:#3b82f6}
.text-blue-600{color:#2563eb}
.text-yellow-400{color:#facc15}
.text-yellow-500{color:#eab308}
.text-yellow-600{color:#ca8a04}
.text-yellow-700{color:#a16207}
.text-orange-500{color:#f97316}
.text-purple-500{color:#a855f7}
.text-purple-600{color:#9333ea}
.text-indigo-500{color:#6366f1}
.text-pink-500{color:#ec4899}
.text-primary{color:#1B3A5C}
.text-primary-dark{color:#132A44}
.text-primary-light{color:#2A5580}
.text-secondary{color:#C9A84C}
.text-accent{color:#C9A84C}
.text-dark{color:#0F1E2E}
.text-dark-light{color:#16213E}
.text-gold{color:#C9A84C}
.text-silver{color:#C0C0C0}
.text-bronze{color:#CD7F32}
/* Opacity text colors */
.text-white\/60{color:rgba(255,255,255,0.6)}
.text-white\/70{color:rgba(255,255,255,0.7)}
.text-white\/80{color:rgba(255,255,255,0.8)}

/* ===== BACKGROUND COLORS ===== */
.bg-white{background-color:#fff}
.bg-black{background-color:#000}
.bg-transparent{background-color:transparent}
.bg-gray-50{background-color:#f9fafb}
.bg-gray-100{background-color:#f3f4f6}
.bg-gray-200{background-color:#e5e7eb}
.bg-gray-300{background-color:#d1d5db}
.bg-gray-400{background-color:#9ca3af}
.bg-gray-500{background-color:#6b7280}
.bg-gray-600{background-color:#4b5563}
.bg-gray-700{background-color:#374151}
.bg-gray-800{background-color:#1f2937}
.bg-gray-900{background-color:#111827}
.bg-red-50{background-color:#fef2f2}
.bg-red-100{background-color:#fee2e2}
.bg-red-500{background-color:#ef4444}
.bg-red-600{background-color:#dc2626}
.bg-green-50{background-color:#f0fdf4}
.bg-green-100{background-color:#dcfce7}
.bg-green-500{background-color:#22c55e}
.bg-green-600{background-color:#16a34a}
.bg-blue-50{background-color:#eff6ff}
.bg-blue-100{background-color:#dbeafe}
.bg-blue-500{background-color:#3b82f6}
.bg-blue-600{background-color:#2563eb}
.bg-yellow-50{background-color:#fefce8}
.bg-yellow-100{background-color:#fef9c3}
.bg-yellow-400{background-color:#facc15}
.bg-yellow-500{background-color:#eab308}
.bg-orange-500{background-color:#f97316}
.bg-purple-50{background-color:#faf5ff}
.bg-purple-500{background-color:#a855f7}
.bg-indigo-50{background-color:#eef2ff}
.bg-pink-50{background-color:#fdf2f8}
.bg-primary{background-color:#1B3A5C}
.bg-primary-dark{background-color:#132A44}
.bg-primary-light{background-color:#2A5580}
.bg-secondary{background-color:#C9A84C}
.bg-accent{background-color:#C9A84C}
.bg-dark{background-color:#0F1E2E}
.bg-dark-light{background-color:#16213E}
.bg-gold{background-color:#C9A84C}
/* Opacity backgrounds */
.bg-black\/50{background-color:rgba(0,0,0,0.5)}
.bg-black\/30{background-color:rgba(0,0,0,0.3)}
.bg-white\/10{background-color:rgba(255,255,255,0.1)}
.bg-white\/15{background-color:rgba(255,255,255,0.15)}
.bg-white\/20{background-color:rgba(255,255,255,0.2)}
.bg-primary\/5{background-color:rgba(27,58,92,0.05)}
.bg-primary\/10{background-color:rgba(27,58,92,0.1)}
.bg-primary\/20{background-color:rgba(27,58,92,0.2)}
.bg-secondary\/80{background-color:rgba(201,168,76,0.8)}
/* Missing bg-color-400 utilities */
.bg-green-400{background-color:#4ade80}
.bg-red-400{background-color:#f87171}
.bg-blue-400{background-color:#60a5fa}
.bg-purple-400{background-color:#c084fc}
.bg-orange-400{background-color:#fb923c}
.bg-orange-50{background-color:#fff7ed}
.bg-orange-100{background-color:#ffedd5}
.bg-green-200{background-color:#bbf7d0}

/* ===== GRADIENTS ===== */
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}
.from-primary{--tw-gradient-from:#1B3A5C;--tw-gradient-to:rgba(27,58,92,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.via-primary-dark{--tw-gradient-to:rgba(19,42,68,0);--tw-gradient-stops:var(--tw-gradient-from),#132A44,var(--tw-gradient-to)}
.to-dark{--tw-gradient-to:#0F1E2E}
.to-primary-dark{--tw-gradient-to:#132A44}
.to-primary-light{--tw-gradient-to:#2A5580}
.from-accent{--tw-gradient-from:#C9A84C;--tw-gradient-to:rgba(201,168,76,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-green-600{--tw-gradient-to:#16a34a}
.from-primary\/10{--tw-gradient-from:rgba(27,58,92,0.1);--tw-gradient-to:rgba(27,58,92,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-primary\/5{--tw-gradient-to:rgba(27,58,92,0.05)}
/* Missing gradient color stops */
.from-secondary{--tw-gradient-from:#C9A84C;--tw-gradient-to:rgba(201,168,76,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-pink-500{--tw-gradient-to:#ec4899}
.to-green-500{--tw-gradient-to:#22c55e}
.to-orange-500{--tw-gradient-to:#f97316}
.to-accent{--tw-gradient-to:#C9A84C}
.from-green-400{--tw-gradient-from:#4ade80;--tw-gradient-to:rgba(74,222,128,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-green-500{--tw-gradient-to:#22c55e}
.from-blue-400{--tw-gradient-from:#60a5fa;--tw-gradient-to:rgba(96,165,250,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-blue-500{--tw-gradient-to:#3b82f6}
.from-yellow-400{--tw-gradient-from:#facc15;--tw-gradient-to:rgba(250,204,21,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-orange-400{--tw-gradient-to:#fb923c}
.from-orange-400{--tw-gradient-from:#fb923c;--tw-gradient-to:rgba(251,146,60,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-red-400{--tw-gradient-to:#f87171}
.from-red-400{--tw-gradient-from:#f87171;--tw-gradient-to:rgba(248,113,113,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-red-500{--tw-gradient-to:#ef4444}
.from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-to:rgba(254,242,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-orange-50{--tw-gradient-to:#fff7ed}
.from-primary-light{--tw-gradient-from:#2A5580;--tw-gradient-to:rgba(42,85,128,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-blue-50{--tw-gradient-to:#eff6ff}

/* ===== BORDERS ===== */
.border{border-width:1px}
.border-2{border-width:2px}
.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-gray-100{border-color:#f3f4f6}
.border-gray-200{border-color:#e5e7eb}
.border-gray-300{border-color:#d1d5db}
.border-red-200{border-color:#fecaca}
.border-green-200{border-color:#bbf7d0}
.border-blue-200{border-color:#bfdbfe}
.border-yellow-200{border-color:#fef08a}
.border-primary\/20{border-color:rgba(27,58,92,0.2)}
.border-primary\/40{border-color:rgba(27,58,92,0.4)}
.border-dashed{border-style:dashed}
.border-solid{border-style:solid}
.border-none{border-style:none}

/* ===== BORDER RADIUS ===== */
.rounded{border-radius:0.25rem}
.rounded-md{border-radius:0.375rem}
.rounded-lg{border-radius:0.5rem}
.rounded-xl{border-radius:0.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}
.rounded-b-xl{border-bottom-left-radius:0.75rem;border-bottom-right-radius:0.75rem}

/* ===== SHADOWS ===== */
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}
.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1)}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}

/* ===== OPACITY ===== */
.opacity-0{opacity:0}
.opacity-10{opacity:0.1}
.opacity-20{opacity:0.2}
.opacity-30{opacity:0.3}
.opacity-50{opacity:0.5}
.opacity-60{opacity:0.6}
.opacity-70{opacity:0.7}
.opacity-80{opacity:0.8}
.opacity-90{opacity:0.9}
.opacity-100{opacity:1}

/* ===== OVERFLOW ===== */
.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.overflow-x-auto{overflow-x:auto}
.overflow-y-auto{overflow-y:auto}
.overflow-x-hidden{overflow-x:hidden}
.overflow-y-hidden{overflow-y:hidden}
.overflow-visible{overflow:visible}

/* ===== TRANSITIONS ===== */
.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}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}
.duration-150{transition-duration:150ms}
.duration-200{transition-duration:200ms}
.duration-300{transition-duration:300ms}
.duration-500{transition-duration:500ms}
.duration-700{transition-duration:700ms}
.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}
.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}

/* ===== TRANSFORMS ===== */
.transform{transform:translateX(var(--tw-translate-x,0)) translateY(var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1))}
.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:scale(.95)}
.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:scale(1)}
.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:scale(1.05)}
.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:scale(1.1)}

/* ===== ANIMATIONS ===== */
.animate-bounce{animation:bounce 1s infinite}
.animate-spin{animation:spin 1s linear infinite}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite}
.animate-ping{animation:ping 1s cubic-bezier(0,0,0.2,1) infinite}
@keyframes bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}

/* ===== FILTERS ===== */
.blur{filter:blur(8px)}
.blur-sm{filter:blur(4px)}
.backdrop-blur-sm{backdrop-filter:blur(4px)}

/* ===== CURSOR / POINTER ===== */
.cursor-pointer{cursor:pointer}
.cursor-default{cursor:default}
.cursor-not-allowed{cursor:not-allowed}
.pointer-events-none{pointer-events:none}
.pointer-events-auto{pointer-events:auto}
.select-none{user-select:none}
.select-all{user-select:all}

/* ===== RESIZE ===== */
.resize-none{resize:none}
.resize{resize:both}

/* ===== MISC ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.object-contain{object-fit:contain}
.object-cover{object-fit:cover}

/* ===== SCROLLBAR ===== */
.scrollbar-hide::-webkit-scrollbar{display:none}
.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}

/* ===== ACCENT (for checkboxes etc) ===== */
.accent-primary{accent-color:#1B3A5C}

/* ===== HOVER STATES ===== */
.hover\:bg-primary-dark:hover{background-color:#132A44}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.hover\:bg-gray-200:hover{background-color:#e5e7eb}
.hover\:bg-gray-50:hover{background-color:#f9fafb}
.hover\:bg-red-50:hover{background-color:#fef2f2}
.hover\:bg-red-100:hover{background-color:#fee2e2}
.hover\:bg-primary\/20:hover{background-color:rgba(27,58,92,0.2)}
.hover\:bg-primary\/10:hover{background-color:rgba(27,58,92,0.1)}
.hover\:bg-primary\/5:hover{background-color:rgba(27,58,92,0.05)}
.hover\:border-primary:hover{border-color:#1B3A5C}
.hover\:text-gray-600:hover{color:#4b5563}
.hover\:text-gray-700:hover{color:#374151}
.hover\:text-primary:hover{color:#1B3A5C}
.hover\:text-red-700:hover{color:#b91c1c}
.hover\:opacity-90:hover{opacity:0.9}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1)}
.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}
.hover\:scale-105:hover{transform:scale(1.05)}
.hover\:scale-110:hover{transform:scale(1.1)}

/* ===== FOCUS STATES ===== */
.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}
.focus\:ring-primary\/30:focus{--tw-ring-color:rgba(27,58,92,0.3)}
.focus\:border-primary:focus{border-color:#1B3A5C}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}

/* ===== ACTIVE STATES ===== */
.active\:scale-95:active{transform:scale(0.95)}

/* ===== DISABLED STATES ===== */
.disabled\:opacity-30:disabled{opacity:0.3}
.disabled\:opacity-50:disabled{opacity:0.5}
.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}

/* ===== ARIA-EXPANDED ===== */
.aria-expanded\:rotate-180[aria-expanded="true"]{transform:rotate(180deg)}

/* ===== PLACEHOLDER ===== */
.placeholder-gray-400::placeholder{color:#9ca3af}

/* ===== GROUP HOVER ===== */
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:visible{visibility:visible}

/* ===== RESPONSIVE (unlikely needed for mobile-first app but included for safety) ===== */
@media (min-width:640px){
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sm\:text-sm{font-size:0.875rem;line-height:1.25rem}
.sm\:flex-row{flex-direction:row}
.sm\:p-6{padding:1.5rem}
.sm\:px-4{padding-left:1rem;padding-right:1rem}
}
@media (min-width:768px){
.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\:flex-row{flex-direction:row}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem}
}
@media (min-width:1024px){
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* ===== RING (for focus states) ===== */
*,::after,::before{--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}

/* ===== SPACE UTILITIES ===== */
.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.25rem*var(--tw-space-y-reverse))}
.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.375rem*var(--tw-space-y-reverse))}
.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}
.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.625rem*var(--tw-space-y-reverse))}
.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.75rem*var(--tw-space-y-reverse))}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}
.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem*(1 - var(--tw-space-x-reverse)));margin-left:calc(0.25rem*var(--tw-space-x-reverse))}
.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*(1 - var(--tw-space-x-reverse)));margin-left:calc(0.5rem*var(--tw-space-x-reverse))}
.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.75rem*(1 - var(--tw-space-x-reverse)));margin-left:calc(0.75rem*var(--tw-space-x-reverse))}

/* ===== DIVIDE ===== */
.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}
.divide-gray-100>:not([hidden])~:not([hidden]){border-color:#f3f4f6}
.divide-gray-200>:not([hidden])~:not([hidden]){border-color:#e5e7eb}

/* ===== ADDITIONAL UTILITIES USED IN JS-GENERATED HTML ===== */
/* Admin.js generates dynamic HTML with these classes */
.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}
.from-green-50{--tw-gradient-from:#f0fdf4;--tw-gradient-to:rgba(240,253,244,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-emerald-50{--tw-gradient-to:#ecfdf5}
.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-to:rgba(239,246,255,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-indigo-50{--tw-gradient-to:#eef2ff}
.from-yellow-50{--tw-gradient-from:#fefce8;--tw-gradient-to:rgba(254,252,232,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-orange-50{--tw-gradient-to:#fff7ed}
.from-purple-50{--tw-gradient-from:#faf5ff;--tw-gradient-to:rgba(250,245,255,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-pink-50{--tw-gradient-to:#fdf2f8}
.from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-to:rgba(254,242,242,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-red-50{--tw-gradient-to:#fef2f2}

.border-green-300{border-color:#86efac}
.border-blue-300{border-color:#93c5fd}
.border-yellow-300{border-color:#fde047}
.border-red-300{border-color:#fca5a5}
.border-purple-300{border-color:#d8b4fe}
.border-indigo-300{border-color:#a5b4fc}
.border-orange-300{border-color:#fdba74}

.text-green-800{color:#166534}
.text-blue-800{color:#1e40af}
.text-yellow-800{color:#854d0e}
.text-red-800{color:#991b1b}
.text-purple-800{color:#6b21a8}
.text-indigo-800{color:#3730a3}
.text-orange-800{color:#9a3412}

.bg-green-100\/50{background-color:rgba(220,252,231,0.5)}
.bg-red-100\/50{background-color:rgba(254,226,226,0.5)}
.bg-yellow-100\/50{background-color:rgba(254,249,195,0.5)}

.border-l-4{border-left-width:4px}
.border-l-green-500{border-left-color:#22c55e}
.border-l-red-500{border-left-color:#ef4444}
.border-l-yellow-500{border-left-color:#eab308}
.border-l-blue-500{border-left-color:#3b82f6}
.border-l-purple-500{border-left-color:#a855f7}

/* Leaderboard specific colors */
.from-yellow-400{--tw-gradient-from:#facc15;--tw-gradient-to:rgba(250,204,21,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-yellow-600{--tw-gradient-to:#ca8a04}
.from-gray-300{--tw-gradient-from:#d1d5db;--tw-gradient-to:rgba(209,213,219,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-gray-400{--tw-gradient-to:#9ca3af}
.from-amber-600{--tw-gradient-from:#d97706;--tw-gradient-to:rgba(217,119,6,0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.to-amber-800{--tw-gradient-to:#92400e}

/* Additional text colors for dynamic content */
.text-emerald-600{color:#059669}
.text-amber-600{color:#d97706}
.text-teal-600{color:#0d9488}
.text-cyan-600{color:#0891b2}
.text-rose-600{color:#e11d48}

/* For inline generated classes */
.bg-green-500\/10{background-color:rgba(34,197,94,0.1)}
.bg-red-500\/10{background-color:rgba(239,68,68,0.1)}
.bg-blue-500\/10{background-color:rgba(59,130,246,0.1)}
.bg-yellow-500\/10{background-color:rgba(234,179,8,0.1)}
.bg-purple-500\/10{background-color:rgba(168,85,247,0.1)}

/* Width utilities for progress bars */
.w-0{width:0}
.w-1{width:0.25rem}
.w-2{width:0.5rem}
.w-3{width:0.75rem}
.w-4{width:1rem}
.w-6{width:1.5rem}

/* h utilities */
.h-0\.5{height:0.125rem}
.h-3{height:0.75rem}

/* Additional needed */
.invisible{visibility:hidden}
.visible{visibility:visible}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.ring-0{box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}
.appearance-none{appearance:none}

/* ===== HOME COMPACT ===== */
.home-compact{max-width:420px}

/* ===== ADDITIONAL DYNAMIC CLASSES ===== */
/* Used in JS-generated HTML (admin.js, leaderboard.js, analytics.js, quiz.js) */
.bg-amber-50{background-color:#fffbeb}
.bg-amber-100{background-color:#fef3c7}
.text-amber-500{color:#f59e0b}
.text-amber-600{color:#d97706}
.text-amber-700{color:#b45309}
.hover\:bg-amber-100:hover{background-color:#fef3c7}
.hover\:bg-blue-100:hover{background-color:#dbeafe}
.hover\:bg-blue-50:hover{background-color:#eff6ff}
.hover\:bg-green-100:hover{background-color:#dcfce7}
.hover\:bg-green-50:hover{background-color:#f0fdf4}
.bg-blue-50{background-color:#eff6ff}
.text-blue-600{color:#2563eb}
.text-orange-400{color:#fb923c}
.text-orange-600{color:#ea580c}
.text-purple-400{color:#c084fc}
.bg-primary\/5{background-color:rgba(27,58,92,0.05)}
.bg-orange-50{background-color:#fff7ed}
.bg-orange-100{background-color:#ffedd5}
.hover\:bg-orange-100:hover{background-color:#ffedd5}
.bg-orange-600{background-color:#ea580c}
.hover\:bg-orange-600:hover{background-color:#c2410c}
.bg-emerald-50{background-color:#ecfdf5}
.bg-teal-50{background-color:#f0fdfa}
.text-teal-600{color:#0d9488}

/* Leaderboard rank classes */
.rank-1{background:linear-gradient(135deg,#facc15,#ca8a04)}
.rank-2{background:linear-gradient(135deg,#d1d5db,#9ca3af)}
.rank-3{background:linear-gradient(135deg,#d97706,#92400e)}

/* Additional missing hover states */
.hover\:bg-primary:hover{background-color:#1B3A5C}
.hover\:text-white:hover{color:#fff}
.hover\:scale-100:hover{transform:scale(1)}
.hover\:translate-y-0:hover{transform:translateY(0)}

/* Additional width/height */
.w-7{width:1.75rem}
.h-7{height:1.75rem}
.w-11{width:2.75rem}
.h-11{height:2.75rem}
.w-36{width:9rem}
.w-40{width:10rem}
.w-52{width:13rem}
.w-64{width:16rem}
.h-32{height:8rem}
.h-40{height:10rem}
.h-48{height:12rem}
.h-64{height:16rem}

/* Margin extras */
.ml-auto{margin-left:auto}
.mr-auto{margin-right:auto}
.-ml-1{margin-left:-0.25rem}
.-mr-1{margin-right:-0.25rem}
.mt-1\.5{margin-top:0.375rem}

/* Table layout */
.table-auto{table-layout:auto}
.table-fixed{table-layout:fixed}

/* Border radius extras */
.rounded-none{border-radius:0}
.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem}
.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}
.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}
.rounded-l-xl{border-top-left-radius:0.75rem;border-bottom-left-radius:0.75rem}
.rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem}

/* Additional text/bg combos for admin dynamic content */
.bg-green-600\/10{background-color:rgba(22,163,74,0.1)}
.bg-red-600\/10{background-color:rgba(220,38,38,0.1)}
.bg-yellow-600\/10{background-color:rgba(202,138,4,0.1)}
.bg-blue-600\/10{background-color:rgba(37,99,235,0.1)}
.bg-purple-600\/10{background-color:rgba(147,51,234,0.1)}
