@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Mono:wght@400;500;700&family=Syne:wght@600;700;800&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-950:oklch(13% .028 261.692);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.-top-1{top:calc(var(--spacing) * -1)}.top-1{top:calc(var(--spacing) * 1)}.-right-1{right:calc(var(--spacing) * -1)}.-right-5{right:calc(var(--spacing) * -5)}.z-50{z-index:50}.m-0{margin:calc(var(--spacing) * 0)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-6{margin-inline:calc(var(--spacing) * 6)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-48{height:calc(var(--spacing) * 48)}.h-64{height:calc(var(--spacing) * 64)}.h-\[92vh\]{height:92vh}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[85vh\]{max-height:85vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[200px\]{max-width:200px}.max-w-\[520px\]{max-width:520px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[280px\]{min-width:280px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.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))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-amber-400{border-color:var(--color-amber-400)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-300{border-color:var(--color-blue-300)}.border-emerald-300{border-color:var(--color-emerald-300)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-indigo-100{border-color:var(--color-indigo-100)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-purple-200{border-color:var(--color-purple-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-violet-300{border-color:var(--color-violet-300)}.border-violet-400{border-color:var(--color-violet-400)}.bg-\[\#faf7f2\]{background-color:#faf7f2}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-950{background-color:var(--color-gray-950)}.bg-green-50{background-color:var(--color-green-50)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-50\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab, red, red)){.bg-indigo-50\/50{background-color:color-mix(in oklab, var(--color-indigo-50) 50%, transparent)}}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/40{background-color:#fef2f266}@supports (color:color-mix(in lab, red, red)){.bg-red-50\/40{background-color:color-mix(in oklab, var(--color-red-50) 40%, transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500{background-color:var(--color-red-500)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-100{background-color:var(--color-violet-100)}.bg-white{background-color:var(--color-white)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-200{color:var(--color-amber-200)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-200{color:var(--color-indigo-200)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-400{color:var(--color-indigo-400)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-purple-700{color:var(--color-purple-700)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-sky-700{color:var(--color-sky-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-violet-600{color:var(--color-violet-600)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-all{-webkit-user-select:all;user-select:all}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-indigo-200:hover{border-color:var(--color-indigo-200)}.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:bg-amber-50:hover{background-color:var(--color-amber-50)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-indigo-50:hover{background-color:var(--color-indigo-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-violet-50:hover{background-color:var(--color-violet-50)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:text-amber-800:hover{color:var(--color-amber-800)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-green-600:hover{color:var(--color-green-600)}.hover\:text-green-800:hover{color:var(--color-green-800)}.hover\:text-indigo-400:hover{color:var(--color-indigo-400)}.hover\:text-indigo-500:hover{color:var(--color-indigo-500)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-amber-300:focus{--tw-ring-color:var(--color-amber-300)}.focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\:ring-emerald-300:focus{--tw-ring-color:var(--color-emerald-300)}.focus\:ring-indigo-300:focus{--tw-ring-color:var(--color-indigo-300)}.focus\:ring-indigo-400:focus{--tw-ring-color:var(--color-indigo-400)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}*,:before,:after{box-sizing:border-box}:root{--sim-primary:#15803d;--sim-bg:#dcfce7;--sim-text:#14532d;--sim-border:#86efac;--real-primary:#dc2626;--real-bg:#fee2e2;--real-text:#7f1d1d;--real-border:#fecaca;--mode-primary:var(--real-primary);--mode-bg:var(--real-bg);--mode-text:var(--real-text);--mode-border:var(--real-border)}body[data-exec-mode=simulation]{--mode-primary:var(--sim-primary);--mode-bg:var(--sim-bg);--mode-text:var(--sim-text);--mode-border:var(--sim-border)}body[data-exec-mode]:before{content:"";background:var(--mode-primary);z-index:9999;pointer-events:none;height:4px;display:block;position:fixed;top:0;left:0;right:0}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;background:#faf7f2;margin:0;padding:0;font-family:DM Sans,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f0ebe2}::-webkit-scrollbar-thumb{background:#cbc6bc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a294}:focus-visible{border-radius:3px;outline-offset:2px!important;outline:3px solid #2563eb!important}.ref-sidebar :focus-visible,[role=dialog] :focus-visible{outline-color:#93c5fd!important}.skip-link{z-index:10000;color:#fff;background:#1e3a8a;border-radius:0 0 8px 8px;padding:10px 16px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}body,body[data-exec-mode=simulation],body[data-exec-mode=real],.ref-main{background-color:#faf7f2!important}.ref-layout{background-color:#1e293b!important}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.gs-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000b3;justify-content:center;align-items:flex-start;padding-top:10vh;display:flex;position:fixed;inset:0}.gs-modal{background:#1e293b;border:1px solid #334155;border-radius:14px;flex-direction:column;width:100%;max-width:640px;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 25px 60px #00000080}.gs-input-wrap{border-bottom:1px solid #334155;align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.gs-icon{flex-shrink:0;font-size:1rem}.gs-input{color:#f1f5f9;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem}.gs-input::placeholder{color:#475569}.gs-spinner{border:2px solid #334155;border-top-color:#3b82f6;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.gs-esc{color:#64748b;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-family:inherit;font-size:.72rem}.gs-esc:hover{color:#94a3b8}.gs-results{flex:1;overflow-y:auto}.gs-hint{color:#475569;text-align:center;padding:2rem 1.5rem;font-size:.875rem}.gs-shortcuts{color:#334155;justify-content:center;gap:1.5rem;margin-top:1rem;font-size:.75rem;display:flex}.gs-shortcuts span{align-items:center;gap:.3rem;display:flex}kbd{color:#64748b;background:#0f172a;border:1px solid #334155;border-radius:4px;padding:.1rem .4rem;font-family:inherit;font-size:.7rem}.gs-empty{text-align:center;color:#475569;padding:2rem;font-size:.875rem}.gs-section{padding:.5rem 0}.gs-section-label{text-transform:uppercase;letter-spacing:.07em;color:#475569;padding:.4rem 1.2rem;font-size:.7rem;font-weight:700}.gs-item{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 1.2rem;transition:background .1s;display:flex}.gs-item:hover,.gs-item-active{background:#3b82f614}.gs-item-left{flex:1;align-items:center;gap:.7rem;min-width:0;display:flex}.gs-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.gs-dot-req{background:#3b82f6}.gs-item-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.gs-item-code{color:#3b82f6;letter-spacing:.03em;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.gs-item-title{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.gs-item-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.gs-item-req{color:#475569;font-size:.72rem}.gs-item-priority{color:#94a3b8;font-size:.72rem}.gs-item-category{color:#475569;white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.72rem;overflow:hidden}.gs-highlight{color:#93c5fd;background:#3b82f640;border-radius:2px;padding:0 1px}.gs-footer{color:#475569;text-align:right;border-top:1px solid #334155;padding:.5rem 1.2rem;font-size:.72rem}.sidebar-divider{background:#334155;height:1px;margin:.6rem 0}.nav-item-external{cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .8rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex;color:#64748b!important}.nav-item-external:hover{background:#3b82f61a;color:#3b82f6!important}.gs-trigger{color:#64748b;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:.8rem;padding:.5rem .8rem;font-family:inherit;font-size:.8rem;transition:all .15s;display:flex}.gs-trigger:hover{color:#94a3b8;border-color:#3b82f6}.gs-trigger kbd{color:#475569;background:#1e293b;border:1px solid #334155;border-radius:4px;padding:.1rem .4rem;font-size:.65rem}.sidebar-progress{background:#0f172a;border:1px solid #334155;border-radius:8px;margin:.8rem 0;padding:.8rem}.sp-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sp-label{text-transform:uppercase;letter-spacing:.06em;color:#475569;font-size:.68rem;font-weight:600}.sp-rate{font-family:DM Mono,monospace;font-size:.85rem;font-weight:800;transition:color .3s}.sp-bar{background:#1e293b;border-radius:3px;height:5px;margin-bottom:.5rem;display:flex;overflow:hidden}.sp-fill{height:100%;transition:width .5s}.sp-passed{background:#22c55e}.sp-failed{background:#ef4444}.sp-running{background:#f59e0b}.sp-blocked{background:#a855f7}.sp-counts{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.sp-count{font-family:DM Mono,monospace;font-size:.75rem;font-weight:700}.sp-count-passed{color:#22c55e}.sp-count-failed{color:#ef4444}.sp-count-neutral{color:#475569}.sp-detail{flex-wrap:wrap;gap:.3rem;display:flex}.sp-tag{font-size:.68rem;font-weight:500}.project-selector{background:#0f172a;border:1px solid #334155;border-radius:8px;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.4rem .6rem;display:flex}.project-label{text-transform:uppercase;letter-spacing:.06em;color:#475569;flex-shrink:0;font-size:.65rem;font-weight:700}.project-select{color:#e2e8f0;cursor:pointer;background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:.78rem}.project-select option{background:#1e293b}.project-clear{color:#475569;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.7rem;transition:color .15s}.project-clear:hover{color:#ef4444}.project-none{color:#64748b;padding:4px 2px;font-size:.75rem;font-style:italic}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}.home-main{background:#0f172a}.home-welcome{margin-bottom:1.5rem}.home-welcome h1{color:#f1f5f9;margin:0 0 .3rem;font-size:1.6rem;font-weight:800}.home-welcome p{color:#64748b;text-transform:capitalize;margin:0;font-size:.85rem}.home-kpis{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.home-kpi{cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;flex:1;gap:.3rem;min-width:100px;padding:1rem 1.2rem;transition:border-color .15s,transform .1s;display:flex}.home-kpi:hover{border-color:#475569;transform:translateY(-1px)}.home-kpi-main{min-width:180px}.home-kpi-top{justify-content:space-between;align-items:center;display:flex}.home-kpi-icon{font-size:1.1rem}.home-kpi-val{color:#f1f5f9;font-family:DM Mono,monospace;font-size:1.8rem;font-weight:800;line-height:1}.home-kpi-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.home-mini-bar{background:#0f172a;border-radius:2px;height:3px;margin:.2rem 0;overflow:hidden}.home-mini-fill{border-radius:2px;height:100%;transition:width .5s}.home-kpi-sub{color:#475569;font-size:.72rem}.home-section{margin-bottom:1.5rem}.home-section h2{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .8rem;font-size:.82rem;font-weight:600}.home-quick-links{flex-wrap:wrap;gap:.75rem;display:flex}.home-quick-card{cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:10px;flex-direction:column;flex:1;align-items:flex-start;gap:.2rem;min-width:100px;padding:.9rem 1rem;transition:all .15s;display:flex}.home-quick-card:hover{background:#3b82f60f;border-color:#3b82f6;transform:translateY(-1px)}.home-quick-icon{margin-bottom:.2rem;font-size:1.2rem}.home-quick-label{color:#e2e8f0;font-size:.85rem;font-weight:600}.home-quick-desc{color:#64748b;font-size:.72rem}.home-grid{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.home-card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1.2rem}.home-card-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.home-card-header h2{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.82rem;font-weight:600}.home-card-sub{color:#475569;font-size:.72rem}.home-card-link{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.78rem;transition:color .15s}.home-card-link:hover{color:#60a5fa}.home-empty{color:#475569;margin:0;font-size:.82rem;font-style:italic}.home-activity{flex-direction:column;gap:.5rem;display:flex}.home-act-row{border-bottom:1px solid #0f172a;align-items:flex-start;gap:.6rem;padding:.4rem 0;display:flex}.home-act-row:last-child{border-bottom:none}.home-act-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}.home-act-info{flex-wrap:wrap;flex:1;align-items:center;gap:.3rem;display:flex}.home-act-user{color:#94a3b8;font-size:.78rem;font-weight:600}.home-act-label{color:#64748b;font-size:.75rem}.home-act-tc{color:#3b82f6;font-family:DM Mono,monospace;font-size:.72rem}.home-act-detail{color:#475569;font-size:.72rem}.home-act-date{color:#334155;white-space:nowrap;flex-shrink:0;font-size:.68rem}.home-camps{flex-direction:column;gap:.5rem;display:flex}.home-camp-row{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .4rem;transition:background .1s;display:flex}.home-camp-row:hover{background:#ffffff08}.home-camp-info{flex-direction:column;gap:.1rem;display:flex}.home-camp-name{color:#e2e8f0;font-size:.82rem;font-weight:500}.home-camp-count{color:#64748b;font-size:.7rem}.home-camp-status{font-size:.72rem;font-weight:600}.home-docs{flex-direction:column;gap:.4rem;display:flex}.home-doc-row{cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;padding:.4rem .3rem;transition:background .1s;display:flex}.home-doc-row:hover{background:#ffffff08}.home-doc-icon{flex-shrink:0;font-size:.85rem}.home-doc-name{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}@media (width<=1100px){.home-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.home-grid{grid-template-columns:1fr}.home-kpis{flex-wrap:wrap}.home-weather{flex-shrink:1;flex-basis:100%;min-width:0;padding:.9rem 1rem}}.home-weather-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.home-weather{background:#1e293b;border:1px solid;border-radius:12px;flex-shrink:0;align-items:center;gap:1rem;min-width:260px;padding:1rem 1.4rem;transition:all .3s;display:flex}.home-weather-icon{font-size:2.2rem;line-height:1}.home-weather-info{flex-direction:column;gap:.2rem;display:flex}.home-weather-label{font-size:1rem;font-weight:700}.home-weather-sub{color:#64748b;font-size:.78rem}.home-alerts{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.home-alert{cursor:pointer;border:1px solid;border-radius:8px;align-items:center;gap:.8rem;padding:.6rem .9rem;transition:opacity .15s,transform .1s;display:flex}.home-alert:hover{opacity:.85;transform:translate(2px)}.home-alert-icon{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.home-alert-body{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.home-alert-title{font-size:.82rem;font-weight:600}.home-alert-items{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-family:DM Mono,monospace;font-size:.72rem;overflow:hidden}.home-alert-arrow{color:#475569;flex-shrink:0;font-size:.9rem}.tc-card{background:#1e293b;border:1px solid #334155;border-left-width:3px;border-radius:10px;transition:border-color .2s;overflow:hidden}.tc-card.status-à-tester{border-left-color:#64748b}.tc-card.status-en-cours{border-left-color:#f59e0b}.tc-card.status-passé{border-left-color:#22c55e}.tc-card.status-échoué{border-left-color:#ef4444}.tc-card.status-bloqué{border-left-color:#a855f7}.tc-card-header{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.tc-card-header:hover{background:#ffffff05}.tc-card-left{flex:1;min-width:0}.tc-id{color:#3b82f6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.tc-title{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.tc-meta-row{flex-wrap:wrap;align-items:center;gap:5px;margin-top:.35rem;margin-bottom:.1rem;display:flex}.tc-status-pill{letter-spacing:.03em;border:1px solid;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:700}.tc-status-pill--à-tester{color:#94a3b8;background:#47556926;border-color:#475569}.tc-status-pill--en-cours{color:#fbbf24;background:#d9770626;border-color:#d97706}.tc-status-pill--passé{color:#4ade80;background:#16a34a26;border-color:#16a34a}.tc-status-pill--échoué{color:#f87171;background:#dc262626;border-color:#dc2626}.tc-status-pill--bloqué{color:#c084fc;background:#9333ea26;border-color:#9333ea}.tc-priority-pill{color:var(--p-color,#94a3b8);background:color-mix(in srgb, var(--p-color,#94a3b8) 12%, transparent);border:1px solid;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:700}.tc-type-pill{color:#64748b;background:#0f172a;border:1px solid #1e293b;border-radius:20px;padding:2px 8px;font-size:.68rem;font-weight:500}.tc-reqs{flex-wrap:wrap;gap:4px;margin-top:.25rem;display:flex}.tc-req-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:1px 6px;font-size:.7rem}.tc-card-right{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.status-select{cursor:pointer;background:#0f172a;border:1px solid;border-radius:6px;outline:none;padding:.3rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600}.status-select.status-à-tester{color:#94a3b8;border-color:#475569}.status-select.status-en-cours{color:#fbbf24;border-color:#d97706}.status-select.status-passé{color:#4ade80;border-color:#16a34a}.status-select.status-échoué{color:#f87171;border-color:#dc2626}.status-select.status-bloqué{color:#c084fc;border-color:#9333ea}.status-select option{color:#e2e8f0;background:#1e293b}.tc-delete-btn{color:#475569;cursor:pointer;opacity:.6;background:0 0;border:none;padding:.2rem .3rem;font-size:.85rem;line-height:1;transition:color .15s}.tc-delete-btn:hover:not(:disabled){color:#ef4444;opacity:1}.tc-delete-btn:disabled{cursor:default}.expand-btn{color:#64748b;cursor:pointer;background:0 0;border:none;padding:.2rem .3rem;font-size:1rem;line-height:1;transition:transform .2s,color .15s}.expand-btn.open{color:#94a3b8;transform:rotate(180deg)}.expand-btn:hover{color:#e2e8f0}.tc-card-body{border-top:1px solid #334155;flex-direction:column;gap:1rem;padding:1rem 1.1rem;display:flex}.tc-section-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.4rem;font-size:.72rem;font-weight:600}.tc-section-value{color:#cbd5e1;font-size:.875rem;line-height:1.5}.steps-table{border-collapse:collapse;width:100%;font-size:.82rem}.steps-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #334155;padding:.4rem .6rem;font-size:.72rem;font-weight:600}.steps-table td{color:#cbd5e1;vertical-align:top;border-bottom:1px solid #1e293b;padding:.5rem .6rem;line-height:1.45}.steps-table tr:last-child td{border-bottom:none}.steps-table tr:hover td{background:#ffffff05}.step-num{text-align:center;color:#475569;width:36px;font-family:DM Mono,monospace;font-weight:700}.tc-no-steps{color:#475569;font-size:.82rem;font-style:italic}.tc-comments-section{border-top:1px solid #334155;margin-top:.5rem;padding-top:.8rem}.tc-comment-badge{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:4px;padding:.1rem .4rem;font-size:.72rem}.comments-loading,.comments-empty{color:#475569;padding:.4rem 0;font-size:.8rem;font-style:italic}.comment-item{background:#0f172a;border:1px solid #334155;border-radius:8px;margin-bottom:.5rem;padding:.7rem .9rem}.comment-header{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.comment-author{color:#3b82f6;font-size:.75rem;font-weight:600}.comment-date{color:#475569;flex:1;font-size:.72rem}.comment-delete{color:#475569;cursor:pointer;background:0 0;border:none;padding:0;font-size:1rem;line-height:1;transition:color .15s}.comment-delete:hover{color:#ef4444}.comment-content{color:#cbd5e1;white-space:pre-wrap;font-size:.85rem;line-height:1.5}.comment-form{align-items:flex-end;gap:.5rem;margin-top:.6rem;display:flex}.comment-input{color:#e2e8f0;resize:none;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;flex:1;padding:.5rem .8rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.comment-input:focus{border-color:#3b82f6}.comment-input::placeholder{color:#475569}.comment-submit{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:8px;padding:.5rem 1rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s}.comment-submit:hover:not(:disabled){background:#2563eb}.comment-submit:disabled{opacity:.4;cursor:not-allowed}.tc-history-badge{color:#a855f7;background:#a855f71a;border:1px solid #a855f74d;border-radius:4px;padding:.1rem .4rem;font-size:.72rem}.tc-tabs-section{border-top:1px solid #334155;margin-top:.5rem;padding-top:.8rem}.tc-tabs{border-bottom:1px solid #334155;gap:0;margin-bottom:.8rem;display:flex}.tc-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem 1rem .5rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s}.tc-tab:hover{color:#94a3b8}.tc-tab.active{color:#e2e8f0;border-bottom-color:#3b82f6}.tc-tab-content{padding-top:.3rem}.history-item{gap:.8rem;padding:.5rem 0;display:flex;position:relative}.history-line{background:#334155;width:1px;position:absolute;top:20px;bottom:-8px;left:7px}.history-item:last-child .history-line{display:none}.history-dot{z-index:1;background:#3b82f6;border:2px solid #1e293b;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:3px}.history-body{flex:1}.history-header{align-items:center;gap:.6rem;margin-bottom:.2rem;display:flex}.history-author{color:#3b82f6;font-size:.75rem;font-weight:600}.history-date{color:#475569;font-size:.7rem}.history-change{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.history-status{font-weight:600}.history-arrow{color:#475569;font-size:.75rem}.history-action{color:#64748b;font-size:.78rem}.tc-edit-bar{justify-content:flex-end;margin-bottom:.6rem;display:flex}.tc-edit-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:.3rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .15s}.tc-edit-btn:hover{color:#3b82f6;border-color:#3b82f6}.tc-edit-form{background:#0f172a;border:1px solid #334155;border-radius:10px;flex-direction:column;gap:1rem;margin-bottom:.8rem;padding:1rem 1.2rem;display:flex}.tc-edit-section{flex-direction:column;gap:.4rem;display:flex}.tc-edit-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.tc-edit-textarea{color:#e2e8f0;resize:vertical;background:#1e293b;border:1px solid #334155;border-radius:6px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.tc-edit-textarea:focus{border-color:#3b82f6}.tc-edit-textarea::placeholder{color:#475569}.tc-edit-steps-header{justify-content:space-between;align-items:center;display:flex}.tc-edit-add-step{color:#bbf7d0;cursor:pointer;background:#166534;border:1px solid #16a34a;border-radius:6px;padding:.25rem .7rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .15s}.tc-edit-add-step:hover{background:#15803d}.tc-edit-empty-steps{color:#475569;padding:.3rem 0;font-size:.82rem;font-style:italic}.tc-edit-steps-list{flex-direction:column;gap:.5rem;margin-top:.4rem;display:flex}.tc-edit-step-row{align-items:center;gap:.6rem;display:flex}.tc-edit-step-num{color:#93c5fd;background:#1e3a5f;border:1px solid #2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.tc-edit-step-fields{flex:1;gap:.5rem;display:flex}.tc-edit-step-input{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:6px;outline:none;flex:1;padding:.4rem .6rem;font-family:inherit;font-size:.82rem;transition:border-color .2s}.tc-edit-step-input:focus{border-color:#3b82f6}.tc-edit-step-input::placeholder{color:#475569}.tc-edit-step-remove{color:#f87171;cursor:pointer;background:0 0;border:1px solid #7f1d1d;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;line-height:1;transition:background .15s;display:flex}.tc-edit-step-remove:hover{background:#ef44441a}.tc-edit-error{color:#f87171;margin:0;font-size:.82rem}.tc-edit-actions{border-top:1px solid #1e293b;justify-content:flex-end;gap:.5rem;padding-top:.8rem;display:flex}.tc-edit-cancel{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:.4rem 1rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s}.tc-edit-cancel:hover:not(:disabled){color:#e2e8f0;border-color:#64748b}.tc-edit-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.4rem 1.2rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .15s}.tc-edit-save:hover:not(:disabled){background:#1d4ed8}.tc-edit-save:disabled{opacity:.5;cursor:not-allowed}.stats-bar{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.stat-item{flex-direction:column;align-items:center;gap:.2rem;display:flex}.stat-value{font-family:DM Mono,monospace;font-size:1.6rem;font-weight:800;line-height:1}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.stat-divider{border-left:1px solid #334155;padding-left:1.5rem}.progress-wrap{flex:1;min-width:150px}.progress-bar{background:#0f172a;border-radius:3px;height:6px;display:flex;overflow:hidden}.progress-fill{height:100%;transition:width .4s}.progress-passé{background:#22c55e}.progress-en-cours{background:#f59e0b}.progress-échoué{background:#ef4444}.progress-bloqué{background:#a855f7}.doc-selector-wrap{align-items:center;gap:.6rem;display:flex}.doc-selector-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.75rem;font-weight:600}.doc-selector{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;max-width:380px;padding:.5rem .8rem;font-family:inherit;font-size:.85rem;transition:border-color .2s}.doc-selector:focus{border-color:#3b82f6}.doc-selector:disabled{opacity:.5;cursor:not-allowed}.doc-selector option{background:#1e293b}.doc-selector-clear{color:#64748b;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:all .15s;display:flex}.doc-selector-clear:hover{color:#ef4444;border-color:#ef4444}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}.trace-kpis{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.trace-kpi{flex-direction:column;align-items:center;gap:.2rem;display:flex}.kpi-val{color:#f1f5f9;font-family:DM Mono,monospace;font-size:1.6rem;font-weight:800;line-height:1}.kpi-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.kpi-divider{border-left:1px solid #334155;padding-left:1.5rem}.trace-header-actions{gap:.5rem;display:flex}.action-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:.4rem .8rem;font-family:inherit;font-size:.8rem;transition:all .15s}.action-btn:hover{color:#e2e8f0;border-color:#64748b}.trace-card{background:#1e293b;border:1px solid #334155;border-left:3px solid #3b82f6;border-radius:10px;transition:border-color .2s;overflow:hidden}.trace-card.uncovered{border-left-color:#f59e0b}.trace-card-header{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.trace-card-header:hover{background:#ffffff05}.trace-card-left{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.req-code{color:#3b82f6;text-transform:uppercase;letter-spacing:.04em;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.req-desc{color:#e2e8f0;font-size:.875rem;line-height:1.4}.req-category{color:#64748b;font-size:.72rem}.trace-card-right{flex-shrink:0;align-items:center;gap:.8rem;display:flex}.tc-mini-badges{flex-wrap:wrap;gap:4px;max-width:120px;display:flex}.badge-dot{cursor:help;border-radius:50%;width:10px;height:10px;display:inline-block}.badge-empty{color:#f59e0b;background:#422006;border:1px solid #92400e;border-radius:4px;padding:.1rem .4rem;font-size:.7rem}.tc-count{color:#64748b;text-align:right;min-width:40px;font-size:.78rem}.trace-card-body{border-top:1px solid #334155;padding:.5rem 0}.tc-row{align-items:center;gap:.8rem;padding:.5rem 1.1rem;transition:background .1s;display:flex}.tc-row:hover{background:#ffffff05}.tc-row-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tc-row-id{color:#64748b;flex-shrink:0;min-width:220px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.tc-row-title{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.tc-row-right{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.tc-row-priority{color:#94a3b8;font-size:.72rem}.tc-row-status{text-align:right;min-width:70px;font-size:.75rem;font-weight:600}.no-tc-msg{color:#f59e0b;padding:.8rem 1.1rem;font-size:.85rem}.no-tc-zone{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.1rem;display:flex}.no-tc-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-create-tc{color:#bbf7d0;cursor:pointer;background:#166534;border:1px solid #16a34a;border-radius:6px;padding:.35rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.btn-create-tc:hover{background:#15803d}.btn-generate-tc{color:#93c5fd;cursor:pointer;background:#1e3a5f;border:1px solid #2563eb;border-radius:6px;padding:.35rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.btn-generate-tc:hover:not(:disabled){color:#fff;background:#1d4ed8}.btn-generate-tc:disabled{opacity:.6;cursor:not-allowed}.btn-delete-req{color:#f87171;cursor:pointer;background:0 0;border:1px solid #7f1d1d;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.8rem;transition:all .15s}.btn-delete-req:hover{background:#450a0a;border-color:#ef4444}.del-confirm-inline{color:#fca5a5;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.btn-del-yes{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;padding:.25rem .6rem;font-family:inherit;font-size:.75rem}.btn-del-yes:disabled{opacity:.5}.btn-del-no{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:4px;padding:.25rem .6rem;font-family:inherit;font-size:.75rem}.tc-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tc-modal{background:#1e293b;border:1px solid #334155;border-radius:14px;flex-direction:column;width:100%;max-width:680px;max-height:88vh;display:flex;overflow:hidden}.tc-modal-header{border-bottom:1px solid #334155;justify-content:space-between;align-items:flex-start;padding:1.2rem 1.5rem 1rem;display:flex}.tc-modal-title{color:#f1f5f9;margin:0 0 .2rem;font-size:1.05rem;font-weight:700}.tc-modal-sub{color:#64748b;margin:0;font-size:.8rem}.tc-modal-sub strong{color:#3b82f6;font-family:DM Mono,monospace}.tc-modal-close{color:#64748b;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.2rem;font-size:1.1rem;line-height:1}.tc-modal-close:hover{color:#e2e8f0}.tc-modal-body{flex-direction:column;flex:1;gap:1rem;padding:1.2rem 1.5rem;display:flex;overflow-y:auto}.tc-modal-footer{border-top:1px solid #334155;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.tc-field{flex-direction:column;gap:.35rem;display:flex}.tc-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.tc-required{color:#f87171}.tc-input,.tc-select,.tc-textarea{color:#e2e8f0;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:7px;width:100%;padding:.55rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.tc-input:focus,.tc-select:focus,.tc-textarea:focus{border-color:#3b82f6;outline:none}.tc-textarea{resize:vertical}.tc-row-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.tc-steps-header{justify-content:space-between;align-items:center;display:flex}.btn-add-step{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #334155;border-radius:5px;padding:.25rem .65rem;font-family:inherit;font-size:.78rem;transition:all .15s}.btn-add-step:hover{color:#93c5fd;border-color:#3b82f6}.tc-steps-list{flex-direction:column;gap:.5rem;display:flex}.tc-step-row{align-items:center;gap:.6rem;display:flex}.tc-step-num{color:#94a3b8;background:#334155;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.tc-step-fields{flex:1;grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.tc-step-input{padding:.4rem .6rem;font-size:.82rem}.btn-remove-step{color:#475569;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.2rem;font-size:1rem;line-height:1}.btn-remove-step:hover{color:#ef4444}.tc-form-error{color:#f87171;background:#450a0a;border:1px solid #7f1d1d;border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.82rem}.tc-btn-cancel{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:7px;padding:.55rem 1.2rem;font-family:inherit;font-size:.875rem;transition:all .15s}.tc-btn-cancel:hover{color:#e2e8f0;border-color:#64748b}.tc-btn-save{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:7px;padding:.55rem 1.4rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s}.tc-btn-save:hover:not(:disabled){background:#2563eb}.tc-btn-save:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.tc-row-fields,.tc-step-fields{grid-template-columns:1fr}}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dash-filters{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.dash-kpis{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-kpi{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.3rem;min-width:110px;padding:1.2rem 1.5rem;display:flex}.dash-kpi-highlight{border-color:#1d4ed8;min-width:160px}.dash-kpi-val{color:#f1f5f9;font-family:DM Mono,monospace;font-size:2rem;font-weight:800;line-height:1}.dash-kpi-lbl{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.dash-progress{background:#0f172a;border-radius:2px;width:100%;height:4px;margin-top:.4rem;overflow:hidden}.dash-progress-fill{background:#22c55e;border-radius:2px;height:100%;transition:width .6s}.dash-charts{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.dash-chart-card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1.2rem 1.5rem}.dash-chart-card h2{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem;font-size:.85rem;font-weight:600}.chart-empty{color:#475569;justify-content:center;align-items:center;height:280px;font-size:.875rem;display:flex}.dash-chart-progress{grid-column:span 2}.progress-list{flex-direction:column;gap:.8rem;display:flex}.progress-row{align-items:center;gap:1rem;display:flex}.progress-label{color:#94a3b8;min-width:80px;font-size:.82rem}.progress-track{background:#0f172a;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .5s}.progress-count{text-align:right;min-width:70px;font-family:DM Mono,monospace;font-size:.82rem;font-weight:700}.progress-pct{color:#64748b;font-size:.75rem;font-weight:400}@media (width<=900px){.dash-charts{grid-template-columns:1fr}.dash-chart-progress{grid-column:span 1}}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:8px;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:8px;padding:.5rem 1.1rem;font-family:inherit;font-size:.85rem;transition:all .15s}.btn-ghost:hover{color:#e2e8f0;border-color:#64748b}.btn-danger-sm{color:#64748b;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;flex-shrink:0;width:26px;height:26px;font-size:.7rem;transition:all .15s}.btn-danger-sm:hover{color:#ef4444;border-color:#ef4444}.camp-layout{grid-template-columns:300px 1fr;gap:1rem;min-height:60vh;display:grid}.camp-list{flex-direction:column;gap:.6rem;display:flex}.camp-card{cursor:pointer;background:#1e293b;border:1px solid #334155;border-left-width:3px;border-radius:10px;padding:.9rem 1rem;transition:all .15s}.camp-card:hover{border-color:#475569}.camp-card.active{background:#1e3a5f;border-left-color:#3b82f6}.camp-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.3rem;display:flex}.camp-name{color:#e2e8f0;font-size:.875rem;font-weight:600}.camp-status{flex-shrink:0;font-size:.72rem;font-weight:600}.camp-desc{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .5rem;font-size:.78rem;line-height:1.4;overflow:hidden}.camp-card-bottom{align-items:center;gap:.6rem;display:flex}.camp-meta{color:#64748b;flex:1;font-size:.72rem}.camp-detail{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;gap:1rem;padding:1.2rem 1.5rem;display:flex}.camp-detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.camp-detail-header h2{color:#f1f5f9;margin:0 0 .2rem;font-size:1.1rem;font-weight:700}.camp-detail-desc{color:#64748b;margin:0;font-size:.82rem}.camp-detail-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.status-select-camp{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:6px;outline:none;padding:.4rem .6rem;font-family:inherit;font-size:.8rem}.camp-tc-status-select{cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:5px;outline:none;flex-shrink:0;margin-left:auto;padding:.2rem .5rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:border-color .15s,background .15s}.camp-tc-status-select:hover{background:#ffffff0f;border-color:#ffffff40}.camp-tc-status-select:focus{border-color:#3b82f6}.camp-tc-status--à-tester{color:#64748b}.camp-tc-status--en-cours{color:#f59e0b}.camp-tc-status--passé{color:#22c55e}.camp-tc-status--échoué{color:#ef4444}.camp-tc-status--bloqué{color:#a855f7}.camp-stats{background:#0f172a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.8rem 1rem;display:flex}.camp-stat{flex-direction:column;align-items:center;gap:.1rem;display:flex}.camp-stat span{color:#f1f5f9;font-family:DM Mono,monospace;font-size:1.4rem;font-weight:800}.camp-stat label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem}.camp-progress-bar{background:#1e293b;border-radius:3px;flex:1;min-width:100px;height:6px;overflow:hidden}.camp-progress-fill{background:#22c55e;border-radius:3px;height:100%;transition:width .5s}.camp-tc-list{flex-direction:column;gap:.3rem;max-height:400px;display:flex;overflow-y:auto}.camp-tc-row{border-radius:6px;align-items:center;gap:.8rem;padding:.5rem .3rem;transition:background .1s;display:flex}.camp-tc-row:hover{background:#ffffff08}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#1e293b;border:1px solid #334155;border-radius:14px;width:100%;max-width:480px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal-large{max-width:680px}.modal h2{color:#f1f5f9;margin:0 0 1.2rem;font-size:1rem;font-weight:700}.modal-form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:#cbd5e1;font-size:.8rem;font-weight:600}.field>input,.field>textarea{color:#e2e8f0;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.85rem;transition:border-color .15s}.field>input::placeholder,.field>textarea::placeholder{color:#64748b}.field>input:focus,.field>textarea:focus{border-color:#3b82f6}.field>textarea{resize:vertical;min-height:64px}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.tc-picker{flex-direction:column;gap:.3rem;max-height:350px;margin-bottom:1rem;display:flex;overflow-y:auto}.tc-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:.8rem;padding:.5rem .4rem;transition:background .1s;display:flex}.tc-picker-row:hover{background:#ffffff0a}.tc-picker-row input[type=checkbox]{accent-color:#3b82f6;flex-shrink:0;width:15px;height:15px}.tc-picker-select-all{color:#93c5fd;border-bottom:1px solid #ffffff1a;margin-bottom:.3rem;padding-bottom:.6rem}.tc-picker-select-all:hover{background:#3b82f614}@media (width<=640px){.camp-layout{grid-template-columns:1fr}}.ref-layout{color:#e2e8f0;background:#0f172a;min-height:100vh;font-family:DM Sans,sans-serif;display:flex}.ref-sidebar{background:#1e293b;border-right:1px solid #334155;flex-direction:column;flex-shrink:0;width:220px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-logo{color:#fff;background:#3b82f6;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:2rem;font-size:.9rem;font-weight:800;display:flex}.sidebar-nav{flex:1 0 auto}.nav-item{color:#64748b;cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .8rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.nav-item-icon{text-align:center;flex:0 0 1.25rem;width:1.25rem;font-size:1rem;line-height:1}.nav-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item.active{color:#fff;background:#1d4ed8}.sidebar-footer{border-top:1px solid #334155;padding-top:1rem}.user-info{margin-bottom:.8rem}.user-email{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.user-role{color:#3b82f6;text-transform:uppercase;letter-spacing:.05em;background:#0f172a;border:1px solid #1d4ed8;border-radius:4px;margin-top:.2rem;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.logout-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;width:100%;padding:.5rem;font-size:.8rem;transition:all .15s}.logout-btn:hover{color:#ef4444;border-color:#ef4444}.ref-main{flex:1;padding:2rem;overflow-y:auto}.ref-header{margin-bottom:1.5rem}.ref-header h1{color:#f1f5f9;margin:0 0 .2rem;font-size:1.5rem;font-weight:700}.ref-header p{color:#64748b;margin:0;font-size:.85rem}.ref-filters{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;gap:.8rem;margin-bottom:1.5rem;padding:1rem 1.2rem;display:flex}.search-input{color:#f1f5f9;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;width:100%;padding:.6rem 1rem;font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:#3b82f6}.filter-group{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.filter-group label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;min-width:55px;font-size:.75rem;font-weight:600}.filter-pills{flex-wrap:wrap;gap:.4rem;display:flex}.pill{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:20px;padding:.25rem .75rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .15s}.pill:hover{color:#e2e8f0;border-color:#64748b}.pill.active{color:#fff;background:#1d4ed8;border-color:#3b82f6}.pill.pill-passé.active{background:#166534;border-color:#22c55e}.pill.pill-échoué.active{background:#7f1d1d;border-color:#ef4444}.pill.pill-en-cours.active{background:#78350f;border-color:#f59e0b}.pill.pill-bloqué.active{background:#581c87;border-color:#a855f7}.ref-content{flex-direction:column;gap:.75rem;display:flex}.state-msg{text-align:center;color:#64748b;padding:3rem;font-size:.95rem}.state-msg.error{color:#f87171}.ref-count{text-align:right;color:#475569;margin-top:1rem;font-size:.8rem}.load-more-btn{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #334155;border-radius:8px;width:100%;margin-top:.25rem;padding:.7rem;font-family:inherit;font-size:.82rem;transition:all .15s}.load-more-btn:hover{color:#3b82f6;background:#3b82f60d;border-color:#3b82f6}.jira-disabled-btn{color:#64748b;cursor:not-allowed;opacity:.65;white-space:nowrap;background:0 0;border:1px dashed #475569;border-radius:8px;align-items:center;gap:.3rem;padding:.45rem .9rem;font-family:inherit;font-size:.8rem;display:inline-flex}@media (width<=640px){.ref-layout{flex-direction:column}.ref-sidebar{box-sizing:border-box;width:100%;height:auto;min-height:0;padding:3.2rem 1rem .8rem;position:static;overflow:visible}.sidebar-logo{margin-bottom:.8rem}.sidebar-nav{flex-wrap:wrap;flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.nav-item{background:#0f172a;border:1px solid #334155;flex:none;padding:.4rem .7rem;font-size:.8rem}.nav-item .nav-item-label{white-space:nowrap}.sidebar-divider,.sidebar-progress{display:none}.sidebar-footer{border-top:none;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.4rem;display:flex}.sidebar-footer .user-info{margin-bottom:0}.ref-main{padding:1rem}}.period-selector{align-items:center;gap:.5rem;display:flex}.period-selector label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:600}.us-global{background:#1e293b;border:1px solid #334155;border-radius:12px;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.us-global-kpi{flex-direction:column;flex:1;align-items:center;gap:.2rem;display:flex}.us-global-kpi span{color:#f1f5f9;font-family:DM Mono,monospace;font-size:1.8rem;font-weight:800;line-height:1}.us-global-kpi label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:600}.us-list{flex-direction:column;gap:.75rem;display:flex}.us-card{background:#1e293b;border:1px solid #334155;border-radius:10px;overflow:hidden}.us-card-header{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.us-card-header:hover{background:#ffffff05}.us-card-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.us-avatar{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:800;display:flex}.us-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.us-email{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.us-last{color:#64748b;font-size:.72rem}.us-card-right{flex-shrink:0;align-items:center;gap:.8rem;display:flex}.us-badges{flex-wrap:wrap;gap:.4rem;display:flex}.us-badge{border:1px solid;border-radius:4px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.us-badge-blue{color:#3b82f6;background:#3b82f61a;border-color:#1d4ed8}.us-badge-green{color:#22c55e;background:#22c55e1a;border-color:#16a34a}.us-badge-purple{color:#a855f7;background:#a855f71a;border-color:#7c3aed}.us-total{flex-direction:column;align-items:center;gap:.1rem;min-width:45px;display:flex}.us-total span{color:#f1f5f9;font-family:DM Mono,monospace;font-size:1.3rem;font-weight:800;line-height:1}.us-total small{color:#64748b;text-transform:uppercase;font-size:.65rem}.us-progress{height:3px;display:flex;overflow:hidden}.us-progress-seg{height:100%;transition:width .4s}.us-seg-blue{background:#3b82f6}.us-seg-green{background:#22c55e}.us-seg-purple{background:#a855f7}.us-actions{border-top:1px solid #334155;padding:.8rem 1.2rem}.us-actions-title{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.6rem;font-size:.72rem;font-weight:600}.us-no-actions{color:#475569;font-size:.82rem;font-style:italic}.us-action-row{border-bottom:1px solid #1e293b;align-items:center;gap:.7rem;padding:.35rem 0;display:flex}.us-action-row:last-child{border-bottom:none}.us-action-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.us-action-type{color:#94a3b8;min-width:130px;font-size:.78rem}.us-action-tc{color:#3b82f6;min-width:180px;font-family:DM Mono,monospace;font-size:.72rem;font-weight:700}.us-action-detail{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.78rem;overflow:hidden}.us-action-date{color:#475569;white-space:nowrap;flex-shrink:0;font-size:.72rem}.us-charts{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}.us-chart-card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1.2rem 1.5rem}.us-chart-card h2{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 1rem;font-size:.82rem;font-weight:600}.us-chart-wide{grid-column:span 2}.us-kpi-divider{border-left:1px solid #334155;padding-left:1.5rem}.us-ranking{flex-direction:column;gap:.7rem;display:flex}.us-rank-row{align-items:center;gap:.7rem;display:flex}.us-rank-num{min-width:24px;font-family:DM Mono,monospace;font-size:.85rem;font-weight:800}.us-rank-avatar{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.65rem;font-weight:800;display:flex}.us-rank-email{color:#94a3b8;min-width:80px;font-size:.82rem}.us-rank-bar-wrap{background:#0f172a;border-radius:3px;flex:1;height:6px;overflow:hidden}.us-rank-bar{border-radius:3px;min-width:2px;height:100%;transition:width .5s}.us-rank-count{color:#e2e8f0;text-align:right;min-width:28px;font-family:DM Mono,monospace;font-size:.8rem;font-weight:700}@media (width<=900px){.us-charts{grid-template-columns:1fr}.us-chart-wide{grid-column:span 1}}.tdm-section{background:#1e293b;border:1px solid #334155;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.tdm-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.tdm-title{color:#f1f5f9;margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.tdm-subtitle{color:#64748b;margin:0;font-size:.78rem}.tdm-controls{gap:.5rem;display:flex}.tdm-select{color:#e2e8f0;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;padding:.35rem .6rem;font-size:.8rem}.tdm-podium{justify-content:center;align-items:flex-end;gap:0;height:200px;margin-bottom:1.5rem;display:flex}.tdm-podium-slot{flex-direction:column;align-items:center;width:120px;display:flex;position:relative}.tdm-crown{margin-bottom:.2rem;font-size:1.4rem}.tdm-medal{font-size:2rem}.tdm-name{color:#f1f5f9;text-align:center;margin:.3rem 0 .15rem;font-size:.82rem;font-weight:700}.tdm-pts{color:#94a3b8;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.tdm-detail{flex-wrap:wrap;justify-content:center;gap:.25rem;margin-bottom:.5rem;display:flex}.tdm-detail span{color:#94a3b8;background:#ffffff0f;border-radius:4px;padding:.1rem .35rem;font-size:.65rem}.tdm-stand{border-radius:4px 4px 0 0;width:100%}.tdm-stand-1{background:linear-gradient(#f59e0b,#b45309);height:80px}.tdm-stand-2{background:linear-gradient(#94a3b8,#475569);height:55px}.tdm-stand-3{background:linear-gradient(#cd7f32,#92400e);height:35px}.tdm-gold .tdm-name{color:#fde68a}.tdm-silver .tdm-name{color:#e2e8f0}.tdm-bronze .tdm-name{color:#fed7aa}.tdm-table{margin-top:1rem;overflow-x:auto}.tdm-table table{border-collapse:collapse;width:100%;font-size:.82rem}.tdm-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #334155;padding:.5rem .75rem;font-size:.72rem}.tdm-table td{color:#cbd5e1;border-bottom:1px solid #1e293b;padding:.5rem .75rem}.tdm-row-top td{background:#ffffff08}.tdm-empty{text-align:center;color:#475569;padding:2rem;font-size:.85rem}.us-badge-orange{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b66}.us-badge-teal{color:#14b8a6;background:#14b8a61a;border-color:#14b8a666}.tdm-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:all .15s}.tdm-tab-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.tdm-tab-btn:hover:not(.active){color:#e2e8f0;border-color:#475569}.tdm-reward{color:#fde68a;text-align:center;word-break:break-word;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:6px;max-width:110px;margin-bottom:4px;padding:.15rem .5rem;font-size:.68rem}.tdm-fun-message{color:#93c5fd;background:#3b82f614;border:1px solid #3b82f633;border-radius:10px;margin:.75rem 0;padding:.75rem 1rem;font-size:.85rem;font-style:italic;line-height:1.6}.tdm-message-fin{text-align:center;color:#64748b;padding:.5rem;font-size:.8rem;font-style:italic}.tdm-config-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:.3rem .5rem;font-size:.85rem;transition:all .15s}.tdm-config-btn:hover{color:#e2e8f0;border-color:#475569}.tdm-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tdm-modal{background:#1e293b;border:1px solid #334155;border-radius:16px;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto}.tdm-modal-header{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.tdm-modal-header h3{color:#f1f5f9;margin:0;font-size:.95rem;font-weight:700}.tdm-modal-header button{color:#64748b;cursor:pointer;background:0 0;border:none;font-size:1rem}.tdm-modal-body{padding:1rem 1.25rem}.tdm-form-group{margin-bottom:1rem}.tdm-form-group label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.78rem;font-weight:600;display:block}.tdm-input{color:#e2e8f0;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.82rem}.tdm-input:focus{border-color:#3b82f6}.tdm-modal-footer{border-top:1px solid #334155;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem;display:flex}.tdm-btn-cancel{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:8px;padding:.5rem 1rem;font-size:.82rem}.tdm-btn-save{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:600}.tdm-btn-save:hover{background:#2563eb}:root{--fm-violet:#7c3aed;--fm-violet-d:#6d28d9;--fm-violet-bg:#f5f3ff;--fm-ink:#14121f;--fm-muted:#475569;--fm-line:#e7e3f5;--fm-ok:#16a34a;--fm-ok-bg:#ecfdf5;--fm-ko:#dc2626;--fm-ko-bg:#fef2f2;--fm-amber:#d97706}.fm-main{min-width:0;min-height:100vh;color:var(--fm-ink);background:#fbfaff;flex:1;padding:60px 32px;font-family:DM Sans,system-ui,sans-serif}@media (width<=640px){.fm-main{padding:16px 16px 40px}.fm-h1{font-size:24px}.fm-grid{grid-template-columns:1fr}}.fm-h1,.fm-h2,.fm-title{letter-spacing:-.01em;color:var(--fm-ink);margin:0;font-family:Syne,DM Sans,sans-serif;font-weight:800}.fm-h1{font-size:30px}.fm-h2{margin:28px 0 14px;font-size:20px}.fm-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.fm-sub{color:var(--fm-muted);margin:6px 0 0;font-size:14px}.fm-btn{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:transform 60ms,box-shadow .12s,background .12s}.fm-btn:active{transform:translateY(1px)}.fm-btn-primary{background:var(--fm-violet);color:#fff;box-shadow:0 2px 0 var(--fm-violet-d)}.fm-btn-primary:hover{background:var(--fm-violet-d)}.fm-btn-ghost{color:var(--fm-violet-d);border-color:var(--fm-line);background:#fff}.fm-btn-ghost:hover{background:var(--fm-violet-bg)}.fm-btn-danger{color:var(--fm-ko);background:#fff;border-color:#f3c8c8}.fm-btn:disabled{opacity:.5;cursor:not-allowed}.fm-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.fm-toolbar .fm-input,.fm-toolbar .fm-select{height:36px;padding:7px 10px;font-size:13px}.fm-toolbar .fm-toolbar-search{flex:200px;min-width:150px}.fm-toolbar .fm-toolbar-sel{flex:0 auto;width:auto;min-width:120px;max-width:190px}.fm-chip-cat{color:#3730a3;background:#eef2ff}.fm-qcm-actions{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.fm-qcm-actions .fm-btn{min-width:0;box-shadow:none;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex:22%;padding:5px 7px;font-size:11.5px;font-weight:600;overflow:hidden}.fm-qcm-actions .fm-btn-primary{box-shadow:0 1px 0 var(--fm-violet-d)}.fm-qcm-actions .fm-btn-primary:active,.fm-qcm-actions .fm-btn-ghost:active,.fm-qcm-actions .fm-btn-danger:active{transform:translateY(1px)}.fm-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:18px;display:grid}.fm-card{border:1px solid var(--fm-line);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:18px 18px 16px;transition:box-shadow .15s,transform .1s,border-color .15s;display:flex}.fm-card:hover{border-color:#d9cffb;transform:translateY(-2px);box-shadow:0 10px 30px #7c3aed1f}.fm-card-accent{background:linear-gradient(90deg, var(--fm-violet), #a78bfa);border-radius:6px;height:6px;margin:-18px -18px 4px}.fm-card-name{font-family:Syne,sans-serif;font-size:17px;font-weight:800}.fm-card-desc{color:var(--fm-muted);font-size:13px;line-height:1.4}.fm-card-foot{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.fm-chip{background:var(--fm-violet-bg);color:var(--fm-violet-d);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.fm-chip-amber{color:var(--fm-amber);background:#fff7ed}.fm-chip-ok{background:var(--fm-ok-bg);color:var(--fm-ok)}.fm-chip-grey{color:var(--fm-muted);background:#f3f4f6}.fm-chip-soc{color:#155e75;background:#ecfeff;font-weight:600}.fm-code{letter-spacing:1px;font-family:DM Mono,monospace;font-weight:700}.fm-modal-overlay{z-index:200;background:#1e1b2e73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fm-modal{width:100%;max-width:460px;color:var(--fm-ink);background:#fff;border-radius:18px;max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 24px 60px #0003}.fm-modal .fm-sub{color:var(--fm-muted)}.fm-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.fm-field label{color:var(--fm-ink);font-size:13px;font-weight:700}.fm-input,.fm-textarea,.fm-select{border:1px solid var(--fm-line);border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.fm-input:focus,.fm-textarea:focus{outline:2px solid var(--fm-violet);border-color:var(--fm-violet)}.fm-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.fm-empty{text-align:center;color:var(--fm-muted);padding:60px 20px}.fm-error{background:var(--fm-ko-bg);color:var(--fm-ko);border:1px solid #f3c8c8;border-radius:12px;margin:14px 0;padding:12px 16px;font-size:14px}.fm-back{color:var(--fm-violet-d);cursor:pointer;background:0 0;border:none;margin-bottom:10px;padding:0;font-size:14px;font-weight:700}.fm-table{border-collapse:collapse;border:1px solid var(--fm-line);width:100%;color:var(--fm-ink);background:#fff;border-radius:12px;overflow:hidden}.fm-table th,.fm-table td{text-align:left;border-bottom:1px solid var(--fm-line);padding:10px 14px;font-size:14px}.fm-table th{background:var(--fm-violet-bg);color:var(--fm-violet-d);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.fm-table tr:last-child td{border-bottom:none}.fm-player{max-width:820px;margin:0 auto}.fm-player-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.fm-timer{color:var(--fm-violet-d);font-family:DM Mono,monospace;font-size:18px;font-weight:700}.fm-timer.fm-timer-low{color:var(--fm-ko)}.fm-progress{background:var(--fm-line);border-radius:999px;height:8px;margin:8px 0 18px;overflow:hidden}.fm-progress>div{background:linear-gradient(90deg, var(--fm-violet), #a78bfa);height:100%;transition:width .25s}.fm-dots{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.fm-dot{border:1px solid var(--fm-line);cursor:pointer;width:26px;height:26px;color:var(--fm-muted);background:#fff;border-radius:8px;font-size:12px;font-weight:700}.fm-dot.cur{border-color:var(--fm-violet);color:var(--fm-violet-d);box-shadow:0 0 0 2px var(--fm-violet-bg)}.fm-dot.done{background:var(--fm-violet-bg);color:var(--fm-violet-d)}.fm-qcard{border:1px solid var(--fm-line);background:#fff;border-radius:16px;padding:22px}.fm-q-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.fm-scenario{border-left:3px solid var(--fm-violet);background:#fafafb;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:14px;line-height:1.5}.fm-q-text{margin-bottom:6px;font-size:17px;font-weight:600;line-height:1.45}.fm-pre{background:var(--fm-violet-bg);border-radius:10px;margin:12px 0;padding:12px 14px;font-size:13.5px;line-height:1.5}.fm-aid{background:#0c101a;border-radius:12px;margin:12px 0;padding:12px}.fm-aid .rq-aid-cap{color:#cbd5e1;margin-bottom:4px;font-size:13px}.fm-aid .rq-aid-note{color:#94a3b8;margin-top:4px;font-size:12px;font-style:italic}.fm-opts{flex-direction:column;gap:10px;margin-top:14px;display:flex}.fm-opt{border:1.5px solid var(--fm-line);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.fm-opt:hover{border-color:#c4b5fd}.fm-opt.sel{border-color:var(--fm-violet);background:var(--fm-violet-bg)}.fm-opt.correct{border-color:var(--fm-ok);background:var(--fm-ok-bg)}.fm-opt.wrong{border-color:var(--fm-ko);background:var(--fm-ko-bg)}.fm-opt.disabled{cursor:default}.fm-opt-letter{background:var(--fm-violet-bg);height:28px;color:var(--fm-violet-d);border-radius:8px;flex:0 0 28px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex}.fm-opt.correct .fm-opt-letter{background:var(--fm-ok);color:#fff}.fm-opt.wrong .fm-opt-letter{background:var(--fm-ko);color:#fff}.fm-opt-body{flex:1;min-width:0}.fm-opt-text{font-size:14.5px;line-height:1.4}.fm-just{margin-top:6px;font-size:13px;line-height:1.45}.fm-just.pos{color:var(--fm-ok)}.fm-just.neg{color:var(--fm-ko)}.fm-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-top:16px;padding:12px 14px}.fm-hint-t{color:var(--fm-amber);margin-bottom:4px;font-family:Syne,sans-serif;font-size:14px;font-weight:800}.fm-hint-h{color:#4b3a16;font-size:13.5px;line-height:1.5}.fm-player-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}.fm-result{text-align:center;max-width:720px;margin:0 auto}.fm-result-score{margin:8px 0;font-family:Syne,sans-serif;font-size:56px;font-weight:800;line-height:1}.fm-result.pass .fm-result-score{color:var(--fm-ok)}.fm-result.fail .fm-result-score{color:var(--fm-ko)}.fm-result-badge{border-radius:999px;padding:6px 16px;font-size:15px;font-weight:800;display:inline-block}.fm-result.pass .fm-result-badge{background:var(--fm-ok-bg);color:var(--fm-ok)}.fm-result.fail .fm-result-badge{background:var(--fm-ko-bg);color:var(--fm-ko)}.fm-review{text-align:left;margin-top:26px}.fm-review-row{border-bottom:1px solid var(--fm-line);align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.fm-review-row .fm-rev-ic{font-weight:800}.fm-review-row.ok .fm-rev-ic{color:var(--fm-ok)}.fm-review-row.ko .fm-rev-ic{color:var(--fm-ko)}.fm-acc{flex-direction:column;gap:8px;display:flex}.fm-acc-item{border:1px solid var(--fm-line);border-radius:12px;overflow:hidden}.fm-acc-item.open{border-color:#c4b5fd}.fm-acc-head{background:var(--fm-violet-bg);width:100%;color:var(--fm-violet-d);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-family:Syne,sans-serif;font-size:14px;font-weight:700;display:flex}.fm-acc-head:hover{background:#ede9fe}.fm-acc-body{color:var(--fm-ink);padding:14px;font-size:14px;line-height:1.55}.fm-acc-body strong{color:var(--fm-violet-d)}.fm-acc-body ul{margin:6px 0;padding-left:20px}.fm-acc-body img{border:1px solid var(--fm-line);border-radius:8px;max-width:100%;height:auto;display:block}.fm-illus{border:1px solid var(--fm-line);background:#fafafe;border-radius:10px;max-width:460px;margin:12px 0;padding:8px}.fm-illus img{object-fit:contain;border:none;width:auto;max-width:100%;max-height:320px;margin:0 auto}.fm-illus figcaption{color:var(--fm-muted);text-align:center;margin-top:5px;font-size:12px;font-style:italic}.sentinel-dashboard{color:#1e293b;background:#faf7f2;flex-direction:column;height:auto;min-height:100vh;display:flex}.sentinel-header{color:#fbbf24;background:linear-gradient(135deg,#1c1500 0%,#3f2800 100%);padding:2rem;box-shadow:0 4px 12px #00000026}.sentinel-header .header-content h1{margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.sentinel-header .tagline{opacity:.9;margin:0;font-size:1rem;font-style:italic}.sentinel-header .subtitle{opacity:.8;margin:.5rem 0 0;font-size:.9rem}.error-banner{color:#7f1d1d;background:#fef2f2;border-left:4px solid #dc2626;border-radius:4px;margin:1rem;padding:1rem}.sentinel-content{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;padding:2rem;display:grid;overflow-y:auto}.sentinel-left{flex-direction:column;gap:2rem;min-width:0;display:flex}.kpi-section h2,.batches-section h2{color:#1e293b;border-bottom:2px solid #fbbf24;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.3rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.kpi-card{text-align:center;background:#fff;border:1px solid #e5dfd3;border-radius:8px;padding:1.2rem;box-shadow:0 2px 8px #0000000d}.kpi-value{color:#fbbf24;margin-bottom:.5rem;font-size:2rem;font-weight:700}.kpi-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem}.batches-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.batches-toolbar h2{flex:auto;margin:0}.batches-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.bc-field{color:#64748b;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.bc-field select,.bc-field input[type=date]{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e5dfd3;border-radius:6px;padding:.35rem .5rem;font-size:.82rem}.bc-field input[type=date]{font-family:inherit}.bc-clear-date{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.85rem;line-height:1}.bc-clear-date:hover{color:#dc2626}.bc-dir{text-align:center;min-width:2.2rem;font-size:1rem;line-height:1}.batches-more{color:#94a3b8;margin:.6rem 0 0;font-size:.8rem;font-style:italic}.batches-list{flex-direction:column;gap:.5rem;display:flex}.batch-item{cursor:pointer;background:#fff;border:1px solid #e5dfd3;border-radius:6px;padding:1rem;transition:all .2s}.batch-item:hover{border-color:#fbbf24;box-shadow:0 4px 12px #fbbf241a}.batch-item.active{background:#fffbeb;border-color:#fbbf24;box-shadow:0 4px 12px #fbbf2433}.batch-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.batch-header strong{color:#1e293b;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-running{color:#166534;background:#dcfce7}.badge-completed{color:#0c4a6e;background:#dbeafe}.badge-paused{color:#92400e;background:#fef3c7}.badge-error{color:#7f1d1d;background:#fee2e2}.badge-cancelled{color:#475569;background:#f1f5f9}.batch-meta{color:#64748b;gap:1rem;font-size:.8rem;display:flex}.no-data{text-align:center;color:#94a3b8;padding:2rem;font-style:italic}.sentinel-right{flex-direction:column;gap:1rem;min-width:0;display:flex}.batch-detail{background:#fff;border:1px solid #e5dfd3;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.batch-detail h2{color:#1e293b;border-bottom:2px solid #fbbf24;margin:0 0 1.5rem;padding-bottom:.5rem;font-size:1.3rem}.batch-detail.placeholder{justify-content:center;align-items:center;min-height:300px;display:flex}.batch-detail.placeholder p{color:#94a3b8;font-style:italic}.detail-section{margin-bottom:1.5rem}.detail-section h3{color:#fbbf24;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.95rem;font-weight:600}.detail-section code{color:#1e293b;word-break:break-all;background:#f3f1eb;border-radius:4px;padding:.75rem;font-family:monospace;font-size:.85rem;display:block}.detail-section p{color:#64748b;margin:.5rem 0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.75rem;display:grid}.stats-grid div{text-align:center;background:#f3f1eb;border-radius:6px;padding:1rem}.stats-grid strong{color:#fbbf24;margin-bottom:.25rem;font-size:1.5rem;display:block}.stats-grid span{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;display:block}.btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-secondary{color:#1e293b;background:#e5dfd3}.btn-secondary:hover{background:#d5cfc3;transform:translateY(-1px)}.learning-section{background:#fff;border:1px solid #e5dfd3;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.learning-section h3{color:#1e293b;margin:0 0 1rem;font-size:1rem}.learning-section p{color:#64748b;margin:.5rem 0}.btn-primary{color:#fff;background:#16a34a}.btn-primary:hover{background:#15803d;transform:translateY(-1px)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover{background:#b91c1c;transform:translateY(-1px)}.btn-sm{padding:.4rem .9rem;font-size:.82rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.batch-detail h2 .badge-running{vertical-align:middle;font-size:.7rem}.batch-queue-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.queue-item{background:#f3f1eb;border-radius:6px;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.85rem;display:flex}.queue-pos{color:#94a3b8;min-width:2rem;font-weight:700}.queue-name{color:#1e293b;word-break:break-word;flex:1}.cancel-reason-panel{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.cancel-reason-panel h3{color:#b91c1c;margin-top:0}.cancel-reason-detail{margin:.25rem 0 .85rem;font-size:.88rem;line-height:1.5;color:#7f1d1d!important}.cancel-reason-actions{flex-wrap:wrap;gap:.5rem;display:flex}.interrupt-panel{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:1rem}.interrupt-panel h3{color:#b45309}.interrupt-card{background:#fff;border:1px solid #fde68a;border-radius:6px;margin-bottom:.75rem;padding:1rem}.interrupt-message{margin:0 0 .75rem;font-weight:500;color:#1e293b!important}.interrupt-incoherences{background:#f3f1eb;border-radius:6px;margin-bottom:.75rem;padding:.75rem;font-size:.85rem}.interrupt-list{margin:.5rem 0 0;padding-left:1.2rem}.interrupt-list li{color:#7f1d1d;margin-bottom:.4rem}.interrupt-actions{flex-wrap:wrap;gap:.5rem;display:flex}.batch-results-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.result-item{background:#f3f1eb;border-radius:6px;padding:.75rem}.result-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.result-readable{margin-top:.6rem}.result-readable .extract-review{border-color:#e5dfd3}.result-readable .extract-review>summary{color:#1e293b}.result-error{margin:.5rem 0 0;font-size:.85rem;color:#b91c1c!important}.result-json{color:#fbbf24;white-space:pre-wrap;word-break:break-word;background:#1c1500;border-radius:6px;max-height:320px;margin:.6rem 0 0;padding:.75rem;font-size:.78rem;overflow:auto}.extract-review{background:#fff;border:1px solid #fde68a;border-radius:6px;margin-bottom:.75rem}.extract-review>summary{cursor:pointer;color:#b45309;-webkit-user-select:none;user-select:none;padding:.6rem .8rem;font-weight:600}.extract-review[open]>summary{border-bottom:1px solid #fde68a}.extract-body{padding:.8rem}.extract-section{margin-bottom:1rem}.extract-section:last-child{margin-bottom:0}.extract-section h4{text-transform:uppercase;letter-spacing:.05em;color:#92400e;margin:0 0 .4rem;font-size:.8rem}.extract-section p{color:#1e293b;margin:.25rem 0;font-size:.88rem}.extract-list{margin:.3rem 0 0;padding-left:1.2rem}.extract-list li{color:#1e293b;margin-bottom:.3rem;font-size:.85rem}.extract-empty{color:#94a3b8;font-style:italic}@media (width<=1024px){.sentinel-content{grid-template-columns:1fr;gap:1.5rem}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sentinel-header{padding:1.5rem}.sentinel-header .header-content h1{font-size:1.4rem}.sentinel-content{gap:1rem;padding:1rem}.stats-grid{grid-template-columns:1fr}}.sentinel-agent-page-layout{background:#faf7f2;min-height:100vh;display:flex}.sentinel-agent-page-layout>.ref-sidebar{flex-shrink:0}.sentinel-agent-main{flex-direction:column;flex:1;min-width:0;max-width:100%;min-height:100vh;padding-top:0;display:flex}.sentinel-agent-header{color:#fbbf24;background:linear-gradient(135deg,#1c1500 0%,#3f2800 100%);margin-top:52px;padding:2rem;box-shadow:0 4px 12px #00000026}.sentinel-agent-header h1{margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.sentinel-agent-header .tagline{opacity:.9;margin:0;font-size:1rem;font-style:italic}.sentinel-agent-header .subtitle{opacity:.8;margin:.5rem 0 0;font-size:.9rem}.sentinel-agent-main>:last-child{flex:1;padding:2rem;overflow-y:auto}@media (width<=640px){.sentinel-agent-page-layout{flex-direction:column}.sentinel-agent-page-layout>.ref-sidebar{flex-shrink:1}}@media (width<=768px){.sentinel-agent-header{padding:1.5rem}.sentinel-agent-header h1{font-size:1.4rem}.sentinel-agent-main>:last-child{padding:1rem}}
