.points-footer-links { display: flex; align-items: center; gap: 1rem; }
.points-admin-entry { opacity: .72; font-size: .76rem; }
.points-page-title.compact { padding-bottom: 2rem; }
.points-review-filters { display: flex; gap: .45rem; overflow-x: auto; padding-bottom: .5rem; }
.points-review-filters a { flex: 0 0 auto; padding: .6rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); text-decoration: none; font-weight: 750; background: var(--paper); }
.points-review-filters a.active { color: white; background: var(--green); border-color: var(--green); }
.points-review-count { margin: 1rem 0; color: var(--muted); font-size: .85rem; }
.points-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.points-review-card { background: var(--paper); border: 1px solid var(--line); border-radius: 1rem; padding: 1.25rem; box-shadow: 0 8px 28px rgba(26,45,34,.05); }
.points-review-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.points-review-card header div { display: grid; gap: .15rem; }
.points-review-card time { color: var(--muted); font-size: .72rem; }
.points-review-stars { color: var(--gold); white-space: nowrap; letter-spacing: .04em; }
.points-review-card > p { color: #3f4d45; line-height: 1.6; }
.points-review-card em { color: var(--muted); }
.points-review-assigned { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: .8rem; }
.points-review-assigned span { background: var(--green); color: white; border-radius: 999px; padding: .42rem .72rem; font-size: .76rem; font-weight: 850; box-shadow: 0 4px 12px rgba(31,96,64,.14); }
.points-pager { display: flex; justify-content: center; gap: .75rem; margin-top: 2rem; }
.points-button.secondary { background: #e5ece6; color: var(--green)!important; }
.points-evolution-summary { display: grid; grid-template-columns: .55fr .55fr .7fr 1.8fr; gap: 1rem; margin-bottom: 1.25rem; }
.points-google-kpi { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: 1.4rem 1.6rem; border-radius: 1rem; background: var(--green-dark); color: white; box-shadow: var(--shadow); }
.points-google-kpi > div { display: grid; grid-template-columns: auto auto; align-items: baseline; gap: .25rem 1.25rem; }
.points-google-kpi small { grid-column: 1/-1; color: #dce9df; font-weight: 700; }
.points-google-kpi strong { font: 700 3.3rem/1 Georgia,serif; color: #f1c567; }
.points-google-kpi strong span { font-size: 1.5rem; }
.points-google-kpi p { color: #dce9df; margin: 0; }
.points-google-mark { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: white; color: #4285f4; font: 800 1.5rem Arial,sans-serif; }
.points-evolution-summary > article { background: var(--paper); border: 1px solid var(--line); border-radius: 1rem; padding: 1.25rem; }
.points-evolution-summary small { display: block; color: var(--muted); margin-bottom: .5rem; }
.points-evolution-summary > article > strong { font: 700 2.2rem Georgia,serif; color: var(--green); }
.points-rating-row { display: grid; grid-template-columns: 2rem 1fr 2.5rem; align-items: center; gap: .5rem; margin-top: .35rem; font-size: .75rem; }
.points-rating-row > span { height: .45rem; border-radius: 1rem; background: #ece8df; overflow: hidden; }
.points-rating-row i { display: block; height: 100%; background: var(--gold); border-radius: inherit; }
.points-rating-row strong { text-align: right; }
.points-week-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.points-week-card { background: var(--paper); border: 1px solid var(--line); border-radius: 1rem; padding: 1.15rem; }
.points-week-card header { display: flex; justify-content: space-between; gap: 1rem; }
.points-week-averages { display: grid; gap: .28rem; justify-items: end; }
.points-week-averages span { color: var(--muted); font-size: .68rem; white-space: nowrap; }
.points-week-averages b { color: var(--green); font-size: .88rem; }
.points-week-card p { color: var(--muted); font-size: .82rem; }
.points-week-mentions { display: inline-block; margin-left: .35rem; color: var(--green); font-weight: 800; }
.points-week-stars { display: flex; flex-wrap: wrap; gap: .4rem; }
.points-week-stars span { background: #f0ece3; border-radius: .45rem; padding: .3rem .45rem; font-size: .7rem; }

@media(max-width:780px){
  .points-footer-links { width: 100%; justify-content: space-between; }
  .points-page-title.compact { padding-bottom: 1.25rem; }
  .points-review-list { grid-template-columns: 1fr; gap: .65rem; }
  .points-review-card { padding: 1rem; }
  .points-review-card > p { margin-bottom: .75rem; line-height: 1.5; }
  .points-evolution-summary { grid-template-columns: 1fr 1fr; gap: .6rem; }
  .points-google-kpi { padding: 1.1rem 1.2rem; gap: .75rem; }
  .points-google-kpi > div { grid-template-columns: 1fr; gap: .25rem; }
  .points-google-kpi strong { font-size: 2.75rem; }
  .points-google-kpi p { font-size: .75rem; }
  .points-rating-distribution { grid-column: 1/-1; }
  .points-evolution-summary > article { padding: 1rem; }
  .points-evolution-summary > article > strong { font-size: 1.75rem; }
  .points-week-grid { grid-template-columns: 1fr 1fr; gap: .55rem; }
  .points-week-card { padding: .85rem; }
  .points-week-card header { align-items: flex-start; }
}

@media(max-width:390px){
  .points-week-grid { grid-template-columns: 1fr; }
}
