[x-cloak] { display: none !important; }
.nav-link { display:flex; align-items:center; gap:.75rem; border-radius:.6rem; padding:.55rem .75rem; color:#cbd5e1; transition:background .15s,color .15s; }
.nav-link:hover { background:#1e293b; color:#fff; }
.nav-active { background:#1e293b; color:#fff; box-shadow: inset 3px 0 0 #CFDA62; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:1rem; box-shadow:0 1px 2px rgb(15 23 42 / .04); }
.btn { display:inline-flex; align-items:center; gap:.5rem; border-radius:.65rem; padding:.55rem 1rem; font-size:.875rem; font-weight:500; transition:all .15s; }
/* Kathi Studio lime with near-black text (white on lime fails WCAG contrast) */
.btn-primary { background:#CFDA62; color:#1E1E1E; font-weight:600; box-shadow:0 1px 2px rgb(111 122 23 / .3); }
.btn-primary:hover { background:#AEBB34; }
.btn-ghost { color:#475569; border:1px solid #e2e8f0; background:#fff; }
.btn-ghost:hover { background:#f8fafc; }
.field input, .field select, .field textarea { width:100%; border:1px solid #cbd5e1; border-radius:.65rem; padding:.6rem .8rem; font-size:.9rem; background:#fff; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:#6F7A17; box-shadow:0 0 0 3px rgb(207 218 98 / .45); }
.field label { display:block; font-size:.8rem; font-weight:500; color:#475569; margin-bottom:.35rem; }
.field .errorlist { color:#dc2626; font-size:.78rem; margin-top:.3rem; }
:focus-visible { outline:2px solid #6F7A17; outline-offset:2px; }
.prose-hub { font-size:.92rem; line-height:1.7; color:#334155; }
.prose-hub h1 { font-size:1.4rem; font-weight:600; color:#0f172a; margin:0 0 1rem; }
.prose-hub h2 { font-size:1.1rem; font-weight:600; color:#0f172a; margin:1.6rem 0 .5rem; }
.prose-hub p, .prose-hub ul, .prose-hub ol { margin:.5rem 0; }
.prose-hub ul { list-style:disc; padding-left:1.4rem; } .prose-hub ol { list-style:decimal; padding-left:1.4rem; }
.prose-hub table { width:100%; border-collapse:collapse; font-size:.82rem; margin:.75rem 0; display:block; overflow-x:auto; }
.prose-hub th, .prose-hub td { border:1px solid #e2e8f0; padding:.35rem .6rem; text-align:left; }
.prose-hub th { background:#f8fafc; }
.prose-hub code { background:#f1f5f9; border-radius:.3rem; padding:.1rem .3rem; font-size:.85em; }
.kanban-col.drag-over { background:#eef4ff; outline:2px dashed #93b4fd; }
/* NFR-006: grid/flex children may shrink below their content (long code, URLs) */
.grid > * { min-width: 0; }
