/* ====== Spacing Utilities ====== */

/* Margin */
.m-0  { margin: 0 !important; }
.mt-0 { margin-top: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.ml-0 { margin-left: 0 !important; }

.m-1  { margin: 0.25rem !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mb-1 { margin-bottom: 0.25rem !important; }
.ml-1 { margin-left: 0.25rem !important; }

.m-2  { margin: 0.5rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.m-3  { margin: 0.75rem !important; }
.mt-3 { margin-top: 0.55rem !important; }
.m-4  { margin: 1rem !important; }
.mt-4 { margin-top: 1rem !important; }
.m-5  { margin: 1.5rem !important; }

/* Padding */
.p-0  { padding: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }
.pl-0 { padding-left: 0 !important; }

.p-1  { padding: 0.25rem !important; }
.p-2  { padding: 0.5rem !important; }
.p-3  { padding: 0.75rem !important; }
.p-4  { padding: 1rem !important; }
.p-5  { padding: 1.5rem !important; }

/* ====== Flex Utilities ====== */
.flex { display: flex !important; }
.flex-col { flex-direction: column !important; }
.flex-row { flex-direction: row !important; }
.justify-start   { justify-content: flex-start !important; }
.justify-center  { justify-content: center !important; }
.justify-end     { justify-content: flex-end !important; }
.justify-between { justify-content: space-between !important; }
.items-start     { align-items: flex-start !important; }
.items-center    { align-items: center !important; }
.items-end       { align-items: flex-end !important; }

/* ====== Text Utilities ====== */
.text-left   { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-bold   { font-weight: bold !important; }
.text-light  { font-weight: 300 !important; }
.text-sm     { font-size: 0.875rem !important; }
.text-md     { font-size: 1rem !important; }
.text-lg     { font-size: 1.25rem !important; }

/* ====== Width/Height Utilities ====== */
.w-100  { width: 100% !important; }
.w-50   { width: 50% !important; }
.h-100  { height: 100% !important; }
.h-auto { height: auto !important; }

/* ====== Position Utilities ====== */
.relative { position: relative !important; }
.absolute { position: absolute !important; }
.fixed    { position: fixed !important; }
.top-0    { top: 0 !important; }
.left-0   { left: 0 !important; }
.right-0  { right: 0 !important; }
.bottom-0 { bottom: 0 !important; }

/* ====== Border Radius & Shadow ====== */
.rounded    { border-radius: 4px !important; }
.rounded-lg { border-radius: 12px !important; }
.shadow     { box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important; }

/* ====== Display ====== */
.d-block  { display: block !important; }
.d-inline { display: inline !important; }
.d-none   { display: none !important; }
.d-flex   { display: flex !important; }

/* ====== Cursor ====== */
.cursor-pointer { cursor: pointer !important; }

/* ====== Z-Index ====== */
.z-0  { z-index: 0 !important; }
.z-10 { z-index: 10 !important; }
.z-50 { z-index: 50 !important; }
.z-100 { z-index: 100 !important; }

/* ====== Overflow ====== */
.overflow-hidden { overflow: hidden !important; }
.overflow-auto   { overflow: auto !important; }
