/* Resumen panel comprador/reseñador */
.gr-dashboard-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
	gap:20px;
	margin:20px 0 30px;
}

.gr-dashboard-card{
	min-height:105px;
	padding:18px 22px;
	border-radius:16px;
	color:#fff;
	box-shadow:0 8px 22px rgba(0,0,0,.12);
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	transition:all .25s ease;
	box-sizing:border-box;
}

.gr-dashboard-card:hover{
	transform:translateY(-3px);
	box-shadow:0 12px 28px rgba(0,0,0,.16);
}

.gr-dashboard-card a{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	color:#fff !important;
	text-decoration:none !important;
	text-align:center;
}

.gr-dashboard-card > div,
.gr-dashboard-card a > div{
	text-align:center;
}

.gr-dashboard-card div:first-child{
	font-size:15px;
	font-weight:600;
	margin-bottom:8px;
	line-height:1.2;
}

.gr-dashboard-card div:last-child{
	font-size:36px;
	font-weight:800;
	line-height:1;
}

/* Colores tarjetas */
.gr-card-balance{
	background:#EE3A32;
}

.gr-card-businesses{
	background:#2563EB;
}

.gr-card-total{
	background:#7C3AED;
}

.gr-card-pending{
	background:#F59E0B;
}

.gr-card-progress{
	background:#0891B2;
}

.gr-card-completed{
	background:#16A34A;
}

.gr-card-cancelled{
	background:#DC2626;
}

.gr-card-credits{
	background:#0F766E;
}
.gr-card-value{
	font-size:42px;
	font-weight:800;
	line-height:1;
}
/* Móvil */
@media(max-width:768px){
	.gr-dashboard-cards{
		grid-template-columns:1fr;
		gap:15px;
	}

	.gr-dashboard-card{
		min-height:95px;
		padding:16px 18px;
	}

	.gr-dashboard-card div:last-child{
		font-size:30px;
	}
}

/* Formulario crear negocio */

.gr-business-form p{
	margin:0;
}

.gr-business-form label{
	display:block;
}

.gr-business-input{
	width:100%;
	max-width:500px;
	height:10px;

	padding:5px;

	border:1px solid #ddd;
	border-radius:8px;

	background:#fff;

	box-sizing:border-box;
}

.gr-business-form small{
	margin-top:4px;
}

.gr-business-form button{
	margin-top:4px;
}
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="number"],
select,
textarea{
	border:2px solid #999 !important;
	border-radius:8px;
	background:#fff;
}

.gr-section-title{
	margin-bottom:0;
}
.gr-businesses-table input[type="text"],
.gr-businesses-table input[type="url"]{
	height:38px;
	padding:0 12px;
	box-sizing:border-box;
}


/* =========================
   TABS PANEL
========================= */

.gr-panel-tabs{
	display:flex;
	gap:12px;
	padding:16px;
	background:#f5f5f5;
	border:1px solid #e5e5e5;
	border-radius:12px;
	margin:20px 0 30px;
}

.gr-panel-tab{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:10px 14px;
	background:#fff;
	border:1px solid #ddd;
	border-radius:8px;
	text-align:center;
	text-decoration:none;
	color:#111;
	font-weight:600;
	box-sizing:border-box;
}

.gr-panel-tab-active,
.gr-panel-tab:hover{
	background:#EE3A32;
	color:#fff !important;
	border-color:#EE3A32;
}


/* =========================
   TABLA MIS NEGOCIOS
========================= */

.gr-businesses-title{
	margin:0 0 10px 0;
	padding:0;
}

.gr-businesses-table{
	width:100%;
	margin-top:0;
	border-collapse:collapse;
	background:#fff;
}

.gr-businesses-table th,
.gr-businesses-table td{
	padding:6px 4px;
	text-align:center;
	vertical-align:middle;
	border-bottom:1px solid #eee;
}

.gr-businesses-table th{
	background:#f7f7f7;
	font-weight:600;
}

.gr-businesses-table th:nth-child(1),
.gr-businesses-table td:nth-child(1){
	width:25%;
}

.gr-businesses-table th:nth-child(2),
.gr-businesses-table td:nth-child(2){
	width:35%;
}

.gr-businesses-table th:nth-child(3),
.gr-businesses-table td:nth-child(3){
	width:10%;
}

.gr-businesses-table th:nth-child(4),
.gr-businesses-table td:nth-child(4){
	width:30%;
}

.gr-businesses-table input[type="text"],
.gr-businesses-table input[type="url"]{
	width:90%;
	max-width:100%;
	text-align:center;
	padding:5px;
	border:1px solid #ddd;
	border-radius:8px;
	box-sizing:border-box;
}

.gr-business-actions{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:12px;
	width:100%;
}

.gr-business-actions button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:130px;
	height:34px !important;
	min-width:130px;
	padding:0;
	margin:0;
	border:none;
	border-radius:8px;
	font-size:15px;
	font-weight:600;
	line-height:1;
	text-align:center;
	cursor:pointer;
	box-sizing:border-box;
}

.gr-save-btn{
	background:#000;
	color:#fff;
}

.gr-delete-btn{
	background:#dc3545;
	color:#fff;
}


/* =========================
   TARJETAS RESUMEN
========================= */

.gr-dashboard-cards{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
	gap:20px;
	margin-bottom:30px;
}

.gr-dashboard-card{
	min-height:110px;
	padding:18px 25px;
	border-radius:16px;
	color:#fff;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
	box-shadow:0 8px 20px rgba(0,0,0,.10);
	transition:all .3s ease;
}

