/*
 * Spectranox SOC - locally hosted utility CSS (Tailwind-compatible subset)
 * Pre-built so production never needs the Tailwind CDN.
 *
 * For full Tailwind, run:
 *   npx tailwindcss -i tailwind.in.css -o public/assets/css/app.css --minify
 * (a tailwind.config.js is included in docs/).
 *
 * This file ships a hand-curated subset that powers every utility class used
 * across views/. Replace freely with a full Tailwind build if desired.
 */

*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#1e293b}
html,body{margin:0;padding:0;line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{font-feature-settings:normal;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,p,pre,table,ul,ol,figure,blockquote{margin:0}
a{color:inherit;text-decoration:inherit}
img,svg,video,canvas{display:block;max-width:100%;height:auto}
input,button,textarea,select{font:inherit;color:inherit;background:transparent;border:0;padding:0}
button{cursor:pointer}
pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
table{border-collapse:collapse;border-spacing:0}

/* Color palette (slate + accents) */
:root{
  --c-slate-50:#f8fafc;--c-slate-100:#f1f5f9;--c-slate-200:#e2e8f0;--c-slate-300:#cbd5e1;
  --c-slate-400:#94a3b8;--c-slate-500:#64748b;--c-slate-600:#475569;--c-slate-700:#334155;
  --c-slate-800:#1e293b;--c-slate-900:#0f172a;--c-slate-950:#020617;
  --c-cyan-300:#67e8f9;--c-cyan-400:#22d3ee;--c-cyan-500:#06b6d4;
  --c-amber-300:#fcd34d;--c-amber-400:#fbbf24;--c-amber-500:#f59e0b;
  --c-rose-300:#fda4af;--c-rose-400:#fb7185;--c-rose-500:#f43f5e;
  --c-emerald-300:#6ee7b7;--c-emerald-400:#34d399;--c-emerald-500:#10b981;
  --c-fuchsia-300:#f0abfc;--c-fuchsia-400:#e879f9;--c-fuchsia-500:#d946ef;
  --c-yellow-300:#fde047;--c-yellow-400:#facc15;
  --c-sky-300:#7dd3fc;
}

/* layout */
.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.block{display:block}.hidden{display:none}
.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}
.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}
.space-y-1>:not([hidden])~:not([hidden]){margin-top:.25rem}.space-y-1\.5>:not([hidden])~:not([hidden]){margin-top:.375rem}
.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}
.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-5>:not([hidden])~:not([hidden]){margin-top:1.25rem}
.space-y-6>:not([hidden])~:not([hidden]){margin-top:1.5rem}
.divide-y>:not([hidden])~:not([hidden]){border-top-width:1px}
.divide-slate-800>*{border-color:var(--c-slate-800)}
.divide-slate-800\/60>*{border-color:rgba(30,41,59,.6)}
.min-h-screen{min-height:100vh}.h-full{height:100%}.h-screen{height:100vh}.h-14{height:3.5rem}.h-9{height:2.25rem}.h-10{height:2.5rem}.h-28{height:7rem}.h-72{height:18rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}
.w-full{width:100%}.w-60{width:15rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-28{width:7rem}.w-1\.5{width:.375rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}
.min-w-0{min-width:0}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}
.mx-auto{margin-left:auto;margin-right:auto}.ml-auto{margin-left:auto}
.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}
.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pb-1\.5{padding-bottom:.375rem}
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}
.pl-3{padding-left:.75rem}.pl-10{padding-left:2.5rem}.pr-3{padding-right:.75rem}
.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}
.inset-0{inset:0}.top-0{top:0}.left-3{left:.75rem}.top-1\/2{top:50%}
.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whitespace-pre-wrap{white-space:pre-wrap}
.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}
.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-extrabold{font-weight:800}.font-black{font-weight:900}
.uppercase{text-transform:uppercase}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}
.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}
.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}
.cursor-pointer{cursor:pointer}.select-none{user-select:none}
.transition{transition:all .2s ease}.transition-colors{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
.opacity-20{opacity:.2}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.3),0 2px 4px -2px rgba(0,0,0,.3)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.4),0 4px 6px -4px rgba(0,0,0,.4)}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}
.backdrop-blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.font-mono{font-variant-numeric:tabular-nums}

/* grid templates */
.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))}
@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:w-64{width:16rem}.md\:flex-none{flex:none}.md\:hidden{display:none}.md\:block{display:block}}
@media(min-width:1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:col-span-2{grid-column:span 2 / span 2}}

