/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */html{-webkit-text-size-adjust:100%;line-height:1.15;tab-size:4}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{color:inherit;height:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:initial;background-image:none}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{border:0 solid}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{color:inherit;line-height:inherit;padding:0}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.top-16{top:4rem}.top-20{top:5rem}.top-24{top:6rem}.top-1\.5{top:.375rem}.-top-1{top:-.25rem}.-top-2{top:-.5rem}.-top-4{top:-1rem}.-top-12{top:-3rem}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.right-12{right:3rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-24{bottom:6rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-5{left:1.25rem}.left-8{left:2rem}.left-1\/2{left:50%}.left-full{left:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-0\.5{margin-top:.125rem}.mt-1\.5{margin-top:.375rem}.-mt-0{margin-top:0}.-mt-1{margin-top:-.25rem}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-6{margin-right:1.5rem}.mr-0\.5{margin-right:.125rem}.mr-1\.5{margin-right:.375rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-32{margin-bottom:8rem}.mb-0\.5{margin-bottom:.125rem}.mb-1\.5{margin-bottom:.375rem}.-mb-0{margin-bottom:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-8{margin-left:2rem}.ml-10{margin-left:2.5rem}.ml-auto{margin-left:auto}.-ml-1{margin-left:-.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-64{height:16rem}.h-96{height:24rem}.h-auto{height:auto}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-2\.5{height:.625rem}.h-3\.5{height:.875rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-0{max-height:0}.max-h-28{max-height:7rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-32{width:8rem}.w-36{width:9rem}.w-48{width:12rem}.w-52{width:13rem}.w-56{width:14rem}.w-64{width:16rem}.w-72{width:18rem}.w-80{width:20rem}.w-96{width:24rem}.w-px{width:1px}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-2\.5{width:.625rem}.w-3\.5{width:.875rem}.w-1\/3{width:33.333333%}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-screen-2xl{max-width:1536px}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-y-1\/2{--tw-translate-y:-50%}.hover\:-translate-y-0:hover{--tw-translate-y:0px}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-180{--tw-rotate:180deg}.-rotate-90{--tw-rotate:-90deg}.hover\:scale-105:hover,.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.appearance-none{-webkit-appearance:none;appearance:none}.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))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2\.5{gap:.625rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-y-0{row-gap:0}.gap-y-1{row-gap:.25rem}.gap-y-0\.5{row-gap:.125rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.125rem*var(--tw-space-y-reverse));margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(243,244,246,var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(229,231,235,var(--tw-divide-opacity))}.divide-gray-300>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgba(209,213,219,var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-r{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.rounded-r-lg{border-top-right-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-b-lg{border-bottom-left-radius:.5rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-b-2xl{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}.rounded-l-lg{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-t-4{border-top-width:4px}.border-t{border-top-width:1px}.border-r-4{border-right-width:4px}.border-r{border-right-width:1px}.border-b-2{border-bottom-width:2px}.border-b-4{border-bottom-width:4px}.border-b{border-bottom-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l{border-left-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-transparent{border-color:#0000}.border-current{border-color:currentColor}.border-white{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity:1;border-color:rgba(249,250,251,var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243,244,246,var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgba(55,65,81,var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgba(254,202,202,var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgba(220,38,38,var(--tw-border-opacity))}.border-yellow-200{--tw-border-opacity:1;border-color:rgba(253,230,138,var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity:1;border-color:rgba(251,191,36,var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgba(245,158,11,var(--tw-border-opacity))}.border-yellow-600{--tw-border-opacity:1;border-color:rgba(217,119,6,var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgba(167,243,208,var(--tw-border-opacity))}.border-green-300{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.border-green-400{--tw-border-opacity:1;border-color:rgba(52,211,153,var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.border-green-600{--tw-border-opacity:1;border-color:rgba(5,150,105,var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity:1;border-color:rgba(219,234,254,var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgba(37,99,235,var(--tw-border-opacity))}.border-blue-800{--tw-border-opacity:1;border-color:rgba(30,64,175,var(--tw-border-opacity))}.border-indigo-200{--tw-border-opacity:1;border-color:rgba(199,210,254,var(--tw-border-opacity))}.border-indigo-300{--tw-border-opacity:1;border-color:rgba(165,180,252,var(--tw-border-opacity))}.border-purple-100{--tw-border-opacity:1;border-color:rgba(237,233,254,var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgba(221,214,254,var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.focus-within\:border-blue-200:focus-within{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgba(252,165,165,var(--tw-border-opacity))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgba(248,113,113,var(--tw-border-opacity))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgba(252,211,77,var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgba(110,231,183,var(--tw-border-opacity))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgba(191,219,254,var(--tw-border-opacity))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgba(147,197,253,var(--tw-border-opacity))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgba(129,140,248,var(--tw-border-opacity))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgba(196,181,253,var(--tw-border-opacity))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgba(167,139,250,var(--tw-border-opacity))}.focus\:border-transparent:focus{border-color:#0000}.focus\:border-green-500:focus{--tw-border-opacity:1;border-color:rgba(16,185,129,var(--tw-border-opacity))}.focus\:border-blue-400:focus{--tw-border-opacity:1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgba(59,130,246,var(--tw-border-opacity))}.focus\:border-purple-500:focus{--tw-border-opacity:1;border-color:rgba(139,92,246,var(--tw-border-opacity))}.bg-transparent{background-color:initial}.bg-black{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248,113,113,var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgba(239,68,68,var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgba(251,191,36,var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgba(245,158,11,var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(217,119,6,var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgba(52,211,153,var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgba(96,165,250,var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgba(30,58,138,var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgba(224,231,255,var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99,102,241,var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgba(237,233,254,var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgba(139,92,246,var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgba(252,231,243,var(--tw-bg-opacity))}.focus-within\:bg-white:focus-within,.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249,250,251,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(229,231,235,var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgba(55,65,81,var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgba(220,38,38,var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgba(255,251,235,var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgba(254,243,199,var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgba(253,230,138,var(--tw-bg-opacity))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgba(180,83,9,var(--tw-bg-opacity))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgba(236,253,245,var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgba(209,250,229,var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgba(167,243,208,var(--tw-bg-opacity))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgba(16,185,129,var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgba(5,150,105,var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgba(4,120,87,var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgba(6,95,70,var(--tw-bg-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgba(239,246,255,var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191,219,254,var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(147,197,253,var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgba(59,130,246,var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgba(37,99,235,var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgba(29,78,216,var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgba(30,64,175,var(--tw-bg-opacity))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgba(238,242,255,var(--tw-bg-opacity))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgba(199,210,254,var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgba(79,70,229,var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67,56,202,var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgba(55,48,163,var(--tw-bg-opacity))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgba(245,243,255,var(--tw-bg-opacity))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgba(221,214,254,var(--tw-bg-opacity))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgba(124,58,237,var(--tw-bg-opacity))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgba(109,40,217,var(--tw-bg-opacity))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgba(91,33,182,var(--tw-bg-opacity))}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-opacity-60{--tw-bg-opacity:0.6}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-opacity-90{--tw-bg-opacity:0.9}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-gray-50{--tw-gradient-from:#f9fafb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#f9fafb00)}.from-gray-100{--tw-gradient-from:#f3f4f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#f3f4f600)}.from-gray-400{--tw-gradient-from:#9ca3af;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#9ca3af00)}.from-gray-600{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#4b556300)}.from-gray-700{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#37415100)}.from-gray-800{--tw-gradient-from:#1f2937;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#1f293700)}.from-red-50{--tw-gradient-from:#fef2f2;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#fef2f200)}.from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#ef444400)}.from-red-600{--tw-gradient-from:#dc2626;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#dc262600)}.from-yellow-50{--tw-gradient-from:#fffbeb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#fffbeb00)}.from-yellow-500{--tw-gradient-from:#f59e0b;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#f59e0b00)}.from-green-50{--tw-gradient-from:#ecfdf5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#ecfdf500)}.from-green-500{--tw-gradient-from:#10b981;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#10b98100)}.from-green-600{--tw-gradient-from:#059669;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#05966900)}.from-blue-50{--tw-gradient-from:#eff6ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#eff6ff00)}.from-blue-500{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#3b82f600)}.from-blue-600{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#2563eb00)}.from-indigo-500{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#6366f100)}.from-indigo-600{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#4f46e500)}.from-purple-50{--tw-gradient-from:#f5f3ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#f5f3ff00)}.from-purple-500{--tw-gradient-from:#8b5cf6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#8b5cf600)}.from-purple-600{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#7c3aed00)}.from-purple-700{--tw-gradient-from:#6d28d9;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#6d28d900)}.hover\:from-gray-600:hover{--tw-gradient-from:#4b5563;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#4b556300)}.hover\:from-gray-700:hover{--tw-gradient-from:#374151;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#37415100)}.hover\:from-blue-500:hover{--tw-gradient-from:#3b82f6;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#3b82f600)}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#2563eb00)}.hover\:from-blue-700:hover{--tw-gradient-from:#1d4ed8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#1d4ed800)}.hover\:from-indigo-500:hover{--tw-gradient-from:#6366f1;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#6366f100)}.hover\:from-indigo-600:hover{--tw-gradient-from:#4f46e5;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#4f46e500)}.hover\:from-purple-600:hover{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#7c3aed00)}.via-gray-700{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to,#37415100)}.via-gray-800{--tw-gradient-stops:var(--tw-gradient-from),#1f2937,var(--tw-gradient-to,#1f293700)}.via-blue-50{--tw-gradient-stops:var(--tw-gradient-from),#eff6ff,var(--tw-gradient-to,#eff6ff00)}.via-blue-700{--tw-gradient-stops:var(--tw-gradient-from),#1d4ed8,var(--tw-gradient-to,#1d4ed800)}.via-indigo-700{--tw-gradient-stops:var(--tw-gradient-from),#4338ca,var(--tw-gradient-to,#4338ca00)}.via-purple-800{--tw-gradient-stops:var(--tw-gradient-from),#5b21b6,var(--tw-gradient-to,#5b21b600)}.hover\:via-gray-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#374151,var(--tw-gradient-to,#37415100)}.hover\:via-blue-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#2563eb,var(--tw-gradient-to,#2563eb00)}.hover\:via-indigo-600:hover{--tw-gradient-stops:var(--tw-gradient-from),#4f46e5,var(--tw-gradient-to,#4f46e500)}.hover\:via-purple-700:hover{--tw-gradient-stops:var(--tw-gradient-from),#6d28d9,var(--tw-gradient-to,#6d28d900)}.to-white{--tw-gradient-to:#fff}.to-gray-50{--tw-gradient-to:#f9fafb}.to-gray-100{--tw-gradient-to:#f3f4f6}.to-gray-200{--tw-gradient-to:#e5e7eb}.to-gray-600{--tw-gradient-to:#4b5563}.to-gray-700{--tw-gradient-to:#374151}.to-gray-800{--tw-gradient-to:#1f2937}.to-gray-900{--tw-gradient-to:#111827}.to-red-600{--tw-gradient-to:#dc2626}.to-red-700{--tw-gradient-to:#b91c1c}.to-yellow-50{--tw-gradient-to:#fffbeb}.to-yellow-600{--tw-gradient-to:#d97706}.to-green-700{--tw-gradient-to:#047857}.to-blue-50{--tw-gradient-to:#eff6ff}.to-blue-100{--tw-gradient-to:#dbeafe}.to-blue-500{--tw-gradient-to:#3b82f6}.to-blue-600{--tw-gradient-to:#2563eb}.to-blue-700{--tw-gradient-to:#1d4ed8}.to-blue-800{--tw-gradient-to:#1e40af}.to-blue-900{--tw-gradient-to:#1e3a8a}.to-indigo-50{--tw-gradient-to:#eef2ff}.to-indigo-600{--tw-gradient-to:#4f46e5}.to-indigo-700{--tw-gradient-to:#4338ca}.to-purple-600{--tw-gradient-to:#7c3aed}.to-purple-700{--tw-gradient-to:#6d28d9}.to-purple-900{--tw-gradient-to:#4c1d95}.hover\:to-gray-800:hover{--tw-gradient-to:#1f2937}.hover\:to-blue-700:hover{--tw-gradient-to:#1d4ed8}.hover\:to-blue-800:hover{--tw-gradient-to:#1e40af}.hover\:to-blue-900:hover{--tw-gradient-to:#1e3a8a}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca}.hover\:to-purple-600:hover{--tw-gradient-to:#7c3aed}.hover\:to-purple-700:hover{--tw-gradient-to:#6d28d9}.hover\:to-purple-800:hover{--tw-gradient-to:#5b21b6}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-12{padding:3rem}.p-0\.5{padding:.125rem}.p-1\.5{padding:.375rem}.p-2\.5{padding:.625rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-12{padding-left:3rem;padding-right:3rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-px{padding-bottom:1px;padding-top:1px}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-12{padding-top:3rem}.pt-0\.5{padding-top:.125rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-24{padding-right:6rem}.pr-1\.5{padding-right:.375rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-10{padding-left:2.5rem}.pl-14{padding-left:3.5rem}.pl-20{padding-left:5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-transparent{color:#0000}.text-black{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(156,163,175,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107,114,128,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.text-red-100{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity:1;color:rgba(252,211,77,var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgba(245,158,11,var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgba(217,119,6,var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgba(180,83,9,var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgba(146,64,14,var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgba(120,53,15,var(--tw-text-opacity))}.text-green-100{--tw-text-opacity:1;color:rgba(209,250,229,var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgba(110,231,183,var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgba(5,150,105,var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.text-green-900{--tw-text-opacity:1;color:rgba(6,78,59,var(--tw-text-opacity))}.text-blue-50{--tw-text-opacity:1;color:rgba(239,246,255,var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.text-blue-200{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgba(147,197,253,var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.text-indigo-100{--tw-text-opacity:1;color:rgba(224,231,255,var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity:1;color:rgba(199,210,254,var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgba(79,70,229,var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity:1;color:rgba(67,56,202,var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgba(55,48,163,var(--tw-text-opacity))}.text-purple-100{--tw-text-opacity:1;color:rgba(237,233,254,var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgba(124,58,237,var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgba(109,40,217,var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity:1;color:rgba(76,29,149,var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgba(157,23,77,var(--tw-text-opacity))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgba(229,231,235,var(--tw-text-opacity))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgba(209,213,219,var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(75,85,99,var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(55,65,81,var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgba(31,41,55,var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(17,24,39,var(--tw-text-opacity))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgba(254,226,226,var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgba(127,29,29,var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgba(16,185,129,var(--tw-text-opacity))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgba(4,120,87,var(--tw-text-opacity))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgba(219,234,254,var(--tw-text-opacity))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgba(191,219,254,var(--tw-text-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgba(59,130,246,var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(37,99,235,var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgba(29,78,216,var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgba(30,58,138,var(--tw-text-opacity))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgba(91,33,182,var(--tw-text-opacity))}.text-opacity-90{--tw-text-opacity:0.9}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.hover\:underline:hover{text-decoration:underline}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(156,163,175,var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(107,114,128,var(--tw-placeholder-opacity))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.group:hover .group-hover\:opacity-100,.opacity-100{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-95:hover{opacity:.95}.hover\:opacity-100:hover{opacity:1}*,:after,:before{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shadow-2xl,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000f}.hover\:shadow-md:hover,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-within\:outline-none:focus-within,.focus\:outline-none:focus,.outline-none{outline:2px solid #0000;outline-offset:2px}*,:after,:before{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus-within\:ring-2:focus-within,.focus\:ring-0:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgba(254,202,202,var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgba(248,113,113,var(--tw-ring-opacity))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgba(251,191,36,var(--tw-ring-opacity))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgba(52,211,153,var(--tw-ring-opacity))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgba(96,165,250,var(--tw-ring-opacity))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgba(59,130,246,var(--tw-ring-opacity))}.focus-within\:ring-green-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(16,185,129,var(--tw-ring-opacity))}.focus-within\:ring-blue-400:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(96,165,250,var(--tw-ring-opacity))}.focus-within\:ring-blue-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgba(59,130,246,var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(107,114,128,var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(248,113,113,var(--tw-ring-opacity))}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239,68,68,var(--tw-ring-opacity))}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(16,185,129,var(--tw-ring-opacity))}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(191,219,254,var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(147,197,253,var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(96,165,250,var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(59,130,246,var(--tw-ring-opacity))}.focus\:ring-blue-900:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(30,58,138,var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99,102,241,var(--tw-ring-opacity))}.focus\:ring-purple-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(139,92,246,var(--tw-ring-opacity))}.ring-offset-1{--tw-ring-offset-width:1px}.focus-within\:ring-offset-2:focus-within,.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);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)}.blur{--tw-blur:blur(8px)}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px #00000012) drop-shadow(0 2px 2px #0000000f)}.invert{--tw-invert:invert(100%)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.report-editor-content ul{list-style-type:disc;margin:.5em 0;padding-left:1.5em}.report-editor-content ol{list-style-type:decimal;margin:.5em 0;padding-left:1.5em}.report-editor-content li{display:list-item;margin:.25em 0}.report-editor-content h1{font-size:2em;font-weight:700;margin:.67em 0}.report-editor-content h2{font-size:1.5em;font-weight:700;margin:.75em 0}.report-editor-content h3{font-size:1.17em;font-weight:700;margin:.83em 0}.report-editor-content h4{font-size:1em;font-weight:700;margin:1em 0}.report-editor-content table{border-collapse:collapse;width:100%}.report-editor-content td,.report-editor-content th{border:1px solid #ddd;padding:8px}.report-editor-content blockquote{border-left:4px solid #ddd;color:#555;margin:.5em 0;padding-left:1em}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;overscroll-behavior:none;padding:0;position:relative;touch-action:pan-x pan-y}#root,body,html{width:100%}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}footer{display:flex;justify-content:center;margin-top:40px;padding:20px 0;position:relative;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .4s ease-out}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#2d2d2d}::-webkit-scrollbar-thumb{background:#888;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#555}*{scrollbar-color:#888 #2d2d2d;scrollbar-width:thin}@media (min-width:640px){.sm\:my-8{margin-bottom:2rem;margin-top:2rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mb-8{margin-bottom:2rem}.sm\:mb-12{margin-bottom:3rem}.sm\:block{display:block}.sm\:table-cell{display:table-cell}.sm\:w-auto{width:auto}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:1rem}.sm\:gap-8{gap:2rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-2{padding-bottom:.5rem;padding-top:.5rem}.sm\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\:py-8{padding-bottom:2rem;padding-top:2rem}.sm\:py-16{padding-bottom:4rem;padding-top:4rem}.sm\:pt-4{padding-top:1rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:ml-6{margin-left:1.5rem}.md\:flex{display:flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.md\:divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(1px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(1px*var(--tw-divide-x-reverse))}.md\:divide-y-0>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(0px*var(--tw-divide-y-reverse));border-top-width:calc(0px*(1 - var(--tw-divide-y-reverse)))}.md\:p-10{padding:2.5rem}.md\:py-24{padding-bottom:6rem;padding-top:6rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1024px){.lg\:sticky{position:-webkit-sticky;position:sticky}.lg\:top-24{top:6rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:flex{display:flex}.lg\:table-cell{display:table-cell}.lg\:hidden{display:none}.lg\:h-28{height:7rem}.lg\:w-28{width:7rem}.lg\:w-auto{width:auto}.lg\:max-w-sm{max-width:24rem}.lg\:max-w-md{max-width:28rem}.lg\:max-w-2xl{max-width:42rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-4{gap:1rem}.lg\:gap-12{gap:3rem}.lg\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width:1280px){.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:table-cell{display:table-cell}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.scroll-animate{opacity:0;transition:opacity 1s ease-out,transform 1s ease-out}.scroll-animate.fade-in-up{transform:translateY(60px)}.scroll-animate.fade-in-left{transform:translateX(-80px)}.scroll-animate.fade-in-right{transform:translateX(80px)}.scroll-animate.scale-in{transform:scale(.95)}.scroll-animate.animate-in{opacity:1;transform:translateY(0) translateX(0) scale(1)}.scroll-animate *{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.scroll-animate{opacity:1;transform:none;transition:none}}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:-webkit-max-content;width:max-content}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.baseplate-v2{background:#f8f9fa;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:auto;min-height:600px}.baseplate-header{background:linear-gradient(135deg,#2c3e50,#3498db);box-shadow:0 2px 10px #0000001a;color:#fff;padding:20px}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.header-text{text-align:left}.baseplate-header h2{font-size:24px;font-weight:600;margin:0 0 8px}.baseplate-header p{font-size:14px;margin:0;opacity:.9}.run-analysis-button{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:12px 20px;transition:all .3s ease}.run-analysis-button:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.run-analysis-button:disabled{cursor:not-allowed;opacity:.7}.run-analysis-button .spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.baseplate-content{display:flex;flex:1 1;gap:20px;height:auto;min-height:500px;padding:20px}.baseplate-inputs-panel{flex:0 0 320px;overflow-y:auto}.baseplate-inputs-panel,.baseplate-visualization-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.baseplate-visualization-panel{display:flex;flex:1 1;flex-direction:column;min-height:0}.baseplate-results-panel{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:0 0 300px;overflow-y:auto;padding:20px}.input-section{border-bottom:1px solid #e9ecef;margin-bottom:24px;padding-bottom:20px}.input-section:last-child{border-bottom:none}.input-section h3{align-items:center;color:#2c3e50;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 16px}.input-group{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.input-group.full{grid-template-columns:1fr}.input-field{display:flex;flex-direction:column;gap:4px}.input-field label{color:#495057;font-size:12px;font-weight:500;line-height:1.2}.input-field input,.input-field select{border:1px solid #dee2e6;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s}.input-field input:focus,.input-field select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.input-field input[type=number]{text-align:right}.section-properties{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:16px;padding:12px}.properties-display h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 12px}.properties-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.property{display:flex;font-size:12px;justify-content:space-between;padding:4px 0}.property span:first-child{color:#6c757d;font-weight:500}.property span:last-child{color:#2c3e50;font-weight:600}.visualization-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.visualization-header h3{color:#2c3e50;margin:0}.view-controls{gap:8px}.view-controls button{background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;padding:6px 12px;transition:all .2s}.view-controls button:hover{background:#f8f9fa}.view-controls button.active{background:#3498db;border-color:#3498db;color:#fff}.display-options{display:flex;flex-wrap:wrap;gap:12px}.display-options label{align-items:center;cursor:pointer;display:flex;font-size:12px;gap:4px}.visualization-canvas-container{border:1px solid #dee2e6;border-radius:6px;flex:1 1;overflow:hidden;position:relative}.visualization-canvas{display:block}.baseplate-results h3{color:#2c3e50;margin:0 0 16px}.result-section{border-bottom:1px solid #e9ecef;margin-bottom:24px;padding-bottom:16px}.result-section:last-child{border-bottom:none}.result-section h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 12px}.result-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr}.result-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.result-item label{color:#6c757d;flex:1 1;font-size:12px}.result-item span{font-size:14px;font-weight:600}.result-item span.ok{color:#28a745}.result-item span.warning{color:#ffc107}.result-item span.critical{color:#dc3545}.anchor-forces{display:flex;flex-direction:column;gap:12px}.anchor-result{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:12px}.anchor-header{display:flex;justify-content:space-between;margin-bottom:8px}.anchor-label{color:#2c3e50;font-weight:600}.anchor-position{color:#6c757d;font-size:12px}.anchor-values{gap:4px}.anchor-values,.recommendations{display:flex;flex-direction:column}.recommendations{gap:8px}.recommendation{align-items:center;border-radius:4px;display:flex;font-size:12px;gap:8px;line-height:1.4;padding:8px 12px}.recommendation.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.recommendation.warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.recommendation.info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.rec-icon{flex-shrink:0}.code-checks{display:flex;flex-direction:column;gap:8px}.check-item{align-items:center;border-radius:4px;display:flex;font-size:12px;justify-content:space-between;padding:8px 12px}.check-item.pass{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.check-item.fail{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.check-label{flex:1 1}.check-status{font-weight:600}.analysis-status{align-items:center;border-radius:6px;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px}.analysis-status.analyzing{background:#e3f2fd;border:1px solid #bbdefb;color:#1976d2}.analysis-status.error{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.analysis-status.success{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.spinner{border:2px solid #e3f2fd;border-top-color:#1976d2;height:16px;width:16px}@media (max-width:1200px){.baseplate-content{flex-direction:column}.baseplate-inputs-panel,.baseplate-results-panel{flex:none}.baseplate-visualization-panel{min-height:500px}.visualization-header{align-items:stretch;flex-direction:column}.header-content{flex-direction:column;gap:16px}.header-content,.header-text{text-align:center}.display-options,.view-controls{justify-content:center}}.model-tree-view{background:#f8f9fa;border:1px solid #dee2e6;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;height:100%}.model-tree-view.empty{align-items:center;justify-content:center}.tree-header{background:#fff;border-bottom:1px solid #dee2e6;padding:12px}.tree-header h3{color:#495057;font-size:14px;font-weight:600;margin:0 0 8px}.search-input{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:12px;padding:6px 24px 6px 8px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.search-input:focus{border-color:#80bdff;box-shadow:0 0 0 2px #007bff40;outline:none}.clear-search{background:none;border:none;border-radius:2px;color:#6c757d;cursor:pointer;font-size:12px;padding:2px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.clear-search:hover{background:#e9ecef;color:#495057}.tree-content{flex:1 1;overflow-y:auto;padding:8px 0}.tree-node{-webkit-user-select:none;user-select:none}.tree-node-content{align-items:center;cursor:pointer;display:flex;min-height:24px;padding:4px 8px;transition:background-color .15s ease}.tree-node-content:hover{background-color:#e9ecef}.tree-node-content.selected{background-color:#007bff;color:#fff}.tree-node-content.selected:hover{background-color:#0056b3}.expand-button{background:none;border:none;border-radius:2px;color:#6c757d;font-size:10px;height:16px;margin-right:4px;padding:2px;transition:transform .15s ease;width:16px}.expand-button:hover{background:#0000001a}.tree-node-icon{font-size:14px;margin-right:6px;text-align:center;width:16px}.tree-node-label{flex:1 1;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu{background:#fff;border:1px solid #dee2e6;border-radius:4px;box-shadow:0 4px 12px #00000026;min-width:120px;z-index:1000}.context-menu button{background:none;border:none;color:#495057;cursor:pointer;display:block;font-size:12px;padding:6px 12px;text-align:left;transition:background-color .15s ease;width:100%}.context-menu button:hover{background-color:#f8f9fa}.context-menu button.danger{color:#dc3545}.context-menu button.danger:hover{background-color:#f5c6cb}.context-menu hr{border:none;border-top:1px solid #dee2e6;margin:4px 0}.tree-footer{background:#f8f9fa;border-top:1px solid #dee2e6;color:#6c757d;padding:8px 12px;text-align:center}@media (max-width:768px){.model-tree-view{font-size:12px}.tree-node-content{min-height:28px;padding:6px 8px}.tree-node-icon{font-size:16px;width:18px}}.tree-content::-webkit-scrollbar{width:6px}.tree-content::-webkit-scrollbar-track{background:#f1f1f1}.tree-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.tree-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.tree-node-children{max-height:1000px;overflow:hidden;transition:max-height .2s ease-out}.tree-node-content[data-type=model] .tree-node-label{color:#495057;font-weight:600}.tree-node-content[data-type=section] .tree-node-label{color:#6c757d;font-weight:500}.tree-node-content[data-selected=true] .tree-node-label{font-weight:500}.tree-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:2rem}.tree-loading:after{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;content:"";height:16px;margin-left:8px;width:16px}.tree-node-content.drag-over{background-color:#cce5ff;border:2px dashed #007bff}.tree-node-content.dragging{opacity:.5}.tree-node-content:focus{outline:2px solid #007bff;outline-offset:-2px}.tree-node-content[aria-selected=true]{background-color:#007bff;color:#fff}@media (prefers-contrast:high){.tree-node-content{border:1px solid #0000}.tree-node-content:hover{border-color:#000}.tree-node-content.selected{border-color:#fff}}@media (prefers-reduced-motion:reduce){.expand-button,.search-input,.tree-node-children,.tree-node-content{transition:none}.tree-loading:after{animation:none}}.node-constraint-editor{background-color:#fafafa;border:1px solid #e0e0e0;border-radius:6px;margin:8px 0;padding:12px}.node-constraint-editor h4{color:#333;font-size:14px;font-weight:600;margin:0 0 12px}.node-constraint-editor h5{color:#666;font-size:12px;font-weight:500;letter-spacing:.5px;margin:0 0 6px;text-transform:uppercase}.no-selection{color:#999;font-size:13px;font-style:italic;margin:8px 0}.constraint-grid{grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr}.constraint-group{background:#fff;border:1px solid #e8e8e8;border-radius:4px;padding:8px}.constraint-checkbox{align-items:center;cursor:pointer;display:flex;margin:4px 0;-webkit-user-select:none;user-select:none}.constraint-checkbox input[type=checkbox]{cursor:pointer;height:14px;margin-right:6px;width:14px}.checkbox-label{color:#333;cursor:pointer;font-size:12px;font-weight:500}.constraint-checkbox:hover .checkbox-label{color:#06c}.constraint-presets{flex-wrap:wrap;gap:6px;margin-bottom:10px}.preset-btn{border:1px solid;border-radius:4px;font-size:12px;font-weight:500;min-width:60px;padding:6px 12px;transition:all .2s ease}.preset-btn.constraint-fixed{border-color:#dc3545;color:#dc3545}.preset-btn.constraint-fixed:hover{background-color:#dc3545;color:#fff}.preset-btn.pinned{border-color:#ffc107;color:#856404}.preset-btn.pinned:hover{background-color:#ffc107;color:#212529}.preset-btn.free{border-color:#28a745;color:#28a745}.preset-btn.free:hover{background-color:#28a745;color:#fff}.constraint-summary{background-color:#f8f9fa;border-left:3px solid #06c;border-radius:3px;padding:6px 10px}.constraint-summary p{color:#6c757d;font-size:11px;font-weight:500;margin:0}@media (max-width:768px){.constraint-grid{grid-template-columns:1fr}.constraint-presets{flex-direction:column}.preset-btn{width:100%}}.properties-panel{background:#f8f9fa;border:1px solid #dee2e6;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;height:100%}.properties-panel.empty{align-items:center;justify-content:center}.empty-state{color:#6c757d;padding:2rem}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state p{font-weight:500;margin:0 0 .5rem}.empty-state small{color:#adb5bd}.properties-content{flex:1 1;padding:0}.properties-header{background:#fff;border-bottom:1px solid #dee2e6;padding:12px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.properties-header h3{color:#495057;font-size:14px;font-weight:600;margin:0 0 4px}.object-id{color:#6c757d;font-size:11px;font-weight:400}.property-section{background:#fff;border-bottom:1px solid #e9ecef}.property-section h4{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#495057;font-size:12px;font-weight:600;margin:0;padding:8px 12px}.property-row{border-bottom:1px solid #f8f9fa;flex-direction:column;padding:8px 12px;transition:background-color .15s ease}.property-row:hover{background-color:#f8f9fa}.property-row.error{background-color:#fff5f5;border-left:3px solid #dc3545}.property-label{font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.property-value{align-items:center;display:flex;min-height:24px}.property-display{background:#fff;border:1px solid #0000;border-radius:3px;cursor:pointer;flex:1 1;font-family:Consolas,Monaco,monospace;font-size:12px;padding:4px 6px;transition:all .15s ease}.property-display:hover{background:#f8f9fa;border-color:#ced4da}.property-display:empty:before{color:#adb5bd;content:"(empty)";font-style:italic}.property-editor{align-items:center;display:flex;flex:1 1;gap:4px}.property-input{background:#fff;border:1px solid #007bff;border-radius:3px;flex:1 1;font-family:Consolas,Monaco,monospace;font-size:12px;padding:4px 6px;transition:border-color .15s ease}.property-input:focus{border-color:#0056b3;box-shadow:0 0 0 2px #007bff40;outline:none}.unit-label{color:#6c757d;font-size:10px;margin-left:4px;white-space:nowrap}.property-actions{display:flex;gap:2px}.cancel-btn,.save-btn{align-items:center;border:none;border-radius:3px;cursor:pointer;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;transition:all .15s ease;width:20px}.save-btn{background:#28a745;color:#fff}.save-btn:hover{background:#218838}.cancel-btn{background:#dc3545;color:#fff}.cancel-btn:hover{background:#c82333}.property-error{color:#dc3545;font-size:10px;font-weight:500;margin-top:4px}.constraint-editor{padding:12px}.constraint-editor .property-label{margin-bottom:8px}.constraint-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}.constraint-item{align-items:center;border-radius:3px;cursor:pointer;display:flex;font-size:11px;gap:4px;padding:4px;transition:background-color .15s ease}.constraint-item:hover{background-color:#e9ecef}.constraint-item input[type=checkbox]{margin:0}.constraint-label{font-family:Consolas,Monaco,monospace;font-weight:500}.constraint-presets{display:flex;gap:4px}.preset-btn{background:#fff;border:1px solid #ced4da;border-radius:3px;cursor:pointer;flex:1 1;font-size:10px;padding:4px 8px;transition:all .15s ease}.preset-btn:hover{background:#e9ecef;border-color:#adb5bd}.release-editor{padding:12px}.release-section{margin-bottom:16px}.release-section h4{color:#495057;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.release-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.release-item{align-items:center;border-radius:3px;cursor:pointer;display:flex;font-size:10px;gap:4px;padding:3px;transition:background-color .15s ease}.release-item:hover{background-color:#e9ecef}.release-item input[type=checkbox]{margin:0;transform:scale(.8)}.release-item span{font-family:Consolas,Monaco,monospace;font-weight:500}select.property-input{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 4px center;background-repeat:no-repeat;background-size:12px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding-right:20px}.load-action-buttons{display:flex;flex-direction:column;gap:8px;margin-top:8px}.load-action-buttons .action-button{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 12px;text-align:left;transition:all .15s ease;width:100%}.load-action-buttons .action-button:hover{background:#f8f9fa;border-color:#adb5bd;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.load-action-buttons .action-button.primary{border-color:#0d6efd;color:#0d6efd}.load-action-buttons .action-button.primary:hover{background:#e7f1ff;border-color:#0d6efd}.load-action-buttons .action-button.secondary{border-color:#6c757d;color:#6c757d}.load-action-buttons .action-button.secondary:hover{background:#f8f9fa;border-color:#6c757d}.load-action-buttons .action-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}@media (max-width:768px){.properties-panel{font-size:12px}.constraint-grid,.release-grid{grid-template-columns:repeat(2,1fr)}.property-row{padding:6px 8px}.properties-header{padding:8px}}.properties-content::-webkit-scrollbar{width:6px}.properties-content::-webkit-scrollbar-track{background:#f1f1f1}.properties-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.properties-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.constraint-item:focus,.preset-btn:focus,.property-display:focus,.release-item:focus{outline:2px solid #007bff;outline-offset:1px}@media (prefers-contrast:high){.property-row{border-bottom-color:#000}.property-display,.property-input{border-color:#000}}@media (prefers-reduced-motion:reduce){.constraint-item,.preset-btn,.property-display,.property-input,.property-row,.release-item{transition:none}}.properties-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:2rem}.properties-loading:after{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;content:"";height:16px;margin-left:8px;width:16px}.property-row[data-type=coordinate] .property-display{color:#007bff;font-weight:500}.property-row[data-type=constraint] .constraint-item input:checked+.constraint-label{color:#007bff;font-weight:600}.property-row[data-type=section] .property-display{color:#6f42c1}.property-row[data-type=material] .property-display{color:#fd7e14}.property-input.valid{border-color:#28a745}.property-input.invalid{background-color:#fff5f5;border-color:#dc3545}.property-nested{border-left:2px solid #e9ecef;margin-left:16px;padding-left:8px}.property-nested .property-row{padding-left:4px}.property-section:last-child{border-bottom:none}.property-section.collapsed h4:after{content:" ▶";font-size:8px;transition:transform .15s ease}.property-section.expanded h4:after{content:" ▼";font-size:8px}.property-section h4{cursor:pointer;-webkit-user-select:none;user-select:none}.property-section h4:hover{background-color:#e9ecef}.applied-loads-section{background:#fff;border-bottom:1px solid #e9ecef}.applied-loads-section h4{background:#f0f8ff;border-bottom:1px solid #e9ecef;color:#495057;font-size:12px;font-weight:600;margin:0;padding:8px 12px}.load-case-group{margin-bottom:8px}.load-case-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#495057;font-size:11px;font-weight:600;padding:6px 12px}.load-item{border-bottom:1px solid #f8f9fa;font-size:11px;padding:8px 12px 8px 24px}.load-item:last-child{border-bottom:none}.load-type{color:#007bff;font-weight:600;margin-bottom:2px}.load-id{color:#6c757d;font-style:italic;margin-bottom:4px}.load-details{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.load-detail{background:#e9ecef;border-radius:3px;color:#495057;font-size:10px;padding:2px 6px}.load-magnitude{background:#d4edda;color:#155724;font-weight:600}.no-loads-message{color:#6c757d;font-size:11px;font-style:italic;padding:12px;text-align:center}.elements-database-window{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:95vw;min-width:800px;position:fixed;z-index:1000}.elements-database-panel{display:flex;flex-direction:column;height:100%}.elements-database-panel .panel-header{align-items:center;background:linear-gradient(135deg,#2196f3,#1976d2);border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.elements-database-panel .panel-header h3{font-size:16px;font-weight:600;margin:0}.elements-database-panel .window-controls{display:flex;gap:8px}.elements-database-panel .close-button,.elements-database-panel .minimize-button{background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:4px 8px;transition:background-color .2s}.elements-database-panel .close-button:hover,.elements-database-panel .minimize-button:hover{background:#ffffff4d}.elements-database-content{flex:1 1;overflow:auto;padding:16px}.elements-table-container{border:1px solid #e0e0e0;border-radius:4px;margin-bottom:16px;overflow:hidden}.elements-table{border-collapse:collapse;font-size:14px;width:100%}.elements-table th{background:#f5f5f5;border-bottom:2px solid #ddd;color:#333;font-weight:600;padding:12px 8px;text-align:left}.elements-table td{border-bottom:1px solid #eee;padding:10px 8px;vertical-align:top}.elements-table tr:hover{background-color:#f9f9f9}.elements-table tr.selected{background-color:#e3f2fd!important}.elements-table .element-id{color:#1976d2;font-weight:600}.elements-table .element-nodes{font-size:12px;line-height:1.4}.elements-table .element-actions{white-space:nowrap}.elements-table .element-actions button{background:none;border:1px solid #ddd;border-radius:3px;cursor:pointer;font-size:12px;margin-right:4px;padding:4px 8px;transition:all .2s}.elements-table .element-actions button:hover{background:#f0f0f0;border-color:#999}.database-stats{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:16px}.database-stats h4{color:#333;font-size:16px;margin:0 0 12px}.empty-state{color:#666;padding:40px 20px}.empty-state h4{color:#333;margin-bottom:8px}.draggable-header{cursor:move}.elements-table tbody tr td{position:relative}@media (max-width:1200px){.elements-database-window{min-width:700px}.elements-table{font-size:13px}.elements-table td,.elements-table th{padding:8px 6px}}@media (max-width:900px){.elements-database-window{min-width:600px}.elements-table td:nth-child(n+6),.elements-table th:nth-child(n+6){display:none}}body,html{height:100vh;margin:0;overflow-x:hidden;padding:0;width:100vw}*,:after,:before,body,html{box-sizing:border-box}.structural-analysis-stage2{background:#f0f2f5;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100vh;margin:0;overflow:hidden;padding:0;position:relative;width:100vw}.ribbon-container{background:#fff;box-shadow:0 1px 3px #00000014;flex-shrink:0;pointer-events:auto;position:relative;transition:all .3s ease;z-index:10100}.ribbon-container,.ribbon-header{border-bottom:1px solid #e2e8f0;width:100%}.ribbon-header{align-items:center;background:#f8fafc;box-sizing:border-box;color:#334155;display:flex;height:32px;justify-content:space-between;margin:0;padding:0 12px}.ribbon-title{color:#475569;flex:1 1;font-size:12px;font-weight:500;margin-left:12px}.ribbon-nav-section{margin-right:12px}.ribbon-header-right,.ribbon-nav-section{align-items:center;display:flex;gap:4px}.nav-button{align-items:center;background:#e2e8f0;border:none;border-radius:4px;color:#475569;cursor:pointer;display:flex;font-size:9px;font-weight:500;gap:3px;min-height:20px;padding:3px 6px;text-decoration:none;transition:all .2s ease}.nav-button:hover{background:#cbd5e1;box-shadow:0 1px 3px #0000001a;color:#334155;transform:translateY(-1px)}.nav-button:active{background:#94a3b8;transform:translateY(0)}.nav-button:disabled{cursor:not-allowed;opacity:.5}.nav-button:disabled,.nav-button:disabled:hover{background:#f1f5f9;box-shadow:none;color:#94a3b8;transform:none}.nav-button-icon{font-size:10px}.ribbon-button-icon{align-items:center;display:flex;font-size:7px;justify-content:center;margin-bottom:1px}.ribbon-button-text{font-size:6px;font-weight:500;line-height:1;text-align:center}.ribbon-button.primary{background:#3b82f6;border-color:#2563eb}.ribbon-button.primary:hover:not(:disabled){background:#2563eb;border-color:#1d4ed8;transform:translateY(-1px)}.ribbon-button.secondary{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.ribbon-button.success{background:#10b981;border-color:#059669}.ribbon-button.success:hover:not(:disabled){background:#059669;border-color:#047857}.ribbon-button.danger{background:#ef4444;border-color:#dc2626}.ribbon-button.danger:hover:not(:disabled){background:#dc2626;border-color:#b91c1c}.ribbon-content{overflow:visible;pointer-events:auto;transition:all .3s ease}.ribbon-content.minimized{height:0;overflow:hidden;pointer-events:none}.ribbon-content.expanded{height:auto;overflow:visible;pointer-events:auto}.ribbon-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;box-sizing:border-box;display:flex;margin:0;padding:0;position:relative;width:100%;z-index:10}.ribbon-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px;pointer-events:auto;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;z-index:11}.ribbon-tab:hover{background:#e2e8f0;color:#475569}.ribbon-tab.active{background:#fff;border-bottom-color:#3b82f6;color:#3b82f6}.ribbon-tab:focus{outline:2px solid #3b82f6;outline-offset:-2px}.ribbon-panels{background:#fff;box-sizing:border-box;margin:0;min-height:30px;padding:4px;width:100%}.ribbon-section{border-right:1px solid #e2e8f0;display:inline-block;margin-right:8px;padding:3px;vertical-align:top}.ribbon-section:last-child{border-right:none;margin-right:0}.ribbon-section-title{color:#64748b;display:block;font-size:6px;font-weight:600;letter-spacing:.3px;margin-bottom:2px;text-transform:uppercase}.ribbon-section-content{align-items:center;display:flex;flex-wrap:wrap;gap:1px;justify-content:center}.ribbon-section.navigation{border-right:1px solid #dee2e6;margin-right:24px}.ribbon-section.navigation .ribbon-section-content{flex-direction:row;gap:8px}.ribbon-section.navigation .ribbon-button{flex-direction:row;gap:6px;min-width:80px;padding:8px 16px}.ribbon-section.navigation .ribbon-button.home{background:#fff3;border-color:#ddd;color:#333}.ribbon-section.navigation .ribbon-button.home:hover{background:#ffffff59;border-color:#bbb}.ribbon-section.navigation .ribbon-button.back{background:#3498db1a;border-color:#3498db4d;color:#3498db}.ribbon-section.navigation .ribbon-button.back:hover{background:#3498db33;border-color:#3498db80}.ribbon-section.navigation .ribbon-button.save{background:#2ecc711a;border-color:#2ecc714d;color:#27ae60}.ribbon-section.navigation .ribbon-button.save:hover{background:#2ecc7133;border-color:#2ecc7180}.ribbon-section.navigation .ribbon-button-icon{font-size:14px}.ribbon-section.navigation .ribbon-button-text{font-size:11px}.ribbon-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#475569;cursor:pointer;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:8px;font-weight:500;justify-content:center;line-height:1.1;margin:.5px;min-height:20px;min-width:24px;padding:2px 4px;pointer-events:auto;position:relative;text-align:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;z-index:10}.ribbon-button:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 1px 3px #0000001a;color:#334155;transform:translateY(-1px)}.ribbon-button:active:not(:disabled){background:#e2e8f0;border-color:#94a3b8;box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.ribbon-button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.5;pointer-events:none}.ribbon-button:focus{outline:2px solid #3b82f6;outline-offset:1px}.ribbon-button.large{min-height:24px;min-width:32px;padding:3px 5px}.ribbon-button.large .ribbon-button-icon{font-size:8px;margin-bottom:1px}.ribbon-button.large .ribbon-button-text{font-size:6px;font-weight:500}.ribbon-button.medium{min-height:21px;min-width:26px;padding:2px 4px}.ribbon-button.medium .ribbon-button-icon{font-size:7px;margin-bottom:1px}.ribbon-button.medium .ribbon-button-text{font-size:5px}.ribbon-button.small{flex-direction:row;gap:1px;min-height:16px;min-width:20px;padding:1px 3px}.ribbon-button.small .ribbon-button-icon{font-size:6px;margin-bottom:0}.ribbon-button.small .ribbon-button-text{font-size:5px}.ribbon-button-icon{color:inherit;flex-shrink:0;font-size:20px;margin-bottom:4px;transition:all .15s ease}.ribbon-button-text{color:inherit;font-size:10px;font-weight:400;line-height:1.1;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ribbon-button.primary{background:linear-gradient(180deg,#0078d4,#106ebe);border-color:#005a9e;box-shadow:0 1px 2px #0000001a;color:#fff}.ribbon-button.primary:hover:not(:disabled){background:linear-gradient(180deg,#106ebe,#005a9e);border-color:#004578;box-shadow:0 2px 4px #00000026}.ribbon-button.primary:active:not(:disabled){background:linear-gradient(180deg,#005a9e,#004578);box-shadow:0 1px 2px #0000001a}.ribbon-button.success{background:linear-gradient(180deg,#107c10,#0e6e0e);border-color:#0b5a0b;box-shadow:0 1px 2px #0000001a;color:#fff}.ribbon-button.success:hover:not(:disabled){background:linear-gradient(180deg,#0e6e0e,#0b5a0b);border-color:#094509;box-shadow:0 2px 4px #00000026}.ribbon-button.warning{background:linear-gradient(180deg,#ff8c00,#e67700);border-color:#c60;box-shadow:0 1px 2px #0000001a;color:#fff}.ribbon-button.warning:hover:not(:disabled){background:linear-gradient(180deg,#e67700,#c60);border-color:#b35500;box-shadow:0 2px 4px #00000026}.ribbon-button.danger{background:linear-gradient(180deg,#d13438,#b71c1c);border-color:#a50e0e;box-shadow:0 1px 2px #0000001a;color:#fff}.ribbon-button.danger:hover:not(:disabled){background:linear-gradient(180deg,#b71c1c,#a50e0e);border-color:#8f0a0a;box-shadow:0 2px 4px #00000026}.ribbon-button.split{padding-right:20px;position:relative}.ribbon-button.split:after{content:"▼";font-size:8px;opacity:.7;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.ribbon-button.toggle{background:#f3f2f1;border:1px solid #8a8886}.ribbon-button.toggle.active{background:linear-gradient(180deg,#005a9e,#004578);border-color:#004578;box-shadow:inset 0 1px 3px #0003;color:#fff}.ribbon-button.toggle:hover:not(:disabled):not(.active){background:#edebe9;border-color:#605e5c}.ribbon-button.dropdown{position:relative}.ribbon-button.dropdown:after{bottom:2px;content:"▼";font-size:6px;opacity:.7;position:absolute;right:2px}.ribbon-button-group{border:1px solid #d2d0ce;border-radius:3px;display:flex;margin:2px;overflow:hidden}.ribbon-button-group .ribbon-button{border:none;border-radius:0;border-right:1px solid #d2d0ce;margin:0}.ribbon-button-group .ribbon-button:last-child{border-right:none}.ribbon-button-group .ribbon-button:hover:not(:disabled){background:#007bff14;z-index:1}.ribbon-section.compact .ribbon-button{min-height:48px;min-width:48px;padding:6px 8px}.ribbon-section.compact .ribbon-button-icon{font-size:16px;margin-bottom:2px}.ribbon-section.compact .ribbon-button-text{font-size:9px}.ribbon-gallery{grid-gap:2px;background:#faf9f8;border:1px solid #d2d0ce;border-radius:3px;display:grid;gap:2px;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));max-width:200px;padding:4px}.ribbon-gallery .ribbon-button{flex-direction:column;margin:0;min-height:48px;min-width:48px}.integrated-ui-container{background:#f9fafb;display:flex;flex:1 1;overflow:hidden;position:relative}.side-panels{display:flex;flex-shrink:0;height:100%}.side-panel-left,.side-panel-right{background:#fff;border:1px solid #e5e7eb;display:flex;flex-direction:column;min-height:0}.side-panel-left{border-right:1px solid #e5e7eb;width:300px}.side-panel-right{border-left:1px solid #e5e7eb;width:300px}.panel-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:8px 12px}.panel-toggle{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:4px;transition:background-color .2s}.panel-toggle:hover{background:#e5e7eb}.visualization-container{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden;position:relative}.threejs-viewport{background:#f0f2f5;flex:1 1;min-height:0;overflow:hidden;position:relative;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y;-webkit-touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;z-index:1}.status-bar{align-items:center;background:#374151;color:#fff;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:space-between;padding:4px 12px}.status-text{flex:1 1}.status-indicators{color:#d1d5db;display:flex;gap:16px}.load-editor-overlay{background:#0006;bottom:0;left:0;pointer-events:all;position:fixed;right:0;top:0;z-index:10200}.load-editor-modal{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 20px 60px #00000026,0 8px 20px #0000001a;left:0;max-height:calc(100vh - 120px);max-width:480px;min-width:320px;overflow:hidden;position:absolute;top:0;transition:none;width:90vw}.load-editor{display:flex;flex-direction:column;height:100%}.load-editor .editor-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;gap:12px;padding:16px 20px}.drag-handle,.load-editor .editor-header{align-items:center;display:flex;-webkit-user-select:none;user-select:none}.drag-handle{border-radius:4px;color:#6c757d;cursor:grab;flex-shrink:0;height:24px;justify-content:center;transition:all .2s ease;width:24px}.drag-handle:hover{background:#6c757d1a;color:#495057}.drag-handle:active{background:#6c757d33;cursor:grabbing;transform:scale(1.1)}.load-editor .editor-header h3{color:#212529;flex:1 1;font-size:16px;font-weight:600;margin:0}.load-editor .editor-content{flex:1 1;max-height:calc(100vh - 200px);min-height:0;overflow-y:auto;padding:20px}.load-editor .form-group{margin-bottom:16px}.load-editor .form-group:last-child{margin-bottom:0}.load-editor .form-group label{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.load-editor .form-group input,.load-editor .form-group select{background:#fff;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.load-editor .form-group input:focus,.load-editor .form-group select:focus{border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a;outline:none}.load-editor .form-group input.error,.load-editor .form-group select.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.load-editor .error-message{color:#dc3545;display:block;font-size:12px;margin-top:4px}.load-editor h4{border-bottom:1px solid #e9ecef;color:#495057;font-size:15px;font-weight:600;margin:20px 0 12px;padding-bottom:6px}.load-editor h5{color:#6c757d;font-size:13px;font-weight:600;letter-spacing:.5px;margin:16px 0 8px;text-transform:uppercase}.component-inputs,.distributed-load-landscape{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px}.distributed-load-landscape{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px}.distributed-load-landscape .form-group{margin-bottom:0}.coordinate-system-group,.load-section{margin-bottom:20px}.coordinate-system-group .form-group{max-width:280px}.load-presets{border-top:1px solid #e9ecef;margin-top:20px;padding-top:20px}.preset-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:12px}.preset-button{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .2s ease}.preset-button:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.preset-button:disabled{cursor:not-allowed;opacity:.5}.load-editor .editor-controls{align-items:center;display:flex;gap:8px}.load-editor .editor-controls button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .2s ease}.load-editor .save-button{background:#198754;color:#fff}.load-editor .save-button:hover:not(:disabled){background:#157347;box-shadow:0 4px 12px #1987544d;transform:translateY(-1px)}.load-editor .save-button:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.load-editor .cancel-button{background:#6c757d;color:#fff}.load-editor .cancel-button:hover{background:#5c636a;box-shadow:0 4px 12px #6c757d4d;transform:translateY(-1px)}.load-editor .delete-button{background:#dc3545;color:#fff}.load-editor .delete-button:hover{background:#bb2d3b;box-shadow:0 4px 12px #dc35454d;transform:translateY(-1px)}.scale-control{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;color:#475569;display:flex;font-size:11px;gap:8px;margin-top:4px;padding:4px 8px}.scale-control label{font-weight:500;white-space:nowrap}.scale-control input[type=range]{-webkit-appearance:none;appearance:none;background:#e2e8f0;border-radius:2px;flex:1 1;height:4px;min-width:80px;outline:none}.scale-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:12px;width:12px}.scale-control input[type=range]::-moz-range-thumb{background:#3b82f6;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:12px;width:12px}.scale-control span{color:#1e293b;font-weight:600;min-width:30px;text-align:center}@media (max-width:600px){.load-editor-modal{max-height:90vh;max-width:none;width:95vw}.load-editor .editor-content{max-height:calc(90vh - 80px);padding:16px}.component-inputs,.distributed-load-landscape{gap:12px;grid-template-columns:1fr}.preset-buttons{grid-template-columns:1fr}.load-editor .editor-controls button{height:32px;min-width:32px;padding:6px 10px}}@media (max-width:480px){.load-editor .editor-header{padding:12px 16px}.load-editor .editor-content{padding:12px}.load-editor .form-group{margin-bottom:12px}}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:200}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #dee2e6;border-radius:50%;border-top-color:#007bff;height:40px;margin-bottom:12px;width:40px}.loading-text{color:#495057;font-size:14px;text-align:center}.ai-assistant-panel,.help-panel{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;left:50%;max-height:80vh;max-width:90vw;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:600px;z-index:10200}@media (max-height:768px){.ai-assistant-panel,.help-panel{max-height:75vh;top:60px;transform:translateX(-50%)}}@media (max-height:600px){.ai-assistant-panel,.help-panel{margin:10px;max-height:70vh;max-width:calc(100vw - 20px);top:70px;width:calc(100vw - 20px)}}.ai-header,.help-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.ai-header h3,.help-header h3{font-size:16px;font-weight:600;margin:0}.ai-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;padding:4px 8px;transition:background .2s ease}.ai-close:hover{background:#ffffff1a}.ai-content,.help-content{max-height:60vh;overflow-y:auto;padding:20px}.help-section{margin-bottom:20px}.help-section h4{color:#495057;font-size:14px;font-weight:600;margin:0 0 8px}.help-section p{color:#6c757d;font-size:13px;line-height:1.5;margin:0}.fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal-overlay{box-sizing:border-box;padding:10px;z-index:10200}.modal-overlay .modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000004d;margin:10px;max-height:85vh;max-width:90vw;overflow:auto;padding:20px;position:relative;z-index:10201}@media (max-height:768px){.modal-overlay{align-items:flex-start;padding:70px 5px 5px}.modal-overlay .modal-content{margin:5px;max-height:80vh}}@media (max-height:600px){.modal-overlay{padding:80px 2px 2px}.modal-overlay .modal-content{margin:2px;max-height:75vh;padding:15px}}.modal-open{overflow:hidden}.modal-open .ribbon-container.minimized{transform:translateY(-40px)}@media (max-height:600px){.modal-open .ribbon-container{left:0;position:fixed;right:0;top:0;z-index:10050}.modal-open .ribbon-container.minimized{transform:translateY(-35px)}.modal-open .editor-modal-overlay{padding-top:5px}}@media (max-height:500px){.modal-open .ribbon-container{transform:translateY(-40px);transition:transform .3s ease}.modal-open .editor-modal-overlay,.modal-open .modal-overlay{padding-top:2px}}.cancel-button,.close-button,.editor-controls button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (pointer:coarse){.editor-controls button{height:44px;min-width:44px;padding:10px}}@media (max-width:1200px){.ribbon-button{min-height:56px;min-width:52px;padding:6px 10px}.ribbon-button-icon{font-size:16px;margin-bottom:3px}.ribbon-button-text{font-size:9px}}@media (max-width:768px){.ribbon-container{position:-webkit-sticky;position:sticky;top:0}.ribbon-tabs{flex-wrap:wrap}.ribbon-tab{font-size:12px;padding:6px 12px}.ribbon-section{margin-right:12px}.ribbon-button{min-width:40px;padding:6px 8px}.side-panels{width:200px}.ribbon-nav-section{gap:4px}.nav-button{font-size:8px;padding:2px 4px}.ribbon-title{font-size:12px;margin-left:8px}.integrated-ui-container{height:150px;top:40px}.visualization-container.with-integrated-ui{height:calc(100vh - 190px);top:190px}.project-navigator{flex-direction:column}.document-tabs{overflow-x:auto;white-space:nowrap}.document-tab{max-width:150px}.minimized-documents{bottom:10px;flex-direction:column;max-width:200px;right:10px}.minimized-document{font-size:11px;padding:6px 10px}.load-editor-modal{max-height:calc(100vh - 100px);max-width:95vw;min-width:280px;width:95vw}.load-editor .editor-content{max-height:calc(100vh - 160px);padding:15px}.load-editor .form-group{margin-bottom:12px}.load-editor .form-group input,.load-editor .form-group select{font-size:16px}.load-editor .editor-controls button{font-size:16px;height:44px;min-width:44px}.drag-handle{height:32px;width:32px}}@media (max-width:480px){.ribbon-header{height:35px;padding:0 12px}.ribbon-title{font-size:12px}.nav-button{font-size:9px;gap:2px;padding:3px 6px}.nav-button-icon{font-size:8px}}@media (max-width:1200px){.ribbon-section{margin-right:6px;padding:2px}.ribbon-button{min-height:18px;min-width:21px;padding:1px 3px}.ribbon-button-text{font-size:5px}}@media (max-width:900px){.ribbon-panels{min-height:25px;padding:3px}.ribbon-section{margin-right:4px;padding:1px}.ribbon-button{margin:.25px;min-height:16px;min-width:18px;padding:1px 2px}.ribbon-button-icon{font-size:6px;margin-bottom:.5px}.ribbon-button-text{font-size:4px}.ribbon-section-title{font-size:5px;margin-bottom:1px}}@media (max-width:600px){.ribbon-header{height:28px;padding:0 8px}.ribbon-title{font-size:11px;margin-left:8px}.ribbon-tab{font-size:10px;padding:4px 8px}.ribbon-panels{min-height:20px;padding:2px}.ribbon-section{margin-right:3px;padding:1px}.ribbon-button{min-height:14px;min-width:16px;padding:1px}.ribbon-button-icon{font-size:5px}.ribbon-button-text{font-size:3px}}.element-editor,.node-editor{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;width:90vw}.ai-assistant-panel,.editor-modal-overlay,.help-panel,.modal-overlay{z-index:10200!important}.editor-modal-overlay>*,.modal-overlay>*{z-index:10201!important}.analysis-log-window{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:500px;left:50%;max-height:80vh;max-width:90vw;position:fixed;top:50%;transform:translate(-50%,-50%);width:600px;z-index:10250}.analysis-log-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:12px 16px}.analysis-log-title{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px}.analysis-log-icon{color:#3b82f6}.analysis-log-status{border-radius:12px;font-size:12px;font-weight:500;margin-left:12px;padding:2px 8px}.analysis-log-status.running{background:#dbeafe;color:#1d4ed8}.analysis-log-status.completed{background:#dcfce7;color:#166534}.analysis-log-status.error{background:#fee2e2;color:#dc2626}.analysis-log-status.idle{background:#f1f5f9;color:#64748b}.analysis-log-controls{display:flex;gap:4px}.log-control-button{align-items:center;background:#0000;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;transition:background-color .2s;width:24px}.log-control-button:hover{background:#e2e8f0}.log-control-button:disabled{cursor:not-allowed;opacity:.5}.analysis-log-content{background:#fafafa;flex:1 1;overflow-y:auto;padding:0}.log-empty{align-items:center;color:#64748b;display:flex;font-size:14px;font-style:italic;height:100%;justify-content:center}.log-entries{padding:8px 0}.log-entry{align-items:flex-start;border-left:3px solid #0000;display:flex;font-family:Consolas,Monaco,Lucida Console,monospace;font-size:13px;gap:8px;margin:1px 0;padding:6px 16px}.log-entry.info{background:#f8fafc;border-left-color:#3b82f6}.log-entry.success{background:#f0fdf4;border-left-color:#10b981}.log-entry.warning{background:#fffbeb;border-left-color:#f59e0b}.log-entry.error{background:#fef2f2;border-left-color:#ef4444}.log-timestamp{color:#64748b;font-size:12px;min-width:80px;white-space:nowrap}.log-message{color:#1e293b;flex:1 1;word-break:break-word}.analysis-log-footer{align-items:center;background:#f8fafc;border-radius:0 0 8px 8px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:12px 16px}.analysis-log-footer.error{align-items:stretch;background:#fef2f2;flex-direction:column;gap:8px}.analysis-log-footer.error p{color:#dc2626;font-size:13px;margin:0;text-align:center}.log-footer-button{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.log-footer-button.primary{background:#3b82f6;color:#fff}.log-footer-button.primary:hover{background:#2563eb}.log-footer-button.danger{background:#ef4444;color:#fff}.log-footer-button.danger:hover{background:#dc2626}.analysis-log-content::-webkit-scrollbar{width:6px}.analysis-log-content::-webkit-scrollbar-track{background:#f1f5f9}.analysis-log-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.analysis-log-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.context-menu{animation:contextMenuFadeIn .12s ease-out;background:#1f2937;border:1px solid #374151;border-radius:8px;box-shadow:0 8px 24px #00000080;min-width:200px;padding:4px 0;position:fixed;-webkit-user-select:none;user-select:none;z-index:10500}.context-menu-header{border-bottom:1px solid #374151;color:#9ca3af;font-size:12px;font-weight:600;padding:8px 12px;white-space:nowrap}.context-menu-item{align-items:center;background:none;border:none;color:#e5e7eb;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:7px 14px;text-align:left;transition:background .1s;width:100%}.context-menu-item:hover{background:#374151}.context-menu-item.danger{color:#f87171}.context-menu-item.danger:hover{background:#7f1d1d}.context-menu-icon{font-size:14px;min-width:18px;text-align:center}.context-menu-label{flex:1 1}.context-menu-separator{background:#374151;height:1px;margin:4px 8px}.results-popup{animation:popupSlideIn .2s ease-out;background:#111827;border:1px solid #374151;border-radius:10px;box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;overflow:hidden;position:fixed;z-index:10300}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.results-popup-header{align-items:center;background:#1f2937;border-bottom:1px solid #374151;cursor:move;display:flex;justify-content:space-between;padding:10px 14px;-webkit-user-select:none;user-select:none}.results-popup-title{color:#f3f4f6;font-size:14px;font-weight:600}.results-popup-controls{align-items:center;display:flex;gap:8px}.results-popup-select{background:#111827;border:1px solid #4b5563;border-radius:4px;color:#e5e7eb;cursor:pointer;font-size:12px;padding:3px 8px}.results-popup-close{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:18px;height:26px;justify-content:center;transition:all .15s;width:26px}.results-popup-close:hover{background:#7f1d1d;color:#f87171}.results-popup-body{display:flex;flex:1 1;min-height:0}.results-popup-data{background:#0f172a;border-right:1px solid #374151;display:flex;flex-direction:column;min-width:200px;width:240px}.results-data-header{background:#1e293b;border-bottom:1px solid #334155;color:#9ca3af;display:flex;font-size:11px;font-weight:600;justify-content:space-between;padding:8px 10px}.results-data-scroll{flex:1 1;min-height:0;overflow-y:auto}.results-data-scroll::-webkit-scrollbar{width:6px}.results-data-scroll::-webkit-scrollbar-track{background:#0f172a}.results-data-scroll::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.results-data-table{border-collapse:collapse;font-size:12px;width:100%}.results-data-table th{background:#1e293b;border-bottom:1px solid #334155;color:#94a3b8;font-weight:600;padding:6px 8px;position:-webkit-sticky;position:sticky;text-align:left;top:0;z-index:1}.results-data-table td{border-bottom:1px solid #1e293b;color:#d1d5db;font-family:Consolas,Courier New,monospace;font-size:11px;padding:4px 8px}.results-data-table tr:hover td{background:#1e293b}.results-data-empty{color:#6b7280;font-size:12px;padding:20px;text-align:center}.results-data-summary{background:#1e293b;border-top:1px solid #334155;color:#94a3b8;display:flex;flex-direction:column;font-size:11px;gap:2px;padding:8px 10px}.results-data-summary strong{color:#d1d5db}.results-popup-chart{display:flex;flex:1 1;flex-direction:column;min-width:0}.results-diagram-tabs{background:#1f2937;border-bottom:1px solid #374151;display:flex;flex-wrap:wrap;gap:2px;padding:6px 8px}.results-diagram-tab{background:none;border:none;border-bottom:2px solid #0000;color:#9ca3af;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .15s;white-space:nowrap}.results-diagram-tab:hover{background:#374151;color:#e5e7eb}.results-diagram-tab.active{color:#f3f4f6;font-weight:600}.results-chart-area{flex:1 1;min-height:0;padding:8px}.results-chart-empty{font-size:13px;height:100%}.results-chart-empty,.results-popup-empty{align-items:center;color:#6b7280;display:flex;justify-content:center}.results-popup-empty{flex:1 1;flex-direction:column;font-size:14px;gap:8px;padding:40px}.results-popup-resize-handle{align-items:center;bottom:0;cursor:nwse-resize;display:flex;height:18px;justify-content:center;opacity:.5;position:absolute;right:0;transition:opacity .15s;width:18px}.results-popup-resize-handle:hover{opacity:1}.save-as-modal .modal-body{display:flex;flex-direction:column;gap:16px}.save-as-modal .form-group{display:flex;flex-direction:column;gap:8px}.save-as-modal .form-icon{color:#666;margin-right:8px}.save-as-modal .project-selection-container{align-items:center;display:flex;gap:8px}.save-as-modal .project-select{flex:1 1}.save-as-modal .create-project-btn{align-items:center;background:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;justify-content:center;padding:8px 12px;transition:all .2s ease}.save-as-modal .create-project-btn:hover{background:#e9ecef;color:#495057}.save-as-modal .selected-project-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:12px}.save-as-modal .project-info-card{display:flex;flex-direction:column;gap:8px}.save-as-modal .project-info-header{align-items:center;color:#495057;display:flex;font-weight:600;gap:8px}.save-as-modal .project-icon{color:#007bff}.save-as-modal .project-description{color:#6c757d;font-size:14px;margin:0}.save-as-modal .project-stats{color:#868e96;display:flex;font-size:12px;gap:16px}.save-as-modal .new-project-form{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;margin-top:12px;padding:16px}.save-as-modal .new-project-form h4{color:#495057;font-size:16px;margin:0 0 16px}.save-as-modal .new-project-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.model-manager-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.model-manager-container{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;height:80vh;max-height:800px;max-width:1200px;overflow:hidden;width:90vw}.model-manager-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:16px 20px}.model-manager-header h2{align-items:center;color:#495057;display:flex;gap:8px;margin:0}.header-actions{gap:16px}.view-toggle{background:#e9ecef;border-radius:6px;display:flex;overflow:hidden}.view-toggle button{align-items:center;background:#0000;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:14px;gap:4px;padding:6px 12px;transition:all .2s ease}.view-toggle button:hover{background:#dee2e6;color:#495057}.view-toggle button.active{background:#007bff;color:#fff}.model-manager-controls{border-bottom:1px solid #dee2e6;display:flex;flex-direction:column;gap:12px;padding:16px 20px}.search-container{max-width:400px;position:relative}.search-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px 8px 36px;width:100%}.search-icon{color:#999;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.selection-actions{align-items:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.selection-info{color:#1565c0}.selection-buttons{display:flex;gap:8px}.model-manager-content{flex:1 1;overflow-y:auto;padding:20px}.projects-view{display:flex;flex-direction:column;gap:16px}.project-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.project-header{align-items:center;background:#e9ecef;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px;transition:background-color .2s ease}.project-header:hover{background:#dee2e6}.project-header-left{align-items:center;color:#495057;display:flex;gap:8px}.project-name{font-size:16px;font-weight:600}.model-count{color:#6c757d;font-size:14px}.project-selection-actions{display:flex;gap:8px}.btn-small{border-radius:4px;font-size:12px;padding:4px 8px}.models-list{max-height:400px;overflow-y:auto}.model-item{align-items:center;border-bottom:1px solid #dee2e6;cursor:pointer;display:flex;padding:8px 16px;transition:background-color .2s ease}.model-item:hover{background:#f8f9fa}.model-item.selected{background:#e3f2fd;border-color:#90caf9}.model-item:last-child{border-bottom:none}.model-checkbox{align-items:center;display:flex;margin-right:12px}.model-content{flex:1 1;min-width:0}.model-info{align-items:flex-start;display:flex;gap:8px}.model-icon{color:#6c757d;flex-shrink:0;margin-top:2px}.model-details{flex:1 1;min-width:0}.model-name{color:#495057;font-weight:500;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-project{color:#007bff}.model-meta,.model-project{font-size:12px;margin-bottom:2px}.model-meta{color:#6c757d}.model-date{color:#868e96;font-size:11px}.model-actions{display:flex;gap:4px;margin-left:8px}.btn-icon{background:#0000;border-radius:4px;padding:6px}.flat-view .all-models-list{display:flex;flex-direction:column;gap:2px}.loading-message{align-items:center;color:#6c757d;display:flex;flex-direction:column;justify-content:center;padding:40px}.spinner{border-top-color:#007bff;height:24px;margin-bottom:12px;width:24px}.no-models-message{color:#6c757d;font-style:italic;padding:40px;text-align:center}.move-dialog-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10001}.move-dialog{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:90vw;width:400px}.move-dialog-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:16px 20px}.move-dialog-header h3{color:#495057;font-size:18px;margin:0}.move-dialog-content{padding:20px}.move-dialog-footer{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}@media (max-width:768px){.model-manager-container{height:90vh;width:95vw}.model-manager-header{align-items:stretch;flex-direction:column;gap:12px}.header-actions{justify-content:space-between}.model-manager-controls,.selection-actions{flex-direction:column;gap:8px}.selection-actions{align-items:stretch}.selection-buttons{justify-content:center}.model-item{padding:12px 8px}.project-header{padding:8px 12px}.project-selection-actions{flex-direction:column;gap:4px}}.btn{border:1px solid #0000;border-radius:4px;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;text-align:center}.btn-primary{background:#007bff;border-color:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3;border-color:#0056b3}.btn-secondary{border-color:#6c757d}.btn-secondary:hover:not(:disabled){background:#545b62;border-color:#545b62}.close-button{background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;font-size:20px;padding:4px 8px;transition:all .2s ease}.close-button:hover{background:#e9ecef;color:#495057}.form-control{background:#fff;border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;transition:border-color .2s ease;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}textarea.form-control{min-height:80px;resize:vertical}label{align-items:center;color:#495057;display:flex;font-weight:500;margin-bottom:4px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.report-nav-sidebar-compact{background:#1f2937;border-right:1px solid #374151;height:calc(100vh - 55px);left:0;outline:none;overflow:hidden;padding:0;top:55px;width:60px;z-index:100}.report-nav-sidebar-compact,.report-nav-sidebar-expanded{border-top:none;display:flex;flex-direction:column;margin:0;position:fixed}.report-nav-sidebar-expanded{animation:slideInFromLeft .2s ease-out;background:#fff;border-right:1px solid #e5e7eb;box-shadow:2px 0 12px #00000014;height:calc(100vh - 48px);left:60px;max-width:600px;min-width:200px;overflow-y:auto;top:48px;z-index:99}.report-nav-sidebar{display:none}.sidebar-section{border-bottom:1px solid #cbd5e1;padding:4px 8px}.section-title{color:#475569;font-size:9px;font-weight:600;letter-spacing:.3px;margin:0 0 4px;text-transform:uppercase}.section-title-clickable{align-items:center;border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;margin:-4px -8px 4px;padding:6px 12px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.section-title-clickable:hover{background-color:#e2e8f0}.section-title-clickable:active{background-color:#cbd5e1}.section-arrow{color:#64748b;display:inline-block;font-size:12px;min-width:16px;text-align:center;transition:transform .2s ease,color .2s ease}.section-arrow.expanded{color:#3b82f6;transform:rotate(90deg)}.section-title-clickable:hover .section-arrow{color:#3b82f6}.project-info{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.project-details{margin-bottom:10px}.project-name{color:#1e293b;font-size:12px;font-weight:700;line-height:1.3;margin-bottom:3px}.project-description{color:#475569;font-size:9px;line-height:1.4;margin-bottom:5px}.project-meta{align-items:center;color:#64748b;display:flex;font-size:9px;margin:2px 0}.project-folders{margin-top:8px}.folder-item{margin-bottom:3px}.folder-header{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;cursor:pointer;display:flex;padding:5px 8px;transition:all .2s ease}.folder-header:hover{background:#f1f5f9;border-color:#94a3b8}.folder-icon{font-size:12px;margin-right:6px}.folder-name{color:#475569;flex:1 1;font-size:11px;font-weight:500}.folder-count{color:#94a3b8;font-size:10px;font-weight:400;margin-right:4px}.folder-arrow{color:#64748b;font-size:10px;transition:transform .2s ease}.folder-arrow.expanded{transform:rotate(90deg)}.folder-content{color:#64748b;font-size:11px;padding:4px 0 4px 28px}.folder-item-placeholder{color:#94a3b8;font-size:10px;font-style:italic;padding:6px 8px}.folder-item-link{align-items:center;border-radius:4px;color:#475569;cursor:pointer;display:flex;gap:6px;padding:6px 8px;transition:all .15s ease}.folder-item-link:hover{background:#f1f5f9;color:#1e40af}.folder-item-link.loading{background:#f1f5f9;cursor:wait;opacity:.8}.folder-item-link .item-icon{font-size:10px;opacity:.7}.folder-item-link .item-name{flex:1 1;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-item-link .item-spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;flex-shrink:0;height:12px;width:12px}.stats-section{background:#e0f2fe;border-bottom:1px solid #7dd3fc;padding:4px!important}.stats-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(2,1fr)}.stat-item{background:#fff;border:1px solid #bae6fd;border-radius:3px;padding:3px 4px;text-align:center}.stat-label{color:#475569;font-size:7px;font-weight:600;letter-spacing:.3px;margin-bottom:1px;text-transform:uppercase}.stat-value{color:#334155;font-size:12px;font-weight:700}.stat-pass .stat-value{color:#0284c7}.stat-fail .stat-value{color:#64748b}.stat-pending .stat-value{color:#94a3b8}.toggle-section{background:#f1f5f9}.toggle-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.toggle-checkbox{accent-color:#0284c7;cursor:pointer;height:16px;margin-right:8px;width:16px}.toggle-text{color:#475569;font-size:13px;font-weight:500}.toggle-description{color:#64748b;font-size:11px;margin-left:24px;margin-top:4px}.contents-section{flex:1 1;padding-bottom:24px}.contents-list{display:flex;flex-direction:column;gap:4px;max-height:10000px;opacity:1;overflow:visible;transition:max-height .2s ease,opacity .15s ease}.contents-list.collapsed{max-height:0;opacity:0;overflow:hidden;pointer-events:none}.empty-state{color:#94a3b8;font-size:10px;font-style:italic;padding:20px 10px}.content-item{background:#fff;border:1px solid #cbd5e1;border-radius:4px;overflow:hidden;transition:all .2s ease}.content-item:hover{border-color:#64748b;box-shadow:0 2px 8px #47556926}.content-header{gap:6px;justify-content:space-between;padding:6px 8px}.content-header,.content-main{align-items:center;display:flex}.content-main{cursor:pointer;flex:1 1;gap:4px;min-width:0}.content-number{color:#64748b;flex-shrink:0;font-size:9px;font-weight:600}.content-name{color:#334155;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-actions{gap:4px}.content-actions,.status-indicator{align-items:center;display:flex;flex-shrink:0}.status-indicator{border-radius:50%;color:#fff;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.utilization-badge{background:#dbeafe;border:1px solid #93c5fd;border-radius:10px;color:#0369a1;font-size:8px;font-weight:600;padding:1px 4px;white-space:nowrap}.expand-button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:4px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.expand-button:hover{background:#f1f5f9;border-color:#94a3b8;color:#334155}.expand-button.expanded{background:#dbeafe;border-color:#60a5fa;color:#0284c7;transform:rotate(90deg)}.content-summary{background:#f8fafc;border-top:1px solid #cbd5e1;font-size:11px;max-height:200px;overflow-y:auto;padding:8px 12px 10px}.content-summary::-webkit-scrollbar{width:4px}.content-summary::-webkit-scrollbar-track{background:#e2e8f0}.content-summary::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:2px}.summary-row{display:flex;gap:8px;justify-content:space-between;padding:3px 0}.summary-row.priority-row{background:#e0f2fe;border-radius:4px;margin:-2px -6px 2px;padding:4px 6px}.summary-label{color:#64748b;font-weight:500}.priority-row .summary-label{color:#0369a1;font-weight:600}.summary-value{color:#334155;font-weight:600;text-align:right}.priority-row .summary-value{color:#0c4a6e;font-weight:700}.summary-status-icon{font-size:14px;font-weight:700;margin-left:6px}.summary-status-icon.pass{color:#16a34a}.summary-status-icon.fail{color:#dc2626}.summary-empty{color:#94a3b8;font-size:10px;font-style:italic;padding:8px 0;text-align:center}.sidebar-footer{background:#f1f5f9;border-top:1px solid #cbd5e1;margin-top:auto;padding:12px 16px}.footer-text{color:#94a3b8;font-size:10px;text-align:center}.pdf-export-section{border-bottom:1px solid #e2e8f0}.pdf-export-options{background:#fff;padding:8px 12px}.export-option-item{margin-bottom:8px}.export-option-item:last-child{margin-bottom:0}.export-option-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding:4px;transition:background-color .15s ease}.export-option-label,.export-option-label-block{border-radius:4px;-webkit-user-select:none;user-select:none}.export-option-label-block{background-color:#f8fafc;border:1px solid #e2e8f0;cursor:default;display:block;padding:8px}.logo-upload-section{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px}.logo-upload-input{background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:12px;padding:6px;width:100%}.logo-upload-input::-webkit-file-upload-button{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;margin-right:8px;padding:4px 12px}.logo-upload-input::-webkit-file-upload-button:hover{background:#2563eb}.color-picker-section{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding-bottom:12px}.export-option-label:hover{background-color:#f1f5f9}.export-option-checkbox{accent-color:#3b82f6;cursor:pointer;flex-shrink:0;height:16px;width:16px}.export-option-text{color:#475569;font-size:11px;font-weight:500;line-height:1.4}.export-option-label:hover .export-option-text{color:#1e293b}.export-pdf-button{align-items:center;background:linear-gradient(135deg,#2563eb,#1e40af);border:none;border-radius:6px;box-shadow:0 2px 4px #2563eb33;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin:12px;padding:10px 16px;transition:all .2s ease}.export-pdf-button:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 4px 8px #2563eb4d;transform:translateY(-1px)}.export-pdf-button:active{box-shadow:0 2px 4px #2563eb33;transform:translateY(0)}.resources-section{border-bottom:1px solid #e2e8f0}.resource-buttons{background:#fff;display:flex;flex-direction:column;gap:8px;padding:8px 12px}.resource-btn{align-items:center;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:6px;box-shadow:0 1px 3px #0284c733;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:600;gap:8px;padding:10px 12px;transition:all .2s ease}.resource-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 2px 6px #0284c74d;transform:translateY(-1px)}.resource-btn:active{transform:translateY(0)}.resource-icon{flex-shrink:0;font-size:14px}.resource-text{flex:1 1;text-align:left}.modal-overlay{background:#000000b3;padding:20px;z-index:10000}.steel-section-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;height:90vh;left:50%;max-height:700px;max-width:1800px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:95vw}.steel-section-modal.expanded{border-radius:4px;height:98vh;max-height:none;max-width:none;width:98vw}.modal-header{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;padding:20px 24px}.modal-header h2{font-size:1.5rem;font-weight:600}.modal-header-buttons{align-items:center;display:flex;gap:8px}.modal-expand-btn{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:background .2s;width:36px}.modal-expand-btn:hover{background:#ffffff4d}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:background .2s;width:36px}.modal-close-btn:hover{background:#ffffff4d}.section-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:4px;overflow-x:auto;padding:16px 24px}.tab-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-weight:500;padding:8px 20px;transition:all .2s;white-space:nowrap}.tab-btn:hover{background:#f3f4f6;border-color:#9ca3af}.tab-btn.active{background:#0284c7;border-color:#0284c7;color:#fff}.modal-content-wrapper{display:flex;flex:1 1;overflow:hidden}.section-table-container{background:#fff;flex:1 1;overflow:auto;padding:0}.section-table{border-collapse:collapse;font-size:13px;width:100%}.section-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.section-table th{background:#f9fafb;border-bottom:2px solid #d1d5db;color:#374151;font-weight:600;min-width:90px;padding:12px 8px;text-align:center;white-space:nowrap}.section-table th:first-child{min-width:130px}.section-table th .unit-label{color:#6b7280;font-size:11px;font-weight:400;margin-top:2px}.section-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.section-table tbody tr:hover{background:#f0f9ff}.section-table td{color:#1f2937;min-width:90px;padding:10px 8px;text-align:center}.section-table td:first-child{min-width:130px}.numeric-cell{font-family:Consolas,Monaco,monospace;font-size:12px;text-align:center}.sticky-column{background:#f9fafb;border-right:2px solid #e5e7eb;font-weight:600;left:0;max-width:130px;min-width:130px;position:-webkit-sticky;position:sticky;width:130px;z-index:5}.section-table tbody tr:hover .sticky-column{background:#f0f9ff}.section-name{color:#0284c7;font-weight:600}.modal-footer{align-items:center;background:#f9fafb;justify-content:space-between;padding:16px 24px}.section-count{color:#6b7280;font-size:14px;font-weight:500}.modal-action-btn{background:#0284c7;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 24px;transition:background .2s}.modal-action-btn:hover{background:#0369a1}.section-table-container::-webkit-scrollbar{height:8px;width:8px}.section-table-container::-webkit-scrollbar-track{background:#f1f5f9}.section-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.section-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.section-row{cursor:pointer}.section-row.selected{border-left:3px solid #0284c7}.section-row.selected,.section-row.selected .sticky-column{background:#dbeafe!important}.section-detail-panel{animation:slideInRight .3s ease-out;background:#fff;border-left:2px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;max-width:450px;min-width:300px;position:relative;width:380px}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:1400px){.section-detail-panel{width:320px}}@media (max-width:1024px){.modal-content-wrapper{flex-direction:column}.section-detail-panel{border-left:none;border-top:2px solid #e5e7eb;max-height:400px;max-width:100%;width:100%}.section-diagram{padding:10px}.steel-section-modal{height:95vh}}@media (max-width:768px){.section-tabs{gap:2px;overflow-x:auto;padding:12px 16px}.tab-btn{font-size:13px;padding:6px 12px}.modal-header h2{font-size:1.25rem}.section-table{font-size:11px}.section-table td,.section-table th{min-width:70px;padding:8px 6px}}.section-detail-header{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);border-bottom:2px solid #e5e7eb;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.section-detail-header h3{font-size:1.3rem;font-weight:600;margin:0}.close-detail-btn{align-items:center;background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:background .2s;width:32px}.close-detail-btn:hover{background:#ffffff40}.section-diagram{align-items:center;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;justify-content:center;padding:20px}.section-diagram svg{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.dimension-arrow line,.dimension-arrow path{stroke-linecap:round;stroke-linejoin:round}.dimension-arrow text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none}.section-detail-properties{flex:1 1;overflow-y:auto;padding:24px}.property-row{border-bottom:1px solid #f1f5f9;padding:12px 0}.property-row:last-child{border-bottom:none}.property-label{color:#475569;font-size:14px;font-weight:600}.property-value{color:#0f172a;font-family:Consolas,Monaco,monospace;font-size:14px;font-weight:500}.steel-reinforcement-modal{background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;height:700px;left:50%;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:1400px}.reinforcement-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:4px;overflow-x:auto;padding:16px 24px}.reinforcement-table-container{background:#fff;flex:1 1;overflow:auto;padding:0}.reinforcement-table{border-collapse:collapse;font-size:13px;width:100%}.reinforcement-table thead{background:#f9fafb;position:-webkit-sticky;position:sticky;top:0;z-index:10}.reinforcement-table th{background:#f9fafb;border-bottom:2px solid #d1d5db;color:#374151;font-weight:600;padding:12px 16px;text-align:left;white-space:nowrap}.reinforcement-table th:first-child{min-width:140px;width:140px}.reinforcement-table th:nth-child(2){min-width:160px;width:160px}.reinforcement-table th:nth-child(3),.reinforcement-table th:nth-child(4),.reinforcement-table th:nth-child(5){min-width:180px;width:180px}.reinforcement-table th:nth-child(6){min-width:140px;width:140px}.reinforcement-table th .unit-label{color:#6b7280;font-size:11px;font-weight:400;margin-top:2px}.reinforcement-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.reinforcement-table tbody tr:hover{background:#f0f9ff}.reinforcement-table td{color:#1f2937;padding:12px 16px}.product-code-cell{background:#fefce8;color:#0284c7;font-weight:600}.reinforcement-table tbody tr:hover .product-code-cell{background:#fef9c3}.reinforcement-table-container::-webkit-scrollbar{height:8px;width:8px}.reinforcement-table-container::-webkit-scrollbar-track{background:#f1f5f9}.reinforcement-table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.reinforcement-table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.reinforcement-count{color:#6b7280;font-size:14px;font-weight:500}.text-size-container{--text-scale:1}.text-size-container :not(.no-text-scale){font-size:calc(1em*var(--text-scale))!important}.text-size-container .svg-dim-text{font-size:var(--svg-font-size)!important}.modular-calculations-main-content{margin-left:60px;transition:margin-left .3s ease}.component-wrapper{border-radius:8px;transition:box-shadow .3s ease}@media (max-width:1024px){.modular-calculations-main-content{margin-left:60px}}@media (max-width:768px){.modular-calculations-main-content{margin-left:0}.report-nav-sidebar{transform:translateX(-100%);transition:transform .3s ease}.report-nav-sidebar.mobile-open{transform:translateX(0)}}.with-sidebar-layout{display:flex;flex-direction:column;min-height:100vh}.component-summary-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 12px}@media print{.report-nav-sidebar{display:none!important}.modular-calculations-main-content{margin-left:0!important}}.section-builder{background-color:#f8f9fa;bottom:0;box-sizing:border-box;display:flex;flex-direction:row;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;left:0;margin:0;max-width:100%;overflow:hidden;padding:0;position:fixed;right:0;top:0;width:100%}.section-builder-left-sidebar{background:#fff;border-right:1px solid #e9ecef;box-shadow:2px 0 8px #0000001a;height:100vh;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;transition:width .3s ease;z-index:1000}.section-builder-left-sidebar.minimized{width:40px!important}.section-builder-left-sidebar .sidebar-minimize-btn{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:12px;height:30px;justify-content:center;position:absolute;right:5px;top:10px;transition:all .2s ease;width:30px;z-index:10}.section-builder-left-sidebar .sidebar-minimize-btn:hover{background:#e9ecef;color:#212529}.section-builder-left-sidebar .sidebar-content{display:flex;flex-direction:column;gap:15px;padding:50px 15px 20px}.section-builder-left-sidebar .sidebar-title{border-bottom:2px solid #e9ecef;color:#212529;font-size:18px;font-weight:700;margin:0 0 10px;padding-bottom:10px}.section-builder-left-sidebar .sidebar-section{display:flex;flex-direction:column;gap:8px}.section-builder-left-sidebar .sidebar-section-title{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin:0 0 5px;text-transform:uppercase}.section-builder-left-sidebar .w-full{width:100%}.section-builder-left-sidebar .mb-2{margin-bottom:8px}.section-builder-left-sidebar .view-settings-list{display:flex;flex-direction:column;gap:8px}.section-builder-left-sidebar .view-setting-item{align-items:center;border-radius:4px;color:#495057;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:6px 8px;transition:background .2s ease}.section-builder-left-sidebar .view-setting-item:hover{background:#f8f9fa}.section-builder-left-sidebar .view-setting-item input[type=checkbox]{cursor:pointer;height:16px;width:16px}.section-builder-left-sidebar .view-setting-item span{flex:1 1;-webkit-user-select:none;user-select:none}.section-builder-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden;transition:margin-left .3s ease}.section-builder-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.header-content h1{color:#2c3e50;margin:0}.header-content p{color:#6c757d;margin:.5rem 0 0}.header-actions{align-items:center;display:flex;gap:.75rem}.btn{align-items:center;border:none;border-radius:.5rem;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#4a90e2,#357abd);box-shadow:0 2px 4px #4a90e24d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 4px 8px #4a90e266;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#28a745,#20963d);box-shadow:0 2px 4px #28a7454d;color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#20963d,#1e7e34);box-shadow:0 4px 8px #28a74566;transform:translateY(-1px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-info{background:linear-gradient(135deg,#17a2b8,#138496);box-shadow:0 2px 4px #17a2b84d}.btn-info:hover:not(:disabled){background:linear-gradient(135deg,#138496,#117a8b);box-shadow:0 4px 8px #17a2b866;transform:translateY(-1px)}.btn-warning{background:linear-gradient(135deg,#ffc107,#e0a800);box-shadow:0 2px 4px #ffc1074d;color:#212529}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#e0a800,#d39e00);box-shadow:0 4px 8px #ffc10766;transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 2px 4px #dc35454d}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 4px 8px #dc354566;transform:translateY(-1px)}.btn-sm{padding:.5rem .875rem}.btn-group{border-radius:.5rem;box-shadow:0 2px 4px #0000001a;display:flex;overflow:hidden}.btn-group .btn{border-radius:0;margin:0}.btn-group .btn:first-child{border-bottom-left-radius:.5rem;border-top-left-radius:.5rem}.btn-group .btn:last-child{border-bottom-right-radius:.5rem;border-top-right-radius:.5rem}.btn-icon{align-items:center;background:#f8f9fa;border:none;border-radius:.5rem;color:#6c757d;cursor:pointer;display:inline-flex;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.btn-icon:hover{background:#e9ecef;color:#495057}.btn-icon.active{background:#4a90e2;color:#fff}.section-builder-main{box-sizing:border-box;display:flex;flex:1 1;gap:.5rem;max-width:100%;min-height:0;overflow:hidden;padding:.5rem;width:100%}.section-canvas-container{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px #0000001a;display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.canvas-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.view-controls{display:flex;gap:.5rem}.section-canvas{background:#fafafa;cursor:grab;flex:1 1}.section-canvas:active{cursor:grabbing}.section-sidebar{background:#fff;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;gap:.375rem;max-width:600px;min-width:220px;overflow-y:auto;position:relative;width:280px}.sidebar-resizer{background:#0000;border-left:2px solid #0000;cursor:col-resize;height:100%;left:-3px;position:absolute;top:0;transition:border-color .2s ease;width:6px;z-index:10}.sidebar-resizer:hover{border-left:2px solid #4a90e2}.sidebar-resizer.resizing{background:#4a90e21a;border-left:2px solid #2d7ce0}.element-editor{background:#fff;border-radius:.5rem;box-shadow:0 2px 4px #00000014;overflow:hidden}.editor-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:.25rem .5rem}.elements-list{max-height:calc(100vh - 200px);overflow-y:auto}.empty-state{padding:.5rem}.element-item{border-bottom:1px solid #f1f3f4;cursor:pointer;padding:.25rem .5rem;transition:background-color .2s ease}.element-item:hover{background-color:#f8f9fa}.element-item.selected{background-color:#e3f2fd;border-left:3px solid #4a90e2}.element-header{justify-content:space-between}.element-header,.element-info{align-items:center;display:flex}.element-info{gap:.375rem}.element-id{color:#4a90e2;font-size:.7rem;font-weight:700}.element-dimensions{color:#6c757d;font-size:.7rem;font-weight:500}.element-type{color:#6c757d;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.btn-delete{background:#dc3545;border:none;border-radius:.25rem;color:#fff;cursor:pointer;padding:.125rem;transition:all .2s ease}.btn-delete:hover{background:#c82333;transform:scale(1.05)}.element-properties{font-size:.875rem}.property-row{margin-bottom:.25rem}.property-label{color:#6c757d;font-weight:500}.property-value{color:#495057;font-weight:600}.element-properties-editor{border-top:1px solid #e9ecef;padding:.5rem}.editor-section-header,.form-grid{margin-bottom:.5rem}.form-grid{grid-gap:.375rem;display:grid;gap:.375rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column}.form-label{color:#6c757d;font-size:.7rem;font-weight:600;letter-spacing:.025em;margin-bottom:.125rem;text-transform:uppercase}.form-input-compact{border:1px solid #ced4da;border-radius:.25rem;font-size:.8rem;padding:.25rem .375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-input-compact:focus{border-color:#4a90e2;box-shadow:0 0 0 .1rem #4a90e240;outline:0}.form-select-compact{background:#fff;border:1px solid #ced4da;border-radius:.25rem;font-size:.8rem;padding:.25rem .375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-select-compact:focus{border-color:#4a90e2;box-shadow:0 0 0 .1rem #4a90e240;outline:0}.element-stats-compact{border-top:1px solid #f1f3f4;padding-top:.375rem}.stat-row{display:flex;font-size:.7rem;justify-content:space-between}.form-row{grid-gap:.2rem;display:grid;gap:.2rem;grid-template-columns:1fr 1fr}.form-input,.form-select{border:1px solid #e9ecef;border-radius:.25rem;box-sizing:border-box;font-size:.7rem;padding:.4rem;transition:border-color .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.element-stats{border-top:1px solid #f1f3f4;margin-top:1.5rem;padding-top:1rem}.stat-item{display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}.stat-label{color:#6c757d;font-weight:500}.stat-value{color:#495057;font-weight:600}.section-properties{background:#fff;border-radius:.75rem;box-shadow:0 4px 6px #0000001a;flex:1 1;overflow:hidden}.properties-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.calculating-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 2rem}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#4a90e2;height:2rem;width:2rem}.empty-properties{padding:3rem 2rem}.properties-content{max-height:calc(100vh - 300px);overflow-y:auto;padding:1rem}.property-section{margin-bottom:2rem}.section-title{border-bottom:2px solid #4a90e2;color:#2c3e50;font-size:1rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.property-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.property-item{align-items:center;background:#f8f9fa;border-radius:.5rem;display:flex;font-size:.875rem;justify-content:space-between;padding:.75rem 1rem}.property-name{color:#495057;font-weight:600}.property-value{color:#2c3e50;font-family:Courier New,monospace;font-weight:700;text-align:right}.property-value.highlight{background:#4a90e21a;border-radius:.25rem;color:#4a90e2;padding:.25rem .5rem}.modal-content{border-radius:.5rem;box-shadow:0 10px 25px #0003;max-height:80vh;max-width:500px;overflow-y:auto;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem;transition:border-color .15s ease-in-out;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a;outline:none}.saved-sections-list{border:1px solid #e5e7eb;border-radius:.375rem;max-height:300px;overflow-y:auto;padding:.5rem}.saved-section-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.75rem;transition:background-color .15s ease}.saved-section-item:hover{background-color:#f9fafb}.saved-section-item:last-child{border-bottom:none}.section-info{flex:1 1}.section-info h4{color:#111827;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.section-info p{line-height:1.4;margin:0}.section-actions{display:flex;gap:.5rem}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.btn-info{background-color:#0ea5e9;border:none;color:#fff}.btn-info:hover{background-color:#0284c7}.btn-info:disabled{background-color:#94a3b8;cursor:not-allowed}.btn-danger{background-color:#ef4444;border:none;color:#fff}.btn-danger:hover{background-color:#dc2626}@media (max-width:1400px){.section-sidebar{max-width:18rem;min-width:18rem;width:18rem}}@media (max-width:1200px){.section-sidebar{max-width:16rem;min-width:16rem;width:16rem}.section-builder-main{gap:.5rem;padding:.5rem}}@media (max-width:1000px){.section-sidebar{max-width:240px;min-width:200px;width:240px}}@media (max-width:768px){.section-builder-main{flex-direction:column;padding:.5rem}.section-sidebar{flex-direction:row;gap:1rem;max-width:none;min-width:auto;overflow-x:auto;width:100%}.element-editor,.section-properties{flex:1 1;min-width:240px}.header-actions{flex-wrap:wrap;gap:.5rem}.btn{font-size:.75rem;padding:.5rem 1rem}}.sb-layout{bottom:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;left:0;margin:0;padding:0;position:fixed;right:0;top:0}.sb-layout.section-builder{display:flex;flex-direction:column}.sb-main-content{box-sizing:border-box;display:flex;flex:1 1;gap:.5rem;min-height:0;overflow:hidden;padding:.5rem;width:100%}.sb-layout .section-canvas-container{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.sb-layout .section-sidebar{box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;gap:.375rem;max-width:600px;min-width:220px;overflow-y:auto;position:relative;width:280px}.sb-layout .sidebar-resizer{background:#0000;border-left:2px solid #0000;cursor:col-resize;height:100%;left:-3px;position:absolute;top:0;transition:border-color .2s ease;width:6px;z-index:10}.sb-layout .sidebar-resizer:hover{border-left:2px solid #145da0}.sb-layout .sidebar-resizer.resizing{background:#145da01a;border-left:2px solid #0c4a6e}.sb-layout .canvas-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.5rem 1rem}.sb-layout .section-canvas{background:#fafafa;cursor:grab;flex:1 1}.sb-layout .section-canvas:active{cursor:grabbing}@media (max-width:1200px){.sb-layout .section-sidebar{max-width:16rem;min-width:16rem;width:16rem}}@media (max-width:1000px){.sb-layout .section-sidebar{max-width:240px;min-width:200px;width:240px}}@media (max-width:768px){.sb-main-content{flex-direction:column;padding:.5rem}.sb-layout .section-sidebar{max-width:none;min-width:auto;width:100%}}@media print{.sb-layout .fixed{display:none!important}}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}.drafting-sketching-container{background:#f8f9fa;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100vh;overflow:hidden;width:100%}.drafting-main{display:flex;flex:1 1;overflow:hidden}.drafting-sidebar-compact{background:#1f2937;border-right:1px solid #374151;border-top:none;display:flex;flex-direction:column;height:calc(100vh - 55px);left:0;margin:0;outline:none;overflow:hidden;padding:0;position:fixed;top:55px;width:60px;z-index:100}.sidebar-icon-menu{gap:0;margin:0!important;padding:0!important}.sidebar-icon-button,.sidebar-icon-menu{display:flex;flex-direction:column;width:100%}.sidebar-icon-button{align-items:center;background:#0000!important;border:none;border-left:3px solid #0000;color:#fff;cursor:pointer;gap:.375rem;justify-content:center;margin:0;padding:.625rem .5rem;position:relative;text-align:center;transition:all .2s}.sidebar-icon-button .icon{color:#fff;font-size:1.25rem;opacity:.8;text-align:center;transition:transform .2s;width:24px}.sidebar-icon-button .icon-label{color:#d1d5db;font-size:.75rem;font-weight:500;line-height:1}.sidebar-icon-button:hover{background:#37415180!important}.sidebar-icon-button:hover .icon{opacity:1;transform:scale(1.15)}.sidebar-icon-button:hover .icon-label{color:#fff!important;font-weight:600}.sidebar-icon-button.active{background:#3b82f626!important}.sidebar-icon-button.active .icon{opacity:1;transform:scale(1.1)}.sidebar-icon-button:first-child{border-top:none;margin-top:0;outline:none}.sidebar-icon-button:after{background:#1f2937;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;content:attr(title);font-size:.875rem;margin-left:10px;padding:.5rem .75rem;white-space:nowrap}.sidebar-icon-button:after,.sidebar-icon-button:before{left:100%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s;z-index:1000}.sidebar-icon-button:before{border:6px solid #0000;border-right-color:#1f2937;content:"";margin-left:4px}.sidebar-icon-button:hover:after,.sidebar-icon-button:hover:before{opacity:1}.sidebar-markup-tools{background:#f9fafb;border-bottom:2px solid #e5e7eb;flex:1 1;overflow-y:auto;padding:.5rem 0}.markup-tools-header{background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.5rem .75rem;text-transform:uppercase}.markup-tools-list{display:flex;flex-direction:column;gap:0}.markup-tool-button{align-items:center;background:#0000;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:.75rem;padding:.625rem .75rem;text-align:left;transition:all .15s;width:100%}.markup-tool-button:hover{background:#fff}.markup-tool-button.active,.markup-tool-button:hover{border-left:3px solid #3b82f6;padding-left:calc(.75rem - 3px)}.markup-tool-button.active{background:#eff6ff;font-weight:600}.markup-tool-button .tool-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:24px}.markup-tool-button .tool-label{color:#374151;flex:1 1;font-size:.875rem}.markup-tool-button.active .tool-label{color:#1f2937}.sidebar-icon-menu{border-top:2px solid #e5e7eb}.drafting-sidebar-expanded{animation:slideInFromLeft .2s ease-out;background:#fff;border-right:1px solid #e5e7eb;border-top:none;box-shadow:2px 0 12px #00000014;display:flex;flex-direction:column;height:calc(100vh - 48px);left:60px;margin:0;max-width:600px;min-width:200px;overflow-y:auto;position:fixed;top:48px;z-index:99}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.sidebar-content{flex:1 1;overflow-y:auto;padding:1rem 0}.panel-title{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;padding:0 1rem .5rem;text-transform:uppercase}.sidebar-resize-handle{background-color:initial;bottom:0;cursor:ew-resize;position:absolute;right:0;top:0;transition:background-color .2s;width:4px;z-index:1000}.sidebar-resize-handle:hover{background-color:#3b82f6}.drafting-sidebar{display:none}.sidebar-section{border-bottom:1px solid #e5e7eb;padding:1rem}.sidebar-section h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem}.sidebar-section h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.tab-buttons{display:none}.tab-buttons button{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:.5rem;transition:all .2s}.tab-buttons button:hover{background:#e5e7eb}.tab-buttons button.active{background:#2563eb;border-color:#2563eb;color:#fff}.tools-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr}.tool-button{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;padding:.75rem .5rem;transition:all .2s}.tool-button:hover{background:#f3f4f6;border-color:#2563eb}.tool-button.active{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.tool-icon{font-size:1.5rem}.tool-name{color:#4b5563;font-size:.75rem;font-weight:500}.tools-section{display:flex;flex-direction:column;gap:1rem}.calibrate-button{background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .2s;width:100%}.calibrate-button:hover{background:#059669;transform:scale(1.02)}.scale-info{background:#d1fae5;border:1px solid #10b981;border-radius:.5rem;color:#065f46;font-size:.875rem;font-weight:500;padding:.75rem}.documents-section{display:flex;flex-direction:column;gap:1rem}.import-button{background:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;margin-bottom:.5rem;padding:.75rem;transition:all .2s;width:100%}.import-button:hover{background:#1d4ed8;transform:scale(1.02)}.create-new-button{background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-weight:600;margin-bottom:1rem;padding:.75rem;transition:all .2s;width:100%}.create-new-button:hover{background:#059669;transform:scale(1.02)}.documents-list{display:flex;flex-direction:column;gap:.5rem}.document-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.document-item:hover{background:#f3f4f6;border-color:#2563eb}.document-item.active{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.doc-icon{font-size:1.5rem}.doc-info{flex:1 1;min-width:0}.doc-name{align-items:center;color:#1f2937;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-badge{background:#10b981;border-radius:.25rem;color:#fff;display:inline-block;font-size:.625rem;font-weight:700;padding:.125rem .375rem;text-transform:uppercase}.doc-meta{color:#6b7280;font-size:.75rem;margin-top:.25rem}.empty-state{color:#9ca3af;font-size:.875rem;padding:2rem 1rem;text-align:center}.markups-list{display:flex;flex-direction:column;gap:.5rem}.markup-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;padding:.75rem;transition:all .2s}.markup-item:hover{background:#f3f4f6;border-color:#2563eb}.markup-item.active{background:#dbeafe;border-color:#2563eb}.markup-type{color:#1f2937;font-size:.875rem;font-weight:600;text-transform:capitalize}.markup-author,.markup-status{color:#6b7280;font-size:.75rem;margin-top:.25rem}.canvas-area{background:#e5e7eb;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.canvas-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;box-sizing:border-box;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem;position:relative;width:100%}.toolbar-group{display:flex;gap:.5rem}.toolbar-group button{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.toolbar-group button:hover{background:#f3f4f6;border-color:#2563eb}.tool-instruction{background:#dbeafe;border:1px solid #2563eb;border-radius:.375rem;color:#1e3a8a}.selection-info,.tool-instruction{font-size:.875rem;font-weight:500;padding:.5rem 1rem}.selection-info{background:#d1fae5;border:1px solid #10b981;border-radius:.375rem;color:#065f46}.canvas-wrapper{align-items:center;background:#e5e7eb;display:flex;flex:1 1;justify-content:center;overflow:hidden;position:relative}.drawing-canvas{height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:transform .2s ease-out;width:100%}.document-viewer{align-items:center;display:flex;justify-content:center;max-height:100%;max-width:100%;padding:2rem;position:relative}.markup-overlay{box-sizing:border-box;transition:border .2s,background-color .2s,opacity .2s,box-shadow .2s}.markup-overlay.drawing{opacity:.6}.empty-canvas{align-items:center;background:#f9fafb;display:flex;flex:1 1;justify-content:center}.empty-canvas-content{padding:3rem;text-align:center}.empty-canvas-content h2{color:#1f2937;font-size:1.5rem;margin:0 0 .5rem}.empty-canvas-content p{color:#6b7280;margin:0 0 1.5rem}.empty-canvas-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.import-button-large{background:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.import-button-large:hover{background:#1d4ed8;transform:scale(1.05)}.create-button-large{background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.create-button-large:hover{background:#059669;transform:scale(1.05)}.properties-panel{background:#fff;border-left:1px solid #e5e7eb;box-sizing:border-box;overflow-y:auto;padding:.5rem;width:100%}.properties-panel .property-group{grid-gap:6px;align-items:center;border-bottom:1px solid #f3f4f6;display:grid;gap:6px;grid-template-columns:minmax(60px,.4fr) 1fr;padding:4px 0}.properties-panel .property-group:last-child{border-bottom:none}.properties-panel .property-group>label{color:#6b7280;font-size:.75rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.properties-panel .property-group .property-value{color:#1f2937;font-size:.8rem;font-weight:500}.properties-panel .property-group input[type=number],.properties-panel .property-group input[type=text],.properties-panel .property-group select,.properties-panel .property-group textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;color:#1f2937;font-size:.8rem;padding:3px 6px;width:100%}.properties-panel .property-group input[type=number]:focus,.properties-panel .property-group input[type=text]:focus,.properties-panel .property-group select:focus,.properties-panel .property-group textarea:focus{background:#fff;border-color:#3b82f6;outline:none}.properties-panel .property-group input[type=range]{width:100%}.properties-panel .property-group input[type=color]{border:1px solid #d1d5db;border-radius:4px;cursor:pointer;height:28px;padding:1px;width:100%}.properties-panel .property-group-full{grid-column:1/-1}.color-swatch-trigger{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;box-sizing:border-box;color:#1f2937;cursor:pointer;display:flex;font-size:.8rem;gap:6px;padding:3px 6px;position:relative;width:100%}.color-swatch-trigger:hover{background:#fff;border-color:#3b82f6}.color-swatch-trigger .color-preview{border:1px solid #d1d5db;border-radius:3px;flex-shrink:0;height:18px;width:18px}.color-dropdown-wrapper{position:relative}.color-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 8px 24px #00000026;left:0;margin-top:2px;min-width:160px;padding:8px;position:absolute;right:0;top:100%;z-index:100}.color-dropdown .color-palette-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(5,1fr)}.color-dropdown .color-palette-swatch{aspect-ratio:1;border:2px solid #0000;border-radius:4px;cursor:pointer;transition:transform .1s,box-shadow .1s}.color-dropdown .color-palette-swatch:hover{box-shadow:0 2px 8px #0003;transform:scale(1.15)}.color-dropdown .color-palette-swatch.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #fff,0 0 6px #3b82f680}.properties-panel .arrange-btn-row{display:flex;gap:4px}.properties-panel .arrange-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:.7rem;font-weight:500;padding:4px 6px;transition:background .15s;white-space:nowrap}.markup-tools-panel-right{background:#f9fafb;border-left:1px solid #e5e7eb;box-shadow:-2px 0 8px #0000000d;max-width:600px;min-width:250px;overflow-y:auto;padding:1rem;position:relative}.markup-tools-panel-right h3{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.markup-tools-grid-right{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.markup-tool-btn-right{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-height:80px;padding:.875rem .5rem;transition:all .2s}.markup-tool-btn-right:hover{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.markup-tool-btn-right.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.markup-tool-btn-right .tool-icon-large{font-size:1.75rem;line-height:1}.markup-tool-btn-right .tool-name-small{font-size:.75rem;font-weight:500;line-height:1.2;text-align:center}.markup-tool-btn-right.active .tool-name-small{color:#fff;font-weight:600}.drafting-sidebar-right{background:#f9fafb;border-left:1px solid #e5e7eb;box-shadow:-2px 0 8px #0000000d;display:flex;flex-direction:column;overflow-y:auto;width:200px}.markup-tools-header{background:#fff;border-bottom:2px solid #e5e7eb;padding:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.markup-tools-header h3{align-items:center;color:#1f2937;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.markup-tools-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);padding:.75rem}.markup-tool-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;min-height:80px;padding:.875rem .5rem;transition:all .2s}.markup-tool-btn:hover{background:#eff6ff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.markup-tool-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f64d;color:#fff}.markup-tool-btn .tool-icon-large{font-size:1.75rem;line-height:1}.markup-tool-btn .tool-name-small{font-size:.75rem;font-weight:500;line-height:1.2;text-align:center}.markup-tool-btn.active .tool-name-small{color:#fff;font-weight:600}.properties-section{border-bottom:1px solid #e5e7eb;padding:1rem 0}.properties-section:last-child{border-bottom:none}.property-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem 0}.property-row label{color:#6b7280;font-weight:500}.property-row span{color:#1f2937;font-weight:600}.property-row input,.property-row select{border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;padding:.375rem .5rem;width:60%}.action-button{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:.5rem;padding:.75rem;transition:all .2s;width:100%}.action-button:hover{background:#f3f4f6;border-color:#2563eb}.collaborators-list{margin-top:.75rem}.collaborator{align-items:center;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem}.collaborator-status{background:#9ca3af;border-radius:50%;height:8px;width:8px}.collaborator-status.online{background:#10b981}.feature-info{background:#fff;border:2px solid #2563eb;border-radius:1rem;bottom:1rem;box-shadow:0 10px 25px #0003;max-width:800px;padding:1.5rem;position:fixed;right:1rem;z-index:1000}.feature-info h2{color:#1f2937;font-size:1.25rem;margin:0 0 1rem}.features-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.feature-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.feature-card h3{color:#1f2937;font-size:1rem;margin:0 0 .5rem}.feature-card ul{color:#4b5563;font-size:.875rem;margin:0;padding-left:1.25rem}.feature-card ul li{margin-bottom:.25rem}.feature-note{background:#dbeafe;border:1px solid #2563eb;border-radius:.5rem;color:#1e3a8a;font-size:.875rem;line-height:1.5;margin:0;padding:1rem}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:70vh;max-width:240px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 1rem}.modal-header h2{color:#1f2937;font-size:1.125rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{overflow-y:auto;padding:.75rem 1rem}.modal-footer{border-top:1px solid #e5e7eb;display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}.form-group{margin-bottom:.65rem}.form-group label{color:#374151;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.35rem}.form-group input[type=number],.form-group input[type=text],.form-group select{background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;padding:.5rem .625rem;transition:all .2s;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23374151' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.custom-dimensions{align-items:center;display:flex;gap:.75rem}.custom-dimensions input{flex:1 1;padding:.625rem .75rem}.custom-dimensions span{color:#6b7280;font-size:1.125rem;font-weight:500}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-primary:disabled:hover{background:#3b82f6;box-shadow:none;transform:none}.layers-section{gap:.75rem}.layers-list,.layers-section{display:flex;flex-direction:column}.layers-list{gap:.5rem;max-height:400px;overflow-y:auto}.layer-item{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;transition:all .2s}.layer-item:hover{background:#f9fafb;border-color:#2563eb}.layer-item.active{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.layer-item.hidden{opacity:.5}.layer-controls{display:flex;gap:.25rem}.layer-delete-btn,.layer-lock-btn,.layer-visibility-btn{background:#0000;border:none;cursor:pointer;font-size:1rem;padding:.25rem;transition:transform .2s}.layer-delete-btn:hover,.layer-lock-btn:hover,.layer-visibility-btn:hover{transform:scale(1.2)}.layer-info{align-items:center;display:flex;flex:1 1;gap:.5rem}.layer-name{color:#1f2937;font-size:.875rem;font-weight:500}.layer-color{border:1px solid #d1d5db;border-radius:4px;height:20px;width:20px}.layer-opacity{width:60px}.layer-opacity input[type=range]{cursor:pointer;width:100%}.layer-stats{border-top:1px solid #e5e7eb;color:#6b7280;padding:.5rem;text-align:center}.pages-section{display:flex;flex-direction:column;gap:.75rem}.pages-toolbar{align-items:center;display:flex;gap:.5rem}.view-toggle-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:1.2rem;padding:.5rem;transition:all .2s}.view-toggle-btn:hover{background:#e5e7eb}.overlay-button{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .2s;width:100%}.overlay-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.pages-list{display:flex;flex-direction:column;gap:.5rem;max-height:500px;overflow-y:auto}.pages-list.grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.page-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;overflow:hidden;transition:all .2s}.page-item:hover{border-color:#2563eb;box-shadow:0 2px 8px #0000001a}.page-item.active{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.page-item.selected-for-copy{animation:selectPulse 1.5s ease-in-out infinite;background:#fef3c7;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}@keyframes selectPulse{0%,to{box-shadow:0 0 0 3px #f59e0b33}50%{box-shadow:0 0 0 6px #f59e0b4d}}.pages-list.grid .page-item{display:flex;flex-direction:column}.pages-list.list .page-item{align-items:center;display:flex;gap:.75rem;padding:.75rem}.page-thumbnail{align-items:center;aspect-ratio:1/1.414;background:#f3f4f6;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}.page-thumbnail img{height:100%;object-fit:contain;width:100%}.page-number-badge{background:#3b82f6e6;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;position:absolute;right:8px;top:8px}.page-info{flex:1 1;padding:.5rem}.page-name{color:#1f2937;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.page-meta{color:#6b7280;font-size:.75rem}.page-actions{border-top:1px solid #e5e7eb;display:flex;gap:.25rem;justify-content:space-around;padding:.5rem}.pages-list.grid .page-actions{flex-direction:row}.pages-list.list .page-actions{border-left:1px solid #e5e7eb;border-top:none;flex-direction:column;padding:0 .5rem}.page-actions button{background:#0000;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;transition:transform .2s}.page-actions button:hover{transform:scale(1.3)}.page-stats{border-top:1px solid #e5e7eb;color:#6b7280;padding:.5rem;text-align:center}.overlay-page-option{transition:all .2s}.overlay-page-option:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.overlay-page-option.selected{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #2563eb66}50%{box-shadow:0 0 0 10px #2563eb00}}@media (max-width:1024px){.drafting-sidebar-expanded{width:240px}.features-grid{grid-template-columns:1fr}}@media (max-width:768px){.drafting-main{flex-direction:column}.drafting-sidebar-compact{height:50px;padding:0}.drafting-sidebar-compact,.sidebar-icon-menu{flex-direction:row;justify-content:space-around;width:100%}.sidebar-icon-button{border-left:none;border-top:3px solid #0000;padding:.5rem}.sidebar-icon-button.active{border-left:none;border-top-color:#3b82f6}.sidebar-icon-button:after,.sidebar-icon-button:before{display:none}.drafting-sidebar-expanded{animation:slideInFromTop .2s ease-out;max-height:40vh;width:100%}@keyframes slideInFromTop{0%{max-height:0;opacity:0}to{max-height:40vh;opacity:1}}.feature-info{display:none}.modal-content{max-height:70vh;max-width:240px;width:95%}}.cad-drafting{background-color:#f5f5f5;color:#2c3e50;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:100vh}.cad-header{background:linear-gradient(135deg,#1e2a3a,#263545);border-bottom:2px solid #5a7e9e;box-shadow:0 2px 10px #0000004d;justify-content:space-between;padding:.75rem 1rem}.cad-header,.cad-header-left{align-items:center;display:flex}.cad-header-left{gap:1rem}.cad-header-right{align-items:center;display:flex;gap:.5rem}.cad-last-saved{color:#a8b2c1;font-size:.75rem;font-style:italic;margin-right:.5rem}.cad-back-button{background:#0000;border:1px solid #5a7e9e;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.cad-back-button:hover{background-color:#4a6e8e;border-color:#7a9ab8}.cad-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8ab4d4,#5a8aae);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin:0}.cad-button{background:linear-gradient(135deg,#2a3d50,#344a5e);border:1px solid #5a7e9e;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.cad-button:hover:not(:disabled){background:linear-gradient(135deg,#344a5e,#2a3d50);border-color:#7a9ab8;box-shadow:0 4px 12px #5a7e9e4d;transform:translateY(-1px)}.cad-button:disabled{cursor:not-allowed;opacity:.5}.cad-button-primary{background:linear-gradient(135deg,#4a7ea0,#3a6a8a);border-color:#5a8aae}.cad-button-primary:hover:not(:disabled){background:linear-gradient(135deg,#3a6a8a,#2e5a78);border-color:#7a9ab8}.cad-main{display:flex;flex:1 1;overflow:hidden}.cad-sidebar{background-color:#1e2a3a;overflow:hidden}.cad-sidebar-left{border-right:1px solid #4a6a84;display:flex;flex-direction:row;width:280px}.cad-sidebar-right{border-left:1px solid #4a6a84;border-right:none;overflow-y:auto;padding:1rem;width:300px}.cad-sidebar-tabs{background-color:#161f2b;border-right:1px solid #4a6a84;display:flex;flex-direction:column;flex-shrink:0;overflow-x:hidden;overflow-y:auto;padding:4px 0;width:44px}.cad-sidebar-tab{align-items:center;background-color:initial;border:none;border-left:3px solid #0000;color:#5a7e9e;cursor:pointer;display:flex;flex-direction:column;gap:1px;justify-content:center;padding:.5rem 0;position:relative;transition:background-color .15s,color .15s;width:100%}.cad-sidebar-tab:hover{background-color:#1e2a3a;color:#b0d0ee}.cad-sidebar-tab.active{background-color:#232f3e;border-left-color:#5a8aae;color:#fff}.cad-sidebar-tab-icon{font-size:1.1rem;line-height:1}.cad-sidebar-tab-label{font-size:.55rem;font-weight:600;letter-spacing:.3px;line-height:1.1;text-transform:uppercase}.cad-sidebar-content{background-color:#232f3e;flex:1 1;min-width:0;overflow-y:auto;padding:.6rem}.cad-sidebar-section-title{border-bottom:1px solid #3a5468;color:#8ab4d4;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-bottom:.4rem;padding:.15rem 0 .4rem;text-transform:uppercase}.cad-panel{background-color:#232f3e;border:1px solid #4a6a84;border-radius:8px;margin-bottom:1rem;padding:1rem}.cad-panel-title{color:#8ab4d4;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.cad-view-buttons{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.cad-view-buttons button{background-color:#2a3d50;border:1px solid #5a7e9e;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem;transition:all .2s}.cad-view-buttons button:hover{background-color:#344a5e;border-color:#7a9ab8}.cad-view-buttons button.active{background:linear-gradient(135deg,#4a7ea0,#3a6a8a);border-color:#5a8aae}.cad-checkbox-group{display:flex;flex-direction:column;gap:.5rem}.cad-checkbox-group label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.cad-checkbox-group input[type=checkbox]{cursor:pointer;height:16px;width:16px}.cad-color-picker{align-items:center;display:flex;gap:.5rem;margin-top:.75rem}.cad-color-picker label{font-size:.875rem}.cad-color-picker input[type=color]{background-color:initial;border:1px solid #5a7e9e;border-radius:4px;cursor:pointer;height:30px;width:50px}.cad-viewport-wrapper{display:flex;flex:1 1;flex-direction:column;overflow:hidden;position:relative}.cad-space-tabs{background:#161f2b;border-bottom:1px solid #4a6a84;display:flex;flex-shrink:0;height:30px}.cad-space-tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#6a8aaa;cursor:pointer;flex:0 0 auto;font-size:.72rem;font-weight:600;padding:0 18px;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.cad-space-tab:hover{background:#5a8aae14;color:#aac8e0}.cad-space-tab.active{background:#5a8aae26;border-bottom-color:#5a8aae;color:#fff}.cad-viewport{background-color:#f0f0f0;flex:1 1;overflow:hidden;position:relative}.cad-viewport-paper{background-color:#b0b0b0}.cad-canvas-container{height:100%;pointer-events:auto;position:relative;width:100%}.cad-canvas-container canvas{display:block;pointer-events:auto;touch-action:none}.cad-loading-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.cad-loading-spinner{animation:spin 1s linear infinite;border:4px solid #5a7e9e40;border-radius:50%;border-top-color:#7a9ab8;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.cad-loading-text{color:#fff;font-size:.9rem;margin-top:1rem}.cad-error-message{align-items:center;background-color:#e74c3c;border-radius:6px;box-shadow:0 4px 12px #e74c3c4d;color:#fff;display:flex;gap:.5rem;left:50%;max-width:80%;padding:.75rem 1rem;position:absolute;top:1rem;transform:translateX(-50%);z-index:1001}.cad-error-message button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:1.5rem;margin-left:.5rem;padding:0}.cad-empty-state{color:#fff;left:50%;max-width:500px;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.cad-empty-icon{font-size:4rem;margin-bottom:1rem}.cad-empty-state h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8ab4d4,#5a8aae);-webkit-background-clip:text;background-clip:text;font-size:1.75rem;margin-bottom:.5rem}.cad-empty-state p{color:#a0aec0;margin-bottom:1.5rem}.cad-empty-buttons{display:flex;gap:1rem;justify-content:center;pointer-events:auto}.cad-properties{display:flex;flex-direction:column;gap:1rem}.cad-property-group{background-color:#1a2636;border:1px solid #4a6a84;border-radius:6px;padding:.75rem}.cad-property-group h4{color:#8ab4d4;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.cad-property{border-bottom:1px solid #2a3a4a;display:flex;font-size:.8rem;justify-content:space-between;padding:.375rem 0}.cad-property:last-child{border-bottom:none}.cad-property span:first-child{color:#a0aec0}.cad-property span:last-child{color:#fff;font-family:Courier New,monospace;font-weight:500}.cad-properties-empty{color:#a0aec0;font-size:.875rem;padding:2rem 1rem;text-align:center}.cad-style-color-input{background:none;border:1px solid #4a5568;border-radius:3px;cursor:pointer;height:24px;padding:0;width:36px}.cad-style-range{accent-color:#4299e1;cursor:pointer;flex:1 1;height:4px;min-width:60px}.cad-style-value{color:#a0aec0;font-size:.75rem;min-width:32px;text-align:right}.cad-style-select{background:#2d3748;border:1px solid #4a5568;border-radius:3px;color:#e2e8f0;flex:1 1;font-size:.8rem;padding:2px 4px}.cad-style-presets{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cad-style-swatch{border:2px solid #4a5568;border-radius:3px;cursor:pointer;height:22px;padding:0;transition:border-color .15s;width:22px}.cad-style-swatch:hover{border-color:#a0aec0}.cad-style-swatch.active{border-color:#4299e1;box-shadow:0 0 0 1px #4299e1}.cad-modal-overlay{align-items:center;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.cad-modal{background-color:#232f3e;border:1px solid #5a7e9e;border-radius:12px;box-shadow:0 10px 40px #00000080;max-width:500px;padding:2rem;width:90%}.cad-modal h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#8ab4d4,#5a8aae);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;margin:0 0 1.5rem}.cad-form-group{margin-bottom:1rem}.cad-form-group label{color:#a0aec0;display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.cad-form-group input,.cad-form-group select,.cad-form-group textarea{background-color:#1a2636;border:1px solid #4a6a84;border-radius:6px;color:#fff;font-size:.9rem;padding:.625rem;width:100%}.cad-form-group input:focus,.cad-form-group select:focus,.cad-form-group textarea:focus{border-color:#7a9ab8;box-shadow:0 0 0 3px #5a7e9e33;outline:none}.cad-modal-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.cad-modal-buttons button{flex:1 1}@media (max-width:1024px){.cad-sidebar-left,.cad-sidebar-right{box-shadow:0 0 20px #00000080;height:calc(100vh - 60px);position:absolute;z-index:100}.cad-sidebar-left{left:-280px;transition:left .3s}.cad-sidebar-right{right:-300px;transition:right .3s}}.cad-sidebar-content::-webkit-scrollbar,.cad-sidebar-tabs::-webkit-scrollbar,.cad-sidebar::-webkit-scrollbar{width:8px}.cad-sidebar-content::-webkit-scrollbar-track,.cad-sidebar-tabs::-webkit-scrollbar-track,.cad-sidebar::-webkit-scrollbar-track{background:#1a2636}.cad-sidebar-content::-webkit-scrollbar-thumb,.cad-sidebar-tabs::-webkit-scrollbar-thumb,.cad-sidebar::-webkit-scrollbar-thumb{background:#5a7e9e;border-radius:4px}.cad-sidebar-content::-webkit-scrollbar-thumb:hover,.cad-sidebar-tabs::-webkit-scrollbar-thumb:hover,.cad-sidebar::-webkit-scrollbar-thumb:hover{background:#7a9ab8}.cad-help-text{color:#b0c4de;font-size:.85rem;line-height:1.5}.cad-help-text p{margin:.5rem 0}.cad-help-text ul{list-style:none;margin:.5rem 0;padding-left:1.2rem}.cad-help-text li{margin:.4rem 0;padding-left:.3rem}.cad-help-text strong{color:#8ab4d4}.cad-info-box{background:#5a7e9e26;border-left:3px solid #7a9ab8;border-radius:4px;font-size:.8rem;margin-top:1rem;padding:.75rem}.cad-info-box p{margin:.3rem 0}.cad-tool-buttons{display:flex;flex-direction:column;gap:.2rem}.cad-tool-buttons button{background-color:#2a3d50;border:1px solid #4a6a84;border-radius:4px;color:#d0dde8;cursor:pointer;font-size:.78rem;overflow:hidden;padding:.4rem .5rem;text-align:left;text-overflow:ellipsis;transition:all .12s;white-space:nowrap;width:100%}.cad-tool-buttons button:hover{background-color:#344a5e;border-color:#7a9ab8;color:#fff}.cad-tool-buttons button.active{background:linear-gradient(135deg,#4a7ea0,#3a6a8a);border-color:#5a8aae;box-shadow:0 0 8px #5a7e9e59;color:#fff}.cad-mode-indicator{align-items:center;background:#5a7e9e26;border:2px solid #5a8aae;border-radius:4px;color:#7a9ab8;display:flex;font-size:.8rem;justify-content:space-between;margin-top:.75rem;padding:.75rem}.cad-mode-indicator small{color:#8ab0cc;display:block;font-size:.75rem;margin-top:.25rem}.cad-selection-indicator{align-items:center;background:#00ff0026;border:2px solid #0c0;border-radius:4px;color:#0a0;display:flex;font-size:.8rem;justify-content:space-between;margin-top:.75rem;padding:.75rem}.cad-selection-indicator small{color:#0a0;display:block;font-size:.75rem;margin-top:.25rem}.cad-clear-mode{background:#0000;border:none;color:#2c3e50;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .3rem}.cad-clear-mode:hover{color:#ff6b6b}.cad-section-preview{background-color:#1a2636;border:1px solid #4a6a84;border-radius:6px;margin-top:1rem;padding:1rem}.cad-section-preview h4{color:#8ab4d4;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.cad-modal-wide{max-width:600px}.cad-snap-section{border-bottom:1px solid #ffffff0f;margin-bottom:.75rem;padding-bottom:.5rem}.cad-snap-section:last-child{border-bottom:none;margin-bottom:0}.cad-snap-header{color:#8ab4d4;font-size:.75rem;font-weight:600;letter-spacing:.4px;margin-bottom:.4rem;text-transform:uppercase}.cad-snap-toggles{grid-gap:.15rem .5rem;display:grid;gap:.15rem .5rem;grid-template-columns:1fr 1fr}.cad-snap-toggles label{align-items:center;color:#b0c4d4;cursor:pointer;display:flex;font-size:.75rem;gap:.3rem;padding:.1rem 0}.cad-snap-toggles label:hover{color:#d0e0ee}.cad-snap-toggles input[type=checkbox]{accent-color:#4a7ea0;height:13px;margin:0;width:13px}.cad-snap-params{display:flex;flex-direction:column;gap:.3rem;margin-top:.4rem}.cad-snap-params label{align-items:center;color:#b0c4d4;display:flex;font-size:.75rem;gap:.4rem;justify-content:space-between}.cad-snap-params input[type=number]{background:#1a2a38;border:1px solid #3a5a70;border-radius:3px;color:#e0e8f0;font-size:.75rem;padding:.2rem .3rem;text-align:right;width:55px}.cad-snap-params input[type=number]:focus{border-color:#5a8ab0;outline:none}.cad-coord-input{display:flex;gap:.3rem;margin-top:.3rem}.cad-coord-field{background:#1a2a38;border:1px solid #3a5a70;border-radius:3px;color:#e0e8f0;flex:1 1;font-family:Consolas,Monaco,monospace;font-size:.8rem;padding:.35rem .5rem}.cad-coord-field:focus{border-color:#5a8ab0;box-shadow:0 0 4px #5a8ab04d;outline:none}.cad-coord-field::placeholder{color:#5a7a8a;font-size:.7rem}.cad-button-small{font-size:.8rem;min-width:auto;padding:.25rem .5rem}.cad-coord-help{line-height:1.4;margin-top:.25rem}.cad-coord-help small{color:#6a8a9a;font-size:.65rem}.cad-coord-help code{background:#0003;border-radius:2px;color:#8ab4d4;font-family:Consolas,Monaco,monospace;font-size:.65rem;padding:.1rem .2rem}.cad-snap-label{background:#00ff6426;border-radius:3px;color:#0f8;display:inline-block;font-size:.7rem;font-weight:600;margin-left:.5rem;padding:.15rem .4rem}.cad-measure-result-panel{background:#001423eb;border:1px solid #00e0ff;border-radius:6px;box-shadow:0 2px 12px #00e0ff26;margin-top:.5rem;overflow:hidden}.cad-measure-result-panel.cad-measure-error{border-color:#ff6b6b;box-shadow:0 2px 12px #ff6b6b26}.cad-measure-result-header{align-items:center;background:#00e0ff1a;border-bottom:1px solid #00e0ff33;color:#00e0ff;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:.35rem .6rem}.cad-measure-error .cad-measure-result-header{background:#ff6b6b1a;border-bottom-color:#ff6b6b33;color:#ff6b6b}.cad-measure-result-body{padding:.4rem .6rem}.cad-measure-row{align-items:center;color:#b0c4d4;display:flex;font-size:.78rem;justify-content:space-between;padding:.15rem 0}.cad-measure-row strong{color:#e0f0ff;font-family:Consolas,Monaco,monospace}.cad-measure-row span:last-child{color:#c0d8e8;font-family:Consolas,Monaco,monospace}.cad-measure-scale-modal{background:#001423f2;border:1px solid #5a8ab0;border-radius:6px;box-shadow:0 4px 16px #0006;margin-top:.5rem;padding:.75rem}.cad-measure-scale-modal h4{color:#00e0ff;font-size:.85rem;margin:0 0 .5rem}.cad-measure-scale-modal p{color:#b0c4d4;font-size:.78rem;margin:.25rem 0}.cad-measure-scale-modal label{color:#b0c4d4;display:block;font-size:.78rem;margin-top:.4rem}.cad-measure-scale-input{background:#1a2a38;border:1px solid #3a5a70;border-radius:3px;box-sizing:border-box;color:#e0e8f0;font-family:Consolas,Monaco,monospace;font-size:.8rem;margin-top:.25rem;padding:.35rem .5rem;width:100%}.cad-measure-scale-input:focus{border-color:#00e0ff;box-shadow:0 0 4px #00e0ff4d;outline:none}.cad-sidebar-section-title{align-items:center;display:flex;justify-content:space-between}.cad-layer-add-btn{align-items:center;background:none;border:1px solid #4a6a84;border-radius:4px;color:#8ab4d4;cursor:pointer;display:flex;font-size:.85rem;height:22px;justify-content:center;line-height:1;width:22px}.cad-layer-add-btn:hover{background:#344a5e;color:#fff}.cad-layer-active-row{align-items:center;display:flex;gap:.4rem;margin-bottom:.4rem}.cad-layer-active-label{color:#8ab4d4;font-size:.7rem;white-space:nowrap}.cad-layer-select{background:#1a2a38;border:1px solid #3a5a70;border-radius:4px;color:#e0e8f0;flex:1 1;font-size:.75rem;padding:3px 4px}.cad-layer-select:focus{border-color:#5a8aae;outline:none}.cad-layer-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.cad-layer-row{background:#1a2a38;border:1px solid #0000;border-radius:4px;padding:4px 6px;transition:background .15s}.cad-layer-row:hover{background:#243548}.cad-layer-row.active{background:#1e3348;border-color:#5a8aae}.cad-layer-row-top{align-items:center;display:flex;gap:5px}.cad-layer-color-swatch{background:none;border:1px solid #5a7e9e;border-radius:3px;cursor:pointer;flex-shrink:0;height:18px;padding:0;width:18px}.cad-layer-color-swatch::-webkit-color-swatch-wrapper{padding:1px}.cad-layer-color-swatch::-webkit-color-swatch{border:none;border-radius:2px}.cad-layer-name{cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-layer-name,.cad-layer-name-input{color:#e0e8f0;flex:1 1;font-size:.75rem}.cad-layer-name-input{background:#0d1a26;border:1px solid #5a8aae;border-radius:3px;outline:none;padding:1px 4px}.cad-layer-count{color:#5a7e9e;font-size:.6rem;min-width:16px;text-align:right}.cad-layer-row-controls{display:flex;gap:2px;margin-top:3px}.cad-layer-toggle{background:none;border:1px solid #0000;border-radius:3px;cursor:pointer;font-size:.7rem;opacity:.5;padding:1px 3px;transition:opacity .15s}.cad-layer-toggle:hover{background:#344a5e;opacity:1}.cad-layer-toggle.on{opacity:1}.cad-layer-toggle.delete{margin-left:auto;opacity:.4}.cad-layer-toggle.delete:hover{background:#5a2030;opacity:1}.cad-layer-obj-props{display:flex;flex-direction:column;gap:6px}.cad-layer-prop-row{display:flex;flex-direction:column;gap:2px}.cad-layer-prop-row>label{color:#8ab4d4;font-size:.65rem;letter-spacing:.3px;text-transform:uppercase}.cad-layer-bylayer-btn{background:#1a2a38;border:1px solid #3a5a70;border-radius:3px;color:#8ab4d4;cursor:pointer;font-size:.65rem;padding:1px 6px}.cad-layer-bylayer-btn:hover{background:#344a5e;color:#fff}.cad-layer-slider{accent-color:#5a8aae;flex:1 1;height:4px}.cad-layer-slider-val{color:#8ab4d4;font-size:.7rem;min-width:28px;text-align:right}.cad-linetype-editor{display:flex;flex-direction:column;gap:3px}.cad-linetype-row{align-items:center;border-radius:3px;display:flex;gap:6px;padding:2px 4px}.cad-linetype-row:hover{background:#243548}.cad-linetype-name{color:#e0e8f0;font-size:.7rem;min-width:70px;white-space:nowrap}.cad-linetype-preview{flex:1 1;height:10px}.cad-block-cat-tabs{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.cad-block-cat-tab{background:#1a2a38;border:1px solid #4a6a84;border-radius:3px;color:#8ab4d4;cursor:pointer;font-size:.65rem;padding:2px 7px;text-transform:capitalize;transition:background .15s,color .15s}.cad-block-cat-tab:hover{background:#243548}.cad-block-cat-tab.active{background:#5a8aae;border-color:#5a8aae;color:#fff}.cad-block-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(2,1fr);margin-bottom:8px}.cad-block-card{align-items:center;background:#1a2a38;border:1px solid #4a6a84;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:6px 4px;transition:background .15s,border-color .15s}.cad-block-card:hover{background:#243548;border-color:#5a8aae}.cad-block-card-icon{font-size:1.4rem;line-height:1}.cad-block-card-label{color:#8ab4d4;font-size:.6rem;line-height:1.2;text-align:center}.cad-block-props{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.cad-block-prop-row{align-items:center;display:flex;gap:6px}.cad-block-prop-row label{color:#8ab4d4;font-size:.65rem;min-width:60px;text-transform:capitalize}.cad-block-prop-input{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;color:#e0e8f0;flex:1 1;font-size:.65rem;padding:2px 5px}.cad-block-prop-input:focus{border-color:#5a8aae;outline:none}.cad-block-create-btn{background:#3a6a3a;border:1px solid #4a8a4a;border-radius:4px;color:#d0f0d0;cursor:pointer;font-size:.7rem;margin-top:4px;padding:5px 0;width:100%}.cad-block-create-btn:hover{background:#4a8a4a}.cad-block-modal{background:#1a2a38;border:1px solid #4a6a84;border-radius:8px;box-shadow:0 8px 24px #00000080;left:50%;min-width:260px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:200}.cad-block-modal-header{align-items:center;border-bottom:1px solid #4a6a84;color:#e0e8f0;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:8px 12px}.cad-block-modal-header button{background:none;border:none;color:#8ab4d4;cursor:pointer;font-size:1rem}.cad-block-modal-body{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding:10px 12px}.cad-block-modal-footer{border-top:1px solid #4a6a84;display:flex;gap:6px;justify-content:flex-end;padding:8px 12px}.cad-block-modal-footer button{border:1px solid #4a6a84;border-radius:4px;cursor:pointer;font-size:.7rem;padding:4px 14px}.cad-block-modal-footer button:first-child{background:#232f3e;color:#8ab4d4}.cad-block-modal-footer button:last-child{background:#5a8aae;border-color:#5a8aae;color:#fff}.cad-hatch-cat-tabs{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px}.cad-hatch-cat-tab{background:#1a2a38;border:1px solid #4a6a84;border-radius:3px;color:#8ab4d4;cursor:pointer;font-size:.65rem;padding:2px 7px;text-transform:capitalize;transition:background .15s,color .15s}.cad-hatch-cat-tab:hover{background:#243548}.cad-hatch-cat-tab.active{background:#5a8aae;border-color:#5a8aae;color:#fff}.cad-hatch-grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(2,1fr);margin-bottom:8px}.cad-hatch-card{align-items:center;background:#1a2a38;border:1px solid #4a6a84;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:6px 4px;transition:background .15s,border-color .15s}.cad-hatch-card.active,.cad-hatch-card:hover{background:#243548;border-color:#5a8aae}.cad-hatch-card-icon{font-size:1.4rem;line-height:1}.cad-hatch-card-label{color:#8ab4d4;font-size:.6rem;line-height:1.2;text-align:center}.cad-hatch-custom,.cad-hatch-props{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.cad-hatch-prop-row{align-items:center;display:flex;gap:6px}.cad-hatch-prop-row label{color:#8ab4d4;font-size:.65rem;min-width:60px;text-transform:capitalize}.cad-hatch-prop-input,.cad-hatch-prop-row span{color:#e0e8f0;font-size:.65rem}.cad-hatch-prop-input{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;flex:1 1;padding:2px 5px}.cad-hatch-prop-input:focus{border-color:#5a8aae;outline:none}.cad-hatch-color-input{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;cursor:pointer;height:22px;padding:0;width:32px}.cad-hatch-create-btn{background:#3a5a6a;border:1px solid #4a7a8a;border-radius:4px;color:#d0e8f0;cursor:pointer;font-size:.7rem;margin-top:4px;padding:5px 0;width:100%}.cad-hatch-create-btn:hover{background:#4a7a8a}.cad-hatch-modal{background:#1a2a38;border:1px solid #4a6a84;border-radius:8px;box-shadow:0 8px 24px #00000080;left:50%;min-width:260px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:200}.cad-hatch-modal-header{align-items:center;border-bottom:1px solid #4a6a84;color:#e0e8f0;display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:8px 12px}.cad-hatch-modal-header button{background:none;border:none;color:#8ab4d4;cursor:pointer;font-size:1rem}.cad-hatch-modal-body{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto;padding:10px 12px}.cad-hatch-modal-footer{border-top:1px solid #4a6a84;display:flex;gap:6px;justify-content:flex-end;padding:8px 12px}.cad-hatch-modal-footer button{border:1px solid #4a6a84;border-radius:4px;cursor:pointer;font-size:.7rem;padding:4px 14px}.cad-hatch-modal-footer button:first-child{background:#5a8aae;border-color:#5a8aae;color:#fff}.cad-hatch-modal-footer button:last-child{background:#232f3e;color:#8ab4d4}.cad-sheet-section{margin-bottom:10px}.cad-sheet-section-title{border-bottom:1px solid #3a4a5a;color:#5a8aae;font-size:.65rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;padding-bottom:2px;text-transform:uppercase}.cad-sheet-row{align-items:center;display:flex;gap:6px;margin-bottom:4px}.cad-sheet-row label{color:#8ab4d4;flex-shrink:0;font-size:.65rem;min-width:54px}.cad-sheet-select{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;color:#e0e8f0;flex:1 1;font-size:.65rem;padding:2px 4px}.cad-sheet-select:focus{border-color:#5a8aae;outline:none}.cad-sheet-input{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;color:#e0e8f0;flex:1 1;font-size:.65rem;padding:2px 5px}.cad-sheet-input:focus{border-color:#5a8aae;outline:none}.cad-sheet-btn{background:#1a2a38;border:1px solid #4a6a84;border-radius:4px;color:#8ab4d4;cursor:pointer;font-size:.68rem;margin-top:2px;padding:5px 0;transition:background .15s;width:100%}.cad-sheet-btn:hover{background:#243548;border-color:#5a8aae}.cad-sheet-btn.primary{background:#3a6a3a;border-color:#4a8a4a;color:#d0f0d0}.cad-sheet-btn.primary:hover{background:#4a8a4a}.cad-sheet-btn.danger{background:#6a2a2a;border-color:#8a4a4a;color:#f0d0d0}.cad-sheet-btn.danger:hover{background:#8a3a3a}.cad-sheet-list{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.cad-sheet-list-item{align-items:center;background:#1a2a38;border:1px solid #4a6a84;border-radius:3px;color:#e0e8f0;cursor:pointer;display:flex;font-size:.65rem;gap:6px;padding:4px 6px;transition:background .15s,border-color .15s}.cad-sheet-list-item:hover{background:#243548}.cad-sheet-list-item.active{background:#1e3448;border-color:#5a8aae}.cad-sheet-list-item .sheet-num{color:#5a8aae;font-weight:700;min-width:22px}.cad-sheet-list-item .sheet-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cad-sheet-list-item .sheet-size{color:#6a8aaa;font-size:.58rem}.cad-sheet-mode-toggle{display:flex;gap:3px;margin-bottom:8px}.cad-sheet-mode-btn{background:#1a2a38;border:1px solid #4a6a84;border-radius:4px;color:#8ab4d4;cursor:pointer;flex:1 1;font-size:.68rem;padding:5px 0;text-align:center;transition:background .15s}.cad-sheet-mode-btn:hover{background:#243548}.cad-sheet-mode-btn.active{background:#5a8aae;border-color:#5a8aae;color:#fff}.cad-sheet-titleblock-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(2,1fr);margin-bottom:6px}.cad-sheet-titleblock-card{align-items:center;background:#1a2a38;border:1px solid #4a6a84;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:6px 4px;transition:background .15s,border-color .15s}.cad-sheet-titleblock-card:hover{background:#243548;border-color:#5a8aae}.cad-sheet-titleblock-card.active{background:#1e3448;border-color:#5a8aae}.cad-sheet-titleblock-icon{font-size:1.3rem;line-height:1}.cad-sheet-titleblock-label{color:#8ab4d4;font-size:.6rem;text-align:center}.cad-sheet-vp-row{align-items:center;display:flex;gap:4px;margin-bottom:3px}.cad-sheet-vp-row label{color:#8ab4d4;font-size:.6rem;min-width:44px}.cad-sheet-vp-input{background:#0e1c28;border:1px solid #4a6a84;border-radius:3px;color:#e0e8f0;flex:1 1;font-size:.62rem;padding:2px 4px;width:0}.cad-sheet-vp-input:focus{border-color:#5a8aae;outline:none}.cad-sheet-preview{aspect-ratio:1.414;background:#111;border:1px solid #4a6a84;border-radius:4px;margin-bottom:6px;overflow:hidden;position:relative;width:100%}.cad-sheet-preview img{height:100%;object-fit:contain;width:100%}.cad-sheet-preview-empty{align-items:center;color:#6a8aaa;display:flex;font-size:.65rem;height:100%;justify-content:center}.cad-sheet-divider{border:none;border-top:1px solid #3a4a5a;margin:8px 0}