Initial commit: Meshkee dashboards monorepo.

Includes business, customer, and super-admin apps with shared packages and production deploy scripts.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Alireza Hassani
2026-07-22 13:48:53 +03:30
co-authored by Cursor
commit f566387c61
509 changed files with 62690 additions and 0 deletions
@@ -0,0 +1,129 @@
.section {
margin-bottom: 0;
}
.header {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 12px;
margin-bottom: 8px;
}
.headerActions {
display: flex;
align-items: center;
gap: 4px;
}
.navBtn {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
color: var(--text-secondary);
transition: background 0.2s, color 0.2s;
}
.navBtn:hover {
background: rgba(var(--primary-rgb) / 0.1);
color: var(--primary);
}
.trackWrap {
position: relative;
}
.track {
--slide-width: 270px;
display: flex;
align-items: stretch;
gap: 10px;
overflow-x: auto;
scroll-snap-type: x proximity;
padding: 4px 2px 12px;
scrollbar-width: thin;
scrollbar-color: rgba(148, 163, 184, 0.45) transparent;
}
.track::-webkit-scrollbar {
height: 6px;
}
.track::-webkit-scrollbar-thumb {
background: rgba(148, 163, 184, 0.45);
border-radius: 50px;
}
.slideSlot {
flex: 0 0 var(--slide-width);
scroll-snap-align: start;
display: flex;
min-width: 0;
align-self: flex-start;
}
.slideSlotAdd {
aspect-ratio: 9 / 4;
align-self: stretch;
}
.slideSlot > * {
width: 100%;
height: 100%;
}
.slideSlot > span {
display: flex;
}
.slideSlot > span > button {
flex: 1;
width: 100%;
}
.addCard {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: var(--glass-bg);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px dashed rgba(var(--primary-rgb) / 0.35);
border-radius: var(--radius);
color: var(--primary);
transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.addCard:hover {
background: rgba(var(--primary-rgb) / 0.08);
border-color: rgba(var(--primary-rgb) / 0.55);
transform: translateY(-2px);
box-shadow: 0 10px 28px rgba(31, 38, 135, 0.1);
}
.addIcon {
width: 44px;
height: 44px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: rgba(var(--primary-rgb) / 0.1);
}
@media (min-width: 640px) {
.track {
--slide-width: 320px;
}
}
@media (min-width: 1024px) {
.track {
--slide-width: 360px;
}
}