.df-host-placeholder {
    padding: 18px;
    border: 1px dashed rgba(45, 28, 15, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .42);
}

.df-host-placeholder strong {
    color: var(--color-text);
}

.df-host-placeholder p {
    margin: 8px 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.df-host-placeholder span {
    display: inline-flex;
    margin-top: 12px;
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
}

.df-renter-welcome .df-dashboard-stats {
    margin-top: 18px;
}

.df-renter-trip-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin-top: 18px;
    padding: 12px;
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
}

.df-renter-trip-card.is-empty {
    grid-template-columns: 1fr auto;
}

.df-renter-trip-card img {
    width: 96px;
    height: 76px;
    border-radius: 8px;
    object-fit: cover;
}

.df-renter-trip-card span {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
}

.df-renter-trip-card h3 {
    margin: 4px 0 0;
    color: var(--color-text);
    font-size: 20px;
    line-height: 1.18;
}

.df-renter-trip-card p {
    margin: 6px 0 0;
    color: var(--color-muted);
    font-size: 14px;
}

.df-renter-trip-card a {
    align-self: center;
    justify-self: end;
    min-height: 38px;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--color-primary);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.df-renter-trip-card a:hover {
    background: var(--color-primary-dark);
}

.df-renter-trip-side {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.df-renter-trip-side strong {
    color: var(--color-text);
    font-size: 18px;
}

.df-renter-danger-link {
    color: #9b2f24;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.df-renter-danger-link:hover {
    text-decoration: underline;
}

.df-renter-detail {
    display: grid;
    gap: 14px;
}

.df-renter-detail-hero,
.df-renter-detail-panel {
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
}

.df-renter-detail-hero {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    overflow: hidden;
    align-items: stretch;
}

.df-renter-detail-hero.is-empty {
    grid-template-columns: 1fr;
}

.df-renter-detail-hero.is-empty > div {
    padding: 18px;
}

.df-renter-detail-hero img {
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}

.df-renter-detail-hero > div {
    display: grid;
    align-content: center;
    justify-items: start;
    gap: 9px;
    padding: 18px 18px 18px 0;
}

.df-renter-detail-hero a {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.df-renter-detail-hero a:hover {
    color: var(--color-text);
    text-decoration: underline;
}

.df-renter-detail-hero h3 {
    margin: 0;
    color: var(--color-text);
    font-size: 28px;
    line-height: 1.08;
}

.df-renter-detail-hero p {
    margin: 0;
    color: var(--color-muted);
}

.df-renter-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.df-renter-detail-panel {
    padding: 14px;
}

.df-renter-detail-panel > span {
    display: block;
    margin-bottom: 10px;
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
}

.df-renter-detail-panel dl {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
    color: var(--color-text);
    font-size: 13px;
}

.df-renter-detail-panel dt {
    color: var(--color-muted);
    font-weight: 900;
}

.df-renter-detail-panel dd {
    min-width: 0;
    margin: 0;
}

.df-renter-detail-panel a {
    color: inherit;
}

.df-renter-actions-panel p {
    margin: 0 0 12px;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.45;
}

.df-renter-danger-button {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(155, 47, 36, .18);
    border-radius: 8px;
    background: rgba(155, 47, 36, .06);
    color: #8d2b22 !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.df-renter-danger-button:hover {
    background: rgba(155, 47, 36, .10);
}

.df-renter-date-change-form {
    display: grid;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(45, 28, 15, .08);
}

.df-renter-date-change-form label {
    display: grid;
    gap: 4px;
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 850;
}

.df-renter-date-change-form input,
.df-renter-date-change-form textarea {
    min-height: 36px;
    width: 100%;
    border: 1px solid rgba(45, 28, 15, .1);
    border-radius: 8px;
    background: rgba(255, 255, 255, .76);
    color: var(--color-text);
    font: inherit;
    font-size: 13px;
}

.df-renter-date-change-form textarea {
    min-height: 64px;
    padding: 9px 10px;
    resize: vertical;
}

.df-renter-date-change-form button {
    min-height: 36px;
    border: 0;
    border-radius: 8px;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
}

.df-renter-price-list {
    display: grid;
    gap: 8px;
}

.df-renter-price-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--color-muted);
    font-size: 13px;
}

.df-renter-price-list strong {
    color: var(--color-text);
}

.df-renter-price-list .is-total {
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(45, 28, 15, .09);
    color: var(--color-text);
    font-weight: 900;
}

.df-renter-nearby-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.df-renter-nearby-grid a {
    display: grid;
    gap: 7px;
    color: var(--color-text);
    text-decoration: none;
}

.df-renter-nearby-grid img {
    width: 100%;
    aspect-ratio: 1 / .72;
    border-radius: 8px;
    object-fit: cover;
}