.gr-dashboard-card:hover{
	transform:translateY(-3px);
	box-shadow:0 12px 28px rgba(0,0,0,.15);
}

.gr-dashboard-card a{
	color:#fff !important;
	text-decoration:none;
	display:block;
	text-align:center;
}

.gr-dashboard-card div:first-child{
	font-size:15px;
	font-weight:500;
	margin-bottom:8px;
	opacity:.95;
}

.gr-dashboard-card div:last-child{
	font-size:38px !important;
	font-weight:700 !important;
	line-height:1;
}

.gr-card-balance{
	background:#EE3A32;
}

.gr-card-businesses{
	background:#2563EB;
}

.gr-card-total{
	background:#7C3AED;
}

.gr-card-pending{
	background:#F59E0B;
}

.gr-card-progress{
	background:#0891B2;
}

.gr-card-completed{
	background:#16A34A;
}

.gr-card-cancelled{
	background:#DC2626;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

	.gr-panel-tabs{
		flex-direction:column;
	}

	.gr-panel-tab{
		width:100%;
	}

	.gr-businesses-table,
	.gr-businesses-table thead,
	.gr-businesses-table tbody,
	.gr-businesses-table th,
	.gr-businesses-table td,
	.gr-businesses-table tr{
		display:block;
		width:100%;
	}

	.gr-businesses-table thead{
		display:none;
	}

	.gr-businesses-table tr{
		background:#fff;
		border:1px solid #eee;
		border-radius:12px;
		padding:15px;
		margin-bottom:18px;
		box-shadow:0 4px 14px rgba(0,0,0,.08);
		box-sizing:border-box;
	}

	.gr-businesses-table td{
		border-bottom:none;
		padding:10px 0;
		text-align:center;
		box-sizing:border-box;
	}

	.gr-businesses-table td:nth-child(1)::before{
		content:"Negocio";
	}

	.gr-businesses-table td:nth-child(2)::before{
		content:"Google Business";
	}

	.gr-businesses-table td:nth-child(3)::before{
		content:"Solicitudes";
	}

	.gr-businesses-table td:nth-child(4)::before{
		content:"Acciones";
	}

	.gr-businesses-table td::before{
		display:block;
		font-weight:700;
		margin-bottom:6px;
		color:#333;
	}

	.gr-businesses-table td input[type="text"],
	.gr-businesses-table td input[type="url"]{
		width:100% !important;
		max-width:none !important;
		display:block;
		box-sizing:border-box;
		margin:0;
	}

	.gr-business-actions{
		flex-direction:column;
		gap:10px;
	}

	.gr-business-actions button{
		width:100%;
		max-width:220px;
		height:34px;

	}

	.gr-dashboard-cards{
		grid-template-columns:1fr;
		gap:15px;
	}

	.gr-dashboard-card{
		min-height:95px;
		padding:16px 20px;
	}

	.gr-dashboard-card div:last-child{
		font-size:32px !important;
	}
}
.gr-request-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px 30px;
	max-width:900px;
	margin:0 auto;
}

.gr-request-grid p{
	margin:0;
}

.gr-request-grid label{
	font-weight:600;
	margin-bottom:6px;
	display:inline-block;
}

.gr-request-grid input,
.gr-request-grid select,
.gr-request-grid textarea{
	width:100%;
	max-width:none;
	box-sizing:border-box;
}

.gr-full-width{
	grid-column:1 / -1;
}
textarea[name="review_message"]{
	width:100%;
	height:180px;
	padding:12px;

	background:#fff;
	border:1px solid #ccc;
	border-radius:8px;

	box-sizing:border-box;
	resize:vertical;
}
.gr-requests-table button{
	padding:5px 10px;
	font-size:13px;
	border-radius:6px;
}
.gr-submit-row{
	text-align:center;
}

@media(max-width:768px){
	.gr-request-grid{
		grid-template-columns:1fr;
	}
}
.gr-action-btn{
	width:130px;
	height:44px;
	padding:0;
	border:none;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}

.gr-action-btn span{
	position:relative;
	top:-2px;
	line-height:1;
	font-weight:600;
}

.gr-save-btn{
	background:#000;
	color:#fff;
}

.gr-delete-btn{
	background:#dc3545;
	color:#fff;
}.gr-requests-table td.gr-status-cell{
	padding:10px !important;
	font-weight:700 !important;
	text-align:center !important;
	border-bottom:1px solid #eee !important;
}

/* Pendiente */
.gr-requests-table td.gr-status-pending{
	background:#FACC15 !important;
	color:#111 !important;
}

/* En proceso */
.gr-requests-table td.gr-status-in_progress{
	background:#3B82F6 !important;
	color:#fff !important;
}

/* Pendiente de validar */
.gr-requests-table td.gr-status-pending_approval{
	background:#F97316 !important;
	color:#fff !important;
}

/* Completada */
.gr-requests-table td.gr-status-completed{
	background:#22C55E !important;
	color:#fff !important;
}

/* Cancelada */
.gr-requests-table td.gr-status-cancelled{
	background:#DC2626 !important;
	color:#fff !important;
}


.gr-credit-positive{
	color:#16A34A !important;
	font-weight:700;
}

.gr-credit-negative{
	color:#DC2626 !important;
	font-weight:700;
}

.gr-credit-positive,
.gr-credit-negative{
	font-weight:700;
	vertical-align:middle;
	line-height:1;
}
.gr-credit-history-table td{
	padding:6px 10px !important;
	line-height:1.2;
	vertical-align:middle;
}