/* utilities.css - Utility Classes for Rapid Development */ /* ========== DISPLAY ========== */ .d-none { display: none !important; } .d-block { display: block !important; } .d-inline { display: inline !important; } .d-inline-block { display: inline-block !important; } .d-flex { display: flex !important; } .d-inline-flex { display: inline-flex !important; } .d-grid { display: grid !important; } /* ========== FLEXBOX ========== */ .flex-row { flex-direction: row !important; } .flex-column { flex-direction: column !important; } .flex-wrap { flex-wrap: wrap !important; } .flex-nowrap { flex-wrap: nowrap !important; } .justify-start { justify-content: flex-start !important; } .justify-end { justify-content: flex-end !important; } .justify-center { justify-content: center !important; } .justify-between { justify-content: space-between !important; } .justify-around { justify-content: space-around !important; } .align-start { align-items: flex-start !important; } .align-end { align-items: flex-end !important; } .align-center { align-items: center !important; } .align-baseline { align-items: baseline !important; } .align-stretch { align-items: stretch !important; } .flex-1 { flex: 1 !important; } .flex-auto { flex: auto !important; } .flex-none { flex: none !important; } /* ========== GAP ========== */ .gap-1 { gap: 4px !important; } .gap-2 { gap: 8px !important; } .gap-3 { gap: 12px !important; } .gap-4 { gap: 16px !important; } .gap-5 { gap: 20px !important; } .gap-6 { gap: 24px !important; } .gap-8 { gap: 32px !important; } /* ========== SPACING (8px system) ========== */ /* Margin */ .m-0 { margin: 0 !important; } .m-1 { margin: 4px !important; } .m-2 { margin: 8px !important; } .m-3 { margin: 12px !important; } .m-4 { margin: 16px !important; } .m-5 { margin: 20px !important; } .m-6 { margin: 24px !important; } .m-8 { margin: 32px !important; } .m-auto { margin: auto !important; } /* Margin Top */ .mt-0 { margin-top: 0 !important; } .mt-1 { margin-top: 4px !important; } .mt-2 { margin-top: 8px !important; } .mt-3 { margin-top: 12px !important; } .mt-4 { margin-top: 16px !important; } .mt-5 { margin-top: 20px !important; } .mt-6 { margin-top: 24px !important; } .mt-8 { margin-top: 32px !important; } .mt-auto { margin-top: auto !important; } /* Margin Bottom */ .mb-0 { margin-bottom: 0 !important; } .mb-1 { margin-bottom: 4px !important; } .mb-2 { margin-bottom: 8px !important; } .mb-3 { margin-bottom: 12px !important; } .mb-4 { margin-bottom: 16px !important; } .mb-5 { margin-bottom: 20px !important; } .mb-6 { margin-bottom: 24px !important; } .mb-8 { margin-bottom: 32px !important; } .mb-auto { margin-bottom: auto !important; } /* Margin Right */ .mr-0 { margin-right: 0 !important; } .mr-1 { margin-right: 4px !important; } .mr-2 { margin-right: 8px !important; } .mr-3 { margin-right: 12px !important; } .mr-4 { margin-right: 16px !important; } .mr-5 { margin-right: 20px !important; } .mr-6 { margin-right: 24px !important; } .mr-8 { margin-right: 32px !important; } .mr-auto { margin-right: auto !important; } /* Margin Left */ .ml-0 { margin-left: 0 !important; } .ml-1 { margin-left: 4px !important; } .ml-2 { margin-left: 8px !important; } .ml-3 { margin-left: 12px !important; } .ml-4 { margin-left: 16px !important; } .ml-5 { margin-left: 20px !important; } .ml-6 { margin-left: 24px !important; } .ml-8 { margin-left: 32px !important; } .ml-auto { margin-left: auto !important; } /* Padding */ .p-0 { padding: 0 !important; } .p-1 { padding: 4px !important; } .p-2 { padding: 8px !important; } .p-3 { padding: 12px !important; } .p-4 { padding: 16px !important; } .p-5 { padding: 20px !important; } .p-6 { padding: 24px !important; } .p-8 { padding: 32px !important; } /* Padding Top */ .pt-0 { padding-top: 0 !important; } .pt-1 { padding-top: 4px !important; } .pt-2 { padding-top: 8px !important; } .pt-3 { padding-top: 12px !important; } .pt-4 { padding-top: 16px !important; } .pt-5 { padding-top: 20px !important; } .pt-6 { padding-top: 24px !important; } .pt-8 { padding-top: 32px !important; } /* Padding Bottom */ .pb-0 { padding-bottom: 0 !important; } .pb-1 { padding-bottom: 4px !important; } .pb-2 { padding-bottom: 8px !important; } .pb-3 { padding-bottom: 12px !important; } .pb-4 { padding-bottom: 16px !important; } .pb-5 { padding-bottom: 20px !important; } .pb-6 { padding-bottom: 24px !important; } .pb-8 { padding-bottom: 32px !important; } /* Padding Right */ .pr-0 { padding-right: 0 !important; } .pr-1 { padding-right: 4px !important; } .pr-2 { padding-right: 8px !important; } .pr-3 { padding-right: 12px !important; } .pr-4 { padding-right: 16px !important; } .pr-5 { padding-right: 20px !important; } .pr-6 { padding-right: 24px !important; } .pr-8 { padding-right: 32px !important; } /* Padding Left */ .pl-0 { padding-left: 0 !important; } .pl-1 { padding-left: 4px !important; } .pl-2 { padding-left: 8px !important; } .pl-3 { padding-left: 12px !important; } .pl-4 { padding-left: 16px !important; } .pl-5 { padding-left: 20px !important; } .pl-6 { padding-left: 24px !important; } .pl-8 { padding-left: 32px !important; } /* ========== WIDTH & HEIGHT ========== */ .w-full { width: 100% !important; } .w-auto { width: auto !important; } .h-full { height: 100% !important; } .h-auto { height: auto !important; } .max-w-xs { max-width: 320px !important; } .max-w-sm { max-width: 480px !important; } .max-w-md { max-width: 640px !important; } .max-w-lg { max-width: 800px !important; } .max-w-xl { max-width: 1024px !important; } .max-w-2xl { max-width: 1200px !important; } .max-w-full { max-width: 100% !important; } /* ========== TEXT ALIGNMENT ========== */ .text-left { text-align: left !important; } .text-center { text-align: center !important; } .text-right { text-align: right !important; } .text-justify { text-align: justify !important; } /* ========== TEXT TRANSFORM ========== */ .text-uppercase { text-transform: uppercase !important; } .text-lowercase { text-transform: lowercase !important; } .text-capitalize { text-transform: capitalize !important; } /* ========== FONT WEIGHT ========== */ .font-light { font-weight: 300 !important; } .font-normal { font-weight: 400 !important; } .font-medium { font-weight: 500 !important; } .font-semibold { font-weight: 600 !important; } .font-bold { font-weight: 700 !important; } /* ========== FONT SIZE ========== */ .text-xs { font-size: 12px !important; } .text-sm { font-size: 14px !important; } .text-base { font-size: 16px !important; } .text-lg { font-size: 18px !important; } .text-xl { font-size: 20px !important; } .text-2xl { font-size: 24px !important; } .text-3xl { font-size: 30px !important; } /* ========== TEXT COLOR ========== */ .text-primary { color: #0f172a !important; } .text-secondary { color: #475569 !important; } .text-tertiary { color: #94a3b8 !important; } .text-blue { color: #1e40af !important; } .text-success { color: #059669 !important; } .text-warning { color: #d97706 !important; } .text-error { color: #dc2626 !important; } .text-white { color: #ffffff !important; } [data-theme="dark"] .text-primary { color: #f8fafc !important; } [data-theme="dark"] .text-secondary { color: #cbd5e1 !important; } [data-theme="dark"] .text-tertiary { color: #64748b !important; } /* ========== BACKGROUND COLOR ========== */ .bg-white { background-color: #ffffff !important; } .bg-gray-50 { background-color: #f8fafc !important; } .bg-gray-100 { background-color: #f1f5f9 !important; } .bg-blue { background-color: #1e40af !important; } .bg-success { background-color: #059669 !important; } .bg-warning { background-color: #d97706 !important; } .bg-error { background-color: #dc2626 !important; } .bg-transparent { background-color: transparent !important; } /* ========== BORDER ========== */ .border { border: 1px solid #e2e8f0 !important; } .border-0 { border: 0 !important; } .border-t { border-top: 1px solid #e2e8f0 !important; } .border-b { border-bottom: 1px solid #e2e8f0 !important; } .border-r { border-right: 1px solid #e2e8f0 !important; } .border-l { border-left: 1px solid #e2e8f0 !important; } [data-theme="dark"] .border { border-color: #334155 !important; } [data-theme="dark"] .border-t { border-top-color: #334155 !important; } [data-theme="dark"] .border-b { border-bottom-color: #334155 !important; } [data-theme="dark"] .border-r { border-right-color: #334155 !important; } [data-theme="dark"] .border-l { border-left-color: #334155 !important; } /* ========== BORDER RADIUS ========== */ .rounded-none { border-radius: 0 !important; } .rounded-sm { border-radius: 6px !important; } .rounded { border-radius: 8px !important; } .rounded-md { border-radius: 10px !important; } .rounded-lg { border-radius: 12px !important; } .rounded-xl { border-radius: 16px !important; } .rounded-full { border-radius: 9999px !important; } /* ========== SHADOW ========== */ .shadow-none { box-shadow: none !important; } .shadow-sm { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important; } .shadow { box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08) !important; } .shadow-md { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08) !important; } .shadow-lg { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.10) !important; } .shadow-xl { box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important; } /* ========== POSITION ========== */ .position-static { position: static !important; } .position-relative { position: relative !important; } .position-absolute { position: absolute !important; } .position-fixed { position: fixed !important; } .position-sticky { position: sticky !important; } /* ========== OVERFLOW ========== */ .overflow-auto { overflow: auto !important; } .overflow-hidden { overflow: hidden !important; } .overflow-visible { overflow: visible !important; } .overflow-scroll { overflow: scroll !important; } /* ========== CURSOR ========== */ .cursor-pointer { cursor: pointer !important; } .cursor-default { cursor: default !important; } .cursor-not-allowed { cursor: not-allowed !important; } /* ========== OPACITY ========== */ .opacity-0 { opacity: 0 !important; } .opacity-25 { opacity: 0.25 !important; } .opacity-50 { opacity: 0.5 !important; } .opacity-75 { opacity: 0.75 !important; } .opacity-100 { opacity: 1 !important; } /* ========== VISIBILITY ========== */ .visible { visibility: visible !important; } .invisible { visibility: hidden !important; } /* ========== RESPONSIVE UTILITIES ========== */ @media (max-width: 640px) { .sm\:d-none { display: none !important; } .sm\:d-block { display: block !important; } .sm\:d-flex { display: flex !important; } .sm\:text-center { text-align: center !important; } } @media (max-width: 768px) { .md\:d-none { display: none !important; } .md\:d-block { display: block !important; } .md\:d-flex { display: flex !important; } .md\:text-center { text-align: center !important; } } @media (max-width: 1024px) { .lg\:d-none { display: none !important; } .lg\:d-block { display: block !important; } .lg\:d-flex { display: flex !important; } } /* ========== PRINT UTILITIES ========== */ @media print { .print\:d-none { display: none !important; } .print\:d-block { display: block !important; } }