.df-renter-nearby-grid strong {
    overflow: hidden;
    font-size: 13px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.df-renter-nearby-grid small {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 800;
}

.df-booking-message-panel {
    display: grid;
    gap: 12px;
}

.df-booking-message-empty {
    margin: 0;
    color: var(--color-muted);
    font-size: 13px;
}

.df-booking-message-list {
    display: grid;
    gap: 9px;
}

.df-booking-message {
    padding: 10px;
    border-radius: 8px;
    background: rgba(45, 28, 15, .045);
}

.df-booking-message.is-verhuurder {
    background: rgba(177, 111, 58, .10);
}

.df-booking-message > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 5px;
}

.df-booking-message strong {
    color: var(--color-text);
    font-size: 13px;
}

.df-booking-message time {
    color: var(--color-muted);
    font-size: 11px;
    font-weight: 800;
}

.df-booking-message p {
    margin: 0;
    color: var(--color-text);
    font-size: 13px;
    line-height: 1.45;
}

.df-booking-message-form {
    display: grid;
    gap: 9px;
}

.df-booking-message-form label {
    display: grid;
    gap: 5px;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 900;
}

.df-booking-message-form textarea {
    width: 100%;
    min-height: 96px;
    resize: vertical;
    border: 1px solid rgba(45, 28, 15, .10);
    border-radius: 8px;
    background: rgba(255, 255, 255, .75);
    color: var(--color-text);
    font: inherit;
    font-size: 14px;
}

.df-booking-message-form button {
    justify-self: start;
    min-height: 38px;
    padding: 0 13px;
    border: 0;
    border-radius: 8px;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
    font-weight: 900;
}

.df-booking-inbox-list {
    display: grid;
    gap: 10px;
}

.df-booking-inbox-item {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1fr);
    gap: 14px;
    padding: 13px;
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
    color: var(--color-text);
    text-decoration: none;
}

.df-booking-inbox-item span {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
}

.df-booking-inbox-item strong {
    display: block;
    margin-top: 4px;
    color: var(--color-text);
    font-size: 16px;
}

.df-booking-inbox-item small {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 800;
}

.df-booking-inbox-item p {
    overflow: hidden;
    margin: 0;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.df-invoice-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
}

.df-invoice-summary span {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
}

.df-invoice-summary strong {
    display: block;
    margin-top: 4px;
    color: var(--color-text);
    font-size: 28px;
    line-height: 1;
}

.df-invoice-summary p {
    margin: 0;
    color: var(--color-muted);
    font-size: 13px;
    font-weight: 850;
}

.df-invoice-list {
    display: grid;
    gap: 10px;
}

.df-invoice-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 13px;
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
}

.df-invoice-row span,
.df-invoice-row em {
    color: var(--color-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.df-invoice-row strong {
    display: block;
    margin-top: 4px;
    color: var(--color-text);
    font-size: 16px;
}

.df-invoice-row p {
    margin: 5px 0 0;
    color: var(--color-muted);
    font-size: 13px;
}

.df-invoice-row > div:last-child {
    display: grid;
    justify-items: end;
    gap: 5px;
}

.df-invoice-row a {
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.df-invoice-row a:hover {
    text-decoration: underline;
}

.df-review-panel,
.df-review-list {
    display: grid;
    gap: 12px;
}

.df-review-form {
    display: grid;
    gap: 9px;
}

.df-review-form label {
    display: grid;
    gap: 5px;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 900;
}

.df-review-form select,
.df-review-form textarea {
    width: 100%;
    border: 1px solid rgba(45, 28, 15, .10);
    border-radius: 8px;
    background: rgba(255, 255, 255, .75);
    color: var(--color-text);
    font: inherit;
    font-size: 14px;
}

.df-review-form select {
    min-height: 38px;
}

.df-review-form textarea {
    min-height: 96px;
    resize: vertical;
}

.df-review-form button {
    justify-self: start;
    min-height: 38px;
    padding: 0 13px;
    border: 0;
    border-radius: 8px;
    background: var(--color-primary);
    color: #fff;
    cursor: pointer;
    font-weight: 900;
}

.df-review-muted,
.df-review-existing p {
    margin: 0;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1.45;
}

.df-review-existing strong,
.df-review-card span {
    color: #a45a20;
    letter-spacing: 1px;
}

.df-review-existing small {
    display: block;
    margin-top: 8px;
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 800;
}

.df-review-card {
    display: grid;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(45, 28, 15, .08);
    border-radius: 8px;
    background: rgba(255, 255, 255, .58);
}

.df-review-card strong {
    display: block;
    margin-top: 4px;
    color: var(--color-text);
    font-size: 16px;
}

.df-review-card small {
    color: var(--color-muted);
    font-size: 12px;
    font-weight: 800;
}

.df-review-card p {
    margin: 0;
    color: var(--color-text);
    font-size: 13px;
    line-height: 1.45;
}

.df-review-card a {
    justify-self: start;
    color: var(--color-primary);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.df-review-card a:hover {
    text-decoration: underline;
}
