.review-card-container{width:100%;max-width:600px;margin:0 auto 1.5rem;padding:0 1rem}.reviews-grid .review-card-container{max-width:none;margin:0;padding:0;height:auto;width:100%;flex-shrink:0}.reviews-grid .review-card{height:auto;display:flex;flex-direction:column}.reviews-grid .review-content{flex:1;display:flex;flex-direction:column}.reviews-grid .review-text{flex:1;overflow-wrap:break-word;word-break:break-word}.review-card{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:1.25rem;box-shadow:0 6px 24px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.review-card-container.dark-mode .review-card{background:rgba(45,45,45,.95);border:1px solid rgba(255,255,255,.1);box-shadow:0 6px 24px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.05)}.review-card-container.dark-mode .restaurant-info{border-bottom:1px solid rgba(255,255,255,.15)}.review-card-container.dark-mode .restaurant-name{color:#ff9a76}.review-card-container.dark-mode .review-date{color:#9ca3af}.review-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#eb5e28,#ff9a76,#eb5e28);opacity:0;transition:opacity .3s ease}.review-card:hover:before{opacity:1}.review-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(0,0,0,.15),inset 0 0 0 1px rgba(235,94,40,.1)}.review-card-container.dark-mode .review-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.4),inset 0 0 0 1px rgba(235,94,40,.2)}.restaurant-info{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e5e5}.restaurant-name{font-size:1rem;font-weight:700;color:#eb5e28;margin:0 0 .25rem;line-height:1.3}.restaurant-meta{display:flex;align-items:center;gap:.5rem}.review-date{font-size:.8rem;color:#6b7280;font-weight:500}.review-header{display:flex;align-items:center;gap:.875rem;margin-bottom:1rem}.user-avatar{flex-shrink:0}.avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#eb5e28,#ff9a76);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:.95rem;box-shadow:0 3px 8px rgba(235,94,40,.25);transition:transform .3s ease;overflow:hidden}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.review-card:hover .avatar-circle{transform:scale(1.05)}.user-info{flex:1;min-width:0}.username{font-size:1.05rem;font-weight:600;color:#252422;margin:0 0 .375rem;gap:.25rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .3s ease}.rating-container,.username{display:flex;align-items:center}.rating-container{gap:.5rem}.rating-value{font-size:.85rem;font-weight:600;color:#eb5e28;min-width:2rem}.review-card-container.dark-mode .username{color:#ffffff}.review-card-container.dark-mode .rating-value{color:#ff9a76}.rating-time{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.timestamp{font-size:.85rem;color:#6b7280;font-weight:500;transition:color .3s ease}.review-card-container.dark-mode .timestamp{color:#9ca3af}.review-content{margin-bottom:.875rem}.review-text{font-size:.9rem;line-height:1.5;color:#374151;margin:0;word-wrap:break-word;transition:all .3s ease}.review-card:hover .review-text{color:#1f2937}.review-card-container.dark-mode .review-text{color:#d1d5db}.review-card-container.dark-mode .review-card:hover .review-text{color:#f3f4f6}.review-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:auto;padding-top:.875rem;border-top:1px solid rgba(0,0,0,.05);transition:border-color .3s ease}.review-card-container.dark-mode .review-actions{border-top:1px solid rgba(255,255,255,.1)}.action-btn{display:flex;align-items:center;gap:.375rem;padding:.4rem .75rem;border-radius:8px;font-size:.8rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;position:relative;overflow:hidden}.action-btn.icon-only{padding:.625rem;min-width:auto;width:38px;height:38px;justify-content:center}.action-btn.icon-only svg{font-size:1.125rem}.action-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.action-btn:hover:before{left:100%}.edit-btn{background:rgba(235,94,40,.1);color:#eb5e28;border:1px solid rgba(235,94,40,.2)}.edit-btn:hover{background:#eb5e28;color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(235,94,40,.3)}.review-card-container.dark-mode .edit-btn{background:rgba(235,94,40,.15);color:#ff9a76;border:1px solid rgba(235,94,40,.3)}.review-card-container.dark-mode .edit-btn:hover{background:#eb5e28;color:white}.delete-btn{background:rgba(239,68,68,.1);color:#ef4444;border:1px solid rgba(239,68,68,.2)}.delete-btn:hover{background:#ef4444;color:white;transform:translateY(-1px);box-shadow:0 4px 12px rgba(239,68,68,.3)}.review-card-container.dark-mode .delete-btn{background:rgba(239,68,68,.15);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.review-card-container.dark-mode .delete-btn:hover{background:#ef4444;color:white}@media (min-width:640px){.review-card-container{padding:0 1rem}.review-card{padding:1.375rem}.restaurant-name{font-size:1.05rem}.avatar-circle{width:42px;height:42px;font-size:1rem}.username{font-size:1rem}.review-text{font-size:.95rem;line-height:1.55}.action-btn{padding:.45rem .875rem;font-size:.85rem}}@media (min-width:1024px){.review-card-container{max-width:450px}.review-card{padding:1.5rem}.restaurant-name{font-size:1.1rem}.review-header{gap:1rem}.avatar-circle{width:44px;height:44px}.avatar-circle,.username{font-size:1.05rem}.review-text{font-size:1rem;line-height:1.6}.action-btn{padding:.5rem 1rem;font-size:.9rem}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.review-card{animation:slideInUp .6s cubic-bezier(.4,0,.2,1)}.action-btn:focus{outline:2px solid #eb5e28;outline-offset:2px}.review-card.loading{opacity:.7;pointer-events:none}.confirmation-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.confirmation-dialog{background:white;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:400px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(235,94,40,.1)}.dialog-header{padding:2rem 2rem 1rem;border-bottom:1px solid #f0f0f0}.dialog-title{font-size:1.5rem;font-weight:700;color:#252422;margin:0;text-align:center}.dialog-body{padding:1.5rem 2rem}.dialog-message{font-size:1rem;color:#666;line-height:1.6;margin:0;text-align:center}.dialog-footer{padding:1rem 2rem 2rem;display:flex;gap:1rem;justify-content:center}.dialog-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:all .2s ease;min-width:100px}.dialog-btn-cancel{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.dialog-btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.confirm-btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:white}.confirm-btn-danger:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.3)}.confirm-btn-danger:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:480px){.confirmation-dialog{margin:1rem;width:calc(100% - 2rem)}.dialog-header{padding:1.5rem 1.5rem 1rem}.dialog-body{padding:1rem 1.5rem}.dialog-footer{padding:1rem 1.5rem 1.5rem;flex-direction:column}.dialog-btn{width:100%}}.upvote-btn{position:relative;overflow:hidden}.upvote-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}.upvote-btn:hover:before{left:100%}.upvote-btn:hover{box-shadow:0 0 6px rgba(235,94,40,.25),0 0 12px rgba(235,94,40,.15);transition:box-shadow .25s ease,transform .25s ease}.upvote-btn.has-upvoted:hover{box-shadow:0 0 8px rgba(235,94,40,.35),0 0 16px rgba(235,94,40,.2)}@keyframes upvote-bounce{0%{transform:scale(1) rotate(0deg) translateY(0)}10%{transform:scale(.9) rotate(-8deg) translateY(1px)}30%{transform:scale(1.3) rotate(-6deg) translateY(-8px)}50%{transform:scale(1.15) rotate(-4deg) translateY(-3px)}70%{transform:scale(1.05) rotate(-2deg) translateY(0)}to{transform:scale(1) rotate(0deg) translateY(0)}}.animate-upvote-bounce{animation:upvote-bounce .6s ease-in-out;color:#ffffff!important;text-shadow:0 0 10px #eb5e28,0 0 20px #eb5e28aa}