﻿#photoReview{margin-top:24px;background:#f6f8fc;border:1px solid #dfe5ef;border-radius:18px;padding:28px;scroll-margin-top:100px;color:#23304a}.review-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.review-eyebrow{font-size:10px;letter-spacing:1.3px;color:#a02b40;font-weight:700}.review-heading h2{font-size:26px;margin:10px 0}.review-heading p{color:#68768b;font-size:13px;margin:0}.review-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.review-metrics>div{background:white;border:1px solid #e1e6ee;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.review-metrics strong{font-size:27px}.review-metrics span{font-size:12px;color:#69758a}.review-controls{display:flex;gap:12px}.review-controls input{flex:1;min-width:0}.review-controls select{max-width:260px}#reviewFeedback{font-size:12px;color:#67758b;margin:16px 0}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{background:#fff;border:1px solid #e0e5ed;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #1c355708}.review-card[data-state=approved]{border-color:#53a585;box-shadow:0 0 0 1px #53a585}.review-picture{height:245px;padding:22px 22px 44px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f5f7fa)}.review-picture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.review-badge{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);border-radius:6px;background:#edf0f6;color:#53627b;padding:5px 9px;font-size:10px;line-height:1.4}.review-card[data-state=approved] .review-badge,.review-card[data-state=sent] .review-badge{background:#e4f4eb;color:#21734f}.review-card-body{padding:17px}.review-card h3{font-size:14px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}.review-meta{font-size:10px;color:#8190a3;margin:0}.review-reason{font-size:12px;line-height:1.6;min-height:55px;color:#66748a;margin:14px 0;overflow-wrap:anywhere}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-actions button{font-size:11px;padding:9px 6px}.review-approve{background:#eaf6ef;border-color:#b7dcc8;color:#216b49}.review-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:24px;flex-wrap:wrap}.review-pagination{display:flex;align-items:center;gap:12px;font-size:12px}.review-empty{grid-column:1/-1;padding:25px;text-align:center;color:#758198}@media(max-width:1100px){.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#photoReview{padding:16px}.review-heading{flex-direction:column}.review-heading h2{font-size:22px}.review-grid{grid-template-columns:1fr}.review-controls{flex-direction:column}.review-controls select{max-width:none}.review-metrics{gap:6px}.review-metrics>div{padding:10px}.review-metrics strong{font-size:22px}.review-metrics span{font-size:10px}#reviewSave{width:100%}.review-pagination{gap:7px;flex-wrap:wrap}}

/* Revisão sequencial em uma janela modal. */
html.review-open{overflow:hidden}
#photoReview{margin:auto;width:min(1000px,calc(100vw - 32px));max-height:92dvh;padding:28px;overscroll-behavior:contain;box-shadow:0 24px 90px #14233a40}
#photoReview::backdrop{background:#102036aa;backdrop-filter:blur(5px)}
#photoReview .review-heading h2{font-size:24px}
#photoReview .review-metrics{margin:18px 0}
#photoReview .review-metrics>div{padding:12px 16px}
#photoReview .review-metrics strong{font-size:22px}
#reviewProgress{display:block;width:100%;height:6px;margin-top:18px;accent-color:#27815b;border:0}
#photoReview .review-grid{display:block}
#photoReview .review-card{display:grid;grid-template-columns:1.1fr 1fr}
#photoReview .review-picture{height:320px;padding:24px 24px 48px}
#photoReview .review-card-body{padding:28px;display:flex;flex-direction:column;justify-content:center}
#photoReview .review-card h3{font-size:21px}
#photoReview .review-actions{grid-template-columns:1fr 1fr}
#photoReview .review-approve{grid-column:1/-1;background:#237652;color:white;border-color:#237652;font-size:14px;padding:14px}
#photoReview .review-bottom{position:sticky;bottom:-28px;background:#f6f8fc;padding:18px 0;margin-top:8px;border-top:1px solid #dfe5ef}
@media(max-width:650px){#photoReview{padding:16px;width:calc(100vw - 16px);max-height:95dvh}#photoReview .review-heading{gap:12px}#photoReview .review-heading h2{font-size:21px}#photoReview .review-card{grid-template-columns:1fr}#photoReview .review-picture{height:230px}#photoReview .review-card-body{padding:16px}#photoReview .review-card h3{font-size:18px}#photoReview .review-bottom{bottom:-16px}#photoReview .review-metrics>div{padding:10px}#photoReview .review-reason{min-height:0}}

.review-search-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 16px;border-radius:10px;background:#eaf2ff;color:#244a77;font-size:12px}.review-search-state button{flex-shrink:0;font-size:12px}body.busy #reviewStopSearch{pointer-events:auto;opacity:1}@media(max-width:650px){.review-search-state{flex-direction:column;align-items:stretch}}

/* Pages of ten photos with explicit approval of the displayed list. */
#photoReview{width:min(1420px,calc(100vw - 32px))}
#photoReview .review-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#photoReview .review-card{display:flex;flex-direction:column;min-width:0}
#photoReview .review-picture{height:175px;padding:14px 14px 38px}
#photoReview .review-card-body{padding:14px;flex:1;justify-content:flex-start}
#photoReview .review-card h3{font-size:14px;line-height:1.45;min-height:3em}
#photoReview .review-actions{margin-top:auto;padding-top:14px}
#photoReview .review-approve{font-size:11px;padding:9px}
#photoReview .review-bottom{z-index:2}
.review-batch-actions{display:flex;gap:10px;align-items:center}
#reviewApprovePage{background:#237652;border-color:#237652;color:#fff}
.review-save-hint{font-size:11px;color:#65758b;width:100%}
body.busy #reviewStopSave{pointer-events:auto;opacity:1}
@media(max-width:1150px){#photoReview .review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){#photoReview .review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#photoReview .review-picture{height:150px}.review-batch-actions{width:100%;flex-wrap:wrap}#reviewApprovePage{flex:1}}
@media(max-width:420px){#photoReview .review-grid{grid-template-columns:1fr}#photoReview .review-picture{height:190px}}
