/* Crupi PM self-hosted UI stylesheet. No browser CDN dependency. */
*,*::before,*::after{box-sizing:border-box}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}table{border-collapse:collapse}img,svg{display:block;max-width:100%}
:root{color-scheme:light}body{background:linear-gradient(135deg,#f8fafc 0%,#eef2ff 48%,#f8fafc 100%);color:#0f172a}
.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex{display:flex}.grid{display:grid}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.top-1{top:.25rem}.z-20{z-index:20}
.flex-1{flex:1 1 0%}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.place-items-center{place-items:center}.align-middle{vertical-align:middle}.align-top{vertical-align:top}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}
.min-h-screen{min-height:100vh}.h-2{height:.5rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-fit{height:fit-content}.w-24{width:6rem}.w-72{width:18rem}.w-full{width:100%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-\[480px\]{min-width:480px}.min-w-\[1050px\]{min-width:1050px}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-h-56{max-height:14rem}.mx-auto{margin-left:auto;margin-right:auto}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.ml-5{margin-left:1.25rem}.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-1{padding-left:.25rem;padding-right:.25rem}.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-7{padding-left:1.75rem;padding-right:1.75rem}.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-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}
.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.whitespace-pre-line{white-space:pre-line}.cursor-pointer{cursor:pointer}
.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.border{border:1px solid #e2e8f0}.border-b{border-bottom:1px solid #e2e8f0}.border-t{border-top:1px solid #e2e8f0}.border-slate-200{border-color:#e2e8f0}.border-slate-300{border-color:#cbd5e1}.border-green-200{border-color:#bbf7d0}.border-red-200{border-color:#fecaca}.shadow{box-shadow:0 1px 3px rgba(15,23,42,.12),0 1px 2px rgba(15,23,42,.08)}.backdrop-blur{backdrop-filter:blur(8px)}
.bg-white{background:#fff}.bg-white\/95{background:rgba(255,255,255,.95)}.bg-slate-50{background:#f8fafc}.bg-slate-100{background:#f1f5f9}.bg-slate-200{background:#e2e8f0}.bg-slate-700{background:#334155}.bg-slate-900{background:#0f172a}.bg-blue-600{background:#2563eb}.bg-blue-700{background:#1d4ed8}.bg-emerald-600{background:#059669}.bg-green-50{background:#f0fdf4}.bg-green-100{background:#dcfce7}.bg-red-50{background:#fef2f2}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.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}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tracking-wide{letter-spacing:.025em}.text-left{text-align:left}.text-center{text-align:center}.text-white{color:#fff}.text-slate-400{color:#94a3b8}.text-slate-500{color:#64748b}.text-slate-600{color:#475569}.text-slate-800{color:#1e293b}.text-slate-900{color:#0f172a}.text-blue-200{color:#bfdbfe}.text-blue-700{color:#1d4ed8}.text-green-800{color:#166534}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.underline{text-decoration:underline}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}
.hover\:bg-slate-50:hover{background:#f8fafc}.hover\:border-slate-400:hover{border-color:#94a3b8}.hover\:underline:hover{text-decoration:underline}
.pm-sidebar{background:linear-gradient(180deg,#07152f 0%,#0f1f3d 60%,#111827 100%);box-shadow:8px 0 30px rgba(15,23,42,.12)}.pm-nav{transition:.18s ease}.pm-nav:hover{background:rgba(255,255,255,.10);transform:translateX(2px)}.pm-nav-active{background:linear-gradient(90deg,rgba(59,130,246,.28),rgba(99,102,241,.15));border-left:3px solid #60a5fa}.pm-card{background:rgba(255,255,255,.96);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 28px rgba(15,23,42,.07)}.pm-field label{display:block;font-size:.78rem;font-weight:700;color:#334155;margin-bottom:.38rem;letter-spacing:.01em}.pm-field input:not([type=checkbox]):not([type=radio]),.pm-field select,.pm-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:.66rem .78rem;outline:none;transition:.18s ease;min-height:42px}.pm-field input:focus,.pm-field select:focus,.pm-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.pm-help{font-size:.75rem;color:#64748b;margin-top:.3rem}.pm-required{color:#dc2626}.pm-btn-primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:.65rem 1.05rem;font-weight:700;color:white;background:linear-gradient(135deg,#2563eb,#4f46e5);box-shadow:0 6px 16px rgba(79,70,229,.22);transition:.18s ease}.pm-btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.pm-btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:10px;padding:.65rem 1.05rem;font-weight:600;background:white;color:#334155}.pm-page-title{font-size:1.6rem;font-weight:800;color:#0f172a}.pm-subtitle{font-size:.9rem;color:#64748b;margin-top:.25rem}table thead{letter-spacing:.01em}
@media(min-width:768px){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}}
@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:p-7{padding:1.75rem}.lg\:p-8{padding:2rem}}

.dependency-guide{display:grid;gap:8px;padding:14px;border:1px solid #dbe3ef;border-radius:12px;background:#f8fafc}
.dependency-guide-row{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:start}
.dependency-guide-row b{color:#0f172a}
.dependency-guide-row span{color:#64748b;font-size:.9rem;line-height:1.45}
.dependency-guide-note{margin-top:4px;padding-top:10px;border-top:1px solid #e2e8f0;color:#475569;font-size:.9rem}
@media(max-width:720px){.dependency-guide-row{grid-template-columns:1fr;gap:2px}}
