*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.top-9{top:2.25rem}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-\[38\%\]{height:38%}.h-full{height:100%}.h-screen{height:100vh}.max-h-20{max-height:5rem}.max-h-28{max-height:7rem}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.min-h-0{min-height:0px}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-2\/3{width:66.666667%}.w-3{width:.75rem}.w-6{width:1.5rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-amber-700\/60{border-color:#b4530999}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-cyan-700{--tw-border-opacity: 1;border-color:rgb(14 116 144 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-indigo-300{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-violet-200{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-950\/80{background-color:#451a03cc}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-cyan-50{--tw-bg-opacity: 1;background-color:rgb(236 254 255 / var(--tw-bg-opacity, 1))}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-900\/40{background-color:#164e6366}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-50\/80{background-color:#f8fafccc}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-violet-50{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-2{padding-bottom:.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400\/70{color:#fbbf24b3}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-200{--tw-text-opacity: 1;color:rgb(165 243 252 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-cyan-800{--tw-text-opacity: 1;color:rgb(21 94 117 / var(--tw-text-opacity, 1))}.text-cyan-900{--tw-text-opacity: 1;color:rgb(22 78 99 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.opacity-75{opacity:.75}.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)}html,body,#root{height:100%;margin:0}:root{--bg: #000000;--surface: #0a0a0a;--surface-2: #121212;--surface-3: #1a1a1a;--line: #232323;--line-strong: #363636;--text: #f5f5f5;--text-2: #c8c8c8;--muted: #8f8f8f;--red: #e5283a;--red-hover: #f23d4e;--red-bright: #ff5a68;--red-soft: rgba(229, 40, 58, .14);--red-line: rgba(229, 40, 58, .45);--red-glow: rgba(229, 40, 58, .35);--ok: #3ecf8e;--ok-soft: rgba(62, 207, 142, .14);--warn: #f2b441;--warn-soft: rgba(242, 180, 65, .14);--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius-lg: 16px;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box}body:has(.digital-twin-page,.studio-console,.login-screen){background:var(--bg)}.digital-twin-page,.studio-console,.login-screen{color:var(--text);font-family:var(--font);color-scheme:dark;-webkit-font-smoothing:antialiased;background:radial-gradient(900px 360px at 50% -140px,rgba(229,40,58,.16),transparent 70%),var(--bg)}.digital-twin-page :focus-visible,.studio-console :focus-visible,.login-screen :focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}.studio-console input[type=checkbox],.studio-console input[type=radio]{accent-color:var(--red)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(480px,100%);padding:2rem;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 40px 90px -40px var(--red-glow),inset 0 1px #ffffff0a}.login-banner{display:block;width:100%;height:auto;margin-bottom:1.5rem;border-radius:var(--radius);background:#f7f5f2}.login-platform{color:var(--red-bright);font-size:.85rem;font-weight:700;letter-spacing:.04em}.login-title{margin:.5rem 0 .25rem;font-size:clamp(2rem,5vw,2.8rem);font-weight:600;letter-spacing:-.03em;line-height:1.05}.login-copy{margin:.15rem 0 .4rem;color:var(--muted);line-height:1.5}.login-copy:last-of-type{margin-bottom:1.5rem}.login-label{display:block;margin:0 0 .45rem;color:var(--text-2);font-size:.85rem;font-weight:600}.login-input{width:100%;margin-bottom:1rem;padding:.8rem .9rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--text);font:inherit}.login-input:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px var(--red-soft)}.login-error{margin-bottom:1rem;padding:.7rem .9rem;border:1px solid var(--red-line);border-radius:10px;background:var(--red-soft);color:#ffd3d7}.login-submit{width:100%;padding:.9rem 1rem;border:0;border-radius:10px;background:var(--red);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:background .15s ease}.login-submit:hover:not(:disabled){background:var(--red-hover)}.login-submit:disabled{opacity:.6;cursor:default}.login-loading{padding:2rem;color:var(--text-2);font-family:var(--font)}.digital-twin-page{min-height:100vh;padding:28px 32px 56px}.digital-twin-shell{width:min(100%,1440px);margin:0 auto;animation:twin-arrive .42s ease-out both}.digital-twin-banner{display:block;width:100%;max-width:880px;height:auto;aspect-ratio:1983 / 793;-o-object-fit:contain;object-fit:contain;margin:0 auto 28px;border-radius:var(--radius-lg);background:#f7f5f2;box-shadow:0 0 0 1px #ffffff14,0 30px 70px -30px var(--red-glow)}.digital-twin-error{margin:0 0 16px;padding:10px 14px;border:1px solid var(--red-line);border-left:3px solid var(--red);border-radius:var(--radius-sm);background:var(--red-soft);color:#ffd3d7;font-size:.85rem}.digital-twin-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.8fr);overflow:clip;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.digital-twin-section-heading,.digital-twin-selected-heading{display:flex;align-items:center}.digital-twin-section-heading{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:14px}.digital-twin-section-heading h2,.digital-twin-selected h2{margin:2px 0 0;font-size:1.3rem;font-weight:600;letter-spacing:-.02em}.digital-twin-kicker{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.02em}.digital-twin-canvas-section{min-width:0;padding:24px}.digital-twin-canvas-section .digital-twin-section-heading{margin-bottom:8px}.digital-twin-section-copy{max-width:680px;margin:0 0 16px;color:var(--text-2);font-size:.9rem;line-height:1.55}.digital-twin-scale-note{flex:0 0 auto;padding:3px 11px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap}.digital-twin-canvas{position:relative;width:100%;aspect-ratio:1.32;min-height:330px;max-height:640px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(229,40,58,.09),transparent 70%),#030303;isolation:isolate}.digital-twin-canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.09) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 85% 85% at 50% 50%,black 55%,transparent 100%)}.digital-twin-space{position:absolute;display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;min-height:0;padding:0;overflow:visible;container-type:size;border:1px solid var(--space-border, rgba(255, 255, 255, .18));border-radius:10px;background:var(--space-fill, rgba(255, 255, 255, .04));color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .2s ease}.digital-twin-space-depth-0{--space-border: rgba(255, 255, 255, .24);--space-fill: rgba(255, 255, 255, .015);border-radius:14px}.digital-twin-space-depth-1{--space-border: rgba(255, 255, 255, .17);--space-fill: rgba(255, 255, 255, .05)}.digital-twin-space-depth-2{--space-border: rgba(255, 255, 255, .22);--space-fill: rgba(255, 255, 255, .09)}.digital-twin-space-depth-3{--space-border: rgba(255, 255, 255, .26);--space-fill: rgba(255, 255, 255, .13)}.digital-twin-space:not(.digital-twin-space-depth-0):hover{z-index:100!important}.digital-twin-space:hover{transform:scale(.996) translateY(-1px);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 4px 14px #1432231f,inset 0 1px #ffffff80;border-color:var(--twin-green)}.digital-twin-space.is-selected{border-color:var(--twin-coral);background:#ffffff9e;box-shadow:0 0 0 3px #dc654a2e,0 4px 16px #dc654a1a,inset 0 1px #fff9}.digital-twin-space.is-selected:hover{background:transparent}.digital-twin-space-label{max-width:100%;overflow:hidden;font-size:.8rem;font-weight:800;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;color:var(--twin-ink)}.digital-twin-space-type{max-width:100%;overflow:hidden;color:var(--twin-muted);font-size:.64rem;font-weight:500;letter-spacing:.03em;text-transform:lowercase;text-overflow:ellipsis;white-space:nowrap}.digital-twin-space-cap-badge{position:relative;display:inline-flex;align-items:center;gap:3px;margin-top:2px;padding:1px 7px 1px 5px;border-radius:100px;background:#294b3e1a;cursor:default}.digital-twin-cap-icon{font-size:.6rem;line-height:1}.digital-twin-cap-count{font-size:.58rem;font-weight:800;color:var(--twin-green);letter-spacing:.02em}.digital-twin-cap-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);transform:translateY(4px);display:flex;flex-direction:column;gap:4px;min-width:140px;max-width:min(220px,calc(100vw - 32px));padding:8px 10px;border-radius:8px;background:#172521eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#e8f0ec;font-size:.68rem;font-weight:600;line-height:1.4;white-space:normal;box-shadow:0 6px 20px #0000002e;opacity:0;visibility:hidden;pointer-events:none;z-index:100;transition:opacity .16s ease,visibility .16s ease,transform .16s ease}.digital-twin-cap-tooltip:after{content:"";position:absolute;top:100%;left:16px;border:5px solid transparent;border-top-color:#1a1a1a}.digital-twin-space:hover .digital-twin-cap-tooltip{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.digital-twin-cap-tooltip-row{display:flex;align-items:center;gap:7px}.digital-twin-cap-tooltip-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red)}.digital-twin-space-body{display:flex;min-width:0;max-width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px}.digital-twin-canvas-empty{color:var(--muted)}.digital-twin-unplaced{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px}.digital-twin-unplaced>span{color:var(--muted);font-size:.72rem;font-weight:600}.digital-twin-unplaced button{padding:5px 10px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--text-2);font:inherit;font-size:.75rem;cursor:pointer}.digital-twin-navigator-actions{display:flex;flex:0 0 auto;align-items:center}.digital-twin-space-tree,.digital-twin-space-children{margin:0;padding:0;list-style:none}.digital-twin-space-row{display:flex;width:100%;min-height:38px;align-items:center;gap:8px;padding:6px 10px 6px calc(10px + var(--space-depth) * 15px);border:0;border-bottom:1px solid rgba(212,220,213,.55);border-radius:6px;background:transparent;color:var(--twin-ink);text-align:left;cursor:pointer;transition:background .15s ease}.digital-twin-space-row:hover{background:#dcebe073}.digital-twin-space-row.is-selected{background:linear-gradient(90deg,#dc654a14,#dc654a08);border-left:3px solid var(--twin-coral)}.digital-twin-tree-marker{width:7px;height:7px;flex:0 0 7px;border:1.5px solid var(--twin-green);border-radius:50%;transition:background .15s ease,border-color .15s ease}.digital-twin-space-row.is-selected .digital-twin-tree-marker{border-color:var(--twin-coral);background:var(--twin-coral)}.digital-twin-space-row-label{min-width:0;flex:1;overflow:hidden;font-size:.78rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.digital-twin-space-row-type{flex:0 0 auto;max-width:42%;overflow:hidden;color:var(--twin-muted);font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.digital-twin-selected{padding:18px}.digital-twin-selected-heading{justify-content:space-between;align-items:flex-start;gap:12px}.digital-twin-selected-heading h2{min-width:0;overflow-wrap:anywhere}.digital-twin-type-chip{flex:0 0 auto;max-width:45%;overflow:hidden;padding:3px 8px;border-radius:100px;background:#294b3e14;color:var(--twin-green);font-size:.64rem;font-weight:700;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap}.digital-twin-purpose{margin:11px 0 0;font-size:.82rem;font-weight:700;line-height:1.5}.digital-twin-description{margin:6px 0 0;color:var(--twin-muted);font-size:.76rem;line-height:1.5}.digital-twin-detail-block{margin-top:16px}.digital-twin-detail-block h3{margin:0 0 7px;color:var(--twin-muted);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.digital-twin-tags,.digital-twin-dimensions,.digital-twin-capabilities{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.digital-twin-tags li{padding:3px 8px;border:1px solid var(--twin-line);border-radius:100px;color:#41534a;font-size:.68rem;font-weight:600}.digital-twin-dimensions li{color:var(--twin-ink);font-size:.74rem}.digital-twin-capabilities{flex-direction:column}.digital-twin-capabilities li{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid var(--twin-line)}.digital-twin-capability-symbol{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#d4e968,#b8d44e);color:var(--twin-ink);font-size:.85rem;font-weight:700;box-shadow:0 1px 3px #b4c83c4d}.digital-twin-capabilities strong,.digital-twin-capabilities small{display:block}.digital-twin-capabilities strong{font-size:.78rem}.digital-twin-capabilities small{margin-top:2px;color:var(--twin-muted);font-size:.66rem}.digital-twin-empty{margin:12px 0 0;color:var(--twin-muted);font-size:.78rem;line-height:1.5}@keyframes twin-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.digital-twin-workspace{grid-template-columns:minmax(0,1fr)}.digital-twin-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);border-left:0}.digital-twin-navigator{border-right:1px solid var(--line);border-bottom:0}}@media (max-width: 700px){.digital-twin-banner{max-width:100%}}@media (max-width: 620px){.digital-twin-page{padding:14px 12px 28px}.digital-twin-banner{margin:6px 0 18px;border-radius:12px}.digital-twin-canvas-section{padding:16px 14px}.digital-twin-canvas{aspect-ratio:1.04;min-height:280px}.digital-twin-space-body{padding:7px;gap:2px}.digital-twin-space-label{font-size:.72rem}.digital-twin-space-type{font-size:.64rem}.digital-twin-space-cap-badge{display:none}.digital-twin-sidebar{grid-template-columns:minmax(0,1fr)}.digital-twin-navigator{border-right:0;border-bottom:1px solid var(--line)}.digital-twin-selected{padding:20px 18px 24px}}.studio-console{display:flex;min-height:100vh;flex-direction:column;gap:1rem;padding:clamp(1.25rem,3vw,3rem)}.studio-header,.studio-state-banner,.studio-panel,.studio-class-card,.studio-action-banner{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 1px #ffffff0a}.studio-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.studio-eyebrow{color:var(--red-bright);font-size:.75rem;font-weight:600;letter-spacing:.06em}.studio-section-kicker{margin-bottom:.9rem;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.1em}.studio-title{margin:.35rem 0 .25rem;font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-.03em;line-height:1.05}.studio-subtitle{margin:0;color:var(--muted);font-size:.85rem}.studio-subtitle strong{color:var(--text-2);font-weight:600}.studio-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.studio-user-card{padding:.55rem .9rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);text-align:right}.studio-user-label{color:var(--muted);font-size:.7rem;letter-spacing:.08em}.studio-user-name{font-size:.9rem;font-weight:700}.studio-role-badge{color:var(--red-bright);font-size:.7rem;font-weight:700;letter-spacing:.04em}.studio-empty-state p,.studio-muted{color:var(--muted)}.studio-muted{font-size:.9rem}.studio-empty-state p{margin:.55rem 0 0}.studio-alert{margin:0;padding:.85rem 1rem;border-radius:var(--radius-sm)}.studio-alert-attention{border:1px solid rgba(242,180,65,.4);background:var(--warn-soft);color:var(--warn)}.studio-lifecycle,.studio-readiness-badge{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}.studio-lifecycle{padding:.6rem .85rem;border:1px solid currentColor;border-radius:999px;font-size:.78rem}.studio-lifecycle-ready,.studio-readiness-ready,.studio-status-ready{color:var(--ok)}.studio-lifecycle-blocked,.studio-readiness-blocked,.studio-status-blocked{color:var(--red-bright)}.studio-lifecycle-attention,.studio-readiness-attention,.studio-status-attention{color:var(--warn)}.studio-status-dot{display:inline-block;width:.58rem;height:.58rem;border-radius:50%;background:currentColor}.studio-state-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:clamp(1.2rem,3vw,2rem)}.studio-state-banner strong{display:block;margin-top:.3rem;font-size:clamp(1.8rem,4vw,3.2rem);letter-spacing:-.02em}.studio-state-banner p{margin:.55rem 0 0;color:var(--muted)}.studio-receptionist-status-detail{margin-top:.65rem;color:var(--muted);font-size:.9rem}.studio-readiness-badge{padding:.75rem 1rem;border-radius:10px;background:var(--ok-soft)}.studio-readiness-blocked{background:var(--red-soft)}.studio-readiness-attention{background:var(--warn-soft)}.studio-grid{display:grid;gap:1rem;margin:0}.studio-grid-primary{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)}.studio-console-receptionist .studio-grid-primary{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.studio-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-class-card,.studio-panel{min-width:0;padding:clamp(1.1rem,2.5vw,1.75rem)}.studio-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.studio-class-card{min-height:19rem;border-color:var(--red-line);background:radial-gradient(520px 260px at 0% 0%,rgba(229,40,58,.28),transparent 70%),linear-gradient(160deg,#1b070a,#0a0a0a 70%)}.studio-class-card .studio-section-kicker{color:var(--red-bright)}.studio-class-card h2{max-width:12ch;margin:.9rem 0 0;font-size:clamp(2rem,4.6vw,3.8rem);font-weight:600;letter-spacing:-.035em;line-height:.98;text-transform:capitalize}.studio-class-card .studio-empty-state h2{text-transform:none;font-size:clamp(1.5rem,3vw,2.2rem)}.studio-class-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.25rem;margin:1.5rem 0 1rem;color:var(--text-2);font-size:.88rem}.studio-meta-label{color:var(--muted);font-size:.78rem}.studio-attendance-count{display:flex;align-items:baseline;gap:.3rem;margin-top:1.25rem}.studio-count-big{color:var(--red-bright);font-size:3rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}.studio-count-sep{color:var(--muted);font-size:1.6rem}.studio-count-total{color:var(--text);font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums}.studio-count-label{margin-left:.4rem;align-self:center;color:var(--muted);font-size:.82rem}.studio-count-display{font-size:1.3rem;font-weight:700}.studio-schedule-list,.studio-capability-list,.studio-roster-list{display:flex;flex-direction:column;gap:.2rem;padding:0;margin:0;list-style:none}.studio-schedule-item,.studio-capability-row,.studio-roster-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:2.55rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.studio-schedule-item span:nth-child(2){flex:1;font-weight:600}.studio-schedule-item span:last-child:not(.studio-pill){color:var(--muted);font-size:.85rem}.studio-schedule-entry{padding:.3rem 0 .65rem;border-bottom:1px solid var(--line)}.studio-schedule-entry .studio-schedule-item{border-bottom:0}.studio-schedule-details{display:flex;flex-wrap:wrap;gap:.35rem .9rem;padding-left:1.35rem;color:var(--muted);font-size:.78rem}.studio-schedule-type{font-size:.88rem;font-weight:600;text-transform:capitalize}.studio-schedule-time{color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.studio-past-classes-toggle{margin-top:.75rem}.studio-past-classes{margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--line)}.studio-past-class-row{justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.studio-past-class-row .studio-schedule-type{flex:1}.studio-mini-state{width:.6rem;height:.6rem;border-radius:50%;background:var(--muted)}.studio-mini-state-ready{background:var(--ok)}.studio-mini-state-blocked{background:var(--red)}.studio-mini-state-attention{background:var(--warn)}.studio-capability-row>span:first-child{flex:1;font-weight:600}.studio-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:700}.studio-check{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:1.45rem;border:1px solid var(--line-strong);color:var(--muted);font-size:.62rem;font-weight:700}.studio-check-in{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.studio-cap-info{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex:1}.studio-cap-name{font-size:.9rem;font-weight:600;text-transform:capitalize}.studio-cap-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.studio-cap-msg{color:var(--muted);font-size:.74rem}.studio-roster-row{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line);list-style:none}.studio-roster-indicator{width:1.2rem;font-size:1rem;text-align:center}.studio-roster-in{color:var(--ok)}.studio-roster-out{color:#555}.studio-roster-name{flex:1;font-size:.9rem;font-weight:600}.studio-roster-status-badge{padding:.15rem .55rem;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:.7rem;font-weight:700;letter-spacing:.04em}.studio-roster-pending{background:var(--surface-3);color:var(--muted)}.studio-checkin-btn{padding:.35rem .8rem;border:0;border-radius:8px;background:var(--red);color:#fff;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .15s ease}.studio-checkin-btn:hover:not(:disabled){background:var(--red-hover)}.studio-checkin-btn:disabled{opacity:.5;cursor:default}.studio-schedule-form{display:grid;gap:.75rem;margin:.75rem 0;padding:.85rem 0;border-bottom:1px solid var(--line)}.studio-schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.studio-schedule-field{display:grid;min-width:0;gap:.3rem;color:var(--muted);font-size:.78rem;font-weight:600}.studio-schedule-field input,.studio-schedule-field select{width:100%;min-width:0;padding:.6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font:inherit}.studio-schedule-field input:focus,.studio-schedule-field select:focus{border-color:var(--red);outline:none;box-shadow:0 0 0 3px var(--red-soft)}.studio-schedule-clients{display:flex;flex-wrap:wrap;gap:.55rem .85rem;min-width:0;margin:0;padding:.6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.studio-schedule-clients legend{padding:0 .25rem;color:var(--muted);font-size:.78rem;font-weight:600}.studio-schedule-client-option{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-2);font-size:.82rem}.studio-schedule-success{color:var(--ok);font-size:.82rem;font-weight:600}.studio-action-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:1.5rem 2rem;border-left-width:4px}.studio-action-banner-ready{border-left-color:var(--ok);background:linear-gradient(90deg,var(--ok-soft),var(--surface) 55%)}.studio-action-banner-attention{border-left-color:var(--warn);background:linear-gradient(90deg,var(--warn-soft),var(--surface) 55%)}.studio-action-banner-danger{border-left-color:var(--red);background:linear-gradient(90deg,rgba(229,40,58,.2),var(--surface) 55%)}.studio-action-banner-neutral{border-left-color:var(--line-strong);background:var(--surface)}.studio-action-kicker{margin-bottom:.3rem;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.14em}.studio-action-state{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;letter-spacing:-.02em}.studio-action-left{flex:1;min-width:200px}.studio-action-right{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.studio-timer{margin-top:.5rem;color:#fff;font-size:clamp(2.4rem,6vw,4rem);font-weight:300;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.studio-timer-paused{color:var(--warn);font-size:1.5rem;font-weight:600;letter-spacing:0}.studio-blocking-list{margin-top:.85rem}.studio-blocking-count{margin-bottom:.3rem;color:var(--text-2);font-size:.85rem;font-weight:700}.studio-blocking-reason{color:var(--text-2);font-size:.88rem;line-height:1.6}.studio-action-error{margin-top:.5rem;color:var(--red-bright);font-size:.85rem;font-weight:600}.studio-not-ready-hint{max-width:230px;color:var(--muted);font-size:.85rem;text-align:right}.studio-finished-notice{color:var(--ok);font-size:.95rem;font-weight:700}.studio-btn-primary,.studio-btn-danger,.studio-btn-secondary{padding:.75rem 1.4rem;border:1px solid transparent;border-radius:10px;font:inherit;font-size:.9rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.studio-btn-primary{background:var(--red);color:#fff}.studio-btn-primary:hover:not(:disabled){background:var(--red-hover)}.studio-btn-start{padding:1rem 2rem;font-size:1.05rem;box-shadow:0 12px 34px -10px var(--red-glow)}.studio-btn-danger{border-color:var(--red-line);background:transparent;color:var(--red-bright)}.studio-btn-danger:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.studio-btn-secondary{border-color:var(--line-strong);background:var(--surface-3);color:var(--text)}.studio-btn-secondary:hover:not(:disabled){border-color:var(--red)}.studio-btn-primary:disabled,.studio-btn-danger:disabled,.studio-btn-secondary:disabled{opacity:.45;cursor:default}.studio-btn-ghost{padding:.6rem 1rem;border:1px solid var(--line-strong);border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.studio-btn-ghost:hover{border-color:var(--red);background:var(--red-soft)}.studio-btn-xs{padding:.3rem .7rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease}.studio-btn-xs:hover:not(:disabled){border-color:var(--red);color:var(--red-bright)}.studio-btn-xs:disabled{opacity:.5;cursor:default}.studio-btn-xs-recover{border-color:#f2b44180;color:var(--warn)}.studio-btn-xs-recover:hover:not(:disabled){border-color:var(--warn);color:var(--warn)}.studio-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em}.studio-pill-ready{background:var(--ok-soft);color:var(--ok)}.studio-pill-danger{background:var(--red);color:#fff}.studio-pill-attention{background:var(--warn-soft);color:var(--warn)}.studio-pill-neutral{background:var(--surface-3);color:var(--text-2)}.studio-attention-panel{border-color:var(--red-line);background:linear-gradient(180deg,rgba(229,40,58,.12),var(--surface) 70%)}.studio-reason{display:flex;flex-wrap:wrap;gap:.75rem;padding:.7rem 0;border-bottom:1px solid rgba(229,40,58,.2)}.studio-reason strong{min-width:12rem;color:var(--red-bright);font-size:.8rem;letter-spacing:.04em}.studio-reason span{color:var(--text-2)}.studio-reason .studio-muted{color:var(--muted);font-size:.8rem}.studio-spaces-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}.studio-space-node>.studio-spaces-list{margin:.5rem 0 0 .9rem;padding-left:1rem;border-left:1px solid var(--line-strong)}.studio-space-card{padding:.75rem .95rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.studio-space-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.studio-space-type{color:var(--muted);font-size:.75rem}.studio-space-card p{margin:.35rem 0 0;color:var(--text-2);font-size:.85rem}.studio-space-details{margin-top:.4rem;color:var(--muted);font-size:.76rem}.studio-diagnostics{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.studio-diagnostics-toggle{width:100%;padding:.7rem 1rem;border:0;background:var(--surface-2);color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;text-align:left;cursor:pointer}.studio-diagnostics-toggle:hover{background:var(--surface-3);color:var(--text)}.studio-diagnostics-body{padding:.75rem 1rem;color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.8}.studio-footer{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0 0;color:var(--muted);font-size:.78rem}.receptionist-control-surface{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.receptionist-control-heading{margin-bottom:1rem}.receptionist-control-heading h2{margin:.25rem 0;font-size:1.3rem;font-weight:600;letter-spacing:-.02em}.receptionist-control-heading p{margin:0;color:var(--muted);font-size:.85rem}.receptionist-control-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);border-top:1px solid var(--line)}.receptionist-control-layout .digital-twin-canvas-section{padding:18px 18px 18px 0}.receptionist-control-sidebar{min-width:0;border-left:1px solid var(--line);background:transparent}.receptionist-control-sidebar .digital-twin-navigator,.receptionist-controls-panel{padding:18px}.receptionist-controls-panel h3{margin:0 0 8px;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.receptionist-capability{padding:12px 0;border-top:1px solid var(--line)}.receptionist-capability-heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.receptionist-capability-heading strong{font-size:.88rem;font-weight:600}.receptionist-capability-heading span{color:var(--muted);font-size:.74rem}.receptionist-capability-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.receptionist-audio-playlist{margin-top:8px}.receptionist-capability-actions button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.receptionist-control-layout{grid-template-columns:minmax(0,1fr)}.receptionist-control-sidebar{border-top:1px solid var(--line);border-left:0}}@media (max-width: 760px){.studio-console{padding:.8rem}.studio-header{flex-direction:column}.studio-state-banner{align-items:flex-start;flex-direction:column}.studio-grid-primary,.studio-grid-secondary,.studio-console-receptionist .studio-grid-primary{grid-template-columns:minmax(0,1fr)}.studio-class-card{min-height:auto}.studio-action-banner{padding:1.25rem}.studio-footer{flex-direction:column}}@media (max-width: 700px){.studio-schedule-form-grid{grid-template-columns:minmax(0,1fr)}.studio-schedule-details{padding-left:0}}@media (max-width: 620px){.receptionist-control-surface{padding:.75rem}.receptionist-control-layout .digital-twin-canvas-section{padding-right:0}}@media (prefers-reduced-motion: reduce){.digital-twin-shell{animation:none}.digital-twin-space,.digital-twin-cap-tooltip,.digital-twin-tree-marker,.digital-twin-space-row,.digital-twin-account-action,.login-submit,.studio-btn-primary,.studio-btn-danger,.studio-btn-secondary,.studio-btn-ghost,.studio-btn-xs,.studio-checkin-btn{transition:none}}.digital-twin-space:hover{border-color:#fff9}.digital-twin-space.is-selected{border-color:var(--red);background:#e5283a12;box-shadow:0 0 0 1px var(--red-line),0 0 26px #e5283a52,inset 0 0 36px #e5283a1a}.digital-twin-space.is-selected:hover{border-color:var(--red-hover)}.digital-twin-space-label{color:var(--text);font-size:.85rem;font-weight:600;letter-spacing:0}.digital-twin-space-type{color:var(--muted);font-size:.72rem;letter-spacing:0;text-transform:none}.digital-twin-space.is-selected .digital-twin-space-type{color:var(--red-bright)}.digital-twin-space-cap-badge{gap:4px;margin-top:3px;padding:2px 8px 2px 6px;border:1px solid rgba(229,40,58,.35);border-radius:999px;background:var(--red-soft);color:var(--red-bright)}.digital-twin-cap-icon{width:10px;height:10px;fill:currentColor}.digital-twin-cap-count{color:inherit;font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0}.digital-twin-cap-tooltip{gap:5px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:10px;background:#1a1a1a;color:var(--text);font-size:.74rem;font-weight:500;box-shadow:0 14px 36px #000000b3}.digital-twin-cap-tooltip-dot{width:6px;height:6px;flex:0 0 6px;background:var(--red);box-shadow:0 0 8px var(--red)}.digital-twin-canvas-empty,.digital-twin-unplaced>span{color:var(--muted)}.digital-twin-unplaced button{border-color:var(--line-strong);border-radius:999px;background:transparent;color:var(--text-2)}.digital-twin-unplaced button:hover{border-color:var(--red);color:var(--text)}.digital-twin-navigator{border-color:var(--line)}.digital-twin-space-row{border-bottom-color:var(--line);color:var(--text-2)}.digital-twin-space-row:hover{background:var(--surface-2)}.digital-twin-space-row.is-selected{border-left-color:var(--red);background:linear-gradient(90deg,var(--red-soft),transparent)}.digital-twin-tree-marker{border-color:var(--text-2)}.digital-twin-space-row.is-selected .digital-twin-tree-marker{border-color:var(--red);background:var(--red)}.digital-twin-space-row-type{color:var(--muted)}.digital-twin-type-chip{background:var(--red-soft);color:var(--red-bright)}.digital-twin-description,.digital-twin-detail-block h3,.digital-twin-capabilities small,.digital-twin-empty{color:var(--muted)}.digital-twin-tags li{border-color:var(--line-strong);color:var(--text-2)}.digital-twin-dimensions li,.digital-twin-capabilities strong{color:var(--text-2)}.digital-twin-capabilities li{border-color:var(--line)}.digital-twin-capability-symbol{background:var(--red-soft);color:var(--red-bright);box-shadow:none}@container (max-height: 52px){.digital-twin-space-body{width:100%;height:100%;flex-direction:row;align-items:center;gap:8px;padding:0 9px}.digital-twin-space-label{flex:0 1 auto;font-size:.78rem}.digital-twin-space-type{flex:1 1 0;min-width:0}.digital-twin-space-cap-badge{flex:none;margin:0 0 0 auto;padding:1px 7px 1px 5px}}@container (max-height: 52px) and (max-width: 260px){.digital-twin-space-type{display:none}}.hover\:bg-cyan-800\/50:hover{background-color:#155e7580}
