.btn {
display: inline-flex;
justify-content: center;
align-items: center;
gap: 0.55rem;
min-height: 46px;
padding: 0.65rem 1rem;
border: 1.5px solid #d8bdcb;
border-radius: 14px;
background: #fff;
color: #673c53;
font-weight: 800;
text-decoration: none;
transition:
transform 0.15s,
box-shadow 0.15s;
}
.btn:hover {
text-decoration: none;
transform: translateY(-1px);
box-shadow: 0 5px 14px #98385814;
}
.btn.primary {
background: #246b53;
border-color: #19513e;
color: #fff;
box-shadow: 0 3px 0 #153e30;
}
.btn.rose {
background: #af3e70;
color: #fff;
border-color: #872852;
box-shadow: 0 3px 0 #762748;
}
.btn.soft {
background: #fce2ec;
border-color: #efbfd2;
color: #8f315c;
}
.btn.danger {
background: #fff1f3;
color: #a32340;
}
.btn.small {
min-height: 40px;
padding: 0.45rem 0.8rem;
font-size: 0.875rem;
}
.btn.icon {
min-width: 46px;
padding: 0.6rem;
}
.btn.full {
width: 100%;
}
.row {
display: flex;
gap: 0.75rem;
align-items: center;
flex-wrap: wrap;
}
.between {
justify-content: space-between;
}
.stack {
display: grid;
gap: 1rem;
align-content: start;
}
.gap-sm {
gap: 0.5rem;
}
.grid {
display: grid;
gap: 1.2rem;
}
.grid.two {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid.three {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.card {
background: #fff;
border: 1.5px solid #efd4e0;
border-radius: 22px;
padding: 1.35rem;
box-shadow: 0 5px 18px #93275c07;
}
.card.green {
background: #eff8ef;
border-color: #c9e2ce;
}
.card.pink {
background: #fff0f5;
border-color: #ecc7d7;
}
.card.amber {
background: #fffaed;
border-color: #ead8ab;
}
.section {
margin-top: 1.8rem;
}
.section-title {
display: flex;
justify-content: space-between;
gap: 1rem;
align-items: center;
margin-bottom: 1rem;
}
.note {
border-left: 4px solid #cf789e;
background: #fff2f7;
padding: 0.8rem 1rem;
border-radius: 0 12px 12px 0;
font-size: 0.92rem;
}
.note.green {
border-color: #43866a;
background: #eef9f0;
}
.note.amber {
border-color: #b18437;
background: #fff8e8;
}
.empty {
text-align: center;
padding: 2rem;
color: #72566a;
}
.empty img {
width: 95px;
height: 95px;
object-fit: contain;
margin: 0 auto 0.8rem;
}
.demo-strip {
text-align: center;
padding: 0.4rem 1rem;
background: #fff0d8;
color: #75501c;
font-size: 0.82rem;
font-weight: 700;
border-bottom: 1px solid #e9cfa8;
}
.demo-strip a {
color: inherit;
text-decoration: underline;
}
