.friend-search-card,
.friends-section,
.public-list-card { margin-bottom: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.friends-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;gap:18px}.friends-main-column,.friends-side-column{min-width:0}.friends-side-column{display:grid;gap:14px;position:sticky;top:18px}.friends-side-column .friends-section{margin-bottom:0;padding:15px}.friends-side-column .friend-card-grid{grid-template-columns:1fr;gap:8px}.friends-side-column .friend-card{grid-template-columns:1fr;align-items:start;gap:9px;padding:11px}.friends-side-column .friend-public-actions,.friends-side-column .friend-response-actions{justify-content:flex-start}.friends-side-column .friend-public-actions .button{width:100%}.friends-side-column .friend-public-actions form,.friends-side-column .friend-public-actions form .button{width:100%}.friends-side-column .section-heading{margin-bottom:11px}.friends-side-column .section-heading h2{font-size:18px}
.friends-side-column:empty{display:none}.friends-workspace:not(:has(.friends-side-column>.friends-section)){grid-template-columns:1fr}.friends-network-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);align-items:start;gap:14px}.friends-network-row .friends-section{margin-bottom:0}.friends-network-row .friend-card-grid{grid-template-columns:1fr}.friends-network-row .friend-card{align-items:start}.friends-pending-sent-block .friend-card{grid-template-columns:minmax(0,1fr) auto}
.friends-header-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.friend-search-card form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; }
.friend-search-card label { display: grid; gap: 6px; }
.friend-search-card input { min-height: 42px; padding: 0 12px; color: var(--text); border: 1px solid var(--line-strong); border-radius: 9px; background: var(--panel-2); }
.friend-search-results { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.friend-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 12px; }
.friend-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.friend-card h3 { margin: 0 0 2px; }
.friend-card p, .friend-card small { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.friend-card .friend-username { color: #cbb8ff; font-weight: 750; }
.friend-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.friend-status.accepted { color: #caffdf; background: rgba(57,217,138,.12); }
.friend-status.pending { color: #ffd9dd; background: rgba(251,113,133,.12); }
.friend-status svg { width: 13px; height: 13px; }
.pending-dot { width: 8px; height: 8px; border-radius: 50%; background: #fb7185; box-shadow: 0 0 0 4px rgba(251,113,133,.14); }
.pending-count { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #dc445e; font-weight: 900; }
.calendar-response-section { border-color: rgba(124,58,237,.3); }
.calendar-response-grid { display: grid; gap: 9px; }
.calendar-response-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.calendar-response-card h3 { margin: 2px 0; font-size: 14px; }
.calendar-response-card p, .calendar-response-card small { margin: 0; color: var(--muted); font-size: 10px; }
.calendar-response-card blockquote { margin: 6px 0 0; color: #ddd6fe; font-size: 11px; }
.calendar-response-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; }
.calendar-response-status svg { width: 12px; height: 12px; }
.calendar-response-card.is-accepted .calendar-response-status { color: #bdfbd4; background: rgba(57,217,138,.12); }
.calendar-response-card.is-declined .calendar-response-status { color: #ffd1d8; background: rgba(251,113,133,.12); }
.friend-response-actions { display: flex; gap: 7px; }
.public-lists-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); gap: 16px; }
.public-list-card { border-left: 4px solid var(--list-color); }
.public-list-card header { display: flex; align-items: center; gap: 10px; }
.public-list-card header h2 { margin: 0; }
.public-list-card header p { margin: 2px 0 0; color: var(--muted); }
.public-list-card ul { display: grid; gap: 7px; margin: 16px 0 0; padding: 0; list-style: none; }
.public-list-card li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,.04); }
.public-list-card li span { color: var(--gold); font-size: 11px; font-weight: 800; }
.public-list-pagination-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px auto 0}
.public-list-pagination-actions .public-list-load-more,.public-list-pagination-actions .public-list-show-all{display:flex;margin:0}
.public-list-pagination-actions button[hidden]{display:none!important}
.public-list-card li[hidden]{display:none!important}
.profile-reviews-section { margin-top: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }
.friend-profile-link{color:inherit;text-decoration:none}.friend-profile-link:hover,.friend-profile-link:focus-visible{color:var(--purple-2);text-decoration:underline}.profile-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 20px}.profile-summary-grid article{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.profile-summary-grid strong{font-size:24px}.profile-summary-grid span{color:var(--muted);font-size:10px}.profile-review-details summary{color:var(--text);cursor:pointer;line-height:1.5}.profile-review-details p{margin:9px 0;color:var(--text);line-height:1.55}.profile-review-details>a{color:var(--purple-2);font-size:10px;font-weight:800}@media(max-width:700px){.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.profile-reviews-section summary { width: fit-content; list-style: none; cursor: pointer; }
.profile-reviews-section summary::-webkit-details-marker { display: none; }
.profile-review-list { display: grid; gap: 9px; width: 70%; margin-top: 14px; }
.profile-review-card { padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.profile-review-card h3 { margin: 0 0 6px; font-size: 14px; }
.profile-review-card h3 a { color: var(--gold); }
.profile-review-body { display: block; color: var(--text); line-height: 1.55; }
.profile-review-card small { display: inline-flex; align-items: center; gap: 4px; margin-top: 7px; color: var(--muted); }
.profile-review-card small svg { width: 12px; height: 12px; color: #f3c94f; }
.profile-review-details summary,.profile-review-details p{font-size:13px}
@media(max-width:700px){.profile-review-list{width:100%}}
@media (max-width: 620px) {
    .friends-header-actions { width:100%; justify-content:stretch; }
    .friends-header-actions .button { flex:1 1 auto; }
    .friend-search-card form, .friend-card { grid-template-columns: 1fr; }
    .calendar-response-card { grid-template-columns: 1fr; }
    .friend-response-actions { flex-wrap: wrap; }
}

.public-profile-identity { display:flex; align-items:center; gap:16px; }
.public-profile-identity h1 { margin-top:2px; }
@media(max-width:600px){.public-profile-identity{align-items:flex-start}.avatar-profile{width:68px;height:68px}}
@media(max-width:1050px){.friends-workspace{grid-template-columns:1fr}.friends-side-column{position:static;grid-template-columns:1fr 1fr}.friends-side-column .friends-section:last-child{grid-column:1/-1}}
@media(max-width:820px){.friends-network-row{grid-template-columns:1fr}}
@media(max-width:700px){.friends-side-column{grid-template-columns:1fr}}

.friend-public-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.friend-public-actions form { margin: 0; }
@media (max-width: 620px) { .friend-public-actions { justify-content: flex-start; } }

/* PraVer 2.5 — recomendações entre amigos. */
.recommendation-section { border-color: rgba(212,175,55,.28); }
.recommendation-grid { display: grid; gap: 10px; }
.recommendation-card {
    display: grid;
    grid-template-columns: 44px minmax(180px,1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
}
.recommendation-symbol { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: var(--gold); background: rgba(212,175,55,.1); font-weight: 900; }
.recommendation-copy { min-width: 0; }
.recommendation-copy > span, .recommendation-copy p { color: var(--muted); font-size: 11px; }
.recommendation-copy h3 { margin: 3px 0; font-size: 15px; }
.recommendation-copy h3 a { color: #fff; }
.recommendation-copy p { margin: 0; }
.recommendation-add-details { position: relative; }
.recommendation-add-details > summary { list-style: none; cursor: pointer; }
.recommendation-add-details > summary::-webkit-details-marker { display: none; }
.recommendation-add-form {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    right: 0;
    width: min(330px, 84vw);
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--line-strong);
    border-radius: 12px;
    background: #11131f;
    box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
.recommendation-add-form label, .recommendation-add-form fieldset { display: grid; gap: 5px; }
.recommendation-add-form fieldset { padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.recommendation-add-form input:not([type="radio"]):not([type="color"]), .recommendation-add-form select { min-height: 40px; padding: 0 10px; color: var(--text); border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel-2); }
.recommendation-new-list, .recommendation-progress-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.recommendation-progress-fields { grid-template-columns: 1fr 1fr; }
.sent-recommendations summary { cursor: pointer; font-weight: 850; }
.sent-recommendations ul { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }
.sent-recommendations li { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 10px; padding: 9px 10px; border-radius: 9px; background: rgba(255,255,255,.035); }
.sent-recommendations li span { color: var(--muted); }
.sent-recommendations .sent-recommendation-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    white-space: nowrap;
}
.sent-recommendations .sent-recommendation-status.is-added { color: #bdfbd4; border-color: rgba(57,217,138,.34); background: rgba(57,217,138,.14); }
.sent-recommendations .sent-recommendation-status.is-pending { color: #ffd1d8; border-color: rgba(251,113,133,.34); background: rgba(251,113,133,.14); }
.sent-recommendations .sent-recommendation-status.is-dismissed { color: var(--muted); border-color: var(--line); background: rgba(255,255,255,.035); }
@media (max-width: 760px) {
    .recommendation-card { grid-template-columns: 42px minmax(0,1fr); }
    .recommendation-card > form, .recommendation-add-details { grid-column: 2; }
    .recommendation-add-form { position: fixed; inset: auto 12px 82px; width: auto; max-height: 70vh; overflow: auto; }
}

/* v47 — lista de amigos compacta, mantendo uma pessoa por linha. */
.friends-confirmed-block .friend-card-grid{grid-template-columns:1fr;gap:7px}.friends-confirmed-block .friend-card{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px;gap:10px;min-height:66px}.friends-confirmed-block .friend-contact-copy{display:flex;align-items:center;gap:11px}.friends-confirmed-block .avatar-friend{width:49px;height:49px;flex:0 0 49px}.friends-confirmed-block .friend-card h3{font-size:13px;line-height:1.18;margin-bottom:2px}.friends-confirmed-block .friend-card p,.friends-confirmed-block .friend-card small{font-size:10px;line-height:1.3}.friends-confirmed-block .friend-username{font-size:10px}.friends-confirmed-block .friend-public-actions{display:flex;align-items:center;gap:7px}.friends-confirmed-block .friend-public-actions .button{min-height:34px;padding:6px 10px;font-size:9px;white-space:nowrap}
@media(max-width:760px){.friends-confirmed-block .friend-card{grid-template-columns:minmax(0,1fr);padding:9px}.friends-confirmed-block .friend-contact-copy{display:flex;align-items:center;gap:11px}.friends-confirmed-block .friend-public-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.friends-confirmed-block .friend-public-actions .button,.friends-confirmed-block .friend-public-actions form{width:100%}.friends-confirmed-block .friend-public-actions .button{justify-content:center}.friends-confirmed-block .friend-card h3{font-size:13px;line-height:1.18}.friends-confirmed-block .friend-card p,.friends-confirmed-block .friend-card small{font-size:10px}.friends-confirmed-block .avatar-friend{width:51px;height:51px;flex:0 0 51px}}
.friends-pending-sent-block .friend-card-grid{gap:6px}.friends-pending-sent-block .friend-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:8px 9px;gap:8px}.friends-pending-sent-block .friend-contact-copy{display:flex;align-items:center;gap:8px}.friends-pending-sent-block .avatar-friend{width:34px;height:34px;flex:0 0 34px}.friends-pending-sent-block h3{font-size:11px;line-height:1.2}.friends-pending-sent-block .friend-username{font-size:9px}.pending-sent-actions{display:flex;align-items:center;gap:6px}.pending-sent-actions .button{min-height:30px;padding:5px 8px;font-size:8px;white-space:nowrap}.pending-sent-actions .friend-status{font-size:8px}
@media(max-width:760px){.friends-pending-sent-block .friend-card{grid-template-columns:minmax(0,1fr)}.friends-pending-sent-block .friend-contact-copy{display:flex}.pending-sent-actions{width:100%;justify-content:space-between}.pending-sent-actions form{margin-left:auto}}

/* PraVer 1.4.0 v41 — identidade visual na página Amigos. */
.avatar-friend { width:44px; height:44px; }
.avatar-xs { width:26px; height:26px; border-width:1px; }
.friend-contact-copy { display:flex; align-items:center; gap:10px; min-width:0; }
.friend-contact-copy > div { min-width:0; }
.recommendation-sender { display:flex; align-items:center; gap:6px; }
.calendar-response-person { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.calendar-response-person > div { min-width:0; }
@media(max-width:520px){.avatar-friend{width:38px;height:38px}}

/* PraVer 2.5.1 — formulário de recomendação compacto, em duas linhas. */
.recommendation-add-form {
    width: min(650px, 88vw);
    gap: 7px;
    padding: 10px;
}
.recommendation-form-row {
    display: grid;
    gap: 7px;
    align-items: end;
}
.recommendation-destination-row {
    grid-template-columns: 130px minmax(150px, 1fr) 125px;
}
.recommendation-destination-row:has(.recommendation-new-list:not([hidden])) {
    grid-template-columns: 130px minmax(240px, 1fr) 125px;
}
.recommendation-add-form label { min-width: 0; gap: 3px; }
.recommendation-add-form label > span { font-size: 9px; line-height: 1.1; color: var(--muted); font-weight: 800; }
.recommendation-add-form input:not([type="color"]),
.recommendation-add-form select {
    width: 100%;
    min-height: 34px;
    height: 34px;
    padding: 0 8px;
}
.recommendation-new-list {
    grid-template-columns: minmax(150px, 1fr) 48px;
    gap: 6px;
}
.recommendation-new-list input[type="color"] { width: 46px; height: 34px; min-height: 34px; padding: 2px; }
.recommendation-submit-row {
    grid-template-columns: minmax(0, 1fr) auto;
}
.recommendation-progress-fields {
    grid-template-columns: repeat(2, minmax(105px, 150px));
    gap: 7px;
}
.recommendation-submit-row .button { min-height: 34px; height: 34px; padding-inline: 14px; }
@media (max-width: 760px) {
    .recommendation-add-form { inset: auto 10px 132px; max-height: 62vh; padding: 10px; }
    .recommendation-destination-row,
    .recommendation-destination-row:has(.recommendation-new-list:not([hidden])) { grid-template-columns: 1fr 1fr; }
    .recommendation-destination-row > label:last-child { grid-column: 2; }
    .recommendation-new-list { grid-column: 1 / -1; }
    .recommendation-submit-row { grid-template-columns: 1fr auto; }
}
@media (max-width: 470px) {
    .recommendation-destination-row,
    .recommendation-destination-row:has(.recommendation-new-list:not([hidden])),
    .recommendation-submit-row { grid-template-columns: 1fr; }
    .recommendation-destination-row > label:last-child { grid-column: auto; }
    .recommendation-progress-fields { grid-template-columns: 1fr 1fr; }
}

/* PraVer 2.5.2 — nota opcional ao aceitar uma recomendação. */
.recommendation-rating-field[hidden] { display: none; }
.recommendation-rating-field { min-width: 108px; }
.recommendation-rating-field input { width: 100%; }


/* PraVer 2.5.4 — e-mails legíveis nos cards de Amigos em telas estreitas. */
.friend-contact-copy {
    min-width: 0;
    width: 100%;
    display: grid;
    gap: 2px;
}
.friend-email {
    display: block;
    max-width: 100%;
    line-height: 1.35;
    overflow-wrap: break-word;
    word-break: normal;
}
@media (max-width: 760px) {
    .friend-card-grid { grid-template-columns: minmax(0, 1fr); }
    .friend-card {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }
    .friend-card-action,
    .friend-response-actions,
    .friend-public-actions,
    .friend-card > .friend-status {
        max-width: 100%;
        justify-self: start;
    }
    .friend-email {
        width: 100%;
        font-size: 11px;
        overflow-wrap: anywhere;
    }
}

.recommendation-note-field { display:grid; gap:.35rem; min-width:min(100%, 22rem); }
.recommendation-note-field textarea { width:100%; resize:vertical; min-height:4.8rem; }
.recommendation-note-field small { color:var(--muted); }

/* PraVer 1.5.4 v27 — ordem direta e insígnias ampliadas nos amigos. */
.friends-confirmed-heading { align-items:center; }
.friend-order-hint { margin:3px 0 0; color:var(--muted); font-size:10px; }
.friend-order-status { min-height:16px; color:var(--gold); font-size:10px; font-weight:800; }
.friend-name-row { display:flex; align-items:center; gap:6px; min-width:0; width:100%; }
.friend-name-row .friend-profile-link { min-width:0; flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.friends-confirmed-block .friend-contact-copy { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; min-width:0; }
.contribution-badge--friend { position:static; width:48px; height:48px; margin-left:18px; transform:none; flex:0 0 48px; }
.contribution-badge--friend svg { width:32px; height:32px; }
.friends-confirmed-block .friend-card { grid-template-columns:25px minmax(0,1fr) auto; min-height:80px; }
.friend-order-handle { display:grid; width:22px; height:56px; place-items:center; padding:0; color:var(--muted); border:0; border-radius:7px; background:transparent; cursor:grab; font:800 17px/12px sans-serif; letter-spacing:-4px; touch-action:none; }
.friend-order-handle:hover, .friend-order-handle:focus-visible { color:var(--gold); background:rgba(212,175,55,.1); outline:none; }
.friend-order-handle:active { cursor:grabbing; }
.friends-confirmed-block .friend-card.is-being-dragged { opacity:.42; }
.friends-confirmed-block .friend-card.is-drag-over { border-top:3px solid var(--gold); }
@media(max-width:760px){.friends-confirmed-heading{align-items:flex-end}.friend-order-status{display:none}.friends-confirmed-block .friend-card{grid-template-columns:25px minmax(0,1fr);min-height:88px}.friends-confirmed-block .friend-public-actions{grid-column:1 / -1}.contribution-badge--friend{width:48px;height:48px;flex-basis:48px;margin-left:12px}.friend-order-handle{height:58px}}

/* 1.5.4 v9 — preservar quebras de linha das resenhas no perfil público. */
.profile-review-details summary,
.profile-review-details p { white-space: pre-wrap; }

/* 1.5.4_v11 — classificação no perfil público */
.public-profile-name-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.public-profile-name-row h1 { margin:0; }
.profile-level-chip { display:inline-flex; align-items:center; gap:6px; padding:4px 8px 4px 4px; border:1px solid var(--line); border-radius:999px; background:var(--panel-2); }
.profile-level-chip .contribution-badge { width:39.2px; height:39.2px; }
.profile-level-chip .contribution-badge svg { width:25.2px; height:25.2px; }
.profile-level-chip strong { font-size:11px; }
.profile-level-chip small { color:var(--muted); font-size:9px; }
@media(max-width:600px){.profile-level-chip small{display:none}.profile-level-chip strong{font-size:10px}}
