*,*::before,*::after{box-sizing:border-box;}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
table{border-collapse:collapse;}
a{color:inherit;}
button{margin:0;padding:0;font:inherit;color:inherit;background-color:transparent;background-image:none;border:none;cursor:pointer;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@media (max-width:639px){input,select,textarea{font-size:16px;}}
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);}
#cmdb-progress-bar{position:fixed;top:0;left:0;height:3px;width:0;background:#0ea5e9;z-index:9999;transition:width .2s ease,opacity .3s ease;opacity:0;}
#cmdb-progress-bar.cmdb-progress-active{opacity:1;}
select.htmx-request,button.htmx-request,a.htmx-request,input.htmx-request{opacity:.6;pointer-events:none;}
.cmdb-spinner{display:inline-block;width:0.8em;height:0.8em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:-0.125em;}
.btn-primary{background-color:#1e293b;color:#ffffff;padding:0.375rem 1rem;border-radius:0.25rem;font-size:0.875rem;line-height:1.25rem;}
.btn-primary-sm{background-color:#1e293b;color:#ffffff;padding:0.375rem 0.75rem;border-radius:0.25rem;font-size:0.875rem;line-height:1.25rem;}
.btn-secondary{background-color:#ffffff;border:1px solid #cbd5e1;color:#334155;padding:0.375rem 1rem;border-radius:0.25rem;font-size:0.875rem;line-height:1.25rem;}
.btn-secondary-sm{background-color:#ffffff;border:1px solid #cbd5e1;color:#334155;padding:0.375rem 0.75rem;border-radius:0.25rem;font-size:0.875rem;line-height:1.25rem;}
.-mt-4{margin-top:-1rem;}
.absolute{position:absolute;}
.align-middle{vertical-align:middle;}
.align-top{vertical-align:top;}
.animate-pulse{animation:pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;}
.animate-spin{animation:spin 1s linear infinite;}
.bg-amber-100{background-color:#fef3c7;}
.bg-amber-50{background-color:#fffbeb;}
.bg-amber-600{background-color:#d97706;}
.bg-blue-50{background-color:#eff6ff;}
.bg-blue-600{background-color:#2563eb;}
.bg-blue-700{background-color:#1d4ed8;}
.bg-gray-100{background-color:#f3f4f6;}
.bg-gray-200{background-color:#e5e7eb;}
.bg-gray-50{background-color:#f9fafb;}
.bg-gray-900{background-color:#111827;}
.bg-green-100{background-color:#dcfce7;}
.bg-green-50{background-color:#f0fdf4;}
.bg-green-600{background-color:#16a34a;}
.bg-green-700{background-color:#15803d;}
.bg-purple-50{background-color:#faf5ff;}
.bg-purple-700{background-color:#7e22ce;}
.bg-red-100{background-color:#fee2e2;}
.bg-red-50{background-color:#fef2f2;}
.bg-red-600{background-color:#dc2626;}
.bg-red-700{background-color:#b91c1c;}
.bg-slate-100{background-color:#f1f5f9;}
.bg-slate-50{background-color:#f8fafc;}
.bg-slate-700{background-color:#334155;}
.bg-slate-800{background-color:#1e293b;}
.bg-teal-600{background-color:#0d9488;}
.bg-transparent{background-color:transparent;}
.bg-white{background-color:#ffffff;}
.bg-yellow-50{background-color:#fefce8;}
.block{display:block;}
.border{border-width:1px;border-style:solid;border-color:#e5e7eb;}
.border-0{border-width:0;border-style:none;}
.border-amber-200{border-color:#fde68a;}
.border-amber-300{border-color:#fcd34d;}
.border-amber-400{border-color:#fbbf24;}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-color:#e5e7eb;}
.border-blue-200{border-color:#bfdbfe;}
.border-gray-200{border-color:#e5e7eb;}
.border-gray-300{border-color:#d1d5db;}
.border-green-200{border-color:#bbf7d0;}
.border-green-300{border-color:#86efac;}
.border-l{border-left-width:1px;border-left-style:solid;border-color:#e5e7eb;}
.border-l-4{border-left-width:4px;border-left-style:solid;border-color:#e5e7eb;}
.border-purple-200{border-color:#e9d5ff;}
.border-red-200{border-color:#fecaca;}
.border-red-300{border-color:#fca5a5;}
.border-red-400{border-color:#f87171;}
.border-slate-200{border-color:#e2e8f0;}
.border-slate-300{border-color:#cbd5e1;}
.border-slate-400{border-color:#94a3b8;}
.border-slate-600{border-color:#475569;}
.border-slate-700{border-color:#334155;}
.border-t{border-top-width:1px;border-top-style:solid;border-color:#e5e7eb;}
.border-yellow-300{border-color:#fde047;}
.bottom-0{bottom:0px;}
.break-all{word-break:break-all;}
.break-words{overflow-wrap:anywhere;word-break:normal;}
.col-span-2{grid-column:span 2 / span 2;}
.cursor-move{cursor:move;}
.cursor-pointer{cursor:pointer;}
.divide-y > * + *{border-top-width:1px;border-top-style:solid;border-color:#e5e7eb;}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.font-medium{font-weight:500;}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;}
.font-normal{font-weight:400;}
.font-sans{font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}
.font-semibold{font-weight:600;}
.gap-1{gap:0.25rem;}
.gap-1\.5{gap:0.375rem;}
.gap-2{gap:0.5rem;}
.gap-3{gap:0.75rem;}
.gap-4{gap:1rem;}
.gap-6{gap:1.5rem;}
.gap-x-3{column-gap:0.75rem;}
.gap-y-1{row-gap:0.25rem;}
.gap-y-1\.5{row-gap:0.375rem;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.h-1\.5{height:0.375rem;}
.h-32{height:8rem;}
.hidden{display:none;}
.hover\:bg-gray-50:hover{background-color:#f9fafb;}
.hover\:bg-green-700:hover{background-color:#15803d;}
.hover\:bg-slate-100:hover{background-color:#f1f5f9;}
.hover\:bg-slate-50:hover{background-color:#f8fafc;}
.hover\:bg-slate-700:hover{background-color:#334155;}
.hover\:bg-slate-900:hover{background-color:#0f172a;}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);}
.hover\:text-white:hover{color:#ffffff;}
.hover\:underline:hover{text-decoration:underline;}
.inline{display:inline;}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-x-0{left:0px;right:0px;}
.italic{font-style:italic;}
.items-center{align-items:center;}
.items-end{align-items:flex-end;}
.items-start{align-items:flex-start;}
.items-stretch{align-items:stretch;}
.justify-between{justify-content:space-between;}
.justify-end{justify-content:flex-end;}
.leading-tight{line-height:1.25;}
.line-through{text-decoration:line-through;}
.list-decimal{list-style-type:decimal;}
.list-disc{list-style-type:disc;}
.list-inside{list-style-position:inside;}
.max-h-28{max-height:7rem;}
.max-h-40{max-height:10rem;}
.max-h-64{max-height:16rem;}
.max-w-2xl{max-width:42rem;}
.max-w-5xl{max-width:64rem;}
.max-w-lg{max-width:32rem;}
.max-w-md{max-width:28rem;}
.max-w-sm{max-width:24rem;}
.max-w-xl{max-width:36rem;}
.max-w-xs{max-width:20rem;}
.mb-1{margin-bottom:0.25rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-4{margin-bottom:1rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-8{margin-bottom:2rem;}
.min-w-0{min-width:0;}
.min-w-full{min-width:100%;}
.ml-1{margin-left:0.25rem;}
.ml-2{margin-left:0.5rem;}
.ml-3{margin-left:0.75rem;}
.ml-4{margin-left:1rem;}
.ml-5{margin-left:1.25rem;}
.ml-6{margin-left:1.5rem;}
.ml-auto{margin-left:auto;}
.mr-1{margin-right:0.25rem;}
.mr-1\.5{margin-right:0.375rem;}
.mr-2{margin-right:0.5rem;}
.mt-0\.5{margin-top:0.125rem;}
.mt-1{margin-top:0.25rem;}
.mt-1\.5{margin-top:0.375rem;}
.mt-10{margin-top:2.5rem;}
.mt-2{margin-top:0.5rem;}
.mt-20{margin-top:5rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mt-8{margin-top:2rem;}
.mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.overflow-auto{overflow:auto;}
.overflow-hidden{overflow:hidden;}
.overflow-x-auto{overflow-x:auto;}
.overflow-x-hidden{overflow-x:hidden;}
.overflow-y-auto{overflow-y:auto;}
.p-0{padding:0px;}
.p-1{padding:0.25rem;}
.p-1\.5{padding:0.375rem;}
.p-2{padding:0.5rem;}
.p-3{padding:0.75rem;}
.p-4{padding:1rem;}
.p-5{padding:1.25rem;}
.p-6{padding:1.5rem;}
.pb-1{padding-bottom:0.25rem;}
.pb-1\.5{padding-bottom:0.375rem;}
.pb-2{padding-bottom:0.5rem;}
.pb-3{padding-bottom:0.75rem;}
.pb-4{padding-bottom:1rem;}
.peer-checked\:bg-slate-800{background-color:#1e293b;}
.peer-checked\:border-slate-800{border-color:#1e293b;}
.peer-checked\:text-white{color:#ffffff;}
.pl-3{padding-left:0.75rem;}
.pl-6{padding-left:1.5rem;}
.pr-2{padding-right:0.5rem;}
.pr-3{padding-right:0.75rem;}
.pr-4{padding-right:1rem;}
.pt-0{padding-top:0px;}
.pt-1{padding-top:0.25rem;}
.pt-2{padding-top:0.5rem;}
.pt-3{padding-top:0.75rem;}
.pt-4{padding-top:1rem;}
.px-1{padding-left:0.25rem;padding-right:0.25rem;}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem;}
.px-2{padding-left:0.5rem;padding-right:0.5rem;}
.px-3{padding-left:0.75rem;padding-right:0.75rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.px-5{padding-left:1.25rem;padding-right:1.25rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.py-0\.5{padding-top:0.125rem;padding-bottom:0.125rem;}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.py-12{padding-top:3rem;padding-bottom:3rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.relative{position:relative;}
.right-0{right:0px;}
.rounded{border-radius:0.25rem;}
.rounded-full{border-radius:9999px;}
.select-all{user-select:all;}
.select-none{user-select:none;}
.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);}
.shrink-0{flex-shrink:0;}
.space-y-0\.5 > * + *{margin-top:0.125rem;}
.space-y-1 > * + *{margin-top:0.25rem;}
.space-y-2 > * + *{margin-top:0.5rem;}
.space-y-3 > * + *{margin-top:0.75rem;}
.space-y-4 > * + *{margin-top:1rem;}
.space-y-6 > * + *{margin-top:1.5rem;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.sticky{position:sticky;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-amber-500{color:#f59e0b;}
.text-amber-600{color:#d97706;}
.text-amber-700{color:#b45309;}
.text-amber-800{color:#92400e;}
.text-amber-900{color:#78350f;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-blue-300{color:#93c5fd;}
.text-blue-400{color:#60a5fa;}
.text-blue-500{color:#3b82f6;}
.text-blue-600{color:#2563eb;}
.text-blue-700{color:#1d4ed8;}
.text-blue-800{color:#1e40af;}
.text-blue-900{color:#1e3a8a;}
.text-center{text-align:center;}
.text-gray-100{color:#f3f4f6;}
.text-gray-300{color:#d1d5db;}
.text-gray-400{color:#9ca3af;}
.text-gray-500{color:#6b7280;}
.text-gray-600{color:#4b5563;}
.text-gray-700{color:#374151;}
.text-gray-800{color:#1f2937;}
.text-gray-900{color:#111827;}
.text-green-600{color:#16a34a;}
.text-green-700{color:#15803d;}
.text-green-800{color:#166534;}
.text-left{text-align:left;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-purple-300{color:#d8b4fe;}
.text-purple-600{color:#9333ea;}
.text-purple-700{color:#7e22ce;}
.text-purple-800{color:#6b21a8;}
.text-red-200{color:#fecaca;}
.text-red-400{color:#f87171;}
.text-red-500{color:#ef4444;}
.text-red-600{color:#dc2626;}
.text-red-700{color:#b91c1c;}
.text-red-800{color:#991b1b;}
.text-right{text-align:right;}
.text-slate-300{color:#cbd5e1;}
.text-slate-400{color:#94a3b8;}
.text-slate-500{color:#64748b;}
.text-slate-600{color:#475569;}
.text-slate-700{color:#334155;}
.text-slate-800{color:#1e293b;}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-white{color:#ffffff;}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.text-yellow-800{color:#854d0e;}
.tracking-widest{letter-spacing:0.1em;}
.transition-shadow{transition-property:box-shadow;transition-duration:150ms;}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.underline{text-decoration:underline;}
.w-1\.5{width:0.375rem;}
.w-16{width:4rem;}
.w-20{width:5rem;}
.w-24{width:6rem;}
.w-28{width:7rem;}
.w-32{width:8rem;}
.w-36{width:9rem;}
.w-40{width:10rem;}
.w-56{width:14rem;}
.w-6{width:1.5rem;}
.w-64{width:16rem;}
.w-8{width:2rem;}
.w-full{width:100%;}
.whitespace-nowrap{white-space:nowrap;}
.whitespace-pre-line{white-space:pre-line;}
.whitespace-pre-wrap{white-space:pre-wrap;}
.z-10{z-index:10;}
.z-20{z-index:20;}
.z-50{z-index:50;}
@media (min-width:640px){.sm\:col-span-1{grid-column:span 1 / span 1;}}
@media (min-width:640px){.sm\:col-span-2{grid-column:span 2 / span 2;}}
@media (min-width:640px){.sm\:flex-row{flex-direction:row;}}
@media (min-width:640px){.sm\:flex-wrap{flex-wrap:wrap;}}
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (min-width:640px){.sm\:hidden{display:none;}}
@media (min-width:640px){.sm\:items-end{align-items:flex-end;}}
@media (min-width:640px){.sm\:p-6{padding:1.5rem;}}
@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem;}}
@media (min-width:640px){.sm\:table-cell{display:table-cell;}}
@media (min-width:640px){.sm\:w-1\/2{width:50%;}}
@media (min-width:640px){.sm\:w-32{width:8rem;}}
@media (min-width:640px){.sm\:w-40{width:10rem;}}
@media (min-width:640px){.sm\:w-48{width:12rem;}}
@media (min-width:640px){.sm\:w-64{width:16rem;}}
@media (min-width:640px){.sm\:w-auto{width:auto;}}
@media (min-width:768px){.md\:block{display:block;}}
@media (min-width:768px){.md\:col-span-4{grid-column:span 4 / span 4;}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (min-width:768px){.md\:hidden{display:none;}}
@media (min-width:1024px){.lg\:absolute{position:absolute;}}
@media (min-width:1024px){.lg\:flex{display:flex;}}
@media (min-width:1024px){.lg\:flex-row{flex-direction:row;}}
@media (min-width:1024px){.lg\:flex-wrap{flex-wrap:wrap;}}
@media (min-width:1024px){.lg\:gap-3{gap:0.75rem;}}
@media (min-width:1024px){.lg\:gap-4{gap:1rem;}}
@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (min-width:1024px){.lg\:hidden{display:none;}}
@media (min-width:1024px){.lg\:items-center{align-items:center;}}
@media (min-width:1024px){.lg\:justify-between{justify-content:space-between;}}
@media (min-width:1024px){.lg\:left-0{left:0px;}}
@media (min-width:1024px){.lg\:pb-3{padding-bottom:0.75rem;}}
@media (min-width:1024px){.lg\:relative{position:relative;}}
@media (min-width:1024px){.lg\:top-full{top:100%;}}
@media (min-width:1024px){.lg\:w-48{width:12rem;}}