/* backgrounds & colors */
.bg-slate-950{background-color:var(--c-slate-950)}.bg-slate-900{background-color:var(--c-slate-900)}.bg-slate-900\/80{background-color:rgba(15,23,42,.8)}.bg-slate-900\/60{background-color:rgba(15,23,42,.6)}.bg-slate-900\/40{background-color:rgba(15,23,42,.4)}.bg-slate-800{background-color:var(--c-slate-800)}.bg-slate-800\/50{background-color:rgba(30,41,59,.5)}.bg-slate-800\/30{background-color:rgba(30,41,59,.3)}.bg-slate-800\/40{background-color:rgba(30,41,59,.4)}.bg-slate-700{background-color:var(--c-slate-700)}
.bg-cyan-500{background-color:var(--c-cyan-500)}.bg-cyan-500\/10{background-color:rgba(6,182,212,.1)}.bg-cyan-500\/20{background-color:rgba(6,182,212,.2)}.bg-cyan-500\/30{background-color:rgba(6,182,212,.3)}.hover\:bg-cyan-400:hover{background-color:var(--c-cyan-400)}
.bg-fuchsia-500{background-color:var(--c-fuchsia-500)}.bg-fuchsia-500\/10{background-color:rgba(217,70,239,.1)}.bg-fuchsia-500\/20{background-color:rgba(217,70,239,.2)}.bg-fuchsia-500\/30{background-color:rgba(217,70,239,.3)}.hover\:bg-fuchsia-400:hover{background-color:var(--c-fuchsia-400)}.hover\:bg-fuchsia-500\/30:hover{background-color:rgba(217,70,239,.3)}
.bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.hover\:bg-amber-500\/30:hover{background-color:rgba(245,158,11,.3)}
.bg-rose-500\/20{background-color:rgba(244,63,94,.2)}.hover\:bg-rose-500\/30:hover{background-color:rgba(244,63,94,.3)}
.bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.hover\:bg-emerald-500\/30:hover{background-color:rgba(16,185,129,.3)}
.bg-yellow-500\/20{background-color:rgba(234,179,8,.2)}
.bg-sky-500\/20{background-color:rgba(14,165,233,.2)}
.bg-slate-500\/20{background-color:rgba(100,116,139,.2)}
.hover\:bg-slate-700:hover{background-color:var(--c-slate-700)}.hover\:bg-slate-800:hover{background-color:var(--c-slate-800)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--from),var(--to))}
.from-cyan-500{--from:var(--c-cyan-500)}.to-fuchsia-500{--to:var(--c-fuchsia-500)}

.text-white{color:#fff}.text-slate-200{color:var(--c-slate-200)}.text-slate-300{color:var(--c-slate-300)}.text-slate-400{color:var(--c-slate-400)}.text-slate-500{color:var(--c-slate-500)}.text-slate-600{color:var(--c-slate-600)}.text-slate-700{color:var(--c-slate-700)}.text-slate-950{color:var(--c-slate-950)}
.text-cyan-300{color:var(--c-cyan-300)}.text-cyan-400{color:var(--c-cyan-400)}.text-rose-300{color:var(--c-rose-300)}.text-rose-400{color:var(--c-rose-400)}.text-amber-300{color:var(--c-amber-300)}.text-amber-400{color:var(--c-amber-400)}.text-yellow-300{color:var(--c-yellow-300)}.text-emerald-300{color:var(--c-emerald-300)}.text-emerald-400{color:var(--c-emerald-400)}.text-fuchsia-300{color:var(--c-fuchsia-300)}.text-fuchsia-400{color:var(--c-fuchsia-400)}.text-sky-300{color:var(--c-sky-300)}
.hover\:text-white:hover{color:#fff}.hover\:text-cyan-300:hover{color:var(--c-cyan-300)}.hover\:text-red-400:hover{color:#f87171}.hover\:border-cyan-500\/40:hover{border-color:rgba(6,182,212,.4)}

/* borders */
.border-slate-800{border-color:var(--c-slate-800)}.border-slate-700{border-color:var(--c-slate-700)}
.border-cyan-500\/20{border-color:rgba(6,182,212,.2)}.border-cyan-500\/30{border-color:rgba(6,182,212,.3)}
.border-fuchsia-500\/20{border-color:rgba(217,70,239,.2)}.border-fuchsia-500\/30{border-color:rgba(217,70,239,.3)}
.border-rose-500\/20{border-color:rgba(244,63,94,.2)}.border-rose-500\/30{border-color:rgba(244,63,94,.3)}
.border-amber-500\/20{border-color:rgba(245,158,11,.2)}.border-amber-500\/30{border-color:rgba(245,158,11,.3)}
.border-emerald-500\/20{border-color:rgba(16,185,129,.2)}.border-emerald-500\/30{border-color:rgba(16,185,129,.3)}
.border-yellow-500\/30{border-color:rgba(234,179,8,.3)}
.border-sky-500\/30{border-color:rgba(14,165,233,.3)}
.border-slate-500\/30{border-color:rgba(100,116,139,.3)}
.border-white\/5{border-color:rgba(255,255,255,.05)}

/* focus */
.focus\:outline-none:focus{outline:none}
.focus\:border-cyan-500:focus{border-color:var(--c-cyan-500)}
.focus\:ring-1:focus{box-shadow:0 0 0 1px var(--c-cyan-500)}

/* place-items */
.place-items-center{place-items:center}

/* animations */
@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}

/* scrollbar */
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-slate-700);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--c-slate-600)}

