[data-after-text],
[data-before-text] {
    --badge-offset-x: calc(0px - var(--badge-size) * 1.2);
    --badge-offset-y: calc(0px - var(--badge-size) / 8);
    --badge-size: 1.5rem;
    --circle-size: 2rem;
    --dot-offset: 0.5rem;
    --dot-size: 0.5rem;

    --b: initial;
    --bgc: hsl(195, 100%, 30%);
    --bdrs: 0;
    --c: hsl(195, 100%, 99%);
    --d: inline-flex;
    --fz: 0.625rem;
    --fw: 700;
    --h: auto;
    --l: initial;
    --m: 0.4rem;
    --p: 0;
    --pos: static;
    --r: initial;
    --t: initial;
    --tt: uppercase;
    --w: initial;

    position: relative;
}

[data-after-text]:not([data-after-text=""])::after {
    content: attr(data-after-text);
}
[data-before-text]:not([data-before-text=""])::before {
    content: attr(data-before-text);
}

[data-after-text]:not([data-after-text=""])::after,
[data-before-text]:not([data-before-text=""])::before {
    align-items: center;
    background: var(--bgc);
    border-radius: var(--bdrs);
    bottom: var(--b);
    box-shadow: var(--bxsh);
    box-sizing: border-box;
    color: var(--c);
    display: var(--d);
    font-size: var(--fz);
    font-weight: var(--fw);
    height: var(--h);
    justify-content: center;
    left: var(--l);
    padding: var(--p);
    position: var(--pos);
    right: var(--r);
    text-decoration: none;
    text-transform: var(--tt);
    top: var(--t);
    width: var(--w);
}

/* MODIFIERS */
[data-after-type*="badge"]::after,
[data-before-type*="badge"]::before {
    --bdrs: var(--badge-size);
    --bxsh: 0 0 0 2px rgba(255, 255, 255, 0.5);
    --h: var(--badge-size);
    --p: 0;
    --pos: absolute;
    --w: var(--badge-size);
}
[data-after-type*="circle"],
[data-before-type*="circle"]{
    align-items: center;
    display: flex;
}
[data-after-type*="circle"]::after,
[data-before-type*="circle"]::before {
    --bdrs: 50%;
    --fw: 400;
    --h: var(--circle-size);
// --pos: relative;
// --t: -0.75em;
    --tt: initial;
    --w: var(--circle-size);
}
[data-after-type*="circle"]::after,
[data-after-type*="pill"]::after {
    margin-inline-start: 1ch;
}
[data-before-type*="circle"]::before,
[data-before-type*="dot"]::before,
[data-before-type*="pill"]::before {
    margin-inline-end: 1ch;
}
[data-after-type*="dot"]::after,
[data-before-type*="dot"]::before {
    --bdrs: 50%;
    --d: inline-block;
    --fz: 50%;
    --h: var(--dot-size);
    --p: 0;
    --pos: relative;
    --t: -1px;
    --w: var(--dot-size);
}
[data-after-type*="dot"]::after,
[data-before-type*="dot"]::before {
    content: "" !important;
}
[data-after-type*="pill"]::after,
[data-before-type*="pil"]::before {
    --bdrs: 1rem;
    --p: 0.25rem 0.75rem;
    --pos: relative;
    --t: -1px;
}

/* COLORS */
[data-after-type*="blue"]::after,
[data-before-type*="blue"]::before {
    --bgc: #007acc;
}
[data-after-type*="darkgray"]::after,
[data-before-type*="darkgray"]::before {
    --bgc: #706e6b;
    --c: #fff;
}
[data-after-type*="green"]::after,
[data-before-type*="green"]::before {
    --bgc: #04844b;
}
[data-after-type*="lightgray"]::after,
[data-before-type*="lightgray"]::before {
    --bgc: #ecebea;
    --c: #080707;
}
[data-after-type*="orange"]::after,
[data-before-type*="orange"]::before {
    --bgc: #ffb75d;
    --c: #080707;
}

