/*! tailwindcss v4.3.3 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-400:oklch(75% .183 55.934);--color-orange-700:oklch(55.3% .195 38.402);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-900:oklch(37.8% .077 168.94);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-700:oklch(52% .105 223.128);--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-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-wide:.025em;--leading-tight:1.25;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-gray-200)}::file-selector-button{border-color:var(--color-gray-200)}input::placeholder,textarea::placeholder{color:var(--color-gray-400)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}*{box-sizing:border-box}body{color:#0f172a;background:#f1f5f9;font-family:Inter,sans-serif}}@layer components{.sidebar{background-color:#0f172a;flex-direction:column;flex-shrink:0;width:215px;display:flex;overflow-y:auto}.sidebar-toggle{height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 8);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-700);background-color:var(--color-slate-800);color:var(--color-white);justify-content:center;align-items:center;margin-left:auto;display:none}.nav-item{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 2);border-left-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-400);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-color:#0000;border-left-width:3px;display:flex}.nav-item:hover{background-color:var(--color-slate-800);color:var(--color-white)}.nav-item.active{border-left-color:var(--color-blue-500);color:var(--color-white);background-color:#1e3a5f}.nav-group{padding-inline:calc(var(--spacing) * 3.5);padding-top:calc(var(--spacing) * 3);padding-bottom:var(--spacing);--tw-font-weight:var(--font-weight-black);font-size:9px;font-weight:var(--font-weight-black);--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);color:var(--color-slate-500);text-transform:uppercase}.card{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white)}.card-p{padding:calc(var(--spacing) * 3.5)}.btn{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-lg);--tw-border-style:none;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-family:inherit;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);white-space:nowrap;transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-style:none;display:inline-flex}.btn-primary{background-color:var(--color-blue-600);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-blue-700)}.btn-outline{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-700)}.btn-outline:hover{background-color:var(--color-slate-50)}.btn-danger{background-color:var(--color-red-500);color:var(--color-white)}.btn-danger:hover{background-color:var(--color-red-600)}.btn-success{background-color:var(--color-green-500);color:var(--color-white)}.btn-success:hover{background-color:var(--color-green-600)}.btn-sm{padding-inline:calc(var(--spacing) * 2.5);padding-block:var(--spacing);font-size:11px}.badge{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-semibold);font-size:9.5px;font-weight:var(--font-weight-semibold);white-space:nowrap;border-radius:3.40282e38px;align-items:center;display:inline-flex}.badge-green{background-color:var(--color-green-100);color:var(--color-green-700)}.badge-yellow{background-color:var(--color-yellow-100);color:var(--color-yellow-700)}.badge-red{background-color:var(--color-red-100);color:var(--color-red-600)}.badge-blue{background-color:var(--color-blue-100);color:var(--color-blue-700)}.badge-purple{background-color:var(--color-purple-100);color:var(--color-purple-700)}.badge-gray{background-color:var(--color-slate-100);color:var(--color-slate-600)}.badge-orange{background-color:var(--color-orange-100);color:var(--color-orange-700)}.badge-cyan{background-color:var(--color-cyan-100);color:var(--color-cyan-700)}.stat-card{align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);min-width:0;padding:calc(var(--spacing) * 3);display:flex}.stat-icon{height:calc(var(--spacing) * 10);width:calc(var(--spacing) * 10);border-radius:var(--radius-lg);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));flex-shrink:0;justify-content:center;align-items:center;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-50);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);text-align:left;--tw-font-weight:var(--font-weight-semibold);font-size:9.5px;font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide);white-space:nowrap;color:var(--color-slate-500);text-transform:uppercase}td{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);vertical-align:middle;font-size:11.5px}tr:last-child td{border-bottom-style:var(--tw-border-style);border-bottom-width:0}tr:hover td{background-color:var(--color-slate-50)}.form-input{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1.5);color:var(--color-slate-800);--tw-outline-style:none;outline-style:none;font-family:inherit;font-size:12px}@media(forced-colors:active){.form-input{outline-offset:2px;outline:2px solid #0000}}.form-input{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.form-input:focus{border-color:var(--color-blue-500);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-blue-100)}.tab{margin-bottom:calc(var(--spacing) * -.5);cursor:pointer;border-bottom-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-size:11.5px;font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-slate-500);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-color:#0000;border-bottom-width:2px}.tab:hover{color:var(--color-slate-800)}.tab.active{border-bottom-color:var(--color-blue-600);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-blue-600)}.slot-box{height:calc(var(--spacing) * 8);width:calc(var(--spacing) * 8);cursor:pointer;border-radius:var(--radius-sm);border-style:var(--tw-border-style);border-width:1px;border-color:#0000001a;justify-content:center;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.slot-box{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.slot-box{--tw-font-weight:var(--font-weight-bold);font-size:7.5px;font-weight:var(--font-weight-bold);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));-webkit-user-select:none;user-select:none}.slot-box:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.slot-free{background-color:var(--color-green-400);color:var(--color-white)}.slot-reserved{background-color:var(--color-yellow-400);color:var(--color-yellow-900)}.slot-occupied{background-color:var(--color-orange-400);color:var(--color-white)}.slot-maintenance{background-color:var(--color-slate-400);color:var(--color-white)}.modal-overlay{z-index:50;background-color:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.modal-overlay{background-color:color-mix(in oklab,var(--color-black) 45%,transparent)}}.modal-box{border-radius:var(--radius-2xl);background-color:var(--color-white);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:540px;max-width:95vw;max-height:90vh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);overflow-y:auto}.modal-box.modal-wide{width:880px}.spinner{height:calc(var(--spacing) * 5);width:calc(var(--spacing) * 5);animation:var(--animate-spin);border-style:var(--tw-border-style);border-width:2px;border-color:var(--color-slate-200);border-top-color:var(--color-blue-600);border-radius:3.40282e38px;display:inline-block}.progress-bar{margin-top:calc(var(--spacing) * .5);height:calc(var(--spacing) * 1.5);background-color:var(--color-slate-200);border-radius:3.40282e38px;overflow:hidden}.progress-fill{border-radius:3.40282e38px;height:100%}}@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-1{top:calc(var(--spacing) * -1)}.top-0\.5{top:calc(var(--spacing) * .5)}.-right-1{right:calc(var(--spacing) * -1)}.right-0\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.col-span-2{grid-column:span 2/span 2}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[-0\.35rem\]{margin-top:-.35rem}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[52px\]{height:52px}.h-full{height:100%}.h-screen{height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-96{width:calc(var(--spacing) * 96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[150px\]{max-width:150px}.max-w-\[170px\]{max-width:170px}.max-w-\[220px\]{max-width:220px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\[140px\]{min-width:140px}.min-w-\[260px\]{min-width:260px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block:0}: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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.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-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-none{--tw-border-style:none;border-style:none}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-600{border-color:var(--color-blue-600)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-green-300{border-color:var(--color-green-300)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-800{border-color:var(--color-slate-800)}.border-white{border-color:var(--color-white)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-blue-200{border-top-color:var(--color-blue-200)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/55{background-color:#ffffff8c}@supports (color:color-mix(in lab,red,red)){.bg-white\/55{background-color:color-mix(in oklab,var(--color-white) 55%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.font-\[inherit\]{font-family:inherit}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8\.5px\]{font-size:8.5px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[15px\]{font-size:15px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-900{color:var(--color-emerald-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-900{color:var(--color-green-900)}.text-purple-700{color:var(--color-purple-700)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-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)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.shadow{--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)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.outline-blue-500{outline-color:var(--color-blue-500)}.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))}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-green-50:hover{background-color:var(--color-green-50)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-900\/30:hover{background-color:#82181a4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-900\/30:hover{background-color:color-mix(in oklab,var(--color-red-900) 30%,transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:inline{display:inline}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:inline{display:inline}}@media(min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}.main-scroll{scrollbar-width:thin;scrollbar-color:#e2e8f0 transparent}.sidebar nav{scrollbar-width:thin;scrollbar-color:#334155 transparent}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-track{background:0 0}.sidebar nav::-webkit-scrollbar-thumb{background:#334155;border-radius:999px}.btn.active-soft{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.pan-frame{min-width:0;position:relative}.pan-viewport{scrollbar-width:none;cursor:grab;outline:none;max-width:100%;max-height:min(68vh,720px);overflow:auto}.pan-viewport::-webkit-scrollbar{width:0;height:0}.pan-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.pan-arrow{z-index:30;color:#334155;opacity:.72;background:#ffffffeb;border:1px solid #dbe4ef;border-radius:999px;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;font-size:12px;font-weight:900;transition:all .15s;display:inline-flex;position:absolute;box-shadow:0 6px 14px #0f172a1f}.pan-arrow:hover{opacity:1;color:#1d4ed8;background:#eff6ff}.pan-arrow-top{top:.35rem;left:50%;transform:translate(-50%)}.pan-arrow-right{top:50%;right:.35rem;transform:translateY(-50%)}.pan-arrow-bottom{bottom:.35rem;left:50%;transform:translate(-50%)}.pan-arrow-left{top:50%;left:.35rem;transform:translateY(-50%)}.designer-shell{flex-direction:column;gap:.85rem;display:flex}.designer-toolbar{justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.designer-title{align-items:center;gap:.7rem;min-width:260px;display:flex}.designer-title>svg{color:#2563eb}.designer-title p{color:#64748b;margin-top:.15rem;font-size:10px}.designer-name{color:#0f172a;background:0 0;border:0;outline:0;width:min(380px,100%);font-size:17px;font-weight:800}.designer-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.designer-controls label{color:#64748b;align-items:center;gap:.35rem;font-size:10px;font-weight:700;display:inline-flex}.designer-controls select{color:#0f172a;background:#fff;border:1px solid #dbe4ef;border-radius:.55rem;padding:.38rem .55rem;font-size:11px}.designer-grid-layout{grid-template-columns:230px minmax(0,1fr) 280px;align-items:start;gap:.85rem;display:grid}.designer-grid-layout.detail-collapsed{grid-template-columns:230px minmax(0,1fr) 58px}.designer-side{min-height:280px;padding:.75rem}.designer-detail-side{position:sticky;top:.75rem}.designer-grid-layout.detail-collapsed .designer-detail-side{align-self:start;min-height:0}.designer-grid-layout.detail-collapsed .designer-detail-side .designer-side-head{writing-mode:vertical-rl;justify-content:flex-start;align-items:center;min-height:150px;margin:0}.designer-grid-layout.detail-collapsed .designer-detail-side h3{font-size:12px}.designer-side-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.65rem;display:flex}.designer-side-head h3{color:#0f172a;font-size:13px;font-weight:800}.designer-side-head span{color:#94a3b8;font-size:9.5px}.designer-palette{gap:.45rem;max-height:calc(100vh - 255px);padding-right:.2rem;display:grid;overflow-y:auto}.designer-category-tabs{grid-template-columns:repeat(9,minmax(0,1fr));gap:.2rem;margin-bottom:.55rem;display:grid}.designer-category-tabs button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #dbe4ef;border-radius:.45rem;height:1.45rem;font-size:9px;font-weight:800}.designer-category-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb}.designer-layer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-bottom:.55rem;display:grid}.designer-layer-tabs button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #dbe4ef;border-radius:.55rem;min-height:2rem;font-size:9.5px;font-weight:800}.designer-layer-tabs button.active{color:#fff;background:#2563eb;border-color:#2563eb}.designer-palette-item{text-align:left;cursor:grab;background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;grid-template-columns:32px 1fr;align-items:center;gap:.55rem;min-height:48px;padding:.38rem;transition:all .15s;display:grid}.designer-palette-item:hover,.designer-palette-item.active{border-color:#2563eb;box-shadow:0 8px 18px #2563eb1f}.designer-palette-item>span:last-child{gap:.15rem;display:grid}.designer-palette-item strong{color:#334155;font-size:10.5px;font-weight:700;line-height:1.15}.designer-palette-item small{color:#94a3b8;font-size:9px}.designer-palette-swatch{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:.55rem;width:28px;height:28px;box-shadow:inset 0 0 0 4px #ffffff80}.designer-palette-swatch.slot{background:#8dcc61;border-color:#4d9f40}.designer-palette-swatch.service{background:#bfdbfe;border-color:#60a5fa}.designer-palette-swatch.road{background:#94a3b8;border-color:#64748b}.designer-palette-swatch.layer{background:#ddd6fe;border-color:#8b5cf6}.designer-layer-help{color:#64748b;margin-top:.65rem;font-size:9.5px;line-height:1.4}.designer-canvas-wrap{background:linear-gradient(135deg,#ecfdf5,#f8fafc 45%,#eef6ff);padding:1rem;overflow:hidden}.designer-pan .pan-viewport{max-height:calc(100vh - 205px)}.designer-canvas{shrink:0;background-color:#d8dde2;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border:8px solid #64748b;border-radius:1.15rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff59,0 18px 35px #0f172a1f}.designer-canvas.perimeter-comunale-verde{background-color:#6b7f72;border-color:#2f9e44}.designer-canvas.perimeter-privato-elegante{background-color:#69707a;border-color:#334155}.designer-canvas.perimeter-tecnico-minimal{background-color:#7a828b;border-color:#94a3b8}.designer-cell{cursor:crosshair;background:#ffffff05;border:1px dashed #fff3;min-width:0;min-height:0;padding:0}.designer-cell:hover{background:#60a5fa38}.designer-tile{cursor:pointer;z-index:2;transform-origin:50%;box-sizing:border-box;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.designer-tile.overlay{z-index:6}.designer-tile.selected{outline-offset:-1px;z-index:12;border-radius:.45rem;outline:3px solid #2563eb}.designer-tile img:not(.runtime-overlay){object-fit:cover;pointer-events:none;filter:none;width:100%;height:100%}.designer-tile strong{color:#0f172a;pointer-events:none;opacity:0;background:#ffffffdb;border-radius:999px;padding:.12rem .25rem;font-size:9px;line-height:1;transition:all .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.designer-tile:hover strong,.designer-tile.selected strong{opacity:1}.runtime-overlay{object-fit:contain;pointer-events:none;z-index:4;position:absolute;bottom:4px;right:4px;width:52%!important;height:52%!important}.camera-coverage{width:var(--range);height:var(--range);background:conic-gradient(from -45deg,#3b82f63d 0deg,#3b82f61a var(--fov),transparent var(--fov),transparent 360deg);pointer-events:none;z-index:0;border:1px solid #2563eb3d;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.designer-slot-overlay{pointer-events:none;background:#86efac29;border:2px solid #16653499;border-radius:.25rem;place-items:center;display:grid;position:absolute;top:2px;right:2px;bottom:2px;left:2px}.designer-slot-overlay.reserved{background:#fbbf2438;border-color:#d97706c7}.designer-slot-overlay.occupied{background:#f8717138;border-color:#dc2626c7}.designer-slot-overlay.maintenance{background:#94a3b84d;border-color:#475569cc}.designer-slot-overlay strong{color:#0f172a;background:#ffffffe0;border-radius:999px;padding:.12rem .3rem;font-size:9px;line-height:1}.designer-layer-marker{z-index:2;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.camera-marker{color:#2563eb;background:#fffffff0;border:1px solid #2563eb;border-radius:999px;width:1.65rem;height:1.65rem;box-shadow:0 5px 12px #0f172a2e}.service-marker{color:#1e3a8a;background:#eff6ffdb;border:1px solid #2563eb66;border-radius:.45rem;max-width:90%;padding:.25rem .4rem;font-size:9px;font-weight:800;line-height:1.15}.designer-detail{flex-direction:column;gap:.7rem;display:flex}.selected-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.7rem;align-items:center;gap:.55rem;padding:.5rem;display:flex}.selected-preview img{object-fit:contain;width:46px;height:46px}.selected-preview strong{color:#0f172a;font-size:12px;display:block}.selected-preview span{color:#64748b;font-size:9.5px;display:block}.detail-actions{flex-wrap:wrap;gap:.4rem;display:flex}.detail-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.designer-detail label{color:#64748b;gap:.25rem;font-size:10px;font-weight:700;display:grid}.designer-empty{color:#64748b;font-size:11px;line-height:1.45}.designer-validation{border-top:1px solid #e2e8f0;gap:.35rem;margin-top:.9rem;padding-top:.75rem;display:grid}.designer-validation h3{color:#0f172a;align-items:center;gap:.35rem;margin-bottom:.2rem;font-size:12px;font-weight:800;display:flex}.designer-validation p{align-items:flex-start;gap:.35rem;font-size:10.5px;line-height:1.35;display:flex}.designer-validation .ok{color:#15803d}.designer-validation .err{color:#dc2626}.designer-validation .warn{color:#b45309}.designer-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.designer-summary span{color:#64748b;font-size:10px;font-weight:700;display:block}.designer-summary strong{color:#0f172a;margin-top:.15rem;font-size:20px;display:block}.designer-json{color:#0f172a;background:#f8fafc;max-height:360px;padding:1rem;font-size:11px;overflow:auto}.layout-preview-scroll{background:linear-gradient(135deg,#f8fafc,#eef6ff);border:1px solid #dbe4ef;border-radius:.9rem;max-width:100%;padding:.75rem;overflow:hidden}.layout-pan .pan-viewport{max-height:430px}.layout-preview{shrink:0;background:#737b82;border:6px solid #64748b;border-radius:.9rem;display:grid;position:relative;overflow:hidden}.layout-preview.perimeter-comunale-verde{background:#6b7f72;border-color:#2f9e44}.layout-preview.perimeter-privato-elegante{background:#69707a;border-color:#334155}.layout-preview.perimeter-tecnico-minimal{background:#7a828b;border-color:#94a3b8}.layout-preview-cell{border:1px dashed #ffffff21;min-width:0;min-height:0}.layout-preview-tile{transform-origin:50%;z-index:2;cursor:pointer;background:0 0;border:0;border-radius:.35rem;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.layout-preview-tile:hover{outline-offset:2px;z-index:20;outline:2px solid #2563ebd9}.layout-preview-tile.overlay{z-index:5}.layout-preview-tile img{object-fit:cover;pointer-events:none;filter:none;width:100%;height:100%}.layout-preview-tile strong{color:#0f172a;pointer-events:none;opacity:0;background:#ffffffdb;border-radius:999px;padding:.08rem .18rem;font-size:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.layout-preview-tile:hover strong{opacity:1}.preview-runtime-dot{border:1px solid #fff;border-radius:999px;width:.5rem;height:.5rem;position:absolute;bottom:3px;right:3px;box-shadow:0 1px 3px #0f172a3d}.preview-runtime-dot.free{background:#22c55e}.preview-runtime-dot.reserved{background:#eab308}.preview-runtime-dot.occupied{background:#f97316}.preview-runtime-dot.maintenance{background:#94a3b8}.layer-toggles{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.layer-toggles button{color:#64748b;background:#fff;border:1px solid #dbe4ef;border-radius:999px;padding:.25rem .55rem;font-size:10px;font-weight:800}.layer-toggles button.active{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.designer-box-detail strong{color:#0f172a;font-size:12px;display:block}.designer-box-detail span{color:#64748b;font-size:10px;display:block}.box-state-dot{background:#94a3b8;border-radius:.65rem;width:2rem;height:2rem;box-shadow:inset 0 0 0 2px #ffffffa6}.box-state-dot.free{background:#22c55e}.box-state-dot.reserved{background:#eab308}.box-state-dot.occupied{background:#f97316}.box-state-dot.maintenance{background:#94a3b8}.designer-box-detail dl{gap:.45rem;display:grid}.designer-box-detail dl div{border-bottom:1px solid #edf2f7;justify-content:space-between;gap:.75rem;padding-bottom:.35rem;font-size:10.5px;display:flex}.designer-box-detail dt{color:#64748b}.designer-box-detail dd{color:#0f172a;text-align:right;font-weight:700}.movement-log{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;gap:.3rem;margin-top:.65rem;padding:.65rem;display:grid}.movement-log h4{color:#0f172a;font-size:11px;font-weight:900}.movement-log p{color:#64748b;font-size:10px;line-height:1.35}.box-state-form{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.65rem;display:grid}.box-state-form label{color:#64748b;gap:.25rem;font-size:10px;font-weight:800;display:grid}.box-state-wide{grid-column:1/-1}.iot-general,.iot-panel{gap:.55rem;display:grid}.iot-general h4,.iot-panel h4{color:#0f172a;justify-content:space-between;align-items:center;gap:.5rem;font-size:12px;font-weight:900;display:flex}.iot-panel h4 span{color:#15803d;text-transform:uppercase;background:#dcfce7;border-radius:999px;padding:.12rem .45rem;font-size:9px}.iot-general div{border:1px solid #e2e8f0;border-radius:.65rem;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:10.5px;display:flex}.iot-general span,.iot-panel dt{color:#64748b}.iot-general strong,.iot-panel dd{color:#0f172a;font-weight:800}.iot-general p{color:#64748b;font-size:10px;line-height:1.35}.iot-panel dl{gap:.35rem;display:grid}.iot-panel dl div{border-bottom:1px solid #edf2f7;justify-content:space-between;gap:.5rem;padding-bottom:.25rem;font-size:10.5px;display:flex}.camera-stream-grid{grid-template-columns:1fr;gap:.45rem;display:grid}.camera-frame{color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a5f 48%,#0f766e);border:1px solid #1e293b;border-radius:.75rem;align-content:end;min-height:74px;padding:.55rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #3b82f633}.camera-frame .scanline{opacity:.45;background:repeating-linear-gradient(0deg,#ffffff14 0,#ffffff14 1px,#0000 1px,#0000 6px);position:absolute;top:0;right:0;bottom:0;left:0}.camera-frame strong{color:#fff;z-index:1;font-size:11px}.camera-frame small{color:#bfdbfe;z-index:1;word-break:break-all;font-size:8.5px}.iot-actions{flex-wrap:wrap;gap:.35rem;display:flex}.subscription-calendar-layout{grid-template-columns:minmax(0,1fr) 230px;gap:.85rem;display:grid}.subscription-month{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.subscription-month>strong{color:#64748b;text-transform:uppercase;font-size:9px}.subscription-day{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.25rem;min-height:4.7rem;padding:.45rem;display:flex}.subscription-day.today{background:#eff6ff;border-color:#93c5fd}.subscription-day b{color:#0f172a;font-size:11px}.subscription-day small{color:#1d4ed8;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.subscription-reminders{border-left:1px solid #e2e8f0;align-content:start;gap:.5rem;padding-left:.85rem;display:grid}.subscription-reminders h4{color:#0f172a;font-size:11px;font-weight:900}.subscription-reminders div{border:1px solid #e2e8f0;border-radius:.7rem;gap:.25rem;padding:.5rem;display:grid}.subscription-reminders span{font-size:11px;font-weight:800}.subscription-reminders small,.subscription-reminders p{color:#64748b;font-size:10px}.subscription-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.subscription-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.subscription-plan-card{background:#fff;border:1px solid #dbe4ef;border-radius:.85rem;gap:.45rem;min-height:132px;padding:1rem;display:grid}.subscription-plan-card>div{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.subscription-plan-card h3{color:#0f172a;font-size:14px;font-weight:900}.subscription-plan-card strong{color:#0f172a;font-size:24px;font-weight:950}.subscription-plan-card span,.subscription-plan-card small{color:#64748b;font-size:11px}.subscription-workspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:.85rem;display:grid}.subscription-main{gap:.85rem;min-width:0;display:grid}.subscription-side h3{margin-bottom:.35rem;font-size:13px;font-weight:900}.subscription-side p{color:#64748b;font-size:11px;line-height:1.45}.mini-list{gap:.4rem;margin-top:.75rem;display:grid}.mini-list span{border:1px solid #e2e8f0;border-radius:.65rem;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:11px;display:flex}.subscription-calendar-pro{gap:.8rem;display:grid}.subscription-calendar-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.subscription-calendar-head h3{text-transform:capitalize;font-size:16px;font-weight:900}.subscription-calendar-head p{color:#64748b;font-size:10.5px}.icon-btn{color:#334155;background:#fff;border:1px solid #dbe4ef;border-radius:.65rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.subscription-month-pro{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.subscription-month-pro>strong{color:#64748b;text-transform:uppercase;font-size:9px}.subscription-day-pro{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.8rem;flex-direction:column;gap:.28rem;min-height:105px;padding:.45rem;display:flex}.subscription-day-pro:hover{background:#eff6ff;border-color:#93c5fd}.subscription-day-pro b{color:#0f172a;font-size:12px}.subscription-day-pro .event{white-space:nowrap;text-overflow:ellipsis;border-radius:.45rem;padding:.18rem .35rem;font-size:9.5px;font-weight:800;display:block;overflow:hidden}.event-active{color:#15803d;background:#dcfce7}.event-expiring{color:#b45309;background:#fef3c7}.event-expired{color:#dc2626;background:#fee2e2}.event-suspended{color:#475569;background:#e2e8f0}.subscription-renewals{gap:.65rem;display:grid}.subscription-renewals h3{font-size:14px;font-weight:900}.renewal-row{border:1px solid #e2e8f0;border-radius:.75rem;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.65rem;display:grid}.renewal-row strong{font-size:12px;display:block}.renewal-row span{color:#64748b;font-size:10.5px;display:block}.subscription-modal-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.lookup-box{gap:.35rem;display:grid}.lookup-results{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;max-height:140px;overflow:auto}.lookup-results button{text-align:left;cursor:pointer;background:#fff;border:0;gap:.1rem;width:100%;padding:.55rem .65rem;display:grid}.lookup-results button:hover,.lookup-results button.active{color:#1d4ed8;background:#eff6ff}.lookup-results strong{font-size:12px}.lookup-results small,.lookup-results span{color:#64748b;padding:.55rem .65rem;font-size:10px}.subscription-plan-preview{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.8rem;gap:.25rem;margin-top:.9rem;padding:.75rem;display:grid}.subscription-plan-preview strong{color:#1d4ed8;font-size:13px;font-weight:900}.subscription-plan-preview span,.subscription-plan-preview small{color:#475569;font-size:11px}.subscription-detail{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.subscription-detail div{border:1px solid #e2e8f0;border-radius:.75rem;gap:.2rem;padding:.65rem;display:grid}.subscription-detail span{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.subscription-detail strong{color:#0f172a;font-size:13px}.lookup-field{gap:.35rem;min-width:0;display:grid}.lookup-field-control{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.35rem;display:grid}.lookup-icon-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:.65rem;justify-content:center;align-items:center;width:2.05rem;height:2.05rem;transition:all .15s;display:inline-flex}.lookup-icon-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.lookup-icon-btn.primary{color:#fff;background:#2563eb;border-color:#2563eb}.lookup-icon-btn.primary:hover{color:#fff;background:#1d4ed8}.lookup-icon-btn:disabled,.lookup-field input:disabled{opacity:.55;cursor:not-allowed}.lookup-selected-sub{color:#64748b;font-size:10px;line-height:1.3}.lookup-modal{gap:.75rem;display:grid}.lookup-modal-toolbar{gap:.65rem;display:grid}.lookup-modal-search{color:#64748b;background:#f8fafc;border:1px solid #dbe4ef;border-radius:.85rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.45rem;padding:.55rem .7rem;display:grid}.lookup-modal-search input{color:#0f172a;background:0 0;border:0;outline:0;min-width:0;font-size:13px}.lookup-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.lookup-filter-grid label{color:#64748b;gap:.25rem;font-size:10px;font-weight:800;display:grid}.lookup-filter-grid select{color:#0f172a;background:#fff;border:1px solid #dbe4ef;border-radius:.65rem;outline:0;padding:.45rem .55rem;font-size:11px}.lookup-modal-meta{color:#64748b;justify-content:space-between;align-items:center;gap:.65rem;font-size:10px;display:flex}.lookup-modal-meta code{color:#334155;background:#f8fafc;border:1px solid #dbe4ef;border-radius:999px;padding:.15rem .45rem;font-size:9px}.lookup-modal-table{border:1px solid #e2e8f0;border-radius:.85rem;max-height:min(55vh,430px);overflow:auto}.lookup-modal-table table{min-width:620px}.lookup-modal-table tr{cursor:pointer}.lookup-modal-table tbody tr:hover td,.lookup-modal-table tbody tr.active td{color:#1d4ed8;background:#eff6ff}.lookup-empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:.9rem;align-content:center;justify-items:center;gap:.45rem;min-height:160px;padding:1rem;display:grid}.lookup-empty strong{color:#0f172a;font-size:13px}.lookup-empty span{font-size:11px}.lookup-pagination{color:#64748b;justify-content:flex-end;align-items:center;gap:.55rem;font-size:11px;display:flex}.lookup-pagination .icon-btn:disabled{opacity:.45;cursor:not-allowed}.real-map-shell{width:100%;min-width:0}.real-map-stage{aspect-ratio:970/598;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:1rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6,0 14px 28px #0f172a14}.real-map-layer{transform-origin:0 0;width:100%;height:100%;transition:left .18s,top .18s,width .18s,height .18s;position:absolute;inset:0 auto auto 0}.real-map-stage img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.real-hotspot{cursor:pointer;background:0 0;border:0;border-radius:.35rem;outline:0;padding:0;transition:box-shadow .14s,background .14s,transform .14s;position:absolute}.real-hotspot:hover,.real-hotspot.selected{z-index:12;background:#2563eb0d;box-shadow:inset 0 0 0 2px #2563eb,0 0 0 2px #2563eb2e}.real-hotspot:focus-visible{z-index:13;box-shadow:0 0 0 3px #2563eb}.real-hotspot.slot{z-index:8;border-radius:.22rem}.real-hotspot.utility{z-index:4}.real-hotspot.camera,.real-hotspot.gate,.real-hotspot.cashier,.real-hotspot.service{z-index:10}.real-hotspot.slot:hover,.real-hotspot.slot.selected{background:#2563eb08}.real-status-dot{background:var(--state);border:1px solid #fff;border-radius:999px;width:9px;height:9px;position:absolute;bottom:3px;right:3px;box-shadow:0 1px 3px #0f172a40}.real-camera-coverage{width:var(--radius);aspect-ratio:1;transform:translate(-50%,-50%) rotate(var(--angle));transform-origin:50%;background:conic-gradient(from calc(var(--fov) / -2),#2563eb42 0deg,#2563eb1a var(--fov),transparent var(--fov),transparent 360deg);pointer-events:none;z-index:3;border:1px solid #2563eb33;border-radius:50%;position:absolute}.real-action-menu{z-index:30;background:#fffffffa;border:1px solid #cbd5e1;border-radius:.85rem;gap:.15rem;min-width:172px;padding:.35rem;display:grid;position:absolute;box-shadow:0 18px 42px #0f172a33}.real-action-menu strong{color:#0f172a;padding:.45rem .55rem .3rem;font-size:11px;display:block}.real-action-menu button{text-align:left;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:.55rem;padding:.45rem .55rem;font-size:11px;font-weight:700}.real-action-menu button:hover{color:#1d4ed8;background:#eff6ff}.real-hotspot-icon{color:#1d4ed8;background:#ffffffeb;border:1px solid #2563eb47;border-radius:999px;justify-content:center;align-items:center;min-width:1.55rem;height:1.55rem;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 18px #0f172a2e}.real-hotspot.gate .real-hotspot-icon{color:#ef4444}.real-hotspot.cashier .real-hotspot-icon{color:#b45309}.real-hotspot.service .real-hotspot-icon{color:#7c3aed}.real-hotspot.utility .real-hotspot-icon{color:#15803d}.real-hotspot-label{white-space:nowrap;color:#fff;pointer-events:none;background:#0f172ad1;border-radius:999px;padding:.1rem .35rem;font-size:9px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.real-map-legend{color:#64748b;flex-wrap:wrap;align-items:center;gap:.8rem;padding:.65rem .25rem 0;font-size:10.5px;display:flex}.real-map-legend span,.map-page-legend span,.map-donut-legend span{align-items:center;gap:.35rem;display:inline-flex}.real-map-legend i,.map-page-legend i,.map-donut-legend i{border-radius:999px;width:.55rem;height:.55rem;display:inline-block}.real-map-empty{text-align:center;color:#64748b;border:1px dashed #cbd5e1;border-radius:.85rem;justify-content:center;align-items:center;min-height:7rem;padding:1rem;font-size:11px;line-height:1.45;display:flex}.real-map-detail{gap:.65rem;display:grid}.real-map-detail h4{color:#0f172a;justify-content:space-between;align-items:center;gap:.5rem;font-size:13px;font-weight:900;display:flex}.real-map-detail h4 span{color:#15803d;text-transform:uppercase;background:#dcfce7;border-radius:999px;padding:.12rem .45rem;font-size:9px}.real-map-detail dl{gap:.4rem;display:grid}.real-map-detail dl div{border-bottom:1px solid #edf2f7;justify-content:space-between;gap:.65rem;padding-bottom:.35rem;font-size:10.5px;display:flex}.real-map-detail dt{color:#64748b}.real-map-detail dd{color:#0f172a;text-align:right;font-weight:800}.real-camera-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.real-camera-frame{color:#fff;background:linear-gradient(135deg,#0f172a,#1e3a8a 48%,#0f766e);border-radius:.75rem;align-content:end;min-height:64px;padding:.45rem;display:grid;overflow:hidden;box-shadow:inset 0 0 28px #3b82f633}.real-camera-frame strong{font-size:10px}.real-camera-frame small{color:#bfdbfe;font-size:8.5px}.dashboard-map-grid{grid-template-columns:minmax(0,1fr) 245px;align-items:start;gap:1rem;display:grid}.dashboard-map-grid .real-map-shell.compact .real-map-stage{border-radius:.9rem}.dashboard-map-side{gap:.75rem;display:grid}.quick-actions{border-top:1px solid #e2e8f0;grid-template-columns:1fr 1fr;gap:.45rem;padding-top:.75rem;display:grid}.quick-actions button,.map-quick-actions button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;min-height:3rem;font-size:10.5px;font-weight:800;transition:all .14s}.quick-actions button:hover,.map-quick-actions button:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.dashboard-bottom-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.mini-donut{background:conic-gradient(#2563eb 0,#2563eb 44%,#f59e0b 44%,#f59e0b 74%,#22c55e 74%,#22c55e);border-radius:999px;place-items:center;width:96px;height:96px;margin:.15rem auto;display:grid;position:relative}.mini-donut:before{content:"";border-radius:inherit;background:#fff;position:absolute;top:1.35rem;right:1.35rem;bottom:1.35rem;left:1.35rem}.mini-donut span{z-index:1;text-align:center;font-size:17px;font-weight:950;display:grid;position:relative}.mini-donut small{color:#64748b;font-size:9px;font-weight:700}.metric-big{color:#0f172a;font-size:28px;font-weight:950;line-height:1.1;display:block}.metric-good{color:#16a34a;margin-top:.25rem;font-size:11px;font-weight:800;display:block}.map-toolbar{align-items:center;gap:1rem;margin-bottom:.85rem;display:flex}.map-toolbar label{color:#64748b;margin-bottom:.25rem;font-size:10px;font-weight:800;display:block}.map-toolbar strong{color:#334155;font-size:11px;display:block}.map-page-legend{color:#64748b;flex-wrap:wrap;gap:.85rem;font-size:10.5px;display:flex}.map-page-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:.85rem;display:grid}.map-page-layout.side-collapsed{grid-template-columns:minmax(0,1fr) 52px}.map-page-layout.map-expanded{z-index:40;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:1rem;padding:.75rem;position:fixed;top:.75rem;right:.75rem;bottom:.75rem;left:.75rem;overflow:auto;box-shadow:0 24px 70px #0f172a3d}.standard-map-layout{grid-template-columns:minmax(0,1fr) 300px}.map-page-main{gap:.85rem;min-width:0;display:grid}.map-page-side{gap:.85rem;display:grid}.map-page-layout.side-collapsed .map-page-side{align-content:start}.map-side-toggle{justify-content:center;width:100%}.map-page-layout.side-collapsed .map-side-toggle{writing-mode:vertical-rl;min-height:130px;padding-inline:.35rem}.map-page-side h3,.map-page-bottom h3{color:#0f172a;margin-bottom:.65rem;font-size:13px;font-weight:900}.map-donut-wrap{grid-template-columns:96px 1fr;align-items:center;gap:.85rem;display:grid}.map-donut{border-radius:999px;place-items:center;width:96px;height:96px;display:grid;position:relative}.map-donut:before{content:"";border-radius:inherit;background:#fff;position:absolute;top:1.15rem;right:1.15rem;bottom:1.15rem;left:1.15rem}.map-donut span{z-index:1;text-align:center;font-size:19px;font-weight:950;display:grid;position:relative}.map-donut small{color:#64748b;font-size:9px;font-weight:700}.map-donut-legend{color:#64748b;gap:.4rem;font-size:10.5px;display:grid}.map-area-status{gap:.65rem;display:grid}.map-area-status div div{color:#64748b;justify-content:space-between;gap:.5rem;margin-bottom:.25rem;font-size:10.5px;display:flex}.map-area-status strong{color:#334155}.map-area-status i{background:#22c55e;border-radius:999px;height:.35rem;display:block}.camera-thumb-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.camera-thumb{text-align:left;color:#fff;cursor:pointer;background:#0f172a;border:1px solid #e2e8f0;border-radius:.75rem;align-content:end;min-height:72px;padding:.55rem;display:grid;position:relative;overflow:hidden}.camera-thumb-bg{opacity:.84;background:linear-gradient(135deg,#334155,#0f766e);position:absolute;top:0;right:0;bottom:0;left:0}.camera-thumb-bg.tone-1{background:linear-gradient(135deg,#1e3a8a,#475569)}.camera-thumb-bg.tone-2{background:linear-gradient(135deg,#0f766e,#334155)}.camera-thumb-bg.tone-3{background:linear-gradient(135deg,#7c2d12,#334155)}.camera-thumb strong,.camera-thumb small{z-index:1;display:block;position:relative}.camera-thumb strong{font-size:10.5px}.camera-thumb small{color:#dbeafe;font-size:8.5px}.map-page-bottom{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.mock-line-chart{background:linear-gradient(#fff,#eef6ff);border-radius:.75rem;height:116px;position:relative;overflow:hidden}.mock-line-chart:before{content:"";opacity:.9;background:linear-gradient(160deg,#0000 0,#0000 10%,#2563eb,#2563eb,#0000 13%,#0000 22%,#2563eb,#2563eb,#0000 25%,#0000 39%,#2563eb,#2563eb,#0000 42%,#0000 58%,#2563eb,#2563eb,#0000 61%,#0000);position:absolute;top:14px;right:10px;bottom:20px;left:10px}.mock-line-chart span{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.25rem .45rem;font-size:11px;font-weight:900;position:absolute;top:34px;transform:translate(-50%);box-shadow:0 8px 18px #0f172a1f}.map-quick-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;display:grid}.operator-note{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem;margin:-.25rem 0 .8rem;padding:.65rem .8rem;font-size:11px;line-height:1.45}.operator-flow{gap:.9rem;display:grid}.operator-summary{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.operator-summary div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;gap:.15rem;padding:.65rem;display:grid}.operator-summary span{color:#64748b;text-transform:uppercase;font-size:9.5px;font-weight:800}.operator-summary strong{color:#0f172a;font-size:12px}.checkout-tabs{grid-template-columns:1fr 1fr 1fr;gap:.65rem;display:grid}.checkout-tabs section{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:.75rem}.checkout-tabs h4{color:#0f172a;margin-bottom:.45rem;font-size:12px;font-weight:900}.checkout-tabs p{color:#64748b;margin-bottom:.25rem;font-size:10.5px;line-height:1.45}.checkout-tabs strong{color:#0f172a;font-size:22px;font-weight:950}@media(max-width:1200px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-main,.parking-map-layout,.dashboard-map-grid{grid-template-columns:1fr}.dashboard-bottom-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.map-page-layout{grid-template-columns:1fr}.map-page-side{grid-template-columns:repeat(2,minmax(0,1fr))}.map-page-side>.card:nth-child(3){grid-column:1/-1}.designer-grid-layout,.designer-grid-layout.detail-collapsed{grid-template-columns:220px minmax(0,1fr)}.designer-grid-layout>aside:last-child{grid-column:1/-1}.designer-grid-layout.detail-collapsed .designer-detail-side .designer-side-head{writing-mode:horizontal-tb;flex-direction:row;min-height:0}.designer-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-calendar-layout{grid-template-columns:1fr}.subscription-reminders{border-top:1px solid #e2e8f0;border-left:0;padding-top:.85rem;padding-left:0}.subscription-stats,.subscription-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-workspace{grid-template-columns:1fr}}@media(max-width:900px){.app-shell{flex-direction:column}.app-content{min-height:0}.sidebar{z-index:40;width:100%;height:auto;max-height:58px;position:relative;overflow:hidden}.sidebar.mobile-open{max-height:85vh;overflow-y:auto;box-shadow:0 20px 35px #0f172a40}.sidebar-toggle{display:inline-flex}.sidebar>div:first-child{padding:.65rem .85rem}.sidebar nav{flex:none;padding:.4rem;display:none;overflow-y:auto}.sidebar.mobile-open nav{flex-direction:column;display:flex}.sidebar .nav-item{border-bottom:0;border-left-width:3px;border-radius:.5rem;padding:.7rem .8rem}.sidebar .nav-item.active{border-bottom-color:#0000;border-left-color:#3b82f6}.sidebar>div:last-child{display:none}.sidebar.mobile-open>div:last-child{display:block}header{flex-wrap:wrap;align-items:flex-start;min-height:64px;padding-top:.7rem;padding-bottom:.7rem;height:auto!important}header>div:last-child{flex-wrap:wrap;justify-content:flex-start;width:100%}.dashboard-search{width:min(100%,420px);min-width:0}.main-scroll{padding:.75rem}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{align-items:flex-start}.slot-box{width:2.25rem;height:2.25rem}.designer-toolbar{flex-direction:column;align-items:flex-start}.designer-controls{justify-content:flex-start}.designer-grid-layout{grid-template-columns:1fr}.designer-palette{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.designer-canvas-wrap{padding:.65rem}.box-state-form{grid-template-columns:1fr}.map-toolbar{flex-direction:column;align-items:flex-start}.map-page-legend{gap:.55rem}.map-page-bottom{grid-template-columns:1fr}.map-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-tabs{grid-template-columns:1fr}.subscription-month{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-month>strong{display:none}.subscription-month-pro{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-month-pro>strong{display:none}.subscription-modal-grid,.subscription-detail,.renewal-row,.lookup-filter-grid{grid-template-columns:1fr}}@media(max-width:520px){.sidebar{max-height:58px}.sidebar.mobile-open{max-height:88vh}.sidebar .nav-item span{max-width:110px}.dashboard-kpis{grid-template-columns:1fr}.dashboard-search{width:100%}.dashboard-bottom-cards,.map-page-side{grid-template-columns:1fr}.map-donut-wrap{grid-template-columns:1fr;justify-items:center}.camera-thumb-grid,.quick-actions,.real-camera-grid,.operator-summary{grid-template-columns:1fr}.real-status-dot{width:7px;height:7px;bottom:1px;right:1px}.real-hotspot-icon{min-width:1.2rem;height:1.2rem}.stat-card{padding:.75rem}.card-p{padding:.85rem}.modal-overlay{align-items:flex-end}.modal-box{border-radius:1rem 1rem 0 0;width:100vw;max-width:100vw;max-height:88vh}.modal-box .grid-cols-2{grid-template-columns:1fr}.modal-box .px-5{padding-left:1rem;padding-right:1rem}.modal-box .py-4{padding-top:.85rem;padding-bottom:.85rem}.designer-name{font-size:14px}.designer-palette{grid-template-columns:1fr}.designer-summary{grid-template-columns:1fr 1fr}.designer-controls label{justify-content:space-between;width:100%}.designer-controls select{flex:1}.subscription-stats,.subscription-plan-grid{grid-template-columns:1fr}.subscription-calendar-head{flex-direction:column;align-items:flex-start}.subscription-month-pro{grid-template-columns:1fr}.lookup-field-control{grid-template-columns:minmax(0,1fr) auto}.lookup-field-control .lookup-icon-btn:not(.primary){display:none}.lookup-modal-table table{min-width:520px}.lookup-pagination{justify-content:space-between}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}
