/* 牧场当前状态录入：栏位与逐只亲密度 */

.ranch-v2-profile-setup {
    margin: 18px 0;
    padding: clamp(16px, 2vw, 24px);
    border: 1px solid rgba(77, 129, 121, .24);
    border-radius: 20px;
    background: rgba(248, 252, 248, .92);
}

.ranch-v2-profile-setup > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.ranch-v2-profile-setup > header small {
    display: block;
    color: #6d8b85;
    letter-spacing: .14em;
}

.ranch-v2-profile-setup > header h3 {
    margin: 4px 0 0;
    color: #173e46;
}

.ranch-v2-profile-setup > header p {
    max-width: 560px;
    margin: 0;
    color: #647b78;
    line-height: 1.65;
}

.ranch-v2-slot-counts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.ranch-v2-slot-counts button,
.ranch-v2-intimacy-buttons button {
    min-height: 44px;
    border: 1px solid #bed5d0;
    border-radius: 12px;
    color: #315d5a;
    background: #fff;
    cursor: pointer;
}

.ranch-v2-slot-counts button.is-active,
.ranch-v2-intimacy-buttons button.is-active {
    border-color: #277c6d;
    color: #fff;
    background: #277c6d;
}

.ranch-v2-intimacy-list {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.ranch-v2-intimacy-row {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(280px, 1.4fr);
    align-items: center;
    gap: 16px;
    padding: 12px;
    border: 1px solid #d6e5e1;
    border-radius: 14px;
    background: #fff;
}

.ranch-v2-intimacy-row__animal {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.ranch-v2-intimacy-row__animal img {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    object-fit: contain;
}

.ranch-v2-intimacy-row__animal span {
    display: grid;
    min-width: 0;
}

.ranch-v2-intimacy-row__animal strong,
.ranch-v2-intimacy-row__animal small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ranch-v2-intimacy-buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.ranch-v2-catalog-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.ranch-v2-catalog-card__actions .is-record {
    border-color: #9cbfb7;
    color: #2c6b61;
    background: #eef8f5;
}

@media (max-width: 720px) {
    .ranch-v2-profile-setup > header,
    .ranch-v2-intimacy-row {
        grid-template-columns: 1fr;
        display: grid;
        align-items: stretch;
    }

    .ranch-v2-slot-counts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ranch-v2-intimacy-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ranch-v2-catalog-card__actions {
        grid-template-columns: 1fr;
    }
}

.ranch-v2-level-slots {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.ranch-v2-level-slots > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid #d5e5e0;
    border-radius: 14px;
    background: #fff;
}

.ranch-v2-level-slots small,
.ranch-v2-slot-roadmap small,
.ranch-v2-stall-entry small {
    color: #6d8b85;
}

.ranch-v2-level-slots strong {
    color: #173e46;
    font-size: 18px;
}

.ranch-v2-level-slots span,
.ranch-v2-stall-entry span {
    color: #647b78;
    line-height: 1.55;
}

.ranch-v2-slot-roadmap {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.ranch-v2-slot-roadmap article {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid #d8e5e1;
    border-radius: 12px;
    background: rgba(255, 255, 255, .72);
}

.ranch-v2-slot-roadmap article.is-unlocked {
    border-color: #7db5aa;
    background: #eaf6f2;
}

.ranch-v2-slot-roadmap strong {
    color: #254e50;
    font-size: 15px;
}

.ranch-v2-stall-entry {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(150px, .34fr) auto;
    align-items: end;
    gap: 12px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #d6b878;
    border-radius: 14px;
    background: #fffaf0;
}

.ranch-v2-stall-entry.is-confirmed {
    border-color: #78ad9f;
    background: #eff8f5;
}

.ranch-v2-stall-entry > div,
.ranch-v2-stall-entry label {
    display: grid;
    gap: 5px;
}

.ranch-v2-stall-entry strong {
    color: #173e46;
}

.ranch-v2-stall-entry label {
    color: #526d69;
    font-size: 13px;
}

.ranch-v2-stall-entry input {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #b9d0ca;
    border-radius: 11px;
    color: #173e46;
    background: #fff;
}

.ranch-v2-stall-entry button {
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: #277c6d;
    cursor: pointer;
}

.ranch-v2-expand > b {
    color: #315d5a;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .ranch-v2-level-slots,
    .ranch-v2-stall-entry {
        grid-template-columns: 1fr;
    }

    .ranch-v2-slot-roadmap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ranch-v2-slot-roadmap article:last-child {
        grid-column: 1 / -1;
    }

    .ranch-v2-stall-entry button {
        width: 100%;
    }
}
.ranch-v2-purchased-slots {
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid #d6e5e1;
    border-radius: 14px;
    background: #fff;
}

.ranch-v2-purchased-slots > div:first-child {
    display: grid;
    gap: 5px;
}

.ranch-v2-purchased-slots small {
    color: #6d8b85;
}

.ranch-v2-purchased-slots strong {
    color: #173e46;
    font-size: 18px;
}

.ranch-v2-purchased-slots span {
    color: #647b78;
    line-height: 1.55;
}

#panel-ranch .ranch-v2-route-animal {
    width: 100%;
    height: 112px;
    object-fit: contain;
    border-radius: 10px;
    background: rgba(255, 255, 255, .72);
}

#panel-ranch .ranch-v2-hero__stats > div:nth-child(5) {
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .ranch-v2-purchased-slots {
        grid-template-columns: 1fr;
    }

    #panel-ranch .ranch-v2-route-animal {
        height: 150px;
    }
}
.ranch-v2-owned-entry {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(140px, 1fr) 96px auto;
    align-items: center;
    gap: 8px;
    padding-top: 9px;
    border-top: 1px solid #dce7e3;
    color: #526d69;
    font-size: 12px;
}

.ranch-v2-owned-entry input {
    width: 100%;
    min-height: 40px;
    padding: 0 10px;
    border: 1px solid #bdd2cd;
    border-radius: 10px;
    color: #173e46;
    background: #fff;
}

.ranch-v2-owned-entry button {
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid #477a6b;
    border-radius: 10px;
    color: #fff;
    background: #4f8272;
}

@media (max-width: 720px) {
    .ranch-v2-owned-entry {
        grid-template-columns: minmax(0, 1fr) 88px;
    }

    .ranch-v2-owned-entry > span {
        grid-column: 1 / -1;
    }
}