/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.top-0\.5{top:calc(var(--spacing) * .5)}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-12{left:calc(var(--spacing) * 12)}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-12{height:calc(var(--spacing) * 12)}.h-40{height:calc(var(--spacing) * 40)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[120px\]{min-width:120px}.min-w-\[150px\]{min-width:150px}.min-w-\[160px\]{min-width:160px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4\.5{--tw-translate-x:calc(var(--spacing) * 4.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.5rem_1fr_1fr_2rem\]{grid-template-columns:1.5rem 1fr 1fr 2rem}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#8fb0e8\]{border-color:#8fb0e8}.border-\[\#c8cfda\]{border-color:#c8cfda}.border-amber-100{border-color:var(--color-amber-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-red-200{border-color:var(--color-red-200)}.border-slate-300{border-color:var(--color-slate-300)}.bg-\[\#0f766e\]{background-color:#0f766e}.bg-\[\#8b5cf6\]{background-color:#8b5cf6}.bg-\[\#2563eb\]{background-color:#2563eb}.bg-\[\#dc2626\]{background-color:#dc2626}.bg-\[\#e8f0ff\]{background-color:#e8f0ff}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-red-50{background-color:var(--color-red-50)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-700{background-color:var(--color-slate-700)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-12{padding-block:calc(var(--spacing) * 12)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[\#1f3551\]{color:#1f3551}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-800{color:var(--color-blue-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.accent-blue-600{accent-color:var(--color-blue-600)}.accent-slate-700{accent-color:var(--color-slate-700)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\:border-slate-400:hover{border-color:var(--color-slate-400)}.hover\:bg-\[\#dbe7ff\]:hover{background-color:#dbe7ff}.hover\:bg-\[\#e8f0ff\]:hover{background-color:#e8f0ff}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-red-200:hover{color:var(--color-red-200)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-gray-300:disabled{color:var(--color-gray-300)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}}:root{--bg:#f2f4f7;--panel:#fff;--panel-soft:#fafcff;--line:#1f2937;--line-soft:#d9dde5;--line-mid:#c8cfda;--line-muted:#e3e6ec;--accent:#2563eb;--accent-soft:#e8f0ff;--primary-ink:#1f3551;--muted:#6b7280;--danger:#b91c1c;--shadow:0 4px 14px #0f172a0f;--shadow-soft:0 14px 34px #0f172a14}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--line);background:#edf1f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}.rockfall-app{height:100vh;color:var(--line);flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffd9;flex:none;padding:1rem 1.25rem}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.5rem;display:flex}.topbar-brand{align-items:center;gap:.85rem;display:flex}.topbar-copy{min-width:0}.app-logo{filter:drop-shadow(0 4px 10px #0f172a14);flex:none;width:52px;height:52px}.topbar h1{margin:0;font-size:1.3rem}.topbar p{color:var(--muted);margin:.2rem 0 0}.sidebar-tabs{flex-wrap:wrap;justify-content:flex-end;align-self:center;gap:8px;display:flex}.topbar-menu-button{border:1px solid var(--line-mid);width:auto;min-width:128px;color:var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;margin-bottom:0;padding:8px 14px;font-size:1rem;font-weight:600;line-height:1.2;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex}.topbar-menu-button:hover{background:#f8fafc;border-color:#9ca3af}.topbar-menu-button.is-active{background:var(--accent-soft);color:var(--primary-ink);border-color:#8fb0e8}.rockfall-layout{flex:auto;grid-template-columns:320px 1fr;gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.rockfall-sidebar,.rockfall-main{background:var(--panel);border:1px solid var(--line-soft);min-height:0;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.rockfall-sidebar{flex-direction:column;display:flex}.rockfall-sidebar-content{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.rockfall-sidebar-footer{background:#fff}.rockfall-main{flex-direction:column;display:flex;position:relative}.rockfall-main-content{flex:auto;min-height:0;padding:12px}.tool-group,.rockfall-results-intro{border:1px solid var(--line-muted);background:#fff;border-radius:8px;padding:10px}.tool-group h2,.tool-group h3{margin-top:0}.section-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.section-subtitle{color:var(--line);margin:0;font-size:.82rem;font-weight:700}.panel-note-card{border:1px solid var(--line-muted);background:#fff;border-radius:8px;padding:10px}.panel-note-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:.72rem;font-weight:700}.panel-note-copy{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.panel-metric-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:.68rem;font-weight:700}.panel-metric-value{color:var(--line)}.panel-progress-track{background:#edf2f8;border-radius:999px;width:100%;height:6px;overflow:hidden}.panel-progress-fill{border-radius:inherit;background:#355a74;height:100%;transition:width .5s}.tool-group label:not(.file-label){color:var(--muted);font-size:.78rem;display:block}.tool-group input[type=text],.tool-group input[type=number],.tool-group select,.tool-group textarea{background:#fff;border-color:#c8cfda;box-shadow:inset 0 1px 1px #0f172a05}.tool-group input:focus,.tool-group select:focus,.tool-group textarea:focus{border-color:#8fb0e8;outline:none;box-shadow:0 0 0 3px #2563eb1f}.rockfall-toast{z-index:6500;box-shadow:var(--shadow-soft);background:#dc2626f5;border:1px solid #b91c1c2e;border-radius:10px;position:fixed;top:58px;left:50%;translate:-50%}.rockfall-canvas-shell{border:1px solid var(--line-soft);background:#fff;border-radius:10px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc}.rockfall-canvas{background:linear-gradient(#fffffff5,#f7f9fcf5),linear-gradient(90deg,#e2e8f033 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#e2e8f033 1px,#0000 1px) 0 0/32px 32px;width:100%;height:100%;display:block}.rockfall-floating-panel{border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fffffff0;border-radius:8px;box-shadow:0 6px 18px #0f172a14}.rockfall-canvas-hint,.rockfall-canvas-chip,.rockfall-canvas-legend{color:#475569}.rockfall-result-legend{z-index:30;pointer-events:none;position:absolute;bottom:124px;right:16px}.rockfall-export-button{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;background:#e8f0ff;border:1px solid #8fb0e8;border-radius:8px;padding:.45rem .8rem;font-size:.68rem;font-weight:700;box-shadow:0 4px 10px #2563eb24}.rockfall-drawer{border-top:1px solid var(--line-soft);background:#fffffffa;box-shadow:0 -18px 32px #0f172a1f}.rockfall-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a6b}.rockfall-modal{border:1px solid var(--line-soft);border-radius:14px;box-shadow:0 24px 48px #0f172a2e}[data-floating-modal=true]{resize:both;min-width:min(320px,100vw - 16px);min-height:180px;overflow:hidden;max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}[data-floating-modal-drag-handle=true],[data-solver-modal-drag-handle=true]{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}[data-floating-modal-drag-handle=true] button,[data-solver-modal-drag-handle=true] button{cursor:pointer}.import-points-modal{width:min(672px,100vw - 48px);max-height:min(760px,100vh - 48px)}.rockfall-statusbar{border-top:1px solid var(--line-soft);color:#64748b;letter-spacing:.02em;background:linear-gradient(#fff,#f8fafc);justify-content:space-between;align-items:center;gap:1rem;height:32px;padding:0 1.25rem;font-size:10px;font-weight:600;display:flex}@media (width<=980px){.topbar-inner{align-items:stretch}.sidebar-tabs{justify-content:flex-start}.topbar-menu-button{flex:140px;min-width:0}.rockfall-layout{grid-template-columns:1fr}.rockfall-sidebar{max-height:44vh}}.rockfall-app{background:#edf1f5}.command-bar{background:#fff;border-bottom:1px solid #cfd6e1;flex:none;align-items:center;gap:10px;min-height:64px;padding:0 14px;display:flex}.command-brand{align-items:center;gap:10px;min-width:230px;padding-right:8px;display:flex}.command-logo{flex:none;width:38px;height:38px}.command-brand-copy{min-width:0}.command-brand-copy h1{color:#172033;margin:0;font-size:1.04rem;font-weight:760;line-height:1.1}.command-brand-copy span{color:#667085;margin-top:2px;font-size:.72rem;font-weight:650;display:block}.command-cluster{border-left:1px solid #e4e8ef;align-items:center;gap:6px;padding:0 8px;display:flex}.command-primary-cluster{margin-left:auto}.command-button,.command-icon-button,.command-view-button{color:#263244;background:#fff;border:1px solid #cbd4df;border-radius:7px;justify-content:center;align-items:center;gap:7px;height:36px;font-size:.82rem;font-weight:700;line-height:1;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.command-button{padding:0 12px;position:relative;overflow:hidden}.command-button>svg,.command-button>span:not(.command-button-progress){z-index:1;position:relative}.command-icon-button{width:36px;padding:0}.command-button:hover,.command-icon-button:hover,.command-view-button:hover{background:#f6f8fb;border-color:#9ba8b9}.command-button:disabled,.command-icon-button:disabled,.command-view-button:disabled{cursor:not-allowed;opacity:.45}.command-button-primary{color:#0f554f;background:#e7f5f2;border-color:#1f7a70}.command-button-primary:hover{background:#d9efeb;border-color:#166c63}.command-button-primary.is-running{background:#e7f5f2;border-color:#166c63;min-width:142px}.command-button .command-button-progress{z-index:0;pointer-events:none;background:#1f7a7029;border-radius:999px;height:3px;display:block;position:absolute;inset:auto 5px 4px;overflow:hidden}.command-button .command-button-progress span{border-radius:inherit;background:#1f7a70;height:100%;transition:width .18s;display:block}.command-file-button{cursor:pointer}.command-file-button input{display:none}.command-view-cluster{padding-right:0}.command-view-button{min-width:78px;padding:0 12px}.command-view-button.is-active{color:#193b68;background:#edf5ff;border-color:#82a7d7}.workspace-grid{background:#cfd6e1;flex:auto;grid-template-columns:56px minmax(0,1fr) minmax(320px,380px);gap:1px;min-height:0;display:grid;overflow:hidden}.workspace-grid.has-tool-panel{grid-template-columns:56px minmax(280px,340px) minmax(0,1fr) minmax(320px,380px)}.tool-rail{background:#f9fafc;flex-direction:column;align-items:center;gap:8px;min-height:0;padding:8px 6px;display:flex;overflow:hidden auto}.tool-rail-section{flex-direction:column;gap:6px;display:flex}.tool-rail-spacer{flex:auto}.tool-rail-button{color:#526071;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.tool-rail-button:hover{color:#1d2939;background:#fff;border-color:#d4dae4}.tool-rail-button.is-active{color:#0f554f;background:#e5f3f0;border-color:#7da89f}.workspace-inspector{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex}.workspace-tool-panel{background:#fff}.inspector-header{background:#fbfcfe;border-bottom:1px solid #e4e8ef;flex:none;padding:14px 16px}.inspector-title{color:#334155;align-items:center;gap:10px;min-width:0;display:flex}.inspector-title h2{color:#172033;margin:0;font-size:.95rem;font-weight:760;line-height:1.15}.inspector-title span{color:#667085;margin-top:2px;font-size:.72rem;font-weight:600;display:block}.inspector-content{flex:auto;min-height:0;padding:0;overflow:auto}.workspace-inspector .tool-group{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #edf0f4;border-radius:0;padding:16px}.workspace-inspector .tool-group:last-child{border-bottom:0}.inspector-section-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.inspector-section-row>button{flex:none;width:auto;padding:8px 12px}.inspector-mode-chip{text-overflow:ellipsis;white-space:nowrap;color:#526071;text-transform:uppercase;background:#f7f9fc;border:1px solid #d8dee8;border-radius:999px;max-width:120px;padding:5px 9px;font-size:.68rem;font-weight:800;overflow:hidden}.inspector-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.inspector-metric-grid div{min-width:0}.inspector-metric-grid span{color:#667085;text-transform:uppercase;font-size:.68rem;font-weight:750;display:block}.inspector-metric-grid strong{color:#172033;margin-top:3px;font-size:1.05rem;display:block}.inspector-warning{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:7px;margin-top:14px;padding:8px 10px;font-size:.78rem;font-weight:700}.inspector-tool-button{color:#263244;background:#fff;border:1px solid #cbd4df;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:6px 8px;font-size:.74rem;font-weight:760;line-height:1.1;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.inspector-tool-button:hover{background:#f6f8fb;border-color:#9ba8b9}.inspector-tool-button.is-active{color:#0f554f;background:#e5f3f0;border-color:#7da89f}.inspector-tool-button.danger.is-active{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.inspector-tool-button.danger{color:#b91c1c;border-color:#fecaca}.inspector-tool-button.danger:hover{background:#fff1f2}.inspector-tool-button:disabled{cursor:not-allowed;opacity:.45}.collector-model-list,.seeder-model-list{gap:6px;max-height:210px;padding-right:3px;display:grid;overflow-y:auto}.collector-model-row,.seeder-model-row{color:#334155;text-align:left;background:#fff;border:1px solid #e2e7ef;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:34px;padding:7px 8px;display:flex}.collector-model-row:hover,.seeder-model-row:hover{background:#f8fafc;border-color:#cbd4df}.collector-model-row.is-active,.seeder-model-row.is-active{color:#193b68;background:#edf5ff;border-color:#82a7d7}.collector-model-row span,.seeder-model-row span{font-size:.76rem;font-weight:800}.collector-model-row strong,.seeder-model-row strong{color:#526071;font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:800}.material-number-pair{gap:6px;display:grid}.material-number-pair-header{color:#526071;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:800;display:flex}.material-number-pair-header small{color:#98a2b3;text-transform:none;font-size:.66rem;font-weight:750}.material-number-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-number-input{gap:3px;display:grid!important}.material-number-input span{color:#98a2b3;text-transform:uppercase;font-size:.6rem;font-weight:800;line-height:1}.material-number-input input{text-align:right;font-variant-numeric:tabular-nums;width:100%}.material-number-input input.is-invalid{color:#9f1239;background:#fff7f8;border-color:#fda4af}.material-number-error{color:#be123c;text-align:right;font-size:.58rem;font-weight:800;line-height:1}.material-property-table-wrap{background:#fff;border:1px solid #e1e6ee;border-radius:7px;overflow:hidden}.material-property-table{border-collapse:collapse;table-layout:fixed;width:100%}.material-property-table th,.material-property-table td{border-bottom:1px solid #edf1f6;padding:5px 6px}.material-property-table tr:last-child th,.material-property-table tr:last-child td{border-bottom:0}.material-property-table thead th{color:#7a8799;text-align:right;text-transform:uppercase;background:#f8fafc;font-size:.58rem;font-weight:850;line-height:1}.material-property-table thead th:first-child{text-align:left}.material-property-table tbody th{color:#526071;text-align:left;font-size:.68rem;font-weight:850;line-height:1.15}.material-property-table tbody td{width:34%}.material-property-cell{color:#263244;text-align:right;font-variant-numeric:tabular-nums;background:#f9fafc;border:1px solid #0000;border-radius:4px;width:100%;height:24px;padding:0 5px;font-size:.72rem;font-weight:750}.material-property-cell:focus{outline-offset:0;background:#fff;border-color:#8fb0e8;outline:2px solid #dbe8ff}.material-property-cell.is-invalid{color:#9f1239;background:#fff7f8;border-color:#fda4af}.material-property-cell::-webkit-outer-spin-button{appearance:none;margin:0}.material-property-cell::-webkit-inner-spin-button{appearance:none;margin:0}.material-property-cell[type=number]{appearance:textfield}.calibration-range-table-wrap{background:#fff;border:1px solid #e2e7ef;border-radius:8px;min-height:0;max-height:320px;overflow:auto}.calibration-range-table{table-layout:fixed;border-collapse:collapse;color:#263244;width:100%;min-width:0;font-size:.72rem}.calibration-range-table thead th{z-index:1;color:#334155;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e7ef;padding:7px 5px;font-weight:760;position:sticky;top:0}.calibration-range-table tbody td{border-bottom:1px solid #edf0f4;padding:0}.calibration-range-table tbody tr:last-child td{border-bottom:0}.calibration-range-table tbody tr:hover td{background:#f8fafc}.calibration-range-readonly{color:#526071;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:700;overflow:hidden;padding:7px 5px!important}.calibration-range-table th:nth-child(2),.calibration-range-table td:nth-child(2){width:56px}.calibration-range-table .numeric-range-head,.calibration-range-table .numeric-range-cell{width:42px}.calibration-range-table .material-range-head{width:20px;min-width:20px;padding:0}.calibration-range-material-cell{color:#526071;text-align:center;vertical-align:middle;background:#f8fafc;border-right:1px solid #edf0f4;width:20px;min-width:20px;position:relative;padding:0!important}.calibration-range-material-cell span{text-overflow:ellipsis;transform-origin:50%;white-space:nowrap;max-width:108px;font-size:.66rem;font-weight:800;line-height:1;display:block;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)rotate(-90deg)}.calibration-range-cell{color:#263244;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;border-radius:0;width:100%;min-width:0;min-height:30px;margin:0;padding:7px 4px;font-size:.72rem}.calibration-range-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calibration-range-cell::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calibration-range-cell:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb29}.calibration-range-cell.is-invalid{color:#9f1239;background:#fff1f2;box-shadow:inset 0 0 0 1px #f43f5e}.calibration-range-cell.is-invalid:focus{box-shadow:inset 0 0 0 2px #e11d48}.calibration-cdf-table-wrap{background:#fff;border:1px solid #e2e7ef;border-radius:8px;min-height:0;max-height:220px;overflow:auto}.calibration-cdf-table{table-layout:fixed;border-collapse:collapse;color:#263244;width:100%;min-width:0;font-size:.74rem}.calibration-cdf-table thead th{z-index:1;color:#334155;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e7ef;padding:7px 6px;font-weight:760;position:sticky;top:0}.calibration-cdf-table tbody td{border-bottom:1px solid #edf0f4;padding:0}.calibration-cdf-table tbody tr:last-child td{border-bottom:0}.calibration-cdf-table tbody tr:hover td{background:#f8fafc}.calibration-cdf-table .row-number-head,.calibration-cdf-table .row-number-cell{text-align:center;width:32px;min-width:32px}.calibration-cdf-table .row-number-cell{background:#f8fafc;border-right:1px solid #edf0f4}.calibration-cdf-table .row-number-value{color:#667085;font-variant-numeric:tabular-nums;min-width:1.8ch;font-weight:700;display:inline-block}.calibration-cdf-table th:nth-child(2),.calibration-cdf-table td:nth-child(2),.calibration-cdf-table th:nth-child(3),.calibration-cdf-table td:nth-child(3){width:calc(50% - 32px)}.calibration-cdf-table .action-head,.calibration-cdf-action-cell{text-align:center;width:32px;min-width:32px}.calibration-cdf-cell{color:#263244;font-variant-numeric:tabular-nums;appearance:textfield;background:0 0;border:0;border-radius:0;width:100%;min-width:0;min-height:30px;margin:0;padding:7px 8px;font-size:.76rem}.calibration-cdf-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.calibration-cdf-cell::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.calibration-cdf-cell:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb29}.calibration-cdf-cell.is-invalid{color:#9f1239;background:#fff1f2;box-shadow:inset 0 0 0 1px #f43f5e}.calibration-cdf-cell.is-invalid:focus{box-shadow:inset 0 0 0 2px #e11d48}.calibration-table-icon-button{color:#98a2b3;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;transition:background-color .12s,color .12s,opacity .12s;display:inline-flex}.calibration-table-icon-button:hover:not(:disabled){color:#dc2626;background:#fff1f2}.reference-image-list{gap:7px;display:grid}.reference-image-row{background:#fff;border:1px solid #e2e7ef;border-radius:7px;grid-template-columns:minmax(0,1fr) 24px 24px;align-items:center;gap:6px;padding:7px;display:grid}.reference-image-row.is-active{background:#edf5ff;border-color:#82a7d7}.reference-image-name{color:#263244;text-align:left;background:0 0;border:0;min-width:0;padding:0}.reference-image-name span,.reference-image-name strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reference-image-name span{font-size:.76rem;font-weight:800}.reference-image-name strong{color:#667085;margin-top:2px;font-size:.66rem;font-weight:760}.reference-image-opacity{grid-column:1/-1;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:7px;display:grid!important}.reference-image-opacity span{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:800}.reference-image-icon-button{color:#526071;background:#fff;border:1px solid #cbd4df;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.reference-image-icon-button:hover{background:#f6f8fb}.reference-image-icon-button.danger{color:#b91c1c;border-color:#fecaca}.reference-image-icon-button.danger:hover{background:#fff1f2}.image-calibration-backdrop{z-index:80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-calibration-modal{background:#fff;flex-direction:column;width:min(1080px,96vw);min-width:min(620px,100vw - 16px);min-height:min(420px,100vh - 16px);max-height:min(760px,92vh);display:flex;overflow:hidden}.image-calibration-header,.image-calibration-footer{border-bottom:1px solid #e4e8ef;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.image-calibration-header h2{color:#172033;margin:0;font-size:1rem;font-weight:780}.image-calibration-header span{color:#667085;margin-top:2px;font-size:.74rem;font-weight:650;display:block}.image-calibration-footer{background:#fbfcfe;border-top:1px solid #e4e8ef;border-bottom:0;justify-content:flex-end}.image-calibration-body{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;min-height:0;padding:16px;display:grid;overflow:auto}.image-calibration-preview-column,.image-calibration-form-column{min-width:0;min-height:0}.image-calibration-preview-column{flex-direction:column;gap:8px;display:flex}.image-calibration-preview{background:#f8fafc;border:1px solid #d7dde7;border-radius:8px;width:100%;max-height:100%;position:relative;overflow:hidden}.image-calibration-preview img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.image-calibration-marker{color:#fff;background:#2563eb;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #0f172a40}.image-calibration-marker.is-active{background:#0f554f}.image-calibration-stats{color:#526071;align-items:center;gap:8px;font-size:.72rem;font-weight:760;display:flex}.image-calibration-form-column{flex-direction:column;gap:10px;display:flex}.image-calibration-toolbar{align-items:center;gap:8px;display:flex}.image-calibration-toolbar select{color:#263244;border:1px solid #c8cfda;border-radius:7px;flex:auto;min-width:0;padding:6px 8px}.image-calibration-table-wrap{border:1px solid #e2e7ef;border-radius:8px;flex:auto;min-height:0;overflow:auto}.image-calibration-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.74rem}.image-calibration-table th{z-index:1;color:#334155;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e7ef;padding:7px 6px;font-weight:760;position:sticky;top:0}.image-calibration-table td{border-bottom:1px solid #edf0f4;padding:0}.image-calibration-table tr.is-active td{background:#edf5ff}.image-calibration-table input{color:#263244;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;width:100%;min-height:30px;padding:6px}.image-calibration-residual-cell{color:#475569;white-space:nowrap;font-size:.7rem;font-weight:800;padding:6px!important}.image-calibration-point-button,.image-calibration-delete-button,.image-calibration-icon-button{color:#526071;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:800;display:inline-flex}.image-calibration-point-button:hover,.image-calibration-delete-button:hover,.image-calibration-icon-button:hover{background:#f1f5f9}.image-calibration-delete-button{color:#b91c1c}.image-calibration-delete-button:disabled{cursor:not-allowed;opacity:.35}.image-calibration-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:7px;padding:7px 9px;font-size:.76rem;font-weight:760}.image-calibration-primary-button,.image-calibration-secondary-button{border-radius:7px;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:780}.image-calibration-primary-button{color:#0f554f;background:#e7f5f2;border:1px solid #1f7a70}.image-calibration-primary-button[aria-disabled=true]{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.image-calibration-secondary-button{color:#263244;background:#fff;border:1px solid #cbd4df}@media (width<=860px){.image-calibration-body{grid-template-columns:1fr;overflow:auto}}.rockfall-main{box-shadow:none;background:#fff;border:0;border-radius:0}.rockfall-main-content{padding:0}.rockfall-canvas{background:linear-gradient(#fffffff5,#f7f9fcf5),linear-gradient(90deg,#94a3b82e 1px,#0000 1px) 0 0/32px 32px,linear-gradient(#94a3b82e 1px,#0000 1px) 0 0/32px 32px}.rockfall-floating-panel{border-color:#d7dde7;border-radius:7px;box-shadow:0 8px 22px #0f172a14}.rockfall-export-button{color:#334155;box-shadow:none;background:#fff;border-color:#cbd4df;align-items:center;gap:6px;display:inline-flex}.rockfall-export-button:hover{background:#f6f8fb}.rockfall-export-button.is-active{color:#0f554f;background:#e5f3f0;border-color:#7da89f}.rockfall-export-button:disabled{cursor:not-allowed;opacity:.45}.canvas-layer-popover{max-height:min(62vh,520px);overflow:auto}.workspace-drawer{background:#fff;border-top:1px solid #cfd6e1;flex-direction:column;flex:0 0 clamp(260px,34vh,430px);min-height:0;display:flex}.coordinate-table-modal{background:#fff;flex-direction:column;width:min(1120px,100vw - 32px);height:min(720px,100vh - 32px);display:flex;overflow:hidden}.workspace-drawer-header{background:#fbfcfe;border-bottom:1px solid #e4e8ef;flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 10px 0 12px;display:flex}.workspace-drawer-tabs{align-items:center;gap:6px;display:flex}.workspace-drawer-title{color:#526071;align-items:center;gap:7px;font-size:.78rem;font-weight:760;display:inline-flex}.workspace-drawer-tab{color:#526071;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:.78rem;font-weight:760;display:inline-flex}.workspace-drawer-tab:hover{color:#1d2939;background:#fff;border-color:#d4dae4}.workspace-drawer-tab.is-active{color:#193b68;background:#edf5ff;border-color:#82a7d7}.workspace-drawer-tab:disabled{cursor:not-allowed;opacity:.45}.workspace-drawer-close{color:#526071;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.workspace-drawer-close:hover{background:#fff;border-color:#d4dae4}.workspace-drawer-body{flex:auto;min-height:0;overflow:hidden}.results-workspace,.coordinate-table-panel{flex-direction:column;height:100%;min-height:0;display:flex}.coordinate-table-toolbar{border-bottom:1px solid #edf0f4;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.coordinate-table-toolbar h3{color:#172033;margin:0;font-size:.92rem;font-weight:780}.coordinate-table-toolbar span{color:#667085;margin-top:2px;font-size:.72rem;font-weight:650;display:block}.coordinate-import-button{color:#263244;background:#fff;border:1px solid #cbd4df;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.coordinate-import-button:hover{background:#f6f8fb}.terrain-sheet-toolbar{flex-wrap:wrap;align-items:flex-start}.terrain-sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.coordinate-import-button.primary{color:#0f554f;background:#e7f5f2;border-color:#1f7a70}.coordinate-import-button.primary[aria-disabled=true]{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.coordinate-import-button.danger{color:#991b1b;border-color:#fecaca}.terrain-sheet-status{color:#475569;background:#f8fafc;border-bottom:1px solid #edf0f4;min-height:30px;margin:0;padding:8px 16px;font-size:.74rem;font-weight:750}.terrain-sheet-status.error{color:#991b1b;background:#fff1f2}.terrain-sheet-status.warning{color:#92400e;background:#fffbeb}.results-dashboard{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:14px;height:100%;min-height:0;padding:14px 16px;display:grid;overflow:hidden}.results-dashboard>.tool-group,.results-chart-grid>.tool-group,.results-chart-grid>.bg-amber-50{box-shadow:none;background:#fff;border:1px solid #e2e7ef;border-radius:8px;margin:0}.results-report-toolbar{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.results-report-toolbar label,.results-report-section label{color:#526071;text-transform:uppercase;gap:4px;min-width:0;margin:0;font-size:.68rem;font-weight:800;display:grid}.results-report-toolbar select{color:#1f2937;background:#fff;border:1px solid #d5dce7;border-radius:6px;width:100%;min-width:0;height:30px;font-size:.76rem;font-weight:650}.results-report-export{color:#1f4e79;background:#eef5ff;border:1px solid #bfd3ec;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:30px;font-size:.72rem;font-weight:850;display:inline-flex}.results-report-export:disabled{cursor:not-allowed;opacity:.45}.results-detail-open-button{color:#1f4e79;white-space:nowrap;background:#eef5ff;border:1px solid #bfd3ec;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 9px;font-size:.72rem;font-weight:850;display:inline-flex}.results-detail-open-button:hover{background:#e1efff}.results-report-section{gap:8px;min-width:0;padding:10px;display:grid}.results-report-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.results-report-section-heading h2{color:#172033;margin:0;font-size:.78rem;font-weight:850}.results-percentile-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.results-report-metric{background:#f8fafc;border:1px solid #e5eaf1;border-radius:6px;gap:2px;min-width:0;padding:7px 6px;display:grid}.results-report-metric span{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:850}.results-report-metric strong{color:#172033;overflow-wrap:anywhere;min-width:0;font-size:.78rem;font-weight:850}.results-table-scroll{min-width:0;overflow:auto}.results-table-scroll.compact{max-height:190px}.results-table-scroll.per-rock{max-height:330px}.results-report-table{border-collapse:separate;border-spacing:0;color:#263244;width:100%;min-width:520px;font-size:.72rem}.results-table-scroll.per-rock .results-report-table{min-width:1050px}.results-report-table thead{z-index:1;background:#fff;position:sticky;top:0}.results-report-table th,.results-report-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:6px 7px}.results-report-table th{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:850}.results-report-table td{color:#263244;font-weight:650}.results-report-empty-row{color:#667085;text-align:center;border:1px dashed #d8e0ea;border-radius:6px;padding:9px 10px;font-size:.72rem;font-weight:700}.results-status-pill{color:#334155;background:#f8fafc;border:1px solid #cfd8e5;border-radius:999px;justify-content:center;align-items:center;min-height:20px;padding:0 7px;font-size:.64rem;font-weight:850;display:inline-flex}.results-status-pill.stopped{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.results-status-pill.outOfBounds{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.results-status-pill.maxIterations{color:#92400e;background:#fffbeb;border-color:#fde68a}.results-chart-grid{grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(4,minmax(180px,1fr));grid-auto-rows:minmax(0,1fr);align-items:stretch;gap:14px;min-width:0;height:100%;min-height:0;display:grid}.results-chart-card{flex-direction:column;min-height:0;display:flex}.results-empty-chart{min-height:0}.results-chart-frame{flex:auto;width:100%;min-height:0}.results-empty-state{color:#667085;text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:10px;min-height:0;display:flex}.coordinate-table-scroll{flex:auto;min-height:0;padding:0 14px 14px;overflow:auto}.terrain-sheet-scroll{padding-top:12px}.coordinate-table{border-collapse:separate;border-spacing:0;color:#263244;width:100%;font-size:.82rem}.coordinate-table thead{z-index:1;color:#667085;text-transform:uppercase;background:#fff;font-size:.68rem;position:sticky;top:0}.coordinate-table th{white-space:nowrap;border-bottom:1px solid #e4e8ef}.coordinate-table td{border-bottom:1px solid #f0f2f6}.coordinate-table tr:hover{background:#f8fafc}.terrain-sheet-table{table-layout:fixed}.terrain-sheet-table th{-webkit-user-select:none;user-select:none}.terrain-sheet-table th[data-terrain-column],.terrain-sheet-table .row-number-cell{cursor:cell}.terrain-sheet-table .row-number-head,.terrain-sheet-table .row-number-cell{text-align:center;width:54px;min-width:54px}.terrain-sheet-table th.is-cell-selected,.terrain-sheet-table td.is-cell-selected,.terrain-sheet-table .row-number-cell.is-cell-selected,.terrain-sheet-table tr.is-cell-row-selected .row-number-cell{background:#eaf2ff}.terrain-sheet-table td.is-cell-anchor{background:#dceafe}.terrain-sheet-table td.is-error{background:#fff1f2}.terrain-sheet-table td.is-warning{background:#fffbeb}.terrain-sheet-cell{color:#263244;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:100%;min-width:0;padding:5px 7px;font-size:.78rem}.terrain-sheet-cell.is-cell-selected{color:#102a56}.terrain-sheet-cell:focus{background:#fff;border-color:#7da7dc;box-shadow:0 0 0 1px #7da7dc3d}.terrain-sheet-cell.is-cell-anchor:focus{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.terrain-sheet-cell.is-error{background:#fff7f7;border-color:#fca5a5}.terrain-sheet-cell.is-warning{background:#fffdf2;border-color:#fcd34d}.terrain-sheet-cell:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.terrain-sheet-context-popover,.terrain-sheet-insert-popover{z-index:7600;background:#fff;border:1px solid #cfd6e1;border-radius:8px;position:fixed;box-shadow:0 14px 34px #0f172a29}.terrain-sheet-context-popover{min-width:148px;padding:5px}.terrain-sheet-context-popover button{color:#172033;width:100%;min-height:31px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:.78rem;font-weight:700;display:flex}.terrain-sheet-context-popover button:hover,.terrain-sheet-context-popover button:focus-visible{color:#1d4ed8;background:#edf5ff;outline:none}.terrain-sheet-insert-popover{width:min(248px,100vw - 20px);padding:10px}.terrain-sheet-insert-form{gap:9px;display:grid}.terrain-sheet-insert-title{color:#172033;font-size:.82rem;font-weight:760;line-height:1.15}.terrain-sheet-insert-field{color:#435268;gap:4px;font-size:.74rem;font-weight:700;display:grid}.terrain-sheet-insert-field input{color:#172033;width:100%;min-height:30px;font:inherit;border:1px solid #cfd6e1;border-radius:6px;padding:5px 8px;font-size:.8rem}.terrain-sheet-insert-field input:focus{border-color:#7da7dc;outline:none;box-shadow:0 0 0 2px #7da7dc33}.terrain-sheet-insert-field input.is-invalid{background:#fff7f7;border-color:#dc2626}.terrain-sheet-insert-error{color:#b91c1c;margin:-2px 0 0;font-size:.72rem;font-weight:650;line-height:1.25}.terrain-sheet-insert-actions{justify-content:flex-end;gap:8px;display:flex}.coordinate-table input,.coordinate-table select{color:#263244}.rockfall-statusbar{background:#f9fafc;border-top:1px solid #cfd6e1;flex:0 0 30px;height:30px;padding:0 14px}.statusbar-controls{align-items:center;gap:10px;display:flex}.statusbar-control-group{background:#fff;border:1px solid #d6dce7;border-radius:6px;align-items:center;gap:6px;height:24px;padding:0 7px;display:flex}.statusbar-group-label{color:#7a8799;text-transform:uppercase;font-size:9px;font-weight:800;line-height:1}.statusbar-toggle{color:#64748b;cursor:pointer;background:#fff;border:1px solid #c8cfda;border-radius:5px;height:20px;padding:0 8px;font-size:10px;font-weight:700;line-height:1}.statusbar-toggle:hover{color:#334155;border-color:#94a3b8}.statusbar-toggle.is-active{color:#1f3551;background:#e8f0ff;border-color:#8fb0e8}.statusbar-grid-spacing-input{color:#263244;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:64px;height:20px;padding:0 6px;font-size:10px;font-weight:700}.statusbar-grid-spacing-input:focus{outline-offset:0;border-color:#8fb0e8;outline:2px solid #dbe8ff}@media (width<=1180px){.command-brand{min-width:190px}.command-button span{display:none}.workspace-grid{grid-template-columns:52px minmax(0,1fr) minmax(290px,330px)}.workspace-grid.has-tool-panel{grid-template-columns:52px minmax(260px,310px) minmax(0,1fr) minmax(290px,330px)}.results-dashboard{grid-template-columns:1fr}}@media (width<=900px){.command-bar{flex-wrap:wrap;min-height:auto;padding:8px}.command-brand{min-width:100%}.command-primary-cluster{margin-left:0}.workspace-grid{grid-template-rows:minmax(0,1fr) minmax(260px,34vh);grid-template-columns:52px minmax(0,1fr)}.workspace-grid.has-tool-panel{grid-template-rows:minmax(0,1fr) minmax(220px,28vh) minmax(240px,32vh);grid-template-columns:52px minmax(0,1fr)}.tool-rail{grid-row:1/-1;gap:5px;padding:6px 5px}.tool-rail-section{gap:4px}.tool-rail-button{width:36px;height:36px}.rockfall-main{grid-area:1/2}.workspace-tool-panel,.workspace-inspector{border-top:1px solid #cfd6e1;grid-area:2/2}.workspace-grid.has-tool-panel .workspace-inspector:not(.workspace-tool-panel){grid-row:3}.results-chart-grid{grid-template-rows:none;grid-template-columns:1fr}}.workspace-inspector .tool-group{padding:12px 14px}.workspace-inspector .section-heading{font-size:.72rem;line-height:1.1}.workspace-inspector .section-subtitle{margin-top:3px;font-size:.76rem;line-height:1.2}.workspace-inspector .panel-note-card{border-radius:6px;padding:9px}.workspace-inspector .panel-note-title{margin-bottom:6px;font-size:.66rem}.workspace-inspector .panel-note-copy{font-size:.75rem;line-height:1.3}.workspace-inspector label,.workspace-inspector .tool-group label:not(.file-label){margin-bottom:3px;font-size:.66rem;line-height:1.1}.workspace-inspector input[type=text],.workspace-inspector input[type=number],.workspace-inspector select,.workspace-inspector textarea{border-radius:6px;min-height:28px;padding:3px 8px;font-size:.78rem;line-height:1.15}.workspace-inspector input[type=color]{width:24px;height:24px;min-height:24px;padding:0}.workspace-inspector button:not(.tool-rail-button):not(.command-button):not(.command-icon-button):not(.command-view-button){border-radius:6px}.workspace-inspector .grid{gap:8px}.workspace-inspector .space-y-4>:not([hidden])~:not([hidden]){margin-top:10px}.workspace-inspector .space-y-3>:not([hidden])~:not([hidden]){margin-top:8px}.workspace-inspector .space-y-2>:not([hidden])~:not([hidden]){margin-top:6px}.workspace-inspector .rounded-lg{border-radius:6px}.workspace-inspector .p-3{padding:9px}.workspace-inspector .p-2{padding:7px}.workspace-inspector .px-4{padding-left:10px;padding-right:10px}.workspace-inspector .py-2,.workspace-inspector .py-2\.5{padding-top:6px;padding-bottom:6px}.workspace-inspector input[type=range]{cursor:pointer;height:14px;min-height:14px;padding:0}.workspace-inspector input[type=range]::-webkit-slider-runnable-track{background:#dbe2ea;border-radius:999px;height:4px}.workspace-inspector input[type=range]::-webkit-slider-thumb{background:#2563eb;border:2px solid #fff;border-radius:999px;width:12px;height:12px;margin-top:-4px;box-shadow:0 1px 3px #0f172a2e}.workspace-inspector input[type=range]::-moz-range-track{background:#dbe2ea;border-radius:999px;height:4px}.workspace-inspector input[type=range]::-moz-range-thumb{background:#2563eb;border:2px solid #fff;border-radius:999px;width:10px;height:10px;box-shadow:0 1px 3px #0f172a2e}.workspace-inspector [role=slider]{width:12px!important;height:12px!important}.workspace-inspector .h-2,.workspace-inspector .h-1,.workspace-inspector .h-1\.5{height:4px}.workspace-inspector .inspector-metric-grid.compact{gap:8px}.workspace-inspector .inspector-metric-grid.compact strong{font-size:.92rem}.workspace-inspector .inspector-mode-chip{padding:4px 8px;font-size:.62rem}.workspace-inspector .inspector-content-results{overflow:hidden}.workspace-inspector .analysis-inspector{flex-direction:column;height:100%;min-height:0;display:flex}.workspace-inspector .analysis-inspector>.tool-group{flex:none}.workspace-inspector .analysis-inspector>.results-workspace{flex:auto;min-height:0}.workspace-inspector .analysis-inspector .inspector-summary,.workspace-inspector .analysis-inspector .display-controls{padding-top:10px;padding-bottom:10px}.workspace-inspector .analysis-inspector .display-controls{padding-top:8px;padding-bottom:8px}.workspace-inspector .analysis-inspector .inspector-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:8px}.workspace-inspector .analysis-inspector .inspector-metric-grid span{font-size:.58rem;line-height:1.05}.workspace-inspector .analysis-inspector .inspector-metric-grid strong{margin-top:2px;font-size:.82rem;line-height:1.1}.workspace-inspector .analysis-inspector .inspector-warning{margin-top:7px;padding:5px 7px;font-size:.68rem;line-height:1.15}.workspace-inspector .display-controls .section-heading{display:none}.workspace-inspector .display-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;display:grid}.workspace-inspector .display-controls.space-y-4>:not([hidden])~:not([hidden]){margin-top:0}.workspace-inspector .display-controls-primary{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.workspace-inspector .display-play-button{height:28px;min-height:28px}.workspace-inspector .display-toggle-row{gap:8px;min-width:78px}.workspace-inspector .display-slider,.workspace-inspector .display-mode-control{min-width:0}.workspace-inspector .display-mode-control,.workspace-inspector .display-controls>.space-y-2:not(.display-slider):not(.display-mode-control){grid-column:1/-1}.workspace-inspector .display-toggle-row .text-sm,.workspace-inspector .display-mode-control .text-sm,.workspace-inspector .display-slider .text-sm{font-size:.72rem}.workspace-inspector .display-mode-control.space-y-2>:not([hidden])~:not([hidden]),.workspace-inspector .display-slider.space-y-2>:not([hidden])~:not([hidden]){margin-top:4px}.workspace-inspector .display-mode-control>span{display:none}.workspace-inspector .display-mode-control .p-1{padding:2px}.workspace-inspector .display-mode-control button{white-space:nowrap;padding-top:4px;padding-bottom:4px}.workspace-inspector .results-workspace{height:100%}.workspace-inspector .results-dashboard{grid-template-rows:auto minmax(0,1fr);gap:0;height:100%;min-height:0;padding:0;display:grid;overflow:hidden}.workspace-inspector .results-dashboard>.tool-group,.workspace-inspector .results-chart-grid>.tool-group,.workspace-inspector .results-chart-grid>.bg-amber-50{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #edf0f4;border-radius:0;margin:0}.workspace-inspector .results-chart-controls{flex-direction:row;align-items:center;gap:8px;padding-top:8px;padding-bottom:8px;display:flex}.workspace-inspector .results-chart-controls label{flex:none;margin:0}.workspace-inspector .results-chart-controls select{flex:auto;min-width:0}.workspace-inspector .results-chart-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:0;height:100%;min-height:0;display:grid}.workspace-inspector .results-chart-card{height:100%;min-height:0;overflow:hidden}.workspace-inspector .results-chart-frame{flex:auto;height:100%;min-height:0}.workspace-inspector .results-empty-state{min-height:160px;padding:24px 14px}.workspace-inspector .results-empty-chart{border-bottom:1px solid #edf0f4;padding:18px 14px}.soft-number-input.is-invalid{color:#991b1b;background-color:#fef2f2!important;border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261f!important}.soft-number-input.is-invalid:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26262e!important}.rockfall-app .topbar{z-index:3000;background:#fff;border-bottom:1px solid #d9dde5;flex:none;padding:7px 12px;position:relative;overflow:visible}.rockfall-app .topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.topbar-menubar{align-items:center;gap:10px;min-height:34px;display:flex}.topbar-logo{flex:none;place-items:center;width:32px;height:32px;display:grid}.topbar-logo .app-logo{filter:drop-shadow(0 2px 5px #0f172a1a);width:32px;height:32px}.topbar-title-block{gap:1px;min-width:0;margin-right:4px;line-height:1.05;display:grid}.topbar-title{color:#1f2937;white-space:nowrap;font-size:.96rem;font-weight:800}.topbar-subtitle{color:#64748b;white-space:nowrap;font-size:.68rem;font-weight:650}.file-menu{z-index:3100;position:relative}.file-menu-hidden-controls{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-menu-trigger,.documentation-button,.sidebar-tabs button{color:#1f2937;background:0 0;border:1px solid #0000;border-radius:5px;width:auto;min-width:56px;margin:0;padding:6px 12px;font-size:.92rem;font-weight:700;line-height:1.2}.file-menu-trigger:hover,.file-menu-trigger[aria-expanded=true],.documentation-button:hover,.sidebar-tabs button:hover,.sidebar-tabs button.active{background:#f8fafc;border-color:#c8cfda}.sidebar-tabs{align-items:center;gap:6px;display:flex}.sidebar-tabs button.active{color:#123b72;background:#e8f0ff;border-color:#8fb0e8}.file-menu-popover{z-index:3200;background:#fff;border:1px solid #c8cfda;border-radius:7px;min-width:240px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #0f172a29}.file-menu-popover button{color:#1f2937;text-align:left;background:0 0;border:0;border-radius:5px;width:100%;margin:0;padding:7px 9px;font-size:.9rem;font-weight:650}.file-menu-popover button:hover{background:#f1f5f9}.file-menu-popover button:disabled{color:#94a3b8;cursor:default}.file-menu-separator{background:#e2e8f0;height:1px;margin:5px 3px}.file-menu-section-label{color:#64748b;text-transform:uppercase;padding:5px 9px 3px;font-size:.65rem;font-weight:850}.file-menu-popover button.file-menu-recent-item{white-space:normal;color:#334155;font-size:.73rem;line-height:1.3}.layout{flex:auto;gap:10px;min-height:0;padding:10px;display:grid;overflow:hidden}.layout.layout-geometry-dock{grid-template-columns:minmax(0, 1fr) var(--cad-inspector-width,340px);padding-bottom:42px}.layout.layout-geometry-dock .panel{clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.canvas-wrap{background:#fff;border:1px solid #d9dde5;border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}.rockfall-canvas-stage{width:100%;height:100%;min-height:0}.rockfall-canvas-shell{box-shadow:none;border:0;border-radius:0}.geometry-dock-shell{left:var(--geometry-dock-x,50%);top:var(--geometry-dock-y,40px);z-index:32;pointer-events:auto;align-items:flex-start;gap:8px;display:none;position:absolute;transform:translate(-50%)}.geometry-dock-shell.visible{display:flex}.geometry-dock-shell.positioned{transform:none}.geometry-dock-controls{opacity:0;pointer-events:none;grid-auto-flow:column;gap:5px;transition:opacity .12s;display:grid;position:absolute;top:-28px;left:0}.geometry-dock-shell:hover .geometry-dock-controls,.geometry-dock-shell.dragging .geometry-dock-controls{opacity:1;pointer-events:auto}.geometry-dock-control{color:#475569;background:#fffffff5;border:1px solid #cfd6e2;border-radius:6px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.geometry-dock-control svg{width:15px;height:15px}.geometry-dock-move-handle{cursor:grab}.geometry-dock-chain{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:relative}.geometry-dock{pointer-events:auto;background:#fffffff5;border:1px solid #cfd6e2f5;border-radius:8px;gap:6px;padding:6px;display:flex;overflow:visible;box-shadow:0 12px 28px #0f172a24}.geometry-dock-root,.geometry-dock-child{align-items:center}.geometry-dock-root-slot{place-items:center;display:grid;position:relative}.geometry-dock-child-popover{z-index:34;width:max-content;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.geometry-dock-button{color:#334155;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:34px;height:34px;margin:0;padding:0;display:grid;position:relative}.geometry-dock-button:hover,.geometry-dock-button:focus-visible,.geometry-dock-button.active{color:#123b72;background:#e8f0ff;border-color:#8fb0e8}.geometry-dock-button.danger{color:#b91c1c}.geometry-dock-button:disabled{opacity:.42;cursor:not-allowed}.geometry-dock-icon,.geometry-dock-icon svg{width:21px;height:21px}.geometry-dock-tooltip{z-index:36;color:#334155;opacity:0;pointer-events:none;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:max-content;max-width:220px;padding:4px 7px;font-size:.72rem;font-weight:750;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 8px 18px #0f172a1f}.geometry-dock-tooltip.root{top:auto;bottom:calc(100% + 10px);transform:translate(-50%)translateY(4px)}.geometry-dock-button:hover .geometry-dock-tooltip,.geometry-dock-button:focus-visible .geometry-dock-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.cad-context-menu{z-index:6100;color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:7px;min-width:190px;padding:5px;position:fixed;box-shadow:0 16px 36px #0f172a38}.cad-context-menu-title{color:#64748b;text-transform:uppercase;border-bottom:1px solid #e3e6ec;padding:5px 8px 7px;font-size:.68rem;font-weight:850}.cad-context-menu button{color:#1f2937;text-align:left;background:0 0;border:0;border-radius:5px;width:100%;min-height:28px;margin:3px 0 0;padding:6px 8px;font-size:.78rem;font-weight:750;display:block}.cad-context-menu button:hover,.cad-context-menu button:focus-visible{color:#123b72;background:#e8f0ff}.cad-context-menu button.danger{color:#b91c1c}.cad-context-menu button.danger:hover,.cad-context-menu button.danger:focus-visible{color:#991b1b;background:#fee2e2}.cad-status-bar{z-index:35;color:#334155;background:#f8fafcfa;border-top:1px solid #cfd6e2;align-items:center;gap:14px;min-height:33px;padding:3px 10px;font-size:.74rem;font-weight:650;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -8px 20px #0f172a14}.cad-status-readout,.cad-status-group{align-items:center;gap:6px;min-width:0;display:flex}.cad-status-readout{flex:auto;overflow:hidden}.cad-status-readout span{color:#475569;flex:none;min-width:68px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cad-status-toggle,.cad-status-angle-icon-button{color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:0;height:22px;margin:0;padding:2px 7px;font-size:.72rem;font-weight:750;line-height:1;display:inline-flex}.cad-status-toggle.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.cad-status-field{color:#64748b;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cad-status-field input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:4px;width:58px;height:22px;margin:0;padding:2px 5px;font-size:.72rem}.cad-status-angle-modal{z-index:48;color:#334155;background:#fff;border:1px solid #c5cede;border-radius:8px;width:min(316px,100vw - 16px);min-width:min(260px,100vw - 16px);min-height:180px;padding:8px;position:fixed;bottom:42px;right:220px;box-shadow:0 16px 40px #0f172a2e}.cad-status-angle-modal[data-floating-modal=true]{overflow:auto}.cad-status-angle-modal form,.cad-status-angle-field{gap:8px;display:grid}.cad-status-angle-modal-titlebar,.cad-status-angle-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.cad-status-angle-actions{justify-content:flex-end}.cad-status-angle-field input{border:1px solid #c8cfda;border-radius:5px;width:100%;padding:6px 8px}.cad-inspector-sidebar{background:#fff;border:1px solid #d9dde5;border-radius:10px;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a0f}.cad-inspector-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.cad-inspector-heading{background:#f8fafc;border-bottom:1px solid #e3e6ec;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:9px 11px;display:flex}.cad-inspector-heading h3{color:#1f2937;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:850}.cad-property-stack{flex:auto;align-content:start;gap:10px;min-height:0;padding:10px;display:grid;overflow:auto}.selection-details-card{padding:7px 8px}.selection-details-card.space-y-4>*+*,.selection-details-card .space-y-4>*+*{margin-top:8px!important}.selection-details-card .space-y-3>*+*{margin-top:6px!important}.selection-details-card .grid.gap-3,.selection-details-card .grid.gap-2{gap:6px!important}.selection-details-card .section-heading{font-size:.68rem;line-height:1}.selection-details-card .section-subtitle{font-size:.72rem;line-height:1.05}.selection-details-card label,.selection-details-card .tool-group label:not(.file-label){margin-bottom:2px;line-height:1;font-size:.62rem!important}.selection-details-card input[type=number],.selection-details-card select,.selection-details-card .soft-number-input{height:26px;min-height:24px;line-height:1.05;border-radius:5px!important;padding:2px 7px!important;font-size:.72rem!important}.selection-details-card button{line-height:1.05;border-radius:5px!important;font-size:.68rem!important}.selection-details-card button:not([aria-pressed]){padding:4px 7px!important}.selection-details-card button svg{width:12px;height:12px}.selection-details-card button[aria-pressed]{width:28px!important;height:14px!important}.selection-details-card button[aria-pressed]>span,.selection-details-card button[aria-pressed]>div{width:10px!important;height:10px!important}.selection-details-card .panel-note-card{border-radius:6px;padding:7px}.selection-details-card .panel-note-title{margin-bottom:4px;font-size:.6rem;line-height:1.05}.selection-details-card .panel-note-copy,.selection-details-card .panel-metric-value{font-size:.7rem;line-height:1.2}.selection-details-card .cad-color-input{background:#fff;border:1px solid #d1d5db;border-radius:5px;width:100%;height:26px;min-height:26px;padding:2px}.selection-details-card svg[role=img]{border-radius:6px;width:64px;height:64px}.cad-inspector-sidebar .results-workspace{height:auto;min-height:100%}.cad-inspector-sidebar .display-controls{gap:8px;display:grid}.cad-inspector-sidebar .display-controls-primary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.cad-inspector-sidebar .display-controls-primary .inspector-tool-button{min-width:0}.cad-inspector-sidebar .display-loop-button{white-space:nowrap}.cad-inspector-sidebar .results-dashboard{grid-template-rows:auto auto;gap:10px;height:auto;min-height:0;padding:0;display:grid;overflow:visible}.cad-inspector-sidebar .results-dashboard>.tool-group,.cad-inspector-sidebar .results-chart-grid>.tool-group,.cad-inspector-sidebar .results-chart-grid>.bg-amber-50{box-shadow:none;background:#fff;border:1px solid #e2e7ef;border-radius:8px;margin:0}.cad-inspector-sidebar .results-chart-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cad-inspector-sidebar .results-chart-controls label{flex:none;margin:0}.cad-inspector-sidebar .results-chart-controls select{flex:auto;min-width:0}.cad-inspector-sidebar .results-detail-open-button{flex:100%}.cad-inspector-sidebar .results-chart-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px;height:auto;min-height:0;display:grid}.cad-inspector-sidebar .results-chart-card{min-height:0;overflow:hidden}.cad-inspector-sidebar .results-chart-frame{width:100%;height:180px;min-height:180px}.cad-inspector-sidebar .results-empty-state{min-height:160px;padding:24px 14px}.cad-inspector-sidebar .results-empty-chart{padding:18px 14px}.cad-inspector-split-resizer{cursor:row-resize;background:#edf1f5}.cad-layer-tree,.cad-layer-group{gap:4px;display:grid}.cad-layer-row,.cad-layer-child-row{background:#fff;border:1px solid #edf0f4;border-radius:6px;grid-template-columns:22px 14px minmax(0,1fr) 24px 24px;align-items:center;gap:6px;min-height:30px;padding:3px 4px;display:grid}.cad-layer-child-row{grid-template-columns:minmax(0,1fr) 24px 24px 24px;margin-left:20px}.cad-layer-child-row.readonly{grid-template-columns:minmax(0,1fr)}.cad-layer-empty-row{color:#94a3b8;background:#fbfdff;border:1px dashed #d9e0ea;border-radius:6px;align-items:center;min-height:28px;margin-left:20px;padding:4px 8px;font-size:.72rem;font-weight:750;display:flex}.cad-layer-row.muted,.cad-layer-child-row.muted{opacity:.54}.cad-layer-row.locked .cad-layer-name-button span,.cad-layer-child-row.locked .cad-layer-name-button span{color:#64748b}.cad-layer-child-row.selected,.cad-layer-row:hover,.cad-layer-child-row:hover{background:#f6f9ff;border-color:#8fb0e8}.cad-layer-disclosure,.cad-layer-icon-button{color:#64748b;background:0 0;border:0;border-radius:4px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.cad-layer-icon-button.danger{color:#b91c1c}.cad-layer-icon-button.is-active{color:#1d4ed8;background:#eef2ff}.cad-layer-icon-button:hover{background:#eef2f7}.cad-layer-icon-button.danger:hover{background:#fff1f2}.cad-layer-swatch{border:1px solid #94a3b8;border-radius:3px;width:12px;height:12px}.cad-layer-name-button{color:#334155;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-width:0;margin:0;padding:0;display:grid}.cad-layer-name-button:disabled{cursor:not-allowed}.cad-layer-name-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;font-weight:750;overflow:hidden}.cad-layer-name-button strong{color:#64748b;font-size:.68rem;font-weight:800}.draw-command-bar{z-index:20;background:#fffffff0;border:1px solid #d9dde5;border-radius:8px;grid-template-columns:1fr;gap:4px;width:min(360px,100% - 24px);padding:8px;display:grid;position:absolute;bottom:41px;right:12px}.draw-command-bar label{color:#475569;font-size:.75rem;font-weight:700}.draw-command-bar input{border:1px solid #c8cfda;border-radius:6px;width:100%;padding:6px 8px;font-size:.9rem}.draw-command-bar input:disabled{color:#94a3b8;background:#f8fafc}.solver-modal{z-index:6000;pointer-events:none;position:fixed;inset:0}.solver-modal-card{pointer-events:auto;background:#fff;border:1px solid #c8cfda;border-radius:8px;flex-direction:column;width:min(760px,100vw - 32px);max-height:min(760px,100vh - 92px);display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 60px #0f172a3d}.solver-modal-card[data-floating-modal=true]{min-height:220px}.material-properties-card{width:min(900px,100vw - 32px);min-width:min(560px,100vw - 16px);min-height:min(420px,100vh - 16px)}.compute-modal-card{width:min(560px,100vw - 32px);min-width:min(380px,100vw - 16px);min-height:min(280px,100vh - 16px)}.detailed-results-modal-card{width:min(1120px,100vw - 32px);min-width:min(720px,100vw - 16px);min-height:min(560px,100vh - 16px);max-height:min(860px,100vh - 48px)}.detailed-results-modal-body{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:12px;display:grid;overflow:auto}.detailed-results-toolbar{grid-column:1/-1;grid-template-columns:minmax(180px,1fr) auto}.detailed-results-per-rock{grid-column:1/-1}.documentation-modal-card{width:min(1180px,100vw - 32px);min-width:min(820px,100vw - 16px);min-height:min(560px,100vh - 16px);max-height:min(860px,100vh - 48px)}.documentation-modal-body{background:#fff;grid-template-columns:minmax(180px,240px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.documentation-nav{background:#f8fafc;border-right:1px solid #d9dde5;flex-direction:column;gap:3px;min-height:0;padding:12px 10px;display:flex;overflow:auto}.documentation-nav button{color:#334155;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;margin:0;padding:8px 9px;font-size:.78rem;font-weight:750;line-height:1.25}.documentation-nav button:hover,.documentation-nav button.active{color:#123b72;background:#fff;border-color:#c8cfda}.documentation-article{color:#1f2937;min-height:0;padding:24px 28px 36px;line-height:1.58;overflow:auto}.documentation-article h1,.documentation-article h2,.documentation-article h3,.documentation-article h4{color:#111827;margin:0;line-height:1.2}.documentation-article h1{margin-bottom:14px;font-size:1.55rem;font-weight:850}.documentation-article h2{border-top:1px solid #e5e7eb;margin-top:28px;margin-bottom:10px;padding-top:18px;font-size:1.12rem;font-weight:850}.documentation-article h3{margin-top:22px;margin-bottom:8px;font-size:.98rem;font-weight:800}.documentation-article h4{margin-top:18px;margin-bottom:8px;font-size:.9rem;font-weight:800}.documentation-article p{color:#334155;margin:0 0 12px;font-size:.88rem}.documentation-article ul,.documentation-article ol{color:#334155;margin:0 0 14px 1.2rem;padding:0;font-size:.88rem}.documentation-article li+li{margin-top:5px}.documentation-article code{color:#0f172a;background:#f8fafc;border:1px solid #d9dde5;border-radius:4px;padding:1px 4px;font-size:.82em}.documentation-inline-link{color:#1d4ed8;font:inherit;text-underline-offset:2px;background:0 0;border:0;margin:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.documentation-table-scroll{border:1px solid #d9dde5;border-radius:6px;margin:12px 0 18px;overflow-x:auto}.documentation-table-scroll table{border-collapse:collapse;background:#fff;width:100%;min-width:640px}.documentation-table-scroll th,.documentation-table-scroll td{vertical-align:top;color:#334155;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:8px 9px;font-size:.78rem;line-height:1.42}.documentation-table-scroll th:last-child,.documentation-table-scroll td:last-child{border-right:0}.documentation-table-scroll tr:last-child td{border-bottom:0}.documentation-table-scroll th{color:#1f2937;text-align:left;background:#f8fafc;font-weight:850}.simulation-settings-modal-card{width:min(620px,100vw - 32px);min-width:min(380px,100vw - 16px);min-height:min(420px,100vh - 16px)}.solver-modal-titlebar{background:#f8fafc;border-bottom:1px solid #d9dde5;align-items:center;gap:8px;min-height:38px;padding:7px 9px;display:flex}.solver-modal-titlebar-grip{border-left:2px dotted #94a3b8;border-right:2px dotted #94a3b8;width:14px;height:18px}.solver-modal-titlebar-title{color:#1f2937;flex:auto;font-size:.92rem;font-weight:850}.solver-modal-titlebar-actions{gap:6px;display:flex}.solver-modal-icon-button{background:#fff;border:1px solid #c8cfda;border-radius:5px;place-items:center;width:28px;height:28px;margin:0;padding:0;display:grid}.mat-props-body{flex:auto;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.mat-props-list-panel{background:#f8fafc;border-right:1px solid #e3e6ec;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.mat-props-material-list{min-height:0;padding:8px;overflow:auto}.mat-props-mat-item{color:#334155;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:32px;margin:0 0 5px;padding:6px;display:grid}.mat-props-mat-item.selected,.mat-props-mat-item:hover{background:#e8f0ff;border-color:#8fb0e8}.mat-props-mat-swatch{border:1px solid #94a3b8;border-radius:3px;width:14px;height:14px}.mat-props-mat-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:750;overflow:hidden}.mat-props-list-tools{border-top:1px solid #e3e6ec;gap:5px;padding:8px;display:flex}.mat-props-toolbar-btn{color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:5px;place-items:center;width:30px;height:28px;margin:0;padding:0;display:grid}.mat-props-toolbar-btn.danger{color:#b91c1c}.mat-props-detail-panel{min-height:0;padding:12px;overflow:auto}.mat-props-detail-title{color:#2563eb;margin:0 0 10px;font-size:1rem;font-weight:850}.mat-props-display-row,.mat-props-weight-row{grid-template-columns:minmax(0,1fr) 120px 150px;align-items:end;gap:10px;margin-bottom:12px;display:grid}.mat-props-field,.compute-display-field{color:#64748b;gap:4px;font-size:.74rem;font-weight:750;display:grid}.mat-props-field input,.mat-props-field select,.mat-props-param-table input,.mat-props-param-table select,.compute-display-field input,.compute-display-field select{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:.82rem}.mat-props-tab-panel.disabled{opacity:.58}.mat-props-tab-panel.disabled .mat-props-param-table-wrap{background:#f8fafc}.mat-props-param-table input:disabled,.mat-props-param-table select:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}.mat-props-tabs{border-bottom:1px solid #e3e6ec;gap:6px;margin:10px 0;display:flex}.mat-props-tab{color:#64748b;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;width:auto;margin:0;padding:7px 9px;font-size:.82rem;font-weight:800}.mat-props-tab.active{color:#123b72;border-bottom-color:#2563eb}.mat-props-param-table-wrap{border:1px solid #e3e6ec;border-radius:7px;overflow:auto}.mat-props-param-table{border-collapse:collapse;width:100%;font-size:.8rem}.mat-props-param-table th,.mat-props-param-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:7px}.mat-props-param-table thead th{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:.72rem}.mat-props-muted{color:#94a3b8}.rock-props-swatch{background:#7c3aed}.seeder-props-swatch{background:#2563eb}.seeder-props-grid{background:#fff;border:1px solid #e3e6ec;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:10px;display:grid}.seeder-props-field{color:#64748b;text-transform:uppercase;gap:4px;font-size:.72rem;font-weight:800;display:grid}.seeder-props-field-full{grid-column:1/-1;max-width:220px}.seeder-props-field input{color:#1f2937;text-transform:none;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:.82rem;font-weight:650}.seeder-props-field.disabled{opacity:.62}.seeder-props-field input:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}.seeder-props-toggle{color:#64748b;text-transform:none;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:auto;min-width:86px;margin:0;padding:5px 9px;font-size:.76rem;font-weight:800}.seeder-props-toggle.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.seeder-props-toggle:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}@media (width<=760px){.seeder-props-grid{grid-template-columns:1fr}.seeder-props-field-full{max-width:none}}.rock-props-display-row{grid-template-columns:minmax(0,1fr)}.rock-props-param-table th:first-child{width:45%}.rock-props-custom-editor{background:#fff;border:1px solid #e3e6ec;border-radius:7px;gap:12px;margin-top:12px;padding:10px;display:grid}.mat-props-tab-panel.disabled .rock-props-custom-editor{background:#f8fafc}.rock-props-preview{background:#f8fafc;border:1px solid #e3e6ec;border-radius:7px;align-items:center;gap:12px;margin-top:12px;padding:10px;display:flex}.rock-props-preview-copy{color:#64748b;gap:3px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;display:grid}.rock-props-preview-title{color:#334155;font-family:inherit;font-weight:850}.mat-props-footer{background:#f8fafc;border-top:1px solid #d9dde5;padding:9px}.mat-props-toolbar-right,.solver-modal-actions{justify-content:flex-end;gap:8px;display:flex}.mat-props-btn-primary,.mat-props-btn-secondary{border:1px solid #c8cfda;border-radius:6px;width:auto;min-width:76px;margin:0;padding:7px 12px;font-weight:800}.mat-props-btn-primary{color:#123b72;background:#e6efff;border-color:#7aa2df}.mat-props-btn-secondary{color:#334155;background:#fff}.solver-modal-body{gap:12px;padding:12px;display:grid;overflow:auto}.simulation-settings-modal-body{background:#f8fafc}.simulation-settings-modal-body .tool-group{margin:0}.simulation-settings-modal-body .tool-group+.tool-group{margin-top:12px}.solver-modal-progress-card,.solver-modal-stat{background:#fff;border:1px solid #e3e6ec;border-radius:8px;padding:10px}.solver-modal-chart-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.solver-modal-chart-header h3{margin:0;font-size:.95rem}.solver-modal-chart-header p{color:#64748b;margin:3px 0 0;font-size:.8rem}.solver-modal-progress-track{background:#edf2f8;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.solver-modal-progress-track span{border-radius:inherit;background:#2563eb;height:100%;display:block}.solver-modal-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.solver-modal-stat span{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:800;display:block}.solver-modal-stat strong{color:#1f2937;margin-top:4px;font-size:.9rem;display:block}.model-readiness-summary{gap:10px;display:grid}.model-readiness-pill{color:#475569;white-space:nowrap;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:5px;padding:4px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.model-readiness-pill.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.model-readiness-pill.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.model-readiness-run-button{justify-content:center;width:100%}.model-readiness-steps{gap:8px;display:grid}.model-readiness-step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:9px}.model-readiness-step.ok{border-color:#bbf7d0}.model-readiness-step.warning{border-color:#fde68a}.model-readiness-step.error{border-color:#fecaca}.model-readiness-step-header{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;display:grid}.model-readiness-step-header h3{color:#1f2937;margin:0;font-size:.78rem;font-weight:850}.model-readiness-step-header p{color:#64748b;margin:2px 0 0;font-size:.68rem;font-weight:700}.model-readiness-status-icon.ok{color:#16a34a}.model-readiness-status-icon.warning{color:#d97706}.model-readiness-status-icon.error{color:#dc2626}.model-readiness-issue-list{gap:6px;margin-top:8px;padding-left:26px;display:grid}.model-readiness-issue{background:#f8fafc;border-radius:6px;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.model-readiness-issue p{color:#334155;margin:0;font-size:.7rem;line-height:1.35}.model-readiness-issue-marker{background:#94a3b8;border-radius:999px;width:7px;height:7px}.model-readiness-issue.warning .model-readiness-issue-marker{background:#f59e0b}.model-readiness-issue.error .model-readiness-issue-marker{background:#ef4444}.model-readiness-fix-button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:.65rem;font-weight:850;display:inline-flex}.model-readiness-fix-button:hover{background:#f1f5f9;border-color:#94a3b8}.compute-readiness-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.compute-readiness-alert strong{color:#991b1b;font-size:.78rem;display:block}.compute-readiness-alert p{color:#7f1d1d;margin:3px 0 0;font-size:.72rem}.workflow-guard-backdrop{z-index:80;background:#0f172a59;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.workflow-guard-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(430px,100%);padding:14px;box-shadow:0 22px 70px #0f172a40}.workflow-guard-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.workflow-guard-header h2{color:#0f172a;margin:0;font-size:.95rem}.workflow-guard-card p{color:#334155;margin:10px 0 0;font-size:.78rem;line-height:1.45}.workflow-guard-summary{color:#475569;background:#f8fafc;border-radius:6px;margin-top:10px;padding:9px;font-size:.72rem;line-height:1.35}.workflow-guard-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.import-summary-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:min(520px,100%);padding:14px;box-shadow:0 22px 70px #0f172a40}.import-summary-section{border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:10px}.import-summary-section h3{color:#0f172a;align-items:center;gap:7px;margin:0 0 7px;font-size:.78rem;display:flex}.import-summary-section ul{gap:4px;margin:0;padding-left:16px;display:grid}.import-summary-section li,.import-summary-section p{color:#475569;margin:0;font-size:.72rem;line-height:1.35}.import-summary-section.ok h3{color:#166534}.import-summary-section.warn h3{color:#b45309}.terrain-import-modal{background:#fff;flex-direction:column;width:min(1180px,100vw - 32px);max-height:calc(100vh - 36px);display:flex;overflow:hidden}.terrain-import-header,.terrain-import-footer{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.terrain-import-footer{border-top:1px solid #e2e8f0;border-bottom:0}.terrain-import-header h3,.terrain-import-section-header h4,.terrain-import-settings h4{color:#0f172a;margin:0;font-size:.88rem;font-weight:900}.terrain-import-header span,.terrain-import-footer span,.terrain-import-footer strong{color:#64748b;font-size:.72rem;font-weight:800}.terrain-import-footer>div{align-items:center;gap:10px;display:flex}.terrain-import-body{grid-template-columns:minmax(260px,.82fr) minmax(340px,1.25fr) minmax(300px,.9fr);gap:12px;min-height:0;padding:14px;display:grid;overflow:auto}.terrain-import-input,.terrain-import-preview,.terrain-import-settings{flex-direction:column;gap:10px;min-width:0;display:flex}.terrain-import-section-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.terrain-import-section-header label,.terrain-import-options label,.terrain-material-default,.terrain-material-range-row label{color:#475569;gap:4px;font-size:.68rem;font-weight:850;display:grid}.terrain-exaggeration-controls{align-items:center;gap:6px;display:flex}.terrain-exaggeration-controls input{width:74px}.terrain-import-section-header select,.terrain-import-section-header input,.terrain-import-options input[type=number],.terrain-material-default select,.terrain-material-range-row input,.terrain-material-range-row select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:0;padding:5px 7px;font-size:.75rem}.terrain-import-textarea{resize:vertical;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;min-height:290px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.45}.terrain-import-textarea:focus{border-color:#8fb0e8;box-shadow:0 0 0 2px #8fb0e83d}.terrain-import-detected{flex-wrap:wrap;gap:6px;display:flex}.terrain-import-detected span{color:#334155;background:#eef2ff;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:850}.terrain-import-svg{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:240px}.terrain-import-svg line{stroke:#94a3b8;stroke-width:1px}.terrain-import-svg path{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.terrain-import-svg text{fill:#64748b;font-size:10px;font-weight:800}.terrain-import-svg .terrain-import-scale-bar{stroke:#0f172a;stroke-width:3px}.terrain-preview-empty,.terrain-import-ok,.terrain-import-error{color:#475569;background:#f8fafc;border-radius:8px;padding:9px;font-size:.74rem;font-weight:750}.terrain-import-ok{color:#166534;background:#f0fdf4}.terrain-import-error{color:#991b1b;background:#fef2f2}.terrain-import-point-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.terrain-import-point-table table{border-collapse:collapse;width:100%}.terrain-import-point-table th,.terrain-import-point-table td{color:#475569;text-align:right;border-bottom:1px solid #e2e8f0;padding:5px 7px;font-size:.68rem}.terrain-import-point-table th{color:#334155;background:#f8fafc;font-weight:900}.terrain-import-point-table span{color:#64748b;padding:6px 8px;font-size:.65rem;display:block}.terrain-import-issues{gap:6px;display:grid}.terrain-import-issue{background:#f8fafc;border-radius:7px;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.terrain-import-issue span{background:#f59e0b;border-radius:999px;width:8px;height:8px;margin-top:4px}.terrain-import-issue.error span{background:#ef4444}.terrain-import-issue p,.terrain-import-overflow{color:#334155;margin:0;font-size:.7rem;line-height:1.35}.terrain-import-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.terrain-import-options label:has(input[type=checkbox]){align-items:center;gap:7px;min-height:32px;display:flex}.terrain-material-assignment{border-top:1px solid #e2e8f0;gap:9px;padding-top:10px;display:grid}.terrain-material-range-list{gap:7px;display:grid}.terrain-material-range-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(95px,1fr) 30px;align-items:end;gap:6px;display:grid}@media (width<=980px){.terrain-import-body{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.layout.layout-geometry-dock{grid-template-columns:minmax(0,1fr)}.cad-inspector-sidebar{display:none}.solver-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.detailed-results-modal-body,.detailed-results-toolbar{grid-template-columns:minmax(0,1fr)}.documentation-modal-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.documentation-nav{border-bottom:1px solid #d9dde5;border-right:0;flex-direction:row;overflow-x:auto}.documentation-nav button{white-space:nowrap;flex:none;width:auto}.documentation-article{padding:18px 16px 28px}.mat-props-body{grid-template-columns:1fr}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