/* glow */
.text-fuchsia-300,.text-cyan-300{text-shadow:0 0 12px currentColor}

/* ---- Supplemental utilities (missing from the purged build; restore so dots,
   spinners, rings and small icons render across all views) ---- */
.inline-flex{display:inline-flex}
.gap-1\.5{gap:.375rem}
.w-2\.5{width:.625rem}.h-2\.5{height:.625rem}
.w-3\.5{width:.875rem}.h-3\.5{height:.875rem}
.bg-emerald-400{background-color:#34d399}
.opacity-90{opacity:.9}.opacity-60{opacity:.6}
.pointer-events-none{pointer-events:none}
.object-fill{object-fit:fill}
.line-through{text-decoration-line:line-through}
.ring-2{box-shadow:0 0 0 2px rgba(255,255,255,.25)}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
.animate-ping{animation:ping 1.4s cubic-bezier(0,0,.2,1) infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.animate-spin{animation:spin 1s linear infinite}

/* [Spectranox] slide-over drawer + modal utilities missing from the purged build (fixes detail-panel layout) */
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-md{max-width:28rem}
.max-w-full{max-width:100%}
.w-screen{width:100vw}
.inset-y-0{top:0;bottom:0}
.right-0{right:0}
.left-0{left:0}
.border-l{border-left-width:1px}
.border-r{border-right-width:1px}
.shrink-0{flex-shrink:0}
.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.max-h-\[85vh\]{max-height:85vh}
/* Client Health strip utilities (v3.4.5 activity-log) */
.pl-2{padding-left:.5rem}
.pr-2\.5{padding-right:.625rem}
.gap-1\.5{gap:.375rem}
.bg-amber-400{background-color:#fbbf24}
.bg-red-500{background-color:#ef4444}
.bg-slate-600{background-color:#475569}
/* Compliance & Posture page — restore missing utilities (v3.4.5) */
.w-36{width:9rem}
.h-36{height:9rem}
.h-5{height:1.25rem}
.h-1\.5{height:.375rem}
.mt-0\.5{margin-top:.125rem}
.rounded-2xl{border-radius:1rem}
.font-medium{font-weight:500}
.leading-relaxed{line-height:1.625}
.align-bottom{vertical-align:bottom}
.-rotate-90{transform:rotate(-90deg)}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.duration-500{transition-duration:.5s}
.duration-1000{transition-duration:1s}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}
.divide-y>:not([hidden])~:not([hidden]){border-top-width:1px;border-top-style:solid}
.divide-slate-800\/40>:not([hidden])~:not([hidden]){border-color:rgba(30,41,59,.4)}
@media (min-width:768px){
  .md\:flex-row{flex-direction:row}
  .md\:text-left{text-align:left}
}
@media (min-width:1280px){
  .xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .xl\:col-span-2{grid-column:span 2 / span 2}
}
/* Additional responsive grid utilities (compliance framework cards, etc.) */
@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* ATT&CK Matrix layout utilities */
.w-44{width:11rem}
.min-w-max{min-width:max-content}
.flex-shrink-0{flex-shrink:0}
.border-b-2{border-bottom-width:2px}
.hover\:scale-\[1\.02\]:hover{transform:scale(1.02)}
@media (min-width:1024px){.lg\:flex{display:flex}}
/* CSS AUDIT: auto-generated Tailwind-subset utilities */
.from-cyan-400{--tw-gradient-from:#22d3ee;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(0,0,0,0))}
.hover\:border-fuchsia-500\/40:hover{border-color:rgba(217,70,239,0.4)}
.min-h-\[400px\]{min-height:400px}
.hover\:bg-cyan-500\/30:hover{background-color:rgba(6,182,212,0.3)}
.mr-auto{margin-right:auto}
.italic{font-style:italic}
.bg-transparent{background-color:transparent}
.resize-none{resize:none}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.hover\:opacity-90:hover{opacity:0.9}
.disabled\:opacity-40:disabled{opacity:0.4}
.bg-slate-800\/60{background-color:rgba(30,41,59,0.6)}
.h-4{height:1rem}
.bg-cyan-900\/70{background-color:rgba(22,78,99,0.7)}
.bg-cyan-600\/80{background-color:rgba(8,145,178,0.8)}
.bg-amber-500\/80{background-color:rgba(245,158,11,0.8)}
.bg-rose-600{background-color:#e11d48}
.rounded-md{border-radius:.375rem}
.border-cyan-500\/50{border-color:rgba(6,182,212,0.5)}
.tracking-wide{letter-spacing:.025em}
.leading-tight{line-height:1.25}
.ml-1{margin-left:0.25rem}
.px-1\.5{padding-left:0.375rem;padding-right:0.375rem}
.cursor-default{cursor:default}
.leading-none{line-height:1}
.opacity-80{opacity:0.8}
.mt-1\.5{margin-top:0.375rem}
.border-dashed{border-style:dashed}
.border-slate-800\/70{border-color:rgba(30,41,59,0.7)}
.bg-cyan-500\/15{background-color:rgba(6,182,212,0.15)}
@media (min-width:768px){.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
.w-2{width:0.5rem}
.h-2{height:0.5rem}
.bg-cyan-400{background-color:#22d3ee}
.pl-4{padding-left:1rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.hover\:bg-slate-800\/30:hover{background-color:rgba(30,41,59,0.3)}
@media (min-width:768px){.md\:justify-between{justify-content:space-between}}
.bg-cyan-600{background-color:#0891b2}
.hover\:bg-cyan-500:hover{background-color:#06b6d4}
.shadow-cyan-500\/20{box-shadow:0 8px 24px -6px rgba(6,182,212,0.2)}
.min-w-\[200px\]{min-width:200px}
.border-slate-800\/80{border-color:rgba(30,41,59,0.8)}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.3)}
.tracking-wider{letter-spacing:.05em}
.bg-emerald-500\/10{background-color:rgba(16,185,129,0.1)}
.bg-purple-500\/10{background-color:rgba(168,85,247,0.1)}
.text-purple-400{color:#c084fc}
.bg-red-500\/10{background-color:rgba(239,68,68,0.1)}
.text-red-400{color:#f87171}
.bg-slate-950\/50{background-color:rgba(2,6,23,0.5)}
.focus\:ring-cyan-500:focus{--tw-ring-color:#06b6d4;box-shadow:0 0 0 2px #06b6d4}
.placeholder-slate-600{color:#475569}
.right-3{right:0.75rem}
.top-2\.5{top:0.625rem}
.hover\:text-slate-300:hover{color:#cbd5e1}
.border-slate-700\/80{border-color:rgba(51,65,85,0.8)}
.border-slate-800\/60{border-color:rgba(30,41,59,0.6)}
.placeholder-slate-700{color:#334155}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.5)}
.max-h-\[650px\]{max-height:650px}
.border-collapse{border-collapse:collapse}
.bg-slate-950\/90{background-color:rgba(2,6,23,0.9)}
.z-10{z-index:10}
.hover\:bg-slate-800\/20:hover{background-color:rgba(30,41,59,0.2)}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem}
.whitespace-nowrap{white-space:nowrap}
.max-w-\[180px\]{max-width:180px}
.cursor-help{cursor:help}
.bg-slate-950\/60{background-color:rgba(2,6,23,0.6)}
.border-slate-900{border-color:#0f172a}
.max-w-\[150px\]{max-width:150px}
.bg-rose-500\/10{background-color:rgba(244,63,94,0.1)}
.hover\:bg-rose-500\/20:hover{background-color:rgba(244,63,94,0.2)}
.w-fit{width:fit-content}
.bg-rose-500{background-color:#f43f5e}
.hover\:bg-cyan-500\/20:hover{background-color:rgba(6,182,212,0.2)}
.h-3{height:0.75rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.w-8{width:2rem}
.h-8{height:2rem}
.bg-slate-950\/80{background-color:rgba(2,6,23,0.8)}
.px-2\.5{padding-left:0.625rem;padding-right:0.625rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.z-50{z-index:50}
.bg-slate-950\/70{background-color:rgba(2,6,23,0.7)}
.transition-opacity{transition:opacity .15s cubic-bezier(.4,0,.2,1)}
.break-all{word-break:break-all}
.p-1\.5{padding:0.375rem}
.space-y-2\.5>:not([hidden])~:not([hidden]){margin-top:0.625rem}
.select-all{user-select:all}
.col-span-2{grid-column:span 2/span 2}
.pt-2\.5{padding-top:0.625rem}
.break-words{overflow-wrap:break-word}
.hover\:bg-red-500\/20:hover{background-color:rgba(239,68,68,0.2)}
.border-red-500\/20{border-color:rgba(239,68,68,0.2)}
.hover\:bg-fuchsia-500\/20:hover{background-color:rgba(217,70,239,0.2)}
.shadow-cyan-500\/10{box-shadow:0 8px 24px -6px rgba(6,182,212,0.1)}
.ml-3\.5{margin-left:0.875rem}
.pl-7{padding-left:1.75rem}
.-left-\[9\.5px\]{left:-9.5px}
.top-1\.5{top:0.375rem}
.w-4\.5{width:1.125rem}
.h-4\.5{height:1.125rem}
.border-4{border-width:4px}
.max-w-\[80px\]{max-width:80px}
.hover\:bg-slate-950:hover{background-color:#020617}
.max-w-\[450px\]{max-width:450px}
.text-red-300{color:#fca5a5}
.text-\[8px\]{font-size:8px}
.bg-red-400{background-color:#f87171}
.bg-blue-500\/10{background-color:rgba(59,130,246,0.1)}
.text-blue-400{color:#60a5fa}
.border-blue-500\/20{border-color:rgba(59,130,246,0.2)}
.bg-amber-500\/10{background-color:rgba(245,158,11,0.1)}
.ring-red-500\/20{--tw-ring-color:rgba(239,68,68,0.2);box-shadow:0 0 0 2px rgba(239,68,68,0.2)}
.ring-cyan-500\/10{--tw-ring-color:rgba(6,182,212,0.1);box-shadow:0 0 0 2px rgba(6,182,212,0.1)}
.bg-amber-500{background-color:#f59e0b}
.ring-amber-500\/10{--tw-ring-color:rgba(245,158,11,0.1);box-shadow:0 0 0 2px rgba(245,158,11,0.1)}
.bg-red-500\/20{background-color:rgba(239,68,68,0.2)}
.border-red-500\/30{border-color:rgba(239,68,68,0.3)}
.border-red-900\/40{border-color:rgba(127,29,29,0.4)}
.bg-red-950\/5{background-color:rgba(69,10,10,0.05)}
.bg-blue-500\/20{background-color:rgba(59,130,246,0.2)}
.text-blue-300{color:#93c5fd}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-\[14px\]{font-size:14px}
.hover\:border-slate-700:hover{border-color:#334155}
.bg-cyan-950\/40{background-color:rgba(8,51,68,0.4)}
.border-cyan-800\/30{border-color:rgba(21,94,117,0.3)}
.border-slate-700\/60{border-color:rgba(51,65,85,0.6)}
.w-32{width:8rem}
.w-1\/3{width:33.3333%}
.pb-20{padding-bottom:5rem}
@media (min-width:640px){.sm\:block{display:block}}
@media (min-width:640px){.sm\:p-0{padding:0}}
@media (min-width:640px){.sm\:inline-block{display:inline-block}}
@media (min-width:640px){.sm\:align-middle{vertical-align:middle}}
@media (min-width:640px){.sm\:h-screen{height:100vh}}
.transform{transform:translate(var(--tw-tx,0),var(--tw-ty,0))}
@media (min-width:640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}}
@media (min-width:640px){.sm\:max-w-lg{max-width:32rem}}
@media (min-width:640px){.sm\:w-full{width:100%}}
.text-md{font-size:1rem;line-height: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:0}
.border-rose-500\/40{border-color:rgba(244,63,94,0.4)}
.border-amber-500\/40{border-color:rgba(245,158,11,0.4)}
.border-cyan-500\/40{border-color:rgba(6,182,212,0.4)}
.ring-1{box-shadow:0 0 0 1px var(--tw-ring-color,#06b6d4)}
.ring-cyan-500\/50{--tw-ring-color:rgba(6,182,212,0.5);box-shadow:0 0 0 2px rgba(6,182,212,0.5)}
.bg-slate-900\/90{background-color:rgba(15,23,42,0.9)}
.bg-emerald-500{background-color:#10b981}
.border-emerald-500{border-color:#10b981}
.border-amber-500{border-color:#f59e0b}
.border-rose-500{border-color:#f43f5e}
.text-cyan-200{color:#a5f3fc}
.text-\[12px\]{font-size:12px}
.bottom-4{bottom:1rem}
.right-4{right:1rem}
.shadow{box-shadow:0 1px 3px 0 rgba(0,0,0,.4)}
.border-transparent{border-color:transparent}
.normal-case{text-transform:none}
.tabular-nums{font-variant-numeric:tabular-nums}
.hover\:bg-slate-800\/40:hover{background-color:rgba(30,41,59,0.4)}
.bg-emerald-500\/15{background-color:rgba(16,185,129,0.15)}
.accent-cyan-500{accent-color:#06b6d4}
.w-20{width:5rem}
.h-20{height:5rem}
.border-2{border-width:2px}
.gap-x-4{column-gap:1rem}
.gap-y-1{row-gap:0.25rem}
@media (min-width:768px){.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.bg-sky-500\/10{background-color:rgba(14,165,233,0.1)}
.gap-0\.5{gap:0.125rem}
.h-24{height:6rem}
.bg-cyan-500\/40{background-color:rgba(6,182,212,0.4)}
.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}
.w-40{width:10rem}
.max-w-5xl{max-width:64rem}
.min-w-\[220px\]{min-width:220px}
.bg-slate-700\/30{background-color:rgba(51,65,85,0.3)}
.space-x-1>:not([hidden])~:not([hidden]){margin-left:0.25rem}
.opacity-40{opacity:0.4}
.duration-200{transition-duration:200ms}
.bg-emerald-600\/20{background-color:rgba(5,150,105,0.2)}
.border-emerald-600{border-color:#059669}
.hover\:bg-emerald-600\/30:hover{background-color:rgba(5,150,105,0.3)}
@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.text-green-400{color:#4ade80}
@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pb-1{padding-bottom:0.25rem}
.bg-emerald-950\/40{background-color:rgba(2,44,34,0.4)}
.border-emerald-800\/30{border-color:rgba(6,95,70,0.3)}
.pb-3{padding-bottom:0.75rem}
.text-white\/30{color:rgba(255,255,255,0.3)}
.border-cyan-800{border-color:#155e75}
.hover\:bg-cyan-950\/40:hover{background-color:rgba(8,51,68,0.4)}
.placeholder\:text-slate-500::placeholder{color:#64748b}
.h-16{height:4rem}
.max-h-80{max-height:20rem}
.pb-2{padding-bottom:0.5rem}
.border-emerald-800{border-color:#065f46}
.hover\:bg-emerald-950\/40:hover{background-color:rgba(2,44,34,0.4)}
.bg-emerald-600{background-color:#059669}
.hover\:bg-emerald-500:hover{background-color:#10b981}
.hover\:text-emerald-300:hover{color:#6ee7b7}
.w-24{width:6rem}
.bg-indigo-600\/20{background-color:rgba(79,70,229,0.2)}
.border-indigo-600{border-color:#4f46e5}
.text-indigo-300{color:#a5b4fc}
.hover\:bg-indigo-600\/30:hover{background-color:rgba(79,70,229,0.3)}
.text-yellow-400{color:#facc15}
.bg-amber-950\/40{background-color:rgba(69,26,3,0.4)}
.border-amber-800\/30{border-color:rgba(146,64,14,0.3)}
.bg-rose-950\/40{background-color:rgba(76,5,25,0.4)}
.border-rose-800\/30{border-color:rgba(159,18,57,0.3)}
.w-48{width:12rem}
.hover\:ring-2:hover{box-shadow:0 0 0 2px var(--tw-ring-color,#06b6d4)}
.hover\:ring-cyan-500\/40:hover{--tw-ring-color:rgba(6,182,212,0.4);box-shadow:0 0 0 2px rgba(6,182,212,0.4)}
.object-contain{object-fit:contain}
.bg-slate-950\/40{background-color:rgba(2,6,23,0.4)}
.p-1{padding:0.25rem}
.pt-3{padding-top:0.75rem}
.ml-2{margin-left:0.5rem}
.col-span-full{grid-column:1/-1}
.border-sky-500\/20{border-color:rgba(14,165,233,0.2)}
.bg-slate-800\/90{background-color:rgba(30,41,59,0.9)}
.mb-0\.5{margin-bottom:0.125rem}
.bg-rose-500\/70{background-color:rgba(244,63,94,0.7)}
.pr-5{padding-right:1.25rem}
.-translate-y-1\/2{transform:translateY(-50%)}
.h-11{height:2.75rem}
.pl-9{padding-left:2.25rem}
.disabled\:opacity-50:disabled{opacity:0.5}
.bg-fuchsia-500\/15{background-color:rgba(217,70,239,0.15)}
.hover\:bg-fuchsia-500\/25:hover{background-color:rgba(217,70,239,0.25)}
.hover\:bg-cyan-500\/15:hover{background-color:rgba(6,182,212,0.15)}
.hover\:border-cyan-500\/30:hover{border-color:rgba(6,182,212,0.3)}
.whitespace-pre-line{white-space:pre-line}
@media (min-width:1280px){.xl\:col-span-3{grid-column:span 3/span 3}}
.max-h-\[600px\]{max-height:600px}
.max-w-\[160px\]{max-width:160px}
.border-cyan-400{border-color:#22d3ee}
.bg-slate-700\/40{background-color:rgba(51,65,85,0.4)}
.hover\:bg-cyan-500\/25:hover{background-color:rgba(6,182,212,0.25)}
.border-slate-600{border-color:#475569}
.border-emerald-500\/40{border-color:rgba(16,185,129,0.4)}
.text-rose-300\/80{color:rgba(253,164,175,0.8)}
.bg-amber-500\/15{background-color:rgba(245,158,11,0.15)}
.hover\:bg-amber-500\/25:hover{background-color:rgba(245,158,11,0.25)}
@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}}
.-mb-px{margin-bottom:-1px}
.hover\:text-slate-200:hover{color:#e2e8f0}
.bg-rose-500\/15{background-color:rgba(244,63,94,0.15)}
.mr-3{margin-right:0.75rem}
.min-h-\[40px\]{min-height:40px}
.hover\:bg-slate-600:hover{background-color:#475569}
.hover\:bg-rose-500\/25:hover{background-color:rgba(244,63,94,0.25)}
.bg-black\/60{background-color:rgba(0,0,0,0.6)}
.bg-slate-950\/95{background-color:rgba(2,6,23,0.95)}
.disabled\:opacity-30:disabled{opacity:0.3}
.accent-rose-500{accent-color:#f43f5e}
.min-h-\[36px\]{min-height:36px}
.h-44{height:11rem}
.bg-red-600{background-color:#dc2626}
.hover\:bg-red-500:hover{background-color:#ef4444}
.shadow-red-500\/20{box-shadow:0 8px 24px -6px rgba(239,68,68,0.2)}
.focus\:border-red-500:focus{border-color:#ef4444}
.focus\:ring-red-500:focus{--tw-ring-color:#ef4444;box-shadow:0 0 0 2px #ef4444}
.w-1{width:0.25rem}
.h-1{height:0.25rem}
.border-slate-700\/50{border-color:rgba(51,65,85,0.5)}
.border-slate-800\/40{border-color:rgba(30,41,59,0.4)}
.shadow-red-500\/10{box-shadow:0 8px 24px -6px rgba(239,68,68,0.1)}
.bg-white{background-color:#ffffff}
.border-cyan-700\/50{border-color:rgba(14,116,144,0.5)}
.border-cyan-500\/25{border-color:rgba(6,182,212,0.25)}
.top-0\.5{top:0.125rem}
.translate-x-4{transform:translateX(1rem)}
.translate-x-0\.5{transform:translateX(0.125rem)}
.hover\:bg-cyan-700:hover{background-color:#0e7490}
.hover\:text-green-300:hover{color:#86efac}
.hover\:text-red-300:hover{color:#fca5a5}
.bg-black\/70{background-color:rgba(0,0,0,0.7)}
.text-red-500{color:#ef4444}
.h-6{height:1.5rem}
.p-0\.5{padding:0.125rem}
.bg-indigo-500\/20{background-color:rgba(99,102,241,0.2)}
.hover\:bg-indigo-500\/30:hover{background-color:rgba(99,102,241,0.3)}
.border-indigo-500\/30{border-color:rgba(99,102,241,0.3)}
.max-w-lg{max-width:32rem}
.pt-1{padding-top:0.25rem}
.hover\:bg-slate-800\/70:hover{background-color:rgba(30,41,59,0.7)}
.text-cyan-500{color:#06b6d4}
.placeholder-slate-500{color:#64748b}
.my-2{margin-top:0.5rem;margin-bottom:0.5rem}
.hover\:bg-red-700:hover{background-color:#b91c1c}
.bg-yellow-500\/10{background-color:rgba(234,179,8,0.1)}
.hover\:text-cyan-400:hover{color:#22d3ee}
.hover\:bg-cyan-500\/10:hover{background-color:rgba(6,182,212,0.1)}
.hover\:text-rose-400:hover{color:#fb7185}
.hover\:bg-rose-500\/10:hover{background-color:rgba(244,63,94,0.1)}
.hover\:text-amber-400:hover{color:#fbbf24}
.hover\:bg-amber-500\/10:hover{background-color:rgba(245,158,11,0.1)}
.hover\:bg-yellow-500\/30:hover{background-color:rgba(234,179,8,0.3)}
.bg-emerald-700\/40{background-color:rgba(4,120,87,0.4)}
.text-emerald-200{color:#a7f3d0}
.hover\:bg-emerald-700\/60:hover{background-color:rgba(4,120,87,0.6)}
.border-emerald-600\/30{border-color:rgba(5,150,105,0.3)}
.border-slate-600\/30{border-color:rgba(71,85,105,0.3)}
.shadow-slate-950\/20{box-shadow:0 8px 24px -6px rgba(2,6,23,0.2)}
.bg-slate-950\/20{background-color:rgba(2,6,23,0.2)}
.bg-black\/40{background-color:rgba(0,0,0,0.4)}
.bg-black\/30{background-color:rgba(0,0,0,0.3)}
.divide-slate-800\/50>:not([hidden])~:not([hidden]){border-color:rgba(30,41,59,0.5)}
.max-h-60{max-height:15rem}
.mr-2{margin-right:0.5rem}
.p-2\.5{padding:0.625rem}
.max-h-40{max-height:10rem}
.shadow-inner{box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.4)}
.bg-cyan-600\/20{background-color:rgba(8,145,178,0.2)}
.hover\:text-cyan-200:hover{color:#a5f3fc}
.bg-rose-600\/20{background-color:rgba(225,29,72,0.2)}
.hover\:text-rose-200:hover{color:#fecdd3}
.bg-fuchsia-600\/20{background-color:rgba(192,38,211,0.2)}
.hover\:bg-slate-700\/60:hover{background-color:rgba(51,65,85,0.6)}
.-left-\[21px\]{left:-21px}
.space-y-0\.5>:not([hidden])~:not([hidden]){margin-top:0.125rem}
.p-3\.5{padding:0.875rem}
.font-normal{font-weight:400}
.bg-black\/20{background-color:rgba(0,0,0,0.2)}
.bg-rose-500\/30{background-color:rgba(244,63,94,0.3)}
.text-rose-200{color:#fecdd3}
.hover\:bg-rose-500\/40:hover{background-color:rgba(244,63,94,0.4)}
.text-slate-100{color:#f1f5f9}
.my-5{margin-top:1.25rem;margin-bottom:1.25rem}
.h-px{height:1px}
.hover\:bg-slate-100:hover{background-color:#f1f5f9}
.text-slate-800{color:#1e293b}
.w-16{width:4rem}
.bg-cyan-500\/5{background-color:rgba(6,182,212,0.05)}
.max-h-\[450px\]{max-height:450px}
.hover\:bg-rose-400:hover{background-color:#fb7185}
.ml-4{margin-left:1rem}
.pb-2\.5{padding-bottom:0.625rem}
.focus\:ring-0:focus{box-shadow:0 0 0 0 var(--tw-ring-color,#06b6d4)}
.leading-normal{line-height:1.5}
.opacity-25{opacity:0.25}
.opacity-75{opacity:0.75}
.capitalize{text-transform:capitalize}
.text-rose-400\/70{color:rgba(251,113,133,0.7)}
.min-h-0{min-height:0}
.align-middle{vertical-align:middle}
.fill-yellow-400{fill:#facc15}
@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}}
.pb-4{padding-bottom:1rem}
.border-l-2{border-left-width:2px}
.-left-\[6px\]{left:-6px}
.top-2{top:0.5rem}
.border-rose-500\/25{border-color:rgba(244,63,94,0.25)}
.border-amber-500\/25{border-color:rgba(245,158,11,0.25)}
.bg-indigo-500\/10{background-color:rgba(99,102,241,0.1)}
.border-indigo-500\/25{border-color:rgba(99,102,241,0.25)}
.w-7{width:1.75rem}
.h-7{height:1.75rem}
.space-y-px>:not([hidden])~:not([hidden]){margin-top:1px}
.text-\[13px\]{font-size:13px}
.-top-0\.5{top:-0.125rem}
.-right-0\.5{right:-0.125rem}
.min-w-\[16px\]{min-width:16px}
.hover\:text-rose-300:hover{color:#fda4af}
.self-start{align-self:flex-start}
@keyframes spx-pulse-subtle{0%,100%{opacity:1}50%{opacity:.55}}
.animate-pulse-subtle{animation:spx-pulse-subtle 2.5s cubic-bezier(.4,0,.6,1) infinite}
.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}
.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}
.underline{text-decoration-line:underline}
.no-underline{text-decoration-line:none}
.line-through{text-decoration-line:line-through}
.hover\:underline:hover{text-decoration-line:underline}
.hover\:text-fuchsia-200:hover{color:#f5d0fe}
.hover\:text-green-300:hover{color:#86efac}
.tracking-\[0\.5em\]{letter-spacing:.5em}
.object-contain{object-fit:contain}
/* Custom Spectranox micro-animations */
@keyframes spx-blink{0%,100%{opacity:1}50%{opacity:.25}}
.spx-live-dot{animation:spx-blink 1.4s ease-in-out infinite}
@keyframes spx-spin-kf{to{transform:rotate(360deg)}}
.spx-spin{animation:spx-spin-kf 1s linear infinite}
@keyframes spx-ping-kf{0%{transform:scale(1);opacity:.7}75%,100%{transform:scale(2.2);opacity:0}}
.spx-geo-ping,.spx-map-ping{animation:spx-ping-kf 1.8s cubic-bezier(0,0,.2,1) infinite}
.bg-slate-800\/80{background-color:rgba(30,41,59,0.8)}
.gap-2\.5{gap:.625rem}
.max-h-\[560px\]{max-height:560px}
/* position utilities (API-key toggle knob, etc.) */
.left-0\.5{left:.125rem}
.left-1{left:.25rem}
.left-5{left:1.25rem}
.top-1{top:.25rem}
