/* The finish card and the trip review (js/front/trip-finish.js, js/front/trip-review.js). The green seal is the
   driver's (app/css/tp-r3-css-1.css .tpseal): pops in, then the tick draws itself. */
.fin{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:16px;background:rgba(15,23,42,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:celefade .3s ease both;overflow-y:auto}
.fin.out{opacity:0;transition:opacity .3s}
.fin-card{position:relative;width:min(100%,380px);max-height:calc(100svh - 32px);overflow-y:auto;padding:22px 18px 18px;border-radius:var(--r-lg);background:#fff;text-align:center;box-shadow:0 30px 60px -20px rgba(2,6,23,.7);animation:celepop .6s var(--spring) both}
.fin-seal{display:grid;place-items:center;width:72px;height:72px;margin:2px auto 10px;border-radius:50%;background:#16A34A;color:#fff;box-shadow:0 6px 0 #14532D;animation:finseal .7s var(--spring) both}
.fin-seal .ic{width:36px;height:36px;stroke-width:2.6;stroke-dasharray:40;stroke-dashoffset:40;animation:findraw .5s .3s ease-out forwards}
@keyframes finseal{from{transform:scale(.3) rotate(-25deg);opacity:0}}
@keyframes findraw{to{stroke-dashoffset:0}}
.fin-k{margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.fin-card h2{margin:4px 0 2px;font:800 26px/1.15 var(--serif);letter-spacing:-.02em;color:#15803D}
.fin-who{margin:0;color:var(--ink-2);font-size:14px;overflow-wrap:anywhere}
.fin-pay{display:flex;flex-direction:column;align-items:center;margin:14px 0 4px;padding:12px;border-radius:var(--r-sm);background:rgba(22,163,74,.08)}
.fin-pay small{color:var(--ink-2);font-size:13px;font-weight:600}
.fin-amt{font:800 34px/1.1 var(--sans);font-variant-numeric:tabular-nums;color:var(--midnight)}
.fin-promo{display:flex;justify-content:space-between;gap:10px;margin:8px 0 0;padding:8px 2px;border-top:1px dashed var(--line);font-size:14.5px;text-align:left}
.fin-promo b{color:#16A34A;font-variant-numeric:tabular-nums}
.fin-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.fin-stat{display:flex;flex-direction:column;padding:10px;border-radius:16px;border:1px solid var(--line)}
.fin-stat small{color:var(--ink-3);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.fin-stat b{font-size:18px;font-variant-numeric:tabular-nums}
.fin-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.fin-acts .btn{flex:1 1 140px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.fin-card .p{margin:6px 0 0}
/* the review */
.rv-form{text-align:left;margin-top:8px}
.rv-set{margin:12px 0 0;padding:0;border:0}
.rv-set legend{display:flex;flex-direction:column;padding:0}
.rv-set legend small{color:var(--ink-3);font-size:12.5px}
.rv-stars{display:flex;gap:4px;margin-top:4px}
.rv-radio{position:absolute;opacity:0;width:1px;height:1px}
.rv-stars label{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;cursor:pointer}
.rv-star{width:32px;height:32px;fill:#E2E8F0;stroke:#94A3B8;stroke-width:1;transition:transform .15s var(--spring),fill .15s}
.rv-stars label.on .rv-star{fill:#FACC15;stroke:#CA8A04}
.rv-stars label:active .rv-star{transform:scale(.85)}
.rv-radio:focus-visible+label{outline:3px solid var(--midnight);outline-offset:1px}
.rv-word{display:block;min-height:18px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.rv-fld{display:block;margin-top:14px}
.rv-fld>span{display:block;font-weight:700;font-size:14px;margin-bottom:6px}
.rv-note{width:100%;min-height:84px;resize:vertical;font:inherit}
.rv-count{display:block;text-align:right;color:var(--ink-3);font-size:12px}
.rv-err{margin:10px 0 0;color:#B91C1C;font-weight:700;font-size:14px}
.oacts [data-review],.racts [data-review],.fin-acts .btn .ic{flex:none}
.oacts [data-review],.racts [data-review]{display:inline-flex;align-items:center;justify-content:center;gap:6px}
@media (prefers-reduced-motion:reduce){.fin,.fin-card,.fin-seal{animation:none}.fin-seal .ic{animation:none;stroke-dashoffset:0}.rv-star{transition:none}}
