.flex-row{display:flex;flex-direction:row}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.p-0{padding:0}.p-4{padding:4px}.p-8{padding:8px}.p-12{padding:12px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.m-0{margin:0}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.ml-8{margin-left:8px}.mr-8{margin-right:8px}.text-xs{font-size:11px}.text-sm{font-size:13px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.font-medium{font-weight:500}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.whitespace-nowrap{white-space:nowrap}.text-main{color:#1f2937}.text-sub{color:#6b7280}.text-muted{color:#9ca3af}.text-danger{color:#ef4444}.text-success{color:#16a34a}.text-info{color:#3b82f6}.text-warning{color:#f59e0b}.bg-white{background:#fff}.bg-base{background:#f9fafb}.bg-subtle{background:#f3f4f6}.card-base{background:#fff;border-radius:10px;padding:16px;border:1px solid #f3f4f6;box-shadow:0 1px 3px #0000000a}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.w-full{width:100%}.h-full{height:100%}.cursor-pointer{cursor:pointer}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-4{border-radius:4px}.rounded-6{border-radius:6px}.rounded-8{border-radius:8px}.rounded-10{border-radius:10px}.rounded-12{border-radius:12px}.rounded-full{border-radius:9999px}.border{border:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.border-t{border-top:1px solid #e5e7eb}