[data-after-type*="red"]::after,
[data-before-type*="red"]::before {
    --bgc: #c23934;
}

/* POSITION */
[data-after-type*="top"]::after,
[data-before-type*="top"]::before {
    --b: auto;
    --pos: absolute;
    --t: var(--dot-offset);
}
[data-after-type*="right"]::after,
[data-before-type*="right"]::before {
    --l: auto;
    --pos: absolute;
    --r: var(--dot-offset);
}
[data-after-type*="bottom"]::after,
[data-before-type*="bottom"]::before {
    --b: var(--dot-offset);
    --pos: absolute;
    --t: auto;
}
[data-after-type*="left"]::after,
[data-before-type*="left"]::before {
    --pos: absolute;
    --r: auto;
    --l: var(--dot-offset);
}
[data-after-type*="badge"][data-after-type*="top"]::after,
[data-before-type*="badge"][data-before-type*="top"]::before {
    --m: 0;
    --t: var(--badge-offset-y);
}
[data-after-type*="badge"][data-after-type*="right"]::after,
[data-before-type*="badge"][data-before-type*="right"]::before {
    --m: 0;
    --r: var(--badge-offset-x);
}
[data-after-type*="badge"][data-after-type*="bottom"]::after,
[data-before-type*="badge"][data-before-type*="bottom"]::before {
    --b: var(--badge-offset-y);
    --m: 0;
}
[data-after-type*="badge"][data-after-type*="left"]::after,
[data-before-type*="badge"][data-before-type*="left"]::before {
    --l: var(--badge-offset-x);
    --m: 0;
}

.grid-container {
    display: grid;
    column-gap: 10px;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
}

.bg-tertiary {
    --x-bg-opacity: 1;
    background-color: rgb(255, 87, 154) !important;
}

.text-darkred {
    color: darkred !important;
}

.text-red {
    color: red !important;
}

.text-darkgreen {
    color: darkgreen !important;
}

.text-bg-lightgreen {
    background-color: #c7ffcf !important;
}

.dashboard-grid-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: 3rem 3rem;
}

.dashboard-grid-container .card-body{
    max-height: 500px;
    overflow-y: scroll;
}

.header-cls {
    background-color: #ccc !important; font-weight: bold; border: 1px solid black;
}
.header-cls td {
    border-top: 1px solid black !important;
    border-bottom: 1px solid black !important;
}

.badge-merk {
    border-radius: 12% / 50%;
    background-color: darkgreen;
    display: inline-block;
    padding: 3px 15px;
    margin-top: 10px;
    color: white;
    font-weight: bold;
}

.badge-tipe {
    height: 22px;
    width: 22px;
    border-radius: 50%;
    color: white;
    display: inline-block;
    text-align: center;
}
.badge-customer {
    background-color: darkred;
}

.badge-marketer {
    background-color: #6e4005;
}

.badge-reseller {
    background-color: #38298f;
}

.badge-subagen {
    background-color: #0b3c91;
}

.badge-agen {
    background-color: #166405;
}

.global-container{
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pembayaran {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pembayaran li {
    margin: 5px 0 0 0;
    padding: 2px 5px;
    position: relative;
    border-bottom: 1px solid #dddddd;
}

.pembayaran li:last-of-type {
    border-bottom: none;
}

.pembayaran li > div.tanggal {
    height: 50px;
    width: 50px;
    border-radius: 50%;
    border: 1px solid darkgreen;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    color: darkred;
}

.pembayaran li > div > div  {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

.pembayaran li div.keterangan {
    padding-left: 10px;
    width: calc(100% - 50px);
    box-sizing: border-box;
    display: inline-block;
    position: absolute;
    top:0;
}

.pembayaran li div.keterangan span {
    display: block;
    font-weight: bold;
    font-size: 1.2em;
}